Class: Fog::AWS::ELB::Real
- Inherits:
-
Object
- Object
- Fog::AWS::ELB::Real
- Defined in:
- lib/fog/aws/elb.rb,
lib/fog/aws/requests/elb/describe_load_balancers.rb,
lib/fog/aws/requests/elb/describe_instance_health.rb,
lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb,
lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb,
lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb,
lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb
Instance Method Summary collapse
-
#deregister_instances_from_load_balancer(instance_ids, lb_name) ⇒ Object
(also: #deregister_instances)
Deregister an instance from an existing ELB.
-
#describe_instance_health(lb_name, instance_ids = []) ⇒ Object
Get health status for one or more instances on an existing ELB.
-
#describe_load_balancers(lb_name = []) ⇒ Object
Describe all or specified load balancers.
-
#disable_availability_zones_for_load_balancer(availability_zones, lb_name) ⇒ Object
(also: #disable_zones)
Disable an availability zone for an existing ELB.
-
#enable_availability_zones_for_load_balancer(availability_zones, lb_name) ⇒ Object
(also: #enable_zones)
Enable an availability zone for an existing ELB.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to ELB.
-
#register_instances_with_load_balancer(instance_ids, lb_name) ⇒ Object
(also: #register_instances)
Register an instance with an existing ELB.
Constructor Details
#initialize(options = {}) ⇒ Real
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, in [‘eu-west-1’, ‘us-east-1’, ‘us-west-1’i, ‘ap-southeast-1’]
-
Returns
-
ELB object with connection to AWS.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/fog/aws/elb.rb', line 61 def initialize(={}) @aws_access_key_id = [:aws_access_key_id] @aws_secret_access_key = [:aws_secret_access_key] @hmac = HMAC::SHA256.new(@aws_secret_access_key) @host = [:host] || case [:region] when 'ap-southeast-1' 'elasticloadbalancing.ap-southeast-1.amazonaws.com' when 'eu-west-1' 'elasticloadbalancing.eu-west-1.amazonaws.com' when 'us-east-1' 'elasticloadbalancing.us-east-1.amazonaws.com' when 'us-west-1' 'elasticloadbalancing.us-west-1.amazonaws.com' else 'elasticloadbalancing.amazonaws.com' end @port = [:port] || 443 @scheme = [:scheme] || 'https' end |
Instance Method Details
#deregister_instances_from_load_balancer(instance_ids, lb_name) ⇒ Object Also known as: deregister_instances
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
-
‘InstanceId’<~String>
-
-
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb', line 20 def deregister_instances_from_load_balancer(instance_ids, lb_name) params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1) request({ 'Action' => 'DeregisterInstancesFromLoadBalancer', 'LoadBalancerName' => lb_name, :parser => Fog::Parsers::AWS::ELB::DeregisterInstancesFromLoadBalancer.new }.merge!(params)) end |
#describe_instance_health(lb_name, instance_ids = []) ⇒ Object
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
-
‘Description’<~String>
-
‘State’<~String>
-
‘InstanceId’<~String>
-
‘ReasonCode’<~String>
-
-
-
-
23 24 25 26 27 28 29 30 |
# File 'lib/fog/aws/requests/elb/describe_instance_health.rb', line 23 def describe_instance_health(lb_name, instance_ids = []) params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1) request({ 'Action' => 'DescribeInstanceHealth', 'LoadBalancerName' => lb_name, :parser => Fog::Parsers::AWS::ELB::DescribeInstanceHealth.new }.merge!(params)) end |
#describe_load_balancers(lb_name = []) ⇒ Object
Describe all or specified load balancers
Parameters
-
lb_name<~Array> - List of load balancer names to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeLoadBalancersResult’<~Hash>:
-
‘LoadBalancerDescriptions’<~Array>
-
‘LoadBalancerName’<~String> - name of load balancer
-
‘DNSName’<~String> - external DNS name of load balancer
-
‘CreatedTime’<~Time> - time load balancer was created
-
‘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
-
-
-
‘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
-
-
‘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
-
-
‘AvailabilityZones’<~Array> - list of availability zones covered by this load balancer
-
‘Instances’<~Array> - list of instances that the load balancer balances between
-
-
-
-
38 39 40 41 42 43 44 |
# File 'lib/fog/aws/requests/elb/describe_load_balancers.rb', line 38 def describe_load_balancers(lb_name = []) params = ELB.indexed_param('LoadBalancerNames.member', [*lb_name], 1) request({ 'Action' => 'DescribeLoadBalancers', :parser => Fog::Parsers::AWS::ELB::DescribeLoadBalancers.new }.merge!(params)) end |
#disable_availability_zones_for_load_balancer(availability_zones, lb_name) ⇒ Object Also known as: disable_zones
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> - array of strings describing instances currently enabled
-
-
-
19 20 21 22 23 24 25 26 |
# File 'lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb', line 19 def disable_availability_zones_for_load_balancer(availability_zones, lb_name) params = ELB.indexed_param('AvailabilityZones.member', [*availability_zones], 1) request({ 'Action' => 'DisableAvailabilityZonesForLoadBalancer', 'LoadBalancerName' => lb_name, :parser => Fog::Parsers::AWS::ELB::DisableAvailabilityZonesForLoadBalancer.new }.merge!(params)) end |
#enable_availability_zones_for_load_balancer(availability_zones, lb_name) ⇒ Object Also known as: enable_zones
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
-
-
-
19 20 21 22 23 24 25 26 |
# File 'lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb', line 19 def enable_availability_zones_for_load_balancer(availability_zones, lb_name) params = ELB.indexed_param('AvailabilityZones.member', [*availability_zones], 1) request({ 'Action' => 'EnableAvailabilityZonesForLoadBalancer', 'LoadBalancerName' => lb_name, :parser => Fog::Parsers::AWS::ELB::EnableAvailabilityZonesForLoadBalancer.new }.merge!(params)) end |
#register_instances_with_load_balancer(instance_ids, lb_name) ⇒ Object Also known as: register_instances
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
-
‘InstanceId’<~String>
-
-
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb', line 20 def register_instances_with_load_balancer(instance_ids, lb_name) params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1) request({ 'Action' => 'RegisterInstancesWithLoadBalancer', 'LoadBalancerName' => lb_name, :parser => Fog::Parsers::AWS::ELB::RegisterInstancesWithLoadBalancer.new }.merge!(params)) end |