opentelekomcloud.cloud.loadbalancer (0.14.2) — module

Add/Delete load balancer from OpenTelekomCloud

| "added in version" 0.0.1 of opentelekomcloud.cloud"

Authors: Artem Goncharov (@gtema)

Install collection

Install with ansible-galaxy collection install opentelekomcloud.cloud:==0.14.2


Add to requirements.yml

  collections:
    - name: opentelekomcloud.cloud
      version: 0.14.2

Description

Add or Remove Enhanced Load Balancer from the OTC load-balancer service(ELB).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a load balancer by specifying the VIP subnet.
- opentelekomcloud.cloud.loadbalancer:
    state: present
    name: my_lb
    vip_subnet: my_subnet
    timeout: 150
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Create a load balancer together with its sub-resources in the 'all in one'
# way. A public IP address is also allocated to the load balancer VIP.
- opentelekomcloud.cloud.loadbalancer:
    name: ELB
    state: present
    vip_subnet: default_subnet
    auto_public_ip: yes
    wait: true
    timeout: 600
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Delete a load balancer(and all its related resources)
- opentelekomcloud.cloud.loadbalancer:
    state: absent
    name: my_lb
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Delete a load balancer(and all its related resources) together with the
# public IP address(if any) attached to it.
- opentelekomcloud.cloud.loadbalancer:
    state: absent
    name: my_lb
    delete_public_ip: yes

Inputs

    
auth:
    description:
    - Dictionary containing auth information as needed by the cloud's auth plugin strategy.
      For the default I(password) plugin, this would contain I(auth_url), I(username),
      I(password), I(project_name) and any information about domains (for example, I(os_user_domain_name)
      or I(os_project_domain_name)) if the cloud supports them. For other plugins, this
      param will need to contain whatever parameters that auth plugin requires. This parameter
      is not needed if a named cloud is provided or OpenStack OS_* environment variables
      are present.
    type: dict

name:
    description:
    - Name that has to be given to the load balancer
    required: true
    type: str

wait:
    default: 'yes'
    description:
    - If the module should wait for the load balancer to be created or deleted.
    type: bool

cloud:
    description:
    - Named cloud or cloud config to operate against. If I(cloud) is a string, it references
      a named cloud config as defined in an OpenStack clouds.yaml file. Provides default
      values for I(auth) and I(auth_type). This parameter is not needed if I(auth) is
      provided or if OpenStack OS_* environment variables are present. If I(cloud) is
      a dict, it contains a complete cloud configuration like would be in a section of
      clouds.yaml.
    type: raw

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Should the resource be present or absent.
    type: str

ca_cert:
    aliases:
    - cacert
    description:
    - A path to a CA Cert bundle that can be used as part of verifying SSL API requests.
    type: str

timeout:
    default: 180
    description:
    - The amount of time the module should wait.
    type: int

auth_type:
    description:
    - Name of the auth plugin to use. If the cloud uses something other than password
      authentication, the name of the plugin should be indicated here and the contents
      of the I(auth) parameter should be updated accordingly.
    type: str

interface:
    aliases:
    - endpoint_type
    choices:
    - admin
    - internal
    - public
    default: public
    description:
    - Endpoint URL type to fetch from the service catalog.
    type: str

client_key:
    aliases:
    - key
    description:
    - A path to a client key to use as part of the SSL transaction.
    type: str

vip_subnet:
    description:
    - The name or id of the subnet for the virtual IP of the load balancer. One of I(vip_network),
      I(vip_subnet), or I(vip_port) must be specified for creation.
    type: str

api_timeout:
    description:
    - How long should the socket layer wait before timing out for API calls. If this is
      omitted, nothing will be passed to the requests library.
    type: int

client_cert:
    aliases:
    - cert
    description:
    - A path to a client certificate to use as part of the SSL transaction.
    type: str

region_name:
    description:
    - Name of the region.
    type: str

vip_address:
    description:
    - IP address of the load balancer virtual IP.
    type: str

sdk_log_path:
    description:
    - Path to the logfile of the OpenStackSDK. If empty no log is written
    type: str

sdk_log_level:
    choices:
    - ERROR
    - WARN
    - INFO
    - DEBUG
    default: WARN
    description: Log level of the OpenStackSDK
    type: str

auto_public_ip:
    default: 'no'
    description:
    - Allocate a public IP address and associate with the VIP automatically.
    type: bool

validate_certs:
    aliases:
    - verify
    description:
    - Whether or not SSL API requests should be verified.
    - Before Ansible 2.3 this defaulted to C(yes).
    type: bool

delete_public_ip:
    default: 'no'
    description:
    - When C(state=absent) and this option is true, any public IP address associated with
      the VIP will be deleted along with the load balancer.
    type: bool

public_ip_address:
    description:
    - Public IP address associated with the VIP.
    type: str

Outputs

id:
  description: The load balancer UUID.
  returned: On success when C(state=present)
  sample: 39007a7e-ee4f-4d13-8283-b4da2e037c69
  type: str
loadbalancer:
  contains:
    id:
      description: Unique UUID.
      sample: 39007a7e-ee4f-4d13-8283-b4da2e037c69
      type: str
    is_admin_state_up:
      description: The administrative state of the load balancer.
      sample: true
      type: bool
    listeners:
      description: The associated listener IDs, if any.
      sample:
      - id: 7aa1b380-beec-459c-a8a7-3a4fb6d30645
      - id: 692d06b8-c4f8-4bdb-b2a3-5a263cc23ba6
      type: list
    name:
      description: Name given to the load balancer.
      sample: elb_test
      type: str
    operating_status:
      description: The operating status of the load balancer.
      sample: ONLINE
      type: str
    pools:
      description: The associated pool IDs, if any.
      sample:
      - id: 27b78d92-cee1-4646-b831-e3b90a7fa714
      - id: befc1fb5-1992-4697-bdb9-eee330989344
      type: list
    provisioning_status:
      description: The provisioning status of the load balancer.
      sample: ACTIVE
      type: str
    public_vip_address:
      description: The load balancer public VIP address.
      sample: 10.17.8.254
      type: str
    vip_address:
      description: The load balancer virutal IP address.
      sample: 192.168.2.88
      type: str
    vip_network_id:
      description: Network ID the load balancer virutal IP port belongs in.
      sample: f171db43-56fd-41cf-82d7-4e91d741762e
      type: str
    vip_port_id:
      description: The load balancer virutal IP port ID.
      sample: 2061395c-1c01-47ab-b925-c91b93df9c1d
      type: str
    vip_subnet_id:
      description: Subnet ID the load balancer virutal IP port belongs in.
      sample: c53e3c70-9d62-409a-9f71-db148e7aa853
      type: str
  description: Dictionary describing the load balancer.
  returned: On success when C(state=present)
  type: complex