aws-sdk-euca 1.8.5
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.
- data/.yardopts +5 -0
- data/LICENSE.txt +12 -0
- data/README.rdoc +189 -0
- data/ca-bundle.crt +3895 -0
- data/lib/aws-sdk-euca.rb +79 -0
- data/lib/aws-sdk.rb +79 -0
- data/lib/aws.rb +14 -0
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
- data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
- data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
- data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
- data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
- data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
- data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
- data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
- data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
- data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
- data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
- data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
- data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
- data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
- data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
- data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
- data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
- data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
- data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
- data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
- data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
- data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
- data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
- data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
- data/lib/aws/auto_scaling.rb +164 -0
- data/lib/aws/auto_scaling/activity.rb +102 -0
- data/lib/aws/auto_scaling/activity_collection.rb +82 -0
- data/lib/aws/auto_scaling/client.rb +521 -0
- data/lib/aws/auto_scaling/config.rb +18 -0
- data/lib/aws/auto_scaling/errors.rb +22 -0
- data/lib/aws/auto_scaling/group.rb +420 -0
- data/lib/aws/auto_scaling/group_collection.rb +96 -0
- data/lib/aws/auto_scaling/group_options.rb +146 -0
- data/lib/aws/auto_scaling/instance.rb +192 -0
- data/lib/aws/auto_scaling/instance_collection.rb +63 -0
- data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
- data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
- data/lib/aws/auto_scaling/request.rb +29 -0
- data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
- data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
- data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
- data/lib/aws/auto_scaling/tag.rb +59 -0
- data/lib/aws/auto_scaling/tag_collection.rb +112 -0
- data/lib/aws/cloud_formation.rb +272 -0
- data/lib/aws/cloud_formation/client.rb +369 -0
- data/lib/aws/cloud_formation/config.rb +18 -0
- data/lib/aws/cloud_formation/errors.rb +22 -0
- data/lib/aws/cloud_formation/request.rb +29 -0
- data/lib/aws/cloud_formation/stack.rb +255 -0
- data/lib/aws/cloud_formation/stack_collection.rb +209 -0
- data/lib/aws/cloud_formation/stack_event.rb +75 -0
- data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
- data/lib/aws/cloud_formation/stack_options.rb +72 -0
- data/lib/aws/cloud_formation/stack_output.rb +53 -0
- data/lib/aws/cloud_formation/stack_resource.rb +117 -0
- data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
- data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
- data/lib/aws/cloud_front.rb +73 -0
- data/lib/aws/cloud_front/client.rb +1307 -0
- data/lib/aws/cloud_front/config.rb +18 -0
- data/lib/aws/cloud_front/errors.rb +22 -0
- data/lib/aws/cloud_front/request.rb +44 -0
- data/lib/aws/cloud_search.rb +74 -0
- data/lib/aws/cloud_search/client.rb +558 -0
- data/lib/aws/cloud_search/config.rb +18 -0
- data/lib/aws/cloud_search/errors.rb +22 -0
- data/lib/aws/cloud_search/request.rb +23 -0
- data/lib/aws/cloud_watch.rb +119 -0
- data/lib/aws/cloud_watch/alarm.rb +272 -0
- data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
- data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
- data/lib/aws/cloud_watch/client.rb +247 -0
- data/lib/aws/cloud_watch/config.rb +18 -0
- data/lib/aws/cloud_watch/errors.rb +22 -0
- data/lib/aws/cloud_watch/metric.rb +135 -0
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
- data/lib/aws/cloud_watch/metric_collection.rb +131 -0
- data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
- data/lib/aws/cloud_watch/request.rb +23 -0
- data/lib/aws/core.rb +587 -0
- data/lib/aws/core/async_handle.rb +90 -0
- data/lib/aws/core/autoloader.rb +64 -0
- data/lib/aws/core/cacheable.rb +78 -0
- data/lib/aws/core/client.rb +691 -0
- data/lib/aws/core/collection.rb +267 -0
- data/lib/aws/core/collection/simple.rb +82 -0
- data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
- data/lib/aws/core/collection/with_next_token.rb +97 -0
- data/lib/aws/core/configuration.rb +546 -0
- data/lib/aws/core/credential_providers.rb +461 -0
- data/lib/aws/core/data.rb +247 -0
- data/lib/aws/core/http/curb_handler.rb +155 -0
- data/lib/aws/core/http/handler.rb +89 -0
- data/lib/aws/core/http/net_http_handler.rb +128 -0
- data/lib/aws/core/http/request.rb +263 -0
- data/lib/aws/core/http/response.rb +81 -0
- data/lib/aws/core/indifferent_hash.rb +88 -0
- data/lib/aws/core/inflection.rb +56 -0
- data/lib/aws/core/json_client.rb +47 -0
- data/lib/aws/core/json_parser.rb +76 -0
- data/lib/aws/core/json_request_builder.rb +35 -0
- data/lib/aws/core/json_response_parser.rb +79 -0
- data/lib/aws/core/lazy_error_classes.rb +90 -0
- data/lib/aws/core/log_formatter.rb +462 -0
- data/lib/aws/core/managed_file.rb +32 -0
- data/lib/aws/core/meta_utils.rb +45 -0
- data/lib/aws/core/model.rb +57 -0
- data/lib/aws/core/naming.rb +30 -0
- data/lib/aws/core/option_grammar.rb +735 -0
- data/lib/aws/core/options/json_serializer.rb +82 -0
- data/lib/aws/core/options/validator.rb +155 -0
- data/lib/aws/core/options/xml_serializer.rb +118 -0
- data/lib/aws/core/page_result.rb +75 -0
- data/lib/aws/core/policy.rb +916 -0
- data/lib/aws/core/query_client.rb +41 -0
- data/lib/aws/core/query_error_parser.rb +24 -0
- data/lib/aws/core/query_request_builder.rb +47 -0
- data/lib/aws/core/query_response_parser.rb +35 -0
- data/lib/aws/core/resource.rb +413 -0
- data/lib/aws/core/resource_cache.rb +40 -0
- data/lib/aws/core/response.rb +208 -0
- data/lib/aws/core/response_cache.rb +50 -0
- data/lib/aws/core/rest_error_parser.rb +24 -0
- data/lib/aws/core/rest_json_client.rb +40 -0
- data/lib/aws/core/rest_request_builder.rb +146 -0
- data/lib/aws/core/rest_response_parser.rb +66 -0
- data/lib/aws/core/rest_xml_client.rb +47 -0
- data/lib/aws/core/service_interface.rb +61 -0
- data/lib/aws/core/signature/version_2.rb +56 -0
- data/lib/aws/core/signature/version_3.rb +77 -0
- data/lib/aws/core/signature/version_3_https.rb +54 -0
- data/lib/aws/core/signature/version_4.rb +135 -0
- data/lib/aws/core/signer.rb +46 -0
- data/lib/aws/core/uri_escape.rb +44 -0
- data/lib/aws/core/xml/frame.rb +244 -0
- data/lib/aws/core/xml/frame_stack.rb +85 -0
- data/lib/aws/core/xml/grammar.rb +307 -0
- data/lib/aws/core/xml/parser.rb +70 -0
- data/lib/aws/core/xml/root_frame.rb +65 -0
- data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
- data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
- data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
- data/lib/aws/core/xml/stub.rb +123 -0
- data/lib/aws/data_pipeline.rb +73 -0
- data/lib/aws/data_pipeline/client.rb +339 -0
- data/lib/aws/data_pipeline/config.rb +18 -0
- data/lib/aws/data_pipeline/errors.rb +20 -0
- data/lib/aws/data_pipeline/request.rb +26 -0
- data/lib/aws/dynamo_db.rb +206 -0
- data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
- data/lib/aws/dynamo_db/batch_get.rb +213 -0
- data/lib/aws/dynamo_db/batch_write.rb +252 -0
- data/lib/aws/dynamo_db/binary.rb +35 -0
- data/lib/aws/dynamo_db/client.rb +904 -0
- data/lib/aws/dynamo_db/config.rb +24 -0
- data/lib/aws/dynamo_db/errors.rb +20 -0
- data/lib/aws/dynamo_db/expectations.rb +40 -0
- data/lib/aws/dynamo_db/item.rb +133 -0
- data/lib/aws/dynamo_db/item_collection.rb +852 -0
- data/lib/aws/dynamo_db/item_data.rb +31 -0
- data/lib/aws/dynamo_db/keys.rb +41 -0
- data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
- data/lib/aws/dynamo_db/request.rb +26 -0
- data/lib/aws/dynamo_db/resource.rb +33 -0
- data/lib/aws/dynamo_db/table.rb +491 -0
- data/lib/aws/dynamo_db/table_collection.rb +165 -0
- data/lib/aws/dynamo_db/types.rb +111 -0
- data/lib/aws/ec2.rb +440 -0
- data/lib/aws/ec2/attachment.rb +140 -0
- data/lib/aws/ec2/attachment_collection.rb +54 -0
- data/lib/aws/ec2/availability_zone.rb +86 -0
- data/lib/aws/ec2/availability_zone_collection.rb +43 -0
- data/lib/aws/ec2/block_device_mappings.rb +53 -0
- data/lib/aws/ec2/client.rb +3621 -0
- data/lib/aws/ec2/collection.rb +36 -0
- data/lib/aws/ec2/config.rb +18 -0
- data/lib/aws/ec2/config_transform.rb +63 -0
- data/lib/aws/ec2/customer_gateway.rb +90 -0
- data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
- data/lib/aws/ec2/dhcp_options.rb +106 -0
- data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
- data/lib/aws/ec2/elastic_ip.rb +208 -0
- data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
- data/lib/aws/ec2/errors.rb +32 -0
- data/lib/aws/ec2/export_task.rb +120 -0
- data/lib/aws/ec2/export_task_collection.rb +67 -0
- data/lib/aws/ec2/filtered_collection.rb +89 -0
- data/lib/aws/ec2/has_permissions.rb +44 -0
- data/lib/aws/ec2/image.rb +264 -0
- data/lib/aws/ec2/image_collection.rb +228 -0
- data/lib/aws/ec2/instance.rb +796 -0
- data/lib/aws/ec2/instance_collection.rb +372 -0
- data/lib/aws/ec2/internet_gateway.rb +122 -0
- data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
- data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
- data/lib/aws/ec2/key_pair.rb +82 -0
- data/lib/aws/ec2/key_pair_collection.rb +99 -0
- data/lib/aws/ec2/network_acl.rb +256 -0
- data/lib/aws/ec2/network_acl/association.rb +56 -0
- data/lib/aws/ec2/network_acl/entry.rb +147 -0
- data/lib/aws/ec2/network_acl_collection.rb +64 -0
- data/lib/aws/ec2/network_interface.rb +228 -0
- data/lib/aws/ec2/network_interface/attachment.rb +100 -0
- data/lib/aws/ec2/network_interface_collection.rb +103 -0
- data/lib/aws/ec2/permission_collection.rb +174 -0
- data/lib/aws/ec2/region.rb +106 -0
- data/lib/aws/ec2/region_collection.rb +51 -0
- data/lib/aws/ec2/request.rb +21 -0
- data/lib/aws/ec2/reserved_instances.rb +56 -0
- data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
- data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
- data/lib/aws/ec2/resource.rb +161 -0
- data/lib/aws/ec2/resource_tag_collection.rb +211 -0
- data/lib/aws/ec2/route_table.rb +205 -0
- data/lib/aws/ec2/route_table/association.rb +119 -0
- data/lib/aws/ec2/route_table/route.rb +119 -0
- data/lib/aws/ec2/route_table_collection.rb +72 -0
- data/lib/aws/ec2/security_group.rb +484 -0
- data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
- data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
- data/lib/aws/ec2/security_group_collection.rb +135 -0
- data/lib/aws/ec2/snapshot.rb +143 -0
- data/lib/aws/ec2/snapshot_collection.rb +132 -0
- data/lib/aws/ec2/subnet.rb +161 -0
- data/lib/aws/ec2/subnet_collection.rb +115 -0
- data/lib/aws/ec2/tag.rb +81 -0
- data/lib/aws/ec2/tag_collection.rb +107 -0
- data/lib/aws/ec2/tagged_collection.rb +53 -0
- data/lib/aws/ec2/tagged_item.rb +85 -0
- data/lib/aws/ec2/volume.rb +174 -0
- data/lib/aws/ec2/volume_collection.rb +101 -0
- data/lib/aws/ec2/vpc.rb +166 -0
- data/lib/aws/ec2/vpc_collection.rb +70 -0
- data/lib/aws/ec2/vpn_connection.rb +99 -0
- data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
- data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
- data/lib/aws/ec2/vpn_gateway.rb +123 -0
- data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
- data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
- data/lib/aws/elastic_beanstalk.rb +50 -0
- data/lib/aws/elastic_beanstalk/client.rb +867 -0
- data/lib/aws/elastic_beanstalk/config.rb +18 -0
- data/lib/aws/elastic_beanstalk/errors.rb +22 -0
- data/lib/aws/elastic_beanstalk/request.rb +29 -0
- data/lib/aws/elastic_transcoder.rb +30 -0
- data/lib/aws/elastic_transcoder/client.rb +672 -0
- data/lib/aws/elastic_transcoder/config.rb +18 -0
- data/lib/aws/elastic_transcoder/errors.rb +23 -0
- data/lib/aws/elastic_transcoder/request.rb +30 -0
- data/lib/aws/elasticache.rb +50 -0
- data/lib/aws/elasticache/client.rb +920 -0
- data/lib/aws/elasticache/config.rb +18 -0
- data/lib/aws/elasticache/errors.rb +22 -0
- data/lib/aws/elasticache/request.rb +23 -0
- data/lib/aws/elb.rb +67 -0
- data/lib/aws/elb/availability_zone_collection.rb +138 -0
- data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
- data/lib/aws/elb/client.rb +500 -0
- data/lib/aws/elb/config.rb +18 -0
- data/lib/aws/elb/errors.rb +26 -0
- data/lib/aws/elb/instance_collection.rb +173 -0
- data/lib/aws/elb/listener.rb +190 -0
- data/lib/aws/elb/listener_collection.rb +113 -0
- data/lib/aws/elb/listener_opts.rb +45 -0
- data/lib/aws/elb/load_balancer.rb +281 -0
- data/lib/aws/elb/load_balancer_collection.rb +134 -0
- data/lib/aws/elb/load_balancer_policy.rb +93 -0
- data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
- data/lib/aws/elb/request.rb +29 -0
- data/lib/aws/emr.rb +86 -0
- data/lib/aws/emr/client.rb +330 -0
- data/lib/aws/emr/config.rb +18 -0
- data/lib/aws/emr/errors.rb +22 -0
- data/lib/aws/emr/instance_group.rb +138 -0
- data/lib/aws/emr/instance_group_collection.rb +82 -0
- data/lib/aws/emr/job_flow.rb +306 -0
- data/lib/aws/emr/job_flow_collection.rb +185 -0
- data/lib/aws/emr/request.rb +23 -0
- data/lib/aws/errors.rb +162 -0
- data/lib/aws/glacier.rb +80 -0
- data/lib/aws/glacier/archive.rb +56 -0
- data/lib/aws/glacier/archive_collection.rb +146 -0
- data/lib/aws/glacier/client.rb +286 -0
- data/lib/aws/glacier/config.rb +19 -0
- data/lib/aws/glacier/errors.rb +22 -0
- data/lib/aws/glacier/request.rb +34 -0
- data/lib/aws/glacier/resource.rb +30 -0
- data/lib/aws/glacier/vault.rb +145 -0
- data/lib/aws/glacier/vault_collection.rb +75 -0
- data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
- data/lib/aws/iam.rb +420 -0
- data/lib/aws/iam/access_key.rb +180 -0
- data/lib/aws/iam/access_key_collection.rb +128 -0
- data/lib/aws/iam/account_alias_collection.rb +79 -0
- data/lib/aws/iam/client.rb +1092 -0
- data/lib/aws/iam/collection.rb +83 -0
- data/lib/aws/iam/config.rb +18 -0
- data/lib/aws/iam/errors.rb +22 -0
- data/lib/aws/iam/group.rb +111 -0
- data/lib/aws/iam/group_collection.rb +132 -0
- data/lib/aws/iam/group_policy_collection.rb +47 -0
- data/lib/aws/iam/group_user_collection.rb +84 -0
- data/lib/aws/iam/login_profile.rb +99 -0
- data/lib/aws/iam/mfa_device.rb +52 -0
- data/lib/aws/iam/mfa_device_collection.rb +127 -0
- data/lib/aws/iam/policy.rb +46 -0
- data/lib/aws/iam/policy_collection.rb +188 -0
- data/lib/aws/iam/request.rb +29 -0
- data/lib/aws/iam/resource.rb +62 -0
- data/lib/aws/iam/server_certificate.rb +141 -0
- data/lib/aws/iam/server_certificate_collection.rb +138 -0
- data/lib/aws/iam/signing_certificate.rb +169 -0
- data/lib/aws/iam/signing_certificate_collection.rb +131 -0
- data/lib/aws/iam/user.rb +205 -0
- data/lib/aws/iam/user_collection.rb +133 -0
- data/lib/aws/iam/user_group_collection.rb +98 -0
- data/lib/aws/iam/user_policy.rb +90 -0
- data/lib/aws/iam/user_policy_collection.rb +45 -0
- data/lib/aws/iam/virtual_mfa_device.rb +139 -0
- data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
- data/lib/aws/import_export.rb +73 -0
- data/lib/aws/import_export/client.rb +109 -0
- data/lib/aws/import_export/config.rb +19 -0
- data/lib/aws/import_export/errors.rb +22 -0
- data/lib/aws/import_export/request.rb +23 -0
- data/lib/aws/ops_works.rb +30 -0
- data/lib/aws/ops_works/client.rb +713 -0
- data/lib/aws/ops_works/config.rb +18 -0
- data/lib/aws/ops_works/errors.rb +20 -0
- data/lib/aws/ops_works/request.rb +27 -0
- data/lib/aws/rails.rb +195 -0
- data/lib/aws/rds.rb +71 -0
- data/lib/aws/rds/client.rb +2228 -0
- data/lib/aws/rds/config.rb +18 -0
- data/lib/aws/rds/db_instance.rb +205 -0
- data/lib/aws/rds/db_instance_collection.rb +75 -0
- data/lib/aws/rds/db_snapshot.rb +163 -0
- data/lib/aws/rds/db_snapshot_collection.rb +89 -0
- data/lib/aws/rds/errors.rb +22 -0
- data/lib/aws/rds/request.rb +23 -0
- data/lib/aws/record.rb +116 -0
- data/lib/aws/record/abstract_base.rb +701 -0
- data/lib/aws/record/attributes.rb +384 -0
- data/lib/aws/record/conversion.rb +38 -0
- data/lib/aws/record/dirty_tracking.rb +285 -0
- data/lib/aws/record/errors.rb +143 -0
- data/lib/aws/record/exceptions.rb +48 -0
- data/lib/aws/record/hash_model.rb +161 -0
- data/lib/aws/record/hash_model/attributes.rb +197 -0
- data/lib/aws/record/hash_model/finder_methods.rb +172 -0
- data/lib/aws/record/hash_model/scope.rb +108 -0
- data/lib/aws/record/model.rb +427 -0
- data/lib/aws/record/model/attributes.rb +379 -0
- data/lib/aws/record/model/finder_methods.rb +232 -0
- data/lib/aws/record/model/scope.rb +213 -0
- data/lib/aws/record/naming.rb +31 -0
- data/lib/aws/record/scope.rb +199 -0
- data/lib/aws/record/validations.rb +712 -0
- data/lib/aws/record/validator.rb +246 -0
- data/lib/aws/record/validators/acceptance.rb +51 -0
- data/lib/aws/record/validators/block.rb +38 -0
- data/lib/aws/record/validators/confirmation.rb +43 -0
- data/lib/aws/record/validators/count.rb +108 -0
- data/lib/aws/record/validators/exclusion.rb +43 -0
- data/lib/aws/record/validators/format.rb +57 -0
- data/lib/aws/record/validators/inclusion.rb +56 -0
- data/lib/aws/record/validators/length.rb +107 -0
- data/lib/aws/record/validators/method.rb +33 -0
- data/lib/aws/record/validators/numericality.rb +138 -0
- data/lib/aws/record/validators/presence.rb +45 -0
- data/lib/aws/redshift.rb +52 -0
- data/lib/aws/redshift/client.rb +1291 -0
- data/lib/aws/redshift/config.rb +18 -0
- data/lib/aws/redshift/errors.rb +22 -0
- data/lib/aws/redshift/request.rb +29 -0
- data/lib/aws/route_53.rb +87 -0
- data/lib/aws/route_53/change_batch.rb +159 -0
- data/lib/aws/route_53/change_info.rb +72 -0
- data/lib/aws/route_53/client.rb +387 -0
- data/lib/aws/route_53/config.rb +18 -0
- data/lib/aws/route_53/errors.rb +22 -0
- data/lib/aws/route_53/hosted_zone.rb +111 -0
- data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
- data/lib/aws/route_53/request.rb +23 -0
- data/lib/aws/route_53/resource_record_set.rb +237 -0
- data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
- data/lib/aws/s3.rb +155 -0
- data/lib/aws/s3/access_control_list.rb +257 -0
- data/lib/aws/s3/acl_object.rb +264 -0
- data/lib/aws/s3/acl_options.rb +204 -0
- data/lib/aws/s3/bucket.rb +742 -0
- data/lib/aws/s3/bucket_collection.rb +160 -0
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
- data/lib/aws/s3/bucket_tag_collection.rb +109 -0
- data/lib/aws/s3/bucket_version_collection.rb +77 -0
- data/lib/aws/s3/cipher_io.rb +119 -0
- data/lib/aws/s3/client.rb +1700 -0
- data/lib/aws/s3/client/xml.rb +231 -0
- data/lib/aws/s3/config.rb +36 -0
- data/lib/aws/s3/cors_rule.rb +106 -0
- data/lib/aws/s3/cors_rule_collection.rb +192 -0
- data/lib/aws/s3/data_options.rb +185 -0
- data/lib/aws/s3/encryption_utils.rb +139 -0
- data/lib/aws/s3/errors.rb +94 -0
- data/lib/aws/s3/multipart_upload.rb +320 -0
- data/lib/aws/s3/multipart_upload_collection.rb +68 -0
- data/lib/aws/s3/object_collection.rb +355 -0
- data/lib/aws/s3/object_metadata.rb +96 -0
- data/lib/aws/s3/object_upload_collection.rb +77 -0
- data/lib/aws/s3/object_version.rb +148 -0
- data/lib/aws/s3/object_version_collection.rb +89 -0
- data/lib/aws/s3/paginated_collection.rb +75 -0
- data/lib/aws/s3/policy.rb +74 -0
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
- data/lib/aws/s3/prefixed_collection.rb +81 -0
- data/lib/aws/s3/presigned_post.rb +555 -0
- data/lib/aws/s3/request.rb +201 -0
- data/lib/aws/s3/s3_object.rb +1690 -0
- data/lib/aws/s3/tree.rb +118 -0
- data/lib/aws/s3/tree/branch_node.rb +68 -0
- data/lib/aws/s3/tree/child_collection.rb +104 -0
- data/lib/aws/s3/tree/leaf_node.rb +94 -0
- data/lib/aws/s3/tree/node.rb +22 -0
- data/lib/aws/s3/tree/parent.rb +87 -0
- data/lib/aws/s3/uploaded_part.rb +80 -0
- data/lib/aws/s3/uploaded_part_collection.rb +84 -0
- data/lib/aws/s3/website_configuration.rb +102 -0
- data/lib/aws/simple_db.rb +219 -0
- data/lib/aws/simple_db/attribute.rb +154 -0
- data/lib/aws/simple_db/attribute_collection.rb +231 -0
- data/lib/aws/simple_db/client.rb +287 -0
- data/lib/aws/simple_db/config.rb +20 -0
- data/lib/aws/simple_db/consistent_read_option.rb +42 -0
- data/lib/aws/simple_db/delete_attributes.rb +62 -0
- data/lib/aws/simple_db/domain.rb +121 -0
- data/lib/aws/simple_db/domain_collection.rb +86 -0
- data/lib/aws/simple_db/domain_metadata.rb +110 -0
- data/lib/aws/simple_db/errors.rb +55 -0
- data/lib/aws/simple_db/expect_condition_option.rb +45 -0
- data/lib/aws/simple_db/item.rb +93 -0
- data/lib/aws/simple_db/item_collection.rb +649 -0
- data/lib/aws/simple_db/item_data.rb +73 -0
- data/lib/aws/simple_db/put_attributes.rb +60 -0
- data/lib/aws/simple_db/request.rb +23 -0
- data/lib/aws/simple_email_service.rb +428 -0
- data/lib/aws/simple_email_service/client.rb +276 -0
- data/lib/aws/simple_email_service/config.rb +19 -0
- data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
- data/lib/aws/simple_email_service/errors.rb +22 -0
- data/lib/aws/simple_email_service/identity.rb +209 -0
- data/lib/aws/simple_email_service/identity_collection.rb +81 -0
- data/lib/aws/simple_email_service/quotas.rb +64 -0
- data/lib/aws/simple_email_service/request.rb +27 -0
- data/lib/aws/simple_workflow.rb +228 -0
- data/lib/aws/simple_workflow/activity_task.rb +173 -0
- data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
- data/lib/aws/simple_workflow/activity_type.rb +131 -0
- data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
- data/lib/aws/simple_workflow/client.rb +1204 -0
- data/lib/aws/simple_workflow/config.rb +18 -0
- data/lib/aws/simple_workflow/count.rb +49 -0
- data/lib/aws/simple_workflow/decision_task.rb +603 -0
- data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
- data/lib/aws/simple_workflow/domain.rb +122 -0
- data/lib/aws/simple_workflow/domain_collection.rb +169 -0
- data/lib/aws/simple_workflow/errors.rb +20 -0
- data/lib/aws/simple_workflow/history_event.rb +276 -0
- data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
- data/lib/aws/simple_workflow/option_formatters.rb +82 -0
- data/lib/aws/simple_workflow/request.rb +33 -0
- data/lib/aws/simple_workflow/resource.rb +94 -0
- data/lib/aws/simple_workflow/type.rb +89 -0
- data/lib/aws/simple_workflow/type_collection.rb +140 -0
- data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
- data/lib/aws/simple_workflow/workflow_type.rb +177 -0
- data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
- data/lib/aws/sns.rb +76 -0
- data/lib/aws/sns/client.rb +266 -0
- data/lib/aws/sns/config.rb +18 -0
- data/lib/aws/sns/errors.rb +22 -0
- data/lib/aws/sns/has_delivery_policy.rb +68 -0
- data/lib/aws/sns/policy.rb +47 -0
- data/lib/aws/sns/request.rb +23 -0
- data/lib/aws/sns/subscription.rb +144 -0
- data/lib/aws/sns/subscription_collection.rb +78 -0
- data/lib/aws/sns/topic.rb +403 -0
- data/lib/aws/sns/topic_collection.rb +62 -0
- data/lib/aws/sns/topic_subscription_collection.rb +54 -0
- data/lib/aws/sqs.rb +81 -0
- data/lib/aws/sqs/client.rb +258 -0
- data/lib/aws/sqs/config.rb +18 -0
- data/lib/aws/sqs/errors.rb +101 -0
- data/lib/aws/sqs/policy.rb +48 -0
- data/lib/aws/sqs/queue.rb +764 -0
- data/lib/aws/sqs/queue_collection.rb +174 -0
- data/lib/aws/sqs/received_message.rb +181 -0
- data/lib/aws/sqs/received_sns_message.rb +116 -0
- data/lib/aws/sqs/request.rb +67 -0
- data/lib/aws/storage_gateway.rb +73 -0
- data/lib/aws/storage_gateway/client.rb +472 -0
- data/lib/aws/storage_gateway/config.rb +18 -0
- data/lib/aws/storage_gateway/errors.rb +22 -0
- data/lib/aws/storage_gateway/request.rb +28 -0
- data/lib/aws/sts.rb +163 -0
- data/lib/aws/sts/client.rb +157 -0
- data/lib/aws/sts/config.rb +18 -0
- data/lib/aws/sts/errors.rb +22 -0
- data/lib/aws/sts/federated_session.rb +56 -0
- data/lib/aws/sts/policy.rb +30 -0
- data/lib/aws/sts/request.rb +29 -0
- data/lib/aws/sts/session.rb +48 -0
- data/lib/aws/version.rb +18 -0
- data/lib/net/http/connection_pool.rb +226 -0
- data/lib/net/http/connection_pool/connection.rb +189 -0
- data/lib/net/http/connection_pool/session.rb +126 -0
- data/rails/init.rb +15 -0
- metadata +632 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
AWS::Core::Configuration.module_eval do
|
|
15
|
+
|
|
16
|
+
add_service 'ElastiCache', 'elasticache', 'elasticache.us-east-1.amazonaws.com'
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
module AWS
|
|
15
|
+
class ElastiCache
|
|
16
|
+
module Errors
|
|
17
|
+
|
|
18
|
+
extend Core::LazyErrorClasses
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
module AWS
|
|
15
|
+
class ElastiCache
|
|
16
|
+
|
|
17
|
+
# @private
|
|
18
|
+
class Request < Core::Http::Request
|
|
19
|
+
include Core::Signature::Version2
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/aws/elb.rb
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
require 'aws/core'
|
|
15
|
+
require 'aws/elb/config'
|
|
16
|
+
|
|
17
|
+
module AWS
|
|
18
|
+
|
|
19
|
+
# Provides an expressive, object-oriented interface to Elastic Load
|
|
20
|
+
# Balancing (ELB).
|
|
21
|
+
#
|
|
22
|
+
# == Credentials
|
|
23
|
+
#
|
|
24
|
+
# You can setup default credentials for all AWS services via
|
|
25
|
+
# AWS.config:
|
|
26
|
+
#
|
|
27
|
+
# AWS.config(
|
|
28
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
29
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
30
|
+
#
|
|
31
|
+
# Or you can set them directly on the ELB interface:
|
|
32
|
+
#
|
|
33
|
+
# elb = AWS::ELB.new(
|
|
34
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
35
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
36
|
+
#
|
|
37
|
+
# @!attribute [r] client
|
|
38
|
+
# @return [Client] the low-level ELB client object
|
|
39
|
+
class ELB
|
|
40
|
+
|
|
41
|
+
AWS.register_autoloads(self) do
|
|
42
|
+
autoload :AvailabilityZoneCollection, 'availability_zone_collection'
|
|
43
|
+
autoload :BackendServerPolicyCollection, 'backend_server_policy_collection'
|
|
44
|
+
autoload :Client, 'client'
|
|
45
|
+
autoload :Errors, 'errors'
|
|
46
|
+
autoload :InstanceCollection, 'instance_collection'
|
|
47
|
+
autoload :ListenerOpts, 'listener_opts'
|
|
48
|
+
autoload :Listener, 'listener'
|
|
49
|
+
autoload :ListenerCollection, 'listener_collection'
|
|
50
|
+
autoload :LoadBalancer, 'load_balancer'
|
|
51
|
+
autoload :LoadBalancerCollection, 'load_balancer_collection'
|
|
52
|
+
autoload :LoadBalancerPolicy, 'load_balancer_policy'
|
|
53
|
+
autoload :LoadBalancerPolicyCollection, 'load_balancer_policy_collection'
|
|
54
|
+
autoload :Request, 'request'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
include Core::ServiceInterface
|
|
58
|
+
|
|
59
|
+
# @return [LoadBalancerCollection] Returns a collection that represents
|
|
60
|
+
# all of your load balancers.
|
|
61
|
+
def load_balancers
|
|
62
|
+
LoadBalancerCollection.new(:config => config)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
module AWS
|
|
15
|
+
class ELB
|
|
16
|
+
|
|
17
|
+
# A collection that help maanage the availability zones for
|
|
18
|
+
# a load balancer.
|
|
19
|
+
#
|
|
20
|
+
# load_balancer = AWS::ELB.new.load_balancers['my-load-balancer']
|
|
21
|
+
#
|
|
22
|
+
# zones = load_balancer.availability_zones
|
|
23
|
+
#
|
|
24
|
+
# # adding zones
|
|
25
|
+
# zones.enable('us-east-1b', 'us-east-1c')
|
|
26
|
+
#
|
|
27
|
+
# # removing zones
|
|
28
|
+
# zones.disable('us-east-1b')
|
|
29
|
+
#
|
|
30
|
+
# # enumerating enabled zones
|
|
31
|
+
# zones.each do |zone|
|
|
32
|
+
# puts zone.name
|
|
33
|
+
# end
|
|
34
|
+
#
|
|
35
|
+
class AvailabilityZoneCollection
|
|
36
|
+
|
|
37
|
+
include Core::Collection::Simple
|
|
38
|
+
|
|
39
|
+
# @param [LoadBalancer] load_balancer The load balancer this list of
|
|
40
|
+
# availability zones belongs to.
|
|
41
|
+
def initialize load_balancer, options = {}
|
|
42
|
+
@load_balancer = load_balancer
|
|
43
|
+
super
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @return [LoadBalancer] Returns the load balancer this list describes.
|
|
47
|
+
attr_reader :load_balancer
|
|
48
|
+
|
|
49
|
+
# Adds one or more EC2 Availability Zones to the load balancer.
|
|
50
|
+
#
|
|
51
|
+
# load_balancer.availability_zones.enable("us-east-1a", "us-east-1b")
|
|
52
|
+
#
|
|
53
|
+
# You can also pass {EC2::AvailabilityZone} objects:
|
|
54
|
+
#
|
|
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
|
+
#
|
|
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
|
+
# scaled for each registered Availability Zone.
|
|
63
|
+
#
|
|
64
|
+
# @param [String,EC2::AvailabilityZone] availability_zones One or more
|
|
65
|
+
# availability zone names (strings) or objects {EC2::AvailabilityZone}.
|
|
66
|
+
#
|
|
67
|
+
# @return [nil]
|
|
68
|
+
#
|
|
69
|
+
def enable *availability_zones
|
|
70
|
+
|
|
71
|
+
names = availability_zones.flatten.collect do |av|
|
|
72
|
+
av.is_a?(EC2::AvailabilityZone) ? av.name : av.to_s
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
client.enable_availability_zones_for_load_balancer(
|
|
76
|
+
:load_balancer_name => load_balancer.name,
|
|
77
|
+
:availability_zones => names)
|
|
78
|
+
|
|
79
|
+
nil
|
|
80
|
+
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Removes the specified EC2 availability zones from the set of
|
|
84
|
+
# configured availability zones for the load balancer.
|
|
85
|
+
#
|
|
86
|
+
# load_balancer.availability_zones.disable("us-east-1a", "us-east-1b")
|
|
87
|
+
#
|
|
88
|
+
# You can also pass {EC2::AvailabilityZone} objects:
|
|
89
|
+
#
|
|
90
|
+
# # disable all availabilty zones
|
|
91
|
+
# zones = AWS::EC2.new.availability_zones.to_a
|
|
92
|
+
# load_balancer.availability_zones.disable(zones)
|
|
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.
|
|
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
|
|
103
|
+
# associated with the load balancer does nothing.
|
|
104
|
+
#
|
|
105
|
+
# @param [String,EC2::AvailabilityZone] availability_zones One or more
|
|
106
|
+
# availability zone names (strings) or objects {EC2::AvailabilityZone}.
|
|
107
|
+
#
|
|
108
|
+
# @return [nil]
|
|
109
|
+
#
|
|
110
|
+
def disable *availability_zones
|
|
111
|
+
|
|
112
|
+
names = availability_zones.flatten.collect do |av|
|
|
113
|
+
av.is_a?(EC2::AvailabilityZone) ? av.name : av.to_s
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
client.disable_availability_zones_for_load_balancer(
|
|
117
|
+
:load_balancer_name => load_balancer.name,
|
|
118
|
+
:availability_zones => names)
|
|
119
|
+
|
|
120
|
+
nil
|
|
121
|
+
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
protected
|
|
125
|
+
def _each_item options = {}, &block
|
|
126
|
+
load_balancer.availability_zone_names.each do |az_name|
|
|
127
|
+
|
|
128
|
+
availability_zone = EC2::AvailabilityZone.new(
|
|
129
|
+
az_name, :config => config)
|
|
130
|
+
|
|
131
|
+
yield(availability_zone)
|
|
132
|
+
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
module AWS
|
|
15
|
+
class ELB
|
|
16
|
+
|
|
17
|
+
# Helps manage policies assigned to backend server instnace ports.
|
|
18
|
+
#
|
|
19
|
+
# == Creating a Backend Server Policy
|
|
20
|
+
#
|
|
21
|
+
# Creating a backend server policy can be a bit tricky. A
|
|
22
|
+
# BackendServerAuthenticationPolicyType policy only has one
|
|
23
|
+
# attribute, a list of public key policies.
|
|
24
|
+
#
|
|
25
|
+
# Before you can assign a policy to a backend server instance port you
|
|
26
|
+
# must create on of the appropriate type:
|
|
27
|
+
#
|
|
28
|
+
# # step 1, create one (or more) PublicKeyPolicyType policies
|
|
29
|
+
#
|
|
30
|
+
# public_key1 = <<-KEY
|
|
31
|
+
# -----BEGIN CERTIFICATE-----
|
|
32
|
+
# MIICaTCCAdICCQDuvCF4erLGSjANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJa
|
|
33
|
+
# ....
|
|
34
|
+
# o50MymfqtoVcebZcXbiDVAXW1cPEHKLBXecX6/LZ+GOzEsUOxgt7Xs9uabqp
|
|
35
|
+
# -----END CERTIFICATE-----
|
|
36
|
+
# KEY
|
|
37
|
+
#
|
|
38
|
+
# public_key_policy = load_balancer.policies.create("pkp",
|
|
39
|
+
# 'PublicKeyPolicyType', 'PublicKey' => public_key.strip)
|
|
40
|
+
#
|
|
41
|
+
# # step 2, create the backend server policy, passing the public key policy
|
|
42
|
+
#
|
|
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
|
+
#
|
|
50
|
+
# backend_policy = @load_balancer.policies.create(name, type, attributes)
|
|
51
|
+
# 'BackendServerAuthenticationPolicyType', attributes)
|
|
52
|
+
#
|
|
53
|
+
# Once you have created a backend server authentication policy, you
|
|
54
|
+
# can assign it to a backend instance port:
|
|
55
|
+
#
|
|
56
|
+
# load_balancer.backend_server_policies[80] = backend_policy
|
|
57
|
+
#
|
|
58
|
+
# If you want to remove the policy you can pass nil instead.
|
|
59
|
+
#
|
|
60
|
+
# # removes the policy from instance port 80
|
|
61
|
+
# load_balancer.backend_server_policies[80] = nil
|
|
62
|
+
#
|
|
63
|
+
# You can also get the current policy:
|
|
64
|
+
#
|
|
65
|
+
# load_balancer.backend_server_policies[80] # returns a policy or nil
|
|
66
|
+
#
|
|
67
|
+
class BackendServerPolicyCollection
|
|
68
|
+
|
|
69
|
+
include Core::Collection::Simple
|
|
70
|
+
|
|
71
|
+
def initialize load_balancer, options = {}
|
|
72
|
+
@load_balancer = load_balancer
|
|
73
|
+
super
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# @return [LoadBalancer]
|
|
77
|
+
attr_reader :load_balancer
|
|
78
|
+
|
|
79
|
+
# Returns the policy currently assigned to the given instance port.
|
|
80
|
+
#
|
|
81
|
+
# @param [Integer] instance_port The backend server port to
|
|
82
|
+
# get the currently policy of.
|
|
83
|
+
#
|
|
84
|
+
# @return [LoadBalancerPolicy,nil] Returns the load balancer policy
|
|
85
|
+
# currently assigned to the given instance port. Returns nil if
|
|
86
|
+
# no policy has been assigned.
|
|
87
|
+
#
|
|
88
|
+
def [] instance_port
|
|
89
|
+
enum(:instance_port => instance_port).first
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Sets the policy for the given backend server instance port.
|
|
93
|
+
#
|
|
94
|
+
# @param [Integer] instance_port The instance port you want to set
|
|
95
|
+
# backend server policies for.
|
|
96
|
+
#
|
|
97
|
+
# @param [String,LoadBalancerPolicy,nil] policy Load balancer policy
|
|
98
|
+
# name or object. Passing nil removes the current policy.
|
|
99
|
+
#
|
|
100
|
+
# @return [nil]
|
|
101
|
+
#
|
|
102
|
+
def []= instance_port, policy
|
|
103
|
+
|
|
104
|
+
client.set_load_balancer_policies_for_backend_server(
|
|
105
|
+
:load_balancer_name => load_balancer.name,
|
|
106
|
+
:instance_port => instance_port.to_i,
|
|
107
|
+
:policy_names => [policy_name(policy)].compact)
|
|
108
|
+
|
|
109
|
+
nil
|
|
110
|
+
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
protected
|
|
114
|
+
def policy_name policy
|
|
115
|
+
case policy
|
|
116
|
+
when nil then nil
|
|
117
|
+
when LoadBalancerPolicy then policy.name
|
|
118
|
+
else policy.to_s
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
protected
|
|
123
|
+
def _each_item options = {}
|
|
124
|
+
|
|
125
|
+
instance_port = options[:instance_port]
|
|
126
|
+
|
|
127
|
+
load_balancer.backend_server_descriptions.each do |desc|
|
|
128
|
+
if instance_port.nil? or desc[:instance_port] == instance_port
|
|
129
|
+
desc[:policy_names].each do |policy_name|
|
|
130
|
+
yield(load_balancer.policies[policy_name])
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
module AWS
|
|
15
|
+
class ELB
|
|
16
|
+
|
|
17
|
+
# Client class for Elastic Load Balancing (ELB).
|
|
18
|
+
class Client < Core::QueryClient
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
CACHEABLE_REQUESTS = Set[]
|
|
22
|
+
|
|
23
|
+
# client methods #
|
|
24
|
+
|
|
25
|
+
# @!method apply_security_groups_to_load_balancer(options = {})
|
|
26
|
+
# Calls the ApplySecurityGroupsToLoadBalancer API operation.
|
|
27
|
+
# @param [Hash] options
|
|
28
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
29
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
30
|
+
# AWS account.
|
|
31
|
+
# * +:security_groups+ - *required* - (Array<String>) A list of
|
|
32
|
+
# security group IDs to associate with your LoadBalancer in VPC. The
|
|
33
|
+
# security group IDs must be provided as the ID and not the security
|
|
34
|
+
# group name (For example, sg-1234).
|
|
35
|
+
# @return [Core::Response]
|
|
36
|
+
# The #data method of the response object returns
|
|
37
|
+
# a hash with the following structure:
|
|
38
|
+
# * +:security_groups+ - (Array<String>)
|
|
39
|
+
|
|
40
|
+
# @!method attach_load_balancer_to_subnets(options = {})
|
|
41
|
+
# Calls the AttachLoadBalancerToSubnets API operation.
|
|
42
|
+
# @param [Hash] options
|
|
43
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
44
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
45
|
+
# AWS account.
|
|
46
|
+
# * +:subnets+ - *required* - (Array<String>) A list of subnet IDs to
|
|
47
|
+
# add for the LoadBalancer.
|
|
48
|
+
# @return [Core::Response]
|
|
49
|
+
# The #data method of the response object returns
|
|
50
|
+
# a hash with the following structure:
|
|
51
|
+
# * +:subnets+ - (Array<String>)
|
|
52
|
+
|
|
53
|
+
# @!method configure_health_check(options = {})
|
|
54
|
+
# Calls the ConfigureHealthCheck API operation.
|
|
55
|
+
# @param [Hash] options
|
|
56
|
+
# * +:load_balancer_name+ - *required* - (String) The mnemonic name
|
|
57
|
+
# associated with the LoadBalancer. This name must be unique within
|
|
58
|
+
# the client AWS account.
|
|
59
|
+
# * +:health_check+ - *required* - (Hash) A structure containing the
|
|
60
|
+
# configuration information for the new healthcheck.
|
|
61
|
+
# * +:target+ - *required* - (String) Specifies the instance being
|
|
62
|
+
# checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The
|
|
63
|
+
# range of valid ports is one (1) through 65535. TCP is the
|
|
64
|
+
# default, specified as a TCP: port pair, for example "TCP:5000".
|
|
65
|
+
# In this case a healthcheck simply attempts to open a TCP
|
|
66
|
+
# connection to the instance on the specified port. Failure to
|
|
67
|
+
# connect within the configured timeout is considered unhealthy.
|
|
68
|
+
# SSL is also specified as SSL: port pair, for example, SSL:5000.
|
|
69
|
+
# For HTTP or HTTPS protocol, the situation is different. You have
|
|
70
|
+
# to include a ping path in the string. HTTP is specified as a
|
|
71
|
+
# HTTP:port;/;PathToPing; grouping, for example
|
|
72
|
+
# "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request
|
|
73
|
+
# is issued to the instance on the given port and path. Any answer
|
|
74
|
+
# other than "200 OK" within the timeout period is considered
|
|
75
|
+
# unhealthy. The total length of the HTTP ping target needs to be
|
|
76
|
+
# 1024 16-bit Unicode characters or less.
|
|
77
|
+
# * +:interval+ - *required* - (Integer) Specifies the approximate
|
|
78
|
+
# interval, in seconds, between health checks of an individual
|
|
79
|
+
# instance.
|
|
80
|
+
# * +:timeout+ - *required* - (Integer) Specifies the amount of time,
|
|
81
|
+
# in seconds, during which no response means a failed health probe.
|
|
82
|
+
# This value must be less than the Interval value.
|
|
83
|
+
# * +:unhealthy_threshold+ - *required* - (Integer) Specifies the
|
|
84
|
+
# number of consecutive health probe failures required before
|
|
85
|
+
# moving the instance to the Unhealthy state.
|
|
86
|
+
# * +:healthy_threshold+ - *required* - (Integer) Specifies the
|
|
87
|
+
# number of consecutive health probe successes required before
|
|
88
|
+
# moving the instance to the Healthy state.
|
|
89
|
+
# @return [Core::Response]
|
|
90
|
+
# The #data method of the response object returns
|
|
91
|
+
# a hash with the following structure:
|
|
92
|
+
# * +:health_check+ - (Hash)
|
|
93
|
+
# * +:target+ - (String)
|
|
94
|
+
# * +:interval+ - (Integer)
|
|
95
|
+
# * +:timeout+ - (Integer)
|
|
96
|
+
# * +:unhealthy_threshold+ - (Integer)
|
|
97
|
+
# * +:healthy_threshold+ - (Integer)
|
|
98
|
+
|
|
99
|
+
# @!method create_app_cookie_stickiness_policy(options = {})
|
|
100
|
+
# Calls the CreateAppCookieStickinessPolicy API operation.
|
|
101
|
+
# @param [Hash] options
|
|
102
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
103
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
104
|
+
# AWS account.
|
|
105
|
+
# * +:policy_name+ - *required* - (String) The name of the policy being
|
|
106
|
+
# created. The name must be unique within the set of policies for
|
|
107
|
+
# this LoadBalancer.
|
|
108
|
+
# * +:cookie_name+ - *required* - (String) Name of the application
|
|
109
|
+
# cookie used for stickiness.
|
|
110
|
+
# @return [Core::Response]
|
|
111
|
+
|
|
112
|
+
# @!method create_lb_cookie_stickiness_policy(options = {})
|
|
113
|
+
# Calls the CreateLBCookieStickinessPolicy API operation.
|
|
114
|
+
# @param [Hash] options
|
|
115
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
116
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
117
|
+
# AWS account.
|
|
118
|
+
# * +:policy_name+ - *required* - (String) The name of the policy being
|
|
119
|
+
# created. The name must be unique within the set of policies for
|
|
120
|
+
# this LoadBalancer.
|
|
121
|
+
# * +:cookie_expiration_period+ - (Integer) The time period in seconds
|
|
122
|
+
# after which the cookie should be considered stale. Not specifying
|
|
123
|
+
# this parameter indicates that the sticky session will last for the
|
|
124
|
+
# duration of the browser session.
|
|
125
|
+
# @return [Core::Response]
|
|
126
|
+
|
|
127
|
+
# @!method create_load_balancer(options = {})
|
|
128
|
+
# Calls the CreateLoadBalancer API operation.
|
|
129
|
+
# @param [Hash] options
|
|
130
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
131
|
+
# with the LoadBalancer. The name must be unique within your set of
|
|
132
|
+
# LoadBalancers.
|
|
133
|
+
# * +:listeners+ - *required* - (Array<Hash>) A list of the following
|
|
134
|
+
# tuples: LoadBalancerPort, InstancePort, and Protocol.
|
|
135
|
+
# * +:protocol+ - *required* - (String) Specifies the LoadBalancer
|
|
136
|
+
# transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
|
|
137
|
+
# This property cannot be modified for the life of the
|
|
138
|
+
# LoadBalancer.
|
|
139
|
+
# * +:load_balancer_port+ - *required* - (Integer) Specifies the
|
|
140
|
+
# external LoadBalancer port number. This property cannot be
|
|
141
|
+
# modified for the life of the LoadBalancer.
|
|
142
|
+
# * +:instance_protocol+ - (String) Specifies the protocol to use for
|
|
143
|
+
# routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
|
|
144
|
+
# This property cannot be modified for the life of the
|
|
145
|
+
# LoadBalancer. If the front-end protocol is HTTP or HTTPS,
|
|
146
|
+
# InstanceProtocol has to be at the same protocol layer, i.e., HTTP
|
|
147
|
+
# or HTTPS. Likewise, if the front-end protocol is TCP or SSL,
|
|
148
|
+
# InstanceProtocol has to be TCP or SSL. If there is another
|
|
149
|
+
# listener with the same InstancePort whose InstanceProtocol is
|
|
150
|
+
# secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has
|
|
151
|
+
# to be secure, i.e., HTTPS or SSL. If there is another listener
|
|
152
|
+
# with the same InstancePort whose InstanceProtocol is HTTP or TCP,
|
|
153
|
+
# the listener's InstanceProtocol must be either HTTP or TCP.
|
|
154
|
+
# * +:instance_port+ - *required* - (Integer) Specifies the TCP port
|
|
155
|
+
# on which the instance server is listening. This property cannot
|
|
156
|
+
# be modified for the life of the LoadBalancer.
|
|
157
|
+
# * +:ssl_certificate_id+ - (String) The ARN string of the server
|
|
158
|
+
# certificate. To get the ARN of the server certificate, call the
|
|
159
|
+
# AWS Identity and Access Management UploadServerCertificate API.
|
|
160
|
+
# * +:availability_zones+ - (Array<String>) A list of Availability
|
|
161
|
+
# Zones. At least one Availability Zone must be specified. Specified
|
|
162
|
+
# Availability Zones must be in the same EC2 Region as the
|
|
163
|
+
# LoadBalancer. Traffic will be equally distributed across all zones.
|
|
164
|
+
# This list can be modified after the creation of the LoadBalancer.
|
|
165
|
+
# * +:subnets+ - (Array<String>) A list of subnet IDs in your VPC to
|
|
166
|
+
# attach to your LoadBalancer.
|
|
167
|
+
# * +:security_groups+ - (Array<String>) The security groups assigned
|
|
168
|
+
# to your LoadBalancer within your VPC.
|
|
169
|
+
# * +:scheme+ - (String) The type of a LoadBalancer. This option is
|
|
170
|
+
# only available for LoadBalancers attached to a Amazon VPC. By
|
|
171
|
+
# default, Elastic Load Balancer creates an internet-facing load
|
|
172
|
+
# balancer with publicly resolvable DNS name that resolves to public
|
|
173
|
+
# IP addresses. Specify the value internal for this option to create
|
|
174
|
+
# an internal load balancer with a DNS name that resolves to private
|
|
175
|
+
# IP addresses.
|
|
176
|
+
# @return [Core::Response]
|
|
177
|
+
# The #data method of the response object returns
|
|
178
|
+
# a hash with the following structure:
|
|
179
|
+
# * +:dns_name+ - (String)
|
|
180
|
+
|
|
181
|
+
# @!method create_load_balancer_listeners(options = {})
|
|
182
|
+
# Calls the CreateLoadBalancerListeners API operation.
|
|
183
|
+
# @param [Hash] options
|
|
184
|
+
# * +:load_balancer_name+ - *required* - (String) The name of the new
|
|
185
|
+
# LoadBalancer. The name must be unique within your AWS account.
|
|
186
|
+
# * +:listeners+ - *required* - (Array<Hash>) A list of
|
|
187
|
+
# LoadBalancerPort, InstancePort, Protocol, and SSLCertificateId
|
|
188
|
+
# items.
|
|
189
|
+
# * +:protocol+ - *required* - (String) Specifies the LoadBalancer
|
|
190
|
+
# transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
|
|
191
|
+
# This property cannot be modified for the life of the
|
|
192
|
+
# LoadBalancer.
|
|
193
|
+
# * +:load_balancer_port+ - *required* - (Integer) Specifies the
|
|
194
|
+
# external LoadBalancer port number. This property cannot be
|
|
195
|
+
# modified for the life of the LoadBalancer.
|
|
196
|
+
# * +:instance_protocol+ - (String) Specifies the protocol to use for
|
|
197
|
+
# routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
|
|
198
|
+
# This property cannot be modified for the life of the
|
|
199
|
+
# LoadBalancer. If the front-end protocol is HTTP or HTTPS,
|
|
200
|
+
# InstanceProtocol has to be at the same protocol layer, i.e., HTTP
|
|
201
|
+
# or HTTPS. Likewise, if the front-end protocol is TCP or SSL,
|
|
202
|
+
# InstanceProtocol has to be TCP or SSL. If there is another
|
|
203
|
+
# listener with the same InstancePort whose InstanceProtocol is
|
|
204
|
+
# secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has
|
|
205
|
+
# to be secure, i.e., HTTPS or SSL. If there is another listener
|
|
206
|
+
# with the same InstancePort whose InstanceProtocol is HTTP or TCP,
|
|
207
|
+
# the listener's InstanceProtocol must be either HTTP or TCP.
|
|
208
|
+
# * +:instance_port+ - *required* - (Integer) Specifies the TCP port
|
|
209
|
+
# on which the instance server is listening. This property cannot
|
|
210
|
+
# be modified for the life of the LoadBalancer.
|
|
211
|
+
# * +:ssl_certificate_id+ - (String) The ARN string of the server
|
|
212
|
+
# certificate. To get the ARN of the server certificate, call the
|
|
213
|
+
# AWS Identity and Access Management UploadServerCertificate API.
|
|
214
|
+
# @return [Core::Response]
|
|
215
|
+
|
|
216
|
+
# @!method create_load_balancer_policy(options = {})
|
|
217
|
+
# Calls the CreateLoadBalancerPolicy API operation.
|
|
218
|
+
# @param [Hash] options
|
|
219
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
220
|
+
# with the LoadBalancer for which the policy is being created. This
|
|
221
|
+
# name must be unique within the client AWS account.
|
|
222
|
+
# * +:policy_name+ - *required* - (String) The name of the LoadBalancer
|
|
223
|
+
# policy being created. The name must be unique within the set of
|
|
224
|
+
# policies for this LoadBalancer.
|
|
225
|
+
# * +:policy_type_name+ - *required* - (String) The name of the base
|
|
226
|
+
# policy type being used to create this policy. To get the list of
|
|
227
|
+
# policy types, use the DescribeLoadBalancerPolicyTypes action.
|
|
228
|
+
# * +:policy_attributes+ - (Array<Hash>) A list of attributes
|
|
229
|
+
# associated with the policy being created.
|
|
230
|
+
# * +:attribute_name+ - (String) The name of the attribute associated
|
|
231
|
+
# with the policy.
|
|
232
|
+
# * +:attribute_value+ - (String) The value of the attribute
|
|
233
|
+
# associated with the policy.
|
|
234
|
+
# @return [Core::Response]
|
|
235
|
+
|
|
236
|
+
# @!method delete_load_balancer(options = {})
|
|
237
|
+
# Calls the DeleteLoadBalancer API operation.
|
|
238
|
+
# @param [Hash] options
|
|
239
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
240
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
241
|
+
# AWS account.
|
|
242
|
+
# @return [Core::Response]
|
|
243
|
+
|
|
244
|
+
# @!method delete_load_balancer_listeners(options = {})
|
|
245
|
+
# Calls the DeleteLoadBalancerListeners API operation.
|
|
246
|
+
# @param [Hash] options
|
|
247
|
+
# * +:load_balancer_name+ - *required* - (String) The mnemonic name
|
|
248
|
+
# associated with the LoadBalancer.
|
|
249
|
+
# * +:load_balancer_ports+ - *required* - (Array<Integer>) The client
|
|
250
|
+
# port number(s) of the LoadBalancerListener(s) to be removed.
|
|
251
|
+
# @return [Core::Response]
|
|
252
|
+
|
|
253
|
+
# @!method delete_load_balancer_policy(options = {})
|
|
254
|
+
# Calls the DeleteLoadBalancerPolicy API operation.
|
|
255
|
+
# @param [Hash] options
|
|
256
|
+
# * +:load_balancer_name+ - *required* - (String) The mnemonic name
|
|
257
|
+
# associated with the LoadBalancer. The name must be unique within
|
|
258
|
+
# your AWS account.
|
|
259
|
+
# * +:policy_name+ - *required* - (String) The mnemonic name for the
|
|
260
|
+
# policy being deleted.
|
|
261
|
+
# @return [Core::Response]
|
|
262
|
+
|
|
263
|
+
# @!method deregister_instances_from_load_balancer(options = {})
|
|
264
|
+
# Calls the DeregisterInstancesFromLoadBalancer API operation.
|
|
265
|
+
# @param [Hash] options
|
|
266
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
267
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
268
|
+
# AWS account.
|
|
269
|
+
# * +:instances+ - *required* - (Array<Hash>) A list of EC2 instance
|
|
270
|
+
# IDs consisting of all instances to be deregistered.
|
|
271
|
+
# * +:instance_id+ - (String) Provides an EC2 instance ID.
|
|
272
|
+
# @return [Core::Response]
|
|
273
|
+
# The #data method of the response object returns
|
|
274
|
+
# a hash with the following structure:
|
|
275
|
+
# * +:instances+ - (Array<Hash>)
|
|
276
|
+
# * +:instance_id+ - (String)
|
|
277
|
+
|
|
278
|
+
# @!method describe_instance_health(options = {})
|
|
279
|
+
# Calls the DescribeInstanceHealth API operation.
|
|
280
|
+
# @param [Hash] options
|
|
281
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
282
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
283
|
+
# AWS account.
|
|
284
|
+
# * +:instances+ - (Array<Hash>) A list of instance IDs whose states
|
|
285
|
+
# are being queried.
|
|
286
|
+
# * +:instance_id+ - (String) Provides an EC2 instance ID.
|
|
287
|
+
# @return [Core::Response]
|
|
288
|
+
# The #data method of the response object returns
|
|
289
|
+
# a hash with the following structure:
|
|
290
|
+
# * +:instance_states+ - (Array<Hash>)
|
|
291
|
+
# * +:instance_id+ - (String)
|
|
292
|
+
# * +:state+ - (String)
|
|
293
|
+
# * +:reason_code+ - (String)
|
|
294
|
+
# * +:description+ - (String)
|
|
295
|
+
|
|
296
|
+
# @!method describe_load_balancer_policies(options = {})
|
|
297
|
+
# Calls the DescribeLoadBalancerPolicies API operation.
|
|
298
|
+
# @param [Hash] options
|
|
299
|
+
# * +:load_balancer_name+ - (String) The mnemonic name associated with
|
|
300
|
+
# the LoadBalancer. If no name is specified, the operation returns
|
|
301
|
+
# the attributes of either all the sample policies pre-defined by
|
|
302
|
+
# Elastic Load Balancing or the specified sample polices.
|
|
303
|
+
# * +:policy_names+ - (Array<String>) The names of LoadBalancer
|
|
304
|
+
# policies you've created or Elastic Load Balancing sample policy
|
|
305
|
+
# names.
|
|
306
|
+
# @return [Core::Response]
|
|
307
|
+
# The #data method of the response object returns
|
|
308
|
+
# a hash with the following structure:
|
|
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
|
+
|
|
316
|
+
# @!method describe_load_balancer_policy_types(options = {})
|
|
317
|
+
# Calls the DescribeLoadBalancerPolicyTypes API operation.
|
|
318
|
+
# @param [Hash] options
|
|
319
|
+
# * +:policy_type_names+ - (Array<String>) Specifies the name of the
|
|
320
|
+
# policy types. If no names are specified, returns the description of
|
|
321
|
+
# all the policy types defined by Elastic Load Balancing service.
|
|
322
|
+
# @return [Core::Response]
|
|
323
|
+
# The #data method of the response object returns
|
|
324
|
+
# a hash with the following structure:
|
|
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
|
+
|
|
335
|
+
# @!method describe_load_balancers(options = {})
|
|
336
|
+
# Calls the DescribeLoadBalancers API operation.
|
|
337
|
+
# @param [Hash] options
|
|
338
|
+
# * +:load_balancer_names+ - (Array<String>) A list of names associated
|
|
339
|
+
# with the LoadBalancers at creation time.
|
|
340
|
+
# * +:marker+ - (String) An optional parameter reserved for future use.
|
|
341
|
+
# @return [Core::Response]
|
|
342
|
+
# The #data method of the response object returns
|
|
343
|
+
# a hash with the following structure:
|
|
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
|
+
|
|
387
|
+
# @!method detach_load_balancer_from_subnets(options = {})
|
|
388
|
+
# Calls the DetachLoadBalancerFromSubnets API operation.
|
|
389
|
+
# @param [Hash] options
|
|
390
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
391
|
+
# with the LoadBalancer to be detached. The name must be unique
|
|
392
|
+
# within the client AWS account.
|
|
393
|
+
# * +:subnets+ - *required* - (Array<String>) A list of subnet IDs to
|
|
394
|
+
# remove from the set of configured subnets for the LoadBalancer.
|
|
395
|
+
# @return [Core::Response]
|
|
396
|
+
# The #data method of the response object returns
|
|
397
|
+
# a hash with the following structure:
|
|
398
|
+
# * +:subnets+ - (Array<String>)
|
|
399
|
+
|
|
400
|
+
# @!method disable_availability_zones_for_load_balancer(options = {})
|
|
401
|
+
# Calls the DisableAvailabilityZonesForLoadBalancer API operation.
|
|
402
|
+
# @param [Hash] options
|
|
403
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
404
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
405
|
+
# AWS account.
|
|
406
|
+
# * +:availability_zones+ - *required* - (Array<String>) A list of
|
|
407
|
+
# Availability Zones to be removed from the LoadBalancer. There must
|
|
408
|
+
# be at least one Availability Zone registered with a LoadBalancer at
|
|
409
|
+
# all times. The client cannot remove all the Availability Zones from
|
|
410
|
+
# a LoadBalancer. Specified Availability Zones must be in the same
|
|
411
|
+
# Region.
|
|
412
|
+
# @return [Core::Response]
|
|
413
|
+
# The #data method of the response object returns
|
|
414
|
+
# a hash with the following structure:
|
|
415
|
+
# * +:availability_zones+ - (Array<String>)
|
|
416
|
+
|
|
417
|
+
# @!method enable_availability_zones_for_load_balancer(options = {})
|
|
418
|
+
# Calls the EnableAvailabilityZonesForLoadBalancer API operation.
|
|
419
|
+
# @param [Hash] options
|
|
420
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
421
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
422
|
+
# AWS account.
|
|
423
|
+
# * +:availability_zones+ - *required* - (Array<String>) A list of new
|
|
424
|
+
# Availability Zones for the LoadBalancer. Each Availability Zone
|
|
425
|
+
# must be in the same Region as the LoadBalancer.
|
|
426
|
+
# @return [Core::Response]
|
|
427
|
+
# The #data method of the response object returns
|
|
428
|
+
# a hash with the following structure:
|
|
429
|
+
# * +:availability_zones+ - (Array<String>)
|
|
430
|
+
|
|
431
|
+
# @!method register_instances_with_load_balancer(options = {})
|
|
432
|
+
# Calls the RegisterInstancesWithLoadBalancer API operation.
|
|
433
|
+
# @param [Hash] options
|
|
434
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
435
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
436
|
+
# AWS account.
|
|
437
|
+
# * +:instances+ - *required* - (Array<Hash>) A list of instance IDs
|
|
438
|
+
# that should be registered with the LoadBalancer. When the instance
|
|
439
|
+
# is stopped and then restarted, the IP addresses associated with
|
|
440
|
+
# your instance changes. Elastic Load Balancing cannot recognize the
|
|
441
|
+
# new IP address, which prevents it from routing traffic to your
|
|
442
|
+
# instances. We recommend that you de-register your Amazon EC2
|
|
443
|
+
# instances from your load balancer after you stop your instance, and
|
|
444
|
+
# then register the load balancer with your instance after you've
|
|
445
|
+
# restarted. To de-register your instances from load balancer, use
|
|
446
|
+
# DeregisterInstancesFromLoadBalancer action.
|
|
447
|
+
# * +:instance_id+ - (String) Provides an EC2 instance ID.
|
|
448
|
+
# @return [Core::Response]
|
|
449
|
+
# The #data method of the response object returns
|
|
450
|
+
# a hash with the following structure:
|
|
451
|
+
# * +:instances+ - (Array<Hash>)
|
|
452
|
+
# * +:instance_id+ - (String)
|
|
453
|
+
|
|
454
|
+
# @!method set_load_balancer_listener_ssl_certificate(options = {})
|
|
455
|
+
# Calls the SetLoadBalancerListenerSSLCertificate API operation.
|
|
456
|
+
# @param [Hash] options
|
|
457
|
+
# * +:load_balancer_name+ - *required* - (String) The name of the the
|
|
458
|
+
# LoadBalancer.
|
|
459
|
+
# * +:load_balancer_port+ - *required* - (Integer) The port that uses
|
|
460
|
+
# the specified SSL certificate.
|
|
461
|
+
# * +:ssl_certificate_id+ - *required* - (String) The ID of the SSL
|
|
462
|
+
# certificate chain to use. For more information on SSL certificates,
|
|
463
|
+
# see Managing Server Certificates in the AWS Identity and Access
|
|
464
|
+
# Management documentation.
|
|
465
|
+
# @return [Core::Response]
|
|
466
|
+
|
|
467
|
+
# @!method set_load_balancer_policies_for_backend_server(options = {})
|
|
468
|
+
# Calls the SetLoadBalancerPoliciesForBackendServer API operation.
|
|
469
|
+
# @param [Hash] options
|
|
470
|
+
# * +:load_balancer_name+ - *required* - (String) The mnemonic name
|
|
471
|
+
# associated with the LoadBalancer. This name must be unique within
|
|
472
|
+
# the client AWS account.
|
|
473
|
+
# * +:instance_port+ - *required* - (Integer) The port number
|
|
474
|
+
# associated with the back-end server.
|
|
475
|
+
# * +:policy_names+ - *required* - (Array<String>) List of policy names
|
|
476
|
+
# to be set. If the list is empty, then all current polices are
|
|
477
|
+
# removed from the back-end server.
|
|
478
|
+
# @return [Core::Response]
|
|
479
|
+
|
|
480
|
+
# @!method set_load_balancer_policies_of_listener(options = {})
|
|
481
|
+
# Calls the SetLoadBalancerPoliciesOfListener API operation.
|
|
482
|
+
# @param [Hash] options
|
|
483
|
+
# * +:load_balancer_name+ - *required* - (String) The name associated
|
|
484
|
+
# with the LoadBalancer. The name must be unique within the client
|
|
485
|
+
# AWS account.
|
|
486
|
+
# * +:load_balancer_port+ - *required* - (Integer) The external port of
|
|
487
|
+
# the LoadBalancer with which this policy applies to.
|
|
488
|
+
# * +:policy_names+ - *required* - (Array<String>) List of policies to
|
|
489
|
+
# be associated with the listener. Currently this list can have at
|
|
490
|
+
# most one policy. If the list is empty, the current policy is
|
|
491
|
+
# removed from the listener.
|
|
492
|
+
# @return [Core::Response]
|
|
493
|
+
|
|
494
|
+
# end client methods #
|
|
495
|
+
|
|
496
|
+
define_client_methods('2012-06-01')
|
|
497
|
+
|
|
498
|
+
end
|
|
499
|
+
end
|
|
500
|
+
end
|