--- layout: "clc" page_title: "clc: clc_server" sidebar_current: "docs-clc-resource-server" description: |- Manages the lifecycle of a CLC server. --- # clc\_server Manages a CLC server. See also [Complete API documentation](https://www.ctl.io/api-docs/v2/#servers-create-server). ## Example Usage ``` # Provision a server resource "clc_server" "node" { name_template = "trusty" source_server_id = "UBUNTU-14-64-TEMPLATE" group_id = "${clc_group.frontends.id}" cpu = 2 memory_mb = 2048 password = "Green123$" additional_disks { path = "/var" size_gb = 100 type = "partitioned" } additional_disks { size_gb = 10 type = "raw" } } output "server_id" { value = "clc_server.node.id" } ``` ## Argument Reference The following arguments are supported: * `name_template` - (Required, string) The basename of the server. A unique name will be generated by the platform. * `source_server_id` - (Required, string) The name or ID of the base OS image. Examples: "ubuntu-14-64-template", "rhel-7-64-template", "win2012r2dtc-64" * `group_id` - (Required, string) The name or ID of the server group to spawn server into. * `cpu` - (Required, int) The number of virtual cores * `memory_mb` - (Required, int) Provisioned RAM * `type` - (Required, string) The virtualization type One of "standard", "hyperscale", "bareMetal" * `password` - (Optional, string) The root/adminstrator password. Will be generated by platform if not provided. * `description` - (Optional, string) Description for server (visible in control portal only) * `power_state` - (Optional, string) See [PowerStates](#power_states) below for details. If absent, defaults to `started`. * `private_ip_address` - (Optional, string) Set internal IP address. If absent, allocated and assigned from pool. * `network_id` - (Optional, string) GUID of network to use. (Must be set up in advance from control portal.) When absent, the default network will be used. * `storage_type` - (Optional, string) Backup and replication strategy for disks. One of "standard", "premium" * `additional_disks` - (Optional) See [Disks](#disks) below for details. * `custom_fields` - (Optional) See [CustomFields](#custom_fields) below for details. * `metadata` - (Optional) Misc state storage for non-CLC metadata. ## PowerStates `power_state` may be used to set initial power state or modify existing instances. * `on` | `started` - machine powered on * `off` | `stopped` - machine powered off forcefully * `paused` - freeze machine: memory, processes, billing, monitoring. * `shutdown` - shutdown gracefully * `reboot` - restart gracefully * `reset` - restart forcefully ## Disks `additional_disks` is a block within the configuration that may be repeated to specify the attached disks on a server. Each `additional_disks` block supports the following: * `type` - (Required, string) Either "raw" or "partitioned". * `size_gb` - (Required, int) Size of allocated disk. * `path` - (Required, string, type:`partitioned`) The mountpoint for the disk. ## CustomFields `custom_fields` is a block within the configuration that may be repeated to bind custom fields for a server. CustomFields need be set up in advance. Each `custom_fields` block supports the following: * `id` - (Required, string) The ID of the custom field to set. * `value` - (Required, string) The value for the specified field.