--- - name: Create server with public network only cloudscale_server: name: '{{ cloudscale_resource_prefix }}-inventory-public' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_test_image }}' ssh_keys: '{{ cloudscale_test_ssh_key }}' use_public_network: True use_private_network: False register: server_public - name: Create server with private network only cloudscale_server: name: '{{ cloudscale_resource_prefix }}-inventory-private' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_alt_test_image }}' ssh_keys: '{{ cloudscale_test_ssh_key }}' use_public_network: False use_private_network: True register: server_private - name: Create server with public and private network cloudscale_server: name: '{{ cloudscale_resource_prefix }}-inventory-public-private' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_test_image }}' ssh_keys: '{{ cloudscale_test_ssh_key }}' use_public_network: True use_private_network: True register: server_public_private - name: Create servers with duplicate names # The cloudscale_server module does not allow creating two servers with the same # name. To do this the uri module has to be used. uri: url: 'https://api.cloudscale.ch/v1/servers' method: POST headers: Authorization: 'Bearer {{ lookup("env", "CLOUDSCALE_API_TOKEN") }}' body: name: '{{ cloudscale_resource_prefix }}-duplicate' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_test_image }}' ssh_keys: - '{{ cloudscale_test_ssh_key }}' body_format: json status_code: 201 register: duplicate with_sequence: count=2 - name: Create server with different prefix cloudscale_server: name: 'other-prefix-{{ cloudscale_resource_prefix }}-inventory' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_test_image }}' ssh_keys: '{{ cloudscale_test_ssh_key }}' register: server_other_prefix # The API does not allow creation of a server with a name containing # characters not allowed in DNS names. So create a server and rename # it afterwards (which is possible). The resaon for this restriction is # that on creation a PTR entry for the server is created. - name: Create server to be renamed with unsafe characters cloudscale_server: name: '{{ cloudscale_resource_prefix }}-unsafe-chars' flavor: '{{ cloudscale_test_flavor }}' image: '{{ cloudscale_test_image }}' ssh_keys: '{{ cloudscale_test_ssh_key }}' register: server_unsafe_chars - name: Rename server to contain unsafe characters cloudscale_server: uuid: '{{ server_unsafe_chars.uuid }}' name: '{{ cloudscale_resource_prefix }}-snowmans-are-cool-☃!' register: server_unsafe_chars