community / community.general / 2.5.9 / module / clc_server Create, Delete, Start and Stop servers in CenturyLink Cloud. Authors: CLC Runner (@clc-runner)community.general.clc_server (2.5.9) — module
Install with ansible-galaxy collection install community.general:==2.5.9
collections: - name: community.general version: 2.5.9
An Ansible module to Create, Delete, Start and Stop servers in CenturyLink Cloud.
# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples - name: Provision a single Ubuntu Server community.general.clc_server: name: test template: ubuntu-14-64 count: 1 group: Default Group state: present
- name: Ensure 'Default Group' has exactly 5 servers community.general.clc_server: name: test template: ubuntu-14-64 exact_count: 5 count_group: Default Group group: Default Group
- name: Stop a Server community.general.clc_server: server_ids: - UC1ACCT-TEST01 state: stopped
- name: Start a Server community.general.clc_server: server_ids: - UC1ACCT-TEST01 state: started
- name: Delete a Server community.general.clc_server: server_ids: - UC1ACCT-TEST01 state: absent
cpu: default: 1 description: - How many CPUs to provision on the server type: int ttl: description: - The time to live for the server in seconds. The server will be deleted when this time expires. type: str name: description: - A 1 to 6 character identifier to use for the server. This is required when state is 'present' type: str type: choices: - standard - hyperscale - bareMetal default: standard description: - The type of server to create. type: str wait: default: 'yes' description: - Whether to wait for the provisioning tasks to finish before returning. type: bool alias: description: - The account alias to provision the servers under. type: str count: default: 1 description: - The number of servers to build (mutually exclusive with exact_count) type: int group: default: Default Group description: - The Server Group to create servers under. type: str state: choices: - present - absent - started - stopped default: present description: - The state to insure that the provided resources are in. type: str memory: default: 1 description: - Memory in GB. type: int os_type: choices: - redHat6_64Bit - centOS6_64Bit - windows2012R2Standard_64Bit - ubuntu14_64Bit description: - Only required for bare metal servers. Specifies the OS to provision with the bare metal server. type: str location: description: - The Datacenter to create servers in. type: str packages: default: [] description: - The list of blue print packages to run on the server after its created. elements: dict type: list password: description: - Password for the administrator / root user type: str template: description: - The template to use for server creation. Will search for a template if a partial string is provided. This is required when state is 'present' type: str ip_address: description: - The IP Address for the server. One is assigned if not provided. type: str managed_os: default: 'no' description: - Whether to create the server as 'Managed' or not. required: false type: bool network_id: description: - The network UUID on which to create servers. type: str server_ids: default: [] description: - Required for started, stopped, and absent states. A list of server Ids to insure are started, stopped, or absent. elements: str type: list count_group: description: - Required when exact_count is specified. The Server Group use to determine how many servers to deploy. type: str description: description: - The description to set for the server. type: str exact_count: description: - Run in idempotent mode. Will insure that this exact number of servers are running in the provided group, creating and deleting them to reach that count. Requires count_group to be set. type: int primary_dns: description: - Primary DNS used by the server. type: str storage_type: choices: - standard - hyperscale default: standard description: - The type of storage to attach to the server. type: str add_public_ip: default: 'no' description: - Whether to add a public ip to the server type: bool custom_fields: default: [] description: - The list of custom fields to set on the server. elements: dict type: list secondary_dns: description: - Secondary DNS used by the server. type: str alert_policy_id: description: - The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_name'. type: str public_ip_ports: default: [] description: - A list of ports to allow on the firewall to the servers public ip, if add_public_ip is set to True. elements: dict type: list additional_disks: default: [] description: - The list of additional disks for the server elements: dict type: list configuration_id: description: - Only required for bare metal servers. Specifies the identifier for the specific configuration type of bare metal server to deploy. type: str alert_policy_name: description: - The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_id'. type: str public_ip_protocol: choices: - TCP - UDP - ICMP default: TCP description: - The protocol to use for the public ip if add_public_ip is set to True. type: str source_server_password: description: - The password for the source server if a clone is specified. type: str anti_affinity_policy_id: description: - The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_name'. type: str cpu_autoscale_policy_id: description: - The autoscale policy to assign to the server. type: str anti_affinity_policy_name: description: - The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_id'. type: str
partially_created_server_ids: description: The list of server ids that are partially created returned: success sample: - UC1TEST-SVR01 - UC1TEST-SVR02 type: list server_ids: description: The list of server ids that are created returned: success sample: - UC1TEST-SVR01 - UC1TEST-SVR02 type: list servers: description: The list of server objects returned from CLC returned: success sample: - changeInfo: createdBy: service.wfad createdDate: 1438196820 modifiedBy: service.wfad modifiedDate: 1438196820 description: test-server details: alertPolicies: [] cpu: 1 customFields: [] diskCount: 3 disks: - id: 0:0 partitionPaths: [] sizeGB: 1 - id: 0:1 partitionPaths: [] sizeGB: 2 - id: 0:2 partitionPaths: [] sizeGB: 14 hostName: '' inMaintenanceMode: false ipAddresses: - internal: 10.1.1.1 memoryGB: 1 memoryMB: 1024 partitions: [] powerState: started snapshots: [] storageGB: 17 groupId: 086ac1dfe0b6411989e8d1b77c4065f0 id: test-server ipaddress: 10.120.45.23 isTemplate: false links: - href: /v2/servers/wfad/test-server id: test-server rel: self verbs: - GET - PATCH - DELETE - href: /v2/groups/wfad/086ac1dfe0b6411989e8d1b77c4065f0 id: 086ac1dfe0b6411989e8d1b77c4065f0 rel: group - href: /v2/accounts/wfad id: wfad rel: account - href: /v2/billing/wfad/serverPricing/test-server rel: billing - href: /v2/servers/wfad/test-server/publicIPAddresses rel: publicIPAddresses verbs: - POST - href: /v2/servers/wfad/test-server/credentials rel: credentials - href: /v2/servers/wfad/test-server/statistics rel: statistics - href: /v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/upcomingScheduledActivities rel: upcomingScheduledActivities - href: /v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/scheduledActivities rel: scheduledActivities verbs: - GET - POST - href: /v2/servers/wfad/test-server/capabilities rel: capabilities - href: /v2/servers/wfad/test-server/alertPolicies rel: alertPolicyMappings verbs: - POST - href: /v2/servers/wfad/test-server/antiAffinityPolicy rel: antiAffinityPolicyMapping verbs: - PUT - DELETE - href: /v2/servers/wfad/test-server/cpuAutoscalePolicy rel: cpuAutoscalePolicyMapping verbs: - PUT - DELETE locationId: UC1 name: test-server os: ubuntu14_64Bit osType: Ubuntu 14 64-bit status: active storageType: standard type: standard type: list