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
|
@@ -55,7 +55,7 @@ module AWS
|
|
|
55
55
|
# @param [Object] resource The item to tag. This should be a taggable
|
|
56
56
|
# EC2 resource, like an instance, security group, etc.
|
|
57
57
|
# @param [String] key The tag key (or name).
|
|
58
|
-
# @param [Hash] options
|
|
58
|
+
# @param [Hash] options
|
|
59
59
|
# @option optins [String] :value ('') The optional tag value. When
|
|
60
60
|
# left blank its assigned the empty string.
|
|
61
61
|
# @return [Tag]
|
|
@@ -14,35 +14,35 @@
|
|
|
14
14
|
module AWS
|
|
15
15
|
class EC2
|
|
16
16
|
|
|
17
|
-
# Most of the AWS::EC2 collections include TaggedCollection. This
|
|
17
|
+
# Most of the AWS::EC2 collections include TaggedCollection. This
|
|
18
18
|
# module provides methods for filtering the collection with
|
|
19
19
|
# tags.
|
|
20
20
|
#
|
|
21
|
-
#
|
|
21
|
+
# collecion.tagged('prod').each do {|obj| ... }
|
|
22
22
|
#
|
|
23
23
|
module TaggedCollection
|
|
24
24
|
|
|
25
25
|
# Filter the collection by one or more tag keys. If you pass multiple
|
|
26
|
-
# tag keys they will be be treated as OR conditions. If you want to
|
|
26
|
+
# tag keys they will be be treated as OR conditions. If you want to
|
|
27
27
|
# AND them together call tagged multiple times (chained).
|
|
28
28
|
#
|
|
29
29
|
# Filter the collection to items items tagged 'live' OR 'test'
|
|
30
30
|
#
|
|
31
|
-
#
|
|
31
|
+
# collection.tagged('live', 'test')
|
|
32
32
|
#
|
|
33
33
|
# Filter the collection to items tagged 'live' AND 'webserver'
|
|
34
34
|
#
|
|
35
|
-
#
|
|
35
|
+
# collection.tagged('live').tagged('webserver')
|
|
36
36
|
#
|
|
37
37
|
def tagged *keys
|
|
38
38
|
filter('tag-key', *keys)
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
# Filter the collection by one or more tag values. If you pass multiple
|
|
42
|
-
# tag values they will be be treated as OR conditions. If you want to
|
|
42
|
+
# tag values they will be be treated as OR conditions. If you want to
|
|
43
43
|
# AND them together call tagged multiple times (chained).
|
|
44
44
|
#
|
|
45
|
-
#
|
|
45
|
+
# collection.tagged('stage').tagged_values('production')
|
|
46
46
|
#
|
|
47
47
|
def tagged_values *values
|
|
48
48
|
filter('tag-value', *values)
|
data/lib/aws/ec2/tagged_item.rb
CHANGED
|
@@ -17,11 +17,11 @@ module AWS
|
|
|
17
17
|
|
|
18
18
|
# Adds a single tag with an optional tag value.
|
|
19
19
|
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
20
|
+
# # adds a tag with the key production
|
|
21
|
+
# resource.tag('production')
|
|
22
22
|
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
23
|
+
# # adds a tag with the optional value set to production
|
|
24
|
+
# resource.tag('role', :value => 'webserver')
|
|
25
25
|
#
|
|
26
26
|
# @param [String] key The name of the tag to add.
|
|
27
27
|
# @param [Hash] options
|
|
@@ -29,7 +29,7 @@ module AWS
|
|
|
29
29
|
# @return [Tag] The tag that was created.
|
|
30
30
|
def add_tag key, options = {}
|
|
31
31
|
client.create_tags({
|
|
32
|
-
:resources => [id],
|
|
32
|
+
:resources => [id],
|
|
33
33
|
:tags => [{ :key => key, :value => options[:value].to_s }],
|
|
34
34
|
})
|
|
35
35
|
Tag.new(self, key, options.merge(:config => config))
|
|
@@ -47,11 +47,11 @@ module AWS
|
|
|
47
47
|
# this resource.
|
|
48
48
|
#
|
|
49
49
|
# @example Manipulating the tags of an EC2 instance
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
50
|
+
# i = ec2.instances["i-123"]
|
|
51
|
+
# i.tags.to_h # => { "foo" => "bar", ... }
|
|
52
|
+
# i.tags.clear
|
|
53
|
+
# i.tags.stage = "production"
|
|
54
|
+
# i.tags.stage # => "production"
|
|
55
55
|
#
|
|
56
56
|
# @return [ResourceTagCollection] A collection of tags that
|
|
57
57
|
# belong to this resource.
|
data/lib/aws/ec2/volume.rb
CHANGED
|
@@ -17,27 +17,27 @@ module AWS
|
|
|
17
17
|
# Represents an Amazon EBS volume.
|
|
18
18
|
#
|
|
19
19
|
# @example Create an empty 15GiB volume and attach it to an instance
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
20
|
+
# volume = ec2.volumes.create(:size => 15,
|
|
21
|
+
# :availability_zone => "us-west-2a")
|
|
22
|
+
# attachment = volume.attach_to(ec2.instances["i-123"], "/dev/sdf")
|
|
23
|
+
# sleep 1 until attachment.status != :attaching
|
|
24
24
|
#
|
|
25
25
|
# @example Remove all attachments from a volume and then delete it
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
26
|
+
# volume.attachments.each do |attachment|
|
|
27
|
+
# attachment.delete(:force => true)
|
|
28
|
+
# end
|
|
29
|
+
# sleep 1 until volume.status == :available
|
|
30
|
+
# volume.delete
|
|
31
31
|
#
|
|
32
32
|
# @attr_reader [Symbol] status The status of the volume.
|
|
33
33
|
# Possible values:
|
|
34
34
|
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
35
|
+
# * `:creating`
|
|
36
|
+
# * `:available`
|
|
37
|
+
# * `:in_use`
|
|
38
|
+
# * `:deleting`
|
|
39
|
+
# * `:deleted`
|
|
40
|
+
# * `:error`
|
|
41
41
|
#
|
|
42
42
|
# @attr_reader [Integer] size The size of the volume in
|
|
43
43
|
# gigabytes.
|
|
@@ -144,7 +144,7 @@ module AWS
|
|
|
144
144
|
def exists?
|
|
145
145
|
resp = client.describe_volumes(:filters => [
|
|
146
146
|
{ :name => 'volume-id', :values => [id] }
|
|
147
|
-
])
|
|
147
|
+
])
|
|
148
148
|
resp.volume_index.key?(id)
|
|
149
149
|
end
|
|
150
150
|
|
|
@@ -18,12 +18,11 @@ module AWS
|
|
|
18
18
|
# should get an instance of this class by calling {EC2#volumes}.
|
|
19
19
|
#
|
|
20
20
|
# @example Create an empty 15GiB volume
|
|
21
|
-
#
|
|
22
|
-
# :availability_zone => "us-east-1a")
|
|
21
|
+
# ec2.volumes.create(:size => 15, :availability_zone => "us-west-2a")
|
|
23
22
|
#
|
|
24
23
|
# @example Get a volume by ID
|
|
25
|
-
#
|
|
26
|
-
#
|
|
24
|
+
# volume = ec2.volumes["vol-123"]
|
|
25
|
+
# volume.exists?
|
|
27
26
|
#
|
|
28
27
|
# @example Get a map of volume IDs to volume status
|
|
29
28
|
# ec2.volumes.inject({}) { |m, v| m[v.id] = v.status; m }
|
|
@@ -38,7 +37,7 @@ module AWS
|
|
|
38
37
|
resp = filtered_request(:describe_volumes)
|
|
39
38
|
resp.volume_set.each do |v|
|
|
40
39
|
|
|
41
|
-
volume = Volume.new_from(:describe_volumes, v,
|
|
40
|
+
volume = Volume.new_from(:describe_volumes, v,
|
|
42
41
|
v.volume_id, :config => config)
|
|
43
42
|
|
|
44
43
|
yield(volume)
|
|
@@ -49,19 +48,17 @@ module AWS
|
|
|
49
48
|
|
|
50
49
|
# Creates a new Amazon EBS volume that any Amazon EC2 instance
|
|
51
50
|
# in the same Availability Zone can attach to. For more
|
|
52
|
-
# information about Amazon EBS, go to the
|
|
53
|
-
# Compute Cloud User
|
|
54
|
-
# Guide}[http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using-ebs.html].
|
|
51
|
+
# information about Amazon EBS, go to the [Amazon Elastic Compute Cloud User Guide](http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using-ebs.html).
|
|
55
52
|
#
|
|
56
53
|
# @return [Volume] An object representing the new volume.
|
|
57
54
|
#
|
|
58
55
|
# @param [Hash] options Options for creating the volume.
|
|
59
|
-
#
|
|
60
|
-
#
|
|
56
|
+
# `:availability_zone` and one of `:size`, `:snapshot`, or
|
|
57
|
+
# `:snapshot_id` is required.
|
|
61
58
|
#
|
|
62
59
|
# @option options [Integer] :size The size of the volume, in
|
|
63
|
-
# GiBs. Valid values: 1 - 1024. If
|
|
64
|
-
#
|
|
60
|
+
# GiBs. Valid values: 1 - 1024. If `:snapshot` or
|
|
61
|
+
# `:snapshot_id` is specified, this defaults to the size of
|
|
65
62
|
# the specified snapshot.
|
|
66
63
|
#
|
|
67
64
|
# @option options [Snapshot] :snapshot The snapshot from which to
|
data/lib/aws/ec2/vpc.rb
CHANGED
|
@@ -68,7 +68,7 @@ module AWS
|
|
|
68
68
|
SecurityGroupCollection.new(:config => config).filter('vpc-id', vpc_id)
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
# @return [SubnetCollection] Returns a filtered collection of
|
|
71
|
+
# @return [SubnetCollection] Returns a filtered collection of
|
|
72
72
|
# subnets that are in this VPC.
|
|
73
73
|
def subnets
|
|
74
74
|
SubnetCollection.new(:config => config).filter('vpc-id', vpc_id)
|
|
@@ -120,12 +120,12 @@ module AWS
|
|
|
120
120
|
|
|
121
121
|
if internet_gateway
|
|
122
122
|
unless internet_gateway.is_a?(InternetGateway)
|
|
123
|
-
internet_gateway = InternetGateway.new(internet_gateway,
|
|
123
|
+
internet_gateway = InternetGateway.new(internet_gateway,
|
|
124
124
|
:config => config)
|
|
125
125
|
end
|
|
126
126
|
internet_gateway.attach(self)
|
|
127
127
|
end
|
|
128
|
-
|
|
128
|
+
|
|
129
129
|
end
|
|
130
130
|
|
|
131
131
|
# @return [VPNGateway,nil] Returns the vpn gateway attached to
|
|
@@ -136,7 +136,7 @@ module AWS
|
|
|
136
136
|
gateways.filter('attachment.vpc-id', vpc_id).first
|
|
137
137
|
end
|
|
138
138
|
|
|
139
|
-
# @return [DHCPOptions] Returns the dhcp options associated with
|
|
139
|
+
# @return [DHCPOptions] Returns the dhcp options associated with
|
|
140
140
|
# this VPC.
|
|
141
141
|
def dhcp_options
|
|
142
142
|
DHCPOptions.new(dhcp_options_id, :config => config)
|
|
@@ -153,9 +153,9 @@ module AWS
|
|
|
153
153
|
#
|
|
154
154
|
# @param [DHCPOptions,String] dhcp_options A {DHCPOptions} object
|
|
155
155
|
# or a dhcp options id string.
|
|
156
|
-
#
|
|
156
|
+
#
|
|
157
157
|
def dhcp_options= dhcp_options
|
|
158
|
-
unless dhcp_options.is_a?(DHCPOptions)
|
|
158
|
+
unless dhcp_options.is_a?(DHCPOptions)
|
|
159
159
|
dhcp_options = DHCPOptions.new(dhcp_options, :config => config)
|
|
160
160
|
end
|
|
161
161
|
dhcp_options.associate(self)
|
|
@@ -19,27 +19,27 @@ module AWS
|
|
|
19
19
|
include TaggedCollection
|
|
20
20
|
include Core::Collection::Simple
|
|
21
21
|
|
|
22
|
-
# Creates a VPC with the CIDR block you specify. The smallest VPC you
|
|
23
|
-
# can create uses a /28 netmask (16 IP addresses), and the largest
|
|
24
|
-
# uses a /16 netmask (65,536 IP addresses).
|
|
22
|
+
# Creates a VPC with the CIDR block you specify. The smallest VPC you
|
|
23
|
+
# can create uses a /28 netmask (16 IP addresses), and the largest
|
|
24
|
+
# uses a /16 netmask (65,536 IP addresses).
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# vpc = ec2.vpcs.create('10.0.0.0/16')
|
|
27
27
|
#
|
|
28
|
-
# @param [String] cidr_block The CIDR block you want the VPC to
|
|
28
|
+
# @param [String] cidr_block The CIDR block you want the VPC to
|
|
29
29
|
# cover (e.g., 10.0.0.0/16).
|
|
30
30
|
#
|
|
31
31
|
# @param [Hash] options
|
|
32
32
|
#
|
|
33
|
-
# @option options [Boolean] :instance_tenancy (:default)
|
|
34
|
-
# The allowed tenancy of instances launched into the VPC. A value of
|
|
35
|
-
#
|
|
36
|
-
# of
|
|
33
|
+
# @option options [Boolean] :instance_tenancy (:default)
|
|
34
|
+
# The allowed tenancy of instances launched into the VPC. A value of
|
|
35
|
+
# `:default` means instances can be launched with any tenancy; a value
|
|
36
|
+
# of `:dedicated` means all instances launched into the VPC will be launched with
|
|
37
37
|
# dedicated tenancy regardless of the tenancy assigned to the instance at launch.
|
|
38
38
|
#
|
|
39
39
|
# @return [VPC]
|
|
40
40
|
#
|
|
41
41
|
def create cidr_block, options = {}
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
tenancy = options.key?(:instance_tenancy) ?
|
|
44
44
|
options[:instance_tenancy].to_s : 'default'
|
|
45
45
|
|
|
@@ -25,8 +25,8 @@ module AWS
|
|
|
25
25
|
# @attr_reader [String] customer_gateway_id
|
|
26
26
|
#
|
|
27
27
|
# @attr_reader [String] customer_gateway_configuration
|
|
28
|
-
# Configuration XML for the VPN connection's customer gateway This
|
|
29
|
-
# attribute is always present after creating a vpn connection while
|
|
28
|
+
# Configuration XML for the VPN connection's customer gateway This
|
|
29
|
+
# attribute is always present after creating a vpn connection while
|
|
30
30
|
# the connection state is :pending or :available.
|
|
31
31
|
#
|
|
32
32
|
class VPNConnection < Resource
|
|
@@ -57,13 +57,13 @@ module AWS
|
|
|
57
57
|
attribute :vgw_telemetry_details, :from => :vgw_telemetry
|
|
58
58
|
|
|
59
59
|
protected :vgw_telemetry_details
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
populates_from(:create_vpn_connection) do |resp|
|
|
62
62
|
resp.vpn_connection if resp.vpn_connection.vpn_connection_id == id
|
|
63
63
|
end
|
|
64
64
|
|
|
65
65
|
populates_from(:describe_vpn_connections) do |resp|
|
|
66
|
-
resp.vpn_connection_set.find do |vpn_connection|
|
|
66
|
+
resp.vpn_connection_set.find do |vpn_connection|
|
|
67
67
|
vpn_connection.vpn_connection_id == vpn_connection_id
|
|
68
68
|
end
|
|
69
69
|
end
|
|
@@ -19,7 +19,7 @@ module AWS
|
|
|
19
19
|
include TaggedCollection
|
|
20
20
|
include Core::Collection::Simple
|
|
21
21
|
|
|
22
|
-
# Creates a new VPN connection between an existing virtual private
|
|
22
|
+
# Creates a new VPN connection between an existing virtual private
|
|
23
23
|
# gateway and a VPN customer gateway.
|
|
24
24
|
#
|
|
25
25
|
# @param [Hash] options
|
|
@@ -30,13 +30,13 @@ module AWS
|
|
|
30
30
|
# @option options [VPNGateway,String] :vpn_gateway
|
|
31
31
|
# The {VPNGateway} object or vpn gateway id string.
|
|
32
32
|
#
|
|
33
|
-
# @option options [String] :vpn_type ('ipsec.1')
|
|
33
|
+
# @option options [String] :vpn_type ('ipsec.1')
|
|
34
34
|
# The type of VPN connection.
|
|
35
35
|
#
|
|
36
36
|
# @return [VPNConnection]
|
|
37
37
|
#
|
|
38
38
|
def create options = {}
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
client_opts = {}
|
|
41
41
|
client_opts[:customer_gateway_id] = customer_gateway_id(options)
|
|
42
42
|
client_opts[:vpn_gateway_id] = vpn_gateway_id(options)
|
|
@@ -51,8 +51,8 @@ module AWS
|
|
|
51
51
|
|
|
52
52
|
# Returns a reference to the VPN connection with the given id.
|
|
53
53
|
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
54
|
+
# vpn_connection = ec2.vpn_connections['vpn-connection-id']
|
|
55
|
+
#
|
|
56
56
|
# @param [String] vpn_connection_id
|
|
57
57
|
#
|
|
58
58
|
# @return [VPNConnection]
|
|
@@ -67,7 +67,7 @@ module AWS
|
|
|
67
67
|
response = filtered_request(:describe_vpn_connections, options, &block)
|
|
68
68
|
response.vpn_connection_set.each do |c|
|
|
69
69
|
|
|
70
|
-
vpn_connection = VPNConnection.new_from(:describe_vpn_connections,
|
|
70
|
+
vpn_connection = VPNConnection.new_from(:describe_vpn_connections,
|
|
71
71
|
c, c.vpn_connection_id, :config => config)
|
|
72
72
|
|
|
73
73
|
yield(vpn_connection)
|
data/lib/aws/ec2/vpn_gateway.rb
CHANGED
|
@@ -43,7 +43,7 @@ module AWS
|
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
populates_from(:describe_vpn_gateways) do |resp|
|
|
46
|
-
resp.vpn_gateway_set.find do |gateway|
|
|
46
|
+
resp.vpn_gateway_set.find do |gateway|
|
|
47
47
|
gateway.vpn_gateway_id == vpn_gateway_id
|
|
48
48
|
end
|
|
49
49
|
end
|
|
@@ -56,7 +56,7 @@ module AWS
|
|
|
56
56
|
# @return [VPC,nil] Returns the currently attached VPC, or nil
|
|
57
57
|
# if this gateway has not been attached.
|
|
58
58
|
def vpc
|
|
59
|
-
if attachment = attachments.first
|
|
59
|
+
if attachment = attachments.first
|
|
60
60
|
attachment.vpc
|
|
61
61
|
end
|
|
62
62
|
end
|
|
@@ -19,20 +19,20 @@ module AWS
|
|
|
19
19
|
include TaggedCollection
|
|
20
20
|
include Core::Collection::Simple
|
|
21
21
|
|
|
22
|
-
# Creates a new virtual private gateway. A virtual private gateway is
|
|
23
|
-
# the VPC-side endpoint for your VPN connection. You can create a
|
|
22
|
+
# Creates a new virtual private gateway. A virtual private gateway is
|
|
23
|
+
# the VPC-side endpoint for your VPN connection. You can create a
|
|
24
24
|
# virtual private gateway before creating the VPC itself.
|
|
25
25
|
#
|
|
26
26
|
# @param [Hash] options
|
|
27
27
|
#
|
|
28
|
-
# @option options [String] :vpn_type ('ipsec.1') The type of VPN
|
|
28
|
+
# @option options [String] :vpn_type ('ipsec.1') The type of VPN
|
|
29
29
|
# connection this virtual private gateway supports.
|
|
30
30
|
#
|
|
31
31
|
# @option options [AvailabilityZone,String] :availability_zone
|
|
32
32
|
# The Availability Zone where you want the virtual private gateway.
|
|
33
33
|
# AWS can select a default zone for you. This can be an
|
|
34
34
|
# {AvailabilityZone} object or availability zone name string.
|
|
35
|
-
#
|
|
35
|
+
#
|
|
36
36
|
# @return [VPNGateway]
|
|
37
37
|
#
|
|
38
38
|
def create options = {}
|
|
@@ -64,7 +64,7 @@ module AWS
|
|
|
64
64
|
response = filtered_request(:describe_vpn_gateways, options, &block)
|
|
65
65
|
response.vpn_gateway_set.each do |g|
|
|
66
66
|
|
|
67
|
-
gateway = VPNGateway.new_from(:describe_vpn_gateways, g,
|
|
67
|
+
gateway = VPNGateway.new_from(:describe_vpn_gateways, g,
|
|
68
68
|
g.vpn_gateway_id, :config => config)
|
|
69
69
|
|
|
70
70
|
yield(gateway)
|
|
@@ -18,33 +18,33 @@ module AWS
|
|
|
18
18
|
|
|
19
19
|
# Provides an expressive, object-oriented interface to AWS Elastic Beanstalk.
|
|
20
20
|
#
|
|
21
|
-
#
|
|
21
|
+
# ## Credentials
|
|
22
22
|
#
|
|
23
23
|
# You can setup default credentials for all AWS services via
|
|
24
24
|
# AWS.config:
|
|
25
25
|
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
26
|
+
# AWS.config(
|
|
27
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
28
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
29
29
|
#
|
|
30
30
|
# Or you can set them directly on the ElasticBeanstalk interface:
|
|
31
31
|
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
32
|
+
# beanstalk = AWS::ElasticBeanstalk.new(
|
|
33
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
34
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
35
35
|
#
|
|
36
36
|
# @!attribute [r] client
|
|
37
37
|
# @return [Client] the low-level ElasticBeanstalk client object
|
|
38
38
|
class ElasticBeanstalk
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
autoload :Request, 'request'
|
|
44
|
-
end
|
|
40
|
+
autoload :Client, 'aws/elastic_beanstalk/client'
|
|
41
|
+
autoload :Errors, 'aws/elastic_beanstalk/errors'
|
|
42
|
+
autoload :Request, 'aws/elastic_beanstalk/request'
|
|
45
43
|
|
|
46
44
|
include Core::ServiceInterface
|
|
47
45
|
|
|
46
|
+
endpoint_prefix 'elasticbeanstalk'
|
|
47
|
+
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
end
|