rax_clb - create / delete a load balancer in Rackspace Public Cloud

New in version 1.4.

Synopsis

  • creates / deletes a Rackspace Public Cloud load balancer.

Requirements (on host that executes module)

  • python >= 2.6
  • pyrax

Options

parameter required default choices comments
algorithm
no LEAST_CONNECTIONS
  • RANDOM
  • LEAST_CONNECTIONS
  • ROUND_ROBIN
  • WEIGHTED_LEAST_CONNECTIONS
  • WEIGHTED_ROUND_ROBIN
algorithm for the balancer being created
api_key
no
Rackspace API key, overrides credentials.
aliases: password
credentials
no
File to find the Rackspace credentials in. Ignored if api_key and username are provided.
aliases: creds_file
env
(added in 1.5)
no
meta
no
A hash of metadata to associate with the instance
name
no
Name to give the load balancer
port
no 80
Port for the balancer being created
protocol
no HTTP
  • DNS_TCP
  • DNS_UDP
  • FTP
  • HTTP
  • HTTPS
  • IMAPS
  • IMAPv4
  • LDAP
  • LDAPS
  • MYSQL
  • POP3
  • POP3S
  • SMTP
  • TCP
  • TCP_CLIENT_FIRST
  • UDP
  • UDP_STREAM
  • SFTP
Protocol for the balancer being created
region
no DFW
Region to create an instance in.
state
no present
  • present
  • absent
Indicate desired state of the resource
timeout
no 30
timeout for communication between the balancer and the node
type
no PUBLIC
  • PUBLIC
  • SERVICENET
type of interface for the balancer being created
username
no
Rackspace username, overrides credentials.
verify_ssl
(added in 1.5)
no
Whether or not to require SSL validation of API endpoints.
vip_id
(added in 1.5)
no
Virtual IP ID to use when creating the load balancer for purposes of sharing an IP with another load balancer of another protocol
wait
no no
  • yes
  • no
wait for the balancer to be in state 'running' before returning
wait_timeout
no 300
how long before wait gives up, in seconds

Examples

- name: Build a Load Balancer
  gather_facts: False
  hosts: local
  connection: local
  tasks:
    - name: Load Balancer create request
      local_action:
        module: rax_clb
        credentials: ~/.raxpub
        name: my-lb
        port: 8080
        protocol: HTTP
        type: SERVICENET
        timeout: 30
        region: DFW
        wait: yes
        state: present
        meta:
          app: my-cool-app
      register: my_lb

Notes

Note

  • The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.
  • RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
  • RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file
  • RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)

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/rax_clb_module.html