aws-sdk 1.32.0 → 1.67.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 (549) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk.rb +1 -15
  3. metadata +16 -589
  4. data/.yardopts +0 -7
  5. data/LICENSE.txt +0 -12
  6. data/README.md +0 -291
  7. data/bin/aws-rb +0 -169
  8. data/ca-bundle.crt +0 -3554
  9. data/endpoints.json +0 -1506
  10. data/lib/aws.rb +0 -14
  11. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -869
  12. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -358
  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/CloudSearch-2011-02-01.yml +0 -681
  18. data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -159
  19. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
  20. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
  21. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
  22. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
  23. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2005
  24. data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
  25. data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
  26. data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4726
  27. data/lib/aws/api_config/ELB-2012-06-01.yml +0 -632
  28. data/lib/aws/api_config/EMR-2009-03-31.yml +0 -953
  29. data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
  30. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -847
  31. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -2285
  32. data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
  33. data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1297
  34. data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
  35. data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
  36. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -1825
  37. data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
  38. data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2641
  39. data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2137
  40. data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
  41. data/lib/aws/api_config/SNS-2010-03-31.yml +0 -433
  42. data/lib/aws/api_config/SQS-2012-11-05.yml +0 -319
  43. data/lib/aws/api_config/STS-2011-06-15.yml +0 -147
  44. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
  45. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
  46. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
  47. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
  48. data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
  49. data/lib/aws/api_config/Support-2013-04-15.yml +0 -426
  50. data/lib/aws/auto_scaling.rb +0 -163
  51. data/lib/aws/auto_scaling/activity.rb +0 -102
  52. data/lib/aws/auto_scaling/activity_collection.rb +0 -81
  53. data/lib/aws/auto_scaling/client.rb +0 -48
  54. data/lib/aws/auto_scaling/config.rb +0 -18
  55. data/lib/aws/auto_scaling/errors.rb +0 -22
  56. data/lib/aws/auto_scaling/group.rb +0 -421
  57. data/lib/aws/auto_scaling/group_collection.rb +0 -96
  58. data/lib/aws/auto_scaling/group_options.rb +0 -155
  59. data/lib/aws/auto_scaling/instance.rb +0 -192
  60. data/lib/aws/auto_scaling/instance_collection.rb +0 -63
  61. data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
  62. data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
  63. data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
  64. data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
  65. data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
  66. data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
  67. data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
  68. data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
  69. data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
  70. data/lib/aws/auto_scaling/tag.rb +0 -59
  71. data/lib/aws/auto_scaling/tag_collection.rb +0 -114
  72. data/lib/aws/cloud_formation.rb +0 -272
  73. data/lib/aws/cloud_formation/client.rb +0 -48
  74. data/lib/aws/cloud_formation/config.rb +0 -18
  75. data/lib/aws/cloud_formation/errors.rb +0 -22
  76. data/lib/aws/cloud_formation/stack.rb +0 -266
  77. data/lib/aws/cloud_formation/stack_collection.rb +0 -232
  78. data/lib/aws/cloud_formation/stack_event.rb +0 -73
  79. data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
  80. data/lib/aws/cloud_formation/stack_options.rb +0 -72
  81. data/lib/aws/cloud_formation/stack_output.rb +0 -53
  82. data/lib/aws/cloud_formation/stack_resource.rb +0 -117
  83. data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
  84. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
  85. data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
  86. data/lib/aws/cloud_front.rb +0 -72
  87. data/lib/aws/cloud_front/client.rb +0 -45
  88. data/lib/aws/cloud_front/config.rb +0 -18
  89. data/lib/aws/cloud_front/errors.rb +0 -22
  90. data/lib/aws/cloud_search.rb +0 -73
  91. data/lib/aws/cloud_search/client.rb +0 -36
  92. data/lib/aws/cloud_search/config.rb +0 -18
  93. data/lib/aws/cloud_search/errors.rb +0 -22
  94. data/lib/aws/cloud_trail.rb +0 -72
  95. data/lib/aws/cloud_trail/client.rb +0 -35
  96. data/lib/aws/cloud_trail/config.rb +0 -18
  97. data/lib/aws/cloud_trail/errors.rb +0 -22
  98. data/lib/aws/cloud_watch.rb +0 -118
  99. data/lib/aws/cloud_watch/alarm.rb +0 -290
  100. data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
  101. data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
  102. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
  103. data/lib/aws/cloud_watch/client.rb +0 -40
  104. data/lib/aws/cloud_watch/config.rb +0 -18
  105. data/lib/aws/cloud_watch/errors.rb +0 -22
  106. data/lib/aws/cloud_watch/metric.rb +0 -135
  107. data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
  108. data/lib/aws/cloud_watch/metric_collection.rb +0 -129
  109. data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
  110. data/lib/aws/core.rb +0 -701
  111. data/lib/aws/core/async_handle.rb +0 -90
  112. data/lib/aws/core/cacheable.rb +0 -77
  113. data/lib/aws/core/client.rb +0 -778
  114. data/lib/aws/core/collection.rb +0 -263
  115. data/lib/aws/core/collection/simple.rb +0 -82
  116. data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
  117. data/lib/aws/core/collection/with_next_token.rb +0 -97
  118. data/lib/aws/core/configuration.rb +0 -541
  119. data/lib/aws/core/credential_providers.rb +0 -506
  120. data/lib/aws/core/data.rb +0 -247
  121. data/lib/aws/core/deprecations.rb +0 -84
  122. data/lib/aws/core/endpoints.rb +0 -37
  123. data/lib/aws/core/http/connection_pool.rb +0 -349
  124. data/lib/aws/core/http/curb_handler.rb +0 -148
  125. data/lib/aws/core/http/handler.rb +0 -89
  126. data/lib/aws/core/http/net_http_handler.rb +0 -147
  127. data/lib/aws/core/http/patch.rb +0 -102
  128. data/lib/aws/core/http/request.rb +0 -249
  129. data/lib/aws/core/http/response.rb +0 -81
  130. data/lib/aws/core/indifferent_hash.rb +0 -88
  131. data/lib/aws/core/inflection.rb +0 -56
  132. data/lib/aws/core/json_client.rb +0 -47
  133. data/lib/aws/core/json_parser.rb +0 -76
  134. data/lib/aws/core/json_request_builder.rb +0 -35
  135. data/lib/aws/core/json_response_parser.rb +0 -79
  136. data/lib/aws/core/lazy_error_classes.rb +0 -90
  137. data/lib/aws/core/log_formatter.rb +0 -428
  138. data/lib/aws/core/managed_file.rb +0 -32
  139. data/lib/aws/core/meta_utils.rb +0 -45
  140. data/lib/aws/core/model.rb +0 -57
  141. data/lib/aws/core/naming.rb +0 -30
  142. data/lib/aws/core/option_grammar.rb +0 -738
  143. data/lib/aws/core/options/json_serializer.rb +0 -82
  144. data/lib/aws/core/options/validator.rb +0 -155
  145. data/lib/aws/core/options/xml_serializer.rb +0 -118
  146. data/lib/aws/core/page_result.rb +0 -75
  147. data/lib/aws/core/policy.rb +0 -942
  148. data/lib/aws/core/query_client.rb +0 -41
  149. data/lib/aws/core/query_error_parser.rb +0 -24
  150. data/lib/aws/core/query_request_builder.rb +0 -47
  151. data/lib/aws/core/query_response_parser.rb +0 -35
  152. data/lib/aws/core/region.rb +0 -85
  153. data/lib/aws/core/region_collection.rb +0 -80
  154. data/lib/aws/core/resource.rb +0 -413
  155. data/lib/aws/core/resource_cache.rb +0 -40
  156. data/lib/aws/core/response.rb +0 -211
  157. data/lib/aws/core/response_cache.rb +0 -50
  158. data/lib/aws/core/rest_error_parser.rb +0 -24
  159. data/lib/aws/core/rest_json_client.rb +0 -40
  160. data/lib/aws/core/rest_request_builder.rb +0 -154
  161. data/lib/aws/core/rest_response_parser.rb +0 -66
  162. data/lib/aws/core/rest_xml_client.rb +0 -47
  163. data/lib/aws/core/service_interface.rb +0 -83
  164. data/lib/aws/core/signers/base.rb +0 -46
  165. data/lib/aws/core/signers/cloud_front.rb +0 -56
  166. data/lib/aws/core/signers/s3.rb +0 -159
  167. data/lib/aws/core/signers/version_2.rb +0 -72
  168. data/lib/aws/core/signers/version_3.rb +0 -86
  169. data/lib/aws/core/signers/version_3_https.rb +0 -61
  170. data/lib/aws/core/signers/version_4.rb +0 -228
  171. data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
  172. data/lib/aws/core/uri_escape.rb +0 -44
  173. data/lib/aws/core/xml/frame.rb +0 -244
  174. data/lib/aws/core/xml/frame_stack.rb +0 -85
  175. data/lib/aws/core/xml/grammar.rb +0 -306
  176. data/lib/aws/core/xml/parser.rb +0 -70
  177. data/lib/aws/core/xml/root_frame.rb +0 -65
  178. data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
  179. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
  180. data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
  181. data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
  182. data/lib/aws/core/xml/stub.rb +0 -123
  183. data/lib/aws/data_pipeline.rb +0 -72
  184. data/lib/aws/data_pipeline/client.rb +0 -36
  185. data/lib/aws/data_pipeline/config.rb +0 -18
  186. data/lib/aws/data_pipeline/errors.rb +0 -20
  187. data/lib/aws/direct_connect.rb +0 -73
  188. data/lib/aws/direct_connect/client.rb +0 -36
  189. data/lib/aws/direct_connect/config.rb +0 -18
  190. data/lib/aws/direct_connect/errors.rb +0 -22
  191. data/lib/aws/dynamo_db.rb +0 -214
  192. data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
  193. data/lib/aws/dynamo_db/batch_get.rb +0 -213
  194. data/lib/aws/dynamo_db/batch_write.rb +0 -252
  195. data/lib/aws/dynamo_db/binary.rb +0 -35
  196. data/lib/aws/dynamo_db/client.rb +0 -129
  197. data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
  198. data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
  199. data/lib/aws/dynamo_db/client_v2.rb +0 -44
  200. data/lib/aws/dynamo_db/config.rb +0 -24
  201. data/lib/aws/dynamo_db/errors.rb +0 -20
  202. data/lib/aws/dynamo_db/expectations.rb +0 -40
  203. data/lib/aws/dynamo_db/item.rb +0 -133
  204. data/lib/aws/dynamo_db/item_collection.rb +0 -856
  205. data/lib/aws/dynamo_db/item_data.rb +0 -31
  206. data/lib/aws/dynamo_db/keys.rb +0 -41
  207. data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
  208. data/lib/aws/dynamo_db/resource.rb +0 -33
  209. data/lib/aws/dynamo_db/table.rb +0 -496
  210. data/lib/aws/dynamo_db/table_collection.rb +0 -165
  211. data/lib/aws/dynamo_db/types.rb +0 -111
  212. data/lib/aws/ec2.rb +0 -428
  213. data/lib/aws/ec2/attachment.rb +0 -135
  214. data/lib/aws/ec2/attachment_collection.rb +0 -54
  215. data/lib/aws/ec2/availability_zone.rb +0 -86
  216. data/lib/aws/ec2/availability_zone_collection.rb +0 -43
  217. data/lib/aws/ec2/block_device_mappings.rb +0 -53
  218. data/lib/aws/ec2/client.rb +0 -101
  219. data/lib/aws/ec2/collection.rb +0 -36
  220. data/lib/aws/ec2/config.rb +0 -30
  221. data/lib/aws/ec2/customer_gateway.rb +0 -90
  222. data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
  223. data/lib/aws/ec2/dhcp_options.rb +0 -106
  224. data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
  225. data/lib/aws/ec2/elastic_ip.rb +0 -209
  226. data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
  227. data/lib/aws/ec2/errors.rb +0 -32
  228. data/lib/aws/ec2/export_task.rb +0 -120
  229. data/lib/aws/ec2/export_task_collection.rb +0 -67
  230. data/lib/aws/ec2/filtered_collection.rb +0 -87
  231. data/lib/aws/ec2/has_permissions.rb +0 -44
  232. data/lib/aws/ec2/image.rb +0 -270
  233. data/lib/aws/ec2/image_collection.rb +0 -220
  234. data/lib/aws/ec2/instance.rb +0 -803
  235. data/lib/aws/ec2/instance_collection.rb +0 -391
  236. data/lib/aws/ec2/internet_gateway.rb +0 -122
  237. data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
  238. data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
  239. data/lib/aws/ec2/key_pair.rb +0 -82
  240. data/lib/aws/ec2/key_pair_collection.rb +0 -99
  241. data/lib/aws/ec2/network_acl.rb +0 -256
  242. data/lib/aws/ec2/network_acl/association.rb +0 -56
  243. data/lib/aws/ec2/network_acl/entry.rb +0 -147
  244. data/lib/aws/ec2/network_acl_collection.rb +0 -64
  245. data/lib/aws/ec2/network_interface.rb +0 -237
  246. data/lib/aws/ec2/network_interface/attachment.rb +0 -100
  247. data/lib/aws/ec2/network_interface_collection.rb +0 -103
  248. data/lib/aws/ec2/permission_collection.rb +0 -174
  249. data/lib/aws/ec2/region.rb +0 -106
  250. data/lib/aws/ec2/region_collection.rb +0 -51
  251. data/lib/aws/ec2/reserved_instances.rb +0 -56
  252. data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
  253. data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
  254. data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
  255. data/lib/aws/ec2/resource.rb +0 -161
  256. data/lib/aws/ec2/resource_tag_collection.rb +0 -211
  257. data/lib/aws/ec2/route_table.rb +0 -205
  258. data/lib/aws/ec2/route_table/association.rb +0 -119
  259. data/lib/aws/ec2/route_table/route.rb +0 -119
  260. data/lib/aws/ec2/route_table_collection.rb +0 -72
  261. data/lib/aws/ec2/security_group.rb +0 -482
  262. data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
  263. data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
  264. data/lib/aws/ec2/security_group_collection.rb +0 -133
  265. data/lib/aws/ec2/snapshot.rb +0 -143
  266. data/lib/aws/ec2/snapshot_collection.rb +0 -131
  267. data/lib/aws/ec2/subnet.rb +0 -161
  268. data/lib/aws/ec2/subnet_collection.rb +0 -115
  269. data/lib/aws/ec2/tag.rb +0 -81
  270. data/lib/aws/ec2/tag_collection.rb +0 -107
  271. data/lib/aws/ec2/tagged_collection.rb +0 -53
  272. data/lib/aws/ec2/tagged_item.rb +0 -85
  273. data/lib/aws/ec2/volume.rb +0 -174
  274. data/lib/aws/ec2/volume_collection.rb +0 -98
  275. data/lib/aws/ec2/vpc.rb +0 -166
  276. data/lib/aws/ec2/vpc_collection.rb +0 -70
  277. data/lib/aws/ec2/vpn_connection.rb +0 -99
  278. data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
  279. data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
  280. data/lib/aws/ec2/vpn_gateway.rb +0 -123
  281. data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
  282. data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
  283. data/lib/aws/elastic_beanstalk.rb +0 -49
  284. data/lib/aws/elastic_beanstalk/client.rb +0 -36
  285. data/lib/aws/elastic_beanstalk/config.rb +0 -18
  286. data/lib/aws/elastic_beanstalk/errors.rb +0 -22
  287. data/lib/aws/elastic_transcoder.rb +0 -29
  288. data/lib/aws/elastic_transcoder/client.rb +0 -48
  289. data/lib/aws/elastic_transcoder/config.rb +0 -18
  290. data/lib/aws/elastic_transcoder/errors.rb +0 -23
  291. data/lib/aws/elasticache.rb +0 -49
  292. data/lib/aws/elasticache/client.rb +0 -35
  293. data/lib/aws/elasticache/config.rb +0 -18
  294. data/lib/aws/elasticache/errors.rb +0 -22
  295. data/lib/aws/elb.rb +0 -66
  296. data/lib/aws/elb/availability_zone_collection.rb +0 -138
  297. data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
  298. data/lib/aws/elb/client.rb +0 -35
  299. data/lib/aws/elb/config.rb +0 -18
  300. data/lib/aws/elb/errors.rb +0 -26
  301. data/lib/aws/elb/instance_collection.rb +0 -168
  302. data/lib/aws/elb/listener.rb +0 -190
  303. data/lib/aws/elb/listener_collection.rb +0 -113
  304. data/lib/aws/elb/listener_opts.rb +0 -45
  305. data/lib/aws/elb/load_balancer.rb +0 -280
  306. data/lib/aws/elb/load_balancer_collection.rb +0 -146
  307. data/lib/aws/elb/load_balancer_policy.rb +0 -93
  308. data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
  309. data/lib/aws/emr.rb +0 -87
  310. data/lib/aws/emr/client.rb +0 -35
  311. data/lib/aws/emr/config.rb +0 -18
  312. data/lib/aws/emr/errors.rb +0 -22
  313. data/lib/aws/emr/instance_group.rb +0 -138
  314. data/lib/aws/emr/instance_group_collection.rb +0 -82
  315. data/lib/aws/emr/job_flow.rb +0 -307
  316. data/lib/aws/emr/job_flow_collection.rb +0 -185
  317. data/lib/aws/errors.rb +0 -162
  318. data/lib/aws/glacier.rb +0 -79
  319. data/lib/aws/glacier/archive.rb +0 -56
  320. data/lib/aws/glacier/archive_collection.rb +0 -146
  321. data/lib/aws/glacier/client.rb +0 -49
  322. data/lib/aws/glacier/config.rb +0 -19
  323. data/lib/aws/glacier/errors.rb +0 -22
  324. data/lib/aws/glacier/resource.rb +0 -30
  325. data/lib/aws/glacier/vault.rb +0 -145
  326. data/lib/aws/glacier/vault_collection.rb +0 -75
  327. data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
  328. data/lib/aws/iam.rb +0 -408
  329. data/lib/aws/iam/access_key.rb +0 -185
  330. data/lib/aws/iam/access_key_collection.rb +0 -128
  331. data/lib/aws/iam/account_alias_collection.rb +0 -79
  332. data/lib/aws/iam/client.rb +0 -49
  333. data/lib/aws/iam/collection.rb +0 -83
  334. data/lib/aws/iam/config.rb +0 -18
  335. data/lib/aws/iam/errors.rb +0 -22
  336. data/lib/aws/iam/group.rb +0 -111
  337. data/lib/aws/iam/group_collection.rb +0 -132
  338. data/lib/aws/iam/group_policy_collection.rb +0 -47
  339. data/lib/aws/iam/group_user_collection.rb +0 -84
  340. data/lib/aws/iam/login_profile.rb +0 -99
  341. data/lib/aws/iam/mfa_device.rb +0 -52
  342. data/lib/aws/iam/mfa_device_collection.rb +0 -127
  343. data/lib/aws/iam/policy.rb +0 -46
  344. data/lib/aws/iam/policy_collection.rb +0 -188
  345. data/lib/aws/iam/resource.rb +0 -62
  346. data/lib/aws/iam/server_certificate.rb +0 -141
  347. data/lib/aws/iam/server_certificate_collection.rb +0 -138
  348. data/lib/aws/iam/signing_certificate.rb +0 -174
  349. data/lib/aws/iam/signing_certificate_collection.rb +0 -131
  350. data/lib/aws/iam/user.rb +0 -200
  351. data/lib/aws/iam/user_collection.rb +0 -133
  352. data/lib/aws/iam/user_group_collection.rb +0 -98
  353. data/lib/aws/iam/user_policy.rb +0 -90
  354. data/lib/aws/iam/user_policy_collection.rb +0 -45
  355. data/lib/aws/iam/virtual_mfa_device.rb +0 -139
  356. data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
  357. data/lib/aws/import_export.rb +0 -73
  358. data/lib/aws/import_export/client.rb +0 -35
  359. data/lib/aws/import_export/config.rb +0 -19
  360. data/lib/aws/import_export/errors.rb +0 -22
  361. data/lib/aws/kinesis.rb +0 -53
  362. data/lib/aws/kinesis/client.rb +0 -35
  363. data/lib/aws/kinesis/config.rb +0 -18
  364. data/lib/aws/kinesis/errors.rb +0 -20
  365. data/lib/aws/ops_works.rb +0 -29
  366. data/lib/aws/ops_works/client.rb +0 -35
  367. data/lib/aws/ops_works/config.rb +0 -18
  368. data/lib/aws/ops_works/errors.rb +0 -20
  369. data/lib/aws/rails.rb +0 -195
  370. data/lib/aws/rds.rb +0 -70
  371. data/lib/aws/rds/client.rb +0 -42
  372. data/lib/aws/rds/config.rb +0 -18
  373. data/lib/aws/rds/db_instance.rb +0 -216
  374. data/lib/aws/rds/db_instance_collection.rb +0 -75
  375. data/lib/aws/rds/db_snapshot.rb +0 -163
  376. data/lib/aws/rds/db_snapshot_collection.rb +0 -89
  377. data/lib/aws/rds/errors.rb +0 -22
  378. data/lib/aws/record.rb +0 -139
  379. data/lib/aws/record/abstract_base.rb +0 -690
  380. data/lib/aws/record/attributes.rb +0 -388
  381. data/lib/aws/record/conversion.rb +0 -38
  382. data/lib/aws/record/dirty_tracking.rb +0 -287
  383. data/lib/aws/record/errors.rb +0 -143
  384. data/lib/aws/record/exceptions.rb +0 -51
  385. data/lib/aws/record/hash_model.rb +0 -204
  386. data/lib/aws/record/hash_model/attributes.rb +0 -195
  387. data/lib/aws/record/hash_model/finder_methods.rb +0 -172
  388. data/lib/aws/record/hash_model/scope.rb +0 -108
  389. data/lib/aws/record/model.rb +0 -453
  390. data/lib/aws/record/model/attributes.rb +0 -377
  391. data/lib/aws/record/model/finder_methods.rb +0 -232
  392. data/lib/aws/record/model/scope.rb +0 -212
  393. data/lib/aws/record/naming.rb +0 -31
  394. data/lib/aws/record/scope.rb +0 -203
  395. data/lib/aws/record/validations.rb +0 -694
  396. data/lib/aws/record/validator.rb +0 -246
  397. data/lib/aws/record/validators/acceptance.rb +0 -49
  398. data/lib/aws/record/validators/block.rb +0 -36
  399. data/lib/aws/record/validators/confirmation.rb +0 -41
  400. data/lib/aws/record/validators/count.rb +0 -106
  401. data/lib/aws/record/validators/exclusion.rb +0 -41
  402. data/lib/aws/record/validators/format.rb +0 -55
  403. data/lib/aws/record/validators/inclusion.rb +0 -54
  404. data/lib/aws/record/validators/length.rb +0 -105
  405. data/lib/aws/record/validators/method.rb +0 -31
  406. data/lib/aws/record/validators/numericality.rb +0 -136
  407. data/lib/aws/record/validators/presence.rb +0 -43
  408. data/lib/aws/redshift.rb +0 -51
  409. data/lib/aws/redshift/client.rb +0 -35
  410. data/lib/aws/redshift/config.rb +0 -18
  411. data/lib/aws/redshift/errors.rb +0 -22
  412. data/lib/aws/route_53.rb +0 -86
  413. data/lib/aws/route_53/change_batch.rb +0 -161
  414. data/lib/aws/route_53/change_info.rb +0 -72
  415. data/lib/aws/route_53/client.rb +0 -35
  416. data/lib/aws/route_53/config.rb +0 -18
  417. data/lib/aws/route_53/errors.rb +0 -22
  418. data/lib/aws/route_53/hosted_zone.rb +0 -111
  419. data/lib/aws/route_53/hosted_zone_collection.rb +0 -100
  420. data/lib/aws/route_53/resource_record_set.rb +0 -251
  421. data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
  422. data/lib/aws/s3.rb +0 -156
  423. data/lib/aws/s3/access_control_list.rb +0 -265
  424. data/lib/aws/s3/acl_object.rb +0 -264
  425. data/lib/aws/s3/acl_options.rb +0 -204
  426. data/lib/aws/s3/bucket.rb +0 -742
  427. data/lib/aws/s3/bucket_collection.rb +0 -162
  428. data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -457
  429. data/lib/aws/s3/bucket_tag_collection.rb +0 -111
  430. data/lib/aws/s3/bucket_version_collection.rb +0 -79
  431. data/lib/aws/s3/cipher_io.rb +0 -120
  432. data/lib/aws/s3/client.rb +0 -1919
  433. data/lib/aws/s3/client/xml.rb +0 -259
  434. data/lib/aws/s3/config.rb +0 -48
  435. data/lib/aws/s3/cors_rule.rb +0 -108
  436. data/lib/aws/s3/cors_rule_collection.rb +0 -194
  437. data/lib/aws/s3/data_options.rb +0 -191
  438. data/lib/aws/s3/encryption_utils.rb +0 -146
  439. data/lib/aws/s3/errors.rb +0 -94
  440. data/lib/aws/s3/multipart_upload.rb +0 -351
  441. data/lib/aws/s3/multipart_upload_collection.rb +0 -76
  442. data/lib/aws/s3/object_collection.rb +0 -353
  443. data/lib/aws/s3/object_metadata.rb +0 -103
  444. data/lib/aws/s3/object_upload_collection.rb +0 -77
  445. data/lib/aws/s3/object_version.rb +0 -154
  446. data/lib/aws/s3/object_version_collection.rb +0 -89
  447. data/lib/aws/s3/paginated_collection.rb +0 -75
  448. data/lib/aws/s3/policy.rb +0 -74
  449. data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
  450. data/lib/aws/s3/prefixed_collection.rb +0 -85
  451. data/lib/aws/s3/presign_v4.rb +0 -127
  452. data/lib/aws/s3/presigned_post.rb +0 -554
  453. data/lib/aws/s3/request.rb +0 -62
  454. data/lib/aws/s3/s3_object.rb +0 -1781
  455. data/lib/aws/s3/tree.rb +0 -116
  456. data/lib/aws/s3/tree/branch_node.rb +0 -68
  457. data/lib/aws/s3/tree/child_collection.rb +0 -104
  458. data/lib/aws/s3/tree/leaf_node.rb +0 -94
  459. data/lib/aws/s3/tree/node.rb +0 -22
  460. data/lib/aws/s3/tree/parent.rb +0 -87
  461. data/lib/aws/s3/uploaded_part.rb +0 -82
  462. data/lib/aws/s3/uploaded_part_collection.rb +0 -84
  463. data/lib/aws/s3/website_configuration.rb +0 -102
  464. data/lib/aws/simple_db.rb +0 -218
  465. data/lib/aws/simple_db/attribute.rb +0 -156
  466. data/lib/aws/simple_db/attribute_collection.rb +0 -240
  467. data/lib/aws/simple_db/client.rb +0 -67
  468. data/lib/aws/simple_db/config.rb +0 -20
  469. data/lib/aws/simple_db/consistent_read_option.rb +0 -42
  470. data/lib/aws/simple_db/delete_attributes.rb +0 -62
  471. data/lib/aws/simple_db/domain.rb +0 -123
  472. data/lib/aws/simple_db/domain_collection.rb +0 -86
  473. data/lib/aws/simple_db/domain_metadata.rb +0 -110
  474. data/lib/aws/simple_db/errors.rb +0 -55
  475. data/lib/aws/simple_db/expect_condition_option.rb +0 -45
  476. data/lib/aws/simple_db/item.rb +0 -93
  477. data/lib/aws/simple_db/item_collection.rb +0 -654
  478. data/lib/aws/simple_db/item_data.rb +0 -73
  479. data/lib/aws/simple_db/put_attributes.rb +0 -60
  480. data/lib/aws/simple_email_service.rb +0 -430
  481. data/lib/aws/simple_email_service/client.rb +0 -37
  482. data/lib/aws/simple_email_service/config.rb +0 -18
  483. data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
  484. data/lib/aws/simple_email_service/errors.rb +0 -22
  485. data/lib/aws/simple_email_service/identity.rb +0 -209
  486. data/lib/aws/simple_email_service/identity_collection.rb +0 -81
  487. data/lib/aws/simple_email_service/quotas.rb +0 -66
  488. data/lib/aws/simple_workflow.rb +0 -227
  489. data/lib/aws/simple_workflow/activity_task.rb +0 -178
  490. data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
  491. data/lib/aws/simple_workflow/activity_type.rb +0 -131
  492. data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
  493. data/lib/aws/simple_workflow/client.rb +0 -69
  494. data/lib/aws/simple_workflow/config.rb +0 -18
  495. data/lib/aws/simple_workflow/count.rb +0 -49
  496. data/lib/aws/simple_workflow/decision_task.rb +0 -603
  497. data/lib/aws/simple_workflow/decision_task_collection.rb +0 -225
  498. data/lib/aws/simple_workflow/domain.rb +0 -122
  499. data/lib/aws/simple_workflow/domain_collection.rb +0 -169
  500. data/lib/aws/simple_workflow/errors.rb +0 -20
  501. data/lib/aws/simple_workflow/history_event.rb +0 -276
  502. data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
  503. data/lib/aws/simple_workflow/option_formatters.rb +0 -82
  504. data/lib/aws/simple_workflow/resource.rb +0 -94
  505. data/lib/aws/simple_workflow/type.rb +0 -89
  506. data/lib/aws/simple_workflow/type_collection.rb +0 -140
  507. data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
  508. data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
  509. data/lib/aws/simple_workflow/workflow_type.rb +0 -179
  510. data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
  511. data/lib/aws/sns.rb +0 -76
  512. data/lib/aws/sns/client.rb +0 -35
  513. data/lib/aws/sns/config.rb +0 -18
  514. data/lib/aws/sns/errors.rb +0 -22
  515. data/lib/aws/sns/has_delivery_policy.rb +0 -68
  516. data/lib/aws/sns/message.rb +0 -194
  517. data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
  518. data/lib/aws/sns/policy.rb +0 -47
  519. data/lib/aws/sns/subscription.rb +0 -165
  520. data/lib/aws/sns/subscription_collection.rb +0 -78
  521. data/lib/aws/sns/topic.rb +0 -403
  522. data/lib/aws/sns/topic_collection.rb +0 -62
  523. data/lib/aws/sns/topic_subscription_collection.rb +0 -54
  524. data/lib/aws/sqs.rb +0 -80
  525. data/lib/aws/sqs/client.rb +0 -53
  526. data/lib/aws/sqs/config.rb +0 -20
  527. data/lib/aws/sqs/errors.rb +0 -125
  528. data/lib/aws/sqs/policy.rb +0 -48
  529. data/lib/aws/sqs/queue.rb +0 -843
  530. data/lib/aws/sqs/queue_collection.rb +0 -182
  531. data/lib/aws/sqs/received_message.rb +0 -182
  532. data/lib/aws/sqs/received_sns_message.rb +0 -116
  533. data/lib/aws/storage_gateway.rb +0 -72
  534. data/lib/aws/storage_gateway/client.rb +0 -42
  535. data/lib/aws/storage_gateway/config.rb +0 -18
  536. data/lib/aws/storage_gateway/errors.rb +0 -22
  537. data/lib/aws/sts.rb +0 -164
  538. data/lib/aws/sts/client.rb +0 -46
  539. data/lib/aws/sts/config.rb +0 -18
  540. data/lib/aws/sts/errors.rb +0 -22
  541. data/lib/aws/sts/federated_session.rb +0 -56
  542. data/lib/aws/sts/policy.rb +0 -30
  543. data/lib/aws/sts/session.rb +0 -48
  544. data/lib/aws/support.rb +0 -29
  545. data/lib/aws/support/client.rb +0 -35
  546. data/lib/aws/support/config.rb +0 -18
  547. data/lib/aws/support/errors.rb +0 -20
  548. data/lib/aws/version.rb +0 -17
  549. data/rails/init.rb +0 -15
@@ -1,377 +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
- module Record
16
- class Model
17
-
18
- module Attributes
19
-
20
- class BooleanAttr < Record::Attributes::BooleanAttr
21
- def self.serialize boolean, options = {}
22
- super.to_s
23
- end
24
- end
25
-
26
- class IntegerAttr < Record::Attributes::IntegerAttr
27
- def self.serialize integer, options = {}
28
- super.to_s
29
- end
30
- end
31
-
32
- class FloatAttr < Record::Attributes::FloatAttr
33
- def self.serialize float, options = {}
34
- super.to_s
35
- end
36
- end
37
-
38
- class SortableIntegerAttr < IntegerAttr
39
-
40
- def initialize name, options = {}
41
- range = options[:range]
42
- raise ArgumentError, "missing required option :range" unless range
43
- raise ArgumentError, ":range should be a integer range" unless
44
- range.is_a?(Range) and range.first.is_a?(Integer)
45
- super(name, options)
46
- end
47
-
48
- # Returns a serialized representation of the integer value suitable for
49
- # storing in SimpleDB.
50
- #
51
- # attribute.serialize(123)
52
- # #=> '123'
53
- #
54
- # # padded to the correct number of digits
55
- # attribute.serialize('123', :range => (0..10_000)
56
- # #=> '00123'
57
- #
58
- # # offset applied to make all values positive
59
- # attribute.serialize('-55', :range => (-100..10_000)
60
- # #=> '00045'
61
- #
62
- # @param [Integer] integer The number to serialize.
63
- # @param [Hash] options
64
- # @option options [required,Range] :range A range that represents the
65
- # minimum and maximum values this integer can be.
66
- # The returned value will have an offset applied (if min is
67
- # less than 0) and will be zero padded.
68
- # @return [String] A serialized representation of the integer.
69
- def self.serialize integer, options = {}
70
- expect(Integer, integer) do
71
- check_range(integer, options)
72
- offset_and_precision(options) do |offset,precision|
73
- "%0#{precision}d" % (integer.to_i + offset)
74
- end
75
- end
76
- end
77
-
78
- def self.deserialize string_value, options = {}
79
- offset_and_precision(options) do |offset,precision|
80
- string_value.to_i - offset
81
- end
82
- end
83
-
84
- protected
85
- def self.offset_and_precision options, &block
86
-
87
- min = options[:range].first
88
- max = options[:range].last
89
-
90
- offset = min < 0 ? min * -1 : 0
91
- precision = (max + offset).to_s.length
92
-
93
- yield(offset, precision)
94
-
95
- end
96
-
97
- def self.check_range number, options
98
- unless options[:range].include?(number)
99
- msg = "unable to serialize `#{number}`, falls outside " +
100
- "the range #{options[:range]}"
101
- raise msg
102
- end
103
- end
104
-
105
- end
106
-
107
- class SortableFloatAttr < FloatAttr
108
-
109
- def initialize name, options = {}
110
- range = options[:range]
111
- raise ArgumentError, "missing required option :range" unless range
112
- raise ArgumentError, ":range should be an integer range" unless
113
- range.is_a?(Range) and range.first.is_a?(Integer)
114
- super(name, options)
115
- end
116
-
117
- def self.serialize float, options = {}
118
- expect(Float, float) do
119
- left, right = float.to_s.split('.')
120
- left = SortableIntegerAttr.serialize(left.to_i, options)
121
- SortableIntegerAttr.check_range(float, options)
122
- "#{left}.#{right}"
123
- end
124
- end
125
-
126
- def self.deserialize string_value, options = {}
127
- expect(String, string_value) do
128
- left, right = string_value.split('.')
129
- left = SortableIntegerAttr.deserialize(left, options)
130
- "#{left}.#{right}".to_f
131
- end
132
- end
133
-
134
- end
135
-
136
- end
137
-
138
- class << self
139
-
140
- # Adds a string attribute to this class.
141
- #
142
- # @example A standard string attribute
143
- #
144
- # class Recipe < AWS::Record::Model
145
- # string_attr :name
146
- # end
147
- #
148
- # recipe = Recipe.new(:name => "Buttermilk Pancakes")
149
- # recipe.name #=> 'Buttermilk Pancakes'
150
- #
151
- # @example A string attribute with `:set` set to true
152
- #
153
- # class Recipe < AWS::Record::Model
154
- # string_attr :tags, :set => true
155
- # end
156
- #
157
- # recipe = Recipe.new(:tags => %w(popular dessert))
158
- # recipe.tags #=> #<Set: {"popular", "desert"}>
159
- #
160
- # @param [Symbol] name The name of the attribute.
161
- # @param [Hash] options
162
- # @option options [Boolean] :set (false) When true this attribute
163
- # can have multiple values.
164
- def string_attr name, options = {}
165
- add_attribute(Record::Attributes::StringAttr.new(name, options))
166
- end
167
-
168
- # Adds an integer attribute to this class.
169
- #
170
- # class Recipe < AWS::Record::Model
171
- # integer_attr :servings
172
- # end
173
- #
174
- # recipe = Recipe.new(:servings => '10')
175
- # recipe.servings #=> 10
176
- #
177
- # @param [Symbol] name The name of the attribute.
178
- # @param [Hash] options
179
- # @option options [Boolean] :set (false) When true this attribute
180
- # can have multiple values.
181
- def integer_attr name, options = {}
182
- add_attribute(Attributes::IntegerAttr.new(name, options))
183
- end
184
-
185
- # Adds a sortable integer attribute to this class.
186
- #
187
- # class Person < AWS::Record::Model
188
- # sortable_integer_attr :age, :range => 0..150
189
- # end
190
- #
191
- # person = Person.new(:age => 10)
192
- # person.age #=> 10
193
- #
194
- # ### Validations
195
- #
196
- # It is recomended to apply a validates_numericality_of with
197
- # minimum and maximum value constraints. If a value is assigned
198
- # to a sortable integer that falls outside of the +:range: it will
199
- # raise a runtime error when the record is saved.
200
- #
201
- # ### Difference Between Sortable an Regular Integer Attributes
202
- #
203
- # Because SimpleDB does not support numeric types, all values must
204
- # be converted to strings. This complicates sorting by numeric values.
205
- # To accomplish sorting numeric attributes the values must be
206
- # zero padded and have an offset applied to eliminate negative values.
207
- #
208
- # @param [Symbol] name The name of the attribute.
209
- # @param [Hash] options
210
- # @option options [Range] :range A numeric range the represents the
211
- # minimum and maximum values this attribute should accept.
212
- # @option options [Boolean] :set (false) When true this attribute
213
- # can have multiple values.
214
- def sortable_integer_attr name, options = {}
215
- add_attribute(Attributes::SortableIntegerAttr.new(name, options))
216
- end
217
-
218
- # Adds a float attribute to this class.
219
- #
220
- # class Listing < AWS::Record::Model
221
- # float_attr :score
222
- # end
223
- #
224
- # listing = Listing.new(:score => '123.456')
225
- # listing.score # => 123.456
226
- #
227
- # @param [Symbol] name The name of the attribute.
228
- # @param [Hash] options
229
- # @option options [Boolean] :set (false) When true this attribute
230
- # can have multiple values.
231
- def float_attr name, options = {}
232
- add_attribute(Attributes::FloatAttr.new(name, options))
233
- end
234
-
235
- # Adds sortable float attribute to this class.
236
- #
237
- # Persisted values are stored (and sorted) as strings. This makes it
238
- # more difficult to sort numbers because they don't sort
239
- # lexicographically unless they have been offset to be positive and
240
- # then zero padded.
241
- #
242
- # ### Postive Floats
243
- #
244
- # To store floats in a sort-friendly manor:
245
- #
246
- # sortable_float_attr :score, :range => (0..10)
247
- #
248
- # This will cause values like 5.5 to persist as a string like '05.5' so
249
- # that they can be sorted lexicographically.
250
- #
251
- # ### Negative Floats
252
- #
253
- # If you need to store negative sortable floats, increase your `:range`
254
- # to include a negative value.
255
- #
256
- # sortable_float_attr :position, :range => (-10..10)
257
- #
258
- # AWS::Record will add 10 to all values and zero pad them
259
- # (e.g. -10.0 will be represented as '00.0' and 10 will be represented as
260
- # '20.0'). This will allow the values to be compared lexicographically.
261
- #
262
- # @note If you change the `:range` after some values have been persisted
263
- # you must also manually migrate all of the old values to have the
264
- # correct padding & offset or they will be interpreted differently.
265
- #
266
- # @param [Symbol] name The name of the attribute.
267
- # @param [Hash] options
268
- # @option options [Range] :range The range of numbers this attribute
269
- # should represent. The min and max values of this range will determine
270
- # how many digits of precision are required and how much of an offset
271
- # is required to make the numbers sort lexicographically.
272
- # @option options [Boolean] :set (false) When true this attribute
273
- # can have multiple values.
274
- def sortable_float_attr name, options = {}
275
- add_attribute(Attributes::SortableFloatAttr.new(name, options))
276
- end
277
-
278
- # Adds a boolean attribute to this class.
279
- #
280
- # @example
281
- #
282
- # class Book < AWS::Record::Model
283
- # boolean_attr :read
284
- # end
285
- #
286
- # b = Book.new
287
- # b.read? # => false
288
- # b.read = true
289
- # b.read? # => true
290
- #
291
- # listing = Listing.new(:score => '123.456'
292
- # listing.score # => 123.456
293
- #
294
- # @param [Symbol] name The name of the attribute.
295
- def boolean_attr name, options = {}
296
-
297
- attr = add_attribute(Attributes::BooleanAttr.new(name, options))
298
-
299
- # add the boolean question mark method
300
- define_method("#{attr.name}?") do
301
- !!__send__(attr.name)
302
- end
303
-
304
- end
305
-
306
- # Adds a datetime attribute to this class.
307
- #
308
- # @example A standard datetime attribute
309
- #
310
- # class Recipe < AWS::Record::Model
311
- # datetime_attr :invented
312
- # end
313
- #
314
- # recipe = Recipe.new(:invented => Time.now)
315
- # recipe.invented #=> <DateTime ...>
316
- #
317
- # If you add a datetime_attr for `:created_at` and/or `:updated_at` those
318
- # will be automanaged.
319
- #
320
- # @param [Symbol] name The name of the attribute.
321
- #
322
- # @param [Hash] options
323
- #
324
- # @option options [Boolean] :set (false) When true this attribute
325
- # can have multiple date times.
326
- #
327
- def datetime_attr name, options = {}
328
- add_attribute(Record::Attributes::DateTimeAttr.new(name, options))
329
- end
330
-
331
- # Adds a date attribute to this class.
332
- #
333
- # @example A standard date attribute
334
- #
335
- # class Person < AWS::Record::Model
336
- # date_attr :birthdate
337
- # end
338
- #
339
- # baby = Person.new
340
- # baby.birthdate = Time.now
341
- # baby.birthdate #=> <Date: ....>
342
- #
343
- # @param [Symbol] name The name of the attribute.
344
- #
345
- # @param [Hash] options
346
- #
347
- # @option options [Boolean] :set (false) When true this attribute
348
- # can have multiple dates.
349
- #
350
- def date_attr name, options = {}
351
- add_attribute(Record::Attributes::DateAttr.new(name, options))
352
- end
353
-
354
- # A convenience method for adding the standard two datetime attributes
355
- # `:created_at` and `:updated_at`.
356
- #
357
- # @example
358
- #
359
- # class Recipe < AWS::Record::Model
360
- # timestamps
361
- # end
362
- #
363
- # recipe = Recipe.new
364
- # recipe.save
365
- # recipe.created_at #=> <DateTime ...>
366
- # recipe.updated_at #=> <DateTime ...>
367
- #
368
- def timestamps
369
- c = datetime_attr :created_at
370
- u = datetime_attr :updated_at
371
- [c, u]
372
- end
373
-
374
- end
375
- end
376
- end
377
- end
@@ -1,232 +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
- module Record
16
- class Model
17
- class << self
18
-
19
- # @param [String] id The id of the record to load.
20
- # @param [Hash] options
21
- # @option options [String] :shard Specifies what shard (i.e. domain)
22
- # should be searched.
23
- # @raise [RecordNotFound] Raises a record not found exception if there
24
- # was no data found for the given id.
25
- # @return [Record::HashModel] Returns the record with the given id.
26
- def find_by_id id, options = {}
27
-
28
- domain = sdb_domain(options[:shard] || options[:domain])
29
-
30
- data = domain.items[id].data.attributes
31
-
32
- raise RecordNotFound, "no data found for id: #{id}" if data.empty?
33
-
34
- obj = self.new(:shard => domain)
35
- obj.send(:hydrate, id, data)
36
- obj
37
-
38
- end
39
- alias_method :[], :find_by_id
40
-
41
- # Finds records in SimpleDB and returns them as objects of the
42
- # current class.
43
- #
44
- # Finding `:all` returns an enumerable scope object
45
- #
46
- # People.find(:all, :order => [:age, :desc], :limit => 10).each do |person|
47
- # puts person.name
48
- # end
49
- #
50
- # Finding `:first` returns a single record (or nil)
51
- #
52
- # boss = People.find(:first, :where => { :boss => true })
53
- #
54
- # Find accepts a hash of find modifiers (`:where`, `:order` and
55
- # `:limit`). You can also choose to omit these modifiers and
56
- # chain them on the scope object returned. In the following
57
- # example only one request is made to SimpleDB (when #each is
58
- # called)
59
- #
60
- # people = People.find(:all)
61
- #
62
- # johns = people.where(:name => 'John Doe')
63
- #
64
- # johns.order(:age, :desc).limit(10).each do |suspects|
65
- # # ...
66
- # end
67
- #
68
- # See also {where}, {order} and {limit} for more
69
- # information and options.
70
- #
71
- # @overload find(id)
72
- # @param id The record to find, raises an exception if the record is
73
- # not found.
74
- #
75
- # @overload find(mode, options = {})
76
- # @param [:all,:first] mode (:all) When finding `:all` matching records
77
- # and array is returned of records. When finding `:first` then
78
- # `nil` or a single record will be returned.
79
- # @param [Hash] options
80
- # @option options [Mixed] :where Conditions that determine what
81
- # records are returned.
82
- # @option options [String,Array] :sort The order records should be
83
- # returned in.
84
- # @option options [Integer] :limit The max number of records to fetch.
85
- def find *args
86
- new_scope.find(*args)
87
- end
88
-
89
- # Returns a chainable scope object that restricts further scopes to a
90
- # particular domain.
91
- #
92
- # Book.domain('books-2').each do |book|
93
- # # ...
94
- # end
95
- #
96
- # @param [String] shard_name
97
- # @return [Scope] Returns a scope for restricting the domain of subsequent
98
- def shard shard_name
99
- new_scope.shard(shard_name)
100
- end
101
- alias_method :domain, :shard
102
-
103
- # Returns an enumerable scope object represents all records.
104
- #
105
- # Book.all.each do |book|
106
- # # ...
107
- # end
108
- #
109
- # This method is equivalent to `find(:all)`, and therefore you can also
110
- # pass aditional options. See {.find} for more information on what
111
- # options you can pass.
112
- #
113
- # Book.all(:where => { :author' => 'me' }).each do |my_book|
114
- # # ...
115
- # end
116
- #
117
- # @return [Scope] Returns an enumerable scope object.
118
- def all options = {}
119
- new_scope.find(:all, options)
120
- end
121
-
122
- # Yields once for each record.
123
- def each &block
124
- all.each(&block)
125
- end
126
-
127
- # Counts records in SimpleDB.
128
- #
129
- # With no arguments, counts all records:
130
- #
131
- # People.count
132
- #
133
- # Accepts query options to count a subset of records:
134
- #
135
- # People.count(:where => { :boss => true })
136
- #
137
- # You can also count records on a scope object:
138
- #
139
- # People.find(:all).where(:boss => true).count
140
- #
141
- # See {find} and {Scope#count} for more details.
142
- #
143
- # @param [Hash] options (<code>{}</code>) Options for counting
144
- # records.
145
- #
146
- # @option options [Mixed] :where Conditions that determine what
147
- # records are counted.
148
- # @option options [Integer] :limit The max number of records to count.
149
- def count(options = {})
150
- new_scope.count(options)
151
- end
152
- alias_method :size, :count
153
-
154
- # @return [Object,nil] Returns the first record found. If there were
155
- # no records found, nil is returned.
156
- def first options = {}
157
- new_scope.first(options)
158
- end
159
-
160
- # Limits which records are retried from SimpleDB when performing a find.
161
- #
162
- # Simple string condition
163
- #
164
- # Car.where('color = "red" or color = "blue"').each {|car| ... }
165
- #
166
- # String with placeholders for quoting params
167
- #
168
- # Car.where('color = ?', 'red')
169
- #
170
- # Car.where('color = ? OR style = ?', 'red', 'compact')
171
- #
172
- # # produces a condition using in, like: WHERE color IN ('red', 'blue')
173
- # Car.where('color IN ?', ['red','blue'])
174
- #
175
- # Hash arguments
176
- #
177
- # # WHERE age = '40' AND gender = 'male'
178
- # People.where(:age => 40, :gender => 'male').each {|person| ... }
179
- #
180
- # # WHERE name IN ('John', 'Jane')
181
- # People.where(:name => ['John', 'Jane']).each{|person| ... }
182
- #
183
- # Chaining where with other scope modifiers
184
- #
185
- # # 10 most expensive red cars
186
- # Car.where(:color => 'red').order(:price, :desc).limit(10)
187
- #
188
- # @overload where(conditions_hash)
189
- # @param [Hash] conditions_hash A hash of attributes to values. Each
190
- # key/value pair from the hash becomes a find condition. All
191
- # conditions are joined by AND.
192
- #
193
- # @overload where(sql_fragment[, quote_params, ...])
194
- #
195
- def where *args
196
- new_scope.where(*args)
197
- end
198
-
199
- # Defines the order in which records are returned when performing a find.
200
- # SimpleDB only allows sorting by one attribute per request.
201
- #
202
- # # oldest to youngest
203
- # People.order(:age, :desc).each {|person| ... }
204
- #
205
- # You can chain order with the other scope modifiers:
206
- #
207
- # Pepole.order(:age, :desc).limit(10).each {|person| ... }
208
- #
209
- # @overload order(attribute, direction = :asc)
210
- # @param [String,Symbol] attribute The attribute to sort by.
211
- # @param [:asc,:desc] direction (:asc) The direction to sort.
212
- def order *args
213
- new_scope.order(*args)
214
- end
215
-
216
- # The maximum number of records to return. By default, all records
217
- # matching the where conditions will be returned from a find.
218
- #
219
- # People.limit(10).each {|person| ... }
220
- #
221
- # Limit can be chained with other scope modifiers:
222
- #
223
- # People.where(:age => 40).limit(10).each {|person| ... }
224
- #
225
- def limit limit
226
- new_scope.limit(limit)
227
- end
228
-
229
- end
230
- end
231
- end
232
- end