community.general.clc_loadbalancer module – Create, Delete shared loadbalancers in CenturyLink Cloud
Note
This module is part of the community.general collection (version 10.7.5).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.general.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.general.clc_loadbalancer.
DEPRECATED
- Removed in:
- version 11.0.0 
- Why:
- Lumen Public Cloud (formerly known as CenturyLink Cloud) has gone End-of-Life in September 2023. See more at https://www.ctl.io/knowledge-base/release-notes/2023/lumen-public-cloud-platform-end-of-life-notice/?. 
- Alternative:
- There is none. 
Synopsis
- An Ansible module to Create, Delete shared loadbalancers in CenturyLink Cloud. 
Requirements
The below requirements are needed on the host that executes this module.
- requests >= 2.5.0 
- clc-sdk 
Parameters
| Parameter | Comments | 
|---|---|
| The alias of your CLC Account. | |
| A description for the loadbalancer. | |
| The location of the datacenter where the load balancer resides in. | |
| The balancing method for the load balancer pool. Choices: 
 | |
| The name of the loadbalancer. | |
| A list of nodes that needs to be added to the load balancer pool. Default:  | |
| The persistence method for the load balancer. Choices: 
 | |
| Port to configure on the public-facing side of the load balancer pool. Choices: 
 | |
| Whether to create or delete the load balancer pool. Choices: 
 | |
| The status of the loadbalancer. Choices: 
 | 
Attributes
| Attribute | Support | Description | 
|---|---|---|
| Support: full | Can run in  | |
| Support: none | Will return details on what has changed (or possibly needs changing in  | 
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 using 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_URLto 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: Create Loadbalancer
  hosts: localhost
  connection: local
  tasks:
    - name: Actually Create things
      community.general.clc_loadbalancer:
        name: test
        description: test
        alias: TEST
        location: WA1
        port: 443
        nodes:
          - ipAddress: 10.11.22.123
            privatePort: 80
        state: present
- name: Add node to an existing loadbalancer pool
  hosts: localhost
  connection: local
  tasks:
    - name: Actually Create things
      community.general.clc_loadbalancer:
        name: test
        description: test
        alias: TEST
        location: WA1
        port: 443
        nodes:
          - ipAddress: 10.11.22.234
            privatePort: 80
        state: nodes_present
- name: Remove node from an existing loadbalancer pool
  hosts: localhost
  connection: local
  tasks:
    - name: Actually Create things
      community.general.clc_loadbalancer:
        name: test
        description: test
        alias: TEST
        location: WA1
        port: 443
        nodes:
          - ipAddress: 10.11.22.234
            privatePort: 80
        state: nodes_absent
- name: Delete LoadbalancerPool
  hosts: localhost
  connection: local
  tasks:
    - name: Actually Delete things
      community.general.clc_loadbalancer:
        name: test
        description: test
        alias: TEST
        location: WA1
        port: 443
        nodes:
          - ipAddress: 10.11.22.123
            privatePort: 80
        state: port_absent
- name: Delete Loadbalancer
  hosts: localhost
  connection: local
  tasks:
    - name: Actually Delete things
      community.general.clc_loadbalancer:
        name: test
        description: test
        alias: TEST
        location: WA1
        port: 443
        nodes:
          - ipAddress: 10.11.22.123
            privatePort: 80
        state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| The load balancer result object from CLC. Returned: success Sample:  | 
Status
- This module will be removed in version 11.0.0. [deprecated] 
- For more information see DEPRECATED. 
Authors
- CLC Runner (@clc-runner) 
