aws-sdk 1.8.5 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/README.rdoc +8 -0
  4. data/lib/aws-sdk.rb +39 -35
  5. data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
  6. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
  7. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
  8. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
  9. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
  10. data/lib/aws/auto_scaling.rb +44 -44
  11. data/lib/aws/auto_scaling/activity.rb +1 -1
  12. data/lib/aws/auto_scaling/activity_collection.rb +14 -15
  13. data/lib/aws/auto_scaling/client.rb +277 -277
  14. data/lib/aws/auto_scaling/config.rb +1 -1
  15. data/lib/aws/auto_scaling/group.rb +35 -36
  16. data/lib/aws/auto_scaling/group_collection.rb +10 -10
  17. data/lib/aws/auto_scaling/group_options.rb +19 -19
  18. data/lib/aws/auto_scaling/instance.rb +27 -27
  19. data/lib/aws/auto_scaling/instance_collection.rb +10 -10
  20. data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
  21. data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
  22. data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
  23. data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
  24. data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
  25. data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
  26. data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
  27. data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
  28. data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
  29. data/lib/aws/auto_scaling/tag_collection.rb +30 -28
  30. data/lib/aws/cloud_formation.rb +95 -94
  31. data/lib/aws/cloud_formation/client.rb +136 -133
  32. data/lib/aws/cloud_formation/config.rb +1 -1
  33. data/lib/aws/cloud_formation/stack.rb +37 -37
  34. data/lib/aws/cloud_formation/stack_collection.rb +28 -27
  35. data/lib/aws/cloud_formation/stack_event.rb +9 -11
  36. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  37. data/lib/aws/cloud_formation/stack_resource.rb +6 -6
  38. data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
  39. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
  40. data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
  41. data/lib/aws/cloud_front.rb +21 -21
  42. data/lib/aws/cloud_front/client.rb +853 -652
  43. data/lib/aws/cloud_front/request.rb +3 -0
  44. data/lib/aws/cloud_search.rb +22 -22
  45. data/lib/aws/cloud_search/client.rb +322 -315
  46. data/lib/aws/cloud_search/config.rb +1 -1
  47. data/lib/aws/cloud_watch.rb +39 -39
  48. data/lib/aws/cloud_watch/alarm.rb +55 -37
  49. data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
  50. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
  51. data/lib/aws/cloud_watch/client.rb +360 -146
  52. data/lib/aws/cloud_watch/config.rb +1 -1
  53. data/lib/aws/cloud_watch/metric.rb +15 -15
  54. data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
  55. data/lib/aws/cloud_watch/metric_collection.rb +16 -16
  56. data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
  57. data/lib/aws/core.rb +243 -225
  58. data/lib/aws/core/async_handle.rb +13 -13
  59. data/lib/aws/core/cacheable.rb +14 -15
  60. data/lib/aws/core/client.rb +40 -15
  61. data/lib/aws/core/collection.rb +42 -46
  62. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  63. data/lib/aws/core/collection/with_next_token.rb +1 -1
  64. data/lib/aws/core/configuration.rb +97 -133
  65. data/lib/aws/core/credential_providers.rb +16 -16
  66. data/lib/aws/core/data.rb +23 -23
  67. data/lib/aws/core/http/connection_pool.rb +348 -0
  68. data/lib/aws/core/http/net_http_handler.rb +17 -26
  69. data/lib/aws/core/http/patch.rb +102 -0
  70. data/lib/aws/core/http/request.rb +13 -19
  71. data/lib/aws/core/http/response.rb +2 -2
  72. data/lib/aws/core/lazy_error_classes.rb +17 -17
  73. data/lib/aws/core/log_formatter.rb +70 -104
  74. data/lib/aws/core/options/json_serializer.rb +1 -1
  75. data/lib/aws/core/options/validator.rb +4 -4
  76. data/lib/aws/core/page_result.rb +8 -8
  77. data/lib/aws/core/policy.rb +49 -49
  78. data/lib/aws/core/region.rb +72 -0
  79. data/lib/aws/core/region_collection.rb +106 -0
  80. data/lib/aws/core/resource.rb +5 -5
  81. data/lib/aws/core/response.rb +20 -17
  82. data/lib/aws/core/rest_request_builder.rb +4 -4
  83. data/lib/aws/core/service_interface.rb +24 -2
  84. data/lib/aws/core/signature/version_3.rb +2 -2
  85. data/lib/aws/core/uri_escape.rb +1 -1
  86. data/lib/aws/core/xml/frame_stack.rb +1 -1
  87. data/lib/aws/core/xml/grammar.rb +3 -4
  88. data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
  89. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
  90. data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
  91. data/lib/aws/core/xml/stub.rb +9 -9
  92. data/lib/aws/data_pipeline.rb +21 -21
  93. data/lib/aws/data_pipeline/client.rb +189 -133
  94. data/lib/aws/data_pipeline/config.rb +1 -1
  95. data/lib/aws/direct_connect.rb +74 -0
  96. data/lib/aws/direct_connect/client.rb +253 -0
  97. data/lib/aws/direct_connect/config.rb +18 -0
  98. data/lib/aws/direct_connect/errors.rb +22 -0
  99. data/lib/aws/direct_connect/request.rb +27 -0
  100. data/lib/aws/dynamo_db.rb +71 -69
  101. data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
  102. data/lib/aws/dynamo_db/batch_get.rb +23 -23
  103. data/lib/aws/dynamo_db/batch_write.rb +43 -43
  104. data/lib/aws/dynamo_db/binary.rb +9 -9
  105. data/lib/aws/dynamo_db/client.rb +494 -509
  106. data/lib/aws/dynamo_db/client_base.rb +91 -0
  107. data/lib/aws/dynamo_db/client_v2.rb +825 -0
  108. data/lib/aws/dynamo_db/config.rb +1 -1
  109. data/lib/aws/dynamo_db/item.rb +10 -10
  110. data/lib/aws/dynamo_db/item_collection.rb +75 -75
  111. data/lib/aws/dynamo_db/table.rb +85 -85
  112. data/lib/aws/dynamo_db/table_collection.rb +13 -13
  113. data/lib/aws/ec2.rb +132 -142
  114. data/lib/aws/ec2/attachment.rb +31 -36
  115. data/lib/aws/ec2/attachment_collection.rb +1 -1
  116. data/lib/aws/ec2/availability_zone.rb +4 -4
  117. data/lib/aws/ec2/client.rb +2272 -2125
  118. data/lib/aws/ec2/config.rb +1 -1
  119. data/lib/aws/ec2/customer_gateway.rb +6 -6
  120. data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
  121. data/lib/aws/ec2/dhcp_options.rb +3 -3
  122. data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
  123. data/lib/aws/ec2/elastic_ip.rb +15 -15
  124. data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
  125. data/lib/aws/ec2/export_task.rb +4 -4
  126. data/lib/aws/ec2/export_task_collection.rb +11 -11
  127. data/lib/aws/ec2/filtered_collection.rb +6 -8
  128. data/lib/aws/ec2/image.rb +46 -40
  129. data/lib/aws/ec2/image_collection.rb +44 -52
  130. data/lib/aws/ec2/instance.rb +64 -62
  131. data/lib/aws/ec2/instance_collection.rb +47 -50
  132. data/lib/aws/ec2/internet_gateway.rb +6 -6
  133. data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
  134. data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
  135. data/lib/aws/ec2/key_pair.rb +3 -3
  136. data/lib/aws/ec2/key_pair_collection.rb +12 -12
  137. data/lib/aws/ec2/network_acl.rb +39 -39
  138. data/lib/aws/ec2/network_acl/association.rb +2 -2
  139. data/lib/aws/ec2/network_acl/entry.rb +22 -22
  140. data/lib/aws/ec2/network_acl_collection.rb +2 -2
  141. data/lib/aws/ec2/network_interface.rb +13 -4
  142. data/lib/aws/ec2/network_interface/attachment.rb +3 -3
  143. data/lib/aws/ec2/network_interface_collection.rb +5 -5
  144. data/lib/aws/ec2/permission_collection.rb +1 -1
  145. data/lib/aws/ec2/region.rb +6 -6
  146. data/lib/aws/ec2/region_collection.rb +1 -1
  147. data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
  148. data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
  149. data/lib/aws/ec2/resource_tag_collection.rb +5 -5
  150. data/lib/aws/ec2/route_table.rb +14 -14
  151. data/lib/aws/ec2/route_table/association.rb +22 -22
  152. data/lib/aws/ec2/route_table/route.rb +8 -8
  153. data/lib/aws/ec2/route_table_collection.rb +3 -3
  154. data/lib/aws/ec2/security_group.rb +39 -41
  155. data/lib/aws/ec2/security_group_collection.rb +19 -21
  156. data/lib/aws/ec2/snapshot.rb +3 -3
  157. data/lib/aws/ec2/snapshot_collection.rb +11 -12
  158. data/lib/aws/ec2/subnet.rb +2 -2
  159. data/lib/aws/ec2/subnet_collection.rb +17 -17
  160. data/lib/aws/ec2/tag_collection.rb +1 -1
  161. data/lib/aws/ec2/tagged_collection.rb +7 -7
  162. data/lib/aws/ec2/tagged_item.rb +10 -10
  163. data/lib/aws/ec2/volume.rb +16 -16
  164. data/lib/aws/ec2/volume_collection.rb +9 -12
  165. data/lib/aws/ec2/vpc.rb +6 -6
  166. data/lib/aws/ec2/vpc_collection.rb +10 -10
  167. data/lib/aws/ec2/vpn_connection.rb +4 -4
  168. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  169. data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
  170. data/lib/aws/ec2/vpn_gateway.rb +2 -2
  171. data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
  172. data/lib/aws/elastic_beanstalk.rb +12 -12
  173. data/lib/aws/elastic_beanstalk/client.rb +376 -368
  174. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  175. data/lib/aws/elastic_transcoder.rb +5 -5
  176. data/lib/aws/elastic_transcoder/client.rb +283 -283
  177. data/lib/aws/elastic_transcoder/config.rb +1 -1
  178. data/lib/aws/elasticache.rb +12 -12
  179. data/lib/aws/elasticache/client.rb +484 -479
  180. data/lib/aws/elasticache/config.rb +1 -1
  181. data/lib/aws/elb.rb +23 -23
  182. data/lib/aws/elb/availability_zone_collection.rb +34 -34
  183. data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
  184. data/lib/aws/elb/client.rb +153 -153
  185. data/lib/aws/elb/config.rb +1 -1
  186. data/lib/aws/elb/errors.rb +1 -1
  187. data/lib/aws/elb/instance_collection.rb +20 -25
  188. data/lib/aws/elb/listener.rb +3 -3
  189. data/lib/aws/elb/listener_collection.rb +8 -8
  190. data/lib/aws/elb/load_balancer.rb +15 -16
  191. data/lib/aws/elb/load_balancer_collection.rb +36 -24
  192. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  193. data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
  194. data/lib/aws/emr.rb +28 -26
  195. data/lib/aws/emr/client.rb +165 -149
  196. data/lib/aws/emr/config.rb +1 -1
  197. data/lib/aws/emr/instance_group.rb +1 -1
  198. data/lib/aws/emr/instance_group_collection.rb +1 -1
  199. data/lib/aws/emr/job_flow.rb +27 -26
  200. data/lib/aws/emr/job_flow_collection.rb +34 -34
  201. data/lib/aws/errors.rb +7 -7
  202. data/lib/aws/glacier.rb +21 -21
  203. data/lib/aws/glacier/archive_collection.rb +2 -2
  204. data/lib/aws/glacier/client.rb +139 -140
  205. data/lib/aws/glacier/config.rb +1 -1
  206. data/lib/aws/glacier/vault.rb +2 -2
  207. data/lib/aws/glacier/vault_collection.rb +1 -1
  208. data/lib/aws/iam.rb +133 -144
  209. data/lib/aws/iam/access_key.rb +17 -17
  210. data/lib/aws/iam/access_key_collection.rb +22 -22
  211. data/lib/aws/iam/account_alias_collection.rb +2 -2
  212. data/lib/aws/iam/client.rb +429 -420
  213. data/lib/aws/iam/collection.rb +1 -1
  214. data/lib/aws/iam/config.rb +2 -2
  215. data/lib/aws/iam/group.rb +8 -8
  216. data/lib/aws/iam/group_collection.rb +16 -16
  217. data/lib/aws/iam/group_policy_collection.rb +6 -6
  218. data/lib/aws/iam/group_user_collection.rb +3 -3
  219. data/lib/aws/iam/mfa_device.rb +1 -1
  220. data/lib/aws/iam/mfa_device_collection.rb +9 -9
  221. data/lib/aws/iam/policy_collection.rb +4 -4
  222. data/lib/aws/iam/resource.rb +2 -2
  223. data/lib/aws/iam/server_certificate.rb +1 -1
  224. data/lib/aws/iam/server_certificate_collection.rb +15 -15
  225. data/lib/aws/iam/signing_certificate.rb +29 -29
  226. data/lib/aws/iam/signing_certificate_collection.rb +23 -23
  227. data/lib/aws/iam/user.rb +33 -38
  228. data/lib/aws/iam/user_collection.rb +27 -27
  229. data/lib/aws/iam/user_group_collection.rb +3 -3
  230. data/lib/aws/iam/user_policy_collection.rb +6 -6
  231. data/lib/aws/iam/virtual_mfa_device.rb +12 -12
  232. data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
  233. data/lib/aws/import_export.rb +22 -21
  234. data/lib/aws/import_export/client.rb +47 -43
  235. data/lib/aws/ops_works.rb +5 -5
  236. data/lib/aws/ops_works/client.rb +484 -438
  237. data/lib/aws/ops_works/config.rb +1 -1
  238. data/lib/aws/rails.rb +34 -34
  239. data/lib/aws/rds.rb +18 -18
  240. data/lib/aws/rds/client.rb +1286 -1277
  241. data/lib/aws/rds/config.rb +1 -1
  242. data/lib/aws/rds/db_instance.rb +15 -4
  243. data/lib/aws/rds/db_snapshot.rb +1 -1
  244. data/lib/aws/record.rb +50 -24
  245. data/lib/aws/record/abstract_base.rb +52 -60
  246. data/lib/aws/record/attributes.rb +79 -79
  247. data/lib/aws/record/conversion.rb +1 -1
  248. data/lib/aws/record/dirty_tracking.rb +69 -67
  249. data/lib/aws/record/errors.rb +21 -21
  250. data/lib/aws/record/exceptions.rb +2 -2
  251. data/lib/aws/record/hash_model.rb +20 -21
  252. data/lib/aws/record/hash_model/attributes.rb +13 -15
  253. data/lib/aws/record/hash_model/finder_methods.rb +46 -46
  254. data/lib/aws/record/hash_model/scope.rb +31 -31
  255. data/lib/aws/record/model.rb +136 -136
  256. data/lib/aws/record/model/attributes.rb +57 -59
  257. data/lib/aws/record/model/finder_methods.rb +67 -67
  258. data/lib/aws/record/model/scope.rb +48 -49
  259. data/lib/aws/record/naming.rb +1 -1
  260. data/lib/aws/record/scope.rb +23 -19
  261. data/lib/aws/record/validations.rb +253 -271
  262. data/lib/aws/record/validator.rb +3 -3
  263. data/lib/aws/record/validators/acceptance.rb +1 -3
  264. data/lib/aws/record/validators/block.rb +1 -3
  265. data/lib/aws/record/validators/confirmation.rb +1 -3
  266. data/lib/aws/record/validators/count.rb +2 -4
  267. data/lib/aws/record/validators/exclusion.rb +2 -4
  268. data/lib/aws/record/validators/format.rb +2 -4
  269. data/lib/aws/record/validators/inclusion.rb +1 -3
  270. data/lib/aws/record/validators/length.rb +5 -7
  271. data/lib/aws/record/validators/method.rb +1 -3
  272. data/lib/aws/record/validators/numericality.rb +6 -8
  273. data/lib/aws/record/validators/presence.rb +1 -3
  274. data/lib/aws/redshift.rb +14 -14
  275. data/lib/aws/redshift/client.rb +596 -592
  276. data/lib/aws/redshift/config.rb +1 -1
  277. data/lib/aws/route_53.rb +30 -30
  278. data/lib/aws/route_53/change_batch.rb +7 -7
  279. data/lib/aws/route_53/client.rb +188 -152
  280. data/lib/aws/route_53/hosted_zone.rb +4 -4
  281. data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
  282. data/lib/aws/route_53/resource_record_set.rb +10 -10
  283. data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
  284. data/lib/aws/s3.rb +79 -79
  285. data/lib/aws/s3/access_control_list.rb +44 -36
  286. data/lib/aws/s3/acl_options.rb +51 -51
  287. data/lib/aws/s3/bucket.rb +146 -146
  288. data/lib/aws/s3/bucket_collection.rb +21 -21
  289. data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
  290. data/lib/aws/s3/bucket_tag_collection.rb +4 -2
  291. data/lib/aws/s3/cipher_io.rb +5 -4
  292. data/lib/aws/s3/client.rb +89 -84
  293. data/lib/aws/s3/client/xml.rb +1 -1
  294. data/lib/aws/s3/config.rb +7 -1
  295. data/lib/aws/s3/cors_rule.rb +2 -0
  296. data/lib/aws/s3/cors_rule_collection.rb +42 -40
  297. data/lib/aws/s3/data_options.rb +16 -11
  298. data/lib/aws/s3/encryption_utils.rb +2 -2
  299. data/lib/aws/s3/errors.rb +7 -7
  300. data/lib/aws/s3/multipart_upload.rb +30 -33
  301. data/lib/aws/s3/multipart_upload_collection.rb +8 -6
  302. data/lib/aws/s3/object_collection.rb +35 -35
  303. data/lib/aws/s3/object_metadata.rb +6 -6
  304. data/lib/aws/s3/object_version.rb +4 -4
  305. data/lib/aws/s3/object_version_collection.rb +15 -15
  306. data/lib/aws/s3/policy.rb +2 -2
  307. data/lib/aws/s3/prefixed_collection.rb +9 -5
  308. data/lib/aws/s3/presigned_post.rb +39 -37
  309. data/lib/aws/s3/request.rb +11 -11
  310. data/lib/aws/s3/s3_object.rb +210 -200
  311. data/lib/aws/s3/tree.rb +25 -27
  312. data/lib/aws/s3/tree/child_collection.rb +3 -3
  313. data/lib/aws/s3/tree/leaf_node.rb +2 -2
  314. data/lib/aws/s3/tree/parent.rb +1 -1
  315. data/lib/aws/s3/website_configuration.rb +13 -13
  316. data/lib/aws/simple_db.rb +83 -83
  317. data/lib/aws/simple_db/attribute.rb +9 -7
  318. data/lib/aws/simple_db/attribute_collection.rb +22 -13
  319. data/lib/aws/simple_db/client.rb +107 -107
  320. data/lib/aws/simple_db/config.rb +7 -1
  321. data/lib/aws/simple_db/consistent_read_option.rb +5 -5
  322. data/lib/aws/simple_db/domain.rb +4 -2
  323. data/lib/aws/simple_db/domain_collection.rb +4 -4
  324. data/lib/aws/simple_db/domain_metadata.rb +5 -5
  325. data/lib/aws/simple_db/errors.rb +9 -9
  326. data/lib/aws/simple_db/item.rb +5 -5
  327. data/lib/aws/simple_db/item_collection.rb +83 -81
  328. data/lib/aws/simple_db/item_data.rb +4 -4
  329. data/lib/aws/simple_db/put_attributes.rb +3 -3
  330. data/lib/aws/simple_email_service.rb +140 -140
  331. data/lib/aws/simple_email_service/client.rb +82 -76
  332. data/lib/aws/simple_email_service/config.rb +1 -2
  333. data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
  334. data/lib/aws/simple_email_service/identity.rb +8 -8
  335. data/lib/aws/simple_email_service/quotas.rb +8 -6
  336. data/lib/aws/simple_workflow.rb +106 -106
  337. data/lib/aws/simple_workflow/activity_task.rb +15 -22
  338. data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
  339. data/lib/aws/simple_workflow/activity_type.rb +23 -23
  340. data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
  341. data/lib/aws/simple_workflow/client.rb +1004 -956
  342. data/lib/aws/simple_workflow/config.rb +1 -1
  343. data/lib/aws/simple_workflow/count.rb +5 -5
  344. data/lib/aws/simple_workflow/decision_task.rb +129 -129
  345. data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
  346. data/lib/aws/simple_workflow/domain.rb +11 -11
  347. data/lib/aws/simple_workflow/domain_collection.rb +26 -26
  348. data/lib/aws/simple_workflow/history_event.rb +32 -32
  349. data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
  350. data/lib/aws/simple_workflow/option_formatters.rb +5 -5
  351. data/lib/aws/simple_workflow/request.rb +1 -1
  352. data/lib/aws/simple_workflow/resource.rb +1 -1
  353. data/lib/aws/simple_workflow/type.rb +8 -8
  354. data/lib/aws/simple_workflow/type_collection.rb +15 -15
  355. data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
  356. data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
  357. data/lib/aws/simple_workflow/workflow_type.rb +27 -25
  358. data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
  359. data/lib/aws/sns.rb +25 -25
  360. data/lib/aws/sns/client.rb +55 -55
  361. data/lib/aws/sns/config.rb +1 -1
  362. data/lib/aws/sns/policy.rb +1 -1
  363. data/lib/aws/sns/subscription.rb +7 -7
  364. data/lib/aws/sns/subscription_collection.rb +5 -5
  365. data/lib/aws/sns/topic.rb +49 -49
  366. data/lib/aws/sns/topic_collection.rb +2 -2
  367. data/lib/aws/sns/topic_subscription_collection.rb +5 -5
  368. data/lib/aws/sqs.rb +20 -20
  369. data/lib/aws/sqs/client.rb +78 -78
  370. data/lib/aws/sqs/config.rb +1 -1
  371. data/lib/aws/sqs/errors.rb +12 -12
  372. data/lib/aws/sqs/queue.rb +66 -67
  373. data/lib/aws/sqs/queue_collection.rb +16 -8
  374. data/lib/aws/sqs/received_message.rb +7 -6
  375. data/lib/aws/storage_gateway.rb +21 -21
  376. data/lib/aws/storage_gateway/client.rb +269 -202
  377. data/lib/aws/storage_gateway/config.rb +1 -1
  378. data/lib/aws/sts.rb +10 -8
  379. data/lib/aws/sts/client.rb +35 -35
  380. data/lib/aws/sts/session.rb +3 -3
  381. data/lib/aws/version.rb +1 -2
  382. metadata +23 -21
  383. data/lib/aws/core/autoloader.rb +0 -64
  384. data/lib/net/http/connection_pool.rb +0 -226
  385. data/lib/net/http/connection_pool/connection.rb +0 -189
  386. data/lib/net/http/connection_pool/session.rb +0 -126
@@ -0,0 +1,91 @@
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 'zlib'
15
+
16
+ module AWS
17
+ class DynamoDB
18
+
19
+ # Client class for Amazon DynamoDB.
20
+ class ClientBase < Core::JSONClient
21
+
22
+ # @private
23
+ REGION_US_E1 = 'dynamodb.us-east-1.amazonaws.com'
24
+
25
+ # @private
26
+ CACHEABLE_REQUESTS = Set[:list_tables, :describe_table]
27
+
28
+ protected
29
+
30
+ def extract_error_details response
31
+ if response.http_response.status == 413
32
+ ['RequestEntityTooLarge', 'Request entity too large']
33
+ elsif crc32_is_valid?(response) == false
34
+ ['CRC32CheckFailed', 'CRC32 integrity check failed']
35
+ else
36
+ super
37
+ end
38
+ end
39
+
40
+ def retryable_error? response
41
+ case response.error
42
+ when Errors::ProvisionedThroughputExceededException
43
+ config.dynamo_db_retry_throughput_errors?
44
+ when Errors::CRC32CheckFailed
45
+ true
46
+ else
47
+ super
48
+ end
49
+ end
50
+
51
+ def sleep_durations response
52
+
53
+ retry_count =
54
+ if expired_credentials?(response)
55
+ config.max_retries == 0 ? 0 : 1
56
+ else
57
+ config.max_retries { 10 }
58
+ end
59
+
60
+ # given a retry_count of 10, the sleep durations will look like:
61
+ # 0, 50, 100, 200, 400, 800, 1600, 3200, 6400, 12800 (milliseconds)
62
+ (0...retry_count).map do |n|
63
+ if n == 0
64
+ 0
65
+ else
66
+ 50 * (2 ** (n - 1)) / 1000.0
67
+ end
68
+ end
69
+
70
+ end
71
+
72
+ private
73
+
74
+ # @return [Boolean] whether the CRC32 response header matches the body.
75
+ # @return [nil] if no CRC32 header is present or we are not verifying CRC32
76
+ def crc32_is_valid? response
77
+ return nil unless config.dynamo_db_crc32
78
+ if crcs = response.http_response.headers['x-amz-crc32']
79
+ crcs[0].to_i == calculate_crc32(response)
80
+ else
81
+ nil
82
+ end
83
+ end
84
+
85
+ def calculate_crc32 response
86
+ Zlib.crc32(response.http_response.body)
87
+ end
88
+
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,825 @@
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 DynamoDB
16
+
17
+ # Client class for Amazon DynamoDB.
18
+ class ClientV2 < ClientBase
19
+
20
+ # client methods #
21
+
22
+ # @!method batch_get_item(options = {})
23
+ # Calls the BatchGetItem API operation.
24
+ # @param [Hash] options
25
+ # * `:request_items` - *required* - (Hash<String,Hash>)
26
+ # * `:keys` - *required* - (Array<Hash<String,Hash>>)
27
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
28
+ # The maximum size is limited by the size of the primary key
29
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
30
+ # part hash key) or the item size (64k).
31
+ # * `:n` - (String) Numbers are positive or negative exact-value
32
+ # decimals and integers. A number can have up to 38 digits
33
+ # precision and can be between 10^-128 to 10^+126.
34
+ # * `:b` - (String) Binary attributes are sequences of unsigned
35
+ # bytes.
36
+ # * `:ss` - (Array<String>) A set of strings.
37
+ # * `:ns` - (Array<String>) A set of numbers.
38
+ # * `:bs` - (Array<String>) A set of binary attributes.
39
+ # * `:attributes_to_get` - (Array<String>)
40
+ # * `:consistent_read` - (Boolean)
41
+ # * `:return_consumed_capacity` - (String) Valid values include:
42
+ # * `TOTAL`
43
+ # * `NONE`
44
+ # @return [Core::Response]
45
+ # The #data method of the response object returns
46
+ # a hash with the following structure:
47
+ # * `:responses` - (Hash<String,Hash>)
48
+ # * `:member` - (Hash<String,Hash>)
49
+ # * `:s` - (String)
50
+ # * `:n` - (String)
51
+ # * `:b` - (String)
52
+ # * `:ss` - (Array<String>)
53
+ # * `:ns` - (Array<String>)
54
+ # * `:bs` - (Array<Blob>)
55
+ # * `:unprocessed_keys` - (Hash<String,Hash>)
56
+ # * `:member` - (Hash<String,Hash>)
57
+ # * `:s` - (String)
58
+ # * `:n` - (String)
59
+ # * `:b` - (String)
60
+ # * `:ss` - (Array<String>)
61
+ # * `:ns` - (Array<String>)
62
+ # * `:bs` - (Array<Blob>)
63
+ # * `:attributes_to_get` - (Array<String>)
64
+ # * `:consistent_read` - (Boolean)
65
+ # * `:consumed_capacity` - (Array<Hash>)
66
+ # * `:table_name` - (String)
67
+ # * `:capacity_units` - (Numeric)
68
+
69
+ # @!method batch_write_item(options = {})
70
+ # Calls the BatchWriteItem API operation.
71
+ # @param [Hash] options
72
+ # * `:request_items` - *required* - (Hash<String,Array<Hash>>) A map of
73
+ # table name to list-of-write-requests. Used as input to the
74
+ # BatchWriteItem API call
75
+ # * `:put_request` - (Hash)
76
+ # * `:item` - *required* - (Hash<String,Hash>) The item to put
77
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary
78
+ # encoding. The maximum size is limited by the size of the
79
+ # primary key (1024 bytes as a range part of a key or 2048
80
+ # bytes as a single part hash key) or the item size (64k).
81
+ # * `:n` - (String) Numbers are positive or negative exact-value
82
+ # decimals and integers. A number can have up to 38 digits
83
+ # precision and can be between 10^-128 to 10^+126.
84
+ # * `:b` - (String) Binary attributes are sequences of unsigned
85
+ # bytes.
86
+ # * `:ss` - (Array<String>) A set of strings.
87
+ # * `:ns` - (Array<String>) A set of numbers.
88
+ # * `:bs` - (Array<String>) A set of binary attributes.
89
+ # * `:delete_request` - (Hash)
90
+ # * `:key` - *required* - (Hash<String,Hash>) The item's key to be
91
+ # delete
92
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary
93
+ # encoding. The maximum size is limited by the size of the
94
+ # primary key (1024 bytes as a range part of a key or 2048
95
+ # bytes as a single part hash key) or the item size (64k).
96
+ # * `:n` - (String) Numbers are positive or negative exact-value
97
+ # decimals and integers. A number can have up to 38 digits
98
+ # precision and can be between 10^-128 to 10^+126.
99
+ # * `:b` - (String) Binary attributes are sequences of unsigned
100
+ # bytes.
101
+ # * `:ss` - (Array<String>) A set of strings.
102
+ # * `:ns` - (Array<String>) A set of numbers.
103
+ # * `:bs` - (Array<String>) A set of binary attributes.
104
+ # * `:return_consumed_capacity` - (String) Valid values include:
105
+ # * `TOTAL`
106
+ # * `NONE`
107
+ # * `:return_item_collection_metrics` - (String) Valid values include:
108
+ # * `SIZE`
109
+ # * `NONE`
110
+ # @return [Core::Response]
111
+ # The #data method of the response object returns
112
+ # a hash with the following structure:
113
+ # * `:unprocessed_items` - (Hash<String,Hash>)
114
+ # * `:value` - (Array<Hash>)
115
+ # * `:put_request` - (Hash)
116
+ # * `:item` - (Hash<String,Hash>)
117
+ # * `:s` - (String)
118
+ # * `:n` - (String)
119
+ # * `:b` - (String)
120
+ # * `:ss` - (Array<String>)
121
+ # * `:ns` - (Array<String>)
122
+ # * `:bs` - (Array<Blob>)
123
+ # * `:delete_request` - (Hash)
124
+ # * `:key` - (Hash<String,Hash>)
125
+ # * `:s` - (String)
126
+ # * `:n` - (String)
127
+ # * `:b` - (String)
128
+ # * `:ss` - (Array<String>)
129
+ # * `:ns` - (Array<String>)
130
+ # * `:bs` - (Array<Blob>)
131
+ # * `:item_collection_metrics` - (Hash<String,Hash>)
132
+ # * `:value` - (Array<Hash>)
133
+ # * `:item_collection_key` - (Hash<String,Hash>)
134
+ # * `:s` - (String)
135
+ # * `:n` - (String)
136
+ # * `:b` - (String)
137
+ # * `:ss` - (Array<String>)
138
+ # * `:ns` - (Array<String>)
139
+ # * `:bs` - (Array<Blob>)
140
+ # * `:size_estimate_range_gb` - (Array<Float>)
141
+ # * `:consumed_capacity` - (Array<Hash>)
142
+ # * `:table_name` - (String)
143
+ # * `:capacity_units` - (Numeric)
144
+
145
+ # @!method create_table(options = {})
146
+ # Calls the CreateTable API operation.
147
+ # @param [Hash] options
148
+ # * `:attribute_definitions` - *required* - (Array<Hash>)
149
+ # * `:attribute_name` - *required* - (String)
150
+ # * `:attribute_type` - *required* - (String) Valid values include:
151
+ # * `S`
152
+ # * `N`
153
+ # * `B`
154
+ # * `:table_name` - *required* - (String) The name of the table you
155
+ # want to create. Allowed characters are a-z, A-Z, 0-9, _
156
+ # (underscore), - (hyphen) and . (period).
157
+ # * `:key_schema` - *required* - (Array<Hash>)
158
+ # * `:attribute_name` - *required* - (String) The AttributeName of
159
+ # the KeySchemaElement.
160
+ # * `:key_type` - *required* - (String) Valid values include:
161
+ # * `HASH`
162
+ # * `RANGE`
163
+ # * `:local_secondary_indexes` - (Array<Hash>)
164
+ # * `:index_name` - *required* - (String)
165
+ # * `:key_schema` - *required* - (Array<Hash>)
166
+ # * `:attribute_name` - *required* - (String) The AttributeName of
167
+ # the KeySchemaElement.
168
+ # * `:key_type` - *required* - (String) Valid values include:
169
+ # * `HASH`
170
+ # * `RANGE`
171
+ # * `:projection` - *required* - (Hash)
172
+ # * `:projection_type` - (String) Valid values include:
173
+ # * `ALL`
174
+ # * `KEYS_ONLY`
175
+ # * `INCLUDE`
176
+ # * `:non_key_attributes` - (Array<String>)
177
+ # * `:provisioned_throughput` - *required* - (Hash)
178
+ # * `:read_capacity_units` - *required* - (Integer) ReadCapacityUnits
179
+ # are in terms of strictly consistent reads, assuming items of 1k.
180
+ # 2k items require twice the ReadCapacityUnits.
181
+ # Eventually-consistent reads only require half the
182
+ # ReadCapacityUnits of stirctly consistent reads.
183
+ # * `:write_capacity_units` - *required* - (Integer)
184
+ # WriteCapacityUnits are in terms of strictly consistent reads,
185
+ # assuming items of 1k. 2k items require twice the
186
+ # WriteCapacityUnits.
187
+ # @return [Core::Response]
188
+ # The #data method of the response object returns
189
+ # a hash with the following structure:
190
+ # * `:table_description` - (Hash)
191
+ # * `:attribute_definitions` - (Array<Hash>)
192
+ # * `:attribute_name` - (String)
193
+ # * `:attribute_type` - (String)
194
+ # * `:table_name` - (String)
195
+ # * `:key_schema` - (Array<Hash>)
196
+ # * `:attribute_name` - (String)
197
+ # * `:key_type` - (String)
198
+ # * `:table_status` - (String)
199
+ # * `:creation_date_time` - (Time)
200
+ # * `:provisioned_throughput` - (Hash)
201
+ # * `:last_increase_date_time` - (Time)
202
+ # * `:last_decrease_date_time` - (Time)
203
+ # * `:number_of_decreases_today` - (Integer)
204
+ # * `:read_capacity_units` - (Integer)
205
+ # * `:write_capacity_units` - (Integer)
206
+ # * `:table_size_bytes` - (Integer)
207
+ # * `:item_count` - (Integer)
208
+ # * `:local_secondary_indexes` - (Array<Hash>)
209
+ # * `:index_name` - (String)
210
+ # * `:key_schema` - (Array<Hash>)
211
+ # * `:attribute_name` - (String)
212
+ # * `:key_type` - (String)
213
+ # * `:projection` - (Hash)
214
+ # * `:projection_type` - (String)
215
+ # * `:non_key_attributes` - (Array<String>)
216
+ # * `:index_size_bytes` - (Integer)
217
+ # * `:item_count` - (Integer)
218
+
219
+ # @!method delete_item(options = {})
220
+ # Calls the DeleteItem API operation.
221
+ # @param [Hash] options
222
+ # * `:table_name` - *required* - (String) The name of the table in
223
+ # which you want to delete an item. Allowed characters are a-z, A-Z,
224
+ # 0-9, _ (underscore), - (hyphen) and . (period).
225
+ # * `:key` - *required* - (Hash<String,Hash>)
226
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
227
+ # The maximum size is limited by the size of the primary key (1024
228
+ # bytes as a range part of a key or 2048 bytes as a single part
229
+ # hash key) or the item size (64k).
230
+ # * `:n` - (String) Numbers are positive or negative exact-value
231
+ # decimals and integers. A number can have up to 38 digits
232
+ # precision and can be between 10^-128 to 10^+126.
233
+ # * `:b` - (String) Binary attributes are sequences of unsigned
234
+ # bytes.
235
+ # * `:ss` - (Array<String>) A set of strings.
236
+ # * `:ns` - (Array<String>) A set of numbers.
237
+ # * `:bs` - (Array<String>) A set of binary attributes.
238
+ # * `:expected` - (Hash<String,Hash>)
239
+ # * `:value` - (Hash) Specify whether or not a value already exists
240
+ # and has a specific content for the attribute name-value pair.
241
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
242
+ # The maximum size is limited by the size of the primary key
243
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
244
+ # part hash key) or the item size (64k).
245
+ # * `:n` - (String) Numbers are positive or negative exact-value
246
+ # decimals and integers. A number can have up to 38 digits
247
+ # precision and can be between 10^-128 to 10^+126.
248
+ # * `:b` - (String) Binary attributes are sequences of unsigned
249
+ # bytes.
250
+ # * `:ss` - (Array<String>) A set of strings.
251
+ # * `:ns` - (Array<String>) A set of numbers.
252
+ # * `:bs` - (Array<String>) A set of binary attributes.
253
+ # * `:exists` - (Boolean) Specify whether or not a value already
254
+ # exists for the attribute name-value pair.
255
+ # * `:return_values` - (String) Valid values include:
256
+ # * `NONE`
257
+ # * `ALL_OLD`
258
+ # * `UPDATED_OLD`
259
+ # * `ALL_NEW`
260
+ # * `UPDATED_NEW`
261
+ # * `:return_consumed_capacity` - (String) Valid values include:
262
+ # * `TOTAL`
263
+ # * `NONE`
264
+ # * `:return_item_collection_metrics` - (String) Valid values include:
265
+ # * `SIZE`
266
+ # * `NONE`
267
+ # @return [Core::Response]
268
+ # The #data method of the response object returns
269
+ # a hash with the following structure:
270
+ # * `:attributes` - (Hash<String,Hash>)
271
+ # * `:s` - (String)
272
+ # * `:n` - (String)
273
+ # * `:b` - (String)
274
+ # * `:ss` - (Array<String>)
275
+ # * `:ns` - (Array<String>)
276
+ # * `:bs` - (Array<Blob>)
277
+ # * `:consumed_capacity` - (Hash)
278
+ # * `:table_name` - (String)
279
+ # * `:capacity_units` - (Numeric)
280
+ # * `:item_collection_metrics` - (Hash)
281
+ # * `:item_collection_key` - (Hash<String,Hash>)
282
+ # * `:s` - (String)
283
+ # * `:n` - (String)
284
+ # * `:b` - (String)
285
+ # * `:ss` - (Array<String>)
286
+ # * `:ns` - (Array<String>)
287
+ # * `:bs` - (Array<Blob>)
288
+ # * `:size_estimate_range_gb` - (Array<Float>)
289
+
290
+ # @!method delete_table(options = {})
291
+ # Calls the DeleteTable API operation.
292
+ # @param [Hash] options
293
+ # * `:table_name` - *required* - (String) The name of the table you
294
+ # want to delete. Allowed characters are a-z, A-Z, 0-9, _
295
+ # (underscore), - (hyphen) and . (period).
296
+ # @return [Core::Response]
297
+ # The #data method of the response object returns
298
+ # a hash with the following structure:
299
+ # * `:table_description` - (Hash)
300
+ # * `:attribute_definitions` - (Array<Hash>)
301
+ # * `:attribute_name` - (String)
302
+ # * `:attribute_type` - (String)
303
+ # * `:table_name` - (String)
304
+ # * `:key_schema` - (Array<Hash>)
305
+ # * `:attribute_name` - (String)
306
+ # * `:key_type` - (String)
307
+ # * `:table_status` - (String)
308
+ # * `:creation_date_time` - (Time)
309
+ # * `:provisioned_throughput` - (Hash)
310
+ # * `:last_increase_date_time` - (Time)
311
+ # * `:last_decrease_date_time` - (Time)
312
+ # * `:number_of_decreases_today` - (Integer)
313
+ # * `:read_capacity_units` - (Integer)
314
+ # * `:write_capacity_units` - (Integer)
315
+ # * `:table_size_bytes` - (Integer)
316
+ # * `:item_count` - (Integer)
317
+ # * `:local_secondary_indexes` - (Array<Hash>)
318
+ # * `:index_name` - (String)
319
+ # * `:key_schema` - (Array<Hash>)
320
+ # * `:attribute_name` - (String)
321
+ # * `:key_type` - (String)
322
+ # * `:projection` - (Hash)
323
+ # * `:projection_type` - (String)
324
+ # * `:non_key_attributes` - (Array<String>)
325
+ # * `:index_size_bytes` - (Integer)
326
+ # * `:item_count` - (Integer)
327
+
328
+ # @!method describe_table(options = {})
329
+ # Calls the DescribeTable API operation.
330
+ # @param [Hash] options
331
+ # * `:table_name` - *required* - (String) The name of the table you
332
+ # want to describe. Allowed characters are a-z, A-Z, 0-9, _
333
+ # (underscore), - (hyphen) and . (period).
334
+ # @return [Core::Response]
335
+ # The #data method of the response object returns
336
+ # a hash with the following structure:
337
+ # * `:table` - (Hash)
338
+ # * `:attribute_definitions` - (Array<Hash>)
339
+ # * `:attribute_name` - (String)
340
+ # * `:attribute_type` - (String)
341
+ # * `:table_name` - (String)
342
+ # * `:key_schema` - (Array<Hash>)
343
+ # * `:attribute_name` - (String)
344
+ # * `:key_type` - (String)
345
+ # * `:table_status` - (String)
346
+ # * `:creation_date_time` - (Time)
347
+ # * `:provisioned_throughput` - (Hash)
348
+ # * `:last_increase_date_time` - (Time)
349
+ # * `:last_decrease_date_time` - (Time)
350
+ # * `:number_of_decreases_today` - (Integer)
351
+ # * `:read_capacity_units` - (Integer)
352
+ # * `:write_capacity_units` - (Integer)
353
+ # * `:table_size_bytes` - (Integer)
354
+ # * `:item_count` - (Integer)
355
+ # * `:local_secondary_indexes` - (Array<Hash>)
356
+ # * `:index_name` - (String)
357
+ # * `:key_schema` - (Array<Hash>)
358
+ # * `:attribute_name` - (String)
359
+ # * `:key_type` - (String)
360
+ # * `:projection` - (Hash)
361
+ # * `:projection_type` - (String)
362
+ # * `:non_key_attributes` - (Array<String>)
363
+ # * `:index_size_bytes` - (Integer)
364
+ # * `:item_count` - (Integer)
365
+
366
+ # @!method get_item(options = {})
367
+ # Calls the GetItem API operation.
368
+ # @param [Hash] options
369
+ # * `:table_name` - *required* - (String) The name of the table in
370
+ # which you want to get an item. Allowed characters are a-z, A-Z,
371
+ # 0-9, _ (underscore), - (hyphen) and . (period).
372
+ # * `:key` - *required* - (Hash<String,Hash>)
373
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
374
+ # The maximum size is limited by the size of the primary key (1024
375
+ # bytes as a range part of a key or 2048 bytes as a single part
376
+ # hash key) or the item size (64k).
377
+ # * `:n` - (String) Numbers are positive or negative exact-value
378
+ # decimals and integers. A number can have up to 38 digits
379
+ # precision and can be between 10^-128 to 10^+126.
380
+ # * `:b` - (String) Binary attributes are sequences of unsigned
381
+ # bytes.
382
+ # * `:ss` - (Array<String>) A set of strings.
383
+ # * `:ns` - (Array<String>) A set of numbers.
384
+ # * `:bs` - (Array<String>) A set of binary attributes.
385
+ # * `:attributes_to_get` - (Array<String>)
386
+ # * `:consistent_read` - (Boolean)
387
+ # * `:return_consumed_capacity` - (String) Valid values include:
388
+ # * `TOTAL`
389
+ # * `NONE`
390
+ # @return [Core::Response]
391
+ # The #data method of the response object returns
392
+ # a hash with the following structure:
393
+ # * `:item` - (Hash<String,Hash>)
394
+ # * `:s` - (String)
395
+ # * `:n` - (String)
396
+ # * `:b` - (String)
397
+ # * `:ss` - (Array<String>)
398
+ # * `:ns` - (Array<String>)
399
+ # * `:bs` - (Array<Blob>)
400
+ # * `:consumed_capacity` - (Hash)
401
+ # * `:table_name` - (String)
402
+ # * `:capacity_units` - (Numeric)
403
+
404
+ # @!method list_tables(options = {})
405
+ # Calls the ListTables API operation.
406
+ # @param [Hash] options
407
+ # * `:exclusive_start_table_name` - (String) The name of the table that
408
+ # starts the list. If you already ran a ListTables operation and
409
+ # recieved a LastEvaluatedTableName value in the response, use that
410
+ # value here to continue the list.
411
+ # * `:limit` - (Integer)
412
+ # @return [Core::Response]
413
+ # The #data method of the response object returns
414
+ # a hash with the following structure:
415
+ # * `:table_names` - (Array<String>)
416
+ # * `:last_evaluated_table_name` - (String)
417
+
418
+ # @!method put_item(options = {})
419
+ # Calls the PutItem API operation.
420
+ # @param [Hash] options
421
+ # * `:table_name` - *required* - (String) The name of the table in
422
+ # which you want to put an item. Allowed characters are a-z, A-Z,
423
+ # 0-9, _ (underscore), - (hyphen) and . (period).
424
+ # * `:item` - *required* - (Hash<String,Hash>)
425
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
426
+ # The maximum size is limited by the size of the primary key (1024
427
+ # bytes as a range part of a key or 2048 bytes as a single part
428
+ # hash key) or the item size (64k).
429
+ # * `:n` - (String) Numbers are positive or negative exact-value
430
+ # decimals and integers. A number can have up to 38 digits
431
+ # precision and can be between 10^-128 to 10^+126.
432
+ # * `:b` - (String) Binary attributes are sequences of unsigned
433
+ # bytes.
434
+ # * `:ss` - (Array<String>) A set of strings.
435
+ # * `:ns` - (Array<String>) A set of numbers.
436
+ # * `:bs` - (Array<String>) A set of binary attributes.
437
+ # * `:expected` - (Hash<String,Hash>)
438
+ # * `:value` - (Hash) Specify whether or not a value already exists
439
+ # and has a specific content for the attribute name-value pair.
440
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
441
+ # The maximum size is limited by the size of the primary key
442
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
443
+ # part hash key) or the item size (64k).
444
+ # * `:n` - (String) Numbers are positive or negative exact-value
445
+ # decimals and integers. A number can have up to 38 digits
446
+ # precision and can be between 10^-128 to 10^+126.
447
+ # * `:b` - (String) Binary attributes are sequences of unsigned
448
+ # bytes.
449
+ # * `:ss` - (Array<String>) A set of strings.
450
+ # * `:ns` - (Array<String>) A set of numbers.
451
+ # * `:bs` - (Array<String>) A set of binary attributes.
452
+ # * `:exists` - (Boolean) Specify whether or not a value already
453
+ # exists for the attribute name-value pair.
454
+ # * `:return_values` - (String) Valid values include:
455
+ # * `NONE`
456
+ # * `ALL_OLD`
457
+ # * `UPDATED_OLD`
458
+ # * `ALL_NEW`
459
+ # * `UPDATED_NEW`
460
+ # * `:return_consumed_capacity` - (String) Valid values include:
461
+ # * `TOTAL`
462
+ # * `NONE`
463
+ # * `:return_item_collection_metrics` - (String) Valid values include:
464
+ # * `SIZE`
465
+ # * `NONE`
466
+ # @return [Core::Response]
467
+ # The #data method of the response object returns
468
+ # a hash with the following structure:
469
+ # * `:attributes` - (Hash<String,Hash>)
470
+ # * `:s` - (String)
471
+ # * `:n` - (String)
472
+ # * `:b` - (String)
473
+ # * `:ss` - (Array<String>)
474
+ # * `:ns` - (Array<String>)
475
+ # * `:bs` - (Array<Blob>)
476
+ # * `:consumed_capacity` - (Hash)
477
+ # * `:table_name` - (String)
478
+ # * `:capacity_units` - (Numeric)
479
+ # * `:item_collection_metrics` - (Hash)
480
+ # * `:item_collection_key` - (Hash<String,Hash>)
481
+ # * `:s` - (String)
482
+ # * `:n` - (String)
483
+ # * `:b` - (String)
484
+ # * `:ss` - (Array<String>)
485
+ # * `:ns` - (Array<String>)
486
+ # * `:bs` - (Array<Blob>)
487
+ # * `:size_estimate_range_gb` - (Array<Float>)
488
+
489
+ # @!method query(options = {})
490
+ # Calls the Query API operation.
491
+ # @param [Hash] options
492
+ # * `:table_name` - *required* - (String) The name of the table in
493
+ # which you want to query. Allowed characters are a-z, A-Z, 0-9, _
494
+ # (underscore), - (hyphen) and . (period).
495
+ # * `:index_name` - (String)
496
+ # * `:select` - (String) Valid values include:
497
+ # * `ALL_ATTRIBUTES`
498
+ # * `ALL_PROJECTED_ATTRIBUTES`
499
+ # * `SPECIFIC_ATTRIBUTES`
500
+ # * `COUNT`
501
+ # * `:attributes_to_get` - (Array<String>)
502
+ # * `:limit` - (Integer) The maximum number of items to return. If
503
+ # Amazon DynamoDB hits this limit while querying the table, it stops
504
+ # the query and returns the matching values up to the limit, and a
505
+ # LastEvaluatedKey to apply in a subsequent operation to continue the
506
+ # query. Also, if the result set size exceeds 1MB before Amazon
507
+ # DynamoDB hits this limit, it stops the query and returns the
508
+ # matching values, and a LastEvaluatedKey to apply in a subsequent
509
+ # operation to continue the query.
510
+ # * `:consistent_read` - (Boolean)
511
+ # * `:key_conditions` - (Hash<String,Hash>)
512
+ # * `:attribute_value_list` - (Array<Hash>)
513
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
514
+ # The maximum size is limited by the size of the primary key
515
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
516
+ # part hash key) or the item size (64k).
517
+ # * `:n` - (String) Numbers are positive or negative exact-value
518
+ # decimals and integers. A number can have up to 38 digits
519
+ # precision and can be between 10^-128 to 10^+126.
520
+ # * `:b` - (String) Binary attributes are sequences of unsigned
521
+ # bytes.
522
+ # * `:ss` - (Array<String>) A set of strings.
523
+ # * `:ns` - (Array<String>) A set of numbers.
524
+ # * `:bs` - (Array<String>) A set of binary attributes.
525
+ # * `:comparison_operator` - *required* - (String) Valid values
526
+ # include:
527
+ # * `EQ`
528
+ # * `NE`
529
+ # * `IN`
530
+ # * `LE`
531
+ # * `LT`
532
+ # * `GE`
533
+ # * `GT`
534
+ # * `BETWEEN`
535
+ # * `NOT_NULL`
536
+ # * `NULL`
537
+ # * `CONTAINS`
538
+ # * `NOT_CONTAINS`
539
+ # * `BEGINS_WITH`
540
+ # * `:scan_index_forward` - (Boolean) Specifies forward or backward
541
+ # traversal of the index. Amazon DynamoDB returns results reflecting
542
+ # the requested order, determined by the range key. Default is +true+
543
+ # (forward).
544
+ # * `:exclusive_start_key` - (Hash<String,Hash>) Primary key of the
545
+ # item from which to continue an earlier query. An earlier query
546
+ # might provide this value as the LastEvaluatedKey if that query
547
+ # operation was interrupted before completing the query; either
548
+ # because of the result set size or the Limit parameter. The
549
+ # LastEvaluatedKey can be passed back in a new query request to
550
+ # continue the operation from that point.
551
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
552
+ # The maximum size is limited by the size of the primary key (1024
553
+ # bytes as a range part of a key or 2048 bytes as a single part
554
+ # hash key) or the item size (64k).
555
+ # * `:n` - (String) Numbers are positive or negative exact-value
556
+ # decimals and integers. A number can have up to 38 digits
557
+ # precision and can be between 10^-128 to 10^+126.
558
+ # * `:b` - (String) Binary attributes are sequences of unsigned
559
+ # bytes.
560
+ # * `:ss` - (Array<String>) A set of strings.
561
+ # * `:ns` - (Array<String>) A set of numbers.
562
+ # * `:bs` - (Array<String>) A set of binary attributes.
563
+ # * `:return_consumed_capacity` - (String) Valid values include:
564
+ # * `TOTAL`
565
+ # * `NONE`
566
+ # @return [Core::Response]
567
+ # The #data method of the response object returns
568
+ # a hash with the following structure:
569
+ # * `:member` - (Hash<String,Hash>)
570
+ # * `:s` - (String)
571
+ # * `:n` - (String)
572
+ # * `:b` - (String)
573
+ # * `:ss` - (Array<String>)
574
+ # * `:ns` - (Array<String>)
575
+ # * `:bs` - (Array<Blob>)
576
+ # * `:count` - (Integer)
577
+ # * `:last_evaluated_key` - (Hash<String,Hash>)
578
+ # * `:s` - (String)
579
+ # * `:n` - (String)
580
+ # * `:b` - (String)
581
+ # * `:ss` - (Array<String>)
582
+ # * `:ns` - (Array<String>)
583
+ # * `:bs` - (Array<Blob>)
584
+ # * `:consumed_capacity` - (Hash)
585
+ # * `:table_name` - (String)
586
+ # * `:capacity_units` - (Numeric)
587
+
588
+ # @!method scan(options = {})
589
+ # Calls the Scan API operation.
590
+ # @param [Hash] options
591
+ # * `:table_name` - *required* - (String) The name of the table in
592
+ # which you want to scan. Allowed characters are a-z, A-Z, 0-9, _
593
+ # (underscore), - (hyphen) and . (period).
594
+ # * `:attributes_to_get` - (Array<String>)
595
+ # * `:limit` - (Integer) The maximum number of items to return. If
596
+ # Amazon DynamoDB hits this limit while scanning the table, it stops
597
+ # the scan and returns the matching values up to the limit, and a
598
+ # LastEvaluatedKey to apply in a subsequent operation to continue the
599
+ # scan. Also, if the scanned data set size exceeds 1MB before Amazon
600
+ # DynamoDB hits this limit, it stops the scan and returns the
601
+ # matching values up to the limit, and a LastEvaluatedKey to apply in
602
+ # a subsequent operation to continue the scan.
603
+ # * `:select` - (String) Valid values include:
604
+ # * `ALL_ATTRIBUTES`
605
+ # * `ALL_PROJECTED_ATTRIBUTES`
606
+ # * `SPECIFIC_ATTRIBUTES`
607
+ # * `COUNT`
608
+ # * `:scan_filter` - (Hash<String,Hash>) Evaluates the scan results and
609
+ # returns only the desired values.
610
+ # * `:attribute_value_list` - (Array<Hash>)
611
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
612
+ # The maximum size is limited by the size of the primary key
613
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
614
+ # part hash key) or the item size (64k).
615
+ # * `:n` - (String) Numbers are positive or negative exact-value
616
+ # decimals and integers. A number can have up to 38 digits
617
+ # precision and can be between 10^-128 to 10^+126.
618
+ # * `:b` - (String) Binary attributes are sequences of unsigned
619
+ # bytes.
620
+ # * `:ss` - (Array<String>) A set of strings.
621
+ # * `:ns` - (Array<String>) A set of numbers.
622
+ # * `:bs` - (Array<String>) A set of binary attributes.
623
+ # * `:comparison_operator` - *required* - (String) Valid values
624
+ # include:
625
+ # * `EQ`
626
+ # * `NE`
627
+ # * `IN`
628
+ # * `LE`
629
+ # * `LT`
630
+ # * `GE`
631
+ # * `GT`
632
+ # * `BETWEEN`
633
+ # * `NOT_NULL`
634
+ # * `NULL`
635
+ # * `CONTAINS`
636
+ # * `NOT_CONTAINS`
637
+ # * `BEGINS_WITH`
638
+ # * `:exclusive_start_key` - (Hash<String,Hash>) Primary key of the
639
+ # item from which to continue an earlier scan. An earlier scan might
640
+ # provide this value if that scan operation was interrupted before
641
+ # scanning the entire table; either because of the result set size or
642
+ # the Limit parameter. The LastEvaluatedKey can be passed back in a
643
+ # new scan request to continue the operation from that point.
644
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
645
+ # The maximum size is limited by the size of the primary key (1024
646
+ # bytes as a range part of a key or 2048 bytes as a single part
647
+ # hash key) or the item size (64k).
648
+ # * `:n` - (String) Numbers are positive or negative exact-value
649
+ # decimals and integers. A number can have up to 38 digits
650
+ # precision and can be between 10^-128 to 10^+126.
651
+ # * `:b` - (String) Binary attributes are sequences of unsigned
652
+ # bytes.
653
+ # * `:ss` - (Array<String>) A set of strings.
654
+ # * `:ns` - (Array<String>) A set of numbers.
655
+ # * `:bs` - (Array<String>) A set of binary attributes.
656
+ # * `:return_consumed_capacity` - (String) Valid values include:
657
+ # * `TOTAL`
658
+ # * `NONE`
659
+ # @return [Core::Response]
660
+ # The #data method of the response object returns
661
+ # a hash with the following structure:
662
+ # * `:member` - (Hash<String,Hash>)
663
+ # * `:s` - (String)
664
+ # * `:n` - (String)
665
+ # * `:b` - (String)
666
+ # * `:ss` - (Array<String>)
667
+ # * `:ns` - (Array<String>)
668
+ # * `:bs` - (Array<Blob>)
669
+ # * `:count` - (Integer)
670
+ # * `:scanned_count` - (Integer)
671
+ # * `:last_evaluated_key` - (Hash<String,Hash>)
672
+ # * `:s` - (String)
673
+ # * `:n` - (String)
674
+ # * `:b` - (String)
675
+ # * `:ss` - (Array<String>)
676
+ # * `:ns` - (Array<String>)
677
+ # * `:bs` - (Array<Blob>)
678
+ # * `:consumed_capacity` - (Hash)
679
+ # * `:table_name` - (String)
680
+ # * `:capacity_units` - (Numeric)
681
+
682
+ # @!method update_item(options = {})
683
+ # Calls the UpdateItem API operation.
684
+ # @param [Hash] options
685
+ # * `:table_name` - *required* - (String) The name of the table in
686
+ # which you want to update an item. Allowed characters are a-z, A-Z,
687
+ # 0-9, _ (underscore), - (hyphen) and . (period).
688
+ # * `:key` - *required* - (Hash<String,Hash>)
689
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
690
+ # The maximum size is limited by the size of the primary key (1024
691
+ # bytes as a range part of a key or 2048 bytes as a single part
692
+ # hash key) or the item size (64k).
693
+ # * `:n` - (String) Numbers are positive or negative exact-value
694
+ # decimals and integers. A number can have up to 38 digits
695
+ # precision and can be between 10^-128 to 10^+126.
696
+ # * `:b` - (String) Binary attributes are sequences of unsigned
697
+ # bytes.
698
+ # * `:ss` - (Array<String>) A set of strings.
699
+ # * `:ns` - (Array<String>) A set of numbers.
700
+ # * `:bs` - (Array<String>) A set of binary attributes.
701
+ # * `:attribute_updates` - (Hash<String,Hash>)
702
+ # * `:value` - (Hash)
703
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
704
+ # The maximum size is limited by the size of the primary key
705
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
706
+ # part hash key) or the item size (64k).
707
+ # * `:n` - (String) Numbers are positive or negative exact-value
708
+ # decimals and integers. A number can have up to 38 digits
709
+ # precision and can be between 10^-128 to 10^+126.
710
+ # * `:b` - (String) Binary attributes are sequences of unsigned
711
+ # bytes.
712
+ # * `:ss` - (Array<String>) A set of strings.
713
+ # * `:ns` - (Array<String>) A set of numbers.
714
+ # * `:bs` - (Array<String>) A set of binary attributes.
715
+ # * `:action` - (String) Valid values include:
716
+ # * `ADD`
717
+ # * `PUT`
718
+ # * `DELETE`
719
+ # * `:expected` - (Hash<String,Hash>)
720
+ # * `:value` - (Hash) Specify whether or not a value already exists
721
+ # and has a specific content for the attribute name-value pair.
722
+ # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
723
+ # The maximum size is limited by the size of the primary key
724
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
725
+ # part 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
+ # * `:b` - (String) Binary attributes are sequences of unsigned
730
+ # bytes.
731
+ # * `:ss` - (Array<String>) A set of strings.
732
+ # * `:ns` - (Array<String>) A set of numbers.
733
+ # * `:bs` - (Array<String>) A set of binary attributes.
734
+ # * `:exists` - (Boolean) Specify whether or not a value already
735
+ # exists for the attribute name-value pair.
736
+ # * `:return_values` - (String) Valid values include:
737
+ # * `NONE`
738
+ # * `ALL_OLD`
739
+ # * `UPDATED_OLD`
740
+ # * `ALL_NEW`
741
+ # * `UPDATED_NEW`
742
+ # * `:return_consumed_capacity` - (String) Valid values include:
743
+ # * `TOTAL`
744
+ # * `NONE`
745
+ # * `:return_item_collection_metrics` - (String) Valid values include:
746
+ # * `SIZE`
747
+ # * `NONE`
748
+ # @return [Core::Response]
749
+ # The #data method of the response object returns
750
+ # a hash with the following structure:
751
+ # * `:attributes` - (Hash<String,Hash>)
752
+ # * `:s` - (String)
753
+ # * `:n` - (String)
754
+ # * `:b` - (String)
755
+ # * `:ss` - (Array<String>)
756
+ # * `:ns` - (Array<String>)
757
+ # * `:bs` - (Array<Blob>)
758
+ # * `:consumed_capacity` - (Hash)
759
+ # * `:table_name` - (String)
760
+ # * `:capacity_units` - (Numeric)
761
+ # * `:item_collection_metrics` - (Hash)
762
+ # * `:item_collection_key` - (Hash<String,Hash>)
763
+ # * `:s` - (String)
764
+ # * `:n` - (String)
765
+ # * `:b` - (String)
766
+ # * `:ss` - (Array<String>)
767
+ # * `:ns` - (Array<String>)
768
+ # * `:bs` - (Array<Blob>)
769
+ # * `:size_estimate_range_gb` - (Array<Float>)
770
+
771
+ # @!method update_table(options = {})
772
+ # Calls the UpdateTable API operation.
773
+ # @param [Hash] options
774
+ # * `:table_name` - *required* - (String) The name of the table you
775
+ # want to update. Allowed characters are a-z, A-Z, 0-9, _
776
+ # (underscore), - (hyphen) and . (period).
777
+ # * `:provisioned_throughput` - *required* - (Hash)
778
+ # * `:read_capacity_units` - *required* - (Integer) ReadCapacityUnits
779
+ # are in terms of strictly consistent reads, assuming items of 1k.
780
+ # 2k items require twice the ReadCapacityUnits.
781
+ # Eventually-consistent reads only require half the
782
+ # ReadCapacityUnits of stirctly consistent reads.
783
+ # * `:write_capacity_units` - *required* - (Integer)
784
+ # WriteCapacityUnits are in terms of strictly consistent reads,
785
+ # assuming items of 1k. 2k items require twice the
786
+ # WriteCapacityUnits.
787
+ # @return [Core::Response]
788
+ # The #data method of the response object returns
789
+ # a hash with the following structure:
790
+ # * `:table_description` - (Hash)
791
+ # * `:attribute_definitions` - (Array<Hash>)
792
+ # * `:attribute_name` - (String)
793
+ # * `:attribute_type` - (String)
794
+ # * `:table_name` - (String)
795
+ # * `:key_schema` - (Array<Hash>)
796
+ # * `:attribute_name` - (String)
797
+ # * `:key_type` - (String)
798
+ # * `:table_status` - (String)
799
+ # * `:creation_date_time` - (Time)
800
+ # * `:provisioned_throughput` - (Hash)
801
+ # * `:last_increase_date_time` - (Time)
802
+ # * `:last_decrease_date_time` - (Time)
803
+ # * `:number_of_decreases_today` - (Integer)
804
+ # * `:read_capacity_units` - (Integer)
805
+ # * `:write_capacity_units` - (Integer)
806
+ # * `:table_size_bytes` - (Integer)
807
+ # * `:item_count` - (Integer)
808
+ # * `:local_secondary_indexes` - (Array<Hash>)
809
+ # * `:index_name` - (String)
810
+ # * `:key_schema` - (Array<Hash>)
811
+ # * `:attribute_name` - (String)
812
+ # * `:key_type` - (String)
813
+ # * `:projection` - (Hash)
814
+ # * `:projection_type` - (String)
815
+ # * `:non_key_attributes` - (Array<String>)
816
+ # * `:index_size_bytes` - (Integer)
817
+ # * `:item_count` - (Integer)
818
+
819
+ # end client methods #
820
+
821
+ define_client_methods('2012-08-10')
822
+
823
+ end
824
+ end
825
+ end