clc_publicip - Add and Delete public ips on servers in CenturyLink Cloud.

New in version 2.0.

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • python = 2.7
  • requests >= 2.5.0
  • clc-sdk

Parameters

Parameter Choices/Defaults Comments
ports
A list of ports to expose. This is required when state is 'present'
protocol
    Choices:
  • TCP ←
  • UDP
  • ICMP
The protocol that the public IP will listen for.
server_ids
required
A list of servers to create public ips on.
state
    Choices:
  • present ←
  • absent
Determine whether to create or delete public IPs. If present module will not create a second public ip if one already exists.
wait
bool
    Choices:
  • no
  • yes ←
Whether to wait for the tasks to finish before returning.

Notes

Note

  • To use this module, it is required to set the below environment variables which enables access to the Centurylink Cloud - CLC_V2_API_USERNAME, the account login id for the centurylink cloud - CLC_V2_API_PASSWORD, the account password for the centurylink cloud
  • Alternatively, the module accepts the API token and account alias. The API token can be generated using the CLC account login and password via the HTTP api call @ https://api.ctl.io/v2/authentication/login - CLC_V2_API_TOKEN, the API token generated from https://api.ctl.io/v2/authentication/login - CLC_ACCT_ALIAS, the account alias associated with the centurylink cloud
  • Users can set CLC_V2_API_URL to specify an endpoint for pointing to a different CLC environment.

Examples

# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples

- name: Add Public IP to Server
  hosts: localhost
  gather_facts: False
  connection: local
  tasks:
    - name: Create Public IP For Servers
      clc_publicip:
        protocol: TCP
        ports:
          - 80
        server_ids:
          - UC1TEST-SVR01
          - UC1TEST-SVR02
        state: present
      register: clc

    - name: debug
      debug:
        var: clc

- name: Delete Public IP from Server
  hosts: localhost
  gather_facts: False
  connection: local
  tasks:
    - name: Create Public IP For Servers
      clc_publicip:
        server_ids:
          - UC1TEST-SVR01
          - UC1TEST-SVR02
        state: absent
      register: clc

    - name: debug
      debug:
        var: clc

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
server_ids
list
success
The list of server ids that are changed

Sample:
['UC1TEST-SVR01', 'UC1TEST-SVR02']


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • CLC Runner (@clc-runner)

Hint

If you notice any issues in this documentation you can edit this document to improve it.