On this page
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