Note
This plugin is part of the community.general collection.
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.clc_server
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
add_public_ip boolean |
| Whether to add a public ip to the server |
additional_disks string | Default: [] | The list of additional disks for the server |
alert_policy_id string | The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_name'. | |
alert_policy_name string | The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_id'. | |
alias string | The account alias to provision the servers under. | |
anti_affinity_policy_id string | The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_name'. | |
anti_affinity_policy_name string | The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_id'. | |
configuration_id string | Only required for bare metal servers. Specifies the identifier for the specific configuration type of bare metal server to deploy. | |
count string | Default: 1 | The number of servers to build (mutually exclusive with exact_count) |
count_group string | Required when exact_count is specified. The Server Group use to determine how many servers to deploy. | |
cpu string | Default: 1 | How many CPUs to provision on the server |
cpu_autoscale_policy_id string | The autoscale policy to assign to the server. | |
custom_fields string | Default: [] | The list of custom fields to set on the server. |
description string | The description to set for the server. | |
exact_count string | 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. | |
group string | Default: "Default Group" | The Server Group to create servers under. |
ip_address string | The IP Address for the server. One is assigned if not provided. | |
location string | The Datacenter to create servers in. | |
managed_os boolean |
| Whether to create the server as 'Managed' or not. |
memory string | Default: 1 | Memory in GB. |
name string | A 1 to 6 character identifier to use for the server. This is required when state is 'present' | |
network_id string | The network UUID on which to create servers. | |
os_type string |
| Only required for bare metal servers. Specifies the OS to provision with the bare metal server. |
packages string | Default: [] | The list of blue print packages to run on the server after its created. |
password string | Password for the administrator / root user | |
primary_dns string | Primary DNS used by the server. | |
public_ip_ports string | Default: [] | A list of ports to allow on the firewall to the servers public ip, if add_public_ip is set to True. |
public_ip_protocol string |
| The protocol to use for the public ip if add_public_ip is set to True. |
secondary_dns string | Secondary DNS used by the server. | |
server_ids string | Default: [] | Required for started, stopped, and absent states. A list of server Ids to insure are started, stopped, or absent. |
source_server_password string | The password for the source server if a clone is specified. | |
state string |
| The state to insure that the provided resources are in. |
storage_type string |
| The type of storage to attach to the server. |
template string | 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' | |
ttl string | The time to live for the server in seconds. The server will be deleted when this time expires. | |
type string |
| The type of server to create. |
wait boolean |
| Whether to wait for the provisioning tasks to finish before returning. |
Note
# 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
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
partially_created_server_ids list / elements=string | success | The list of server ids that are partially created Sample: ['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
server_ids list / elements=string | success | The list of server ids that are created Sample: ['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
servers list / elements=string | success | The list of server objects returned from CLC 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'}] |
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/clc_server_module.html