aws-sdk 1.32.0 → 3.0.2

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 (551) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +100 -0
  3. data/LICENSE.txt +199 -9
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk.rb +2 -14
  6. metadata +22 -591
  7. data/.yardopts +0 -7
  8. data/README.md +0 -291
  9. data/bin/aws-rb +0 -169
  10. data/ca-bundle.crt +0 -3554
  11. data/endpoints.json +0 -1506
  12. data/lib/aws.rb +0 -14
  13. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -869
  14. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -358
  15. data/lib/aws/api_config/CloudFront-2013-05-12.yml +0 -2448
  16. data/lib/aws/api_config/CloudFront-2013-08-26.yml +0 -2599
  17. data/lib/aws/api_config/CloudFront-2013-09-27.yml +0 -2765
  18. data/lib/aws/api_config/CloudFront-2013-11-11.yml +0 -2886
  19. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +0 -681
  20. data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -159
  21. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
  22. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
  23. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
  24. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
  25. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2005
  26. data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
  27. data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
  28. data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4726
  29. data/lib/aws/api_config/ELB-2012-06-01.yml +0 -632
  30. data/lib/aws/api_config/EMR-2009-03-31.yml +0 -953
  31. data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
  32. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -847
  33. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -2285
  34. data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
  35. data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1297
  36. data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
  37. data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
  38. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -1825
  39. data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
  40. data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2641
  41. data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2137
  42. data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
  43. data/lib/aws/api_config/SNS-2010-03-31.yml +0 -433
  44. data/lib/aws/api_config/SQS-2012-11-05.yml +0 -319
  45. data/lib/aws/api_config/STS-2011-06-15.yml +0 -147
  46. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
  47. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
  48. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
  49. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
  50. data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
  51. data/lib/aws/api_config/Support-2013-04-15.yml +0 -426
  52. data/lib/aws/auto_scaling.rb +0 -163
  53. data/lib/aws/auto_scaling/activity.rb +0 -102
  54. data/lib/aws/auto_scaling/activity_collection.rb +0 -81
  55. data/lib/aws/auto_scaling/client.rb +0 -48
  56. data/lib/aws/auto_scaling/config.rb +0 -18
  57. data/lib/aws/auto_scaling/errors.rb +0 -22
  58. data/lib/aws/auto_scaling/group.rb +0 -421
  59. data/lib/aws/auto_scaling/group_collection.rb +0 -96
  60. data/lib/aws/auto_scaling/group_options.rb +0 -155
  61. data/lib/aws/auto_scaling/instance.rb +0 -192
  62. data/lib/aws/auto_scaling/instance_collection.rb +0 -63
  63. data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
  64. data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
  65. data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
  66. data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
  67. data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
  68. data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
  69. data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
  70. data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
  71. data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
  72. data/lib/aws/auto_scaling/tag.rb +0 -59
  73. data/lib/aws/auto_scaling/tag_collection.rb +0 -114
  74. data/lib/aws/cloud_formation.rb +0 -272
  75. data/lib/aws/cloud_formation/client.rb +0 -48
  76. data/lib/aws/cloud_formation/config.rb +0 -18
  77. data/lib/aws/cloud_formation/errors.rb +0 -22
  78. data/lib/aws/cloud_formation/stack.rb +0 -266
  79. data/lib/aws/cloud_formation/stack_collection.rb +0 -232
  80. data/lib/aws/cloud_formation/stack_event.rb +0 -73
  81. data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
  82. data/lib/aws/cloud_formation/stack_options.rb +0 -72
  83. data/lib/aws/cloud_formation/stack_output.rb +0 -53
  84. data/lib/aws/cloud_formation/stack_resource.rb +0 -117
  85. data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
  86. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
  87. data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
  88. data/lib/aws/cloud_front.rb +0 -72
  89. data/lib/aws/cloud_front/client.rb +0 -45
  90. data/lib/aws/cloud_front/config.rb +0 -18
  91. data/lib/aws/cloud_front/errors.rb +0 -22
  92. data/lib/aws/cloud_search.rb +0 -73
  93. data/lib/aws/cloud_search/client.rb +0 -36
  94. data/lib/aws/cloud_search/config.rb +0 -18
  95. data/lib/aws/cloud_search/errors.rb +0 -22
  96. data/lib/aws/cloud_trail.rb +0 -72
  97. data/lib/aws/cloud_trail/client.rb +0 -35
  98. data/lib/aws/cloud_trail/config.rb +0 -18
  99. data/lib/aws/cloud_trail/errors.rb +0 -22
  100. data/lib/aws/cloud_watch.rb +0 -118
  101. data/lib/aws/cloud_watch/alarm.rb +0 -290
  102. data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
  103. data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
  104. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
  105. data/lib/aws/cloud_watch/client.rb +0 -40
  106. data/lib/aws/cloud_watch/config.rb +0 -18
  107. data/lib/aws/cloud_watch/errors.rb +0 -22
  108. data/lib/aws/cloud_watch/metric.rb +0 -135
  109. data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
  110. data/lib/aws/cloud_watch/metric_collection.rb +0 -129
  111. data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
  112. data/lib/aws/core.rb +0 -701
  113. data/lib/aws/core/async_handle.rb +0 -90
  114. data/lib/aws/core/cacheable.rb +0 -77
  115. data/lib/aws/core/client.rb +0 -778
  116. data/lib/aws/core/collection.rb +0 -263
  117. data/lib/aws/core/collection/simple.rb +0 -82
  118. data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
  119. data/lib/aws/core/collection/with_next_token.rb +0 -97
  120. data/lib/aws/core/configuration.rb +0 -541
  121. data/lib/aws/core/credential_providers.rb +0 -506
  122. data/lib/aws/core/data.rb +0 -247
  123. data/lib/aws/core/deprecations.rb +0 -84
  124. data/lib/aws/core/endpoints.rb +0 -37
  125. data/lib/aws/core/http/connection_pool.rb +0 -349
  126. data/lib/aws/core/http/curb_handler.rb +0 -148
  127. data/lib/aws/core/http/handler.rb +0 -89
  128. data/lib/aws/core/http/net_http_handler.rb +0 -147
  129. data/lib/aws/core/http/patch.rb +0 -102
  130. data/lib/aws/core/http/request.rb +0 -249
  131. data/lib/aws/core/http/response.rb +0 -81
  132. data/lib/aws/core/indifferent_hash.rb +0 -88
  133. data/lib/aws/core/inflection.rb +0 -56
  134. data/lib/aws/core/json_client.rb +0 -47
  135. data/lib/aws/core/json_parser.rb +0 -76
  136. data/lib/aws/core/json_request_builder.rb +0 -35
  137. data/lib/aws/core/json_response_parser.rb +0 -79
  138. data/lib/aws/core/lazy_error_classes.rb +0 -90
  139. data/lib/aws/core/log_formatter.rb +0 -428
  140. data/lib/aws/core/managed_file.rb +0 -32
  141. data/lib/aws/core/meta_utils.rb +0 -45
  142. data/lib/aws/core/model.rb +0 -57
  143. data/lib/aws/core/naming.rb +0 -30
  144. data/lib/aws/core/option_grammar.rb +0 -738
  145. data/lib/aws/core/options/json_serializer.rb +0 -82
  146. data/lib/aws/core/options/validator.rb +0 -155
  147. data/lib/aws/core/options/xml_serializer.rb +0 -118
  148. data/lib/aws/core/page_result.rb +0 -75
  149. data/lib/aws/core/policy.rb +0 -942
  150. data/lib/aws/core/query_client.rb +0 -41
  151. data/lib/aws/core/query_error_parser.rb +0 -24
  152. data/lib/aws/core/query_request_builder.rb +0 -47
  153. data/lib/aws/core/query_response_parser.rb +0 -35
  154. data/lib/aws/core/region.rb +0 -85
  155. data/lib/aws/core/region_collection.rb +0 -80
  156. data/lib/aws/core/resource.rb +0 -413
  157. data/lib/aws/core/resource_cache.rb +0 -40
  158. data/lib/aws/core/response.rb +0 -211
  159. data/lib/aws/core/response_cache.rb +0 -50
  160. data/lib/aws/core/rest_error_parser.rb +0 -24
  161. data/lib/aws/core/rest_json_client.rb +0 -40
  162. data/lib/aws/core/rest_request_builder.rb +0 -154
  163. data/lib/aws/core/rest_response_parser.rb +0 -66
  164. data/lib/aws/core/rest_xml_client.rb +0 -47
  165. data/lib/aws/core/service_interface.rb +0 -83
  166. data/lib/aws/core/signers/base.rb +0 -46
  167. data/lib/aws/core/signers/cloud_front.rb +0 -56
  168. data/lib/aws/core/signers/s3.rb +0 -159
  169. data/lib/aws/core/signers/version_2.rb +0 -72
  170. data/lib/aws/core/signers/version_3.rb +0 -86
  171. data/lib/aws/core/signers/version_3_https.rb +0 -61
  172. data/lib/aws/core/signers/version_4.rb +0 -228
  173. data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
  174. data/lib/aws/core/uri_escape.rb +0 -44
  175. data/lib/aws/core/xml/frame.rb +0 -244
  176. data/lib/aws/core/xml/frame_stack.rb +0 -85
  177. data/lib/aws/core/xml/grammar.rb +0 -306
  178. data/lib/aws/core/xml/parser.rb +0 -70
  179. data/lib/aws/core/xml/root_frame.rb +0 -65
  180. data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
  181. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
  182. data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
  183. data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
  184. data/lib/aws/core/xml/stub.rb +0 -123
  185. data/lib/aws/data_pipeline.rb +0 -72
  186. data/lib/aws/data_pipeline/client.rb +0 -36
  187. data/lib/aws/data_pipeline/config.rb +0 -18
  188. data/lib/aws/data_pipeline/errors.rb +0 -20
  189. data/lib/aws/direct_connect.rb +0 -73
  190. data/lib/aws/direct_connect/client.rb +0 -36
  191. data/lib/aws/direct_connect/config.rb +0 -18
  192. data/lib/aws/direct_connect/errors.rb +0 -22
  193. data/lib/aws/dynamo_db.rb +0 -214
  194. data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
  195. data/lib/aws/dynamo_db/batch_get.rb +0 -213
  196. data/lib/aws/dynamo_db/batch_write.rb +0 -252
  197. data/lib/aws/dynamo_db/binary.rb +0 -35
  198. data/lib/aws/dynamo_db/client.rb +0 -129
  199. data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
  200. data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
  201. data/lib/aws/dynamo_db/client_v2.rb +0 -44
  202. data/lib/aws/dynamo_db/config.rb +0 -24
  203. data/lib/aws/dynamo_db/errors.rb +0 -20
  204. data/lib/aws/dynamo_db/expectations.rb +0 -40
  205. data/lib/aws/dynamo_db/item.rb +0 -133
  206. data/lib/aws/dynamo_db/item_collection.rb +0 -856
  207. data/lib/aws/dynamo_db/item_data.rb +0 -31
  208. data/lib/aws/dynamo_db/keys.rb +0 -41
  209. data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
  210. data/lib/aws/dynamo_db/resource.rb +0 -33
  211. data/lib/aws/dynamo_db/table.rb +0 -496
  212. data/lib/aws/dynamo_db/table_collection.rb +0 -165
  213. data/lib/aws/dynamo_db/types.rb +0 -111
  214. data/lib/aws/ec2.rb +0 -428
  215. data/lib/aws/ec2/attachment.rb +0 -135
  216. data/lib/aws/ec2/attachment_collection.rb +0 -54
  217. data/lib/aws/ec2/availability_zone.rb +0 -86
  218. data/lib/aws/ec2/availability_zone_collection.rb +0 -43
  219. data/lib/aws/ec2/block_device_mappings.rb +0 -53
  220. data/lib/aws/ec2/client.rb +0 -101
  221. data/lib/aws/ec2/collection.rb +0 -36
  222. data/lib/aws/ec2/config.rb +0 -30
  223. data/lib/aws/ec2/customer_gateway.rb +0 -90
  224. data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
  225. data/lib/aws/ec2/dhcp_options.rb +0 -106
  226. data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
  227. data/lib/aws/ec2/elastic_ip.rb +0 -209
  228. data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
  229. data/lib/aws/ec2/errors.rb +0 -32
  230. data/lib/aws/ec2/export_task.rb +0 -120
  231. data/lib/aws/ec2/export_task_collection.rb +0 -67
  232. data/lib/aws/ec2/filtered_collection.rb +0 -87
  233. data/lib/aws/ec2/has_permissions.rb +0 -44
  234. data/lib/aws/ec2/image.rb +0 -270
  235. data/lib/aws/ec2/image_collection.rb +0 -220
  236. data/lib/aws/ec2/instance.rb +0 -803
  237. data/lib/aws/ec2/instance_collection.rb +0 -391
  238. data/lib/aws/ec2/internet_gateway.rb +0 -122
  239. data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
  240. data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
  241. data/lib/aws/ec2/key_pair.rb +0 -82
  242. data/lib/aws/ec2/key_pair_collection.rb +0 -99
  243. data/lib/aws/ec2/network_acl.rb +0 -256
  244. data/lib/aws/ec2/network_acl/association.rb +0 -56
  245. data/lib/aws/ec2/network_acl/entry.rb +0 -147
  246. data/lib/aws/ec2/network_acl_collection.rb +0 -64
  247. data/lib/aws/ec2/network_interface.rb +0 -237
  248. data/lib/aws/ec2/network_interface/attachment.rb +0 -100
  249. data/lib/aws/ec2/network_interface_collection.rb +0 -103
  250. data/lib/aws/ec2/permission_collection.rb +0 -174
  251. data/lib/aws/ec2/region.rb +0 -106
  252. data/lib/aws/ec2/region_collection.rb +0 -51
  253. data/lib/aws/ec2/reserved_instances.rb +0 -56
  254. data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
  255. data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
  256. data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
  257. data/lib/aws/ec2/resource.rb +0 -161
  258. data/lib/aws/ec2/resource_tag_collection.rb +0 -211
  259. data/lib/aws/ec2/route_table.rb +0 -205
  260. data/lib/aws/ec2/route_table/association.rb +0 -119
  261. data/lib/aws/ec2/route_table/route.rb +0 -119
  262. data/lib/aws/ec2/route_table_collection.rb +0 -72
  263. data/lib/aws/ec2/security_group.rb +0 -482
  264. data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
  265. data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
  266. data/lib/aws/ec2/security_group_collection.rb +0 -133
  267. data/lib/aws/ec2/snapshot.rb +0 -143
  268. data/lib/aws/ec2/snapshot_collection.rb +0 -131
  269. data/lib/aws/ec2/subnet.rb +0 -161
  270. data/lib/aws/ec2/subnet_collection.rb +0 -115
  271. data/lib/aws/ec2/tag.rb +0 -81
  272. data/lib/aws/ec2/tag_collection.rb +0 -107
  273. data/lib/aws/ec2/tagged_collection.rb +0 -53
  274. data/lib/aws/ec2/tagged_item.rb +0 -85
  275. data/lib/aws/ec2/volume.rb +0 -174
  276. data/lib/aws/ec2/volume_collection.rb +0 -98
  277. data/lib/aws/ec2/vpc.rb +0 -166
  278. data/lib/aws/ec2/vpc_collection.rb +0 -70
  279. data/lib/aws/ec2/vpn_connection.rb +0 -99
  280. data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
  281. data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
  282. data/lib/aws/ec2/vpn_gateway.rb +0 -123
  283. data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
  284. data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
  285. data/lib/aws/elastic_beanstalk.rb +0 -49
  286. data/lib/aws/elastic_beanstalk/client.rb +0 -36
  287. data/lib/aws/elastic_beanstalk/config.rb +0 -18
  288. data/lib/aws/elastic_beanstalk/errors.rb +0 -22
  289. data/lib/aws/elastic_transcoder.rb +0 -29
  290. data/lib/aws/elastic_transcoder/client.rb +0 -48
  291. data/lib/aws/elastic_transcoder/config.rb +0 -18
  292. data/lib/aws/elastic_transcoder/errors.rb +0 -23
  293. data/lib/aws/elasticache.rb +0 -49
  294. data/lib/aws/elasticache/client.rb +0 -35
  295. data/lib/aws/elasticache/config.rb +0 -18
  296. data/lib/aws/elasticache/errors.rb +0 -22
  297. data/lib/aws/elb.rb +0 -66
  298. data/lib/aws/elb/availability_zone_collection.rb +0 -138
  299. data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
  300. data/lib/aws/elb/client.rb +0 -35
  301. data/lib/aws/elb/config.rb +0 -18
  302. data/lib/aws/elb/errors.rb +0 -26
  303. data/lib/aws/elb/instance_collection.rb +0 -168
  304. data/lib/aws/elb/listener.rb +0 -190
  305. data/lib/aws/elb/listener_collection.rb +0 -113
  306. data/lib/aws/elb/listener_opts.rb +0 -45
  307. data/lib/aws/elb/load_balancer.rb +0 -280
  308. data/lib/aws/elb/load_balancer_collection.rb +0 -146
  309. data/lib/aws/elb/load_balancer_policy.rb +0 -93
  310. data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
  311. data/lib/aws/emr.rb +0 -87
  312. data/lib/aws/emr/client.rb +0 -35
  313. data/lib/aws/emr/config.rb +0 -18
  314. data/lib/aws/emr/errors.rb +0 -22
  315. data/lib/aws/emr/instance_group.rb +0 -138
  316. data/lib/aws/emr/instance_group_collection.rb +0 -82
  317. data/lib/aws/emr/job_flow.rb +0 -307
  318. data/lib/aws/emr/job_flow_collection.rb +0 -185
  319. data/lib/aws/errors.rb +0 -162
  320. data/lib/aws/glacier.rb +0 -79
  321. data/lib/aws/glacier/archive.rb +0 -56
  322. data/lib/aws/glacier/archive_collection.rb +0 -146
  323. data/lib/aws/glacier/client.rb +0 -49
  324. data/lib/aws/glacier/config.rb +0 -19
  325. data/lib/aws/glacier/errors.rb +0 -22
  326. data/lib/aws/glacier/resource.rb +0 -30
  327. data/lib/aws/glacier/vault.rb +0 -145
  328. data/lib/aws/glacier/vault_collection.rb +0 -75
  329. data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
  330. data/lib/aws/iam.rb +0 -408
  331. data/lib/aws/iam/access_key.rb +0 -185
  332. data/lib/aws/iam/access_key_collection.rb +0 -128
  333. data/lib/aws/iam/account_alias_collection.rb +0 -79
  334. data/lib/aws/iam/client.rb +0 -49
  335. data/lib/aws/iam/collection.rb +0 -83
  336. data/lib/aws/iam/config.rb +0 -18
  337. data/lib/aws/iam/errors.rb +0 -22
  338. data/lib/aws/iam/group.rb +0 -111
  339. data/lib/aws/iam/group_collection.rb +0 -132
  340. data/lib/aws/iam/group_policy_collection.rb +0 -47
  341. data/lib/aws/iam/group_user_collection.rb +0 -84
  342. data/lib/aws/iam/login_profile.rb +0 -99
  343. data/lib/aws/iam/mfa_device.rb +0 -52
  344. data/lib/aws/iam/mfa_device_collection.rb +0 -127
  345. data/lib/aws/iam/policy.rb +0 -46
  346. data/lib/aws/iam/policy_collection.rb +0 -188
  347. data/lib/aws/iam/resource.rb +0 -62
  348. data/lib/aws/iam/server_certificate.rb +0 -141
  349. data/lib/aws/iam/server_certificate_collection.rb +0 -138
  350. data/lib/aws/iam/signing_certificate.rb +0 -174
  351. data/lib/aws/iam/signing_certificate_collection.rb +0 -131
  352. data/lib/aws/iam/user.rb +0 -200
  353. data/lib/aws/iam/user_collection.rb +0 -133
  354. data/lib/aws/iam/user_group_collection.rb +0 -98
  355. data/lib/aws/iam/user_policy.rb +0 -90
  356. data/lib/aws/iam/user_policy_collection.rb +0 -45
  357. data/lib/aws/iam/virtual_mfa_device.rb +0 -139
  358. data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
  359. data/lib/aws/import_export.rb +0 -73
  360. data/lib/aws/import_export/client.rb +0 -35
  361. data/lib/aws/import_export/config.rb +0 -19
  362. data/lib/aws/import_export/errors.rb +0 -22
  363. data/lib/aws/kinesis.rb +0 -53
  364. data/lib/aws/kinesis/client.rb +0 -35
  365. data/lib/aws/kinesis/config.rb +0 -18
  366. data/lib/aws/kinesis/errors.rb +0 -20
  367. data/lib/aws/ops_works.rb +0 -29
  368. data/lib/aws/ops_works/client.rb +0 -35
  369. data/lib/aws/ops_works/config.rb +0 -18
  370. data/lib/aws/ops_works/errors.rb +0 -20
  371. data/lib/aws/rails.rb +0 -195
  372. data/lib/aws/rds.rb +0 -70
  373. data/lib/aws/rds/client.rb +0 -42
  374. data/lib/aws/rds/config.rb +0 -18
  375. data/lib/aws/rds/db_instance.rb +0 -216
  376. data/lib/aws/rds/db_instance_collection.rb +0 -75
  377. data/lib/aws/rds/db_snapshot.rb +0 -163
  378. data/lib/aws/rds/db_snapshot_collection.rb +0 -89
  379. data/lib/aws/rds/errors.rb +0 -22
  380. data/lib/aws/record.rb +0 -139
  381. data/lib/aws/record/abstract_base.rb +0 -690
  382. data/lib/aws/record/attributes.rb +0 -388
  383. data/lib/aws/record/conversion.rb +0 -38
  384. data/lib/aws/record/dirty_tracking.rb +0 -287
  385. data/lib/aws/record/errors.rb +0 -143
  386. data/lib/aws/record/exceptions.rb +0 -51
  387. data/lib/aws/record/hash_model.rb +0 -204
  388. data/lib/aws/record/hash_model/attributes.rb +0 -195
  389. data/lib/aws/record/hash_model/finder_methods.rb +0 -172
  390. data/lib/aws/record/hash_model/scope.rb +0 -108
  391. data/lib/aws/record/model.rb +0 -453
  392. data/lib/aws/record/model/attributes.rb +0 -377
  393. data/lib/aws/record/model/finder_methods.rb +0 -232
  394. data/lib/aws/record/model/scope.rb +0 -212
  395. data/lib/aws/record/naming.rb +0 -31
  396. data/lib/aws/record/scope.rb +0 -203
  397. data/lib/aws/record/validations.rb +0 -694
  398. data/lib/aws/record/validator.rb +0 -246
  399. data/lib/aws/record/validators/acceptance.rb +0 -49
  400. data/lib/aws/record/validators/block.rb +0 -36
  401. data/lib/aws/record/validators/confirmation.rb +0 -41
  402. data/lib/aws/record/validators/count.rb +0 -106
  403. data/lib/aws/record/validators/exclusion.rb +0 -41
  404. data/lib/aws/record/validators/format.rb +0 -55
  405. data/lib/aws/record/validators/inclusion.rb +0 -54
  406. data/lib/aws/record/validators/length.rb +0 -105
  407. data/lib/aws/record/validators/method.rb +0 -31
  408. data/lib/aws/record/validators/numericality.rb +0 -136
  409. data/lib/aws/record/validators/presence.rb +0 -43
  410. data/lib/aws/redshift.rb +0 -51
  411. data/lib/aws/redshift/client.rb +0 -35
  412. data/lib/aws/redshift/config.rb +0 -18
  413. data/lib/aws/redshift/errors.rb +0 -22
  414. data/lib/aws/route_53.rb +0 -86
  415. data/lib/aws/route_53/change_batch.rb +0 -161
  416. data/lib/aws/route_53/change_info.rb +0 -72
  417. data/lib/aws/route_53/client.rb +0 -35
  418. data/lib/aws/route_53/config.rb +0 -18
  419. data/lib/aws/route_53/errors.rb +0 -22
  420. data/lib/aws/route_53/hosted_zone.rb +0 -111
  421. data/lib/aws/route_53/hosted_zone_collection.rb +0 -100
  422. data/lib/aws/route_53/resource_record_set.rb +0 -251
  423. data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
  424. data/lib/aws/s3.rb +0 -156
  425. data/lib/aws/s3/access_control_list.rb +0 -265
  426. data/lib/aws/s3/acl_object.rb +0 -264
  427. data/lib/aws/s3/acl_options.rb +0 -204
  428. data/lib/aws/s3/bucket.rb +0 -742
  429. data/lib/aws/s3/bucket_collection.rb +0 -162
  430. data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -457
  431. data/lib/aws/s3/bucket_tag_collection.rb +0 -111
  432. data/lib/aws/s3/bucket_version_collection.rb +0 -79
  433. data/lib/aws/s3/cipher_io.rb +0 -120
  434. data/lib/aws/s3/client.rb +0 -1919
  435. data/lib/aws/s3/client/xml.rb +0 -259
  436. data/lib/aws/s3/config.rb +0 -48
  437. data/lib/aws/s3/cors_rule.rb +0 -108
  438. data/lib/aws/s3/cors_rule_collection.rb +0 -194
  439. data/lib/aws/s3/data_options.rb +0 -191
  440. data/lib/aws/s3/encryption_utils.rb +0 -146
  441. data/lib/aws/s3/errors.rb +0 -94
  442. data/lib/aws/s3/multipart_upload.rb +0 -351
  443. data/lib/aws/s3/multipart_upload_collection.rb +0 -76
  444. data/lib/aws/s3/object_collection.rb +0 -353
  445. data/lib/aws/s3/object_metadata.rb +0 -103
  446. data/lib/aws/s3/object_upload_collection.rb +0 -77
  447. data/lib/aws/s3/object_version.rb +0 -154
  448. data/lib/aws/s3/object_version_collection.rb +0 -89
  449. data/lib/aws/s3/paginated_collection.rb +0 -75
  450. data/lib/aws/s3/policy.rb +0 -74
  451. data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
  452. data/lib/aws/s3/prefixed_collection.rb +0 -85
  453. data/lib/aws/s3/presign_v4.rb +0 -127
  454. data/lib/aws/s3/presigned_post.rb +0 -554
  455. data/lib/aws/s3/request.rb +0 -62
  456. data/lib/aws/s3/s3_object.rb +0 -1781
  457. data/lib/aws/s3/tree.rb +0 -116
  458. data/lib/aws/s3/tree/branch_node.rb +0 -68
  459. data/lib/aws/s3/tree/child_collection.rb +0 -104
  460. data/lib/aws/s3/tree/leaf_node.rb +0 -94
  461. data/lib/aws/s3/tree/node.rb +0 -22
  462. data/lib/aws/s3/tree/parent.rb +0 -87
  463. data/lib/aws/s3/uploaded_part.rb +0 -82
  464. data/lib/aws/s3/uploaded_part_collection.rb +0 -84
  465. data/lib/aws/s3/website_configuration.rb +0 -102
  466. data/lib/aws/simple_db.rb +0 -218
  467. data/lib/aws/simple_db/attribute.rb +0 -156
  468. data/lib/aws/simple_db/attribute_collection.rb +0 -240
  469. data/lib/aws/simple_db/client.rb +0 -67
  470. data/lib/aws/simple_db/config.rb +0 -20
  471. data/lib/aws/simple_db/consistent_read_option.rb +0 -42
  472. data/lib/aws/simple_db/delete_attributes.rb +0 -62
  473. data/lib/aws/simple_db/domain.rb +0 -123
  474. data/lib/aws/simple_db/domain_collection.rb +0 -86
  475. data/lib/aws/simple_db/domain_metadata.rb +0 -110
  476. data/lib/aws/simple_db/errors.rb +0 -55
  477. data/lib/aws/simple_db/expect_condition_option.rb +0 -45
  478. data/lib/aws/simple_db/item.rb +0 -93
  479. data/lib/aws/simple_db/item_collection.rb +0 -654
  480. data/lib/aws/simple_db/item_data.rb +0 -73
  481. data/lib/aws/simple_db/put_attributes.rb +0 -60
  482. data/lib/aws/simple_email_service.rb +0 -430
  483. data/lib/aws/simple_email_service/client.rb +0 -37
  484. data/lib/aws/simple_email_service/config.rb +0 -18
  485. data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
  486. data/lib/aws/simple_email_service/errors.rb +0 -22
  487. data/lib/aws/simple_email_service/identity.rb +0 -209
  488. data/lib/aws/simple_email_service/identity_collection.rb +0 -81
  489. data/lib/aws/simple_email_service/quotas.rb +0 -66
  490. data/lib/aws/simple_workflow.rb +0 -227
  491. data/lib/aws/simple_workflow/activity_task.rb +0 -178
  492. data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
  493. data/lib/aws/simple_workflow/activity_type.rb +0 -131
  494. data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
  495. data/lib/aws/simple_workflow/client.rb +0 -69
  496. data/lib/aws/simple_workflow/config.rb +0 -18
  497. data/lib/aws/simple_workflow/count.rb +0 -49
  498. data/lib/aws/simple_workflow/decision_task.rb +0 -603
  499. data/lib/aws/simple_workflow/decision_task_collection.rb +0 -225
  500. data/lib/aws/simple_workflow/domain.rb +0 -122
  501. data/lib/aws/simple_workflow/domain_collection.rb +0 -169
  502. data/lib/aws/simple_workflow/errors.rb +0 -20
  503. data/lib/aws/simple_workflow/history_event.rb +0 -276
  504. data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
  505. data/lib/aws/simple_workflow/option_formatters.rb +0 -82
  506. data/lib/aws/simple_workflow/resource.rb +0 -94
  507. data/lib/aws/simple_workflow/type.rb +0 -89
  508. data/lib/aws/simple_workflow/type_collection.rb +0 -140
  509. data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
  510. data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
  511. data/lib/aws/simple_workflow/workflow_type.rb +0 -179
  512. data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
  513. data/lib/aws/sns.rb +0 -76
  514. data/lib/aws/sns/client.rb +0 -35
  515. data/lib/aws/sns/config.rb +0 -18
  516. data/lib/aws/sns/errors.rb +0 -22
  517. data/lib/aws/sns/has_delivery_policy.rb +0 -68
  518. data/lib/aws/sns/message.rb +0 -194
  519. data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
  520. data/lib/aws/sns/policy.rb +0 -47
  521. data/lib/aws/sns/subscription.rb +0 -165
  522. data/lib/aws/sns/subscription_collection.rb +0 -78
  523. data/lib/aws/sns/topic.rb +0 -403
  524. data/lib/aws/sns/topic_collection.rb +0 -62
  525. data/lib/aws/sns/topic_subscription_collection.rb +0 -54
  526. data/lib/aws/sqs.rb +0 -80
  527. data/lib/aws/sqs/client.rb +0 -53
  528. data/lib/aws/sqs/config.rb +0 -20
  529. data/lib/aws/sqs/errors.rb +0 -125
  530. data/lib/aws/sqs/policy.rb +0 -48
  531. data/lib/aws/sqs/queue.rb +0 -843
  532. data/lib/aws/sqs/queue_collection.rb +0 -182
  533. data/lib/aws/sqs/received_message.rb +0 -182
  534. data/lib/aws/sqs/received_sns_message.rb +0 -116
  535. data/lib/aws/storage_gateway.rb +0 -72
  536. data/lib/aws/storage_gateway/client.rb +0 -42
  537. data/lib/aws/storage_gateway/config.rb +0 -18
  538. data/lib/aws/storage_gateway/errors.rb +0 -22
  539. data/lib/aws/sts.rb +0 -164
  540. data/lib/aws/sts/client.rb +0 -46
  541. data/lib/aws/sts/config.rb +0 -18
  542. data/lib/aws/sts/errors.rb +0 -22
  543. data/lib/aws/sts/federated_session.rb +0 -56
  544. data/lib/aws/sts/policy.rb +0 -30
  545. data/lib/aws/sts/session.rb +0 -48
  546. data/lib/aws/support.rb +0 -29
  547. data/lib/aws/support/client.rb +0 -35
  548. data/lib/aws/support/config.rb +0 -18
  549. data/lib/aws/support/errors.rb +0 -20
  550. data/lib/aws/version.rb +0 -17
  551. data/rails/init.rb +0 -15
@@ -1,31 +0,0 @@
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
- class ItemData
18
-
19
- attr_reader :item
20
-
21
- attr_reader :attributes
22
-
23
- def initialize(opts = {})
24
- @item = opts[:item]
25
- @attributes = opts[:attributes]
26
- end
27
-
28
- end
29
-
30
- end
31
- end
@@ -1,41 +0,0 @@
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
- # @api private
18
- module Keys
19
-
20
- include Types
21
-
22
- # @return [Hash] Client options for identifying an item.
23
- def item_key_options(item, extra = {})
24
- key = item_key_hash(item)
25
- extra.merge({ :table_name => item.table.name, :key => key })
26
- end
27
-
28
- # @return [Hash] Returns just the hash key element and range key element
29
- def item_key_hash item
30
- item.table.assert_schema!
31
- key = {}
32
- key[:hash_key_element] = format_attribute_value(item.hash_value)
33
- key[:range_key_element] = format_attribute_value(item.range_value) if
34
- item.table.composite_key?
35
- key
36
- end
37
-
38
- end
39
-
40
- end
41
- end
@@ -1,48 +0,0 @@
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
- class PrimaryKeyElement
17
-
18
- attr_reader :name
19
-
20
- attr_reader :type
21
-
22
- ATTRIBUTE_TYPES = {
23
- "S" => :string,
24
- "N" => :number,
25
- "B" => :binary,
26
- }
27
-
28
- def initialize(hash)
29
- @name = hash[:name] || hash["AttributeName"]
30
- @type = hash[:type] || ATTRIBUTE_TYPES[hash["AttributeType"]]
31
- end
32
-
33
- def self.from_description(description)
34
- (name, type, *extra) = description.to_a.flatten
35
-
36
- raise(ArgumentError,
37
- "key element may contain only one name/type pair") unless
38
- extra.empty?
39
-
40
- raise ArgumentError, "unsupported type #{type.inspect}" unless
41
- ATTRIBUTE_TYPES.values.include?(type.to_sym)
42
-
43
- new(:name => name.to_s, :type => type)
44
- end
45
-
46
- end
47
- end
48
- end
@@ -1,33 +0,0 @@
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
- class Resource < Core::Resource
17
-
18
- # @api private
19
- def self.attribute name, options = {}
20
-
21
- # DynamoDB attributes are all returned in UpperCamelCase, this
22
- # converts the :snake_case name into the correct format.
23
- unless options[:from]
24
- options[:from] = name.to_s.split(/_/).map(&:capitalize).join
25
- end
26
-
27
- super(name, options)
28
-
29
- end
30
-
31
- end
32
- end
33
- end
@@ -1,496 +0,0 @@
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
- # Represents a DynamoDB table.
18
- #
19
- # ## Working with Tables
20
- #
21
- # Dynamo DB allows you to organize data into tables. Tables have a
22
- # unique name and a key schema. A key schema is comprised of a
23
- # hash key and an optional range key.
24
- #
25
- # Dynamo DB automatically partitions the data contained in a table
26
- # across multiple nodes so that the data throughput is not constrained
27
- # by the scale of a single box. You can reserve the required throughput
28
- # by specifying a number of reads and writes per second to support.
29
- #
30
- # ## Creating a Table
31
- #
32
- # To get started you can create a table by supplying a name
33
- # and the read/write capacity. A default schema with a hash_key
34
- # of :id => :string will be provided.
35
- #
36
- # dynamo_db = AWS::DynamoDB.new
37
- # dynamo_db.tables.create('mytable', 10, 5)
38
- #
39
- # You can provide your own hash key and optional range key.
40
- #
41
- # dynamo_db.tables.create('comments', 10, 5,
42
- # :hash_key => { :blog_post_id => :number },
43
- # :range_key => { :comment_id => :number }
44
- # )
45
- #
46
- # ## Provisioning Throughput
47
- #
48
- # You must specify the desired read and write capacity when
49
- # creating a table. After a table is created you can see what has
50
- # been provisioned.
51
- #
52
- # table.read_capacity_units #=> 10
53
- # table.write_capacity_units #=> 5
54
- #
55
- # To change these values, call {#provision_throughput}:
56
- #
57
- # table.provision_throughput :read_capacity_units => 100, :write_capacity_units => 100
58
- #
59
- # ## Table Status
60
- #
61
- # When you create or update a table the changes can take some time to
62
- # apply. You can query the status of your table at any time:
63
- #
64
- # # creating a table can be a *very* slow operation
65
- # table = dynamo_db.tables.create('mytable')
66
- # sleep 1 while table.status == :creating
67
- # table.status #=> :active
68
- #
69
- # @attr_reader [Time] created_at When the table was first creatd.
70
- #
71
- # @attr_reader [Symbol] status
72
- #
73
- # @attr [Integer] read_capacity_units
74
- #
75
- # @attr [Integer] write_capacity_units
76
- #
77
- # @attr [Time] throughput_last_increased_at
78
- #
79
- # @attr [Time] throughput_last_decreased_at
80
- #
81
- # @attr [Integer] size_bytes
82
- #
83
- # @attr [Integer] item_count
84
- #
85
- # @attr [PrimaryKeyElement] hash_key Returns the hash key element
86
- # for this table.
87
- #
88
- # @attr [PrimaryKeyElement,nil] range_key Returns the range key
89
- # element for this table, or nil if the table does not have a range
90
- # key.
91
- #
92
- class Table < Resource
93
-
94
- # @api private
95
- def initialize name, options = {}
96
- @name = name
97
- super
98
- end
99
-
100
- # @return [String] The name of this table.
101
- attr_reader :name
102
-
103
- attribute :creation_date_time, :static => true
104
-
105
- alias_method :created_at, :creation_date_time
106
-
107
- attribute :status, :from => 'TableStatus', :to_sym => true
108
-
109
- attribute :throughput_last_increased_at, :from => 'LastIncreaseDateTime'
110
-
111
- attribute :throughput_last_decreased_at, :from => 'LastDecreaseDateTime'
112
-
113
- attribute :read_capacity_units
114
-
115
- attribute :write_capacity_units
116
-
117
- attribute :item_count
118
-
119
- attribute :size_bytes, :from => 'TableSizeBytes'
120
-
121
- attribute :hash_key, :from => "HashKeyElement", :static => true do
122
- translates_output {|v| PrimaryKeyElement.new(v) }
123
- end
124
-
125
- attribute :range_key, :from => "RangeKeyElement", :static => true do
126
- translates_output {|v| PrimaryKeyElement.new(v) }
127
- end
128
- alias_method :range_key_without_schema_override, :range_key
129
-
130
- populates_from :describe_table do |resp|
131
- desc = resp.data['Table']
132
- if desc['TableName'] == name
133
- desc.
134
- merge(desc['ProvisionedThroughput']).
135
- merge(desc['KeySchema'] || {})
136
- end
137
- end
138
-
139
- populates_from :create_table, :delete_table do |resp|
140
- desc = resp.data['TableDescription']
141
- if desc['TableName'] == name
142
- desc.
143
- merge(desc['ProvisionedThroughput']).
144
- merge(desc['KeySchema'] || {})
145
- end
146
- end
147
-
148
- # @return [PrimaryKeyElement]
149
- def range_key
150
- if schema_loaded?
151
- static_attributes[:range_key]
152
- else
153
- range_key_without_schema_override
154
- end
155
- end
156
-
157
- # @param [Hash] options
158
- #
159
- # @option options [Integer] :read_capacity_units
160
- #
161
- # @option options [Integer] :write_capacity_units
162
- #
163
- # @return [Hash] Returns a hash with the current throughput
164
- # provisioning (`:read_capacity_units` and `:write_capacity_units`).
165
- #
166
- def provision_throughput options = {}
167
-
168
- options[:read_capacity_units] ||= read_capacity_units
169
- options[:write_capacity_units] ||= write_capacity_units
170
-
171
- client_opts = {}
172
- client_opts[:table_name] = name
173
- client_opts[:provisioned_throughput] = options
174
- client.update_table(client_opts)
175
-
176
- options
177
-
178
- end
179
-
180
- # @param [Integer] read_capacity_units
181
- def read_capacity_units= read_capacity_units
182
- provision_throughput(:read_capacity_units => read_capacity_units)
183
- end
184
-
185
- # @param [Integer] write_capacity_units
186
- def write_capacity_units= write_capacity_units
187
- provision_throughput(:write_capacity_units => write_capacity_units)
188
- end
189
-
190
- # @return [Boolean] Returns true if the table has a hash key and no
191
- # range key.
192
- def simple_key?
193
- range_key.nil?
194
- end
195
-
196
- # @return [Boolean] Returns true if the table has both a hash key and
197
- # a range key.
198
- def composite_key?
199
- !simple_key?
200
- end
201
- alias_method :has_range_key?, :composite_key?
202
-
203
- # @return [Boolean] True if the table's schema information is
204
- # loaded into memory.
205
- #
206
- # @note You must load the the table schema using {#load_schema},
207
- # {#hash_key} or {#range_key} or configure it using
208
- # {#hash_key=} and optionally {#range_key=} in order to work
209
- # with DynamoDB items.
210
- #
211
- def schema_loaded?
212
- static_attributes.include?(:hash_key)
213
- end
214
-
215
- # Raises an exception unless the table schema is loaded.
216
- #
217
- # @return [nil]
218
- #
219
- def assert_schema!
220
- raise "table schema not loaded" unless schema_loaded?
221
- end
222
-
223
- # Loads the table's schema information into memory. This method
224
- # should not be used in a high-volume code path, and is intended
225
- # only as a convenience for exploring the API. In general you
226
- # should configure a schema with {#hash_key=} and {#range_key=}
227
- # before using the table.
228
- #
229
- # @note You must load the the table schema using {#load_schema},
230
- # {#hash_key} or {#range_key} or configure it using
231
- # {#hash_key=} and optionally {#range_key=} in order to work
232
- # with DynamoDB items.
233
- #
234
- # @return self
235
- def load_schema
236
- hash_key
237
- self
238
- end
239
-
240
- # Configures the hash key element of the table's key schema.
241
- # This is the preferred way to load the table schema so that it
242
- # can be used to work with DynamoDB items.
243
- #
244
- # # these are equivalent:
245
- # table.hash_key = [:id, :string]
246
- # table.hash_key = { :id => :string }
247
- #
248
- # @note For tables with composite primary keys, you must call
249
- # this method first followed by {#range_key=} to configure the
250
- # table schema.
251
- #
252
- # @param description A description of the hash key element. If
253
- # this is a hash, it may contain a single mapping; the key is
254
- # the name of the hash key attribute and the value is the type
255
- # (`:string`, `:number` or `:binary`). If it is an array, the first
256
- # element is the name and the second element is the type.
257
- #
258
- def hash_key= description
259
- static_attributes[:hash_key] =
260
- PrimaryKeyElement.from_description(description)
261
- end
262
-
263
- # Configures the range key element of the table's key schema.
264
- # This is the preferred way to load the table schema so that it
265
- # can be used to work with DynamoDB items. This method is only
266
- # valid if the table has a composite key schema, and it may only
267
- # be called after {#hash_key=} has been used to configure the
268
- # hash key element.
269
- #
270
- # # these are equivalent:
271
- # table.range_key = [:id, :string]
272
- # table.range_key = { :id => :string }
273
- #
274
- # @param description A description of the range key element. If
275
- # this is a hash, it may contain a single mapping; the key is
276
- # the name of the hash key attribute and the value is the type
277
- # (`:string`, `:number` or `:binary`). If it is an array, the first
278
- # element is the name and the second element is the type.
279
- #
280
- def range_key= description
281
- raise "attempted to set a range key without configuring a hash key first" unless
282
- schema_loaded?
283
-
284
- static_attributes[:range_key] =
285
- PrimaryKeyElement.from_description(description)
286
-
287
- end
288
-
289
- # Deletes a table and all of its items. The table must be in an
290
- # `:active` state (see {#status}).
291
- #
292
- # @return [nil]
293
- #
294
- def delete
295
- client.delete_table(:table_name => name)
296
- nil
297
- end
298
-
299
- # @return [ItemCollection] Returns an object representing all the
300
- # items in the table.
301
- def items
302
- ItemCollection.new(self)
303
- end
304
-
305
- # @return [Boolean] Returns true if the table exists. Note that a table
306
- # exists even when it is in a `:deleting` state; this method
307
- # only returns false when DynamoDB no longer returns any
308
- # information about the table.
309
- def exists?
310
- get_resource
311
- true
312
- rescue Errors::ResourceNotFoundException
313
- false
314
- end
315
-
316
- # Requets a list of attributes for a list of items in the same table.
317
- #
318
- # If you want to request a list of attributes for items that span
319
- # multiple tables, see {DynamoDB#batch_get}.
320
- #
321
- # You can call this method in two forms:
322
- #
323
- # # block form
324
- # table.batch_get(:all, items) do |attributes|
325
- # # yeilds one hash of attribute names/values for each item
326
- # puts attributes.to_yaml
327
- # end
328
- #
329
- # # enumerable return value
330
- # attribute_hashes = table.batch_get(:all, items)
331
- # attribute_hashes.each do |attributes|
332
- # # ...
333
- # end
334
- #
335
- # @note This method does not require the table schema to be loaded.
336
- #
337
- # ## Attributes
338
- #
339
- # You can specify the list of attributes to request in 3 ways:
340
- #
341
- # * The symbol `:all` (to recieve all attributes)
342
- # * A single attribute name (e.g. 'size')
343
- # * An array of attribute names (e.g. ['size', 'color'])
344
- #
345
- # A few exmaples:
346
- #
347
- # # get all attributes
348
- # table.batch_get(:all, items)
349
- #
350
- # # only get the 'color' attribute
351
- # table.batch_get('color', items)
352
- #
353
- # # get 'color' and 'size' attributes
354
- # table.batch_get(['color', size'], items)
355
- #
356
- # ## Items
357
- #
358
- # You must specify an array of items to fetch attributes for.
359
- # The `items` param should always be an array with:
360
- #
361
- # * String hash key values
362
- # * Arrays of string hash key and range key values
363
- # * Item objects
364
- #
365
- # Here are a few examples:
366
- #
367
- # # items as a list of hash key values
368
- # items = %w(hashkey1 hashkey2 hashkey3)
369
- # table.batch_get(:all, items)
370
- #
371
- # # items as a list of hash and range key values
372
- # items = [['hashkey1', 'rangekey2'], ['hashkey1', 'rangekey2']]
373
- # table.batch_get(:all, items)
374
- #
375
- # # items as a list of Item objects
376
- # items = []
377
- # items << Item.new(table, 'hashkey1')
378
- # items << Item.new(table, 'hashkey2')
379
- # table.batch_get(:all, items)
380
- #
381
- # Please note that you must provide both hash and range keys for tables
382
- # that include a range key in the schema.
383
- #
384
- # @param [:all, String, Array<String>] attributes The list of
385
- # attributes you want to fetch for each item. `attributes` may be:
386
- #
387
- # * the symbol `:all`
388
- # * a single attribute name string
389
- # * an array of attribute name strings
390
- #
391
- # @param [Mixed] items A list of 2 or more items to fetch attributes
392
- # for. You may provide `items` as:
393
- #
394
- # * an array of hash key value strings
395
- # * an array of hash and range key value pairs (nested arrays)
396
- # * an array of {Item} objects
397
- #
398
- # @param [Hash] options
399
- #
400
- # @option options [Boolean] :consistent_read (false) When `true`, items
401
- # are read from this table with consistent reads. When `false`, reads
402
- # are eventually consistent.
403
- #
404
- # @yield [Hash] Yields a hash of attributes for each item.
405
- #
406
- # @return [Enumerable] Returns an enumerable object that yields
407
- # hashes of attributes.
408
- #
409
- def batch_get attributes, items, options = {}, &block
410
- batch = BatchGet.new(:config => config)
411
- batch.table(name, attributes, items, options)
412
- enum = batch.to_enum(:each_attributes)
413
- block_given? ? enum.each(&block) : enum
414
- end
415
-
416
- # Batch puts up to 25 items to this table.
417
- #
418
- # table.batch_put([
419
- # { :id => 'id1', :color => 'red' },
420
- # { :id => 'id2', :color => 'blue' },
421
- # { :id => 'id3', :color => 'green' },
422
- # ])
423
- #
424
- # @param [Array<Hash>] items A list of item attributes to put.
425
- # The hash must contain the table hash key element and range key
426
- # element (if one is defined).
427
- #
428
- # @return (see BatchWrite#process!)
429
- #
430
- def batch_put items
431
- batch = BatchWrite.new(:config => config)
432
- batch.put(self, items)
433
- batch.process!
434
- end
435
-
436
- # Batch writes up to 25 items to this table. A batch may contain
437
- # a mix of items to put and items to delete.
438
- #
439
- # table.batch_write(
440
- # :put => [
441
- # { :id => 'id1', :color => 'red' },
442
- # { :id => 'id2', :color => 'blue' },
443
- # { :id => 'id3', :color => 'green' },
444
- # ],
445
- # :delete => ['id4', 'id5']
446
- # )
447
- #
448
- # @param [Hash] options
449
- #
450
- # @option options (BatchWrite#write)
451
- #
452
- # @return (see BatchWrite#process!)
453
- #
454
- def batch_write options = {}
455
- batch = BatchWrite.new(:config => config)
456
- batch.write(self, options)
457
- batch.process!
458
- end
459
-
460
- # Delete up to 25 items in a single batch.
461
- #
462
- # table.batch_delete(%w(id1 id2 id3 id4 id5))
463
- #
464
- # @param [Array<String>,Array<Array>] items A list of item keys to
465
- # delete. For tables without a range key, items should be an array
466
- # of hash key strings.
467
- #
468
- # batch.delete('table-name', ['hk1', 'hk2', 'hk3'])
469
- #
470
- # For tables with a range key, items should be an array of
471
- # hash key and range key pairs.
472
- #
473
- # batch.delete('table-name', [['hk1', 'rk1'], ['hk1', 'rk2']])
474
- #
475
- # @return (see BatchWrite#process!)
476
- #
477
- def batch_delete items
478
- batch = BatchWrite.new(:config => config)
479
- batch.delete(self, items)
480
- batch.process!
481
- end
482
-
483
- protected
484
- def get_resource attribute_name = nil
485
- client.describe_table(resource_options)
486
- end
487
-
488
- protected
489
- def resource_identifiers
490
- [[:table_name, name]]
491
- end
492
-
493
- end
494
-
495
- end
496
- end