boto3_elb

Connection module for Amazon ELB (Classic) using boto3.

Renamed from boto_elb to boto3_elb and rewritten to use the boto3 elb client APIs directly via saltext.boto3.utils.boto3mod. The legacy boto2 code path (object-style access, retry loops) has been removed.

depends:
  • boto3 >= 1.28.0

  • botocore >= 1.31.0

configuration:

This module accepts explicit ELB credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More Information available at:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

If IAM roles are not used you need to specify them either in the minion’s config file or as a profile. For example, to specify them in the minion’s config file:

elb.keyid: GKTADJGHEIQSXMKKRBJ08H
elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs

A region may also be specified in the configuration:

elb.region: us-east-1

It’s also possible to specify key, keyid and region via a profile, either as a passed in dict, or as a string to pull from pillars or minion config:

myprofile:
    keyid: GKTADJGHEIQSXMKKRBJ08H
    key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
    region: us-east-1

Added in version 1.0.0.

saltext.boto3.modules.boto3_elb.__virtual__()[source]

Only load if boto3 is available.

saltext.boto3.modules.boto3_elb.exists(name, region=None, key=None, keyid=None, profile=None)[source]

Check to see if an ELB exists.

CLI Example:

salt myminion boto3_elb.exists myelb region=us-east-1
saltext.boto3.modules.boto3_elb.get_all_elbs(region=None, key=None, keyid=None, profile=None)[source]

Return all load balancers associated with an account.

CLI Example:

salt myminion boto3_elb.get_all_elbs region=us-east-1
saltext.boto3.modules.boto3_elb.list_elbs(region=None, key=None, keyid=None, profile=None)[source]

Return names of all load balancers associated with an account.

CLI Example:

salt myminion boto3_elb.list_elbs region=us-east-1
saltext.boto3.modules.boto3_elb.get_elb_config(name, region=None, key=None, keyid=None, profile=None)[source]

Get an ELB configuration.

CLI Example:

salt myminion boto3_elb.get_elb_config myelb region=us-east-1
saltext.boto3.modules.boto3_elb.listener_dict_to_tuple(listener)[source]

Convert an ELB listener dict into a listener tuple used by certain parts of the AWS ELB API.

CLI Example:

salt myminion boto3_elb.listener_dict_to_tuple '{"elb_port":80,"instance_port":80,"elb_protocol":"HTTP"}'
saltext.boto3.modules.boto3_elb.create(name, availability_zones, listeners, subnets=None, security_groups=None, scheme='internet-facing', region=None, key=None, keyid=None, profile=None)[source]

Create an ELB.

CLI Example:

salt myminion boto3_elb.create myelb '["us-east-1a"]' '[{"elb_port": 443, "elb_protocol": "HTTPS"}]'
saltext.boto3.modules.boto3_elb.delete(name, region=None, key=None, keyid=None, profile=None)[source]

Delete an ELB.

CLI Example:

salt myminion boto3_elb.delete myelb region=us-east-1
saltext.boto3.modules.boto3_elb.create_listeners(name, listeners, region=None, key=None, keyid=None, profile=None)[source]

Create listeners on an ELB.

CLI Example:

salt myminion boto3_elb.create_listeners myelb '[{"elb_port":443,"instance_port":80,"elb_protocol":"HTTPS","certificate":"arn:..."}]'
saltext.boto3.modules.boto3_elb.delete_listeners(name, ports, region=None, key=None, keyid=None, profile=None)[source]

Delete listeners on an ELB.

CLI Example:

salt myminion boto3_elb.delete_listeners myelb '[80,443]'
saltext.boto3.modules.boto3_elb.apply_security_groups(name, security_groups, region=None, key=None, keyid=None, profile=None)[source]

Apply security groups to ELB.

CLI Example:

salt myminion boto3_elb.apply_security_groups myelb '["mysecgroup1"]'
saltext.boto3.modules.boto3_elb.enable_availability_zones(name, availability_zones, region=None, key=None, keyid=None, profile=None)[source]

Enable availability zones for ELB.

CLI Example:

salt myminion boto3_elb.enable_availability_zones myelb '["us-east-1a"]'
saltext.boto3.modules.boto3_elb.disable_availability_zones(name, availability_zones, region=None, key=None, keyid=None, profile=None)[source]

Disable availability zones for ELB.

CLI Example:

salt myminion boto3_elb.disable_availability_zones myelb '["us-east-1a"]'
saltext.boto3.modules.boto3_elb.attach_subnets(name, subnets, region=None, key=None, keyid=None, profile=None)[source]

Attach ELB to subnets.

CLI Example:

salt myminion boto3_elb.attach_subnets myelb '["mysubnet"]'
saltext.boto3.modules.boto3_elb.detach_subnets(name, subnets, region=None, key=None, keyid=None, profile=None)[source]

Detach ELB from subnets.

CLI Example:

salt myminion boto3_elb.detach_subnets myelb '["mysubnet"]'
saltext.boto3.modules.boto3_elb.get_attributes(name, region=None, key=None, keyid=None, profile=None)[source]

Check to see if attributes are set on an ELB.

CLI Example:

salt myminion boto3_elb.get_attributes myelb
saltext.boto3.modules.boto3_elb.set_attributes(name, attributes, region=None, key=None, keyid=None, profile=None)[source]

Set attributes on an ELB.

CLI Example:

salt myminion boto3_elb.set_attributes myelb '{"access_log": {"enabled": true, "s3_bucket_name": "mybucket"}}'
saltext.boto3.modules.boto3_elb.get_health_check(name, region=None, key=None, keyid=None, profile=None)[source]

Get the health check configured for this ELB.

CLI Example:

salt myminion boto3_elb.get_health_check myelb
saltext.boto3.modules.boto3_elb.set_health_check(name, health_check, region=None, key=None, keyid=None, profile=None)[source]

Set a health check on an ELB.

CLI Example:

salt myminion boto3_elb.set_health_check myelb '{"target": "HTTP:80/"}'
saltext.boto3.modules.boto3_elb.register_instances(name, instances, region=None, key=None, keyid=None, profile=None)[source]

Register instances with an ELB.

CLI Example:

salt myminion boto3_elb.register_instances myelb instance_id
saltext.boto3.modules.boto3_elb.deregister_instances(name, instances, region=None, key=None, keyid=None, profile=None)[source]

Deregister instances with an ELB.

CLI Example:

salt myminion boto3_elb.deregister_instances myelb instance_id
saltext.boto3.modules.boto3_elb.set_instances(name, instances, test=False, region=None, key=None, keyid=None, profile=None)[source]

Set the instances assigned to an ELB to exactly the list given.

CLI Example:

salt myminion boto3_elb.set_instances myelb region=us-east-1 instances="[instance_id,instance_id]"
saltext.boto3.modules.boto3_elb.get_instance_health(name, region=None, key=None, keyid=None, profile=None, instances=None)[source]

Get a list of instances and their health state.

CLI Example:

salt myminion boto3_elb.get_instance_health myelb
saltext.boto3.modules.boto3_elb.create_policy(name, policy_name, policy_type, policy, region=None, key=None, keyid=None, profile=None)[source]

Create an ELB policy.

CLI Example:

salt myminion boto3_elb.create_policy myelb mypolicy LBCookieStickinessPolicyType '{"CookieExpirationPeriod": 3600}'
saltext.boto3.modules.boto3_elb.delete_policy(name, policy_name, region=None, key=None, keyid=None, profile=None)[source]

Delete an ELB policy.

CLI Example:

salt myminion boto3_elb.delete_policy myelb mypolicy
saltext.boto3.modules.boto3_elb.set_listener_policy(name, port, policies=None, region=None, key=None, keyid=None, profile=None)[source]

Set the policies of an ELB listener.

CLI Example:

salt myminion boto3_elb.set_listener_policy myelb 443 "[policy1,policy2]"
saltext.boto3.modules.boto3_elb.set_backend_policy(name, port, policies=None, region=None, key=None, keyid=None, profile=None)[source]

Set the policies of an ELB backend server.

CLI Example:

salt myminion boto3_elb.set_backend_policy myelb 443 "[policy1,policy2]"
saltext.boto3.modules.boto3_elb.set_tags(name, tags, region=None, key=None, keyid=None, profile=None)[source]

Add tags on an ELB.

CLI Example:

salt myminion boto3_elb.set_tags my-elb-name "{'Tag1': 'Value', 'Tag2': 'Another Value'}"
saltext.boto3.modules.boto3_elb.delete_tags(name, tags, region=None, key=None, keyid=None, profile=None)[source]

Delete tags on an ELB.

CLI Example:

salt myminion boto3_elb.delete_tags my-elb-name ['TagToRemove1', 'TagToRemove2']