New in version 2.0.
The below requirements are needed on the host that executes this module.
Parameter |
Choices/Defaults |
Comments |
---|---|---|
add_public_ip
|
|
Whether to add a public ip to the server
|
additional_disks
|
Default:
[]
|
The list of additional disks for the server
|
alert_policy_id
|
|
The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_name'.
|
alert_policy_name
|
|
The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_id'.
|
alias
|
|
The account alias to provision the servers under.
|
anti_affinity_policy_id
|
|
The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_name'.
|
anti_affinity_policy_name
|
|
The anti-affinity policy to assign to the server. This is mutually exclusive with 'anti_affinity_policy_id'.
|
configuration_id
|
|
Only required for bare metal servers. Specifies the identifier for the specific configuration type of bare metal server to deploy.
|
count
|
Default:
yes
|
The number of servers to build (mutually exclusive with exact_count)
|
count_group
|
|
Required when exact_count is specified. The Server Group use to determine how many severs to deploy.
|
cpu
|
Default:
yes
|
How many CPUs to provision on the server
|
cpu_autoscale_policy_id
|
|
The autoscale policy to assign to the server.
|
custom_fields
|
Default:
[]
|
The list of custom fields to set on the server.
|
description
|
|
The description to set for the server.
|
exact_count
|
|
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
|
Default:
Default Group
|
The Server Group to create servers under.
|
ip_address
|
|
The IP Address for the server. One is assigned if not provided.
|
location
|
|
The Datacenter to create servers in.
|
managed_os
|
|
Whether to create the server as 'Managed' or not.
|
memory
|
Default:
yes
|
Memory in GB.
|
name
|
|
A 1 to 6 character identifier to use for the server. This is required when state is 'present'
|
network_id
|
|
The network UUID on which to create servers.
|
os_type
|
|
Only required for bare metal servers. Specifies the OS to provision with the bare metal server.
|
packages
|
Default:
[]
|
The list of blue print packages to run on the server after its created.
|
password
|
|
Password for the administrator / root user
|
primary_dns
|
|
Primary DNS used by the server.
|
public_ip_ports
|
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
|
|
The protocol to use for the public ip if add_public_ip is set to True.
|
secondary_dns
|
|
Secondary DNS used by the server.
|
server_ids
|
Default:
[]
|
Required for started, stopped, and absent states. A list of server Ids to insure are started, stopped, or absent.
|
source_server_password
|
|
The password for the source server if a clone is specified.
|
state
|
|
The state to insure that the provided resources are in.
|
storage_type
|
|
The type of storage to attach to the server.
|
template
|
|
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
|
|
The time to live for the server in seconds. The server will be deleted when this time expires.
|
type
|
|
The type of server to create.
|
wait
|
|
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
clc_server:
name: test
template: ubuntu-14-64
count: 1
group: Default Group
state: present
- name: Ensure 'Default Group' has exactly 5 servers
clc_server:
name: test
template: ubuntu-14-64
exact_count: 5
count_group: Default Group
group: Default Group
- name: Stop a Server
clc_server:
server_ids:
- UC1ACCT-TEST01
state: stopped
- name: Start a Server
clc_server:
server_ids:
- UC1ACCT-TEST01
state: started
- name: Delete a Server
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
|
success |
The list of server ids that are partially created
Sample:
['UC1TEST-SVR01', 'UC1TEST-SVR02']
|
server_ids
list
|
success |
The list of server ids that are created
Sample:
['UC1TEST-SVR01', 'UC1TEST-SVR02']
|
servers
list
|
success |
The list of server objects returned from CLC
Sample:
[{'status': 'active', 'description': 'test-server', 'changeInfo': {'modifiedBy': 'service.wfad', 'modifiedDate': 1438196820, 'createdBy': 'service.wfad', 'createdDate': 1438196820}, 'ipaddress': '10.120.45.23', 'storageType': 'standard', 'type': 'standard', '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', 'verbs': ['POST'], 'rel': 'publicIPAddresses'}, {'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', 'verbs': ['GET', 'POST'], 'rel': 'scheduledActivities'}, {'href': '/v2/servers/wfad/test-server/capabilities', 'rel': 'capabilities'}, {'href': '/v2/servers/wfad/test-server/alertPolicies', 'verbs': ['POST'], 'rel': 'alertPolicyMappings'}, {'href': '/v2/servers/wfad/test-server/antiAffinityPolicy', 'verbs': ['PUT', 'DELETE'], 'rel': 'antiAffinityPolicyMapping'}, {'href': '/v2/servers/wfad/test-server/cpuAutoscalePolicy', 'verbs': ['PUT', 'DELETE'], 'rel': 'cpuAutoscalePolicyMapping'}], 'id': 'test-server', 'locationId': 'UC1', 'details': {'hostName': '', 'powerState': 'started', 'ipAddresses': [{'internal': '10.1.1.1'}], 'disks': [{'partitionPaths': [], 'id': '0:0', 'sizeGB': 1}, {'partitionPaths': [], 'id': '0:1', 'sizeGB': 2}, {'partitionPaths': [], 'id': '0:2', 'sizeGB': 14}], 'diskCount': 3, 'snapshots': [], 'memoryMB': 1024, 'alertPolicies': [], 'memoryGB': 1, 'storageGB': 17, 'customFields': [], 'cpu': 1, 'inMaintenanceMode': False, 'partitions': []}, 'osType': 'Ubuntu 14 64-bit', 'os': 'ubuntu14_64Bit', 'groupId': '086ac1dfe0b6411989e8d1b77c4065f0', 'name': 'test-server'}]
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Hint
If you notice any issues in this documentation you can edit this document to improve it.