aws-sdk 1.8.5 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +1 -0
- data/README.rdoc +8 -0
- data/lib/aws-sdk.rb +39 -35
- data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
- data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
- data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
- data/lib/aws/auto_scaling.rb +44 -44
- data/lib/aws/auto_scaling/activity.rb +1 -1
- data/lib/aws/auto_scaling/activity_collection.rb +14 -15
- data/lib/aws/auto_scaling/client.rb +277 -277
- data/lib/aws/auto_scaling/config.rb +1 -1
- data/lib/aws/auto_scaling/group.rb +35 -36
- data/lib/aws/auto_scaling/group_collection.rb +10 -10
- data/lib/aws/auto_scaling/group_options.rb +19 -19
- data/lib/aws/auto_scaling/instance.rb +27 -27
- data/lib/aws/auto_scaling/instance_collection.rb +10 -10
- data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
- data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
- data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
- data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
- data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
- data/lib/aws/auto_scaling/tag_collection.rb +30 -28
- data/lib/aws/cloud_formation.rb +95 -94
- data/lib/aws/cloud_formation/client.rb +136 -133
- data/lib/aws/cloud_formation/config.rb +1 -1
- data/lib/aws/cloud_formation/stack.rb +37 -37
- data/lib/aws/cloud_formation/stack_collection.rb +28 -27
- data/lib/aws/cloud_formation/stack_event.rb +9 -11
- data/lib/aws/cloud_formation/stack_output.rb +1 -1
- data/lib/aws/cloud_formation/stack_resource.rb +6 -6
- data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
- data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
- data/lib/aws/cloud_front.rb +21 -21
- data/lib/aws/cloud_front/client.rb +853 -652
- data/lib/aws/cloud_front/request.rb +3 -0
- data/lib/aws/cloud_search.rb +22 -22
- data/lib/aws/cloud_search/client.rb +322 -315
- data/lib/aws/cloud_search/config.rb +1 -1
- data/lib/aws/cloud_watch.rb +39 -39
- data/lib/aws/cloud_watch/alarm.rb +55 -37
- data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
- data/lib/aws/cloud_watch/client.rb +360 -146
- data/lib/aws/cloud_watch/config.rb +1 -1
- data/lib/aws/cloud_watch/metric.rb +15 -15
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
- data/lib/aws/cloud_watch/metric_collection.rb +16 -16
- data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
- data/lib/aws/core.rb +243 -225
- data/lib/aws/core/async_handle.rb +13 -13
- data/lib/aws/core/cacheable.rb +14 -15
- data/lib/aws/core/client.rb +40 -15
- data/lib/aws/core/collection.rb +42 -46
- data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
- data/lib/aws/core/collection/with_next_token.rb +1 -1
- data/lib/aws/core/configuration.rb +97 -133
- data/lib/aws/core/credential_providers.rb +16 -16
- data/lib/aws/core/data.rb +23 -23
- data/lib/aws/core/http/connection_pool.rb +348 -0
- data/lib/aws/core/http/net_http_handler.rb +17 -26
- data/lib/aws/core/http/patch.rb +102 -0
- data/lib/aws/core/http/request.rb +13 -19
- data/lib/aws/core/http/response.rb +2 -2
- data/lib/aws/core/lazy_error_classes.rb +17 -17
- data/lib/aws/core/log_formatter.rb +70 -104
- data/lib/aws/core/options/json_serializer.rb +1 -1
- data/lib/aws/core/options/validator.rb +4 -4
- data/lib/aws/core/page_result.rb +8 -8
- data/lib/aws/core/policy.rb +49 -49
- data/lib/aws/core/region.rb +72 -0
- data/lib/aws/core/region_collection.rb +106 -0
- data/lib/aws/core/resource.rb +5 -5
- data/lib/aws/core/response.rb +20 -17
- data/lib/aws/core/rest_request_builder.rb +4 -4
- data/lib/aws/core/service_interface.rb +24 -2
- data/lib/aws/core/signature/version_3.rb +2 -2
- data/lib/aws/core/uri_escape.rb +1 -1
- data/lib/aws/core/xml/frame_stack.rb +1 -1
- data/lib/aws/core/xml/grammar.rb +3 -4
- data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
- data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
- data/lib/aws/core/xml/stub.rb +9 -9
- data/lib/aws/data_pipeline.rb +21 -21
- data/lib/aws/data_pipeline/client.rb +189 -133
- data/lib/aws/data_pipeline/config.rb +1 -1
- data/lib/aws/direct_connect.rb +74 -0
- data/lib/aws/direct_connect/client.rb +253 -0
- data/lib/aws/direct_connect/config.rb +18 -0
- data/lib/aws/direct_connect/errors.rb +22 -0
- data/lib/aws/direct_connect/request.rb +27 -0
- data/lib/aws/dynamo_db.rb +71 -69
- data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
- data/lib/aws/dynamo_db/batch_get.rb +23 -23
- data/lib/aws/dynamo_db/batch_write.rb +43 -43
- data/lib/aws/dynamo_db/binary.rb +9 -9
- data/lib/aws/dynamo_db/client.rb +494 -509
- data/lib/aws/dynamo_db/client_base.rb +91 -0
- data/lib/aws/dynamo_db/client_v2.rb +825 -0
- data/lib/aws/dynamo_db/config.rb +1 -1
- data/lib/aws/dynamo_db/item.rb +10 -10
- data/lib/aws/dynamo_db/item_collection.rb +75 -75
- data/lib/aws/dynamo_db/table.rb +85 -85
- data/lib/aws/dynamo_db/table_collection.rb +13 -13
- data/lib/aws/ec2.rb +132 -142
- data/lib/aws/ec2/attachment.rb +31 -36
- data/lib/aws/ec2/attachment_collection.rb +1 -1
- data/lib/aws/ec2/availability_zone.rb +4 -4
- data/lib/aws/ec2/client.rb +2272 -2125
- data/lib/aws/ec2/config.rb +1 -1
- data/lib/aws/ec2/customer_gateway.rb +6 -6
- data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
- data/lib/aws/ec2/dhcp_options.rb +3 -3
- data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
- data/lib/aws/ec2/elastic_ip.rb +15 -15
- data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
- data/lib/aws/ec2/export_task.rb +4 -4
- data/lib/aws/ec2/export_task_collection.rb +11 -11
- data/lib/aws/ec2/filtered_collection.rb +6 -8
- data/lib/aws/ec2/image.rb +46 -40
- data/lib/aws/ec2/image_collection.rb +44 -52
- data/lib/aws/ec2/instance.rb +64 -62
- data/lib/aws/ec2/instance_collection.rb +47 -50
- data/lib/aws/ec2/internet_gateway.rb +6 -6
- data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
- data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
- data/lib/aws/ec2/key_pair.rb +3 -3
- data/lib/aws/ec2/key_pair_collection.rb +12 -12
- data/lib/aws/ec2/network_acl.rb +39 -39
- data/lib/aws/ec2/network_acl/association.rb +2 -2
- data/lib/aws/ec2/network_acl/entry.rb +22 -22
- data/lib/aws/ec2/network_acl_collection.rb +2 -2
- data/lib/aws/ec2/network_interface.rb +13 -4
- data/lib/aws/ec2/network_interface/attachment.rb +3 -3
- data/lib/aws/ec2/network_interface_collection.rb +5 -5
- data/lib/aws/ec2/permission_collection.rb +1 -1
- data/lib/aws/ec2/region.rb +6 -6
- data/lib/aws/ec2/region_collection.rb +1 -1
- data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
- data/lib/aws/ec2/resource_tag_collection.rb +5 -5
- data/lib/aws/ec2/route_table.rb +14 -14
- data/lib/aws/ec2/route_table/association.rb +22 -22
- data/lib/aws/ec2/route_table/route.rb +8 -8
- data/lib/aws/ec2/route_table_collection.rb +3 -3
- data/lib/aws/ec2/security_group.rb +39 -41
- data/lib/aws/ec2/security_group_collection.rb +19 -21
- data/lib/aws/ec2/snapshot.rb +3 -3
- data/lib/aws/ec2/snapshot_collection.rb +11 -12
- data/lib/aws/ec2/subnet.rb +2 -2
- data/lib/aws/ec2/subnet_collection.rb +17 -17
- data/lib/aws/ec2/tag_collection.rb +1 -1
- data/lib/aws/ec2/tagged_collection.rb +7 -7
- data/lib/aws/ec2/tagged_item.rb +10 -10
- data/lib/aws/ec2/volume.rb +16 -16
- data/lib/aws/ec2/volume_collection.rb +9 -12
- data/lib/aws/ec2/vpc.rb +6 -6
- data/lib/aws/ec2/vpc_collection.rb +10 -10
- data/lib/aws/ec2/vpn_connection.rb +4 -4
- data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
- data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
- data/lib/aws/ec2/vpn_gateway.rb +2 -2
- data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
- data/lib/aws/elastic_beanstalk.rb +12 -12
- data/lib/aws/elastic_beanstalk/client.rb +376 -368
- data/lib/aws/elastic_beanstalk/config.rb +1 -1
- data/lib/aws/elastic_transcoder.rb +5 -5
- data/lib/aws/elastic_transcoder/client.rb +283 -283
- data/lib/aws/elastic_transcoder/config.rb +1 -1
- data/lib/aws/elasticache.rb +12 -12
- data/lib/aws/elasticache/client.rb +484 -479
- data/lib/aws/elasticache/config.rb +1 -1
- data/lib/aws/elb.rb +23 -23
- data/lib/aws/elb/availability_zone_collection.rb +34 -34
- data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
- data/lib/aws/elb/client.rb +153 -153
- data/lib/aws/elb/config.rb +1 -1
- data/lib/aws/elb/errors.rb +1 -1
- data/lib/aws/elb/instance_collection.rb +20 -25
- data/lib/aws/elb/listener.rb +3 -3
- data/lib/aws/elb/listener_collection.rb +8 -8
- data/lib/aws/elb/load_balancer.rb +15 -16
- data/lib/aws/elb/load_balancer_collection.rb +36 -24
- data/lib/aws/elb/load_balancer_policy.rb +1 -1
- data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
- data/lib/aws/emr.rb +28 -26
- data/lib/aws/emr/client.rb +165 -149
- data/lib/aws/emr/config.rb +1 -1
- data/lib/aws/emr/instance_group.rb +1 -1
- data/lib/aws/emr/instance_group_collection.rb +1 -1
- data/lib/aws/emr/job_flow.rb +27 -26
- data/lib/aws/emr/job_flow_collection.rb +34 -34
- data/lib/aws/errors.rb +7 -7
- data/lib/aws/glacier.rb +21 -21
- data/lib/aws/glacier/archive_collection.rb +2 -2
- data/lib/aws/glacier/client.rb +139 -140
- data/lib/aws/glacier/config.rb +1 -1
- data/lib/aws/glacier/vault.rb +2 -2
- data/lib/aws/glacier/vault_collection.rb +1 -1
- data/lib/aws/iam.rb +133 -144
- data/lib/aws/iam/access_key.rb +17 -17
- data/lib/aws/iam/access_key_collection.rb +22 -22
- data/lib/aws/iam/account_alias_collection.rb +2 -2
- data/lib/aws/iam/client.rb +429 -420
- data/lib/aws/iam/collection.rb +1 -1
- data/lib/aws/iam/config.rb +2 -2
- data/lib/aws/iam/group.rb +8 -8
- data/lib/aws/iam/group_collection.rb +16 -16
- data/lib/aws/iam/group_policy_collection.rb +6 -6
- data/lib/aws/iam/group_user_collection.rb +3 -3
- data/lib/aws/iam/mfa_device.rb +1 -1
- data/lib/aws/iam/mfa_device_collection.rb +9 -9
- data/lib/aws/iam/policy_collection.rb +4 -4
- data/lib/aws/iam/resource.rb +2 -2
- data/lib/aws/iam/server_certificate.rb +1 -1
- data/lib/aws/iam/server_certificate_collection.rb +15 -15
- data/lib/aws/iam/signing_certificate.rb +29 -29
- data/lib/aws/iam/signing_certificate_collection.rb +23 -23
- data/lib/aws/iam/user.rb +33 -38
- data/lib/aws/iam/user_collection.rb +27 -27
- data/lib/aws/iam/user_group_collection.rb +3 -3
- data/lib/aws/iam/user_policy_collection.rb +6 -6
- data/lib/aws/iam/virtual_mfa_device.rb +12 -12
- data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
- data/lib/aws/import_export.rb +22 -21
- data/lib/aws/import_export/client.rb +47 -43
- data/lib/aws/ops_works.rb +5 -5
- data/lib/aws/ops_works/client.rb +484 -438
- data/lib/aws/ops_works/config.rb +1 -1
- data/lib/aws/rails.rb +34 -34
- data/lib/aws/rds.rb +18 -18
- data/lib/aws/rds/client.rb +1286 -1277
- data/lib/aws/rds/config.rb +1 -1
- data/lib/aws/rds/db_instance.rb +15 -4
- data/lib/aws/rds/db_snapshot.rb +1 -1
- data/lib/aws/record.rb +50 -24
- data/lib/aws/record/abstract_base.rb +52 -60
- data/lib/aws/record/attributes.rb +79 -79
- data/lib/aws/record/conversion.rb +1 -1
- data/lib/aws/record/dirty_tracking.rb +69 -67
- data/lib/aws/record/errors.rb +21 -21
- data/lib/aws/record/exceptions.rb +2 -2
- data/lib/aws/record/hash_model.rb +20 -21
- data/lib/aws/record/hash_model/attributes.rb +13 -15
- data/lib/aws/record/hash_model/finder_methods.rb +46 -46
- data/lib/aws/record/hash_model/scope.rb +31 -31
- data/lib/aws/record/model.rb +136 -136
- data/lib/aws/record/model/attributes.rb +57 -59
- data/lib/aws/record/model/finder_methods.rb +67 -67
- data/lib/aws/record/model/scope.rb +48 -49
- data/lib/aws/record/naming.rb +1 -1
- data/lib/aws/record/scope.rb +23 -19
- data/lib/aws/record/validations.rb +253 -271
- data/lib/aws/record/validator.rb +3 -3
- data/lib/aws/record/validators/acceptance.rb +1 -3
- data/lib/aws/record/validators/block.rb +1 -3
- data/lib/aws/record/validators/confirmation.rb +1 -3
- data/lib/aws/record/validators/count.rb +2 -4
- data/lib/aws/record/validators/exclusion.rb +2 -4
- data/lib/aws/record/validators/format.rb +2 -4
- data/lib/aws/record/validators/inclusion.rb +1 -3
- data/lib/aws/record/validators/length.rb +5 -7
- data/lib/aws/record/validators/method.rb +1 -3
- data/lib/aws/record/validators/numericality.rb +6 -8
- data/lib/aws/record/validators/presence.rb +1 -3
- data/lib/aws/redshift.rb +14 -14
- data/lib/aws/redshift/client.rb +596 -592
- data/lib/aws/redshift/config.rb +1 -1
- data/lib/aws/route_53.rb +30 -30
- data/lib/aws/route_53/change_batch.rb +7 -7
- data/lib/aws/route_53/client.rb +188 -152
- data/lib/aws/route_53/hosted_zone.rb +4 -4
- data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
- data/lib/aws/route_53/resource_record_set.rb +10 -10
- data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
- data/lib/aws/s3.rb +79 -79
- data/lib/aws/s3/access_control_list.rb +44 -36
- data/lib/aws/s3/acl_options.rb +51 -51
- data/lib/aws/s3/bucket.rb +146 -146
- data/lib/aws/s3/bucket_collection.rb +21 -21
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
- data/lib/aws/s3/bucket_tag_collection.rb +4 -2
- data/lib/aws/s3/cipher_io.rb +5 -4
- data/lib/aws/s3/client.rb +89 -84
- data/lib/aws/s3/client/xml.rb +1 -1
- data/lib/aws/s3/config.rb +7 -1
- data/lib/aws/s3/cors_rule.rb +2 -0
- data/lib/aws/s3/cors_rule_collection.rb +42 -40
- data/lib/aws/s3/data_options.rb +16 -11
- data/lib/aws/s3/encryption_utils.rb +2 -2
- data/lib/aws/s3/errors.rb +7 -7
- data/lib/aws/s3/multipart_upload.rb +30 -33
- data/lib/aws/s3/multipart_upload_collection.rb +8 -6
- data/lib/aws/s3/object_collection.rb +35 -35
- data/lib/aws/s3/object_metadata.rb +6 -6
- data/lib/aws/s3/object_version.rb +4 -4
- data/lib/aws/s3/object_version_collection.rb +15 -15
- data/lib/aws/s3/policy.rb +2 -2
- data/lib/aws/s3/prefixed_collection.rb +9 -5
- data/lib/aws/s3/presigned_post.rb +39 -37
- data/lib/aws/s3/request.rb +11 -11
- data/lib/aws/s3/s3_object.rb +210 -200
- data/lib/aws/s3/tree.rb +25 -27
- data/lib/aws/s3/tree/child_collection.rb +3 -3
- data/lib/aws/s3/tree/leaf_node.rb +2 -2
- data/lib/aws/s3/tree/parent.rb +1 -1
- data/lib/aws/s3/website_configuration.rb +13 -13
- data/lib/aws/simple_db.rb +83 -83
- data/lib/aws/simple_db/attribute.rb +9 -7
- data/lib/aws/simple_db/attribute_collection.rb +22 -13
- data/lib/aws/simple_db/client.rb +107 -107
- data/lib/aws/simple_db/config.rb +7 -1
- data/lib/aws/simple_db/consistent_read_option.rb +5 -5
- data/lib/aws/simple_db/domain.rb +4 -2
- data/lib/aws/simple_db/domain_collection.rb +4 -4
- data/lib/aws/simple_db/domain_metadata.rb +5 -5
- data/lib/aws/simple_db/errors.rb +9 -9
- data/lib/aws/simple_db/item.rb +5 -5
- data/lib/aws/simple_db/item_collection.rb +83 -81
- data/lib/aws/simple_db/item_data.rb +4 -4
- data/lib/aws/simple_db/put_attributes.rb +3 -3
- data/lib/aws/simple_email_service.rb +140 -140
- data/lib/aws/simple_email_service/client.rb +82 -76
- data/lib/aws/simple_email_service/config.rb +1 -2
- data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
- data/lib/aws/simple_email_service/identity.rb +8 -8
- data/lib/aws/simple_email_service/quotas.rb +8 -6
- data/lib/aws/simple_workflow.rb +106 -106
- data/lib/aws/simple_workflow/activity_task.rb +15 -22
- data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
- data/lib/aws/simple_workflow/activity_type.rb +23 -23
- data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
- data/lib/aws/simple_workflow/client.rb +1004 -956
- data/lib/aws/simple_workflow/config.rb +1 -1
- data/lib/aws/simple_workflow/count.rb +5 -5
- data/lib/aws/simple_workflow/decision_task.rb +129 -129
- data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
- data/lib/aws/simple_workflow/domain.rb +11 -11
- data/lib/aws/simple_workflow/domain_collection.rb +26 -26
- data/lib/aws/simple_workflow/history_event.rb +32 -32
- data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
- data/lib/aws/simple_workflow/option_formatters.rb +5 -5
- data/lib/aws/simple_workflow/request.rb +1 -1
- data/lib/aws/simple_workflow/resource.rb +1 -1
- data/lib/aws/simple_workflow/type.rb +8 -8
- data/lib/aws/simple_workflow/type_collection.rb +15 -15
- data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
- data/lib/aws/simple_workflow/workflow_type.rb +27 -25
- data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
- data/lib/aws/sns.rb +25 -25
- data/lib/aws/sns/client.rb +55 -55
- data/lib/aws/sns/config.rb +1 -1
- data/lib/aws/sns/policy.rb +1 -1
- data/lib/aws/sns/subscription.rb +7 -7
- data/lib/aws/sns/subscription_collection.rb +5 -5
- data/lib/aws/sns/topic.rb +49 -49
- data/lib/aws/sns/topic_collection.rb +2 -2
- data/lib/aws/sns/topic_subscription_collection.rb +5 -5
- data/lib/aws/sqs.rb +20 -20
- data/lib/aws/sqs/client.rb +78 -78
- data/lib/aws/sqs/config.rb +1 -1
- data/lib/aws/sqs/errors.rb +12 -12
- data/lib/aws/sqs/queue.rb +66 -67
- data/lib/aws/sqs/queue_collection.rb +16 -8
- data/lib/aws/sqs/received_message.rb +7 -6
- data/lib/aws/storage_gateway.rb +21 -21
- data/lib/aws/storage_gateway/client.rb +269 -202
- data/lib/aws/storage_gateway/config.rb +1 -1
- data/lib/aws/sts.rb +10 -8
- data/lib/aws/sts/client.rb +35 -35
- data/lib/aws/sts/session.rb +3 -3
- data/lib/aws/version.rb +1 -2
- metadata +23 -21
- data/lib/aws/core/autoloader.rb +0 -64
- data/lib/net/http/connection_pool.rb +0 -226
- data/lib/net/http/connection_pool/connection.rb +0 -189
- data/lib/net/http/connection_pool/session.rb +0 -126
data/lib/aws/elb.rb
CHANGED
|
@@ -16,46 +16,46 @@ require 'aws/elb/config'
|
|
|
16
16
|
|
|
17
17
|
module AWS
|
|
18
18
|
|
|
19
|
-
# Provides an expressive, object-oriented interface to Elastic Load
|
|
19
|
+
# Provides an expressive, object-oriented interface to Elastic Load
|
|
20
20
|
# Balancing (ELB).
|
|
21
21
|
#
|
|
22
|
-
#
|
|
22
|
+
# ## Credentials
|
|
23
23
|
#
|
|
24
24
|
# You can setup default credentials for all AWS services via
|
|
25
25
|
# AWS.config:
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
27
|
+
# AWS.config(
|
|
28
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
29
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
30
30
|
#
|
|
31
31
|
# Or you can set them directly on the ELB interface:
|
|
32
32
|
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
33
|
+
# elb = AWS::ELB.new(
|
|
34
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
35
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
36
36
|
#
|
|
37
37
|
# @!attribute [r] client
|
|
38
38
|
# @return [Client] the low-level ELB client object
|
|
39
39
|
class ELB
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
autoload :Request, 'request'
|
|
55
|
-
end
|
|
41
|
+
autoload :AvailabilityZoneCollection, 'aws/elb/availability_zone_collection'
|
|
42
|
+
autoload :BackendServerPolicyCollection, 'aws/elb/backend_server_policy_collection'
|
|
43
|
+
autoload :Client, 'aws/elb/client'
|
|
44
|
+
autoload :Errors, 'aws/elb/errors'
|
|
45
|
+
autoload :InstanceCollection, 'aws/elb/instance_collection'
|
|
46
|
+
autoload :ListenerOpts, 'aws/elb/listener_opts'
|
|
47
|
+
autoload :Listener, 'aws/elb/listener'
|
|
48
|
+
autoload :ListenerCollection, 'aws/elb/listener_collection'
|
|
49
|
+
autoload :LoadBalancer, 'aws/elb/load_balancer'
|
|
50
|
+
autoload :LoadBalancerCollection, 'aws/elb/load_balancer_collection'
|
|
51
|
+
autoload :LoadBalancerPolicy, 'aws/elb/load_balancer_policy'
|
|
52
|
+
autoload :LoadBalancerPolicyCollection, 'aws/elb/load_balancer_policy_collection'
|
|
53
|
+
autoload :Request, 'aws/elb/request'
|
|
56
54
|
|
|
57
55
|
include Core::ServiceInterface
|
|
58
56
|
|
|
57
|
+
endpoint_prefix 'elasticloadbalancing'
|
|
58
|
+
|
|
59
59
|
# @return [LoadBalancerCollection] Returns a collection that represents
|
|
60
60
|
# all of your load balancers.
|
|
61
61
|
def load_balancers
|
|
@@ -14,29 +14,29 @@
|
|
|
14
14
|
module AWS
|
|
15
15
|
class ELB
|
|
16
16
|
|
|
17
|
-
# A collection that help maanage the availability zones for
|
|
17
|
+
# A collection that help maanage the availability zones for
|
|
18
18
|
# a load balancer.
|
|
19
19
|
#
|
|
20
|
-
#
|
|
20
|
+
# load_balancer = AWS::ELB.new.load_balancers['my-load-balancer']
|
|
21
21
|
#
|
|
22
|
-
#
|
|
22
|
+
# zones = load_balancer.availability_zones
|
|
23
23
|
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
24
|
+
# # adding zones
|
|
25
|
+
# zones.enable('us-west-2b', 'us-west-2c')
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
27
|
+
# # removing zones
|
|
28
|
+
# zones.disable('us-west-2b')
|
|
29
29
|
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
30
|
+
# # enumerating enabled zones
|
|
31
|
+
# zones.each do |zone|
|
|
32
|
+
# puts zone.name
|
|
33
|
+
# end
|
|
34
34
|
#
|
|
35
35
|
class AvailabilityZoneCollection
|
|
36
36
|
|
|
37
37
|
include Core::Collection::Simple
|
|
38
38
|
|
|
39
|
-
# @param [LoadBalancer] load_balancer The load balancer this list of
|
|
39
|
+
# @param [LoadBalancer] load_balancer The load balancer this list of
|
|
40
40
|
# availability zones belongs to.
|
|
41
41
|
def initialize load_balancer, options = {}
|
|
42
42
|
@load_balancer = load_balancer
|
|
@@ -48,24 +48,24 @@ module AWS
|
|
|
48
48
|
|
|
49
49
|
# Adds one or more EC2 Availability Zones to the load balancer.
|
|
50
50
|
#
|
|
51
|
-
#
|
|
51
|
+
# load_balancer.availability_zones.enable("us-west-2a", "us-west-2b")
|
|
52
52
|
#
|
|
53
53
|
# You can also pass {EC2::AvailabilityZone} objects:
|
|
54
54
|
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
55
|
+
# # enable all availabilty zones for this region
|
|
56
|
+
# zones = AWS::EC2.new.availability_zones.to_a
|
|
57
|
+
# load_balancer.availability_zones.enable(zones)
|
|
58
58
|
#
|
|
59
|
-
# The load balancer evenly distributes requests across all its
|
|
60
|
-
# registered availability zones that contain instances. As a result,
|
|
61
|
-
# the client must ensure that its load balancer is appropriately
|
|
59
|
+
# The load balancer evenly distributes requests across all its
|
|
60
|
+
# registered availability zones that contain instances. As a result,
|
|
61
|
+
# the client must ensure that its load balancer is appropriately
|
|
62
62
|
# scaled for each registered Availability Zone.
|
|
63
63
|
#
|
|
64
64
|
# @param [String,EC2::AvailabilityZone] availability_zones One or more
|
|
65
65
|
# availability zone names (strings) or objects {EC2::AvailabilityZone}.
|
|
66
66
|
#
|
|
67
67
|
# @return [nil]
|
|
68
|
-
#
|
|
68
|
+
#
|
|
69
69
|
def enable *availability_zones
|
|
70
70
|
|
|
71
71
|
names = availability_zones.flatten.collect do |av|
|
|
@@ -80,33 +80,33 @@ module AWS
|
|
|
80
80
|
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
-
# Removes the specified EC2 availability zones from the set of
|
|
83
|
+
# Removes the specified EC2 availability zones from the set of
|
|
84
84
|
# configured availability zones for the load balancer.
|
|
85
85
|
#
|
|
86
|
-
#
|
|
86
|
+
# load_balancer.availability_zones.disable("us-west-2a", "us-west-2b")
|
|
87
87
|
#
|
|
88
88
|
# You can also pass {EC2::AvailabilityZone} objects:
|
|
89
89
|
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
90
|
+
# # disable all availabilty zones
|
|
91
|
+
# zones = AWS::EC2.new.availability_zones.to_a
|
|
92
|
+
# load_balancer.availability_zones.disable(zones)
|
|
93
93
|
#
|
|
94
|
-
# There must be at least one availability zone registered with a
|
|
95
|
-
# load balancer at all times. A client cannot remove all the availability
|
|
96
|
-
# zones from a load balancer. Once an availability zone is removed,
|
|
97
|
-
# all the instances registered with the load balancer that are in the
|
|
98
|
-
# removed availability zone go into the out of service state.
|
|
94
|
+
# There must be at least one availability zone registered with a
|
|
95
|
+
# load balancer at all times. A client cannot remove all the availability
|
|
96
|
+
# zones from a load balancer. Once an availability zone is removed,
|
|
97
|
+
# all the instances registered with the load balancer that are in the
|
|
98
|
+
# removed availability zone go into the out of service state.
|
|
99
99
|
#
|
|
100
|
-
# Upon availability zone removal, the load balancer attempts to
|
|
101
|
-
# equally balance the traffic among its remaining usable availability
|
|
102
|
-
# zones. Trying to remove an availability zone that was not
|
|
100
|
+
# Upon availability zone removal, the load balancer attempts to
|
|
101
|
+
# equally balance the traffic among its remaining usable availability
|
|
102
|
+
# zones. Trying to remove an availability zone that was not
|
|
103
103
|
# associated with the load balancer does nothing.
|
|
104
104
|
#
|
|
105
105
|
# @param [String,EC2::AvailabilityZone] availability_zones One or more
|
|
106
106
|
# availability zone names (strings) or objects {EC2::AvailabilityZone}.
|
|
107
107
|
#
|
|
108
108
|
# @return [nil]
|
|
109
|
-
#
|
|
109
|
+
#
|
|
110
110
|
def disable *availability_zones
|
|
111
111
|
|
|
112
112
|
names = availability_zones.flatten.collect do |av|
|
|
@@ -16,7 +16,7 @@ module AWS
|
|
|
16
16
|
|
|
17
17
|
# Helps manage policies assigned to backend server instnace ports.
|
|
18
18
|
#
|
|
19
|
-
#
|
|
19
|
+
# ## Creating a Backend Server Policy
|
|
20
20
|
#
|
|
21
21
|
# Creating a backend server policy can be a bit tricky. A
|
|
22
22
|
# BackendServerAuthenticationPolicyType policy only has one
|
|
@@ -25,44 +25,44 @@ module AWS
|
|
|
25
25
|
# Before you can assign a policy to a backend server instance port you
|
|
26
26
|
# must create on of the appropriate type:
|
|
27
27
|
#
|
|
28
|
-
#
|
|
28
|
+
# # step 1, create one (or more) PublicKeyPolicyType policies
|
|
29
29
|
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
30
|
+
# public_key1 = <<-KEY
|
|
31
|
+
# -----BEGIN CERTIFICATE-----
|
|
32
|
+
# MIICaTCCAdICCQDuvCF4erLGSjANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJa
|
|
33
|
+
# ....
|
|
34
|
+
# o50MymfqtoVcebZcXbiDVAXW1cPEHKLBXecX6/LZ+GOzEsUOxgt7Xs9uabqp
|
|
35
|
+
# -----END CERTIFICATE-----
|
|
36
|
+
# KEY
|
|
37
37
|
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
38
|
+
# public_key_policy = load_balancer.policies.create("pkp",
|
|
39
|
+
# 'PublicKeyPolicyType', 'PublicKey' => public_key.strip)
|
|
40
40
|
#
|
|
41
|
-
#
|
|
41
|
+
# # step 2, create the backend server policy, passing the public key policy
|
|
42
42
|
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
43
|
+
# name = 'backend-policy'
|
|
44
|
+
# type = 'BackendServerAuthenticationPolicyType'
|
|
45
|
+
# attributes = {
|
|
46
|
+
# # note: you can pass more than one public key policy here
|
|
47
|
+
# 'PublicKeyPolicyName' => [public_key_policy]
|
|
48
|
+
# }
|
|
49
49
|
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
50
|
+
# backend_policy = @load_balancer.policies.create(name, type, attributes)
|
|
51
|
+
# 'BackendServerAuthenticationPolicyType', attributes)
|
|
52
52
|
#
|
|
53
53
|
# Once you have created a backend server authentication policy, you
|
|
54
54
|
# can assign it to a backend instance port:
|
|
55
55
|
#
|
|
56
|
-
#
|
|
56
|
+
# load_balancer.backend_server_policies[80] = backend_policy
|
|
57
57
|
#
|
|
58
58
|
# If you want to remove the policy you can pass nil instead.
|
|
59
59
|
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
60
|
+
# # removes the policy from instance port 80
|
|
61
|
+
# load_balancer.backend_server_policies[80] = nil
|
|
62
62
|
#
|
|
63
63
|
# You can also get the current policy:
|
|
64
64
|
#
|
|
65
|
-
#
|
|
65
|
+
# load_balancer.backend_server_policies[80] # returns a policy or nil
|
|
66
66
|
#
|
|
67
67
|
class BackendServerPolicyCollection
|
|
68
68
|
|
data/lib/aws/elb/client.rb
CHANGED
|
@@ -25,40 +25,40 @@ module AWS
|
|
|
25
25
|
# @!method apply_security_groups_to_load_balancer(options = {})
|
|
26
26
|
# Calls the ApplySecurityGroupsToLoadBalancer API operation.
|
|
27
27
|
# @param [Hash] options
|
|
28
|
-
# *
|
|
28
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
29
29
|
# with the LoadBalancer. The name must be unique within the client
|
|
30
30
|
# AWS account.
|
|
31
|
-
# *
|
|
31
|
+
# * `:security_groups` - *required* - (Array<String>) A list of
|
|
32
32
|
# security group IDs to associate with your LoadBalancer in VPC. The
|
|
33
33
|
# security group IDs must be provided as the ID and not the security
|
|
34
34
|
# group name (For example, sg-1234).
|
|
35
35
|
# @return [Core::Response]
|
|
36
36
|
# The #data method of the response object returns
|
|
37
37
|
# a hash with the following structure:
|
|
38
|
-
# *
|
|
38
|
+
# * `:security_groups` - (Array<String>)
|
|
39
39
|
|
|
40
40
|
# @!method attach_load_balancer_to_subnets(options = {})
|
|
41
41
|
# Calls the AttachLoadBalancerToSubnets API operation.
|
|
42
42
|
# @param [Hash] options
|
|
43
|
-
# *
|
|
43
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
44
44
|
# with the LoadBalancer. The name must be unique within the client
|
|
45
45
|
# AWS account.
|
|
46
|
-
# *
|
|
46
|
+
# * `:subnets` - *required* - (Array<String>) A list of subnet IDs to
|
|
47
47
|
# add for the LoadBalancer.
|
|
48
48
|
# @return [Core::Response]
|
|
49
49
|
# The #data method of the response object returns
|
|
50
50
|
# a hash with the following structure:
|
|
51
|
-
# *
|
|
51
|
+
# * `:subnets` - (Array<String>)
|
|
52
52
|
|
|
53
53
|
# @!method configure_health_check(options = {})
|
|
54
54
|
# Calls the ConfigureHealthCheck API operation.
|
|
55
55
|
# @param [Hash] options
|
|
56
|
-
# *
|
|
56
|
+
# * `:load_balancer_name` - *required* - (String) The mnemonic name
|
|
57
57
|
# associated with the LoadBalancer. This name must be unique within
|
|
58
58
|
# the client AWS account.
|
|
59
|
-
# *
|
|
59
|
+
# * `:health_check` - *required* - (Hash) A structure containing the
|
|
60
60
|
# configuration information for the new healthcheck.
|
|
61
|
-
# *
|
|
61
|
+
# * `:target` - *required* - (String) Specifies the instance being
|
|
62
62
|
# checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The
|
|
63
63
|
# range of valid ports is one (1) through 65535. TCP is the
|
|
64
64
|
# default, specified as a TCP: port pair, for example "TCP:5000".
|
|
@@ -74,51 +74,51 @@ module AWS
|
|
|
74
74
|
# other than "200 OK" within the timeout period is considered
|
|
75
75
|
# unhealthy. The total length of the HTTP ping target needs to be
|
|
76
76
|
# 1024 16-bit Unicode characters or less.
|
|
77
|
-
# *
|
|
77
|
+
# * `:interval` - *required* - (Integer) Specifies the approximate
|
|
78
78
|
# interval, in seconds, between health checks of an individual
|
|
79
79
|
# instance.
|
|
80
|
-
# *
|
|
80
|
+
# * `:timeout` - *required* - (Integer) Specifies the amount of time,
|
|
81
81
|
# in seconds, during which no response means a failed health probe.
|
|
82
82
|
# This value must be less than the Interval value.
|
|
83
|
-
# *
|
|
83
|
+
# * `:unhealthy_threshold` - *required* - (Integer) Specifies the
|
|
84
84
|
# number of consecutive health probe failures required before
|
|
85
85
|
# moving the instance to the Unhealthy state.
|
|
86
|
-
# *
|
|
86
|
+
# * `:healthy_threshold` - *required* - (Integer) Specifies the
|
|
87
87
|
# number of consecutive health probe successes required before
|
|
88
88
|
# moving the instance to the Healthy state.
|
|
89
89
|
# @return [Core::Response]
|
|
90
90
|
# The #data method of the response object returns
|
|
91
91
|
# a hash with the following structure:
|
|
92
|
-
# *
|
|
93
|
-
# *
|
|
94
|
-
# *
|
|
95
|
-
# *
|
|
96
|
-
# *
|
|
97
|
-
# *
|
|
92
|
+
# * `:health_check` - (Hash)
|
|
93
|
+
# * `:target` - (String)
|
|
94
|
+
# * `:interval` - (Integer)
|
|
95
|
+
# * `:timeout` - (Integer)
|
|
96
|
+
# * `:unhealthy_threshold` - (Integer)
|
|
97
|
+
# * `:healthy_threshold` - (Integer)
|
|
98
98
|
|
|
99
99
|
# @!method create_app_cookie_stickiness_policy(options = {})
|
|
100
100
|
# Calls the CreateAppCookieStickinessPolicy API operation.
|
|
101
101
|
# @param [Hash] options
|
|
102
|
-
# *
|
|
102
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
103
103
|
# with the LoadBalancer. The name must be unique within the client
|
|
104
104
|
# AWS account.
|
|
105
|
-
# *
|
|
105
|
+
# * `:policy_name` - *required* - (String) The name of the policy being
|
|
106
106
|
# created. The name must be unique within the set of policies for
|
|
107
107
|
# this LoadBalancer.
|
|
108
|
-
# *
|
|
108
|
+
# * `:cookie_name` - *required* - (String) Name of the application
|
|
109
109
|
# cookie used for stickiness.
|
|
110
110
|
# @return [Core::Response]
|
|
111
111
|
|
|
112
112
|
# @!method create_lb_cookie_stickiness_policy(options = {})
|
|
113
113
|
# Calls the CreateLBCookieStickinessPolicy API operation.
|
|
114
114
|
# @param [Hash] options
|
|
115
|
-
# *
|
|
115
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
116
116
|
# with the LoadBalancer. The name must be unique within the client
|
|
117
117
|
# AWS account.
|
|
118
|
-
# *
|
|
118
|
+
# * `:policy_name` - *required* - (String) The name of the policy being
|
|
119
119
|
# created. The name must be unique within the set of policies for
|
|
120
120
|
# this LoadBalancer.
|
|
121
|
-
# *
|
|
121
|
+
# * `:cookie_expiration_period` - (Integer) The time period in seconds
|
|
122
122
|
# after which the cookie should be considered stale. Not specifying
|
|
123
123
|
# this parameter indicates that the sticky session will last for the
|
|
124
124
|
# duration of the browser session.
|
|
@@ -127,19 +127,19 @@ module AWS
|
|
|
127
127
|
# @!method create_load_balancer(options = {})
|
|
128
128
|
# Calls the CreateLoadBalancer API operation.
|
|
129
129
|
# @param [Hash] options
|
|
130
|
-
# *
|
|
130
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
131
131
|
# with the LoadBalancer. The name must be unique within your set of
|
|
132
132
|
# LoadBalancers.
|
|
133
|
-
# *
|
|
133
|
+
# * `:listeners` - *required* - (Array<Hash>) A list of the following
|
|
134
134
|
# tuples: LoadBalancerPort, InstancePort, and Protocol.
|
|
135
|
-
# *
|
|
135
|
+
# * `:protocol` - *required* - (String) Specifies the LoadBalancer
|
|
136
136
|
# transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
|
|
137
137
|
# This property cannot be modified for the life of the
|
|
138
138
|
# LoadBalancer.
|
|
139
|
-
# *
|
|
139
|
+
# * `:load_balancer_port` - *required* - (Integer) Specifies the
|
|
140
140
|
# external LoadBalancer port number. This property cannot be
|
|
141
141
|
# modified for the life of the LoadBalancer.
|
|
142
|
-
# *
|
|
142
|
+
# * `:instance_protocol` - (String) Specifies the protocol to use for
|
|
143
143
|
# routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
|
|
144
144
|
# This property cannot be modified for the life of the
|
|
145
145
|
# LoadBalancer. If the front-end protocol is HTTP or HTTPS,
|
|
@@ -151,22 +151,22 @@ module AWS
|
|
|
151
151
|
# to be secure, i.e., HTTPS or SSL. If there is another listener
|
|
152
152
|
# with the same InstancePort whose InstanceProtocol is HTTP or TCP,
|
|
153
153
|
# the listener's InstanceProtocol must be either HTTP or TCP.
|
|
154
|
-
# *
|
|
154
|
+
# * `:instance_port` - *required* - (Integer) Specifies the TCP port
|
|
155
155
|
# on which the instance server is listening. This property cannot
|
|
156
156
|
# be modified for the life of the LoadBalancer.
|
|
157
|
-
# *
|
|
157
|
+
# * `:ssl_certificate_id` - (String) The ARN string of the server
|
|
158
158
|
# certificate. To get the ARN of the server certificate, call the
|
|
159
159
|
# AWS Identity and Access Management UploadServerCertificate API.
|
|
160
|
-
# *
|
|
160
|
+
# * `:availability_zones` - (Array<String>) A list of Availability
|
|
161
161
|
# Zones. At least one Availability Zone must be specified. Specified
|
|
162
162
|
# Availability Zones must be in the same EC2 Region as the
|
|
163
163
|
# LoadBalancer. Traffic will be equally distributed across all zones.
|
|
164
164
|
# This list can be modified after the creation of the LoadBalancer.
|
|
165
|
-
# *
|
|
165
|
+
# * `:subnets` - (Array<String>) A list of subnet IDs in your VPC to
|
|
166
166
|
# attach to your LoadBalancer.
|
|
167
|
-
# *
|
|
167
|
+
# * `:security_groups` - (Array<String>) The security groups assigned
|
|
168
168
|
# to your LoadBalancer within your VPC.
|
|
169
|
-
# *
|
|
169
|
+
# * `:scheme` - (String) The type of a LoadBalancer. This option is
|
|
170
170
|
# only available for LoadBalancers attached to a Amazon VPC. By
|
|
171
171
|
# default, Elastic Load Balancer creates an internet-facing load
|
|
172
172
|
# balancer with publicly resolvable DNS name that resolves to public
|
|
@@ -176,24 +176,24 @@ module AWS
|
|
|
176
176
|
# @return [Core::Response]
|
|
177
177
|
# The #data method of the response object returns
|
|
178
178
|
# a hash with the following structure:
|
|
179
|
-
# *
|
|
179
|
+
# * `:dns_name` - (String)
|
|
180
180
|
|
|
181
181
|
# @!method create_load_balancer_listeners(options = {})
|
|
182
182
|
# Calls the CreateLoadBalancerListeners API operation.
|
|
183
183
|
# @param [Hash] options
|
|
184
|
-
# *
|
|
184
|
+
# * `:load_balancer_name` - *required* - (String) The name of the new
|
|
185
185
|
# LoadBalancer. The name must be unique within your AWS account.
|
|
186
|
-
# *
|
|
186
|
+
# * `:listeners` - *required* - (Array<Hash>) A list of
|
|
187
187
|
# LoadBalancerPort, InstancePort, Protocol, and SSLCertificateId
|
|
188
188
|
# items.
|
|
189
|
-
# *
|
|
189
|
+
# * `:protocol` - *required* - (String) Specifies the LoadBalancer
|
|
190
190
|
# transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
|
|
191
191
|
# This property cannot be modified for the life of the
|
|
192
192
|
# LoadBalancer.
|
|
193
|
-
# *
|
|
193
|
+
# * `:load_balancer_port` - *required* - (Integer) Specifies the
|
|
194
194
|
# external LoadBalancer port number. This property cannot be
|
|
195
195
|
# modified for the life of the LoadBalancer.
|
|
196
|
-
# *
|
|
196
|
+
# * `:instance_protocol` - (String) Specifies the protocol to use for
|
|
197
197
|
# routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
|
|
198
198
|
# This property cannot be modified for the life of the
|
|
199
199
|
# LoadBalancer. If the front-end protocol is HTTP or HTTPS,
|
|
@@ -205,10 +205,10 @@ module AWS
|
|
|
205
205
|
# to be secure, i.e., HTTPS or SSL. If there is another listener
|
|
206
206
|
# with the same InstancePort whose InstanceProtocol is HTTP or TCP,
|
|
207
207
|
# the listener's InstanceProtocol must be either HTTP or TCP.
|
|
208
|
-
# *
|
|
208
|
+
# * `:instance_port` - *required* - (Integer) Specifies the TCP port
|
|
209
209
|
# on which the instance server is listening. This property cannot
|
|
210
210
|
# be modified for the life of the LoadBalancer.
|
|
211
|
-
# *
|
|
211
|
+
# * `:ssl_certificate_id` - (String) The ARN string of the server
|
|
212
212
|
# certificate. To get the ARN of the server certificate, call the
|
|
213
213
|
# AWS Identity and Access Management UploadServerCertificate API.
|
|
214
214
|
# @return [Core::Response]
|
|
@@ -216,27 +216,27 @@ module AWS
|
|
|
216
216
|
# @!method create_load_balancer_policy(options = {})
|
|
217
217
|
# Calls the CreateLoadBalancerPolicy API operation.
|
|
218
218
|
# @param [Hash] options
|
|
219
|
-
# *
|
|
219
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
220
220
|
# with the LoadBalancer for which the policy is being created. This
|
|
221
221
|
# name must be unique within the client AWS account.
|
|
222
|
-
# *
|
|
222
|
+
# * `:policy_name` - *required* - (String) The name of the LoadBalancer
|
|
223
223
|
# policy being created. The name must be unique within the set of
|
|
224
224
|
# policies for this LoadBalancer.
|
|
225
|
-
# *
|
|
225
|
+
# * `:policy_type_name` - *required* - (String) The name of the base
|
|
226
226
|
# policy type being used to create this policy. To get the list of
|
|
227
227
|
# policy types, use the DescribeLoadBalancerPolicyTypes action.
|
|
228
|
-
# *
|
|
228
|
+
# * `:policy_attributes` - (Array<Hash>) A list of attributes
|
|
229
229
|
# associated with the policy being created.
|
|
230
|
-
# *
|
|
230
|
+
# * `:attribute_name` - (String) The name of the attribute associated
|
|
231
231
|
# with the policy.
|
|
232
|
-
# *
|
|
232
|
+
# * `:attribute_value` - (String) The value of the attribute
|
|
233
233
|
# associated with the policy.
|
|
234
234
|
# @return [Core::Response]
|
|
235
235
|
|
|
236
236
|
# @!method delete_load_balancer(options = {})
|
|
237
237
|
# Calls the DeleteLoadBalancer API operation.
|
|
238
238
|
# @param [Hash] options
|
|
239
|
-
# *
|
|
239
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
240
240
|
# with the LoadBalancer. The name must be unique within the client
|
|
241
241
|
# AWS account.
|
|
242
242
|
# @return [Core::Response]
|
|
@@ -244,166 +244,166 @@ module AWS
|
|
|
244
244
|
# @!method delete_load_balancer_listeners(options = {})
|
|
245
245
|
# Calls the DeleteLoadBalancerListeners API operation.
|
|
246
246
|
# @param [Hash] options
|
|
247
|
-
# *
|
|
247
|
+
# * `:load_balancer_name` - *required* - (String) The mnemonic name
|
|
248
248
|
# associated with the LoadBalancer.
|
|
249
|
-
# *
|
|
249
|
+
# * `:load_balancer_ports` - *required* - (Array<Integer>) The client
|
|
250
250
|
# port number(s) of the LoadBalancerListener(s) to be removed.
|
|
251
251
|
# @return [Core::Response]
|
|
252
252
|
|
|
253
253
|
# @!method delete_load_balancer_policy(options = {})
|
|
254
254
|
# Calls the DeleteLoadBalancerPolicy API operation.
|
|
255
255
|
# @param [Hash] options
|
|
256
|
-
# *
|
|
256
|
+
# * `:load_balancer_name` - *required* - (String) The mnemonic name
|
|
257
257
|
# associated with the LoadBalancer. The name must be unique within
|
|
258
258
|
# your AWS account.
|
|
259
|
-
# *
|
|
259
|
+
# * `:policy_name` - *required* - (String) The mnemonic name for the
|
|
260
260
|
# policy being deleted.
|
|
261
261
|
# @return [Core::Response]
|
|
262
262
|
|
|
263
263
|
# @!method deregister_instances_from_load_balancer(options = {})
|
|
264
264
|
# Calls the DeregisterInstancesFromLoadBalancer API operation.
|
|
265
265
|
# @param [Hash] options
|
|
266
|
-
# *
|
|
266
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
267
267
|
# with the LoadBalancer. The name must be unique within the client
|
|
268
268
|
# AWS account.
|
|
269
|
-
# *
|
|
269
|
+
# * `:instances` - *required* - (Array<Hash>) A list of EC2 instance
|
|
270
270
|
# IDs consisting of all instances to be deregistered.
|
|
271
|
-
# *
|
|
271
|
+
# * `:instance_id` - (String) Provides an EC2 instance ID.
|
|
272
272
|
# @return [Core::Response]
|
|
273
273
|
# The #data method of the response object returns
|
|
274
274
|
# a hash with the following structure:
|
|
275
|
-
# *
|
|
276
|
-
# *
|
|
275
|
+
# * `:instances` - (Array<Hash>)
|
|
276
|
+
# * `:instance_id` - (String)
|
|
277
277
|
|
|
278
278
|
# @!method describe_instance_health(options = {})
|
|
279
279
|
# Calls the DescribeInstanceHealth API operation.
|
|
280
280
|
# @param [Hash] options
|
|
281
|
-
# *
|
|
281
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
282
282
|
# with the LoadBalancer. The name must be unique within the client
|
|
283
283
|
# AWS account.
|
|
284
|
-
# *
|
|
284
|
+
# * `:instances` - (Array<Hash>) A list of instance IDs whose states
|
|
285
285
|
# are being queried.
|
|
286
|
-
# *
|
|
286
|
+
# * `:instance_id` - (String) Provides an EC2 instance ID.
|
|
287
287
|
# @return [Core::Response]
|
|
288
288
|
# The #data method of the response object returns
|
|
289
289
|
# a hash with the following structure:
|
|
290
|
-
# *
|
|
291
|
-
# *
|
|
292
|
-
# *
|
|
293
|
-
# *
|
|
294
|
-
# *
|
|
290
|
+
# * `:instance_states` - (Array<Hash>)
|
|
291
|
+
# * `:instance_id` - (String)
|
|
292
|
+
# * `:state` - (String)
|
|
293
|
+
# * `:reason_code` - (String)
|
|
294
|
+
# * `:description` - (String)
|
|
295
295
|
|
|
296
296
|
# @!method describe_load_balancer_policies(options = {})
|
|
297
297
|
# Calls the DescribeLoadBalancerPolicies API operation.
|
|
298
298
|
# @param [Hash] options
|
|
299
|
-
# *
|
|
299
|
+
# * `:load_balancer_name` - (String) The mnemonic name associated with
|
|
300
300
|
# the LoadBalancer. If no name is specified, the operation returns
|
|
301
301
|
# the attributes of either all the sample policies pre-defined by
|
|
302
302
|
# Elastic Load Balancing or the specified sample polices.
|
|
303
|
-
# *
|
|
303
|
+
# * `:policy_names` - (Array<String>) The names of LoadBalancer
|
|
304
304
|
# policies you've created or Elastic Load Balancing sample policy
|
|
305
305
|
# names.
|
|
306
306
|
# @return [Core::Response]
|
|
307
307
|
# The #data method of the response object returns
|
|
308
308
|
# a hash with the following structure:
|
|
309
|
-
# *
|
|
310
|
-
# *
|
|
311
|
-
# *
|
|
312
|
-
# *
|
|
313
|
-
# *
|
|
314
|
-
# *
|
|
309
|
+
# * `:policy_descriptions` - (Array<Hash>)
|
|
310
|
+
# * `:policy_name` - (String)
|
|
311
|
+
# * `:policy_type_name` - (String)
|
|
312
|
+
# * `:policy_attribute_descriptions` - (Array<Hash>)
|
|
313
|
+
# * `:attribute_name` - (String)
|
|
314
|
+
# * `:attribute_value` - (String)
|
|
315
315
|
|
|
316
316
|
# @!method describe_load_balancer_policy_types(options = {})
|
|
317
317
|
# Calls the DescribeLoadBalancerPolicyTypes API operation.
|
|
318
318
|
# @param [Hash] options
|
|
319
|
-
# *
|
|
319
|
+
# * `:policy_type_names` - (Array<String>) Specifies the name of the
|
|
320
320
|
# policy types. If no names are specified, returns the description of
|
|
321
321
|
# all the policy types defined by Elastic Load Balancing service.
|
|
322
322
|
# @return [Core::Response]
|
|
323
323
|
# The #data method of the response object returns
|
|
324
324
|
# a hash with the following structure:
|
|
325
|
-
# *
|
|
326
|
-
# *
|
|
327
|
-
# *
|
|
328
|
-
# *
|
|
329
|
-
# *
|
|
330
|
-
# *
|
|
331
|
-
# *
|
|
332
|
-
# *
|
|
333
|
-
# *
|
|
325
|
+
# * `:policy_type_descriptions` - (Array<Hash>)
|
|
326
|
+
# * `:policy_type_name` - (String)
|
|
327
|
+
# * `:description` - (String)
|
|
328
|
+
# * `:policy_attribute_type_descriptions` - (Array<Hash>)
|
|
329
|
+
# * `:attribute_name` - (String)
|
|
330
|
+
# * `:attribute_type` - (String)
|
|
331
|
+
# * `:description` - (String)
|
|
332
|
+
# * `:default_value` - (String)
|
|
333
|
+
# * `:cardinality` - (String)
|
|
334
334
|
|
|
335
335
|
# @!method describe_load_balancers(options = {})
|
|
336
336
|
# Calls the DescribeLoadBalancers API operation.
|
|
337
337
|
# @param [Hash] options
|
|
338
|
-
# *
|
|
338
|
+
# * `:load_balancer_names` - (Array<String>) A list of names associated
|
|
339
339
|
# with the LoadBalancers at creation time.
|
|
340
|
-
# *
|
|
340
|
+
# * `:marker` - (String) An optional parameter reserved for future use.
|
|
341
341
|
# @return [Core::Response]
|
|
342
342
|
# The #data method of the response object returns
|
|
343
343
|
# a hash with the following structure:
|
|
344
|
-
# *
|
|
345
|
-
# *
|
|
346
|
-
# *
|
|
347
|
-
# *
|
|
348
|
-
# *
|
|
349
|
-
# *
|
|
350
|
-
# *
|
|
351
|
-
# *
|
|
352
|
-
# *
|
|
353
|
-
# *
|
|
354
|
-
# *
|
|
355
|
-
# *
|
|
356
|
-
# *
|
|
357
|
-
# *
|
|
358
|
-
# *
|
|
359
|
-
# *
|
|
360
|
-
# *
|
|
361
|
-
# *
|
|
362
|
-
# *
|
|
363
|
-
# *
|
|
364
|
-
# *
|
|
365
|
-
# *
|
|
366
|
-
# *
|
|
367
|
-
# *
|
|
368
|
-
# *
|
|
369
|
-
# *
|
|
370
|
-
# *
|
|
371
|
-
# *
|
|
372
|
-
# *
|
|
373
|
-
# *
|
|
374
|
-
# *
|
|
375
|
-
# *
|
|
376
|
-
# *
|
|
377
|
-
# *
|
|
378
|
-
# *
|
|
379
|
-
# *
|
|
380
|
-
# *
|
|
381
|
-
# *
|
|
382
|
-
# *
|
|
383
|
-
# *
|
|
384
|
-
# *
|
|
385
|
-
# *
|
|
344
|
+
# * `:load_balancer_descriptions` - (Array<Hash>)
|
|
345
|
+
# * `:load_balancer_name` - (String)
|
|
346
|
+
# * `:dns_name` - (String)
|
|
347
|
+
# * `:canonical_hosted_zone_name` - (String)
|
|
348
|
+
# * `:canonical_hosted_zone_name_id` - (String)
|
|
349
|
+
# * `:listener_descriptions` - (Array<Hash>)
|
|
350
|
+
# * `:listener` - (Hash)
|
|
351
|
+
# * `:protocol` - (String)
|
|
352
|
+
# * `:load_balancer_port` - (Integer)
|
|
353
|
+
# * `:instance_protocol` - (String)
|
|
354
|
+
# * `:instance_port` - (Integer)
|
|
355
|
+
# * `:ssl_certificate_id` - (String)
|
|
356
|
+
# * `:policy_names` - (Array<String>)
|
|
357
|
+
# * `:policies` - (Hash)
|
|
358
|
+
# * `:app_cookie_stickiness_policies` - (Array<Hash>)
|
|
359
|
+
# * `:policy_name` - (String)
|
|
360
|
+
# * `:cookie_name` - (String)
|
|
361
|
+
# * `:lb_cookie_stickiness_policies` - (Array<Hash>)
|
|
362
|
+
# * `:policy_name` - (String)
|
|
363
|
+
# * `:cookie_expiration_period` - (Integer)
|
|
364
|
+
# * `:other_policies` - (Array<String>)
|
|
365
|
+
# * `:backend_server_descriptions` - (Array<Hash>)
|
|
366
|
+
# * `:instance_port` - (Integer)
|
|
367
|
+
# * `:policy_names` - (Array<String>)
|
|
368
|
+
# * `:availability_zones` - (Array<String>)
|
|
369
|
+
# * `:subnets` - (Array<String>)
|
|
370
|
+
# * `:vpc_id` - (String)
|
|
371
|
+
# * `:instances` - (Array<Hash>)
|
|
372
|
+
# * `:instance_id` - (String)
|
|
373
|
+
# * `:health_check` - (Hash)
|
|
374
|
+
# * `:target` - (String)
|
|
375
|
+
# * `:interval` - (Integer)
|
|
376
|
+
# * `:timeout` - (Integer)
|
|
377
|
+
# * `:unhealthy_threshold` - (Integer)
|
|
378
|
+
# * `:healthy_threshold` - (Integer)
|
|
379
|
+
# * `:source_security_group` - (Hash)
|
|
380
|
+
# * `:owner_alias` - (String)
|
|
381
|
+
# * `:group_name` - (String)
|
|
382
|
+
# * `:security_groups` - (Array<String>)
|
|
383
|
+
# * `:created_time` - (Time)
|
|
384
|
+
# * `:scheme` - (String)
|
|
385
|
+
# * `:next_marker` - (String)
|
|
386
386
|
|
|
387
387
|
# @!method detach_load_balancer_from_subnets(options = {})
|
|
388
388
|
# Calls the DetachLoadBalancerFromSubnets API operation.
|
|
389
389
|
# @param [Hash] options
|
|
390
|
-
# *
|
|
390
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
391
391
|
# with the LoadBalancer to be detached. The name must be unique
|
|
392
392
|
# within the client AWS account.
|
|
393
|
-
# *
|
|
393
|
+
# * `:subnets` - *required* - (Array<String>) A list of subnet IDs to
|
|
394
394
|
# remove from the set of configured subnets for the LoadBalancer.
|
|
395
395
|
# @return [Core::Response]
|
|
396
396
|
# The #data method of the response object returns
|
|
397
397
|
# a hash with the following structure:
|
|
398
|
-
# *
|
|
398
|
+
# * `:subnets` - (Array<String>)
|
|
399
399
|
|
|
400
400
|
# @!method disable_availability_zones_for_load_balancer(options = {})
|
|
401
401
|
# Calls the DisableAvailabilityZonesForLoadBalancer API operation.
|
|
402
402
|
# @param [Hash] options
|
|
403
|
-
# *
|
|
403
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
404
404
|
# with the LoadBalancer. The name must be unique within the client
|
|
405
405
|
# AWS account.
|
|
406
|
-
# *
|
|
406
|
+
# * `:availability_zones` - *required* - (Array<String>) A list of
|
|
407
407
|
# Availability Zones to be removed from the LoadBalancer. There must
|
|
408
408
|
# be at least one Availability Zone registered with a LoadBalancer at
|
|
409
409
|
# all times. The client cannot remove all the Availability Zones from
|
|
@@ -412,29 +412,29 @@ module AWS
|
|
|
412
412
|
# @return [Core::Response]
|
|
413
413
|
# The #data method of the response object returns
|
|
414
414
|
# a hash with the following structure:
|
|
415
|
-
# *
|
|
415
|
+
# * `:availability_zones` - (Array<String>)
|
|
416
416
|
|
|
417
417
|
# @!method enable_availability_zones_for_load_balancer(options = {})
|
|
418
418
|
# Calls the EnableAvailabilityZonesForLoadBalancer API operation.
|
|
419
419
|
# @param [Hash] options
|
|
420
|
-
# *
|
|
420
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
421
421
|
# with the LoadBalancer. The name must be unique within the client
|
|
422
422
|
# AWS account.
|
|
423
|
-
# *
|
|
423
|
+
# * `:availability_zones` - *required* - (Array<String>) A list of new
|
|
424
424
|
# Availability Zones for the LoadBalancer. Each Availability Zone
|
|
425
425
|
# must be in the same Region as the LoadBalancer.
|
|
426
426
|
# @return [Core::Response]
|
|
427
427
|
# The #data method of the response object returns
|
|
428
428
|
# a hash with the following structure:
|
|
429
|
-
# *
|
|
429
|
+
# * `:availability_zones` - (Array<String>)
|
|
430
430
|
|
|
431
431
|
# @!method register_instances_with_load_balancer(options = {})
|
|
432
432
|
# Calls the RegisterInstancesWithLoadBalancer API operation.
|
|
433
433
|
# @param [Hash] options
|
|
434
|
-
# *
|
|
434
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
435
435
|
# with the LoadBalancer. The name must be unique within the client
|
|
436
436
|
# AWS account.
|
|
437
|
-
# *
|
|
437
|
+
# * `:instances` - *required* - (Array<Hash>) A list of instance IDs
|
|
438
438
|
# that should be registered with the LoadBalancer. When the instance
|
|
439
439
|
# is stopped and then restarted, the IP addresses associated with
|
|
440
440
|
# your instance changes. Elastic Load Balancing cannot recognize the
|
|
@@ -444,21 +444,21 @@ module AWS
|
|
|
444
444
|
# then register the load balancer with your instance after you've
|
|
445
445
|
# restarted. To de-register your instances from load balancer, use
|
|
446
446
|
# DeregisterInstancesFromLoadBalancer action.
|
|
447
|
-
# *
|
|
447
|
+
# * `:instance_id` - (String) Provides an EC2 instance ID.
|
|
448
448
|
# @return [Core::Response]
|
|
449
449
|
# The #data method of the response object returns
|
|
450
450
|
# a hash with the following structure:
|
|
451
|
-
# *
|
|
452
|
-
# *
|
|
451
|
+
# * `:instances` - (Array<Hash>)
|
|
452
|
+
# * `:instance_id` - (String)
|
|
453
453
|
|
|
454
454
|
# @!method set_load_balancer_listener_ssl_certificate(options = {})
|
|
455
455
|
# Calls the SetLoadBalancerListenerSSLCertificate API operation.
|
|
456
456
|
# @param [Hash] options
|
|
457
|
-
# *
|
|
457
|
+
# * `:load_balancer_name` - *required* - (String) The name of the the
|
|
458
458
|
# LoadBalancer.
|
|
459
|
-
# *
|
|
459
|
+
# * `:load_balancer_port` - *required* - (Integer) The port that uses
|
|
460
460
|
# the specified SSL certificate.
|
|
461
|
-
# *
|
|
461
|
+
# * `:ssl_certificate_id` - *required* - (String) The ID of the SSL
|
|
462
462
|
# certificate chain to use. For more information on SSL certificates,
|
|
463
463
|
# see Managing Server Certificates in the AWS Identity and Access
|
|
464
464
|
# Management documentation.
|
|
@@ -467,12 +467,12 @@ module AWS
|
|
|
467
467
|
# @!method set_load_balancer_policies_for_backend_server(options = {})
|
|
468
468
|
# Calls the SetLoadBalancerPoliciesForBackendServer API operation.
|
|
469
469
|
# @param [Hash] options
|
|
470
|
-
# *
|
|
470
|
+
# * `:load_balancer_name` - *required* - (String) The mnemonic name
|
|
471
471
|
# associated with the LoadBalancer. This name must be unique within
|
|
472
472
|
# the client AWS account.
|
|
473
|
-
# *
|
|
473
|
+
# * `:instance_port` - *required* - (Integer) The port number
|
|
474
474
|
# associated with the back-end server.
|
|
475
|
-
# *
|
|
475
|
+
# * `:policy_names` - *required* - (Array<String>) List of policy names
|
|
476
476
|
# to be set. If the list is empty, then all current polices are
|
|
477
477
|
# removed from the back-end server.
|
|
478
478
|
# @return [Core::Response]
|
|
@@ -480,12 +480,12 @@ module AWS
|
|
|
480
480
|
# @!method set_load_balancer_policies_of_listener(options = {})
|
|
481
481
|
# Calls the SetLoadBalancerPoliciesOfListener API operation.
|
|
482
482
|
# @param [Hash] options
|
|
483
|
-
# *
|
|
483
|
+
# * `:load_balancer_name` - *required* - (String) The name associated
|
|
484
484
|
# with the LoadBalancer. The name must be unique within the client
|
|
485
485
|
# AWS account.
|
|
486
|
-
# *
|
|
486
|
+
# * `:load_balancer_port` - *required* - (Integer) The external port of
|
|
487
487
|
# the LoadBalancer with which this policy applies to.
|
|
488
|
-
# *
|
|
488
|
+
# * `:policy_names` - *required* - (Array<String>) List of policies to
|
|
489
489
|
# be associated with the listener. Currently this list can have at
|
|
490
490
|
# most one policy. If the list is empty, the current policy is
|
|
491
491
|
# removed from the listener.
|