aws-sdk 1.8.5 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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