New in version 2.3.
parameter | required | default | choices | comments |
---|---|---|---|---|
anti_affinity_with |
no | UUID of another server to create an anti-affinity group with | ||
api_token |
no | cloudscale.ch API token. This can also be passed in the CLOUDSCALE_API_TOKEN environment variable. | ||
bulk_volume_size_gb |
no | null (no bulk storage volume) | Size of the bulk storage volume in GB | |
flavor |
no | Flavor of the server | ||
image |
no | Image used to create the server | ||
name |
no | Name of the Server Either name or uuid are required. These options are mutually exclusive. | ||
ssh_keys |
no | List of SSH public keys Use the full content of your .pub file here. | ||
state |
no | running |
|
State of the server |
use_ipv6 |
no | True | Enable IPv6 on the public network interface | |
use_private_network |
no | Attach a private network interface to the server | ||
use_public_network |
no | True | Attach a public network interface to the server | |
user_data |
no | Cloud-init configuration (cloud-config) data to use for the server. | ||
uuid |
no | UUID of the server Either name or uuid are required. These options are mutually exclusive. | ||
volume_size_gb |
no | 10 | Size of the root volume in GB |
# Start a server (if it does not exist) and register the server details - name: Start cloudscale.ch server cloudscale_server: name: my-shiny-cloudscale-server image: debian-8 flavor: flex-4 ssh_keys: ssh-rsa XXXXXXXXXX...XXXX ansible@cloudscale use_private_network: True bulk_volume_size_gb: 100 api_token: xxxxxx register: server1 # Start another server in anti-affinity to the first one - name: Start second cloudscale.ch server cloudscale_server: name: my-other-shiny-server image: ubuntu-16.04 flavor: flex-8 ssh_keys: ssh-rsa XXXXXXXXXXX ansible@cloudscale anti_affinity_with: '{{ server1.uuid }}' api_token: xxxxxx # Stop the first server - name: Stop my first server cloudscale_server: uuid: '{{ server1.uuid }}' state: stopped api_token: xxxxxx # Delete my second server - name: Delete my second server cloudscale_server: name: my-other-shiny-server state: absent api_token: xxxxxx # Start a server and wait for the SSH host keys to be generated - name: Start server and wait for SSH host keys cloudscale_server: name: my-cloudscale-server-with-ssh-key image: debian-8 flavor: flex-4 ssh_keys: ssh-rsa XXXXXXXXXXX ansible@cloudscale api_token: xxxxxx register: server until: server.ssh_fingerprints retries: 60 delay: 2
Common return values are documented here Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
uuid | The unique identifier for this server | success | string | cfde831a-4e87-4a75-960f-89b0148aa2cc |
image | The image used for booting this server | success when not state == absent | string | debian-8 |
state | The current status of the server | success | string | running |
name | The display name of the server | success | string | its-a-me-mario.cloudscale.ch |
anti_affinity_with | List of servers in the same anti-affinity group | success when not state == absent | string | [] |
ssh_fingerprints | A list of SSH host key fingerprints. Will be null until the host keys could be retrieved from the server. | success when not state == absent | list | ['ecdsa-sha2-nistp256 SHA256:XXXX', '...'] |
href | API URL to get details about this server | success when not state == absent | string | https://api.cloudscale.ch/v1/servers/cfde831a-4e87-4a75-960f-89b0148aa2cc |
volumes | List of volumes attached to the server | success when not state == absent | list | [{'device': '/dev/vda', 'size_gb': '50', 'type': 'ssd'}] |
flavor | The flavor that has been used for this server | success when not state == absent | string | flex-8 |
interfaces | List of network ports attached to the server | success when not state == absent | list | [{'type': 'public', 'addresses': ['...']}] |
ssh_host_keys | A list of SSH host keys. Will be null until the host keys could be retrieved from the server. | success when not state == absent | list | ['ecdsa-sha2-nistp256 XXXXX', '...'] |
Note
name
, ssh_key
, image
and flavor
options are required.name
option exists, execution is aborted.state
are read-only. You can’t change the name, flavor or any other property. This is a limitation of the cloudscale.ch API. The module will silently ignore differences between the configured parameters and the running server if a server with the correct name or UUID exists. Only state changes will be applied.This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is community maintained without core committer oversight.
For more information on what this means please read Module Support
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.