aws-sdk 1.51.0 → 1.52.0

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