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

Author:Christopher H. Laco, Matt Martz

Synopsis

New in version 1.4.

creates / deletes a Rackspace Public Cloud load balancer.

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)
    credentials no
      File to find the Rackspace credentials in (ignored if api_key and username are provided)
      env no
        Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration (added in Ansible 1.5)
        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 no
                      Whether or not to require SSL validation of API endpoints (added in Ansible 1.5)
                      vip_id no
                        Virtual IP ID to use when creating the load balancer for purposes of sharing an IP with another load balancer of another protocol (added in Ansible 1.5)
                        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

                          Note

                          Requires pyrax

                          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
                          

                          Note

                          The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.

                          Note

                          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

                          Note

                          RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file

                          Note

                          RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)