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 |
| -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 |
| The persistence method for the load balancer |
port | no | None |
| Port to configure on the public-facing side of the load balancer pool |
state | no | present |
| Whether to create or delete the load balancer pool |
status | no | enabled |
| 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–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_loadbalancer_module.html