aws_sdk 3.1.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/lib/aws-sdk.rb +14 -0
- data/lib/aws.rb +49 -0
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +791 -0
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +303 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +540 -0
- data/lib/aws/api_config/EC2-2011-12-15.yml +3638 -0
- data/lib/aws/api_config/EC2-2012-04-01.yml +3739 -0
- data/lib/aws/api_config/ELB-2011-08-15.yml +512 -0
- data/lib/aws/api_config/IAM-2010-05-08.yml +1221 -0
- data/lib/aws/api_config/SNS-2010-03-31.yml +248 -0
- data/lib/aws/api_config/SQS-2011-10-01.yml +314 -0
- data/lib/aws/api_config/STS-2011-06-15.yml +54 -0
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +305 -0
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +231 -0
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +721 -0
- data/lib/aws/auto_scaling.rb +162 -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 +765 -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 +150 -0
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +144 -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 +23 -0
- data/lib/aws/auto_scaling/scaling_policy.rb +125 -0
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
- data/lib/aws/auto_scaling/scaling_policy_options.rb +61 -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 +270 -0
- data/lib/aws/cloud_formation/client.rb +339 -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 +256 -0
- data/lib/aws/cloud_formation/stack_collection.rb +206 -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 +72 -0
- data/lib/aws/cloud_formation/stack_summary.rb +71 -0
- data/lib/aws/cloud_formation/stack_summary_collection.rb +127 -0
- data/lib/aws/core.rb +474 -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 +541 -0
- data/lib/aws/core/client/query_json.rb +110 -0
- data/lib/aws/core/client/query_xml.rb +122 -0
- data/lib/aws/core/collection.rb +234 -0
- data/lib/aws/core/collection/limitable.rb +99 -0
- data/lib/aws/core/collection/simple.rb +90 -0
- data/lib/aws/core/configuration.rb +445 -0
- data/lib/aws/core/data.rb +242 -0
- data/lib/aws/core/default_signer.rb +67 -0
- data/lib/aws/core/http/curb_handler.rb +136 -0
- data/lib/aws/core/http/handler.rb +77 -0
- data/lib/aws/core/http/httparty_handler.rb +114 -0
- data/lib/aws/core/http/net_http_handler.rb +85 -0
- data/lib/aws/core/http/request.rb +250 -0
- data/lib/aws/core/http/response.rb +74 -0
- data/lib/aws/core/indifferent_hash.rb +88 -0
- data/lib/aws/core/inflection.rb +47 -0
- data/lib/aws/core/lazy_error_classes.rb +90 -0
- data/lib/aws/core/log_formatter.rb +454 -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 +700 -0
- data/lib/aws/core/page_result.rb +73 -0
- data/lib/aws/core/policy.rb +916 -0
- data/lib/aws/core/resource.rb +408 -0
- data/lib/aws/core/resource_cache.rb +40 -0
- data/lib/aws/core/response.rb +202 -0
- data/lib/aws/core/response_cache.rb +50 -0
- data/lib/aws/core/service_interface.rb +61 -0
- data/lib/aws/core/session_signer.rb +90 -0
- data/lib/aws/core/signature/version_2.rb +42 -0
- data/lib/aws/core/signature/version_3.rb +73 -0
- data/lib/aws/core/signature/version_3_http.rb +72 -0
- data/lib/aws/core/signature/version_4.rb +138 -0
- data/lib/aws/core/uri_escape.rb +42 -0
- data/lib/aws/core/xml/frame.rb +242 -0
- data/lib/aws/core/xml/frame_stack.rb +85 -0
- data/lib/aws/core/xml/grammar.rb +299 -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/dynamo_db.rb +213 -0
- data/lib/aws/dynamo_db/attribute_collection.rb +460 -0
- data/lib/aws/dynamo_db/batch_get.rb +206 -0
- data/lib/aws/dynamo_db/batch_write.rb +251 -0
- data/lib/aws/dynamo_db/client.rb +888 -0
- data/lib/aws/dynamo_db/config.rb +20 -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 +130 -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 +47 -0
- data/lib/aws/dynamo_db/request.rb +28 -0
- data/lib/aws/dynamo_db/resource.rb +33 -0
- data/lib/aws/dynamo_db/table.rb +489 -0
- data/lib/aws/dynamo_db/table_collection.rb +165 -0
- data/lib/aws/dynamo_db/types.rb +86 -0
- data/lib/aws/ec2.rb +431 -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 +87 -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 +4121 -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 +157 -0
- data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
- data/lib/aws/ec2/errors.rb +32 -0
- data/lib/aws/ec2/filtered_collection.rb +90 -0
- data/lib/aws/ec2/has_permissions.rb +44 -0
- data/lib/aws/ec2/image.rb +254 -0
- data/lib/aws/ec2/image_collection.rb +228 -0
- data/lib/aws/ec2/instance.rb +669 -0
- data/lib/aws/ec2/instance_collection.rb +346 -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 +97 -0
- data/lib/aws/ec2/region_collection.rb +51 -0
- data/lib/aws/ec2/request.rb +22 -0
- data/lib/aws/ec2/reserved_instances.rb +53 -0
- data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
- data/lib/aws/ec2/reserved_instances_offering.rb +58 -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 +113 -0
- data/lib/aws/ec2/route_table_collection.rb +72 -0
- data/lib/aws/ec2/security_group.rb +458 -0
- data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +63 -0
- data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +61 -0
- data/lib/aws/ec2/security_group/ip_permission.rb +128 -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 +131 -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 +170 -0
- data/lib/aws/ec2/volume_collection.rb +97 -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/elb.rb +65 -0
- data/lib/aws/elb/availability_zone_collection.rb +138 -0
- data/lib/aws/elb/backend_server_policy_collection.rb +140 -0
- data/lib/aws/elb/client.rb +539 -0
- data/lib/aws/elb/config.rb +18 -0
- data/lib/aws/elb/errors.rb +26 -0
- data/lib/aws/elb/instance_collection.rb +174 -0
- data/lib/aws/elb/listener.rb +189 -0
- data/lib/aws/elb/listener_collection.rb +119 -0
- data/lib/aws/elb/listener_opts.rb +45 -0
- data/lib/aws/elb/load_balancer.rb +253 -0
- data/lib/aws/elb/load_balancer_collection.rb +113 -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 +23 -0
- data/lib/aws/errors.rb +122 -0
- data/lib/aws/iam.rb +418 -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 +1609 -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 +71 -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/rails.rb +195 -0
- data/lib/aws/record.rb +116 -0
- data/lib/aws/record/abstract_base.rb +645 -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 +182 -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 +694 -0
- data/lib/aws/record/validator.rb +237 -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/s3.rb +135 -0
- data/lib/aws/s3/access_control_list.rb +250 -0
- data/lib/aws/s3/acl_object.rb +264 -0
- data/lib/aws/s3/bucket.rb +393 -0
- data/lib/aws/s3/bucket_collection.rb +143 -0
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +360 -0
- data/lib/aws/s3/bucket_version_collection.rb +77 -0
- data/lib/aws/s3/client.rb +1184 -0
- data/lib/aws/s3/client/xml.rb +177 -0
- data/lib/aws/s3/config.rb +26 -0
- data/lib/aws/s3/data_options.rb +100 -0
- data/lib/aws/s3/errors.rb +81 -0
- data/lib/aws/s3/multipart_upload.rb +317 -0
- data/lib/aws/s3/multipart_upload_collection.rb +68 -0
- data/lib/aws/s3/object_collection.rb +337 -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 +143 -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 +553 -0
- data/lib/aws/s3/request.rb +201 -0
- data/lib/aws/s3/s3_object.rb +1037 -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/simple_db.rb +217 -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 +349 -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 +113 -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 +426 -0
- data/lib/aws/simple_email_service/client.rb +286 -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 +91 -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 +29 -0
- data/lib/aws/simple_workflow.rb +226 -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 +1434 -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 +601 -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 +36 -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 +74 -0
- data/lib/aws/sns/client.rb +371 -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 +80 -0
- data/lib/aws/sns/topic.rb +403 -0
- data/lib/aws/sns/topic_collection.rb +67 -0
- data/lib/aws/sns/topic_subscription_collection.rb +55 -0
- data/lib/aws/sqs.rb +79 -0
- data/lib/aws/sqs/client.rb +360 -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 +725 -0
- data/lib/aws/sqs/queue_collection.rb +170 -0
- data/lib/aws/sqs/received_message.rb +181 -0
- data/lib/aws/sqs/received_sns_message.rb +112 -0
- data/lib/aws/sqs/request.rb +43 -0
- data/lib/aws/sts.rb +152 -0
- data/lib/aws/sts/client.rb +105 -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/net/http/connection_pool.rb +210 -0
- data/lib/net/http/connection_pool/connection.rb +132 -0
- data/lib/net/http/connection_pool/session.rb +93 -0
- data/lib/user.rb +49 -0
- metadata +433 -0
|
@@ -0,0 +1,888 @@
|
|
|
1
|
+
# Copyright 2011-2012 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 DynamoDB
|
|
16
|
+
|
|
17
|
+
# Client class for Amazon DynamoDB.
|
|
18
|
+
class Client < Core::Client
|
|
19
|
+
|
|
20
|
+
API_VERSION = '2011-12-05'
|
|
21
|
+
|
|
22
|
+
extend Core::Client::QueryJSON
|
|
23
|
+
|
|
24
|
+
# @private
|
|
25
|
+
REGION_US_E1 = 'dynamodb.us-east-1.amazonaws.com'
|
|
26
|
+
|
|
27
|
+
# @private
|
|
28
|
+
TARGET_PREFIX = "DynamoDB_20111205."
|
|
29
|
+
|
|
30
|
+
# @private
|
|
31
|
+
CACHEABLE_REQUESTS = Set[:list_tables, :describe_table]
|
|
32
|
+
|
|
33
|
+
# @private
|
|
34
|
+
def initialize *args
|
|
35
|
+
|
|
36
|
+
super
|
|
37
|
+
|
|
38
|
+
# If the signer does not provide a session token, then we will
|
|
39
|
+
# replace it with another signer that manages an AWS STS session.
|
|
40
|
+
# This session will auto renew whenever it has expired and will
|
|
41
|
+
# be shared across threads.
|
|
42
|
+
if config.signer.session_token.nil?
|
|
43
|
+
@signer = Core::SessionSigner.for(config)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
## client methods ##
|
|
49
|
+
|
|
50
|
+
# Calls the BatchGetItem API operation.
|
|
51
|
+
# @method batch_get_item(options = {})
|
|
52
|
+
#
|
|
53
|
+
# === Options:
|
|
54
|
+
#
|
|
55
|
+
# * +:request_items+ - *required* - (Hash<String,Hash>)
|
|
56
|
+
# * +:keys+ - *required* - (Array<Hash>)
|
|
57
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
58
|
+
# treated as the primary key, and can be a string or a number.
|
|
59
|
+
# Single attribute primary keys have one index value. The value can
|
|
60
|
+
# be String, Number, StringSet, NumberSet.
|
|
61
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
62
|
+
# The maximum size is limited by the size of the primary key
|
|
63
|
+
# (1024 bytes as a range part of a key or 2048 bytes as a single
|
|
64
|
+
# part hash key) or the item size (64k).
|
|
65
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
66
|
+
# decimals and integers. A number can have up to 38 digits
|
|
67
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
68
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
69
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
70
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
71
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
72
|
+
# be a string or a number, and is only used for hash-and-range
|
|
73
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
74
|
+
# NumberSet.
|
|
75
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
76
|
+
# The maximum size is limited by the size of the primary key
|
|
77
|
+
# (1024 bytes as a range part of a key or 2048 bytes as a single
|
|
78
|
+
# part hash key) or the item size (64k).
|
|
79
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
80
|
+
# decimals and integers. A number can have up to 38 digits
|
|
81
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
82
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
83
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
84
|
+
# * +:attributes_to_get+ - (Array<String>)
|
|
85
|
+
#
|
|
86
|
+
# === Response Structure:
|
|
87
|
+
#
|
|
88
|
+
# * +Responses+ - (Hash<String,Hash>)
|
|
89
|
+
# * +member+ - (Hash<String,Hash>)
|
|
90
|
+
# * +S+ - (String)
|
|
91
|
+
# * +N+ - (String)
|
|
92
|
+
# * +SS+ - (Array<String>)
|
|
93
|
+
# * +NS+ - (Array<String>)
|
|
94
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
95
|
+
# * +UnprocessedKeys+ - (Hash<String,Hash>)
|
|
96
|
+
# * +Keys+ - (Array<Hash>)
|
|
97
|
+
# * +HashKeyElement+ - (Hash)
|
|
98
|
+
# * +S+ - (String)
|
|
99
|
+
# * +N+ - (String)
|
|
100
|
+
# * +SS+ - (Array<String>)
|
|
101
|
+
# * +NS+ - (Array<String>)
|
|
102
|
+
# * +RangeKeyElement+ - (Hash)
|
|
103
|
+
# * +S+ - (String)
|
|
104
|
+
# * +N+ - (String)
|
|
105
|
+
# * +SS+ - (Array<String>)
|
|
106
|
+
# * +NS+ - (Array<String>)
|
|
107
|
+
# * +AttributesToGet+ - (Array<String>)
|
|
108
|
+
#
|
|
109
|
+
# @return [Core::Response]
|
|
110
|
+
#
|
|
111
|
+
define_client_method :batch_get_item, 'BatchGetItem'
|
|
112
|
+
|
|
113
|
+
# Calls the BatchWriteItem API operation.
|
|
114
|
+
# @method batch_write_item(options = {})
|
|
115
|
+
#
|
|
116
|
+
# === Options:
|
|
117
|
+
#
|
|
118
|
+
# * +:request_items+ - *required* - (Hash<String,Array<Hash>>) A map of
|
|
119
|
+
# table name to list-of-write-requests. Used as input to the
|
|
120
|
+
# BatchWriteItem API call
|
|
121
|
+
# * +:put_request+ - (Hash)
|
|
122
|
+
# * +:item+ - *required* - (Hash<String,Hash>) The item to put
|
|
123
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
124
|
+
# The maximum size is limited by the size of the primary key
|
|
125
|
+
# (1024 bytes as a range part of a key or 2048 bytes as a single
|
|
126
|
+
# part hash key) or the item size (64k).
|
|
127
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
128
|
+
# decimals and integers. A number can have up to 38 digits
|
|
129
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
130
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
131
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
132
|
+
# * +:delete_request+ - (Hash)
|
|
133
|
+
# * +:key+ - *required* - (Hash) The item's key to be delete
|
|
134
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
135
|
+
# treated as the primary key, and can be a string or a number.
|
|
136
|
+
# Single attribute primary keys have one index value. The value
|
|
137
|
+
# can be String, Number, StringSet, NumberSet.
|
|
138
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary
|
|
139
|
+
# encoding. The maximum size is limited by the size of the
|
|
140
|
+
# primary key (1024 bytes as a range part of a key or 2048
|
|
141
|
+
# bytes as a single part hash key) or the item size (64k).
|
|
142
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
143
|
+
# decimals and integers. A number can have up to 38 digits
|
|
144
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
145
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
146
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
147
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as
|
|
148
|
+
# a secondary key (used in conjunction with the primary key), and
|
|
149
|
+
# can be a string or a number, and is only used for
|
|
150
|
+
# hash-and-range primary keys. The value can be String, Number,
|
|
151
|
+
# StringSet, NumberSet.
|
|
152
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary
|
|
153
|
+
# encoding. The maximum size is limited by the size of the
|
|
154
|
+
# primary key (1024 bytes as a range part of a key or 2048
|
|
155
|
+
# bytes as a single part hash key) or the item size (64k).
|
|
156
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
157
|
+
# decimals and integers. A number can have up to 38 digits
|
|
158
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
159
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
160
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
161
|
+
#
|
|
162
|
+
# === Response Structure:
|
|
163
|
+
#
|
|
164
|
+
# * +Responses+ - (Hash<String,Hash>)
|
|
165
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
166
|
+
# * +UnprocessedItems+ - (Hash<String,Hash>)
|
|
167
|
+
# * +value+ - (Array<Hash>)
|
|
168
|
+
# * +PutRequest+ - (Hash)
|
|
169
|
+
# * +Item+ - (Hash<String,Hash>)
|
|
170
|
+
# * +S+ - (String)
|
|
171
|
+
# * +N+ - (String)
|
|
172
|
+
# * +SS+ - (Array<String>)
|
|
173
|
+
# * +NS+ - (Array<String>)
|
|
174
|
+
# * +DeleteRequest+ - (Hash)
|
|
175
|
+
# * +Key+ - (Hash)
|
|
176
|
+
# * +HashKeyElement+ - (Hash)
|
|
177
|
+
# * +S+ - (String)
|
|
178
|
+
# * +N+ - (String)
|
|
179
|
+
# * +SS+ - (Array<String>)
|
|
180
|
+
# * +NS+ - (Array<String>)
|
|
181
|
+
# * +RangeKeyElement+ - (Hash)
|
|
182
|
+
# * +S+ - (String)
|
|
183
|
+
# * +N+ - (String)
|
|
184
|
+
# * +SS+ - (Array<String>)
|
|
185
|
+
# * +NS+ - (Array<String>)
|
|
186
|
+
#
|
|
187
|
+
# @return [Core::Response]
|
|
188
|
+
#
|
|
189
|
+
define_client_method :batch_write_item, 'BatchWriteItem'
|
|
190
|
+
|
|
191
|
+
# Calls the CreateTable API operation.
|
|
192
|
+
# @method create_table(options = {})
|
|
193
|
+
#
|
|
194
|
+
# === Options:
|
|
195
|
+
#
|
|
196
|
+
# * +:table_name+ - *required* - (String) The name of the table you want
|
|
197
|
+
# to create. Allowed characters are a-z, A-Z, 0-9, _ (underscore), -
|
|
198
|
+
# (hyphen) and . (period).
|
|
199
|
+
# * +:key_schema+ - *required* - (Hash)
|
|
200
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
201
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
202
|
+
# attribute primary keys have one index value. The value can be
|
|
203
|
+
# String, Number, StringSet, NumberSet.
|
|
204
|
+
# * +:attribute_name+ - *required* - (String) The AttributeName of
|
|
205
|
+
# the KeySchemaElement.
|
|
206
|
+
# * +:attribute_type+ - *required* - (String) The AttributeType of
|
|
207
|
+
# the KeySchemaElement which can be a String or a Number.
|
|
208
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
209
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
210
|
+
# be a string or a number, and is only used for hash-and-range
|
|
211
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
212
|
+
# NumberSet.
|
|
213
|
+
# * +:attribute_name+ - *required* - (String) The AttributeName of
|
|
214
|
+
# the KeySchemaElement.
|
|
215
|
+
# * +:attribute_type+ - *required* - (String) The AttributeType of
|
|
216
|
+
# the KeySchemaElement which can be a String or a Number.
|
|
217
|
+
# * +:provisioned_throughput+ - *required* - (Hash)
|
|
218
|
+
# * +:read_capacity_units+ - *required* - (Integer) ReadCapacityUnits
|
|
219
|
+
# are in terms of strictly consistent reads, assuming items of 1k. 2k
|
|
220
|
+
# items require twice the ReadCapacityUnits. Eventually-consistent
|
|
221
|
+
# reads only require half the ReadCapacityUnits of stirctly
|
|
222
|
+
# consistent reads.
|
|
223
|
+
# * +:write_capacity_units+ - *required* - (Integer) WriteCapacityUnits
|
|
224
|
+
# are in terms of strictly consistent reads, assuming items of 1k. 2k
|
|
225
|
+
# items require twice the WriteCapacityUnits.
|
|
226
|
+
#
|
|
227
|
+
# === Response Structure:
|
|
228
|
+
#
|
|
229
|
+
# * +TableDescription+ - (Hash)
|
|
230
|
+
# * +TableName+ - (String)
|
|
231
|
+
# * +KeySchema+ - (Hash)
|
|
232
|
+
# * +HashKeyElement+ - (Hash)
|
|
233
|
+
# * +AttributeName+ - (String)
|
|
234
|
+
# * +AttributeType+ - (String)
|
|
235
|
+
# * +RangeKeyElement+ - (Hash)
|
|
236
|
+
# * +AttributeName+ - (String)
|
|
237
|
+
# * +AttributeType+ - (String)
|
|
238
|
+
# * +TableStatus+ - (String)
|
|
239
|
+
# * +CreationDateTime+ - (Time)
|
|
240
|
+
# * +ProvisionedThroughput+ - (Hash)
|
|
241
|
+
# * +LastIncreaseDateTime+ - (Time)
|
|
242
|
+
# * +LastDecreaseDateTime+ - (Time)
|
|
243
|
+
# * +ReadCapacityUnits+ - (Integer)
|
|
244
|
+
# * +WriteCapacityUnits+ - (Integer)
|
|
245
|
+
# * +TableSizeBytes+ - (Integer)
|
|
246
|
+
# * +ItemCount+ - (Integer)
|
|
247
|
+
#
|
|
248
|
+
# @return [Core::Response]
|
|
249
|
+
#
|
|
250
|
+
define_client_method :create_table, 'CreateTable'
|
|
251
|
+
|
|
252
|
+
# Calls the DeleteItem API operation.
|
|
253
|
+
# @method delete_item(options = {})
|
|
254
|
+
#
|
|
255
|
+
# === Options:
|
|
256
|
+
#
|
|
257
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
258
|
+
# you want to delete an item. Allowed characters are a-z, A-Z, 0-9, _
|
|
259
|
+
# (underscore), - (hyphen) and . (period).
|
|
260
|
+
# * +:key+ - *required* - (Hash)
|
|
261
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
262
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
263
|
+
# attribute primary keys have one index value. The value can be
|
|
264
|
+
# String, Number, StringSet, NumberSet.
|
|
265
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
266
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
267
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
268
|
+
# hash key) or the item size (64k).
|
|
269
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
270
|
+
# decimals and integers. A number can have up to 38 digits
|
|
271
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
272
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
273
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
274
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
275
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
276
|
+
# be a string or a number, and is only used for hash-and-range
|
|
277
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
278
|
+
# NumberSet.
|
|
279
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
280
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
281
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
282
|
+
# hash key) or the item size (64k).
|
|
283
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
284
|
+
# decimals and integers. A number can have up to 38 digits
|
|
285
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
286
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
287
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
288
|
+
# * +:expected+ - (Hash<String,Hash>)
|
|
289
|
+
# * +:value+ - (Hash) Specify whether or not a value already exists and
|
|
290
|
+
# has a specific content for the attribute name-value pair.
|
|
291
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
292
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
293
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
294
|
+
# hash key) or the item size (64k).
|
|
295
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
296
|
+
# decimals and integers. A number can have up to 38 digits
|
|
297
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
298
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
299
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
300
|
+
# * +:exists+ - (Boolean) Specify whether or not a value already exists
|
|
301
|
+
# for the attribute name-value pair.
|
|
302
|
+
# * +:return_values+ - (String)
|
|
303
|
+
#
|
|
304
|
+
# === Response Structure:
|
|
305
|
+
#
|
|
306
|
+
# * +Attributes+ - (Hash<String,Hash>)
|
|
307
|
+
# * +S+ - (String)
|
|
308
|
+
# * +N+ - (String)
|
|
309
|
+
# * +SS+ - (Array<String>)
|
|
310
|
+
# * +NS+ - (Array<String>)
|
|
311
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
312
|
+
#
|
|
313
|
+
# @return [Core::Response]
|
|
314
|
+
#
|
|
315
|
+
define_client_method :delete_item, 'DeleteItem'
|
|
316
|
+
|
|
317
|
+
# Calls the DeleteTable API operation.
|
|
318
|
+
# @method delete_table(options = {})
|
|
319
|
+
#
|
|
320
|
+
# === Options:
|
|
321
|
+
#
|
|
322
|
+
# * +:table_name+ - *required* - (String) The name of the table you want
|
|
323
|
+
# to delete. Allowed characters are a-z, A-Z, 0-9, _ (underscore), -
|
|
324
|
+
# (hyphen) and . (period).
|
|
325
|
+
#
|
|
326
|
+
# === Response Structure:
|
|
327
|
+
#
|
|
328
|
+
# * +TableDescription+ - (Hash)
|
|
329
|
+
# * +TableName+ - (String)
|
|
330
|
+
# * +KeySchema+ - (Hash)
|
|
331
|
+
# * +HashKeyElement+ - (Hash)
|
|
332
|
+
# * +AttributeName+ - (String)
|
|
333
|
+
# * +AttributeType+ - (String)
|
|
334
|
+
# * +RangeKeyElement+ - (Hash)
|
|
335
|
+
# * +AttributeName+ - (String)
|
|
336
|
+
# * +AttributeType+ - (String)
|
|
337
|
+
# * +TableStatus+ - (String)
|
|
338
|
+
# * +CreationDateTime+ - (Time)
|
|
339
|
+
# * +ProvisionedThroughput+ - (Hash)
|
|
340
|
+
# * +LastIncreaseDateTime+ - (Time)
|
|
341
|
+
# * +LastDecreaseDateTime+ - (Time)
|
|
342
|
+
# * +ReadCapacityUnits+ - (Integer)
|
|
343
|
+
# * +WriteCapacityUnits+ - (Integer)
|
|
344
|
+
# * +TableSizeBytes+ - (Integer)
|
|
345
|
+
# * +ItemCount+ - (Integer)
|
|
346
|
+
#
|
|
347
|
+
# @return [Core::Response]
|
|
348
|
+
#
|
|
349
|
+
define_client_method :delete_table, 'DeleteTable'
|
|
350
|
+
|
|
351
|
+
# Calls the DescribeTable API operation.
|
|
352
|
+
# @method describe_table(options = {})
|
|
353
|
+
#
|
|
354
|
+
# === Options:
|
|
355
|
+
#
|
|
356
|
+
# * +:table_name+ - *required* - (String) The name of the table you want
|
|
357
|
+
# to describe. Allowed characters are a-z, A-Z, 0-9, _ (underscore), -
|
|
358
|
+
# (hyphen) and . (period).
|
|
359
|
+
#
|
|
360
|
+
# === Response Structure:
|
|
361
|
+
#
|
|
362
|
+
# * +Table+ - (Hash)
|
|
363
|
+
# * +TableName+ - (String)
|
|
364
|
+
# * +KeySchema+ - (Hash)
|
|
365
|
+
# * +HashKeyElement+ - (Hash)
|
|
366
|
+
# * +AttributeName+ - (String)
|
|
367
|
+
# * +AttributeType+ - (String)
|
|
368
|
+
# * +RangeKeyElement+ - (Hash)
|
|
369
|
+
# * +AttributeName+ - (String)
|
|
370
|
+
# * +AttributeType+ - (String)
|
|
371
|
+
# * +TableStatus+ - (String)
|
|
372
|
+
# * +CreationDateTime+ - (Time)
|
|
373
|
+
# * +ProvisionedThroughput+ - (Hash)
|
|
374
|
+
# * +LastIncreaseDateTime+ - (Time)
|
|
375
|
+
# * +LastDecreaseDateTime+ - (Time)
|
|
376
|
+
# * +ReadCapacityUnits+ - (Integer)
|
|
377
|
+
# * +WriteCapacityUnits+ - (Integer)
|
|
378
|
+
# * +TableSizeBytes+ - (Integer)
|
|
379
|
+
# * +ItemCount+ - (Integer)
|
|
380
|
+
#
|
|
381
|
+
# @return [Core::Response]
|
|
382
|
+
#
|
|
383
|
+
define_client_method :describe_table, 'DescribeTable'
|
|
384
|
+
|
|
385
|
+
# Calls the GetItem API operation.
|
|
386
|
+
# @method get_item(options = {})
|
|
387
|
+
#
|
|
388
|
+
# === Options:
|
|
389
|
+
#
|
|
390
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
391
|
+
# you want to get an item. Allowed characters are a-z, A-Z, 0-9, _
|
|
392
|
+
# (underscore), - (hyphen) and . (period).
|
|
393
|
+
# * +:key+ - *required* - (Hash)
|
|
394
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
395
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
396
|
+
# attribute primary keys have one index value. The value can be
|
|
397
|
+
# String, Number, StringSet, NumberSet.
|
|
398
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
399
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
400
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
401
|
+
# hash key) or the item size (64k).
|
|
402
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
403
|
+
# decimals and integers. A number can have up to 38 digits
|
|
404
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
405
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
406
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
407
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
408
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
409
|
+
# be a string or a number, and is only used for hash-and-range
|
|
410
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
411
|
+
# NumberSet.
|
|
412
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
413
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
414
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
415
|
+
# hash key) or the item size (64k).
|
|
416
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
417
|
+
# decimals and integers. A number can have up to 38 digits
|
|
418
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
419
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
420
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
421
|
+
# * +:attributes_to_get+ - (Array<String>)
|
|
422
|
+
# * +:consistent_read+ - (Boolean)
|
|
423
|
+
#
|
|
424
|
+
# === Response Structure:
|
|
425
|
+
#
|
|
426
|
+
# * +Item+ - (Hash<String,Hash>)
|
|
427
|
+
# * +S+ - (String)
|
|
428
|
+
# * +N+ - (String)
|
|
429
|
+
# * +SS+ - (Array<String>)
|
|
430
|
+
# * +NS+ - (Array<String>)
|
|
431
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
432
|
+
#
|
|
433
|
+
# @return [Core::Response]
|
|
434
|
+
#
|
|
435
|
+
define_client_method :get_item, 'GetItem'
|
|
436
|
+
|
|
437
|
+
# Calls the ListTables API operation.
|
|
438
|
+
# @method list_tables(options = {})
|
|
439
|
+
#
|
|
440
|
+
# === Options:
|
|
441
|
+
#
|
|
442
|
+
# * +:exclusive_start_table_name+ - (String) The name of the table that
|
|
443
|
+
# starts the list. If you already ran a ListTables operation and
|
|
444
|
+
# recieved a LastEvaluatedTableName value in the response, use that
|
|
445
|
+
# value here to continue the list.
|
|
446
|
+
# * +:limit+ - (Integer)
|
|
447
|
+
#
|
|
448
|
+
# === Response Structure:
|
|
449
|
+
#
|
|
450
|
+
# * +TableNames+ - (Array<String>)
|
|
451
|
+
# * +LastEvaluatedTableName+ - (String)
|
|
452
|
+
#
|
|
453
|
+
# @return [Core::Response]
|
|
454
|
+
#
|
|
455
|
+
define_client_method :list_tables, 'ListTables'
|
|
456
|
+
|
|
457
|
+
# Calls the PutItem API operation.
|
|
458
|
+
# @method put_item(options = {})
|
|
459
|
+
#
|
|
460
|
+
# === Options:
|
|
461
|
+
#
|
|
462
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
463
|
+
# you want to put an item. Allowed characters are a-z, A-Z, 0-9, _
|
|
464
|
+
# (underscore), - (hyphen) and . (period).
|
|
465
|
+
# * +:item+ - *required* - (Hash<String,Hash>)
|
|
466
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding. The
|
|
467
|
+
# maximum size is limited by the size of the primary key (1024 bytes
|
|
468
|
+
# as a range part of a key or 2048 bytes as a single part hash key)
|
|
469
|
+
# or the item size (64k).
|
|
470
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
471
|
+
# decimals and integers. A number can have up to 38 digits precision
|
|
472
|
+
# and can be between 10^-128 to 10^+126.
|
|
473
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
474
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
475
|
+
# * +:expected+ - (Hash<String,Hash>)
|
|
476
|
+
# * +:value+ - (Hash) Specify whether or not a value already exists and
|
|
477
|
+
# has a specific content for the attribute name-value pair.
|
|
478
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
479
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
480
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
481
|
+
# hash key) or the item size (64k).
|
|
482
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
483
|
+
# decimals and integers. A number can have up to 38 digits
|
|
484
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
485
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
486
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
487
|
+
# * +:exists+ - (Boolean) Specify whether or not a value already exists
|
|
488
|
+
# for the attribute name-value pair.
|
|
489
|
+
# * +:return_values+ - (String)
|
|
490
|
+
#
|
|
491
|
+
# === Response Structure:
|
|
492
|
+
#
|
|
493
|
+
# * +Attributes+ - (Hash<String,Hash>)
|
|
494
|
+
# * +S+ - (String)
|
|
495
|
+
# * +N+ - (String)
|
|
496
|
+
# * +SS+ - (Array<String>)
|
|
497
|
+
# * +NS+ - (Array<String>)
|
|
498
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
499
|
+
#
|
|
500
|
+
# @return [Core::Response]
|
|
501
|
+
#
|
|
502
|
+
define_client_method :put_item, 'PutItem'
|
|
503
|
+
|
|
504
|
+
# Calls the Query API operation.
|
|
505
|
+
# @method query(options = {})
|
|
506
|
+
#
|
|
507
|
+
# === Options:
|
|
508
|
+
#
|
|
509
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
510
|
+
# you want to query. Allowed characters are a-z, A-Z, 0-9, _
|
|
511
|
+
# (underscore), - (hyphen) and . (period).
|
|
512
|
+
# * +:attributes_to_get+ - (Array<String>)
|
|
513
|
+
# * +:limit+ - (Integer) The maximum number of items to return. If Amazon
|
|
514
|
+
# DynamoDB hits this limit while querying the table, it stops the query
|
|
515
|
+
# and returns the matching values up to the limit, and a
|
|
516
|
+
# LastEvaluatedKey to apply in a subsequent operation to continue the
|
|
517
|
+
# query. Also, if the result set size exceeds 1MB before Amazon
|
|
518
|
+
# DynamoDB hits this limit, it stops the query and returns the matching
|
|
519
|
+
# values, and a LastEvaluatedKey to apply in a subsequent operation to
|
|
520
|
+
# continue the query.
|
|
521
|
+
# * +:consistent_read+ - (Boolean)
|
|
522
|
+
# * +:count+ - (Boolean) If set to +true+ , Amazon DynamoDB returns a
|
|
523
|
+
# total number of items that match the query parameters, instead of a
|
|
524
|
+
# list of the matching items and their attributes. Do not set Count to
|
|
525
|
+
# +true+ while providing a list of AttributesToGet, otherwise Amazon
|
|
526
|
+
# DynamoDB returns a validation error.
|
|
527
|
+
# * +:hash_key_value+ - *required* - (Hash) Attribute value of the hash
|
|
528
|
+
# component of the composite primary key.
|
|
529
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding. The
|
|
530
|
+
# maximum size is limited by the size of the primary key (1024 bytes
|
|
531
|
+
# as a range part of a key or 2048 bytes as a single part hash key)
|
|
532
|
+
# or the item size (64k).
|
|
533
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
534
|
+
# decimals and integers. A number can have up to 38 digits precision
|
|
535
|
+
# and can be between 10^-128 to 10^+126.
|
|
536
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
537
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
538
|
+
# * +:range_key_condition+ - (Hash) A container for the attribute values
|
|
539
|
+
# and comparison operators to use for the query.
|
|
540
|
+
# * +:attribute_value_list+ - (Array<Hash>)
|
|
541
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
542
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
543
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
544
|
+
# hash key) or the item size (64k).
|
|
545
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
546
|
+
# decimals and integers. A number can have up to 38 digits
|
|
547
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
548
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
549
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
550
|
+
# * +:comparison_operator+ - *required* - (String)
|
|
551
|
+
# * +:scan_index_forward+ - (Boolean) Specifies forward or backward
|
|
552
|
+
# traversal of the index. Amazon DynamoDB returns results reflecting
|
|
553
|
+
# the requested order, determined by the range key. Default is +true+
|
|
554
|
+
# (forward).
|
|
555
|
+
# * +:exclusive_start_key+ - (Hash) Primary key of the item from which to
|
|
556
|
+
# continue an earlier query. An earlier query might provide this value
|
|
557
|
+
# as the LastEvaluatedKey if that query operation was interrupted
|
|
558
|
+
# before completing the query; either because of the result set size or
|
|
559
|
+
# the Limit parameter. The LastEvaluatedKey can be passed back in a new
|
|
560
|
+
# query request to continue the operation from that point.
|
|
561
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
562
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
563
|
+
# attribute primary keys have one index value. The value can be
|
|
564
|
+
# String, Number, StringSet, NumberSet.
|
|
565
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
566
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
567
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
568
|
+
# hash key) or the item size (64k).
|
|
569
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
570
|
+
# decimals and integers. A number can have up to 38 digits
|
|
571
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
572
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
573
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
574
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
575
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
576
|
+
# be a string or a number, and is only used for hash-and-range
|
|
577
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
578
|
+
# NumberSet.
|
|
579
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
580
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
581
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
582
|
+
# hash key) or the item size (64k).
|
|
583
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
584
|
+
# decimals and integers. A number can have up to 38 digits
|
|
585
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
586
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
587
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
588
|
+
#
|
|
589
|
+
# === Response Structure:
|
|
590
|
+
#
|
|
591
|
+
# * +member+ - (Hash<String,Hash>)
|
|
592
|
+
# * +S+ - (String)
|
|
593
|
+
# * +N+ - (String)
|
|
594
|
+
# * +SS+ - (Array<String>)
|
|
595
|
+
# * +NS+ - (Array<String>)
|
|
596
|
+
# * +Count+ - (Integer)
|
|
597
|
+
# * +LastEvaluatedKey+ - (Hash)
|
|
598
|
+
# * +HashKeyElement+ - (Hash)
|
|
599
|
+
# * +S+ - (String)
|
|
600
|
+
# * +N+ - (String)
|
|
601
|
+
# * +SS+ - (Array<String>)
|
|
602
|
+
# * +NS+ - (Array<String>)
|
|
603
|
+
# * +RangeKeyElement+ - (Hash)
|
|
604
|
+
# * +S+ - (String)
|
|
605
|
+
# * +N+ - (String)
|
|
606
|
+
# * +SS+ - (Array<String>)
|
|
607
|
+
# * +NS+ - (Array<String>)
|
|
608
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
609
|
+
#
|
|
610
|
+
# @return [Core::Response]
|
|
611
|
+
#
|
|
612
|
+
define_client_method :query, 'Query'
|
|
613
|
+
|
|
614
|
+
# Calls the Scan API operation.
|
|
615
|
+
# @method scan(options = {})
|
|
616
|
+
#
|
|
617
|
+
# === Options:
|
|
618
|
+
#
|
|
619
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
620
|
+
# you want to scan. Allowed characters are a-z, A-Z, 0-9, _
|
|
621
|
+
# (underscore), - (hyphen) and . (period).
|
|
622
|
+
# * +:attributes_to_get+ - (Array<String>)
|
|
623
|
+
# * +:limit+ - (Integer) The maximum number of items to return. If Amazon
|
|
624
|
+
# DynamoDB hits this limit while scanning the table, it stops the scan
|
|
625
|
+
# and returns the matching values up to the limit, and a
|
|
626
|
+
# LastEvaluatedKey to apply in a subsequent operation to continue the
|
|
627
|
+
# scan. Also, if the scanned data set size exceeds 1MB before Amazon
|
|
628
|
+
# DynamoDB hits this limit, it stops the scan and returns the matching
|
|
629
|
+
# values up to the limit, and a LastEvaluatedKey to apply in a
|
|
630
|
+
# subsequent operation to continue the scan.
|
|
631
|
+
# * +:count+ - (Boolean) If set to +true+ , Amazon DynamoDB returns a
|
|
632
|
+
# total number of items for the Scan operation, even if the operation
|
|
633
|
+
# has no matching items for the assigned filter. Do not set Count to
|
|
634
|
+
# +true+ while providing a list of AttributesToGet, otherwise Amazon
|
|
635
|
+
# DynamoDB returns a validation error.
|
|
636
|
+
# * +:scan_filter+ - (Hash<String,Hash>) Evaluates the scan results and
|
|
637
|
+
# returns only the desired values.
|
|
638
|
+
# * +:attribute_value_list+ - (Array<Hash>)
|
|
639
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
640
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
641
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
642
|
+
# hash key) or the item size (64k).
|
|
643
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
644
|
+
# decimals and integers. A number can have up to 38 digits
|
|
645
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
646
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
647
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
648
|
+
# * +:comparison_operator+ - *required* - (String)
|
|
649
|
+
# * +:exclusive_start_key+ - (Hash) Primary key of the item from which to
|
|
650
|
+
# continue an earlier scan. An earlier scan might provide this value if
|
|
651
|
+
# that scan operation was interrupted before scanning the entire table;
|
|
652
|
+
# either because of the result set size or the Limit parameter. The
|
|
653
|
+
# LastEvaluatedKey can be passed back in a new scan request to continue
|
|
654
|
+
# the operation from that point.
|
|
655
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
656
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
657
|
+
# attribute primary keys have one index value. The value can be
|
|
658
|
+
# String, Number, StringSet, NumberSet.
|
|
659
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
660
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
661
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
662
|
+
# hash key) or the item size (64k).
|
|
663
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
664
|
+
# decimals and integers. A number can have up to 38 digits
|
|
665
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
666
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
667
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
668
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
669
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
670
|
+
# be a string or a number, and is only used for hash-and-range
|
|
671
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
672
|
+
# NumberSet.
|
|
673
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
674
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
675
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
676
|
+
# hash key) or the item size (64k).
|
|
677
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
678
|
+
# decimals and integers. A number can have up to 38 digits
|
|
679
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
680
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
681
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
682
|
+
#
|
|
683
|
+
# === Response Structure:
|
|
684
|
+
#
|
|
685
|
+
# * +member+ - (Hash<String,Hash>)
|
|
686
|
+
# * +S+ - (String)
|
|
687
|
+
# * +N+ - (String)
|
|
688
|
+
# * +SS+ - (Array<String>)
|
|
689
|
+
# * +NS+ - (Array<String>)
|
|
690
|
+
# * +Count+ - (Integer)
|
|
691
|
+
# * +ScannedCount+ - (Integer)
|
|
692
|
+
# * +LastEvaluatedKey+ - (Hash)
|
|
693
|
+
# * +HashKeyElement+ - (Hash)
|
|
694
|
+
# * +S+ - (String)
|
|
695
|
+
# * +N+ - (String)
|
|
696
|
+
# * +SS+ - (Array<String>)
|
|
697
|
+
# * +NS+ - (Array<String>)
|
|
698
|
+
# * +RangeKeyElement+ - (Hash)
|
|
699
|
+
# * +S+ - (String)
|
|
700
|
+
# * +N+ - (String)
|
|
701
|
+
# * +SS+ - (Array<String>)
|
|
702
|
+
# * +NS+ - (Array<String>)
|
|
703
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
704
|
+
#
|
|
705
|
+
# @return [Core::Response]
|
|
706
|
+
#
|
|
707
|
+
define_client_method :scan, 'Scan'
|
|
708
|
+
|
|
709
|
+
# Calls the UpdateItem API operation.
|
|
710
|
+
# @method update_item(options = {})
|
|
711
|
+
#
|
|
712
|
+
# === Options:
|
|
713
|
+
#
|
|
714
|
+
# * +:table_name+ - *required* - (String) The name of the table in which
|
|
715
|
+
# you want to update an item. Allowed characters are a-z, A-Z, 0-9, _
|
|
716
|
+
# (underscore), - (hyphen) and . (period).
|
|
717
|
+
# * +:key+ - *required* - (Hash)
|
|
718
|
+
# * +:hash_key_element+ - *required* - (Hash) A hash key element is
|
|
719
|
+
# treated as the primary key, and can be a string or a number. Single
|
|
720
|
+
# attribute primary keys have one index value. The value can be
|
|
721
|
+
# String, Number, StringSet, NumberSet.
|
|
722
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
723
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
724
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
725
|
+
# hash key) or the item size (64k).
|
|
726
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
727
|
+
# decimals and integers. A number can have up to 38 digits
|
|
728
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
729
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
730
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
731
|
+
# * +:range_key_element+ - (Hash) A range key element is treated as a
|
|
732
|
+
# secondary key (used in conjunction with the primary key), and can
|
|
733
|
+
# be a string or a number, and is only used for hash-and-range
|
|
734
|
+
# primary keys. The value can be String, Number, StringSet,
|
|
735
|
+
# NumberSet.
|
|
736
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
737
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
738
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
739
|
+
# hash key) or the item size (64k).
|
|
740
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
741
|
+
# decimals and integers. A number can have up to 38 digits
|
|
742
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
743
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
744
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
745
|
+
# * +:attribute_updates+ - *required* - (Hash<String,Hash>)
|
|
746
|
+
# * +:value+ - (Hash)
|
|
747
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
748
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
749
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
750
|
+
# hash key) or the item size (64k).
|
|
751
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
752
|
+
# decimals and integers. A number can have up to 38 digits
|
|
753
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
754
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
755
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
756
|
+
# * +:action+ - (String)
|
|
757
|
+
# * +:expected+ - (Hash<String,Hash>)
|
|
758
|
+
# * +:value+ - (Hash) Specify whether or not a value already exists and
|
|
759
|
+
# has a specific content for the attribute name-value pair.
|
|
760
|
+
# * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
|
|
761
|
+
# The maximum size is limited by the size of the primary key (1024
|
|
762
|
+
# bytes as a range part of a key or 2048 bytes as a single part
|
|
763
|
+
# hash key) or the item size (64k).
|
|
764
|
+
# * +:n+ - (String) Numbers are positive or negative exact-value
|
|
765
|
+
# decimals and integers. A number can have up to 38 digits
|
|
766
|
+
# precision and can be between 10^-128 to 10^+126.
|
|
767
|
+
# * +:ss+ - (Array<String>) A set of strings.
|
|
768
|
+
# * +:ns+ - (Array<String>) A set of numbers.
|
|
769
|
+
# * +:exists+ - (Boolean) Specify whether or not a value already exists
|
|
770
|
+
# for the attribute name-value pair.
|
|
771
|
+
# * +:return_values+ - (String)
|
|
772
|
+
#
|
|
773
|
+
# === Response Structure:
|
|
774
|
+
#
|
|
775
|
+
# * +Attributes+ - (Hash<String,Hash>)
|
|
776
|
+
# * +S+ - (String)
|
|
777
|
+
# * +N+ - (String)
|
|
778
|
+
# * +SS+ - (Array<String>)
|
|
779
|
+
# * +NS+ - (Array<String>)
|
|
780
|
+
# * +ConsumedCapacityUnits+ - (Numeric)
|
|
781
|
+
#
|
|
782
|
+
# @return [Core::Response]
|
|
783
|
+
#
|
|
784
|
+
define_client_method :update_item, 'UpdateItem'
|
|
785
|
+
|
|
786
|
+
# Calls the UpdateTable API operation.
|
|
787
|
+
# @method update_table(options = {})
|
|
788
|
+
#
|
|
789
|
+
# === Options:
|
|
790
|
+
#
|
|
791
|
+
# * +:table_name+ - *required* - (String) The name of the table you want
|
|
792
|
+
# to update. Allowed characters are a-z, A-Z, 0-9, _ (underscore), -
|
|
793
|
+
# (hyphen) and . (period).
|
|
794
|
+
# * +:provisioned_throughput+ - *required* - (Hash)
|
|
795
|
+
# * +:read_capacity_units+ - *required* - (Integer) ReadCapacityUnits
|
|
796
|
+
# are in terms of strictly consistent reads, assuming items of 1k. 2k
|
|
797
|
+
# items require twice the ReadCapacityUnits. Eventually-consistent
|
|
798
|
+
# reads only require half the ReadCapacityUnits of stirctly
|
|
799
|
+
# consistent reads.
|
|
800
|
+
# * +:write_capacity_units+ - *required* - (Integer) WriteCapacityUnits
|
|
801
|
+
# are in terms of strictly consistent reads, assuming items of 1k. 2k
|
|
802
|
+
# items require twice the WriteCapacityUnits.
|
|
803
|
+
#
|
|
804
|
+
# === Response Structure:
|
|
805
|
+
#
|
|
806
|
+
# * +TableDescription+ - (Hash)
|
|
807
|
+
# * +TableName+ - (String)
|
|
808
|
+
# * +KeySchema+ - (Hash)
|
|
809
|
+
# * +HashKeyElement+ - (Hash)
|
|
810
|
+
# * +AttributeName+ - (String)
|
|
811
|
+
# * +AttributeType+ - (String)
|
|
812
|
+
# * +RangeKeyElement+ - (Hash)
|
|
813
|
+
# * +AttributeName+ - (String)
|
|
814
|
+
# * +AttributeType+ - (String)
|
|
815
|
+
# * +TableStatus+ - (String)
|
|
816
|
+
# * +CreationDateTime+ - (Time)
|
|
817
|
+
# * +ProvisionedThroughput+ - (Hash)
|
|
818
|
+
# * +LastIncreaseDateTime+ - (Time)
|
|
819
|
+
# * +LastDecreaseDateTime+ - (Time)
|
|
820
|
+
# * +ReadCapacityUnits+ - (Integer)
|
|
821
|
+
# * +WriteCapacityUnits+ - (Integer)
|
|
822
|
+
# * +TableSizeBytes+ - (Integer)
|
|
823
|
+
# * +ItemCount+ - (Integer)
|
|
824
|
+
#
|
|
825
|
+
# @return [Core::Response]
|
|
826
|
+
#
|
|
827
|
+
define_client_method :update_table, 'UpdateTable'
|
|
828
|
+
|
|
829
|
+
## end client methods ##
|
|
830
|
+
|
|
831
|
+
protected
|
|
832
|
+
|
|
833
|
+
def extract_error_details response
|
|
834
|
+
if response.http_response.status == 413
|
|
835
|
+
['RequestEntityTooLarge', 'Request entity too large']
|
|
836
|
+
else
|
|
837
|
+
super
|
|
838
|
+
end
|
|
839
|
+
end
|
|
840
|
+
|
|
841
|
+
def should_retry? response
|
|
842
|
+
if possible_expired_credentials?(response)
|
|
843
|
+
true
|
|
844
|
+
elsif response.error.is_a?(Errors::ProvisionedThroughputExceededException)
|
|
845
|
+
config.dynamo_db_retry_throughput_errors?
|
|
846
|
+
else
|
|
847
|
+
super
|
|
848
|
+
end
|
|
849
|
+
end
|
|
850
|
+
|
|
851
|
+
def rebuild_http_request response
|
|
852
|
+
# called when a request is going to be retried, in case of
|
|
853
|
+
# expired credentials we should refresh the session
|
|
854
|
+
signer.refresh_session if possible_expired_credentials?(response)
|
|
855
|
+
super
|
|
856
|
+
end
|
|
857
|
+
|
|
858
|
+
def sleep_durations response
|
|
859
|
+
|
|
860
|
+
retry_count =
|
|
861
|
+
if possible_expired_credentials?(response)
|
|
862
|
+
config.max_retries == 0 ? 0 : 1
|
|
863
|
+
else
|
|
864
|
+
config.max_retries { 10 }
|
|
865
|
+
end
|
|
866
|
+
|
|
867
|
+
# given a retry_count of 10, the sleep durations will look like:
|
|
868
|
+
# 0, 50, 100, 200, 400, 800, 1600, 3200, 6400, 12800 (milliseconds)
|
|
869
|
+
(0...retry_count).map do |n|
|
|
870
|
+
if n == 0
|
|
871
|
+
0
|
|
872
|
+
else
|
|
873
|
+
50 * (2 ** (n - 1)) / 1000.0
|
|
874
|
+
end
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
end
|
|
878
|
+
|
|
879
|
+
# Returns true if we get an access denied error from the service AND
|
|
880
|
+
# our signer is capible of getting new short-term credentials
|
|
881
|
+
def possible_expired_credentials? response
|
|
882
|
+
signer.respond_to?(:refresh_session) and
|
|
883
|
+
response.error.is_a?(Errors::ExpiredTokenException)
|
|
884
|
+
end
|
|
885
|
+
|
|
886
|
+
end
|
|
887
|
+
end
|
|
888
|
+
end
|