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
|
@@ -0,0 +1,74 @@
|
|
|
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/direct_connect/config'
|
|
16
|
+
|
|
17
|
+
module AWS
|
|
18
|
+
|
|
19
|
+
# This class is the starting point for working with AWS Import/Export.
|
|
20
|
+
#
|
|
21
|
+
# To use AWS Direct Connect you must first
|
|
22
|
+
# [sign up here](http://aws.amazon.com/directconnect/).
|
|
23
|
+
#
|
|
24
|
+
# For more information about AWS AWS Direct Connect:
|
|
25
|
+
#
|
|
26
|
+
# * [AWS Direct Connect](http://aws.amazon.com/directconnect/)
|
|
27
|
+
# * [AWS Direct Connect Documentation](http://aws.amazon.com/documentation/directconnect/)
|
|
28
|
+
#
|
|
29
|
+
# # Credentials
|
|
30
|
+
#
|
|
31
|
+
# You can setup default credentials for all AWS services via
|
|
32
|
+
# AWS.config:
|
|
33
|
+
#
|
|
34
|
+
# AWS.config(
|
|
35
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
36
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
37
|
+
#
|
|
38
|
+
# Or you can set them directly on the AWS::DirectConnect interface:
|
|
39
|
+
#
|
|
40
|
+
# dc = AWS::DirectConnect.new(
|
|
41
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
42
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
43
|
+
#
|
|
44
|
+
# # Using the Client
|
|
45
|
+
#
|
|
46
|
+
# AWS::DirectConnect does not provide higher level abstractions for at
|
|
47
|
+
# this time. You can still access all of the API methods using
|
|
48
|
+
# {AWS::DirectConnect::Client}. Here is how you access the client and make
|
|
49
|
+
# a simple request:
|
|
50
|
+
#
|
|
51
|
+
# dc = AWS::DirectConnect.new
|
|
52
|
+
#
|
|
53
|
+
# resp = dc.client.describe_connections
|
|
54
|
+
# resp[:connections].each do |connection|
|
|
55
|
+
# # ...
|
|
56
|
+
# end
|
|
57
|
+
#
|
|
58
|
+
# See {Client} for documentation on all of the supported operations.
|
|
59
|
+
#
|
|
60
|
+
# @!attribute [r] client
|
|
61
|
+
# @return [Client] the low-level DirectConnect client object
|
|
62
|
+
#
|
|
63
|
+
class DirectConnect
|
|
64
|
+
|
|
65
|
+
autoload :Client, 'aws/direct_connect/client'
|
|
66
|
+
autoload :Errors, 'aws/direct_connect/errors'
|
|
67
|
+
autoload :Request, 'aws/direct_connect/request'
|
|
68
|
+
|
|
69
|
+
include Core::ServiceInterface
|
|
70
|
+
|
|
71
|
+
endpoint_prefix 'directconnect'
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,253 @@
|
|
|
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 DirectConnect
|
|
16
|
+
|
|
17
|
+
# Client class for AWS Direct Connect.
|
|
18
|
+
class Client < Core::JSONClient
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
CACHEABLE_REQUESTS = Set[]
|
|
22
|
+
|
|
23
|
+
# client methods #
|
|
24
|
+
|
|
25
|
+
# @!method create_connection(options = {})
|
|
26
|
+
# Calls the CreateConnection API operation.
|
|
27
|
+
# @param [Hash] options
|
|
28
|
+
# * `:offering_id` - *required* - (String)
|
|
29
|
+
# * `:connection_name` - *required* - (String)
|
|
30
|
+
# @return [Core::Response]
|
|
31
|
+
# The #data method of the response object returns
|
|
32
|
+
# a hash with the following structure:
|
|
33
|
+
# * `:connection_id` - (String)
|
|
34
|
+
# * `:connection_name` - (String)
|
|
35
|
+
# * `:connection_state` - (String)
|
|
36
|
+
# * `:region` - (String)
|
|
37
|
+
# * `:location` - (String)
|
|
38
|
+
|
|
39
|
+
# @!method create_private_virtual_interface(options = {})
|
|
40
|
+
# Calls the CreatePrivateVirtualInterface API operation.
|
|
41
|
+
# @param [Hash] options
|
|
42
|
+
# * `:connection_id` - (String)
|
|
43
|
+
# * `:new_private_virtual_interface` - (Hash) Detailed information of
|
|
44
|
+
# the private virtual interface to be created. Default: None
|
|
45
|
+
# * `:virtual_interface_name` - (String)
|
|
46
|
+
# * `:vlan` - (Integer)
|
|
47
|
+
# * `:asn` - (Integer)
|
|
48
|
+
# * `:auth_key` - (String)
|
|
49
|
+
# * `:amazon_address` - (String)
|
|
50
|
+
# * `:customer_address` - (String)
|
|
51
|
+
# * `:virtual_gateway_id` - (String)
|
|
52
|
+
# @return [Core::Response]
|
|
53
|
+
# The #data method of the response object returns
|
|
54
|
+
# a hash with the following structure:
|
|
55
|
+
# * `:virtual_interface_id` - (String)
|
|
56
|
+
# * `:location` - (String)
|
|
57
|
+
# * `:connection_id` - (String)
|
|
58
|
+
# * `:virtual_interface_type` - (String)
|
|
59
|
+
# * `:virtual_interface_name` - (String)
|
|
60
|
+
# * `:vlan` - (Integer)
|
|
61
|
+
# * `:asn` - (Integer)
|
|
62
|
+
# * `:auth_key` - (String)
|
|
63
|
+
# * `:amazon_address` - (String)
|
|
64
|
+
# * `:customer_address` - (String)
|
|
65
|
+
# * `:virtual_interface_state` - (String)
|
|
66
|
+
# * `:customer_router_config` - (String)
|
|
67
|
+
# * `:virtual_gateway_id` - (String)
|
|
68
|
+
# * `:route_filter_prefixes` - (Array<Hash>)
|
|
69
|
+
# * `:cidr` - (String)
|
|
70
|
+
|
|
71
|
+
# @!method create_public_virtual_interface(options = {})
|
|
72
|
+
# Calls the CreatePublicVirtualInterface API operation.
|
|
73
|
+
# @param [Hash] options
|
|
74
|
+
# * `:connection_id` - (String)
|
|
75
|
+
# * `:new_public_virtual_interface` - (Hash) Detailed information of
|
|
76
|
+
# the public virtual interface to be created. Default: None
|
|
77
|
+
# * `:virtual_interface_name` - (String)
|
|
78
|
+
# * `:vlan` - (Integer)
|
|
79
|
+
# * `:asn` - (Integer)
|
|
80
|
+
# * `:auth_key` - (String)
|
|
81
|
+
# * `:amazon_address` - (String)
|
|
82
|
+
# * `:customer_address` - (String)
|
|
83
|
+
# * `:route_filter_prefixes` - (Array<Hash>)
|
|
84
|
+
# * `:cidr` - (String) CIDR notation for the advertised route.
|
|
85
|
+
# Multiple routes are separated by commas Example:
|
|
86
|
+
# 10.10.10.0/24,10.10.11.0/24
|
|
87
|
+
# @return [Core::Response]
|
|
88
|
+
# The #data method of the response object returns
|
|
89
|
+
# a hash with the following structure:
|
|
90
|
+
# * `:virtual_interface_id` - (String)
|
|
91
|
+
# * `:location` - (String)
|
|
92
|
+
# * `:connection_id` - (String)
|
|
93
|
+
# * `:virtual_interface_type` - (String)
|
|
94
|
+
# * `:virtual_interface_name` - (String)
|
|
95
|
+
# * `:vlan` - (Integer)
|
|
96
|
+
# * `:asn` - (Integer)
|
|
97
|
+
# * `:auth_key` - (String)
|
|
98
|
+
# * `:amazon_address` - (String)
|
|
99
|
+
# * `:customer_address` - (String)
|
|
100
|
+
# * `:virtual_interface_state` - (String)
|
|
101
|
+
# * `:customer_router_config` - (String)
|
|
102
|
+
# * `:virtual_gateway_id` - (String)
|
|
103
|
+
# * `:route_filter_prefixes` - (Array<Hash>)
|
|
104
|
+
# * `:cidr` - (String)
|
|
105
|
+
|
|
106
|
+
# @!method delete_connection(options = {})
|
|
107
|
+
# Calls the DeleteConnection API operation.
|
|
108
|
+
# @param [Hash] options
|
|
109
|
+
# * `:connection_id` - *required* - (String)
|
|
110
|
+
# @return [Core::Response]
|
|
111
|
+
# The #data method of the response object returns
|
|
112
|
+
# a hash with the following structure:
|
|
113
|
+
# * `:connection_id` - (String)
|
|
114
|
+
# * `:connection_name` - (String)
|
|
115
|
+
# * `:connection_state` - (String)
|
|
116
|
+
# * `:region` - (String)
|
|
117
|
+
# * `:location` - (String)
|
|
118
|
+
|
|
119
|
+
# @!method delete_virtual_interface(options = {})
|
|
120
|
+
# Calls the DeleteVirtualInterface API operation.
|
|
121
|
+
# @param [Hash] options
|
|
122
|
+
# * `:virtual_interface_id` - (String)
|
|
123
|
+
# @return [Core::Response]
|
|
124
|
+
# The #data method of the response object returns
|
|
125
|
+
# a hash with the following structure:
|
|
126
|
+
# * `:virtual_interface_state` - (String)
|
|
127
|
+
|
|
128
|
+
# @!method describe_connection_detail(options = {})
|
|
129
|
+
# Calls the DescribeConnectionDetail API operation.
|
|
130
|
+
# @param [Hash] options
|
|
131
|
+
# * `:connection_id` - *required* - (String)
|
|
132
|
+
# @return [Core::Response]
|
|
133
|
+
# The #data method of the response object returns
|
|
134
|
+
# a hash with the following structure:
|
|
135
|
+
# * `:connection_id` - (String)
|
|
136
|
+
# * `:connection_name` - (String)
|
|
137
|
+
# * `:connection_state` - (String)
|
|
138
|
+
# * `:region` - (String)
|
|
139
|
+
# * `:location` - (String)
|
|
140
|
+
# * `:bandwidth` - (String)
|
|
141
|
+
# * `:connection_costs` - (Array<Hash>)
|
|
142
|
+
# * `:name` - (String)
|
|
143
|
+
# * `:unit` - (String)
|
|
144
|
+
# * `:currency_code` - (String)
|
|
145
|
+
# * `:amount` - (String)
|
|
146
|
+
# * `:order_steps` - (Array<Hash>)
|
|
147
|
+
# * `:number` - (String)
|
|
148
|
+
# * `:name` - (String)
|
|
149
|
+
# * `:description` - (String)
|
|
150
|
+
# * `:owner` - (String)
|
|
151
|
+
# * `:sla` - (Integer)
|
|
152
|
+
# * `:step_state` - (String)
|
|
153
|
+
|
|
154
|
+
# @!method describe_connections(options = {})
|
|
155
|
+
# Calls the DescribeConnections API operation.
|
|
156
|
+
# @param [Hash] options
|
|
157
|
+
# * `:connection_id` - (String)
|
|
158
|
+
# @return [Core::Response]
|
|
159
|
+
# The #data method of the response object returns
|
|
160
|
+
# a hash with the following structure:
|
|
161
|
+
# * `:connections` - (Array<Hash>)
|
|
162
|
+
# * `:connection_id` - (String)
|
|
163
|
+
# * `:connection_name` - (String)
|
|
164
|
+
# * `:connection_state` - (String)
|
|
165
|
+
# * `:region` - (String)
|
|
166
|
+
# * `:location` - (String)
|
|
167
|
+
|
|
168
|
+
# @!method describe_offering_detail(options = {})
|
|
169
|
+
# Calls the DescribeOfferingDetail API operation.
|
|
170
|
+
# @param [Hash] options
|
|
171
|
+
# * `:offering_id` - *required* - (String)
|
|
172
|
+
# @return [Core::Response]
|
|
173
|
+
# The #data method of the response object returns
|
|
174
|
+
# a hash with the following structure:
|
|
175
|
+
# * `:offering_id` - (String)
|
|
176
|
+
# * `:region` - (String)
|
|
177
|
+
# * `:location` - (String)
|
|
178
|
+
# * `:offering_name` - (String)
|
|
179
|
+
# * `:description` - (String)
|
|
180
|
+
# * `:bandwidth` - (String)
|
|
181
|
+
# * `:connection_costs` - (Array<Hash>)
|
|
182
|
+
# * `:name` - (String)
|
|
183
|
+
# * `:unit` - (String)
|
|
184
|
+
# * `:currency_code` - (String)
|
|
185
|
+
# * `:amount` - (String)
|
|
186
|
+
# * `:order_steps` - (Array<Hash>)
|
|
187
|
+
# * `:number` - (String)
|
|
188
|
+
# * `:name` - (String)
|
|
189
|
+
# * `:description` - (String)
|
|
190
|
+
# * `:owner` - (String)
|
|
191
|
+
# * `:sla` - (Integer)
|
|
192
|
+
|
|
193
|
+
# @!method describe_offerings(options = {})
|
|
194
|
+
# Calls the DescribeOfferings API operation.
|
|
195
|
+
# @param [Hash] options
|
|
196
|
+
# @return [Core::Response]
|
|
197
|
+
# The #data method of the response object returns
|
|
198
|
+
# a hash with the following structure:
|
|
199
|
+
# * `:offerings` - (Array<Hash>)
|
|
200
|
+
# * `:offering_id` - (String)
|
|
201
|
+
# * `:region` - (String)
|
|
202
|
+
# * `:location` - (String)
|
|
203
|
+
# * `:offering_name` - (String)
|
|
204
|
+
# * `:description` - (String)
|
|
205
|
+
# * `:bandwidth` - (String)
|
|
206
|
+
# * `:connection_costs` - (Array<Hash>)
|
|
207
|
+
# * `:name` - (String)
|
|
208
|
+
# * `:unit` - (String)
|
|
209
|
+
# * `:currency_code` - (String)
|
|
210
|
+
# * `:amount` - (String)
|
|
211
|
+
|
|
212
|
+
# @!method describe_virtual_gateways(options = {})
|
|
213
|
+
# Calls the DescribeVirtualGateways API operation.
|
|
214
|
+
# @param [Hash] options
|
|
215
|
+
# @return [Core::Response]
|
|
216
|
+
# The #data method of the response object returns
|
|
217
|
+
# a hash with the following structure:
|
|
218
|
+
# * `:virtual_gateways` - (Array<Hash>)
|
|
219
|
+
# * `:virtual_gateway_id` - (String)
|
|
220
|
+
# * `:virtual_gateway_state` - (String)
|
|
221
|
+
|
|
222
|
+
# @!method describe_virtual_interfaces(options = {})
|
|
223
|
+
# Calls the DescribeVirtualInterfaces API operation.
|
|
224
|
+
# @param [Hash] options
|
|
225
|
+
# * `:connection_id` - (String)
|
|
226
|
+
# * `:virtual_interface_id` - (String)
|
|
227
|
+
# @return [Core::Response]
|
|
228
|
+
# The #data method of the response object returns
|
|
229
|
+
# a hash with the following structure:
|
|
230
|
+
# * `:virtual_interfaces` - (Array<Hash>)
|
|
231
|
+
# * `:virtual_interface_id` - (String)
|
|
232
|
+
# * `:location` - (String)
|
|
233
|
+
# * `:connection_id` - (String)
|
|
234
|
+
# * `:virtual_interface_type` - (String)
|
|
235
|
+
# * `:virtual_interface_name` - (String)
|
|
236
|
+
# * `:vlan` - (Integer)
|
|
237
|
+
# * `:asn` - (Integer)
|
|
238
|
+
# * `:auth_key` - (String)
|
|
239
|
+
# * `:amazon_address` - (String)
|
|
240
|
+
# * `:customer_address` - (String)
|
|
241
|
+
# * `:virtual_interface_state` - (String)
|
|
242
|
+
# * `:customer_router_config` - (String)
|
|
243
|
+
# * `:virtual_gateway_id` - (String)
|
|
244
|
+
# * `:route_filter_prefixes` - (Array<Hash>)
|
|
245
|
+
# * `:cidr` - (String)
|
|
246
|
+
|
|
247
|
+
# end client methods #
|
|
248
|
+
|
|
249
|
+
define_client_methods('2012-10-25')
|
|
250
|
+
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
end
|
|
@@ -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 'DirectConnect', 'direct_connect', 'directconnect.%s.amazonaws.com'
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
5
|
+
# may not use this file except in compliance with the License. A copy of
|
|
6
|
+
# the License is located at
|
|
7
|
+
#
|
|
8
|
+
# http://aws.amazon.com/apache2.0/
|
|
9
|
+
#
|
|
10
|
+
# or in the "license" file accompanying this file. This file is
|
|
11
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
12
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
13
|
+
# language governing permissions and limitations under the License.
|
|
14
|
+
|
|
15
|
+
module AWS
|
|
16
|
+
class DirectConnect
|
|
17
|
+
# @private
|
|
18
|
+
module Errors
|
|
19
|
+
extend Core::LazyErrorClasses
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
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 DirectConnect
|
|
16
|
+
# @private
|
|
17
|
+
class Request < Core::Http::Request
|
|
18
|
+
|
|
19
|
+
include Core::Signature::Version4
|
|
20
|
+
|
|
21
|
+
def service
|
|
22
|
+
'directconnect'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/lib/aws/dynamo_db.rb
CHANGED
|
@@ -18,11 +18,11 @@ module AWS
|
|
|
18
18
|
|
|
19
19
|
# Provides a high-level interface for using DynamoDB.
|
|
20
20
|
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
21
|
+
# dynamo_db = AWS::DynamoDB.new(
|
|
22
|
+
# :access_key_id => '...',
|
|
23
|
+
# :secret_access_key => '...')
|
|
24
24
|
#
|
|
25
|
-
#
|
|
25
|
+
# # Tables
|
|
26
26
|
#
|
|
27
27
|
# Tables contain items, and organize information into discrete
|
|
28
28
|
# areas. All items in the table have the same primary key
|
|
@@ -32,16 +32,16 @@ module AWS
|
|
|
32
32
|
# step in writing data to DynamoDB is to create a table and
|
|
33
33
|
# designate a table name with a primary key.
|
|
34
34
|
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
35
|
+
# table = dynamo_db.tables.create(
|
|
36
|
+
# "MyTable",
|
|
37
|
+
# :hash_key => { :id => :string }
|
|
38
|
+
# )
|
|
39
|
+
# sleep 1 while table.status == :creating
|
|
40
40
|
#
|
|
41
41
|
# See {Table} and {TableCollection} for more information on creating
|
|
42
42
|
# and managing tables.
|
|
43
43
|
#
|
|
44
|
-
#
|
|
44
|
+
# # Items and Attributes
|
|
45
45
|
#
|
|
46
46
|
# An item is a collection of one or more attributes, where each
|
|
47
47
|
# attribute has a string name and a string, number, string set or
|
|
@@ -50,80 +50,82 @@ module AWS
|
|
|
50
50
|
# The identity of an item consists of its hash key value and -- if
|
|
51
51
|
# the table's schema includes a range key -- its range key value.
|
|
52
52
|
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
53
|
+
# item = table.items.put(:id => "abc123")
|
|
54
|
+
# item.hash_value # => "abc123"
|
|
55
|
+
# item.attributes.set(
|
|
56
|
+
# :colors => ["red", "blue"],
|
|
57
|
+
# :numbers => [12, 24]
|
|
58
|
+
# )
|
|
59
59
|
#
|
|
60
60
|
# See {Item} and {ItemCollection} for more information on creating
|
|
61
61
|
# and managing items. For more information on managing attributes,
|
|
62
62
|
# see {AttributeCollection}.
|
|
63
63
|
#
|
|
64
|
-
#
|
|
64
|
+
# # Examples
|
|
65
65
|
#
|
|
66
|
-
#
|
|
67
|
-
#
|
|
68
|
-
#
|
|
69
|
-
#
|
|
66
|
+
# # create a table (10 read and 5 write capacity units) with the
|
|
67
|
+
# # default schema (id string hash key)
|
|
68
|
+
# dynamo_db = AWS::DynamoDB.new
|
|
69
|
+
# table = dynamo_db.tables.create('my-table', 10, 5)
|
|
70
70
|
#
|
|
71
|
-
#
|
|
72
|
-
#
|
|
71
|
+
# sleep 1 while table.status == :creating
|
|
72
|
+
# table.status #=> :active
|
|
73
73
|
#
|
|
74
|
-
#
|
|
75
|
-
#
|
|
76
|
-
#
|
|
74
|
+
# # get an existing table by name and specify its hash key
|
|
75
|
+
# table = dynamo_db.tables['another-table']
|
|
76
|
+
# table.hash_key = [:id, :number]
|
|
77
77
|
#
|
|
78
|
-
#
|
|
79
|
-
#
|
|
78
|
+
# # add an item
|
|
79
|
+
# item = table.items.create('id' => 12345, 'foo' => 'bar')
|
|
80
80
|
#
|
|
81
|
-
#
|
|
82
|
-
#
|
|
81
|
+
# # add attributes to an item
|
|
82
|
+
# item.attributes.add 'category' => %w(demo), 'tags' => %w(sample item)
|
|
83
83
|
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
-
#
|
|
84
|
+
# # update an item with mixed add, delete, update
|
|
85
|
+
# item.attributes.update do |u|
|
|
86
|
+
# u.add 'colors' => %w(red)
|
|
87
|
+
# u.set 'category' => 'demo-category'
|
|
88
|
+
# u.delete 'foo'
|
|
89
|
+
# end
|
|
90
90
|
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
91
|
+
# # delete attributes
|
|
92
|
+
# item.attributes.delete 'colors', 'category'
|
|
93
93
|
#
|
|
94
|
-
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
94
|
+
# # get attributes
|
|
95
|
+
# item.attributes.to_h
|
|
96
|
+
# #=> {"id"=>#<BigDecimal:10155f5d0,'0.12345E5',9(18)>, "tags"=>#<Set: {"item", "sample"}>}
|
|
97
97
|
#
|
|
98
|
-
#
|
|
99
|
-
#
|
|
98
|
+
# # delete an item and all of its attributes
|
|
99
|
+
# item.delete
|
|
100
100
|
#
|
|
101
101
|
# @!attribute [r] client
|
|
102
102
|
# @return [Client] the low-level DynamoDB client object
|
|
103
103
|
class DynamoDB
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
105
|
+
autoload :AttributeCollection, 'aws/dynamo_db/attribute_collection'
|
|
106
|
+
autoload :BatchGet, 'aws/dynamo_db/batch_get'
|
|
107
|
+
autoload :BatchWrite, 'aws/dynamo_db/batch_write'
|
|
108
|
+
autoload :Binary, 'aws/dynamo_db/binary'
|
|
109
|
+
autoload :ClientBase, 'aws/dynamo_db/client_base'
|
|
110
|
+
autoload :Client, 'aws/dynamo_db/client'
|
|
111
|
+
autoload :ClientV2, 'aws/dynamo_db/client_v2'
|
|
112
|
+
autoload :Errors, 'aws/dynamo_db/errors'
|
|
113
|
+
autoload :Expectations, 'aws/dynamo_db/expectations'
|
|
114
|
+
autoload :Item, 'aws/dynamo_db/item'
|
|
115
|
+
autoload :ItemData, 'aws/dynamo_db/item_data'
|
|
116
|
+
autoload :ItemCollection, 'aws/dynamo_db/item_collection'
|
|
117
|
+
autoload :Keys, 'aws/dynamo_db/keys'
|
|
118
|
+
autoload :PrimaryKeyElement, 'aws/dynamo_db/primary_key_element'
|
|
119
|
+
autoload :Request, 'aws/dynamo_db/request'
|
|
120
|
+
autoload :Resource, 'aws/dynamo_db/resource'
|
|
121
|
+
autoload :Table, 'aws/dynamo_db/table'
|
|
122
|
+
autoload :TableCollection, 'aws/dynamo_db/table_collection'
|
|
123
|
+
autoload :Types, 'aws/dynamo_db/types'
|
|
124
124
|
|
|
125
125
|
include Core::ServiceInterface
|
|
126
126
|
|
|
127
|
+
endpoint_prefix 'dynamodb'
|
|
128
|
+
|
|
127
129
|
# Returns a collection representing all the tables in your account.
|
|
128
130
|
#
|
|
129
131
|
# @return [TableCollection]
|
|
@@ -134,21 +136,21 @@ module AWS
|
|
|
134
136
|
# Request attributes for items spanning multiple tables. You configure
|
|
135
137
|
# you batch get request using a block:
|
|
136
138
|
#
|
|
137
|
-
#
|
|
138
|
-
#
|
|
139
|
-
#
|
|
140
|
-
#
|
|
139
|
+
# attributes = dynamo_db.batch_get do |batch|
|
|
140
|
+
# # call methods on batch specify tables, attributes and items
|
|
141
|
+
# # ...
|
|
142
|
+
# end
|
|
141
143
|
#
|
|
142
144
|
# The value returned by #batch_get is an enumerable object that yields
|
|
143
145
|
# the table name (as a string) and a hash of attributes. The
|
|
144
146
|
# enumerable yields once per item received in the batch get.
|
|
145
147
|
#
|
|
146
|
-
#
|
|
148
|
+
# ## Configuring the batch
|
|
147
149
|
#
|
|
148
150
|
# You can call two methods on the yielded batch object:
|
|
149
151
|
#
|
|
150
|
-
#
|
|
151
|
-
#
|
|
152
|
+
# * {#table}
|
|
153
|
+
# * {#items}
|
|
152
154
|
#
|
|
153
155
|
# For more information on these methods, see {BatchGet}.
|
|
154
156
|
#
|