salt.states.libcloud_loadbalancer

Apache Libcloud Load Balancer State

Manage load balancers using libcloud

codeauthor:

Anthony Shaw <anthonyshaw@apache.org>

Apache Libcloud load balancer management for a full list of supported clouds, see http://libcloud.readthedocs.io/en/latest/loadbalancer/supported_providers.html

Clouds include Amazon ELB, ALB, Google, Aliyun, CloudStack, Softlayer

New in version 2018.3.0.

configuration:

This module uses a configuration profile for one or multiple Cloud providers

libcloud_loadbalancer:
    profile_test1:
      driver: gce
      key: GOOG0123456789ABCXYZ
      secret: mysecret
    profile_test2:
      driver: alb
      key: 12345
      secret: mysecret

Example:

Using States to deploy a load balancer with extended arguments to specify region

lb_test:
    libcloud_loadbalancer.balancer_present:
        - name: example
        - port: 80
        - protocol: http
        - profile: google
        - ex_region: us-east1
depends:

apache-libcloud

salt.states.libcloud_loadbalancer.balancer_absent(name, profile, **libcloud_kwargs)

Ensures a load balancer is absent.

Parameters:
  • name (str) -- Load Balancer name

  • profile (str) -- The profile key

salt.states.libcloud_loadbalancer.balancer_present(name, port, protocol, profile, algorithm=None, members=None, **libcloud_kwargs)

Ensures a load balancer is present.

Parameters:
  • name (str) -- Load Balancer name

  • port (str) -- Port the load balancer should listen on, defaults to 80

  • protocol (str) -- Loadbalancer protocol, defaults to http.

  • profile (str) -- The profile key

  • algorithm (str) -- Load balancing algorithm, defaults to ROUND_ROBIN. See Algorithm type in Libcloud documentation for a full listing.

  • members (list of dict (ip, port)) -- An optional list of members to create on deployment

salt.states.libcloud_loadbalancer.member_absent(ip, port, balancer_id, profile, **libcloud_kwargs)

Ensure a load balancer member is absent, based on IP and Port

Parameters:
  • ip (str) -- IP address for the member

  • port (int) -- Port for the member

  • balancer_id (str) -- id of a load balancer you want to detach the member from

  • profile (str) -- The profile key

salt.states.libcloud_loadbalancer.member_present(ip, port, balancer_id, profile, **libcloud_kwargs)

Ensure a load balancer member is present

Parameters:
  • ip (str) -- IP address for the new member

  • port (int) -- Port for the new member

  • balancer_id (str) -- id of a load balancer you want to attach the member to

  • profile (str) -- The profile key

salt.states.libcloud_loadbalancer.state_result(result, message, name, changes=None)