clc_publicip - Add and Delete public ips on servers in CenturyLink Cloud.
New in version 2.0.
Synopsis
- An Ansible module to add or delete public ip addresses on an existing server or servers in CenturyLink Cloud.
Requirements (on host that executes module)
- python = 2.7
- requests >= 2.5.0
- clc-sdk
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
ports | no | None | A list of ports to expose. This is required when state is 'present' | |
protocol | no | TCP |
| The protocol that the public IP will listen for. |
server_ids | yes | A list of servers to create public ips on. | ||
state | no | present |
| Determine whether to create or delete public IPs. If present module will not create a second public ip if one already exists. |
wait | no | True |
| Whether to wait for the tasks to finish before returning. |
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 Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
server_ids | The list of server ids that are changed | success | list | ['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
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.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/clc_publicip_module.html