community.general.rax_clb (6.6.8) — module

Create / delete a load balancer in Rackspace Public Cloud

Authors: Christopher H. Laco (@claco), Matt Martz (@sivel)

Install collection

Install with ansible-galaxy collection install community.general:==6.6.8


Add to requirements.yml

  collections:
    - name: community.general
      version: 6.6.8

Description

creates / deletes a Rackspace Public Cloud load balancer.

This module relies on the C(pyrax) package which is deprecated in favour of using Openstack API.

Unless maintainers step up to work on the module, it will be marked as deprecated in community.general 7.0.0 and removed in version 9.0.0.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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: true
        state: present
        meta:
          app: my-cool-app
      register: my_lb

Inputs

    
env:
    description:
    - Environment as configured in I(~/.pyrax.cfg), see U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration).
    type: str

meta:
    default: {}
    description:
    - A hash of metadata to associate with the instance
    type: dict

name:
    description:
    - Name to give the load balancer
    required: true
    type: str

port:
    default: 80
    description:
    - Port for the balancer being created
    type: int

type:
    choices:
    - PUBLIC
    - SERVICENET
    default: PUBLIC
    description:
    - type of interface for the balancer being created
    type: str

wait:
    default: false
    description:
    - wait for the balancer to be in state 'running' before returning
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Indicate desired state of the resource
    type: str

region:
    description:
    - Region to create an instance in.
    type: str

vip_id:
    description:
    - Virtual IP ID to use when creating the load balancer for purposes of sharing an
      IP with another load balancer of another protocol
    type: str

api_key:
    aliases:
    - password
    description:
    - Rackspace API key, overrides I(credentials).
    type: str

timeout:
    default: 30
    description:
    - timeout for communication between the balancer and the node
    type: int

protocol:
    choices:
    - DNS_TCP
    - DNS_UDP
    - FTP
    - HTTP
    - HTTPS
    - IMAPS
    - IMAPv4
    - LDAP
    - LDAPS
    - MYSQL
    - POP3
    - POP3S
    - SMTP
    - TCP
    - TCP_CLIENT_FIRST
    - UDP
    - UDP_STREAM
    - SFTP
    default: HTTP
    description:
    - Protocol for the balancer being created
    type: str

username:
    description:
    - Rackspace username, overrides I(credentials).
    type: str

algorithm:
    choices:
    - RANDOM
    - LEAST_CONNECTIONS
    - ROUND_ROBIN
    - WEIGHTED_LEAST_CONNECTIONS
    - WEIGHTED_ROUND_ROBIN
    default: LEAST_CONNECTIONS
    description:
    - algorithm for the balancer being created
    type: str

tenant_id:
    description:
    - The tenant ID used for authentication.
    type: str

credentials:
    aliases:
    - creds_file
    description:
    - File to find the Rackspace credentials in. Ignored if I(api_key) and I(username)
      are provided.
    type: path

tenant_name:
    description:
    - The tenant name used for authentication.
    type: str

wait_timeout:
    default: 300
    description:
    - how long before wait gives up, in seconds
    type: int

auth_endpoint:
    description:
    - The URI of the authentication service.
    - If not specified will be set to U(https://identity.api.rackspacecloud.com/v2.0/)
    type: str

identity_type:
    default: rackspace
    description:
    - Authentication mechanism to use, such as rackspace or keystone.
    type: str

validate_certs:
    aliases:
    - verify_ssl
    description:
    - Whether or not to require SSL validation of API endpoints.
    type: bool