W3cubDocs

/Ansible

clc_loadbalancer - Create, Delete shared loadbalancers in CenturyLink Cloud.

Synopsis

  • An Ansible module to Create, Delete shared loadbalancers in CenturyLink Cloud.

Requirements (on host that executes module)

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

Options

parameter required default choices comments
alias
yes
The alias of your CLC Account
description
no None
A description for the loadbalancer
location
yes
The location of the datacenter where the load balancer resides in
method
no None
  • leastConnection
  • roundRobin
-The balancing method for the load balancer pool
name
yes
The name of the loadbalancer
nodes
no
A list of nodes that needs to be added to the load balancer pool
persistence
no None
  • standard
  • sticky
The persistence method for the load balancer
port
no None
  • 80
  • 443
Port to configure on the public-facing side of the load balancer pool
state
no present
  • present
  • absent
  • port_absent
  • nodes_present
  • nodes_absent
Whether to create or delete the load balancer pool
status
no enabled
  • enabled
  • disabled
The status of the loadbalancer

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
      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
      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
      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
      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
      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 Return Values, the following are the fields unique to this module:

name description returned type sample
loadbalancer
The load balancer result object from CLC
success dict {'status': 'enabled', 'name': 'test-lb', 'links': [{'href': '/v2/sharedLoadBalancers/wfad/wa1/ab5b18cb81e94ab9925b61d1ca043fb5', 'verbs': ['GET', 'PUT', 'DELETE'], 'rel': 'self'}, {'href': '/v2/sharedLoadBalancers/wfad/wa1/ab5b18cb81e94ab9925b61d1ca043fb5/pools', 'verbs': ['GET', 'POST'], 'rel': 'pools'}], 'pools': [], 'ipAddress': '66.150.174.197', 'id': 'ab5b18cb81e94ab9925b61d1ca043fb5', 'description': 'test-lb'}

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–2017 Michael DeHaan
© 2017 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/clc_loadbalancer_module.html