ngine_io.cloudstack.cs_loadbalancer_rule_member – Manages load balancer rule members on Apache CloudStack based clouds.

From Get docs
Ansible/docs/2.11/collections/ngine io/cloudstack/cs loadbalancer rule member module


ngine_io.cloudstack.cs_loadbalancer_rule_member – Manages load balancer rule members on Apache CloudStack based clouds.

Note

This plugin is part of the ngine_io.cloudstack collection (version 2.0.0).

To install it use: ansible-galaxy collection install ngine_io.cloudstack.

To use it in a playbook, specify: ngine_io.cloudstack.cs_loadbalancer_rule_member.


New in version 0.1.0: of ngine_io.cloudstack


Synopsis

  • Add and remove load balancer rule members.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • cs >= 0.9.0

Parameters

Parameter Choices/Defaults Comments

account

string

Account the rule is related to.

api_http_method

string

  • get

  • post

HTTP method used to query the API endpoint.

If not given, the CLOUDSTACK_METHOD env variable is considered.

api_key

string / required

API key of the CloudStack API.

If not given, the CLOUDSTACK_KEY env variable is considered.

api_secret

string / required

Secret key of the CloudStack API.

If not set, the CLOUDSTACK_SECRET env variable is considered.

api_timeout

integer

Default:

10

HTTP timeout in seconds.

If not given, the CLOUDSTACK_TIMEOUT env variable is considered.

api_url

string / required

URL of the CloudStack API e.g. https://cloud.example.com/client/api.

If not given, the CLOUDSTACK_ENDPOINT env variable is considered.

api_verify_ssl_cert

string

Verify CA authority cert file.

If not given, the CLOUDSTACK_VERIFY env variable is considered.

domain

string

Domain the rule is related to.

ip_address

string

Public IP address from where the network traffic will be load balanced from.

Only needed to find the rule if name is not unique.


aliases: public_ip

name

string / required

The name of the load balancer rule.

poll_async

boolean

  • no
  • yes

Poll async jobs until job has finished.

project

string

Name of the project the firewall rule is related to.

state

string

  • present

  • absent

Should the VMs be present or absent from the rule.

vms

list / elements=string / required

List of VMs to assign to or remove from the rule.


aliases: vm

zone

string

Name of the zone in which the rule should be located.

Required when the LB provider is ElasticLoadBalancerVm



Notes

Note

  • A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
  • This module supports check mode.


Examples

- name: Add VMs to an existing load balancer
  ngine_io.cloudstack.cs_loadbalancer_rule_member:
    name: balance_http
    vms:
      - web01
      - web02

- name: Remove a VM from an existing load balancer
  ngine_io.cloudstack.cs_loadbalancer_rule_member:
    name: balance_http
    vms:
      - web01
      - web02
    state: absent


# Rolling upgrade of hosts
- hosts: webservers
  serial: 1
  pre_tasks:
    - name: Remove from load balancer
      ngine_io.cloudstack.cs_loadbalancer_rule_member:
        name: balance_http
        vm: "{{ ansible_hostname }}"
        state: absent
  tasks:
    # Perform update
  post_tasks:
    - name: Add to load balancer
      ngine_io.cloudstack.cs_loadbalancer_rule_member:
        name: balance_http
        vm: "{{ ansible_hostname }}"
        state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

account

string

success

Account the rule is related to.


Sample:

example account

algorithm

string

success

Load balancer algorithm used.


Sample:

source

cidr

string

success

CIDR to forward traffic from.


Sample:

0.0.0.0/0

description

string

success

Description of the rule.


Sample:

http load balancer rule

domain

string

success

Domain the rule is related to.


Sample:

example domain

id

string

success

UUID of the rule.


Sample:

a6f7a5fc-43f8-11e5-a151-feff819cdc9f

name

string

success

Name of the rule.


Sample:

http-lb

private_port

integer

success

Private IP address.


Sample:

80

project

string

success

Name of project the rule is related to.


Sample:

Production

protocol

string

success

Protocol of the rule.


Sample:

tcp

public_ip

string

success

Public IP address.


Sample:

1.2.3.4

public_port

integer

success

Public port.


Sample:

80

state

string

success

State of the rule.


Sample:

Add

tags

list / elements=string

success

List of resource tags associated with the rule.


Sample:

[ { "key": "foo", "value": "bar" } ]

vms

list / elements=string

success

Rule members.


Sample:

[ "web01", "web02" ]

zone

string

success

Name of zone the rule is related to.


Sample:

ch-gva-2




Authors

  • Darren Worrall (@dazworrall)
  • René Moser (@resmo)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ngine_io/cloudstack/cs_loadbalancer_rule_member_module.html