aws-sdk-euca 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. data/.yardopts +5 -0
  2. data/LICENSE.txt +12 -0
  3. data/README.rdoc +189 -0
  4. data/ca-bundle.crt +3895 -0
  5. data/lib/aws-sdk-euca.rb +79 -0
  6. data/lib/aws-sdk.rb +79 -0
  7. data/lib/aws.rb +14 -0
  8. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
  9. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
  10. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
  11. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
  12. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
  13. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  14. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
  15. data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
  16. data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
  17. data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
  18. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
  19. data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
  20. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
  21. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  22. data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
  23. data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
  24. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  25. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
  26. data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
  27. data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
  28. data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
  29. data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
  30. data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
  31. data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
  32. data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
  33. data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
  34. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
  35. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
  36. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
  37. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  38. data/lib/aws/auto_scaling.rb +164 -0
  39. data/lib/aws/auto_scaling/activity.rb +102 -0
  40. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  41. data/lib/aws/auto_scaling/client.rb +521 -0
  42. data/lib/aws/auto_scaling/config.rb +18 -0
  43. data/lib/aws/auto_scaling/errors.rb +22 -0
  44. data/lib/aws/auto_scaling/group.rb +420 -0
  45. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  46. data/lib/aws/auto_scaling/group_options.rb +146 -0
  47. data/lib/aws/auto_scaling/instance.rb +192 -0
  48. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  49. data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
  50. data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
  51. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  52. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  53. data/lib/aws/auto_scaling/request.rb +29 -0
  54. data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
  55. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  56. data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
  57. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  58. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  59. data/lib/aws/auto_scaling/tag.rb +59 -0
  60. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  61. data/lib/aws/cloud_formation.rb +272 -0
  62. data/lib/aws/cloud_formation/client.rb +369 -0
  63. data/lib/aws/cloud_formation/config.rb +18 -0
  64. data/lib/aws/cloud_formation/errors.rb +22 -0
  65. data/lib/aws/cloud_formation/request.rb +29 -0
  66. data/lib/aws/cloud_formation/stack.rb +255 -0
  67. data/lib/aws/cloud_formation/stack_collection.rb +209 -0
  68. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  69. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  70. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  71. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  72. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  73. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  74. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
  75. data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
  76. data/lib/aws/cloud_front.rb +73 -0
  77. data/lib/aws/cloud_front/client.rb +1307 -0
  78. data/lib/aws/cloud_front/config.rb +18 -0
  79. data/lib/aws/cloud_front/errors.rb +22 -0
  80. data/lib/aws/cloud_front/request.rb +44 -0
  81. data/lib/aws/cloud_search.rb +74 -0
  82. data/lib/aws/cloud_search/client.rb +558 -0
  83. data/lib/aws/cloud_search/config.rb +18 -0
  84. data/lib/aws/cloud_search/errors.rb +22 -0
  85. data/lib/aws/cloud_search/request.rb +23 -0
  86. data/lib/aws/cloud_watch.rb +119 -0
  87. data/lib/aws/cloud_watch/alarm.rb +272 -0
  88. data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
  89. data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
  90. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
  91. data/lib/aws/cloud_watch/client.rb +247 -0
  92. data/lib/aws/cloud_watch/config.rb +18 -0
  93. data/lib/aws/cloud_watch/errors.rb +22 -0
  94. data/lib/aws/cloud_watch/metric.rb +135 -0
  95. data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
  96. data/lib/aws/cloud_watch/metric_collection.rb +131 -0
  97. data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
  98. data/lib/aws/cloud_watch/request.rb +23 -0
  99. data/lib/aws/core.rb +587 -0
  100. data/lib/aws/core/async_handle.rb +90 -0
  101. data/lib/aws/core/autoloader.rb +64 -0
  102. data/lib/aws/core/cacheable.rb +78 -0
  103. data/lib/aws/core/client.rb +691 -0
  104. data/lib/aws/core/collection.rb +267 -0
  105. data/lib/aws/core/collection/simple.rb +82 -0
  106. data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
  107. data/lib/aws/core/collection/with_next_token.rb +97 -0
  108. data/lib/aws/core/configuration.rb +546 -0
  109. data/lib/aws/core/credential_providers.rb +461 -0
  110. data/lib/aws/core/data.rb +247 -0
  111. data/lib/aws/core/http/curb_handler.rb +155 -0
  112. data/lib/aws/core/http/handler.rb +89 -0
  113. data/lib/aws/core/http/net_http_handler.rb +128 -0
  114. data/lib/aws/core/http/request.rb +263 -0
  115. data/lib/aws/core/http/response.rb +81 -0
  116. data/lib/aws/core/indifferent_hash.rb +88 -0
  117. data/lib/aws/core/inflection.rb +56 -0
  118. data/lib/aws/core/json_client.rb +47 -0
  119. data/lib/aws/core/json_parser.rb +76 -0
  120. data/lib/aws/core/json_request_builder.rb +35 -0
  121. data/lib/aws/core/json_response_parser.rb +79 -0
  122. data/lib/aws/core/lazy_error_classes.rb +90 -0
  123. data/lib/aws/core/log_formatter.rb +462 -0
  124. data/lib/aws/core/managed_file.rb +32 -0
  125. data/lib/aws/core/meta_utils.rb +45 -0
  126. data/lib/aws/core/model.rb +57 -0
  127. data/lib/aws/core/naming.rb +30 -0
  128. data/lib/aws/core/option_grammar.rb +735 -0
  129. data/lib/aws/core/options/json_serializer.rb +82 -0
  130. data/lib/aws/core/options/validator.rb +155 -0
  131. data/lib/aws/core/options/xml_serializer.rb +118 -0
  132. data/lib/aws/core/page_result.rb +75 -0
  133. data/lib/aws/core/policy.rb +916 -0
  134. data/lib/aws/core/query_client.rb +41 -0
  135. data/lib/aws/core/query_error_parser.rb +24 -0
  136. data/lib/aws/core/query_request_builder.rb +47 -0
  137. data/lib/aws/core/query_response_parser.rb +35 -0
  138. data/lib/aws/core/resource.rb +413 -0
  139. data/lib/aws/core/resource_cache.rb +40 -0
  140. data/lib/aws/core/response.rb +208 -0
  141. data/lib/aws/core/response_cache.rb +50 -0
  142. data/lib/aws/core/rest_error_parser.rb +24 -0
  143. data/lib/aws/core/rest_json_client.rb +40 -0
  144. data/lib/aws/core/rest_request_builder.rb +146 -0
  145. data/lib/aws/core/rest_response_parser.rb +66 -0
  146. data/lib/aws/core/rest_xml_client.rb +47 -0
  147. data/lib/aws/core/service_interface.rb +61 -0
  148. data/lib/aws/core/signature/version_2.rb +56 -0
  149. data/lib/aws/core/signature/version_3.rb +77 -0
  150. data/lib/aws/core/signature/version_3_https.rb +54 -0
  151. data/lib/aws/core/signature/version_4.rb +135 -0
  152. data/lib/aws/core/signer.rb +46 -0
  153. data/lib/aws/core/uri_escape.rb +44 -0
  154. data/lib/aws/core/xml/frame.rb +244 -0
  155. data/lib/aws/core/xml/frame_stack.rb +85 -0
  156. data/lib/aws/core/xml/grammar.rb +307 -0
  157. data/lib/aws/core/xml/parser.rb +70 -0
  158. data/lib/aws/core/xml/root_frame.rb +65 -0
  159. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  160. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  161. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  162. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  163. data/lib/aws/core/xml/stub.rb +123 -0
  164. data/lib/aws/data_pipeline.rb +73 -0
  165. data/lib/aws/data_pipeline/client.rb +339 -0
  166. data/lib/aws/data_pipeline/config.rb +18 -0
  167. data/lib/aws/data_pipeline/errors.rb +20 -0
  168. data/lib/aws/data_pipeline/request.rb +26 -0
  169. data/lib/aws/dynamo_db.rb +206 -0
  170. data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
  171. data/lib/aws/dynamo_db/batch_get.rb +213 -0
  172. data/lib/aws/dynamo_db/batch_write.rb +252 -0
  173. data/lib/aws/dynamo_db/binary.rb +35 -0
  174. data/lib/aws/dynamo_db/client.rb +904 -0
  175. data/lib/aws/dynamo_db/config.rb +24 -0
  176. data/lib/aws/dynamo_db/errors.rb +20 -0
  177. data/lib/aws/dynamo_db/expectations.rb +40 -0
  178. data/lib/aws/dynamo_db/item.rb +133 -0
  179. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  180. data/lib/aws/dynamo_db/item_data.rb +31 -0
  181. data/lib/aws/dynamo_db/keys.rb +41 -0
  182. data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
  183. data/lib/aws/dynamo_db/request.rb +26 -0
  184. data/lib/aws/dynamo_db/resource.rb +33 -0
  185. data/lib/aws/dynamo_db/table.rb +491 -0
  186. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  187. data/lib/aws/dynamo_db/types.rb +111 -0
  188. data/lib/aws/ec2.rb +440 -0
  189. data/lib/aws/ec2/attachment.rb +140 -0
  190. data/lib/aws/ec2/attachment_collection.rb +54 -0
  191. data/lib/aws/ec2/availability_zone.rb +86 -0
  192. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  193. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  194. data/lib/aws/ec2/client.rb +3621 -0
  195. data/lib/aws/ec2/collection.rb +36 -0
  196. data/lib/aws/ec2/config.rb +18 -0
  197. data/lib/aws/ec2/config_transform.rb +63 -0
  198. data/lib/aws/ec2/customer_gateway.rb +90 -0
  199. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  200. data/lib/aws/ec2/dhcp_options.rb +106 -0
  201. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  202. data/lib/aws/ec2/elastic_ip.rb +208 -0
  203. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  204. data/lib/aws/ec2/errors.rb +32 -0
  205. data/lib/aws/ec2/export_task.rb +120 -0
  206. data/lib/aws/ec2/export_task_collection.rb +67 -0
  207. data/lib/aws/ec2/filtered_collection.rb +89 -0
  208. data/lib/aws/ec2/has_permissions.rb +44 -0
  209. data/lib/aws/ec2/image.rb +264 -0
  210. data/lib/aws/ec2/image_collection.rb +228 -0
  211. data/lib/aws/ec2/instance.rb +796 -0
  212. data/lib/aws/ec2/instance_collection.rb +372 -0
  213. data/lib/aws/ec2/internet_gateway.rb +122 -0
  214. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  215. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  216. data/lib/aws/ec2/key_pair.rb +82 -0
  217. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  218. data/lib/aws/ec2/network_acl.rb +256 -0
  219. data/lib/aws/ec2/network_acl/association.rb +56 -0
  220. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  221. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  222. data/lib/aws/ec2/network_interface.rb +228 -0
  223. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  224. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  225. data/lib/aws/ec2/permission_collection.rb +174 -0
  226. data/lib/aws/ec2/region.rb +106 -0
  227. data/lib/aws/ec2/region_collection.rb +51 -0
  228. data/lib/aws/ec2/request.rb +21 -0
  229. data/lib/aws/ec2/reserved_instances.rb +56 -0
  230. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  231. data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
  232. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  233. data/lib/aws/ec2/resource.rb +161 -0
  234. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  235. data/lib/aws/ec2/route_table.rb +205 -0
  236. data/lib/aws/ec2/route_table/association.rb +119 -0
  237. data/lib/aws/ec2/route_table/route.rb +119 -0
  238. data/lib/aws/ec2/route_table_collection.rb +72 -0
  239. data/lib/aws/ec2/security_group.rb +484 -0
  240. data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
  241. data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
  242. data/lib/aws/ec2/security_group_collection.rb +135 -0
  243. data/lib/aws/ec2/snapshot.rb +143 -0
  244. data/lib/aws/ec2/snapshot_collection.rb +132 -0
  245. data/lib/aws/ec2/subnet.rb +161 -0
  246. data/lib/aws/ec2/subnet_collection.rb +115 -0
  247. data/lib/aws/ec2/tag.rb +81 -0
  248. data/lib/aws/ec2/tag_collection.rb +107 -0
  249. data/lib/aws/ec2/tagged_collection.rb +53 -0
  250. data/lib/aws/ec2/tagged_item.rb +85 -0
  251. data/lib/aws/ec2/volume.rb +174 -0
  252. data/lib/aws/ec2/volume_collection.rb +101 -0
  253. data/lib/aws/ec2/vpc.rb +166 -0
  254. data/lib/aws/ec2/vpc_collection.rb +70 -0
  255. data/lib/aws/ec2/vpn_connection.rb +99 -0
  256. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  257. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  258. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  259. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  260. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  261. data/lib/aws/elastic_beanstalk.rb +50 -0
  262. data/lib/aws/elastic_beanstalk/client.rb +867 -0
  263. data/lib/aws/elastic_beanstalk/config.rb +18 -0
  264. data/lib/aws/elastic_beanstalk/errors.rb +22 -0
  265. data/lib/aws/elastic_beanstalk/request.rb +29 -0
  266. data/lib/aws/elastic_transcoder.rb +30 -0
  267. data/lib/aws/elastic_transcoder/client.rb +672 -0
  268. data/lib/aws/elastic_transcoder/config.rb +18 -0
  269. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  270. data/lib/aws/elastic_transcoder/request.rb +30 -0
  271. data/lib/aws/elasticache.rb +50 -0
  272. data/lib/aws/elasticache/client.rb +920 -0
  273. data/lib/aws/elasticache/config.rb +18 -0
  274. data/lib/aws/elasticache/errors.rb +22 -0
  275. data/lib/aws/elasticache/request.rb +23 -0
  276. data/lib/aws/elb.rb +67 -0
  277. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  278. data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
  279. data/lib/aws/elb/client.rb +500 -0
  280. data/lib/aws/elb/config.rb +18 -0
  281. data/lib/aws/elb/errors.rb +26 -0
  282. data/lib/aws/elb/instance_collection.rb +173 -0
  283. data/lib/aws/elb/listener.rb +190 -0
  284. data/lib/aws/elb/listener_collection.rb +113 -0
  285. data/lib/aws/elb/listener_opts.rb +45 -0
  286. data/lib/aws/elb/load_balancer.rb +281 -0
  287. data/lib/aws/elb/load_balancer_collection.rb +134 -0
  288. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  289. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  290. data/lib/aws/elb/request.rb +29 -0
  291. data/lib/aws/emr.rb +86 -0
  292. data/lib/aws/emr/client.rb +330 -0
  293. data/lib/aws/emr/config.rb +18 -0
  294. data/lib/aws/emr/errors.rb +22 -0
  295. data/lib/aws/emr/instance_group.rb +138 -0
  296. data/lib/aws/emr/instance_group_collection.rb +82 -0
  297. data/lib/aws/emr/job_flow.rb +306 -0
  298. data/lib/aws/emr/job_flow_collection.rb +185 -0
  299. data/lib/aws/emr/request.rb +23 -0
  300. data/lib/aws/errors.rb +162 -0
  301. data/lib/aws/glacier.rb +80 -0
  302. data/lib/aws/glacier/archive.rb +56 -0
  303. data/lib/aws/glacier/archive_collection.rb +146 -0
  304. data/lib/aws/glacier/client.rb +286 -0
  305. data/lib/aws/glacier/config.rb +19 -0
  306. data/lib/aws/glacier/errors.rb +22 -0
  307. data/lib/aws/glacier/request.rb +34 -0
  308. data/lib/aws/glacier/resource.rb +30 -0
  309. data/lib/aws/glacier/vault.rb +145 -0
  310. data/lib/aws/glacier/vault_collection.rb +75 -0
  311. data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
  312. data/lib/aws/iam.rb +420 -0
  313. data/lib/aws/iam/access_key.rb +180 -0
  314. data/lib/aws/iam/access_key_collection.rb +128 -0
  315. data/lib/aws/iam/account_alias_collection.rb +79 -0
  316. data/lib/aws/iam/client.rb +1092 -0
  317. data/lib/aws/iam/collection.rb +83 -0
  318. data/lib/aws/iam/config.rb +18 -0
  319. data/lib/aws/iam/errors.rb +22 -0
  320. data/lib/aws/iam/group.rb +111 -0
  321. data/lib/aws/iam/group_collection.rb +132 -0
  322. data/lib/aws/iam/group_policy_collection.rb +47 -0
  323. data/lib/aws/iam/group_user_collection.rb +84 -0
  324. data/lib/aws/iam/login_profile.rb +99 -0
  325. data/lib/aws/iam/mfa_device.rb +52 -0
  326. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  327. data/lib/aws/iam/policy.rb +46 -0
  328. data/lib/aws/iam/policy_collection.rb +188 -0
  329. data/lib/aws/iam/request.rb +29 -0
  330. data/lib/aws/iam/resource.rb +62 -0
  331. data/lib/aws/iam/server_certificate.rb +141 -0
  332. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  333. data/lib/aws/iam/signing_certificate.rb +169 -0
  334. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  335. data/lib/aws/iam/user.rb +205 -0
  336. data/lib/aws/iam/user_collection.rb +133 -0
  337. data/lib/aws/iam/user_group_collection.rb +98 -0
  338. data/lib/aws/iam/user_policy.rb +90 -0
  339. data/lib/aws/iam/user_policy_collection.rb +45 -0
  340. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  341. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  342. data/lib/aws/import_export.rb +73 -0
  343. data/lib/aws/import_export/client.rb +109 -0
  344. data/lib/aws/import_export/config.rb +19 -0
  345. data/lib/aws/import_export/errors.rb +22 -0
  346. data/lib/aws/import_export/request.rb +23 -0
  347. data/lib/aws/ops_works.rb +30 -0
  348. data/lib/aws/ops_works/client.rb +713 -0
  349. data/lib/aws/ops_works/config.rb +18 -0
  350. data/lib/aws/ops_works/errors.rb +20 -0
  351. data/lib/aws/ops_works/request.rb +27 -0
  352. data/lib/aws/rails.rb +195 -0
  353. data/lib/aws/rds.rb +71 -0
  354. data/lib/aws/rds/client.rb +2228 -0
  355. data/lib/aws/rds/config.rb +18 -0
  356. data/lib/aws/rds/db_instance.rb +205 -0
  357. data/lib/aws/rds/db_instance_collection.rb +75 -0
  358. data/lib/aws/rds/db_snapshot.rb +163 -0
  359. data/lib/aws/rds/db_snapshot_collection.rb +89 -0
  360. data/lib/aws/rds/errors.rb +22 -0
  361. data/lib/aws/rds/request.rb +23 -0
  362. data/lib/aws/record.rb +116 -0
  363. data/lib/aws/record/abstract_base.rb +701 -0
  364. data/lib/aws/record/attributes.rb +384 -0
  365. data/lib/aws/record/conversion.rb +38 -0
  366. data/lib/aws/record/dirty_tracking.rb +285 -0
  367. data/lib/aws/record/errors.rb +143 -0
  368. data/lib/aws/record/exceptions.rb +48 -0
  369. data/lib/aws/record/hash_model.rb +161 -0
  370. data/lib/aws/record/hash_model/attributes.rb +197 -0
  371. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  372. data/lib/aws/record/hash_model/scope.rb +108 -0
  373. data/lib/aws/record/model.rb +427 -0
  374. data/lib/aws/record/model/attributes.rb +379 -0
  375. data/lib/aws/record/model/finder_methods.rb +232 -0
  376. data/lib/aws/record/model/scope.rb +213 -0
  377. data/lib/aws/record/naming.rb +31 -0
  378. data/lib/aws/record/scope.rb +199 -0
  379. data/lib/aws/record/validations.rb +712 -0
  380. data/lib/aws/record/validator.rb +246 -0
  381. data/lib/aws/record/validators/acceptance.rb +51 -0
  382. data/lib/aws/record/validators/block.rb +38 -0
  383. data/lib/aws/record/validators/confirmation.rb +43 -0
  384. data/lib/aws/record/validators/count.rb +108 -0
  385. data/lib/aws/record/validators/exclusion.rb +43 -0
  386. data/lib/aws/record/validators/format.rb +57 -0
  387. data/lib/aws/record/validators/inclusion.rb +56 -0
  388. data/lib/aws/record/validators/length.rb +107 -0
  389. data/lib/aws/record/validators/method.rb +33 -0
  390. data/lib/aws/record/validators/numericality.rb +138 -0
  391. data/lib/aws/record/validators/presence.rb +45 -0
  392. data/lib/aws/redshift.rb +52 -0
  393. data/lib/aws/redshift/client.rb +1291 -0
  394. data/lib/aws/redshift/config.rb +18 -0
  395. data/lib/aws/redshift/errors.rb +22 -0
  396. data/lib/aws/redshift/request.rb +29 -0
  397. data/lib/aws/route_53.rb +87 -0
  398. data/lib/aws/route_53/change_batch.rb +159 -0
  399. data/lib/aws/route_53/change_info.rb +72 -0
  400. data/lib/aws/route_53/client.rb +387 -0
  401. data/lib/aws/route_53/config.rb +18 -0
  402. data/lib/aws/route_53/errors.rb +22 -0
  403. data/lib/aws/route_53/hosted_zone.rb +111 -0
  404. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  405. data/lib/aws/route_53/request.rb +23 -0
  406. data/lib/aws/route_53/resource_record_set.rb +237 -0
  407. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  408. data/lib/aws/s3.rb +155 -0
  409. data/lib/aws/s3/access_control_list.rb +257 -0
  410. data/lib/aws/s3/acl_object.rb +264 -0
  411. data/lib/aws/s3/acl_options.rb +204 -0
  412. data/lib/aws/s3/bucket.rb +742 -0
  413. data/lib/aws/s3/bucket_collection.rb +160 -0
  414. data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
  415. data/lib/aws/s3/bucket_tag_collection.rb +109 -0
  416. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  417. data/lib/aws/s3/cipher_io.rb +119 -0
  418. data/lib/aws/s3/client.rb +1700 -0
  419. data/lib/aws/s3/client/xml.rb +231 -0
  420. data/lib/aws/s3/config.rb +36 -0
  421. data/lib/aws/s3/cors_rule.rb +106 -0
  422. data/lib/aws/s3/cors_rule_collection.rb +192 -0
  423. data/lib/aws/s3/data_options.rb +185 -0
  424. data/lib/aws/s3/encryption_utils.rb +139 -0
  425. data/lib/aws/s3/errors.rb +94 -0
  426. data/lib/aws/s3/multipart_upload.rb +320 -0
  427. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  428. data/lib/aws/s3/object_collection.rb +355 -0
  429. data/lib/aws/s3/object_metadata.rb +96 -0
  430. data/lib/aws/s3/object_upload_collection.rb +77 -0
  431. data/lib/aws/s3/object_version.rb +148 -0
  432. data/lib/aws/s3/object_version_collection.rb +89 -0
  433. data/lib/aws/s3/paginated_collection.rb +75 -0
  434. data/lib/aws/s3/policy.rb +74 -0
  435. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  436. data/lib/aws/s3/prefixed_collection.rb +81 -0
  437. data/lib/aws/s3/presigned_post.rb +555 -0
  438. data/lib/aws/s3/request.rb +201 -0
  439. data/lib/aws/s3/s3_object.rb +1690 -0
  440. data/lib/aws/s3/tree.rb +118 -0
  441. data/lib/aws/s3/tree/branch_node.rb +68 -0
  442. data/lib/aws/s3/tree/child_collection.rb +104 -0
  443. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  444. data/lib/aws/s3/tree/node.rb +22 -0
  445. data/lib/aws/s3/tree/parent.rb +87 -0
  446. data/lib/aws/s3/uploaded_part.rb +80 -0
  447. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  448. data/lib/aws/s3/website_configuration.rb +102 -0
  449. data/lib/aws/simple_db.rb +219 -0
  450. data/lib/aws/simple_db/attribute.rb +154 -0
  451. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  452. data/lib/aws/simple_db/client.rb +287 -0
  453. data/lib/aws/simple_db/config.rb +20 -0
  454. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  455. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  456. data/lib/aws/simple_db/domain.rb +121 -0
  457. data/lib/aws/simple_db/domain_collection.rb +86 -0
  458. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  459. data/lib/aws/simple_db/errors.rb +55 -0
  460. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  461. data/lib/aws/simple_db/item.rb +93 -0
  462. data/lib/aws/simple_db/item_collection.rb +649 -0
  463. data/lib/aws/simple_db/item_data.rb +73 -0
  464. data/lib/aws/simple_db/put_attributes.rb +60 -0
  465. data/lib/aws/simple_db/request.rb +23 -0
  466. data/lib/aws/simple_email_service.rb +428 -0
  467. data/lib/aws/simple_email_service/client.rb +276 -0
  468. data/lib/aws/simple_email_service/config.rb +19 -0
  469. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  470. data/lib/aws/simple_email_service/errors.rb +22 -0
  471. data/lib/aws/simple_email_service/identity.rb +209 -0
  472. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  473. data/lib/aws/simple_email_service/quotas.rb +64 -0
  474. data/lib/aws/simple_email_service/request.rb +27 -0
  475. data/lib/aws/simple_workflow.rb +228 -0
  476. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  477. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  478. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  479. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  480. data/lib/aws/simple_workflow/client.rb +1204 -0
  481. data/lib/aws/simple_workflow/config.rb +18 -0
  482. data/lib/aws/simple_workflow/count.rb +49 -0
  483. data/lib/aws/simple_workflow/decision_task.rb +603 -0
  484. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  485. data/lib/aws/simple_workflow/domain.rb +122 -0
  486. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  487. data/lib/aws/simple_workflow/errors.rb +20 -0
  488. data/lib/aws/simple_workflow/history_event.rb +276 -0
  489. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  490. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  491. data/lib/aws/simple_workflow/request.rb +33 -0
  492. data/lib/aws/simple_workflow/resource.rb +94 -0
  493. data/lib/aws/simple_workflow/type.rb +89 -0
  494. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  495. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  496. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  497. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  498. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  499. data/lib/aws/sns.rb +76 -0
  500. data/lib/aws/sns/client.rb +266 -0
  501. data/lib/aws/sns/config.rb +18 -0
  502. data/lib/aws/sns/errors.rb +22 -0
  503. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  504. data/lib/aws/sns/policy.rb +47 -0
  505. data/lib/aws/sns/request.rb +23 -0
  506. data/lib/aws/sns/subscription.rb +144 -0
  507. data/lib/aws/sns/subscription_collection.rb +78 -0
  508. data/lib/aws/sns/topic.rb +403 -0
  509. data/lib/aws/sns/topic_collection.rb +62 -0
  510. data/lib/aws/sns/topic_subscription_collection.rb +54 -0
  511. data/lib/aws/sqs.rb +81 -0
  512. data/lib/aws/sqs/client.rb +258 -0
  513. data/lib/aws/sqs/config.rb +18 -0
  514. data/lib/aws/sqs/errors.rb +101 -0
  515. data/lib/aws/sqs/policy.rb +48 -0
  516. data/lib/aws/sqs/queue.rb +764 -0
  517. data/lib/aws/sqs/queue_collection.rb +174 -0
  518. data/lib/aws/sqs/received_message.rb +181 -0
  519. data/lib/aws/sqs/received_sns_message.rb +116 -0
  520. data/lib/aws/sqs/request.rb +67 -0
  521. data/lib/aws/storage_gateway.rb +73 -0
  522. data/lib/aws/storage_gateway/client.rb +472 -0
  523. data/lib/aws/storage_gateway/config.rb +18 -0
  524. data/lib/aws/storage_gateway/errors.rb +22 -0
  525. data/lib/aws/storage_gateway/request.rb +28 -0
  526. data/lib/aws/sts.rb +163 -0
  527. data/lib/aws/sts/client.rb +157 -0
  528. data/lib/aws/sts/config.rb +18 -0
  529. data/lib/aws/sts/errors.rb +22 -0
  530. data/lib/aws/sts/federated_session.rb +56 -0
  531. data/lib/aws/sts/policy.rb +30 -0
  532. data/lib/aws/sts/request.rb +29 -0
  533. data/lib/aws/sts/session.rb +48 -0
  534. data/lib/aws/version.rb +18 -0
  535. data/lib/net/http/connection_pool.rb +226 -0
  536. data/lib/net/http/connection_pool/connection.rb +189 -0
  537. data/lib/net/http/connection_pool/session.rb +126 -0
  538. data/rails/init.rb +15 -0
  539. metadata +632 -0
@@ -0,0 +1,35 @@
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
+ # Use this class to wrap strings that you want Amazon DynamoDB
18
+ # to store as a binary attribute. This can reduce the size
19
+ # of larger attributes to save on storage costs.
20
+ #
21
+ # table = AWS::DynamoDB.new.tables['data-table']
22
+ # table.hash_key = { 'id' => :string }
23
+ # table.range_key = { 'position' => :number }
24
+ #
25
+ # # put an item with a binary data attribute
26
+ # table.items.create(
27
+ # 'id' => 'abc',
28
+ # 'position' => 5,
29
+ # 'data' => AWS::DynamoDB::Binary.new('abc')
30
+ # )
31
+ #
32
+ class Binary < String; end
33
+
34
+ end
35
+ end
@@ -0,0 +1,904 @@
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 Client < 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
+ # client methods #
29
+
30
+ # @!method batch_get_item(options = {})
31
+ # Calls the BatchGetItem API operation.
32
+ # @param [Hash] options
33
+ # * +:request_items+ - *required* - (Hash<String,Hash>)
34
+ # * +:keys+ - *required* - (Array<Hash>)
35
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
36
+ # treated as the primary key, and can be a string or a number.
37
+ # Single attribute primary keys have one index value. The value
38
+ # can be String, Number, StringSet, NumberSet.
39
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary
40
+ # encoding. The maximum size is limited by the size of the
41
+ # primary key (1024 bytes as a range part of a key or 2048
42
+ # bytes as a single part hash key) or the item size (64k).
43
+ # * +:n+ - (String) Numbers are positive or negative exact-value
44
+ # decimals and integers. A number can have up to 38 digits
45
+ # precision and can be between 10^-128 to 10^+126.
46
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
47
+ # bytes.
48
+ # * +:ss+ - (Array<String>) A set of strings.
49
+ # * +:ns+ - (Array<String>) A set of numbers.
50
+ # * +:bs+ - (Array<String>) A set of binary attributes.
51
+ # * +:range_key_element+ - (Hash) A range key element is treated as
52
+ # a secondary key (used in conjunction with the primary key), and
53
+ # can be a string or a number, and is only used for
54
+ # hash-and-range primary keys. The value can be String, Number,
55
+ # StringSet, NumberSet.
56
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary
57
+ # encoding. The maximum size is limited by the size of the
58
+ # primary key (1024 bytes as a range part of a key or 2048
59
+ # bytes as a single part hash key) or the item size (64k).
60
+ # * +:n+ - (String) Numbers are positive or negative exact-value
61
+ # decimals and integers. A number can have up to 38 digits
62
+ # precision and can be between 10^-128 to 10^+126.
63
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
64
+ # bytes.
65
+ # * +:ss+ - (Array<String>) A set of strings.
66
+ # * +:ns+ - (Array<String>) A set of numbers.
67
+ # * +:bs+ - (Array<String>) A set of binary attributes.
68
+ # * +:attributes_to_get+ - (Array<String>)
69
+ # * +:consistent_read+ - (Boolean)
70
+ # @return [Core::Response]
71
+ # The #data method of the response object returns
72
+ # a hash with the following structure:
73
+ # * +Responses+ - (Hash<String,Hash>)
74
+ # * +member+ - (Hash<String,Hash>)
75
+ # * +S+ - (String)
76
+ # * +N+ - (String)
77
+ # * +B+ - (String)
78
+ # * +SS+ - (Array<String>)
79
+ # * +NS+ - (Array<String>)
80
+ # * +BS+ - (Array<Blob>)
81
+ # * +ConsumedCapacityUnits+ - (Numeric)
82
+ # * +UnprocessedKeys+ - (Hash<String,Hash>)
83
+ # * +Keys+ - (Array<Hash>)
84
+ # * +HashKeyElement+ - (Hash)
85
+ # * +S+ - (String)
86
+ # * +N+ - (String)
87
+ # * +B+ - (String)
88
+ # * +SS+ - (Array<String>)
89
+ # * +NS+ - (Array<String>)
90
+ # * +BS+ - (Array<Blob>)
91
+ # * +RangeKeyElement+ - (Hash)
92
+ # * +S+ - (String)
93
+ # * +N+ - (String)
94
+ # * +B+ - (String)
95
+ # * +SS+ - (Array<String>)
96
+ # * +NS+ - (Array<String>)
97
+ # * +BS+ - (Array<Blob>)
98
+ # * +AttributesToGet+ - (Array<String>)
99
+ # * +ConsistentRead+ - (Boolean)
100
+
101
+ # @!method batch_write_item(options = {})
102
+ # Calls the BatchWriteItem API operation.
103
+ # @param [Hash] options
104
+ # * +:request_items+ - *required* - (Hash<String,Array<Hash>>) A map of
105
+ # table name to list-of-write-requests. Used as input to the
106
+ # BatchWriteItem API call
107
+ # * +:put_request+ - (Hash)
108
+ # * +:item+ - *required* - (Hash<String,Hash>) The item to put
109
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary
110
+ # encoding. The maximum size is limited by the size of the
111
+ # primary key (1024 bytes as a range part of a key or 2048
112
+ # bytes as a single part hash key) or the item size (64k).
113
+ # * +:n+ - (String) Numbers are positive or negative exact-value
114
+ # decimals and integers. A number can have up to 38 digits
115
+ # precision and can be between 10^-128 to 10^+126.
116
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
117
+ # bytes.
118
+ # * +:ss+ - (Array<String>) A set of strings.
119
+ # * +:ns+ - (Array<String>) A set of numbers.
120
+ # * +:bs+ - (Array<String>) A set of binary attributes.
121
+ # * +:delete_request+ - (Hash)
122
+ # * +:key+ - *required* - (Hash) The item's key to be delete
123
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element
124
+ # is treated as the primary key, and can be a string or a
125
+ # number. Single attribute primary keys have one index value.
126
+ # The value can be String, Number, StringSet, NumberSet.
127
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary
128
+ # encoding. The maximum size is limited by the size of the
129
+ # primary key (1024 bytes as a range part of a key or 2048
130
+ # bytes as a single part hash key) or the item size (64k).
131
+ # * +:n+ - (String) Numbers are positive or negative
132
+ # exact-value decimals and integers. A number can have up to
133
+ # 38 digits precision and can be between 10^-128 to 10^+126.
134
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
135
+ # bytes.
136
+ # * +:ss+ - (Array<String>) A set of strings.
137
+ # * +:ns+ - (Array<String>) A set of numbers.
138
+ # * +:bs+ - (Array<String>) A set of binary attributes.
139
+ # * +:range_key_element+ - (Hash) A range key element is treated
140
+ # as a secondary key (used in conjunction with the primary
141
+ # key), and can be a string or a number, and is only used for
142
+ # hash-and-range primary keys. The value can be String, Number,
143
+ # StringSet, NumberSet.
144
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary
145
+ # encoding. The maximum size is limited by the size of the
146
+ # primary key (1024 bytes as a range part of a key or 2048
147
+ # bytes as a single part hash key) or the item size (64k).
148
+ # * +:n+ - (String) Numbers are positive or negative
149
+ # exact-value decimals and integers. A number can have up to
150
+ # 38 digits precision and can be between 10^-128 to 10^+126.
151
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
152
+ # bytes.
153
+ # * +:ss+ - (Array<String>) A set of strings.
154
+ # * +:ns+ - (Array<String>) A set of numbers.
155
+ # * +:bs+ - (Array<String>) A set of binary attributes.
156
+ # @return [Core::Response]
157
+ # The #data method of the response object returns
158
+ # a hash with the following structure:
159
+ # * +Responses+ - (Hash<String,Hash>)
160
+ # * +ConsumedCapacityUnits+ - (Numeric)
161
+ # * +UnprocessedItems+ - (Hash<String,Hash>)
162
+ # * +value+ - (Array<Hash>)
163
+ # * +PutRequest+ - (Hash)
164
+ # * +Item+ - (Hash<String,Hash>)
165
+ # * +S+ - (String)
166
+ # * +N+ - (String)
167
+ # * +B+ - (String)
168
+ # * +SS+ - (Array<String>)
169
+ # * +NS+ - (Array<String>)
170
+ # * +BS+ - (Array<Blob>)
171
+ # * +DeleteRequest+ - (Hash)
172
+ # * +Key+ - (Hash)
173
+ # * +HashKeyElement+ - (Hash)
174
+ # * +S+ - (String)
175
+ # * +N+ - (String)
176
+ # * +B+ - (String)
177
+ # * +SS+ - (Array<String>)
178
+ # * +NS+ - (Array<String>)
179
+ # * +BS+ - (Array<Blob>)
180
+ # * +RangeKeyElement+ - (Hash)
181
+ # * +S+ - (String)
182
+ # * +N+ - (String)
183
+ # * +B+ - (String)
184
+ # * +SS+ - (Array<String>)
185
+ # * +NS+ - (Array<String>)
186
+ # * +BS+ - (Array<Blob>)
187
+
188
+ # @!method create_table(options = {})
189
+ # Calls the CreateTable API operation.
190
+ # @param [Hash] options
191
+ # * +:table_name+ - *required* - (String) The name of the table you
192
+ # want to create. Allowed characters are a-z, A-Z, 0-9, _
193
+ # (underscore), - (hyphen) and . (period).
194
+ # * +:key_schema+ - *required* - (Hash)
195
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
196
+ # treated as the primary key, and can be a string or a number.
197
+ # Single attribute primary keys have one index value. The value can
198
+ # be String, Number, StringSet, NumberSet.
199
+ # * +:attribute_name+ - *required* - (String) The AttributeName of
200
+ # the KeySchemaElement.
201
+ # * +:attribute_type+ - *required* - (String) The AttributeType of
202
+ # the KeySchemaElement which can be a String or a Number.
203
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
204
+ # secondary key (used in conjunction with the primary key), and can
205
+ # be a string or a number, and is only used for hash-and-range
206
+ # primary keys. The value can be String, Number, StringSet,
207
+ # NumberSet.
208
+ # * +:attribute_name+ - *required* - (String) The AttributeName of
209
+ # the KeySchemaElement.
210
+ # * +:attribute_type+ - *required* - (String) The AttributeType of
211
+ # the KeySchemaElement which can be a String or a Number.
212
+ # * +:provisioned_throughput+ - *required* - (Hash)
213
+ # * +:read_capacity_units+ - *required* - (Integer) ReadCapacityUnits
214
+ # are in terms of strictly consistent reads, assuming items of 1k.
215
+ # 2k items require twice the ReadCapacityUnits.
216
+ # Eventually-consistent reads only require half the
217
+ # ReadCapacityUnits of stirctly consistent reads.
218
+ # * +:write_capacity_units+ - *required* - (Integer)
219
+ # WriteCapacityUnits are in terms of strictly consistent reads,
220
+ # assuming items of 1k. 2k items require twice the
221
+ # WriteCapacityUnits.
222
+ # @return [Core::Response]
223
+ # The #data method of the response object returns
224
+ # a hash with the following structure:
225
+ # * +TableDescription+ - (Hash)
226
+ # * +TableName+ - (String)
227
+ # * +KeySchema+ - (Hash)
228
+ # * +HashKeyElement+ - (Hash)
229
+ # * +AttributeName+ - (String)
230
+ # * +AttributeType+ - (String)
231
+ # * +RangeKeyElement+ - (Hash)
232
+ # * +AttributeName+ - (String)
233
+ # * +AttributeType+ - (String)
234
+ # * +TableStatus+ - (String)
235
+ # * +CreationDateTime+ - (Time)
236
+ # * +ProvisionedThroughput+ - (Hash)
237
+ # * +LastIncreaseDateTime+ - (Time)
238
+ # * +LastDecreaseDateTime+ - (Time)
239
+ # * +ReadCapacityUnits+ - (Integer)
240
+ # * +WriteCapacityUnits+ - (Integer)
241
+ # * +TableSizeBytes+ - (Integer)
242
+ # * +ItemCount+ - (Integer)
243
+
244
+ # @!method delete_item(options = {})
245
+ # Calls the DeleteItem API operation.
246
+ # @param [Hash] options
247
+ # * +:table_name+ - *required* - (String) The name of the table in
248
+ # which you want to delete an item. Allowed characters are a-z, A-Z,
249
+ # 0-9, _ (underscore), - (hyphen) and . (period).
250
+ # * +:key+ - *required* - (Hash)
251
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
252
+ # treated as the primary key, and can be a string or a number.
253
+ # Single attribute primary keys have one index value. The value can
254
+ # be String, Number, StringSet, NumberSet.
255
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
256
+ # The maximum size is limited by the size of the primary key
257
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
258
+ # part hash key) or the item size (64k).
259
+ # * +:n+ - (String) Numbers are positive or negative exact-value
260
+ # decimals and integers. A number can have up to 38 digits
261
+ # precision and can be between 10^-128 to 10^+126.
262
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
263
+ # bytes.
264
+ # * +:ss+ - (Array<String>) A set of strings.
265
+ # * +:ns+ - (Array<String>) A set of numbers.
266
+ # * +:bs+ - (Array<String>) A set of binary attributes.
267
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
268
+ # secondary key (used in conjunction with the primary key), and can
269
+ # be a string or a number, and is only used for hash-and-range
270
+ # primary keys. The value can be String, Number, StringSet,
271
+ # NumberSet.
272
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
273
+ # The maximum size is limited by the size of the primary key
274
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
275
+ # part hash key) or the item size (64k).
276
+ # * +:n+ - (String) Numbers are positive or negative exact-value
277
+ # decimals and integers. A number can have up to 38 digits
278
+ # precision and can be between 10^-128 to 10^+126.
279
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
280
+ # bytes.
281
+ # * +:ss+ - (Array<String>) A set of strings.
282
+ # * +:ns+ - (Array<String>) A set of numbers.
283
+ # * +:bs+ - (Array<String>) A set of binary attributes.
284
+ # * +:expected+ - (Hash<String,Hash>)
285
+ # * +:value+ - (Hash) Specify whether or not a value already exists
286
+ # and has a specific content for the attribute name-value pair.
287
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
288
+ # The maximum size is limited by the size of the primary key
289
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
290
+ # part hash key) or the item size (64k).
291
+ # * +:n+ - (String) Numbers are positive or negative exact-value
292
+ # decimals and integers. A number can have up to 38 digits
293
+ # precision and can be between 10^-128 to 10^+126.
294
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
295
+ # bytes.
296
+ # * +:ss+ - (Array<String>) A set of strings.
297
+ # * +:ns+ - (Array<String>) A set of numbers.
298
+ # * +:bs+ - (Array<String>) A set of binary attributes.
299
+ # * +:exists+ - (Boolean) Specify whether or not a value already
300
+ # exists for the attribute name-value pair.
301
+ # * +:return_values+ - (String)
302
+ # @return [Core::Response]
303
+ # The #data method of the response object returns
304
+ # a hash with the following structure:
305
+ # * +Attributes+ - (Hash<String,Hash>)
306
+ # * +S+ - (String)
307
+ # * +N+ - (String)
308
+ # * +B+ - (String)
309
+ # * +SS+ - (Array<String>)
310
+ # * +NS+ - (Array<String>)
311
+ # * +BS+ - (Array<Blob>)
312
+ # * +ConsumedCapacityUnits+ - (Numeric)
313
+
314
+ # @!method delete_table(options = {})
315
+ # Calls the DeleteTable API operation.
316
+ # @param [Hash] options
317
+ # * +:table_name+ - *required* - (String) The name of the table you
318
+ # want to delete. Allowed characters are a-z, A-Z, 0-9, _
319
+ # (underscore), - (hyphen) and . (period).
320
+ # @return [Core::Response]
321
+ # The #data method of the response object returns
322
+ # a hash with the following structure:
323
+ # * +TableDescription+ - (Hash)
324
+ # * +TableName+ - (String)
325
+ # * +KeySchema+ - (Hash)
326
+ # * +HashKeyElement+ - (Hash)
327
+ # * +AttributeName+ - (String)
328
+ # * +AttributeType+ - (String)
329
+ # * +RangeKeyElement+ - (Hash)
330
+ # * +AttributeName+ - (String)
331
+ # * +AttributeType+ - (String)
332
+ # * +TableStatus+ - (String)
333
+ # * +CreationDateTime+ - (Time)
334
+ # * +ProvisionedThroughput+ - (Hash)
335
+ # * +LastIncreaseDateTime+ - (Time)
336
+ # * +LastDecreaseDateTime+ - (Time)
337
+ # * +ReadCapacityUnits+ - (Integer)
338
+ # * +WriteCapacityUnits+ - (Integer)
339
+ # * +TableSizeBytes+ - (Integer)
340
+ # * +ItemCount+ - (Integer)
341
+
342
+ # @!method describe_table(options = {})
343
+ # Calls the DescribeTable API operation.
344
+ # @param [Hash] options
345
+ # * +:table_name+ - *required* - (String) The name of the table you
346
+ # want to describe. Allowed characters are a-z, A-Z, 0-9, _
347
+ # (underscore), - (hyphen) and . (period).
348
+ # @return [Core::Response]
349
+ # The #data method of the response object returns
350
+ # a hash with the following structure:
351
+ # * +Table+ - (Hash)
352
+ # * +TableName+ - (String)
353
+ # * +KeySchema+ - (Hash)
354
+ # * +HashKeyElement+ - (Hash)
355
+ # * +AttributeName+ - (String)
356
+ # * +AttributeType+ - (String)
357
+ # * +RangeKeyElement+ - (Hash)
358
+ # * +AttributeName+ - (String)
359
+ # * +AttributeType+ - (String)
360
+ # * +TableStatus+ - (String)
361
+ # * +CreationDateTime+ - (Time)
362
+ # * +ProvisionedThroughput+ - (Hash)
363
+ # * +LastIncreaseDateTime+ - (Time)
364
+ # * +LastDecreaseDateTime+ - (Time)
365
+ # * +ReadCapacityUnits+ - (Integer)
366
+ # * +WriteCapacityUnits+ - (Integer)
367
+ # * +TableSizeBytes+ - (Integer)
368
+ # * +ItemCount+ - (Integer)
369
+
370
+ # @!method get_item(options = {})
371
+ # Calls the GetItem API operation.
372
+ # @param [Hash] options
373
+ # * +:table_name+ - *required* - (String) The name of the table in
374
+ # which you want to get an item. Allowed characters are a-z, A-Z,
375
+ # 0-9, _ (underscore), - (hyphen) and . (period).
376
+ # * +:key+ - *required* - (Hash)
377
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
378
+ # treated as the primary key, and can be a string or a number.
379
+ # Single attribute primary keys have one index value. The value can
380
+ # be String, Number, StringSet, NumberSet.
381
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
382
+ # The maximum size is limited by the size of the primary key
383
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
384
+ # part hash key) or the item size (64k).
385
+ # * +:n+ - (String) Numbers are positive or negative exact-value
386
+ # decimals and integers. A number can have up to 38 digits
387
+ # precision and can be between 10^-128 to 10^+126.
388
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
389
+ # bytes.
390
+ # * +:ss+ - (Array<String>) A set of strings.
391
+ # * +:ns+ - (Array<String>) A set of numbers.
392
+ # * +:bs+ - (Array<String>) A set of binary attributes.
393
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
394
+ # secondary key (used in conjunction with the primary key), and can
395
+ # be a string or a number, and is only used for hash-and-range
396
+ # primary keys. The value can be String, Number, StringSet,
397
+ # NumberSet.
398
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
399
+ # The maximum size is limited by the size of the primary key
400
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
401
+ # part hash key) or the item size (64k).
402
+ # * +:n+ - (String) Numbers are positive or negative exact-value
403
+ # decimals and integers. A number can have up to 38 digits
404
+ # precision and can be between 10^-128 to 10^+126.
405
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
406
+ # bytes.
407
+ # * +:ss+ - (Array<String>) A set of strings.
408
+ # * +:ns+ - (Array<String>) A set of numbers.
409
+ # * +:bs+ - (Array<String>) A set of binary attributes.
410
+ # * +:attributes_to_get+ - (Array<String>)
411
+ # * +:consistent_read+ - (Boolean)
412
+ # @return [Core::Response]
413
+ # The #data method of the response object returns
414
+ # a hash with the following structure:
415
+ # * +Item+ - (Hash<String,Hash>)
416
+ # * +S+ - (String)
417
+ # * +N+ - (String)
418
+ # * +B+ - (String)
419
+ # * +SS+ - (Array<String>)
420
+ # * +NS+ - (Array<String>)
421
+ # * +BS+ - (Array<Blob>)
422
+ # * +ConsumedCapacityUnits+ - (Numeric)
423
+
424
+ # @!method list_tables(options = {})
425
+ # Calls the ListTables API operation.
426
+ # @param [Hash] options
427
+ # * +:exclusive_start_table_name+ - (String) The name of the table that
428
+ # starts the list. If you already ran a ListTables operation and
429
+ # recieved a LastEvaluatedTableName value in the response, use that
430
+ # value here to continue the list.
431
+ # * +:limit+ - (Integer)
432
+ # @return [Core::Response]
433
+ # The #data method of the response object returns
434
+ # a hash with the following structure:
435
+ # * +TableNames+ - (Array<String>)
436
+ # * +LastEvaluatedTableName+ - (String)
437
+
438
+ # @!method put_item(options = {})
439
+ # Calls the PutItem API operation.
440
+ # @param [Hash] options
441
+ # * +:table_name+ - *required* - (String) The name of the table in
442
+ # which you want to put an item. Allowed characters are a-z, A-Z,
443
+ # 0-9, _ (underscore), - (hyphen) and . (period).
444
+ # * +:item+ - *required* - (Hash<String,Hash>)
445
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
446
+ # The maximum size is limited by the size of the primary key (1024
447
+ # bytes as a range part of a key or 2048 bytes as a single part
448
+ # hash key) or the item size (64k).
449
+ # * +:n+ - (String) Numbers are positive or negative exact-value
450
+ # decimals and integers. A number can have up to 38 digits
451
+ # precision and can be between 10^-128 to 10^+126.
452
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
453
+ # bytes.
454
+ # * +:ss+ - (Array<String>) A set of strings.
455
+ # * +:ns+ - (Array<String>) A set of numbers.
456
+ # * +:bs+ - (Array<String>) A set of binary attributes.
457
+ # * +:expected+ - (Hash<String,Hash>)
458
+ # * +:value+ - (Hash) Specify whether or not a value already exists
459
+ # and has a specific content for the attribute name-value pair.
460
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
461
+ # The maximum size is limited by the size of the primary key
462
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
463
+ # part hash key) or the item size (64k).
464
+ # * +:n+ - (String) Numbers are positive or negative exact-value
465
+ # decimals and integers. A number can have up to 38 digits
466
+ # precision and can be between 10^-128 to 10^+126.
467
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
468
+ # bytes.
469
+ # * +:ss+ - (Array<String>) A set of strings.
470
+ # * +:ns+ - (Array<String>) A set of numbers.
471
+ # * +:bs+ - (Array<String>) A set of binary attributes.
472
+ # * +:exists+ - (Boolean) Specify whether or not a value already
473
+ # exists for the attribute name-value pair.
474
+ # * +:return_values+ - (String)
475
+ # @return [Core::Response]
476
+ # The #data method of the response object returns
477
+ # a hash with the following structure:
478
+ # * +Attributes+ - (Hash<String,Hash>)
479
+ # * +S+ - (String)
480
+ # * +N+ - (String)
481
+ # * +B+ - (String)
482
+ # * +SS+ - (Array<String>)
483
+ # * +NS+ - (Array<String>)
484
+ # * +BS+ - (Array<Blob>)
485
+ # * +ConsumedCapacityUnits+ - (Numeric)
486
+
487
+ # @!method query(options = {})
488
+ # Calls the Query API operation.
489
+ # @param [Hash] options
490
+ # * +:table_name+ - *required* - (String) The name of the table in
491
+ # which you want to query. Allowed characters are a-z, A-Z, 0-9, _
492
+ # (underscore), - (hyphen) and . (period).
493
+ # * +:attributes_to_get+ - (Array<String>)
494
+ # * +:limit+ - (Integer) The maximum number of items to return. If
495
+ # Amazon DynamoDB hits this limit while querying the table, it stops
496
+ # the query and returns the matching values up to the limit, and a
497
+ # LastEvaluatedKey to apply in a subsequent operation to continue the
498
+ # query. Also, if the result set size exceeds 1MB before Amazon
499
+ # DynamoDB hits this limit, it stops the query and returns the
500
+ # matching values, and a LastEvaluatedKey to apply in a subsequent
501
+ # operation to continue the query.
502
+ # * +:consistent_read+ - (Boolean)
503
+ # * +:count+ - (Boolean) If set to +true+ , Amazon DynamoDB returns a
504
+ # total number of items that match the query parameters, instead of a
505
+ # list of the matching items and their attributes. Do not set Count
506
+ # to +true+ while providing a list of AttributesToGet, otherwise
507
+ # Amazon DynamoDB returns a validation error.
508
+ # * +:hash_key_value+ - *required* - (Hash) Attribute value of the hash
509
+ # component of the composite primary key.
510
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
511
+ # The maximum size is limited by the size of the primary key (1024
512
+ # bytes as a range part of a key or 2048 bytes as a single part
513
+ # hash key) or the item size (64k).
514
+ # * +:n+ - (String) Numbers are positive or negative exact-value
515
+ # decimals and integers. A number can have up to 38 digits
516
+ # precision and can be between 10^-128 to 10^+126.
517
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
518
+ # bytes.
519
+ # * +:ss+ - (Array<String>) A set of strings.
520
+ # * +:ns+ - (Array<String>) A set of numbers.
521
+ # * +:bs+ - (Array<String>) A set of binary attributes.
522
+ # * +:range_key_condition+ - (Hash) A container for the attribute
523
+ # values and comparison operators to use for the query.
524
+ # * +:attribute_value_list+ - (Array<Hash>)
525
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
526
+ # The maximum size is limited by the size of the primary key
527
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
528
+ # part hash key) or the item size (64k).
529
+ # * +:n+ - (String) Numbers are positive or negative exact-value
530
+ # decimals and integers. A number can have up to 38 digits
531
+ # precision and can be between 10^-128 to 10^+126.
532
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
533
+ # bytes.
534
+ # * +:ss+ - (Array<String>) A set of strings.
535
+ # * +:ns+ - (Array<String>) A set of numbers.
536
+ # * +:bs+ - (Array<String>) A set of binary attributes.
537
+ # * +:comparison_operator+ - *required* - (String)
538
+ # * +:scan_index_forward+ - (Boolean) Specifies forward or backward
539
+ # traversal of the index. Amazon DynamoDB returns results reflecting
540
+ # the requested order, determined by the range key. Default is +true+
541
+ # (forward).
542
+ # * +:exclusive_start_key+ - (Hash) Primary key of the item from which
543
+ # to continue an earlier query. An earlier query might provide this
544
+ # value as the LastEvaluatedKey if that query operation was
545
+ # interrupted before completing the query; either because of the
546
+ # result set size or the Limit parameter. The LastEvaluatedKey can be
547
+ # passed back in a new query request to continue the operation from
548
+ # that point.
549
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
550
+ # treated as the primary key, and can be a string or a number.
551
+ # Single attribute primary keys have one index value. The value can
552
+ # be String, Number, StringSet, NumberSet.
553
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
554
+ # The maximum size is limited by the size of the primary key
555
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
556
+ # part hash key) or the item size (64k).
557
+ # * +:n+ - (String) Numbers are positive or negative exact-value
558
+ # decimals and integers. A number can have up to 38 digits
559
+ # precision and can be between 10^-128 to 10^+126.
560
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
561
+ # bytes.
562
+ # * +:ss+ - (Array<String>) A set of strings.
563
+ # * +:ns+ - (Array<String>) A set of numbers.
564
+ # * +:bs+ - (Array<String>) A set of binary attributes.
565
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
566
+ # secondary key (used in conjunction with the primary key), and can
567
+ # be a string or a number, and is only used for hash-and-range
568
+ # primary keys. The value can be String, Number, StringSet,
569
+ # NumberSet.
570
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
571
+ # The maximum size is limited by the size of the primary key
572
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
573
+ # part hash key) or the item size (64k).
574
+ # * +:n+ - (String) Numbers are positive or negative exact-value
575
+ # decimals and integers. A number can have up to 38 digits
576
+ # precision and can be between 10^-128 to 10^+126.
577
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
578
+ # bytes.
579
+ # * +:ss+ - (Array<String>) A set of strings.
580
+ # * +:ns+ - (Array<String>) A set of numbers.
581
+ # * +:bs+ - (Array<String>) A set of binary attributes.
582
+ # @return [Core::Response]
583
+ # The #data method of the response object returns
584
+ # a hash with the following structure:
585
+ # * +member+ - (Hash<String,Hash>)
586
+ # * +S+ - (String)
587
+ # * +N+ - (String)
588
+ # * +B+ - (String)
589
+ # * +SS+ - (Array<String>)
590
+ # * +NS+ - (Array<String>)
591
+ # * +BS+ - (Array<Blob>)
592
+ # * +Count+ - (Integer)
593
+ # * +LastEvaluatedKey+ - (Hash)
594
+ # * +HashKeyElement+ - (Hash)
595
+ # * +S+ - (String)
596
+ # * +N+ - (String)
597
+ # * +B+ - (String)
598
+ # * +SS+ - (Array<String>)
599
+ # * +NS+ - (Array<String>)
600
+ # * +BS+ - (Array<Blob>)
601
+ # * +RangeKeyElement+ - (Hash)
602
+ # * +S+ - (String)
603
+ # * +N+ - (String)
604
+ # * +B+ - (String)
605
+ # * +SS+ - (Array<String>)
606
+ # * +NS+ - (Array<String>)
607
+ # * +BS+ - (Array<Blob>)
608
+ # * +ConsumedCapacityUnits+ - (Numeric)
609
+
610
+ # @!method scan(options = {})
611
+ # Calls the Scan API operation.
612
+ # @param [Hash] options
613
+ # * +:table_name+ - *required* - (String) The name of the table in
614
+ # which you want to scan. Allowed characters are a-z, A-Z, 0-9, _
615
+ # (underscore), - (hyphen) and . (period).
616
+ # * +:attributes_to_get+ - (Array<String>)
617
+ # * +:limit+ - (Integer) The maximum number of items to return. If
618
+ # Amazon DynamoDB hits this limit while scanning the table, it stops
619
+ # the scan and returns the matching values up to the limit, and a
620
+ # LastEvaluatedKey to apply in a subsequent operation to continue the
621
+ # scan. Also, if the scanned data set size exceeds 1MB before Amazon
622
+ # DynamoDB hits this limit, it stops the scan and returns the
623
+ # matching values up to the limit, and a LastEvaluatedKey to apply in
624
+ # a subsequent operation to continue the scan.
625
+ # * +:count+ - (Boolean) If set to +true+ , Amazon DynamoDB returns a
626
+ # total number of items for the Scan operation, even if the operation
627
+ # has no matching items for the assigned filter. Do not set Count to
628
+ # +true+ while providing a list of AttributesToGet, otherwise Amazon
629
+ # DynamoDB returns a validation error.
630
+ # * +:scan_filter+ - (Hash<String,Hash>) Evaluates the scan results and
631
+ # returns only the desired values.
632
+ # * +:attribute_value_list+ - (Array<Hash>)
633
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
634
+ # The maximum size is limited by the size of the primary key
635
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
636
+ # part hash key) or the item size (64k).
637
+ # * +:n+ - (String) Numbers are positive or negative exact-value
638
+ # decimals and integers. A number can have up to 38 digits
639
+ # precision and can be between 10^-128 to 10^+126.
640
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
641
+ # bytes.
642
+ # * +:ss+ - (Array<String>) A set of strings.
643
+ # * +:ns+ - (Array<String>) A set of numbers.
644
+ # * +:bs+ - (Array<String>) A set of binary attributes.
645
+ # * +:comparison_operator+ - *required* - (String)
646
+ # * +:exclusive_start_key+ - (Hash) Primary key of the item from which
647
+ # to continue an earlier scan. An earlier scan might provide this
648
+ # value if that scan operation was interrupted before scanning the
649
+ # entire table; either because of the result set size or the Limit
650
+ # parameter. The LastEvaluatedKey can be passed back in a new scan
651
+ # request to continue the operation from that point.
652
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
653
+ # treated as the primary key, and can be a string or a number.
654
+ # Single attribute primary keys have one index value. The value can
655
+ # be String, Number, StringSet, NumberSet.
656
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
657
+ # The maximum size is limited by the size of the primary key
658
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
659
+ # part hash key) or the item size (64k).
660
+ # * +:n+ - (String) Numbers are positive or negative exact-value
661
+ # decimals and integers. A number can have up to 38 digits
662
+ # precision and can be between 10^-128 to 10^+126.
663
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
664
+ # bytes.
665
+ # * +:ss+ - (Array<String>) A set of strings.
666
+ # * +:ns+ - (Array<String>) A set of numbers.
667
+ # * +:bs+ - (Array<String>) A set of binary attributes.
668
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
669
+ # secondary key (used in conjunction with the primary key), and can
670
+ # be a string or a number, and is only used for hash-and-range
671
+ # primary keys. The value can be String, Number, StringSet,
672
+ # NumberSet.
673
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
674
+ # The maximum size is limited by the size of the primary key
675
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
676
+ # part hash key) or the item size (64k).
677
+ # * +:n+ - (String) Numbers are positive or negative exact-value
678
+ # decimals and integers. A number can have up to 38 digits
679
+ # precision and can be between 10^-128 to 10^+126.
680
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
681
+ # bytes.
682
+ # * +:ss+ - (Array<String>) A set of strings.
683
+ # * +:ns+ - (Array<String>) A set of numbers.
684
+ # * +:bs+ - (Array<String>) A set of binary attributes.
685
+ # @return [Core::Response]
686
+ # The #data method of the response object returns
687
+ # a hash with the following structure:
688
+ # * +member+ - (Hash<String,Hash>)
689
+ # * +S+ - (String)
690
+ # * +N+ - (String)
691
+ # * +B+ - (String)
692
+ # * +SS+ - (Array<String>)
693
+ # * +NS+ - (Array<String>)
694
+ # * +BS+ - (Array<Blob>)
695
+ # * +Count+ - (Integer)
696
+ # * +ScannedCount+ - (Integer)
697
+ # * +LastEvaluatedKey+ - (Hash)
698
+ # * +HashKeyElement+ - (Hash)
699
+ # * +S+ - (String)
700
+ # * +N+ - (String)
701
+ # * +B+ - (String)
702
+ # * +SS+ - (Array<String>)
703
+ # * +NS+ - (Array<String>)
704
+ # * +BS+ - (Array<Blob>)
705
+ # * +RangeKeyElement+ - (Hash)
706
+ # * +S+ - (String)
707
+ # * +N+ - (String)
708
+ # * +B+ - (String)
709
+ # * +SS+ - (Array<String>)
710
+ # * +NS+ - (Array<String>)
711
+ # * +BS+ - (Array<Blob>)
712
+ # * +ConsumedCapacityUnits+ - (Numeric)
713
+
714
+ # @!method update_item(options = {})
715
+ # Calls the UpdateItem API operation.
716
+ # @param [Hash] options
717
+ # * +:table_name+ - *required* - (String) The name of the table in
718
+ # which you want to update an item. Allowed characters are a-z, A-Z,
719
+ # 0-9, _ (underscore), - (hyphen) and . (period).
720
+ # * +:key+ - *required* - (Hash)
721
+ # * +:hash_key_element+ - *required* - (Hash) A hash key element is
722
+ # treated as the primary key, and can be a string or a number.
723
+ # Single attribute primary keys have one index value. The value can
724
+ # be String, Number, StringSet, NumberSet.
725
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
726
+ # The maximum size is limited by the size of the primary key
727
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
728
+ # part hash key) or the item size (64k).
729
+ # * +:n+ - (String) Numbers are positive or negative exact-value
730
+ # decimals and integers. A number can have up to 38 digits
731
+ # precision and can be between 10^-128 to 10^+126.
732
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
733
+ # bytes.
734
+ # * +:ss+ - (Array<String>) A set of strings.
735
+ # * +:ns+ - (Array<String>) A set of numbers.
736
+ # * +:bs+ - (Array<String>) A set of binary attributes.
737
+ # * +:range_key_element+ - (Hash) A range key element is treated as a
738
+ # secondary key (used in conjunction with the primary key), and can
739
+ # be a string or a number, and is only used for hash-and-range
740
+ # primary keys. The value can be String, Number, StringSet,
741
+ # NumberSet.
742
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
743
+ # The maximum size is limited by the size of the primary key
744
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
745
+ # part hash key) or the item size (64k).
746
+ # * +:n+ - (String) Numbers are positive or negative exact-value
747
+ # decimals and integers. A number can have up to 38 digits
748
+ # precision and can be between 10^-128 to 10^+126.
749
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
750
+ # bytes.
751
+ # * +:ss+ - (Array<String>) A set of strings.
752
+ # * +:ns+ - (Array<String>) A set of numbers.
753
+ # * +:bs+ - (Array<String>) A set of binary attributes.
754
+ # * +:attribute_updates+ - *required* - (Hash<String,Hash>)
755
+ # * +:value+ - (Hash)
756
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
757
+ # The maximum size is limited by the size of the primary key
758
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
759
+ # part hash key) or the item size (64k).
760
+ # * +:n+ - (String) Numbers are positive or negative exact-value
761
+ # decimals and integers. A number can have up to 38 digits
762
+ # precision and can be between 10^-128 to 10^+126.
763
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
764
+ # bytes.
765
+ # * +:ss+ - (Array<String>) A set of strings.
766
+ # * +:ns+ - (Array<String>) A set of numbers.
767
+ # * +:bs+ - (Array<String>) A set of binary attributes.
768
+ # * +:action+ - (String)
769
+ # * +:expected+ - (Hash<String,Hash>)
770
+ # * +:value+ - (Hash) Specify whether or not a value already exists
771
+ # and has a specific content for the attribute name-value pair.
772
+ # * +:s+ - (String) Strings are Unicode with UTF-8 binary encoding.
773
+ # The maximum size is limited by the size of the primary key
774
+ # (1024 bytes as a range part of a key or 2048 bytes as a single
775
+ # part hash key) or the item size (64k).
776
+ # * +:n+ - (String) Numbers are positive or negative exact-value
777
+ # decimals and integers. A number can have up to 38 digits
778
+ # precision and can be between 10^-128 to 10^+126.
779
+ # * +:b+ - (String) Binary attributes are sequences of unsigned
780
+ # bytes.
781
+ # * +:ss+ - (Array<String>) A set of strings.
782
+ # * +:ns+ - (Array<String>) A set of numbers.
783
+ # * +:bs+ - (Array<String>) A set of binary attributes.
784
+ # * +:exists+ - (Boolean) Specify whether or not a value already
785
+ # exists for the attribute name-value pair.
786
+ # * +:return_values+ - (String)
787
+ # @return [Core::Response]
788
+ # The #data method of the response object returns
789
+ # a hash with the following structure:
790
+ # * +Attributes+ - (Hash<String,Hash>)
791
+ # * +S+ - (String)
792
+ # * +N+ - (String)
793
+ # * +B+ - (String)
794
+ # * +SS+ - (Array<String>)
795
+ # * +NS+ - (Array<String>)
796
+ # * +BS+ - (Array<Blob>)
797
+ # * +ConsumedCapacityUnits+ - (Numeric)
798
+
799
+ # @!method update_table(options = {})
800
+ # Calls the UpdateTable API operation.
801
+ # @param [Hash] options
802
+ # * +:table_name+ - *required* - (String) The name of the table you
803
+ # want to update. Allowed characters are a-z, A-Z, 0-9, _
804
+ # (underscore), - (hyphen) and . (period).
805
+ # * +:provisioned_throughput+ - *required* - (Hash)
806
+ # * +:read_capacity_units+ - *required* - (Integer) ReadCapacityUnits
807
+ # are in terms of strictly consistent reads, assuming items of 1k.
808
+ # 2k items require twice the ReadCapacityUnits.
809
+ # Eventually-consistent reads only require half the
810
+ # ReadCapacityUnits of stirctly consistent reads.
811
+ # * +:write_capacity_units+ - *required* - (Integer)
812
+ # WriteCapacityUnits are in terms of strictly consistent reads,
813
+ # assuming items of 1k. 2k items require twice the
814
+ # WriteCapacityUnits.
815
+ # @return [Core::Response]
816
+ # The #data method of the response object returns
817
+ # a hash with the following structure:
818
+ # * +TableDescription+ - (Hash)
819
+ # * +TableName+ - (String)
820
+ # * +KeySchema+ - (Hash)
821
+ # * +HashKeyElement+ - (Hash)
822
+ # * +AttributeName+ - (String)
823
+ # * +AttributeType+ - (String)
824
+ # * +RangeKeyElement+ - (Hash)
825
+ # * +AttributeName+ - (String)
826
+ # * +AttributeType+ - (String)
827
+ # * +TableStatus+ - (String)
828
+ # * +CreationDateTime+ - (Time)
829
+ # * +ProvisionedThroughput+ - (Hash)
830
+ # * +LastIncreaseDateTime+ - (Time)
831
+ # * +LastDecreaseDateTime+ - (Time)
832
+ # * +ReadCapacityUnits+ - (Integer)
833
+ # * +WriteCapacityUnits+ - (Integer)
834
+ # * +TableSizeBytes+ - (Integer)
835
+ # * +ItemCount+ - (Integer)
836
+
837
+ # end client methods #
838
+
839
+ define_client_methods('2011-12-05')
840
+
841
+ protected
842
+
843
+ def extract_error_details response
844
+ if response.http_response.status == 413
845
+ ['RequestEntityTooLarge', 'Request entity too large']
846
+ elsif crc32_is_valid?(response) == false
847
+ ['CRC32CheckFailed', 'CRC32 integrity check failed']
848
+ else
849
+ super
850
+ end
851
+ end
852
+
853
+ def retryable_error? response
854
+ case response.error
855
+ when Errors::ProvisionedThroughputExceededException
856
+ config.dynamo_db_retry_throughput_errors?
857
+ when Errors::CRC32CheckFailed
858
+ true
859
+ else
860
+ super
861
+ end
862
+ end
863
+
864
+ def sleep_durations response
865
+
866
+ retry_count =
867
+ if expired_credentials?(response)
868
+ config.max_retries == 0 ? 0 : 1
869
+ else
870
+ config.max_retries { 10 }
871
+ end
872
+
873
+ # given a retry_count of 10, the sleep durations will look like:
874
+ # 0, 50, 100, 200, 400, 800, 1600, 3200, 6400, 12800 (milliseconds)
875
+ (0...retry_count).map do |n|
876
+ if n == 0
877
+ 0
878
+ else
879
+ 50 * (2 ** (n - 1)) / 1000.0
880
+ end
881
+ end
882
+
883
+ end
884
+
885
+ private
886
+
887
+ # @return [Boolean] whether the CRC32 response header matches the body.
888
+ # @return [nil] if no CRC32 header is present or we are not verifying CRC32
889
+ def crc32_is_valid? response
890
+ return nil unless config.dynamo_db_crc32
891
+ if crcs = response.http_response.headers['x-amz-crc32']
892
+ crcs[0].to_i == calculate_crc32(response)
893
+ else
894
+ nil
895
+ end
896
+ end
897
+
898
+ def calculate_crc32 response
899
+ Zlib.crc32(response.http_response.body)
900
+ end
901
+
902
+ end
903
+ end
904
+ end