aws-sdk 1.8.5 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/README.rdoc +8 -0
  4. data/lib/aws-sdk.rb +39 -35
  5. data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
  6. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
  7. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
  8. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
  9. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
  10. data/lib/aws/auto_scaling.rb +44 -44
  11. data/lib/aws/auto_scaling/activity.rb +1 -1
  12. data/lib/aws/auto_scaling/activity_collection.rb +14 -15
  13. data/lib/aws/auto_scaling/client.rb +277 -277
  14. data/lib/aws/auto_scaling/config.rb +1 -1
  15. data/lib/aws/auto_scaling/group.rb +35 -36
  16. data/lib/aws/auto_scaling/group_collection.rb +10 -10
  17. data/lib/aws/auto_scaling/group_options.rb +19 -19
  18. data/lib/aws/auto_scaling/instance.rb +27 -27
  19. data/lib/aws/auto_scaling/instance_collection.rb +10 -10
  20. data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
  21. data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
  22. data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
  23. data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
  24. data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
  25. data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
  26. data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
  27. data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
  28. data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
  29. data/lib/aws/auto_scaling/tag_collection.rb +30 -28
  30. data/lib/aws/cloud_formation.rb +95 -94
  31. data/lib/aws/cloud_formation/client.rb +136 -133
  32. data/lib/aws/cloud_formation/config.rb +1 -1
  33. data/lib/aws/cloud_formation/stack.rb +37 -37
  34. data/lib/aws/cloud_formation/stack_collection.rb +28 -27
  35. data/lib/aws/cloud_formation/stack_event.rb +9 -11
  36. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  37. data/lib/aws/cloud_formation/stack_resource.rb +6 -6
  38. data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
  39. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
  40. data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
  41. data/lib/aws/cloud_front.rb +21 -21
  42. data/lib/aws/cloud_front/client.rb +853 -652
  43. data/lib/aws/cloud_front/request.rb +3 -0
  44. data/lib/aws/cloud_search.rb +22 -22
  45. data/lib/aws/cloud_search/client.rb +322 -315
  46. data/lib/aws/cloud_search/config.rb +1 -1
  47. data/lib/aws/cloud_watch.rb +39 -39
  48. data/lib/aws/cloud_watch/alarm.rb +55 -37
  49. data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
  50. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
  51. data/lib/aws/cloud_watch/client.rb +360 -146
  52. data/lib/aws/cloud_watch/config.rb +1 -1
  53. data/lib/aws/cloud_watch/metric.rb +15 -15
  54. data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
  55. data/lib/aws/cloud_watch/metric_collection.rb +16 -16
  56. data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
  57. data/lib/aws/core.rb +243 -225
  58. data/lib/aws/core/async_handle.rb +13 -13
  59. data/lib/aws/core/cacheable.rb +14 -15
  60. data/lib/aws/core/client.rb +40 -15
  61. data/lib/aws/core/collection.rb +42 -46
  62. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  63. data/lib/aws/core/collection/with_next_token.rb +1 -1
  64. data/lib/aws/core/configuration.rb +97 -133
  65. data/lib/aws/core/credential_providers.rb +16 -16
  66. data/lib/aws/core/data.rb +23 -23
  67. data/lib/aws/core/http/connection_pool.rb +348 -0
  68. data/lib/aws/core/http/net_http_handler.rb +17 -26
  69. data/lib/aws/core/http/patch.rb +102 -0
  70. data/lib/aws/core/http/request.rb +13 -19
  71. data/lib/aws/core/http/response.rb +2 -2
  72. data/lib/aws/core/lazy_error_classes.rb +17 -17
  73. data/lib/aws/core/log_formatter.rb +70 -104
  74. data/lib/aws/core/options/json_serializer.rb +1 -1
  75. data/lib/aws/core/options/validator.rb +4 -4
  76. data/lib/aws/core/page_result.rb +8 -8
  77. data/lib/aws/core/policy.rb +49 -49
  78. data/lib/aws/core/region.rb +72 -0
  79. data/lib/aws/core/region_collection.rb +106 -0
  80. data/lib/aws/core/resource.rb +5 -5
  81. data/lib/aws/core/response.rb +20 -17
  82. data/lib/aws/core/rest_request_builder.rb +4 -4
  83. data/lib/aws/core/service_interface.rb +24 -2
  84. data/lib/aws/core/signature/version_3.rb +2 -2
  85. data/lib/aws/core/uri_escape.rb +1 -1
  86. data/lib/aws/core/xml/frame_stack.rb +1 -1
  87. data/lib/aws/core/xml/grammar.rb +3 -4
  88. data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
  89. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
  90. data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
  91. data/lib/aws/core/xml/stub.rb +9 -9
  92. data/lib/aws/data_pipeline.rb +21 -21
  93. data/lib/aws/data_pipeline/client.rb +189 -133
  94. data/lib/aws/data_pipeline/config.rb +1 -1
  95. data/lib/aws/direct_connect.rb +74 -0
  96. data/lib/aws/direct_connect/client.rb +253 -0
  97. data/lib/aws/direct_connect/config.rb +18 -0
  98. data/lib/aws/direct_connect/errors.rb +22 -0
  99. data/lib/aws/direct_connect/request.rb +27 -0
  100. data/lib/aws/dynamo_db.rb +71 -69
  101. data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
  102. data/lib/aws/dynamo_db/batch_get.rb +23 -23
  103. data/lib/aws/dynamo_db/batch_write.rb +43 -43
  104. data/lib/aws/dynamo_db/binary.rb +9 -9
  105. data/lib/aws/dynamo_db/client.rb +494 -509
  106. data/lib/aws/dynamo_db/client_base.rb +91 -0
  107. data/lib/aws/dynamo_db/client_v2.rb +825 -0
  108. data/lib/aws/dynamo_db/config.rb +1 -1
  109. data/lib/aws/dynamo_db/item.rb +10 -10
  110. data/lib/aws/dynamo_db/item_collection.rb +75 -75
  111. data/lib/aws/dynamo_db/table.rb +85 -85
  112. data/lib/aws/dynamo_db/table_collection.rb +13 -13
  113. data/lib/aws/ec2.rb +132 -142
  114. data/lib/aws/ec2/attachment.rb +31 -36
  115. data/lib/aws/ec2/attachment_collection.rb +1 -1
  116. data/lib/aws/ec2/availability_zone.rb +4 -4
  117. data/lib/aws/ec2/client.rb +2272 -2125
  118. data/lib/aws/ec2/config.rb +1 -1
  119. data/lib/aws/ec2/customer_gateway.rb +6 -6
  120. data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
  121. data/lib/aws/ec2/dhcp_options.rb +3 -3
  122. data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
  123. data/lib/aws/ec2/elastic_ip.rb +15 -15
  124. data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
  125. data/lib/aws/ec2/export_task.rb +4 -4
  126. data/lib/aws/ec2/export_task_collection.rb +11 -11
  127. data/lib/aws/ec2/filtered_collection.rb +6 -8
  128. data/lib/aws/ec2/image.rb +46 -40
  129. data/lib/aws/ec2/image_collection.rb +44 -52
  130. data/lib/aws/ec2/instance.rb +64 -62
  131. data/lib/aws/ec2/instance_collection.rb +47 -50
  132. data/lib/aws/ec2/internet_gateway.rb +6 -6
  133. data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
  134. data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
  135. data/lib/aws/ec2/key_pair.rb +3 -3
  136. data/lib/aws/ec2/key_pair_collection.rb +12 -12
  137. data/lib/aws/ec2/network_acl.rb +39 -39
  138. data/lib/aws/ec2/network_acl/association.rb +2 -2
  139. data/lib/aws/ec2/network_acl/entry.rb +22 -22
  140. data/lib/aws/ec2/network_acl_collection.rb +2 -2
  141. data/lib/aws/ec2/network_interface.rb +13 -4
  142. data/lib/aws/ec2/network_interface/attachment.rb +3 -3
  143. data/lib/aws/ec2/network_interface_collection.rb +5 -5
  144. data/lib/aws/ec2/permission_collection.rb +1 -1
  145. data/lib/aws/ec2/region.rb +6 -6
  146. data/lib/aws/ec2/region_collection.rb +1 -1
  147. data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
  148. data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
  149. data/lib/aws/ec2/resource_tag_collection.rb +5 -5
  150. data/lib/aws/ec2/route_table.rb +14 -14
  151. data/lib/aws/ec2/route_table/association.rb +22 -22
  152. data/lib/aws/ec2/route_table/route.rb +8 -8
  153. data/lib/aws/ec2/route_table_collection.rb +3 -3
  154. data/lib/aws/ec2/security_group.rb +39 -41
  155. data/lib/aws/ec2/security_group_collection.rb +19 -21
  156. data/lib/aws/ec2/snapshot.rb +3 -3
  157. data/lib/aws/ec2/snapshot_collection.rb +11 -12
  158. data/lib/aws/ec2/subnet.rb +2 -2
  159. data/lib/aws/ec2/subnet_collection.rb +17 -17
  160. data/lib/aws/ec2/tag_collection.rb +1 -1
  161. data/lib/aws/ec2/tagged_collection.rb +7 -7
  162. data/lib/aws/ec2/tagged_item.rb +10 -10
  163. data/lib/aws/ec2/volume.rb +16 -16
  164. data/lib/aws/ec2/volume_collection.rb +9 -12
  165. data/lib/aws/ec2/vpc.rb +6 -6
  166. data/lib/aws/ec2/vpc_collection.rb +10 -10
  167. data/lib/aws/ec2/vpn_connection.rb +4 -4
  168. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  169. data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
  170. data/lib/aws/ec2/vpn_gateway.rb +2 -2
  171. data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
  172. data/lib/aws/elastic_beanstalk.rb +12 -12
  173. data/lib/aws/elastic_beanstalk/client.rb +376 -368
  174. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  175. data/lib/aws/elastic_transcoder.rb +5 -5
  176. data/lib/aws/elastic_transcoder/client.rb +283 -283
  177. data/lib/aws/elastic_transcoder/config.rb +1 -1
  178. data/lib/aws/elasticache.rb +12 -12
  179. data/lib/aws/elasticache/client.rb +484 -479
  180. data/lib/aws/elasticache/config.rb +1 -1
  181. data/lib/aws/elb.rb +23 -23
  182. data/lib/aws/elb/availability_zone_collection.rb +34 -34
  183. data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
  184. data/lib/aws/elb/client.rb +153 -153
  185. data/lib/aws/elb/config.rb +1 -1
  186. data/lib/aws/elb/errors.rb +1 -1
  187. data/lib/aws/elb/instance_collection.rb +20 -25
  188. data/lib/aws/elb/listener.rb +3 -3
  189. data/lib/aws/elb/listener_collection.rb +8 -8
  190. data/lib/aws/elb/load_balancer.rb +15 -16
  191. data/lib/aws/elb/load_balancer_collection.rb +36 -24
  192. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  193. data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
  194. data/lib/aws/emr.rb +28 -26
  195. data/lib/aws/emr/client.rb +165 -149
  196. data/lib/aws/emr/config.rb +1 -1
  197. data/lib/aws/emr/instance_group.rb +1 -1
  198. data/lib/aws/emr/instance_group_collection.rb +1 -1
  199. data/lib/aws/emr/job_flow.rb +27 -26
  200. data/lib/aws/emr/job_flow_collection.rb +34 -34
  201. data/lib/aws/errors.rb +7 -7
  202. data/lib/aws/glacier.rb +21 -21
  203. data/lib/aws/glacier/archive_collection.rb +2 -2
  204. data/lib/aws/glacier/client.rb +139 -140
  205. data/lib/aws/glacier/config.rb +1 -1
  206. data/lib/aws/glacier/vault.rb +2 -2
  207. data/lib/aws/glacier/vault_collection.rb +1 -1
  208. data/lib/aws/iam.rb +133 -144
  209. data/lib/aws/iam/access_key.rb +17 -17
  210. data/lib/aws/iam/access_key_collection.rb +22 -22
  211. data/lib/aws/iam/account_alias_collection.rb +2 -2
  212. data/lib/aws/iam/client.rb +429 -420
  213. data/lib/aws/iam/collection.rb +1 -1
  214. data/lib/aws/iam/config.rb +2 -2
  215. data/lib/aws/iam/group.rb +8 -8
  216. data/lib/aws/iam/group_collection.rb +16 -16
  217. data/lib/aws/iam/group_policy_collection.rb +6 -6
  218. data/lib/aws/iam/group_user_collection.rb +3 -3
  219. data/lib/aws/iam/mfa_device.rb +1 -1
  220. data/lib/aws/iam/mfa_device_collection.rb +9 -9
  221. data/lib/aws/iam/policy_collection.rb +4 -4
  222. data/lib/aws/iam/resource.rb +2 -2
  223. data/lib/aws/iam/server_certificate.rb +1 -1
  224. data/lib/aws/iam/server_certificate_collection.rb +15 -15
  225. data/lib/aws/iam/signing_certificate.rb +29 -29
  226. data/lib/aws/iam/signing_certificate_collection.rb +23 -23
  227. data/lib/aws/iam/user.rb +33 -38
  228. data/lib/aws/iam/user_collection.rb +27 -27
  229. data/lib/aws/iam/user_group_collection.rb +3 -3
  230. data/lib/aws/iam/user_policy_collection.rb +6 -6
  231. data/lib/aws/iam/virtual_mfa_device.rb +12 -12
  232. data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
  233. data/lib/aws/import_export.rb +22 -21
  234. data/lib/aws/import_export/client.rb +47 -43
  235. data/lib/aws/ops_works.rb +5 -5
  236. data/lib/aws/ops_works/client.rb +484 -438
  237. data/lib/aws/ops_works/config.rb +1 -1
  238. data/lib/aws/rails.rb +34 -34
  239. data/lib/aws/rds.rb +18 -18
  240. data/lib/aws/rds/client.rb +1286 -1277
  241. data/lib/aws/rds/config.rb +1 -1
  242. data/lib/aws/rds/db_instance.rb +15 -4
  243. data/lib/aws/rds/db_snapshot.rb +1 -1
  244. data/lib/aws/record.rb +50 -24
  245. data/lib/aws/record/abstract_base.rb +52 -60
  246. data/lib/aws/record/attributes.rb +79 -79
  247. data/lib/aws/record/conversion.rb +1 -1
  248. data/lib/aws/record/dirty_tracking.rb +69 -67
  249. data/lib/aws/record/errors.rb +21 -21
  250. data/lib/aws/record/exceptions.rb +2 -2
  251. data/lib/aws/record/hash_model.rb +20 -21
  252. data/lib/aws/record/hash_model/attributes.rb +13 -15
  253. data/lib/aws/record/hash_model/finder_methods.rb +46 -46
  254. data/lib/aws/record/hash_model/scope.rb +31 -31
  255. data/lib/aws/record/model.rb +136 -136
  256. data/lib/aws/record/model/attributes.rb +57 -59
  257. data/lib/aws/record/model/finder_methods.rb +67 -67
  258. data/lib/aws/record/model/scope.rb +48 -49
  259. data/lib/aws/record/naming.rb +1 -1
  260. data/lib/aws/record/scope.rb +23 -19
  261. data/lib/aws/record/validations.rb +253 -271
  262. data/lib/aws/record/validator.rb +3 -3
  263. data/lib/aws/record/validators/acceptance.rb +1 -3
  264. data/lib/aws/record/validators/block.rb +1 -3
  265. data/lib/aws/record/validators/confirmation.rb +1 -3
  266. data/lib/aws/record/validators/count.rb +2 -4
  267. data/lib/aws/record/validators/exclusion.rb +2 -4
  268. data/lib/aws/record/validators/format.rb +2 -4
  269. data/lib/aws/record/validators/inclusion.rb +1 -3
  270. data/lib/aws/record/validators/length.rb +5 -7
  271. data/lib/aws/record/validators/method.rb +1 -3
  272. data/lib/aws/record/validators/numericality.rb +6 -8
  273. data/lib/aws/record/validators/presence.rb +1 -3
  274. data/lib/aws/redshift.rb +14 -14
  275. data/lib/aws/redshift/client.rb +596 -592
  276. data/lib/aws/redshift/config.rb +1 -1
  277. data/lib/aws/route_53.rb +30 -30
  278. data/lib/aws/route_53/change_batch.rb +7 -7
  279. data/lib/aws/route_53/client.rb +188 -152
  280. data/lib/aws/route_53/hosted_zone.rb +4 -4
  281. data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
  282. data/lib/aws/route_53/resource_record_set.rb +10 -10
  283. data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
  284. data/lib/aws/s3.rb +79 -79
  285. data/lib/aws/s3/access_control_list.rb +44 -36
  286. data/lib/aws/s3/acl_options.rb +51 -51
  287. data/lib/aws/s3/bucket.rb +146 -146
  288. data/lib/aws/s3/bucket_collection.rb +21 -21
  289. data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
  290. data/lib/aws/s3/bucket_tag_collection.rb +4 -2
  291. data/lib/aws/s3/cipher_io.rb +5 -4
  292. data/lib/aws/s3/client.rb +89 -84
  293. data/lib/aws/s3/client/xml.rb +1 -1
  294. data/lib/aws/s3/config.rb +7 -1
  295. data/lib/aws/s3/cors_rule.rb +2 -0
  296. data/lib/aws/s3/cors_rule_collection.rb +42 -40
  297. data/lib/aws/s3/data_options.rb +16 -11
  298. data/lib/aws/s3/encryption_utils.rb +2 -2
  299. data/lib/aws/s3/errors.rb +7 -7
  300. data/lib/aws/s3/multipart_upload.rb +30 -33
  301. data/lib/aws/s3/multipart_upload_collection.rb +8 -6
  302. data/lib/aws/s3/object_collection.rb +35 -35
  303. data/lib/aws/s3/object_metadata.rb +6 -6
  304. data/lib/aws/s3/object_version.rb +4 -4
  305. data/lib/aws/s3/object_version_collection.rb +15 -15
  306. data/lib/aws/s3/policy.rb +2 -2
  307. data/lib/aws/s3/prefixed_collection.rb +9 -5
  308. data/lib/aws/s3/presigned_post.rb +39 -37
  309. data/lib/aws/s3/request.rb +11 -11
  310. data/lib/aws/s3/s3_object.rb +210 -200
  311. data/lib/aws/s3/tree.rb +25 -27
  312. data/lib/aws/s3/tree/child_collection.rb +3 -3
  313. data/lib/aws/s3/tree/leaf_node.rb +2 -2
  314. data/lib/aws/s3/tree/parent.rb +1 -1
  315. data/lib/aws/s3/website_configuration.rb +13 -13
  316. data/lib/aws/simple_db.rb +83 -83
  317. data/lib/aws/simple_db/attribute.rb +9 -7
  318. data/lib/aws/simple_db/attribute_collection.rb +22 -13
  319. data/lib/aws/simple_db/client.rb +107 -107
  320. data/lib/aws/simple_db/config.rb +7 -1
  321. data/lib/aws/simple_db/consistent_read_option.rb +5 -5
  322. data/lib/aws/simple_db/domain.rb +4 -2
  323. data/lib/aws/simple_db/domain_collection.rb +4 -4
  324. data/lib/aws/simple_db/domain_metadata.rb +5 -5
  325. data/lib/aws/simple_db/errors.rb +9 -9
  326. data/lib/aws/simple_db/item.rb +5 -5
  327. data/lib/aws/simple_db/item_collection.rb +83 -81
  328. data/lib/aws/simple_db/item_data.rb +4 -4
  329. data/lib/aws/simple_db/put_attributes.rb +3 -3
  330. data/lib/aws/simple_email_service.rb +140 -140
  331. data/lib/aws/simple_email_service/client.rb +82 -76
  332. data/lib/aws/simple_email_service/config.rb +1 -2
  333. data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
  334. data/lib/aws/simple_email_service/identity.rb +8 -8
  335. data/lib/aws/simple_email_service/quotas.rb +8 -6
  336. data/lib/aws/simple_workflow.rb +106 -106
  337. data/lib/aws/simple_workflow/activity_task.rb +15 -22
  338. data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
  339. data/lib/aws/simple_workflow/activity_type.rb +23 -23
  340. data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
  341. data/lib/aws/simple_workflow/client.rb +1004 -956
  342. data/lib/aws/simple_workflow/config.rb +1 -1
  343. data/lib/aws/simple_workflow/count.rb +5 -5
  344. data/lib/aws/simple_workflow/decision_task.rb +129 -129
  345. data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
  346. data/lib/aws/simple_workflow/domain.rb +11 -11
  347. data/lib/aws/simple_workflow/domain_collection.rb +26 -26
  348. data/lib/aws/simple_workflow/history_event.rb +32 -32
  349. data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
  350. data/lib/aws/simple_workflow/option_formatters.rb +5 -5
  351. data/lib/aws/simple_workflow/request.rb +1 -1
  352. data/lib/aws/simple_workflow/resource.rb +1 -1
  353. data/lib/aws/simple_workflow/type.rb +8 -8
  354. data/lib/aws/simple_workflow/type_collection.rb +15 -15
  355. data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
  356. data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
  357. data/lib/aws/simple_workflow/workflow_type.rb +27 -25
  358. data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
  359. data/lib/aws/sns.rb +25 -25
  360. data/lib/aws/sns/client.rb +55 -55
  361. data/lib/aws/sns/config.rb +1 -1
  362. data/lib/aws/sns/policy.rb +1 -1
  363. data/lib/aws/sns/subscription.rb +7 -7
  364. data/lib/aws/sns/subscription_collection.rb +5 -5
  365. data/lib/aws/sns/topic.rb +49 -49
  366. data/lib/aws/sns/topic_collection.rb +2 -2
  367. data/lib/aws/sns/topic_subscription_collection.rb +5 -5
  368. data/lib/aws/sqs.rb +20 -20
  369. data/lib/aws/sqs/client.rb +78 -78
  370. data/lib/aws/sqs/config.rb +1 -1
  371. data/lib/aws/sqs/errors.rb +12 -12
  372. data/lib/aws/sqs/queue.rb +66 -67
  373. data/lib/aws/sqs/queue_collection.rb +16 -8
  374. data/lib/aws/sqs/received_message.rb +7 -6
  375. data/lib/aws/storage_gateway.rb +21 -21
  376. data/lib/aws/storage_gateway/client.rb +269 -202
  377. data/lib/aws/storage_gateway/config.rb +1 -1
  378. data/lib/aws/sts.rb +10 -8
  379. data/lib/aws/sts/client.rb +35 -35
  380. data/lib/aws/sts/session.rb +3 -3
  381. data/lib/aws/version.rb +1 -2
  382. metadata +23 -21
  383. data/lib/aws/core/autoloader.rb +0 -64
  384. data/lib/net/http/connection_pool.rb +0 -226
  385. data/lib/net/http/connection_pool/connection.rb +0 -189
  386. data/lib/net/http/connection_pool/session.rb +0 -126
@@ -31,7 +31,7 @@ module AWS
31
31
  def to_param
32
32
  persisted? ? to_key.join('-') : nil
33
33
  end
34
-
34
+
35
35
  end
36
36
 
37
37
  end
@@ -16,30 +16,32 @@ module AWS
16
16
 
17
17
  # Provides a way to track changes in your records.
18
18
  #
19
- # my_book = Book['bookid']
19
+ # my_book = Book['bookid']
20
20
  #
21
- # my_book.changed? #=> false
22
- # my_book.title #=> "My Book"
23
- # my_book.title = "My Awesome Book"
24
- # my_book.changed? #=> true
21
+ # my_book.changed? #=> false
22
+ # my_book.title #=> "My Book"
23
+ # my_book.title = "My Awesome Book"
24
+ # my_book.changed? #=> true
25
+ #
26
+ # my_book = Book['bookid']
25
27
  #
26
28
  # You can inspect further and get a list of changed attributes
27
29
  #
28
- # my_book.changed #=> ['title']
30
+ # my_book.changed #=> ['title']
29
31
  #
30
32
  # Or you can get a more detailed description of the changes. {#changes}
31
- # returns a hash of changed attributes (keys) with their old and new
33
+ # returns a hash of changed attributes (keys) with their old and new
32
34
  # values.
33
- #
34
- # my_book.changes
35
- # #=> { 'title' => ['My Book', 'My Awesome Book']
35
+ #
36
+ # my_book.changes
37
+ # #=> { 'title' => ['My Book', 'My Awesome Book']
36
38
  #
37
39
  # For every configured attribute you also get a handful of methods
38
40
  # for inspecting changes on that attribute. Given the following
39
41
  # attribute:
40
42
  #
41
- # string_attr :title
42
- #
43
+ # string_attr :title
44
+ #
43
45
  # You can now call any of the following methods:
44
46
  #
45
47
  # * title_changed?
@@ -49,73 +51,73 @@ module AWS
49
51
  # * title_will_change!
50
52
  #
51
53
  # Given the title change from above:
52
- #
53
- # my_book.title_changed? #=> true
54
- # my_book.title_change #=> ['My Book', 'My Awesome Book']
55
- # my_book.title_was #=> ['My Book']
56
54
  #
57
- # my_book.reset_title!
58
- # my_book.title #=> 'My Book'
55
+ # my_book.title_changed? #=> true
56
+ # my_book.title_change #=> ['My Book', 'My Awesome Book']
57
+ # my_book.title_was #=> ['My Book']
59
58
  #
60
- # == In-Place Editing
59
+ # my_book.reset_title!
60
+ # my_book.title #=> 'My Book'
61
61
  #
62
- # Dirty tracking works by comparing incoming attribute values upon
62
+ # ## In-Place Editing
63
+ #
64
+ # Dirty tracking works by comparing incoming attribute values upon
63
65
  # assignment against the value that was there previously. If you
64
66
  # use functions against the value that modify it (like gsub!)
65
67
  # you must notify your record about the coming change.
66
68
  #
67
- # my_book.title #=> 'My Book'
68
- # my_book.title_will_change!
69
- # my_book.title.gsub!(/My/, 'Your')
70
- # my_book.title_change #=> ['My Book', 'Your Book']
69
+ # my_book.title #=> 'My Book'
70
+ # my_book.title_will_change!
71
+ # my_book.title.gsub!(/My/, 'Your')
72
+ # my_book.title_change #=> ['My Book', 'Your Book']
71
73
  #
72
- # == Partial Updates
74
+ # ## Partial Updates
73
75
  #
74
76
  # Dirty tracking makes it possible to only persist those attributes
75
- # that have changed since they were loaded. This speeds up requests
77
+ # that have changed since they were loaded. This speeds up requests
76
78
  # against AWS when saving data.
77
79
  #
78
80
  module DirtyTracking
79
-
81
+
80
82
  # Returns true if this model has unsaved changes.
81
83
  #
82
- # b = Book.new(:title => 'My Book')
83
- # b.changed?
84
- # #=> true
84
+ # b = Book.new(:title => 'My Book')
85
+ # b.changed?
86
+ # #=> true
85
87
  #
86
88
  # New objects and objects freshly loaded should not have any changes:
87
89
  #
88
- # b = Book.new
89
- # b.changed? #=> false
90
+ # b = Book.new
91
+ # b.changed? #=> false
90
92
  #
91
- # b = Book.first
92
- # b.changed? #=> false
93
+ # b = Book.first
94
+ # b.changed? #=> false
93
95
  #
94
96
  # @return [Boolean] Returns true if any of the attributes have
95
97
  # unsaved changes.
96
98
  def changed?
97
99
  !orig_values.empty?
98
100
  end
99
-
100
- # Returns an array of attribute names that have changes.
101
+
102
+ # Returns an array of attribute names that have changes.
101
103
  #
102
- # book.changed #=> []
103
- # person.title = 'New Title'
104
- # book.changed #=> ['title']
104
+ # book.changed #=> []
105
+ # person.title = 'New Title'
106
+ # book.changed #=> ['title']
105
107
  #
106
- # @return [Array] Returns an array of attribute names that have
108
+ # @return [Array] Returns an array of attribute names that have
107
109
  # unsaved changes.
108
110
  def changed
109
111
  orig_values.keys
110
112
  end
111
-
113
+
112
114
  # Returns the changed attributes in a hash. Keys are attribute names,
113
115
  # values are two value arrays. The first value is the previous
114
116
  # attribute value, the second is the current attribute value.
115
117
  #
116
- # book.title = 'New Title'
117
- # book.changes
118
- # #=> { 'title' => ['Old Title', 'New Title'] }
118
+ # book.title = 'New Title'
119
+ # book.changes
120
+ # #=> { 'title' => ['Old Title', 'New Title'] }
119
121
  #
120
122
  # @return [Hash] Returns a hash of attribute changes.
121
123
  def changes
@@ -124,16 +126,16 @@ module AWS
124
126
  changes
125
127
  end
126
128
  end
127
-
129
+
128
130
  # Returns true if the named attribute has unsaved changes.
129
131
  #
130
- # This is an attribute method. The following two expressions
132
+ # This is an attribute method. The following two expressions
131
133
  # are equivilent:
132
134
  #
133
- # book.title_changed?
134
- # book.attribute_changed?(:title)
135
+ # book.title_changed?
136
+ # book.attribute_changed?(:title)
135
137
  #
136
- # @param [String] attribute_name Name of the attribute to check
138
+ # @param [String] attribute_name Name of the attribute to check
137
139
  # for changes.
138
140
  #
139
141
  # @return [Boolean] Returns true if the named attribute
@@ -143,15 +145,15 @@ module AWS
143
145
  def attribute_changed? attribute_name
144
146
  orig_values.keys.include?(attribute_name)
145
147
  end
146
-
147
- # Returns an array of the old value and the new value for
148
+
149
+ # Returns an array of the old value and the new value for
148
150
  # attributes that have unsaved changes, returns nil otherwise.
149
151
  #
150
- # This is an attribute method. The following two expressions
152
+ # This is an attribute method. The following two expressions
151
153
  # are equivilent:
152
154
  #
153
- # book.title_change
154
- # book.attribute_change(:title)
155
+ # book.title_change
156
+ # book.attribute_change(:title)
155
157
  #
156
158
  # @example Asking for changes on an unchanged attribute
157
159
  #
@@ -168,7 +170,7 @@ module AWS
168
170
  # book = Book.first
169
171
  # book.title = 'New Title'
170
172
  # book.title_change #=> ['Old Title', 'New Title']
171
- #
173
+ #
172
174
  # @param [String] attribute_name Name of the attribute to fetch
173
175
  # a change for.
174
176
  # @return [Boolean] Returns true if the named attribute
@@ -184,15 +186,15 @@ module AWS
184
186
  end
185
187
  end
186
188
  end
187
-
189
+
188
190
  # Returns the previous value for changed attributes, or the current
189
191
  # value for unchanged attributes.
190
192
  #
191
- # This is an attribute method. The following two expressions
193
+ # This is an attribute method. The following two expressions
192
194
  # are equivilent:
193
195
  #
194
- # book.title_was
195
- # book.attribute_was(:title)
196
+ # book.title_was
197
+ # book.attribute_was(:title)
196
198
  #
197
199
  # @example Returns the previous value for changed attributes:
198
200
  #
@@ -215,7 +217,7 @@ module AWS
215
217
  orig_values.has_key?(name) ? orig_values[name] : __send__(name)
216
218
  end
217
219
  end
218
-
220
+
219
221
  # Reverts any changes to the attribute, restoring its original value.
220
222
  # @param [String] attribute_name Name of the attribute to reset.
221
223
  # @return [nil]
@@ -225,7 +227,7 @@ module AWS
225
227
  __send__("#{attribute_name}=", attribute_was(attribute_name))
226
228
  nil
227
229
  end
228
-
230
+
229
231
  # Indicate to the record that you are about to edit an attribute
230
232
  # in place.
231
233
  # @param [String] attribute_name Name of the attribute that will
@@ -240,7 +242,7 @@ module AWS
240
242
  was = __send__(name)
241
243
  begin
242
244
  # booleans, nil, etc all #respond_to?(:clone), but they raise
243
- # a TypeError when you attempt to dup them.
245
+ # a TypeError when you attempt to dup them.
244
246
  orig_values[name] = was.clone
245
247
  rescue TypeError
246
248
  orig_values[name] = was
@@ -254,12 +256,12 @@ module AWS
254
256
  def orig_values
255
257
  @_orig_values ||= {}
256
258
  end
257
-
259
+
258
260
  private
259
261
  def clear_change! attribute_name
260
262
  orig_values.delete(attribute_name)
261
263
  end
262
-
264
+
263
265
  private
264
266
  def ignore_changes &block
265
267
  begin
@@ -269,17 +271,17 @@ module AWS
269
271
  @_ignore_changes = false
270
272
  end
271
273
  end
272
-
274
+
273
275
  private
274
276
  def if_tracking_changes &block
275
277
  yield unless @_ignore_changes
276
278
  end
277
-
279
+
278
280
  private
279
281
  def clear_changes!
280
282
  orig_values.clear
281
283
  end
282
-
284
+
283
285
  end
284
286
  end
285
287
  end
@@ -15,20 +15,20 @@ module AWS
15
15
  module Record
16
16
 
17
17
  class Errors < Core::IndifferentHash
18
-
18
+
19
19
  include Enumerable
20
20
 
21
21
  # Returns the errors for the atttibute in an array.
22
22
  #
23
- # errors.add(:name, 'may not be blank')
24
- # errors.add(:name, 'must be less than 30 characters')
25
- # errors[:name]
26
- # #=> ['may not be blank', 'must be less than 30 characters']
23
+ # errors.add(:name, 'may not be blank')
24
+ # errors.add(:name, 'must be less than 30 characters')
25
+ # errors[:name]
26
+ # #=> ['may not be blank', 'must be less than 30 characters']
27
27
  #
28
28
  # @param [String,Symbol] attribute_name The name of the attribute to retnr
29
29
  # errors for. You can pass the string or symbol version.
30
30
  # @return [Array<String>] Returns the error messages for the given
31
- # +attribute_name+. If there are no errors on the attribute then
31
+ # `attribute_name`. If there are no errors on the attribute then
32
32
  # an empty array is returned.
33
33
  def [] attribute_name
34
34
  super(attribute_name) || []
@@ -37,15 +37,15 @@ module AWS
37
37
 
38
38
  # Adds an error message to the named attribute.
39
39
  #
40
- # errors.add(:name, 'may not be blank')
41
- # errors.on(:name)
42
- # #=> ['may not be blank']
40
+ # errors.add(:name, 'may not be blank')
41
+ # errors.on(:name)
42
+ # #=> ['may not be blank']
43
43
  #
44
- # If you want to add a general error message, then pass +:base+
45
- # for +attribute_name+, or call {#add_to_base}.
44
+ # If you want to add a general error message, then pass `:base`
45
+ # for `attribute_name`, or call {#add_to_base}.
46
46
  # @param [String,Symbol] attribute_name The name of the attribute
47
47
  # that you are adding an error to.
48
- # @param [String] message ('is invalid') The error message (should
48
+ # @param [String] message ('is invalid') The error message (should
49
49
  # not contain the attribute name).
50
50
  # @return [String] Returns the message.
51
51
  def []= attribute_name, message = 'is invalid'
@@ -60,7 +60,7 @@ module AWS
60
60
 
61
61
  # Adds a general error message (not associated with any particular
62
62
  # attribute).
63
- # @param [String] message ('is invalid') The error message (should
63
+ # @param [String] message ('is invalid') The error message (should
64
64
  # not contain the attribute name).
65
65
  # @return [String] Returns the message.
66
66
  def add_to_base message
@@ -73,9 +73,9 @@ module AWS
73
73
  end
74
74
  alias_method :size, :count
75
75
 
76
- # Yields once for each error message added.
76
+ # Yields once for each error message added.
77
77
  #
78
- # An attribute_name may yield more than once if there are more than
78
+ # An attribute_name may yield more than once if there are more than
79
79
  # one errors associated with that attirbute.
80
80
  #
81
81
  # @yield [attribute_name, error_message]
@@ -93,9 +93,9 @@ module AWS
93
93
  # Returns the errors prefixed by a humanized version of the attribute
94
94
  # name.
95
95
  #
96
- # errors.add(:name, 'may not be blank')
97
- # errors.full_messages
98
- # #=> ['Name may not be blank']
96
+ # errors.add(:name, 'may not be blank')
97
+ # errors.full_messages
98
+ # #=> ['Name may not be blank']
99
99
  #
100
100
  # @return [Array of Strings] Returns an array of error messages.
101
101
  def full_messages
@@ -113,9 +113,9 @@ module AWS
113
113
  # Returns a hash of of errors messages. Keys are attribute names
114
114
  # and values are arrays of error messages.
115
115
  #
116
- # errors.add(:name, 'may not be blank')
117
- # errors.to_hash
118
- # #=> { 'name' => ['may not be blank'] }
116
+ # errors.add(:name, 'may not be blank')
117
+ # errors.to_hash
118
+ # #=> { 'name' => ['may not be blank'] }
119
119
  #
120
120
  # Please note that the hash values are always arrays, even if there
121
121
  # is only one error message for the attribute.
@@ -13,7 +13,7 @@
13
13
 
14
14
  module AWS
15
15
  module Record
16
-
16
+
17
17
  # Raised when trying to access an attribute that does not exist.
18
18
  # @private
19
19
  class UndefinedAttributeError < StandardError
@@ -21,7 +21,7 @@ module AWS
21
21
  super("undefined attribute `#{attribute_name}`")
22
22
  end
23
23
  end
24
-
24
+
25
25
  # Raised when calling #save!, #create! or #update_attributes! on a record that
26
26
  # has validation errors.
27
27
  # @private
@@ -11,45 +11,44 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'aws/record/abstract_base'
15
- require 'aws/record/hash_model/scope'
16
- require 'aws/record/hash_model/attributes'
17
- require 'aws/record/hash_model/finder_methods'
18
-
19
14
  module AWS
20
15
  module Record
21
16
  class HashModel
22
17
 
18
+ require 'aws/record/hash_model/attributes'
19
+ require 'aws/record/hash_model/finder_methods'
20
+ require 'aws/record/hash_model/scope'
21
+
23
22
  extend AbstractBase
24
23
 
25
24
  class << self
26
25
 
27
26
  # Creates the DynamoDB table that is configured for this class.
28
27
  #
29
- # class Product < AWS::Record::HashModel
30
- # end
28
+ # class Product < AWS::Record::HashModel
29
+ # end
31
30
  #
32
- # # create the table 'Product' with 10 read/write capacity units
33
- # Product.create_table 10, 10
31
+ # # create the table 'Product' with 10 read/write capacity units
32
+ # Product.create_table 10, 10
34
33
  #
35
34
  # If you shard you data across multiple tables, you can specify the
36
35
  # shard name:
37
36
  #
38
- # # create two tables, with the given names
39
- # Product.create_table 500, 10, :shard_name => 'products-1'
40
- # Product.create_table 500, 10, :shard_name => 'products-2'
37
+ # # create two tables, with the given names
38
+ # Product.create_table 500, 10, :shard_name => 'products-1'
39
+ # Product.create_table 500, 10, :shard_name => 'products-2'
41
40
  #
42
41
  # If you share a single AWS account with multiple applications, you
43
42
  # can provide a table prefix to group tables and to avoid name
44
43
  # collisions:
45
44
  #
46
- # AWS::Record.table_prefix = 'myapp-'
45
+ # AWS::Record.table_prefix = 'myapp-'
47
46
  #
48
- # # creates the table 'myapp-Product'
49
- # Product.create_table 250, 50
47
+ # # creates the table 'myapp-Product'
48
+ # Product.create_table 250, 50
50
49
  #
51
- # # creates the table 'myapp-products-1'
52
- # Product.create_table 250, 50, :shard_name => 'products-1'
50
+ # # creates the table 'myapp-products-1'
51
+ # Product.create_table 250, 50, :shard_name => 'products-1'
53
52
  #
54
53
  # @param [Integer] read_capacity_units
55
54
  # See {DynamoDB::TableCollection#create} for more information.
@@ -73,9 +72,9 @@ module AWS
73
72
  create_opts[:hash_key] = { :id => :string }
74
73
 
75
74
  dynamo_db.tables.create(
76
- table_name,
77
- read_capacity_units,
78
- write_capacity_units,
75
+ table_name,
76
+ read_capacity_units,
77
+ write_capacity_units,
79
78
  create_opts)
80
79
 
81
80
  end
@@ -100,7 +99,7 @@ module AWS
100
99
 
101
100
  end
102
101
 
103
- # @return [DynamoDB::Item] Returns a reference to the item as stored in
102
+ # @return [DynamoDB::Item] Returns a reference to the item as stored in
104
103
  # simple db.
105
104
  # @private
106
105
  private