Public Class methods
Initialize connection to ELB
Notes
options parameter must include values for :aws_access_key_id and
:aws_secret_access_key in order to create a connection
Examples
elb = ELB.new(
:aws_access_key_id => your_aws_access_key_id,
:aws_secret_access_key => your_aws_secret_access_key
)
Parameters
- options<~Hash> - config arguments
for connection. Defaults to {}.
- region<~String> - optional region
to use. For instance, ‘eu-west-1’, ‘us-east-1’,
etc.
Returns
- ELB object with connection to AWS.
Public Instance methods
apply_security_groups(security_group_ids, lb_name)
Sets the security groups for an ELB in VPC
Parameters
- security_group_ids<~Array> - List of security group ids to enable on
ELB
- lb_name<~String> - Load balancer
to disable availability zones on
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘ApplySecurityGroupsToLoadBalancer’<~Hash>:
- ‘SecurityGroups’<~Array> - array of strings describing
the security group ids currently enabled
Enable a subnet for an existing ELB
Parameters
- subnet_ids<~Array> - List of subnet ids to enable on ELB
- lb_name<~String> - Load balancer
to enable availability zones on
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘AttachLoadBalancerToSubnetsResult’<~Hash>:
- ‘Subnets’<~Array> - array of strings describing the
subnet ids currently enabled
Create an app cookie stickiness policy
Parameters
- lb_name<~String> - Name of the ELB
- policy_name<~String> - The name of
the policy being created. The name must be unique within the set of
policies for this Load Balancer.
- cookie_name<~String> - Name of the
application cookie used for stickiness.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Create a Load Balancer Cookie Stickiness Policy
Parameters
- lb_name<~String> - Name of the ELB
- policy_name<~String> - The name of
the policy being created. The name must be unique within the set of
policies for this Load Balancer.
- cookie_expiration_period<~Integer> - The time period in seconds after
which the cookie should be considered stale. Not specifying this parameter
indicates that the sticky session will last for the duration of the browser
session.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Create a new Elastic Load Balancer
Parameters
- availability_zones<~Array> - List of availability zones for the ELB
- lb_name<~String> - Name for the new ELB — must
be unique
- listeners<~Array> - Array of Hashes describing ELB listeners to assign to the ELB
- ‘Protocol’<~String> -
Protocol to use. Either HTTP, HTTPS, TCP or SSL.
- ‘LoadBalancerPort’<~Integer> - The port that the ELB will listen to for outside traffic
- ‘InstancePort’<~Integer> - The port on the instance that
the ELB will forward traffic to
- ‘InstanceProtocol’<~String> - Protocol for sending traffic
to an instance. Either HTTP, HTTPS, TCP or SSL.
- ‘SSLCertificateId’<~String> - ARN of the server certificate
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘CreateLoadBalancerResult’<~Hash>:
Create Elastic Load Balancer Listeners
Parameters
- lb_name<~String> - Name for the new ELB — must
be unique
- listeners<~Array> - Array of Hashes describing ELB listeners to add to the ELB
- ‘Protocol’<~String> -
Protocol to use. Either HTTP, HTTPS, TCP or SSL.
- ‘LoadBalancerPort’<~Integer> - The port that the ELB will listen to for outside traffic
- ‘InstancePort’<~Integer> - The port on the instance that
the ELB will forward traffic to
- ‘InstanceProtocol’<~String> - Protocol for sending traffic
to an instance. Either HTTP, HTTPS, TCP or SSL.
- ‘SSLCertificateId’<~String> - ARN of the server certificate
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Create Elastic Load Balancer Policy
Parameters
- lb_name<~String> - The name
associated with the LoadBalancer for which
the policy is being created. This name must be unique within the client AWS account.
- attributes<~Hash> - A list of
attributes associated with the policy being created.
- ‘AttributeName’<~String> - The name of the attribute
associated with the policy.
- ‘AttributeValue’<~String> - The value of the attribute
associated with the policy.
- name<~String> - The name of the LoadBalancer policy being created. The name
must be unique within the set of policies for this LoadBalancer.
- type_name<~String> - The name of
the base policy type being used to create this policy. To get the list of
policy types, use the DescribeLoadBalancerPolicyTypes action.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Delete an existing Elastic Load Balancer
Note that this API call, as defined by Amazon, is idempotent. That is, it
will not return an error if you try to delete an ELB that does not exist.
Parameters
- lb_name<~String> - Name of the ELB to be deleted
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘DeleteLoadBalancerResponse’<~nil>
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Delet Elastic Load Balancer Listeners
Parameters
- lb_name<~String> - Name for the new ELB — must
be unique
- load_balancer_ports<~Array> - Array of client port numbers of the
LoadBalancerListeners to remove
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
Delete a Load Balancer Stickiness Policy
Parameters
- lb_name<~String> - Name of the ELB
- policy_name<~String> - The name of
the policy to delete
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
deregister_instances(instance_ids, lb_name)
Deregister an instance from an existing ELB
Parameters
- instance_ids<~Array> - List of instance IDs to remove from ELB
- lb_name<~String> - Load balancer
to remove instances from
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DeregisterInstancesFromLoadBalancerResult’<~Hash>:
- ‘Instances’<~Array> - array of hashes describing
instances currently enabled
Get health status for one or more instances on an existing ELB
Parameters
- lb_name<~String> - Load balancer
to check instances health on
- instance_ids<~Array> - Optional list of instance IDs to check
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DescribeInstanceHealthResult’<~Hash>:
- ‘InstanceStates’<~Array> - array of hashes describing
instance health
Describe all or specified load balancer policies
Parameters
- lb_name<~String> - The mnemonic
name associated with the LoadBalancer. If
no name is specified, the operation returns the attributes of either all
the sample policies pre-defined by Elastic Load Balancing or the specified
sample polices.
- names<~Array> - The names of LoadBalancer policies you‘ve created or
Elastic Load Balancing sample policy names.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DescribeLoadBalancerPoliciesResult’<~Hash>:
- ‘PolicyDescriptions’<~Array>
- ‘PolicyAttributeDescriptions’<~Array>
- ‘AttributeName’<~String> - The name of the attribute
associated with the policy.
- ‘AttributeValue’<~String> - The value of the attribute
associated with the policy.
- ‘PolicyName’<~String>
- The name mof the policy associated with the LoadBalancer.
- ‘PolicyTypeName’<~String> - The name of the policy type.
Describe all or specified load balancer policy types
Parameters
- type_name<~Array> - Specifies the name of the policy types. If no
names are specified, returns the description of all the policy types
defined by Elastic Load Balancing service.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DescribeLoadBalancerPolicyTypesResult’<~Hash>:
- ‘PolicyTypeDescriptions’<~Array>
- ‘Description’<~String>
- A human-readable description of the policy type.
- ‘PolicyAttributeTypeDescriptions’<~Array>
- ‘AttributeName’<~String> - The name of the attribute
associated with the policy type.
- ‘AttributeValue’<~String> - The type of attribute. For
example, Boolean, Integer, etc.
- ‘Cardinality’<~String>
- The cardinality of the attribute.
- ‘DefaultValue’<~String> - The default value of the
attribute, if applicable.
- ‘Description’<~String>
- A human-readable description of the attribute.
- ‘PolicyTypeName’<~String> - The name of the policy type.
Describe all or specified load balancers
Parameters
- options<~Hash>
- ‘LoadBalancerNames’<~Array> - List of load balancer names
to describe, defaults to all
- ‘Marker’<String> -
Indicates where to begin in your list of load balancers
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DescribeLoadBalancersResult’<~Hash>:
- ‘LoadBalancerDescriptions’<~Array>
- ‘AvailabilityZones’<~Array> - list of availability zones
covered by this load balancer
- ‘CanonicalHostedZoneName’<~String> - name of the Route 53 hosted
zone associated with the load balancer
- ‘CanonicalHostedZoneNameID’<~String> - ID of the Route 53 hosted zone
associated with the load balancer
- ‘CreatedTime’<~Time> - time
load balancer was created
- ‘DNSName’<~String> -
external DNS name of load balancer
- ‘HealthCheck’<~Hash>:
- ‘HealthyThreshold’<~Integer> - number of consecutive
health probe successes required before moving the instance to the Healthy
state
- ‘Timeout’<~Integer> - number of seconds after which no
response means a failed health probe
- ‘Interval’<~Integer> - interval (in seconds) between
health checks of an individual instance
- ‘UnhealthyThreshold’<~Integer> - number of consecutive
health probe failures that move the instance to the unhealthy state
- ‘Target’<~String> -
string describing protocol type, port and URL to check
- ‘Instances’<~Array> - list of instances that the load
balancer balances between
- ‘ListenerDescriptions’<~Array>
- ‘PolicyNames’<~Array> - list of policies enabled
- ‘Listener’<~Hash>:
- ‘InstancePort’<~Integer> - port on instance that requests
are sent to
- ‘Protocol’<~String> -
transport protocol used for routing in [TCP, HTTP]
- ‘LoadBalancerPort’<~Integer> - port that load balancer
listens on for requests
- ‘LoadBalancerName’<~String> - name of load balancer
- ‘Policies’<~Hash>:
- ‘LBCookieStickinessPolicies’<~Array> - list of Load
Balancer Generated Cookie Stickiness policies for the LoadBalancer
- ‘AppCookieStickinessPolicies’<~Array> - list of
Application Generated Cookie Stickiness policies for the LoadBalancer
- ‘SourceSecurityGroup’<~Hash>:
- ‘GroupName’<~String> -
Name of the source security group to use with inbound security group rules
- ‘OwnerAlias’<~String>
- Owner of the source security group
- ‘NextMarker’<~String>
- Marker to specify for next page
Disable a subnet for an existing ELB
Parameters
- subnet_ids<~Array> - List of subnet ids to enable on ELB
- lb_name<~String> - Load balancer
to disable availability zones on
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DetachLoadBalancerFromSubnetsResult’<~Hash>:
- ‘Subnets’<~Array> - array of strings describing the
subnet ids currently enabled
Disable an availability zone for an existing ELB
Parameters
- availability_zones<~Array> - List of availability zones to disable on
ELB
- lb_name<~String> - Load balancer
to disable availability zones on
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘DisableAvailabilityZonesForLoadBalancerResult’<~Hash>:
- ‘AvailabilityZones’<~Array> - A list of updated
Availability Zones for the LoadBalancer.
disable_subnets(subnet_ids, lb_name)
disable_zones(availability_zones, lb_name)
Enable an availability zone for an existing ELB
Parameters
- availability_zones<~Array> - List of availability zones to enable on
ELB
- lb_name<~String> - Load balancer
to enable availability zones on
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘EnableAvailabilityZonesForLoadBalancerResult’<~Hash>:
- ‘AvailabilityZones’<~Array> - array of strings describing
instances currently enabled
enable_subnets(subnet_ids, lb_name)
enable_zones(availability_zones, lb_name)
register_instances(instance_ids, lb_name)
Register an instance with an existing ELB
Parameters
- instance_ids<~Array> - List of instance IDs to associate with ELB
- lb_name<~String> - Load balancer
to assign instances to
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- ‘RegisterInstancesWithLoadBalancerResult’<~Hash>:
- ‘Instances’<~Array> - array of hashes describing
instances currently enabled
Sets the certificate that terminates the specified listener‘s SSL
connections. The specified certificate replaces any prior certificate that
was used on the same LoadBalancer and port.
Parameters
- lb_name<~String> - Name of the ELB
- load_balancer_port<~Integer> - The external port of the LoadBalancer with which this policy has to be
associated.
- ssl_certificate_id<~String> - ID
of the SSL certificate chain to use example:
arn:aws:iam::322191361670:server-certificate/newCert
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request
- policy_names<~Array> - List of policies to be associated with the
listener. Currently this list can have at most one policy. If the list is
empty, the current policy is removed from the listener.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- ‘ResponseMetadata’<~Hash>:
- ‘RequestId’<~String> -
Id of request