aws-sdk 1.8.0 → 1.8.1

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 (521) hide show
  1. data/LICENSE.txt +1 -1
  2. data/lib/aws-sdk.rb +3 -1
  3. data/lib/aws.rb +1 -1
  4. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +31 -2
  5. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +16 -8
  6. data/lib/aws/api_config/CloudFront-2012-05-05.yml +1 -1
  7. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +1 -1
  8. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +1 -1
  9. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +1 -1
  10. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1 -1
  11. data/lib/aws/api_config/{EC2-2012-07-20.yml → EC2-2012-12-01.yml} +26 -2
  12. data/lib/aws/api_config/ELB-2012-06-01.yml +1 -1
  13. data/lib/aws/api_config/EMR-2009-03-31.yml +1 -1
  14. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +1 -1
  15. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +1 -1
  16. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  17. data/lib/aws/api_config/Glacier-2012-06-01.yml +7 -11
  18. data/lib/aws/api_config/IAM-2010-05-08.yml +1 -1
  19. data/lib/aws/api_config/ImportExport-2010-06-01.yml +1 -1
  20. data/lib/aws/api_config/{RDS-2012-07-31.yml → RDS-2012-09-17.yml} +247 -7
  21. data/lib/aws/api_config/Route53-2012-02-29.yml +1 -1
  22. data/lib/aws/api_config/SNS-2010-03-31.yml +1 -1
  23. data/lib/aws/api_config/SQS-2012-11-05.yml +1 -1
  24. data/lib/aws/api_config/STS-2011-06-15.yml +1 -1
  25. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +1 -1
  26. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +1 -1
  27. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +1 -1
  28. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +1 -1
  29. data/lib/aws/auto_scaling.rb +1 -1
  30. data/lib/aws/auto_scaling/activity.rb +1 -1
  31. data/lib/aws/auto_scaling/activity_collection.rb +1 -1
  32. data/lib/aws/auto_scaling/client.rb +19 -6
  33. data/lib/aws/auto_scaling/config.rb +1 -1
  34. data/lib/aws/auto_scaling/errors.rb +1 -1
  35. data/lib/aws/auto_scaling/group.rb +2 -2
  36. data/lib/aws/auto_scaling/group_collection.rb +1 -1
  37. data/lib/aws/auto_scaling/group_options.rb +1 -1
  38. data/lib/aws/auto_scaling/instance.rb +1 -1
  39. data/lib/aws/auto_scaling/instance_collection.rb +1 -1
  40. data/lib/aws/auto_scaling/launch_configuration.rb +1 -1
  41. data/lib/aws/auto_scaling/launch_configuration_collection.rb +2 -2
  42. data/lib/aws/auto_scaling/notification_configuration.rb +1 -1
  43. data/lib/aws/auto_scaling/notification_configuration_collection.rb +1 -1
  44. data/lib/aws/auto_scaling/request.rb +1 -1
  45. data/lib/aws/auto_scaling/scaling_policy.rb +1 -1
  46. data/lib/aws/auto_scaling/scaling_policy_collection.rb +1 -1
  47. data/lib/aws/auto_scaling/scaling_policy_options.rb +1 -1
  48. data/lib/aws/auto_scaling/scheduled_action.rb +1 -1
  49. data/lib/aws/auto_scaling/scheduled_action_collection.rb +1 -1
  50. data/lib/aws/auto_scaling/tag.rb +1 -1
  51. data/lib/aws/auto_scaling/tag_collection.rb +1 -1
  52. data/lib/aws/cloud_formation.rb +1 -1
  53. data/lib/aws/cloud_formation/client.rb +154 -52
  54. data/lib/aws/cloud_formation/config.rb +1 -1
  55. data/lib/aws/cloud_formation/errors.rb +1 -1
  56. data/lib/aws/cloud_formation/request.rb +1 -1
  57. data/lib/aws/cloud_formation/stack.rb +1 -2
  58. data/lib/aws/cloud_formation/stack_collection.rb +7 -4
  59. data/lib/aws/cloud_formation/stack_event.rb +1 -1
  60. data/lib/aws/cloud_formation/stack_event_collection.rb +1 -1
  61. data/lib/aws/cloud_formation/stack_options.rb +1 -1
  62. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  63. data/lib/aws/cloud_formation/stack_resource.rb +1 -1
  64. data/lib/aws/cloud_formation/stack_resource_collection.rb +1 -1
  65. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +1 -1
  66. data/lib/aws/cloud_formation/stack_summary_collection.rb +1 -1
  67. data/lib/aws/cloud_front.rb +2 -2
  68. data/lib/aws/cloud_front/client.rb +5 -5
  69. data/lib/aws/cloud_front/config.rb +1 -1
  70. data/lib/aws/cloud_front/errors.rb +1 -1
  71. data/lib/aws/cloud_front/request.rb +1 -1
  72. data/lib/aws/cloud_search.rb +42 -1
  73. data/lib/aws/cloud_search/client.rb +5 -5
  74. data/lib/aws/cloud_search/config.rb +1 -1
  75. data/lib/aws/cloud_search/errors.rb +1 -1
  76. data/lib/aws/cloud_search/request.rb +1 -1
  77. data/lib/aws/cloud_watch.rb +43 -1
  78. data/lib/aws/cloud_watch/alarm.rb +1 -1
  79. data/lib/aws/cloud_watch/alarm_collection.rb +1 -1
  80. data/lib/aws/cloud_watch/alarm_history_item.rb +1 -1
  81. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +1 -1
  82. data/lib/aws/cloud_watch/client.rb +5 -5
  83. data/lib/aws/cloud_watch/config.rb +1 -1
  84. data/lib/aws/cloud_watch/errors.rb +1 -1
  85. data/lib/aws/cloud_watch/metric.rb +1 -1
  86. data/lib/aws/cloud_watch/metric_alarm_collection.rb +1 -1
  87. data/lib/aws/cloud_watch/metric_collection.rb +1 -1
  88. data/lib/aws/cloud_watch/metric_statistics.rb +1 -1
  89. data/lib/aws/cloud_watch/request.rb +1 -1
  90. data/lib/aws/core.rb +6 -10
  91. data/lib/aws/core/async_handle.rb +1 -1
  92. data/lib/aws/core/autoloader.rb +1 -1
  93. data/lib/aws/core/cacheable.rb +1 -1
  94. data/lib/aws/core/client.rb +2 -2
  95. data/lib/aws/core/collection.rb +1 -1
  96. data/lib/aws/core/collection/simple.rb +1 -1
  97. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  98. data/lib/aws/core/collection/with_next_token.rb +1 -1
  99. data/lib/aws/core/configuration.rb +5 -2
  100. data/lib/aws/core/credential_providers.rb +23 -4
  101. data/lib/aws/core/data.rb +1 -1
  102. data/lib/aws/core/http/curb_handler.rb +1 -1
  103. data/lib/aws/core/http/handler.rb +1 -1
  104. data/lib/aws/core/http/net_http_handler.rb +19 -14
  105. data/lib/aws/core/http/request.rb +1 -1
  106. data/lib/aws/core/http/response.rb +7 -4
  107. data/lib/aws/core/indifferent_hash.rb +1 -1
  108. data/lib/aws/core/inflection.rb +1 -1
  109. data/lib/aws/core/json_client.rb +1 -1
  110. data/lib/aws/core/json_parser.rb +1 -1
  111. data/lib/aws/core/json_request_builder.rb +1 -1
  112. data/lib/aws/core/json_response_parser.rb +1 -1
  113. data/lib/aws/core/lazy_error_classes.rb +1 -1
  114. data/lib/aws/core/log_formatter.rb +1 -1
  115. data/lib/aws/core/managed_file.rb +1 -1
  116. data/lib/aws/core/meta_utils.rb +1 -1
  117. data/lib/aws/core/model.rb +1 -1
  118. data/lib/aws/core/naming.rb +1 -1
  119. data/lib/aws/core/option_grammar.rb +1 -1
  120. data/lib/aws/core/options/json_serializer.rb +1 -1
  121. data/lib/aws/core/options/validator.rb +1 -1
  122. data/lib/aws/core/options/xml_serializer.rb +2 -2
  123. data/lib/aws/core/page_result.rb +1 -1
  124. data/lib/aws/core/policy.rb +1 -1
  125. data/lib/aws/core/query_client.rb +1 -1
  126. data/lib/aws/core/query_error_parser.rb +1 -1
  127. data/lib/aws/core/query_request_builder.rb +1 -1
  128. data/lib/aws/core/query_response_parser.rb +1 -1
  129. data/lib/aws/core/resource.rb +1 -1
  130. data/lib/aws/core/resource_cache.rb +1 -1
  131. data/lib/aws/core/response.rb +1 -1
  132. data/lib/aws/core/response_cache.rb +1 -1
  133. data/lib/aws/core/rest_error_parser.rb +1 -1
  134. data/lib/aws/core/rest_json_client.rb +1 -1
  135. data/lib/aws/core/rest_request_builder.rb +4 -4
  136. data/lib/aws/core/rest_response_parser.rb +13 -4
  137. data/lib/aws/core/rest_xml_client.rb +1 -1
  138. data/lib/aws/core/service_interface.rb +1 -1
  139. data/lib/aws/core/signature/version_2.rb +1 -1
  140. data/lib/aws/core/signature/version_3.rb +1 -1
  141. data/lib/aws/core/signature/version_3_https.rb +1 -1
  142. data/lib/aws/core/signature/version_4.rb +1 -1
  143. data/lib/aws/core/signer.rb +1 -1
  144. data/lib/aws/core/uri_escape.rb +1 -1
  145. data/lib/aws/core/xml/frame.rb +1 -1
  146. data/lib/aws/core/xml/frame_stack.rb +1 -1
  147. data/lib/aws/core/xml/grammar.rb +1 -1
  148. data/lib/aws/core/xml/parser.rb +1 -1
  149. data/lib/aws/core/xml/root_frame.rb +1 -1
  150. data/lib/aws/core/xml/sax_handlers/libxml.rb +1 -1
  151. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +1 -1
  152. data/lib/aws/core/xml/sax_handlers/ox.rb +1 -1
  153. data/lib/aws/core/xml/sax_handlers/rexml.rb +1 -1
  154. data/lib/aws/core/xml/stub.rb +1 -1
  155. data/lib/aws/data_pipeline.rb +42 -1
  156. data/lib/aws/data_pipeline/client.rb +91 -144
  157. data/lib/aws/data_pipeline/config.rb +1 -1
  158. data/lib/aws/data_pipeline/errors.rb +1 -1
  159. data/lib/aws/data_pipeline/request.rb +1 -1
  160. data/lib/aws/dynamo_db.rb +1 -1
  161. data/lib/aws/dynamo_db/attribute_collection.rb +1 -1
  162. data/lib/aws/dynamo_db/batch_get.rb +1 -1
  163. data/lib/aws/dynamo_db/batch_write.rb +1 -1
  164. data/lib/aws/dynamo_db/binary.rb +1 -1
  165. data/lib/aws/dynamo_db/client.rb +5 -5
  166. data/lib/aws/dynamo_db/config.rb +1 -1
  167. data/lib/aws/dynamo_db/errors.rb +1 -1
  168. data/lib/aws/dynamo_db/expectations.rb +1 -1
  169. data/lib/aws/dynamo_db/item.rb +1 -1
  170. data/lib/aws/dynamo_db/item_collection.rb +11 -11
  171. data/lib/aws/dynamo_db/item_data.rb +1 -1
  172. data/lib/aws/dynamo_db/keys.rb +1 -1
  173. data/lib/aws/dynamo_db/primary_key_element.rb +1 -1
  174. data/lib/aws/dynamo_db/request.rb +1 -1
  175. data/lib/aws/dynamo_db/resource.rb +1 -1
  176. data/lib/aws/dynamo_db/table.rb +1 -1
  177. data/lib/aws/dynamo_db/table_collection.rb +1 -1
  178. data/lib/aws/dynamo_db/types.rb +1 -1
  179. data/lib/aws/ec2.rb +1 -1
  180. data/lib/aws/ec2/attachment.rb +1 -1
  181. data/lib/aws/ec2/attachment_collection.rb +1 -1
  182. data/lib/aws/ec2/availability_zone.rb +1 -1
  183. data/lib/aws/ec2/availability_zone_collection.rb +1 -1
  184. data/lib/aws/ec2/block_device_mappings.rb +1 -1
  185. data/lib/aws/ec2/client.rb +26 -5
  186. data/lib/aws/ec2/collection.rb +1 -1
  187. data/lib/aws/ec2/config.rb +1 -1
  188. data/lib/aws/ec2/config_transform.rb +1 -1
  189. data/lib/aws/ec2/customer_gateway.rb +1 -1
  190. data/lib/aws/ec2/customer_gateway_collection.rb +1 -1
  191. data/lib/aws/ec2/dhcp_options.rb +1 -1
  192. data/lib/aws/ec2/dhcp_options_collection.rb +1 -1
  193. data/lib/aws/ec2/elastic_ip.rb +1 -1
  194. data/lib/aws/ec2/elastic_ip_collection.rb +1 -1
  195. data/lib/aws/ec2/errors.rb +1 -1
  196. data/lib/aws/ec2/export_task.rb +1 -1
  197. data/lib/aws/ec2/export_task_collection.rb +1 -1
  198. data/lib/aws/ec2/filtered_collection.rb +1 -1
  199. data/lib/aws/ec2/has_permissions.rb +1 -1
  200. data/lib/aws/ec2/image.rb +1 -1
  201. data/lib/aws/ec2/image_collection.rb +1 -1
  202. data/lib/aws/ec2/instance.rb +1 -1
  203. data/lib/aws/ec2/instance_collection.rb +2 -2
  204. data/lib/aws/ec2/internet_gateway.rb +1 -1
  205. data/lib/aws/ec2/internet_gateway/attachment.rb +1 -1
  206. data/lib/aws/ec2/internet_gateway_collection.rb +1 -1
  207. data/lib/aws/ec2/key_pair.rb +1 -1
  208. data/lib/aws/ec2/key_pair_collection.rb +1 -1
  209. data/lib/aws/ec2/network_acl.rb +1 -1
  210. data/lib/aws/ec2/network_acl/association.rb +1 -1
  211. data/lib/aws/ec2/network_acl/entry.rb +1 -1
  212. data/lib/aws/ec2/network_acl_collection.rb +1 -1
  213. data/lib/aws/ec2/network_interface.rb +1 -1
  214. data/lib/aws/ec2/network_interface/attachment.rb +1 -1
  215. data/lib/aws/ec2/network_interface_collection.rb +1 -1
  216. data/lib/aws/ec2/permission_collection.rb +1 -1
  217. data/lib/aws/ec2/region.rb +27 -19
  218. data/lib/aws/ec2/region_collection.rb +1 -1
  219. data/lib/aws/ec2/request.rb +1 -1
  220. data/lib/aws/ec2/reserved_instances.rb +1 -1
  221. data/lib/aws/ec2/reserved_instances_collection.rb +1 -1
  222. data/lib/aws/ec2/reserved_instances_offering.rb +1 -1
  223. data/lib/aws/ec2/reserved_instances_offering_collection.rb +1 -1
  224. data/lib/aws/ec2/resource.rb +1 -1
  225. data/lib/aws/ec2/resource_tag_collection.rb +1 -1
  226. data/lib/aws/ec2/route_table.rb +1 -1
  227. data/lib/aws/ec2/route_table/association.rb +1 -1
  228. data/lib/aws/ec2/route_table/route.rb +7 -1
  229. data/lib/aws/ec2/route_table_collection.rb +1 -1
  230. data/lib/aws/ec2/security_group.rb +15 -5
  231. data/lib/aws/ec2/security_group/ip_permission.rb +6 -2
  232. data/lib/aws/ec2/security_group/ip_permission_collection.rb +1 -1
  233. data/lib/aws/ec2/security_group_collection.rb +1 -1
  234. data/lib/aws/ec2/snapshot.rb +1 -1
  235. data/lib/aws/ec2/snapshot_collection.rb +1 -1
  236. data/lib/aws/ec2/subnet.rb +1 -1
  237. data/lib/aws/ec2/subnet_collection.rb +1 -1
  238. data/lib/aws/ec2/tag.rb +1 -1
  239. data/lib/aws/ec2/tag_collection.rb +1 -1
  240. data/lib/aws/ec2/tagged_collection.rb +1 -1
  241. data/lib/aws/ec2/tagged_item.rb +1 -1
  242. data/lib/aws/ec2/volume.rb +1 -1
  243. data/lib/aws/ec2/volume_collection.rb +1 -1
  244. data/lib/aws/ec2/vpc.rb +1 -1
  245. data/lib/aws/ec2/vpc_collection.rb +1 -1
  246. data/lib/aws/ec2/vpn_connection.rb +1 -1
  247. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  248. data/lib/aws/ec2/vpn_connection_collection.rb +1 -1
  249. data/lib/aws/ec2/vpn_gateway.rb +1 -1
  250. data/lib/aws/ec2/vpn_gateway/attachment.rb +1 -1
  251. data/lib/aws/ec2/vpn_gateway_collection.rb +1 -1
  252. data/lib/aws/elastic_beanstalk.rb +1 -1
  253. data/lib/aws/elastic_beanstalk/client.rb +5 -5
  254. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  255. data/lib/aws/elastic_beanstalk/errors.rb +1 -1
  256. data/lib/aws/elastic_beanstalk/request.rb +1 -1
  257. data/lib/aws/elastic_transcoder.rb +30 -0
  258. data/lib/aws/elastic_transcoder/client.rb +672 -0
  259. data/lib/aws/elastic_transcoder/config.rb +18 -0
  260. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  261. data/lib/aws/elastic_transcoder/request.rb +30 -0
  262. data/lib/aws/elasticache.rb +1 -1
  263. data/lib/aws/elasticache/client.rb +5 -6
  264. data/lib/aws/elasticache/config.rb +1 -1
  265. data/lib/aws/elasticache/errors.rb +1 -1
  266. data/lib/aws/elasticache/request.rb +1 -1
  267. data/lib/aws/elb.rb +1 -1
  268. data/lib/aws/elb/availability_zone_collection.rb +1 -1
  269. data/lib/aws/elb/backend_server_policy_collection.rb +1 -1
  270. data/lib/aws/elb/client.rb +5 -5
  271. data/lib/aws/elb/config.rb +1 -1
  272. data/lib/aws/elb/errors.rb +1 -1
  273. data/lib/aws/elb/instance_collection.rb +1 -1
  274. data/lib/aws/elb/listener.rb +1 -1
  275. data/lib/aws/elb/listener_collection.rb +1 -1
  276. data/lib/aws/elb/listener_opts.rb +1 -1
  277. data/lib/aws/elb/load_balancer.rb +1 -1
  278. data/lib/aws/elb/load_balancer_collection.rb +1 -1
  279. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  280. data/lib/aws/elb/load_balancer_policy_collection.rb +1 -1
  281. data/lib/aws/elb/request.rb +8 -2
  282. data/lib/aws/emr.rb +1 -1
  283. data/lib/aws/emr/client.rb +5 -5
  284. data/lib/aws/emr/config.rb +1 -1
  285. data/lib/aws/emr/errors.rb +1 -1
  286. data/lib/aws/emr/instance_group.rb +1 -1
  287. data/lib/aws/emr/instance_group_collection.rb +1 -1
  288. data/lib/aws/emr/job_flow.rb +1 -1
  289. data/lib/aws/emr/job_flow_collection.rb +1 -1
  290. data/lib/aws/emr/request.rb +1 -1
  291. data/lib/aws/errors.rb +1 -1
  292. data/lib/aws/glacier.rb +29 -1
  293. data/lib/aws/glacier/archive.rb +3 -1
  294. data/lib/aws/glacier/archive_collection.rb +19 -14
  295. data/lib/aws/glacier/client.rb +5 -5
  296. data/lib/aws/glacier/config.rb +1 -1
  297. data/lib/aws/glacier/errors.rb +1 -1
  298. data/lib/aws/glacier/request.rb +1 -1
  299. data/lib/aws/glacier/resource.rb +1 -1
  300. data/lib/aws/glacier/vault.rb +10 -2
  301. data/lib/aws/glacier/vault_collection.rb +1 -1
  302. data/lib/aws/glacier/vault_notification_configuration.rb +3 -1
  303. data/lib/aws/iam.rb +1 -1
  304. data/lib/aws/iam/access_key.rb +1 -1
  305. data/lib/aws/iam/access_key_collection.rb +1 -1
  306. data/lib/aws/iam/account_alias_collection.rb +1 -1
  307. data/lib/aws/iam/client.rb +5 -5
  308. data/lib/aws/iam/collection.rb +1 -1
  309. data/lib/aws/iam/config.rb +1 -1
  310. data/lib/aws/iam/errors.rb +1 -1
  311. data/lib/aws/iam/group.rb +1 -1
  312. data/lib/aws/iam/group_collection.rb +1 -1
  313. data/lib/aws/iam/group_policy_collection.rb +1 -1
  314. data/lib/aws/iam/group_user_collection.rb +1 -1
  315. data/lib/aws/iam/login_profile.rb +1 -1
  316. data/lib/aws/iam/mfa_device.rb +1 -1
  317. data/lib/aws/iam/mfa_device_collection.rb +1 -1
  318. data/lib/aws/iam/policy.rb +1 -1
  319. data/lib/aws/iam/policy_collection.rb +1 -1
  320. data/lib/aws/iam/request.rb +1 -1
  321. data/lib/aws/iam/resource.rb +5 -14
  322. data/lib/aws/iam/server_certificate.rb +1 -1
  323. data/lib/aws/iam/server_certificate_collection.rb +1 -1
  324. data/lib/aws/iam/signing_certificate.rb +1 -1
  325. data/lib/aws/iam/signing_certificate_collection.rb +1 -1
  326. data/lib/aws/iam/user.rb +1 -1
  327. data/lib/aws/iam/user_collection.rb +1 -1
  328. data/lib/aws/iam/user_group_collection.rb +1 -1
  329. data/lib/aws/iam/user_policy.rb +1 -1
  330. data/lib/aws/iam/user_policy_collection.rb +1 -1
  331. data/lib/aws/iam/virtual_mfa_device.rb +1 -1
  332. data/lib/aws/iam/virtual_mfa_device_collection.rb +1 -1
  333. data/lib/aws/import_export.rb +1 -1
  334. data/lib/aws/import_export/client.rb +5 -5
  335. data/lib/aws/import_export/config.rb +1 -1
  336. data/lib/aws/import_export/errors.rb +1 -1
  337. data/lib/aws/import_export/request.rb +1 -1
  338. data/lib/aws/rails.rb +1 -1
  339. data/lib/aws/rds.rb +1 -1
  340. data/lib/aws/rds/client.rb +193 -7
  341. data/lib/aws/rds/config.rb +1 -1
  342. data/lib/aws/rds/db_instance.rb +5 -1
  343. data/lib/aws/rds/db_instance_collection.rb +1 -1
  344. data/lib/aws/rds/db_snapshot.rb +1 -1
  345. data/lib/aws/rds/db_snapshot_collection.rb +1 -1
  346. data/lib/aws/rds/errors.rb +1 -1
  347. data/lib/aws/rds/request.rb +1 -1
  348. data/lib/aws/record.rb +1 -1
  349. data/lib/aws/record/abstract_base.rb +119 -63
  350. data/lib/aws/record/attributes.rb +1 -1
  351. data/lib/aws/record/conversion.rb +1 -1
  352. data/lib/aws/record/dirty_tracking.rb +1 -1
  353. data/lib/aws/record/errors.rb +1 -1
  354. data/lib/aws/record/exceptions.rb +2 -2
  355. data/lib/aws/record/hash_model.rb +1 -1
  356. data/lib/aws/record/hash_model/attributes.rb +1 -1
  357. data/lib/aws/record/hash_model/finder_methods.rb +1 -1
  358. data/lib/aws/record/hash_model/scope.rb +1 -1
  359. data/lib/aws/record/model.rb +1 -1
  360. data/lib/aws/record/model/attributes.rb +1 -1
  361. data/lib/aws/record/model/finder_methods.rb +1 -1
  362. data/lib/aws/record/model/scope.rb +1 -1
  363. data/lib/aws/record/naming.rb +1 -1
  364. data/lib/aws/record/scope.rb +2 -2
  365. data/lib/aws/record/validations.rb +21 -3
  366. data/lib/aws/record/validator.rb +11 -2
  367. data/lib/aws/record/validators/acceptance.rb +2 -2
  368. data/lib/aws/record/validators/block.rb +2 -2
  369. data/lib/aws/record/validators/confirmation.rb +1 -1
  370. data/lib/aws/record/validators/count.rb +1 -1
  371. data/lib/aws/record/validators/exclusion.rb +2 -2
  372. data/lib/aws/record/validators/format.rb +2 -2
  373. data/lib/aws/record/validators/inclusion.rb +2 -2
  374. data/lib/aws/record/validators/length.rb +2 -2
  375. data/lib/aws/record/validators/method.rb +1 -1
  376. data/lib/aws/record/validators/numericality.rb +2 -2
  377. data/lib/aws/record/validators/presence.rb +2 -2
  378. data/lib/aws/route_53.rb +17 -3
  379. data/lib/aws/route_53/change_batch.rb +159 -0
  380. data/lib/aws/route_53/change_info.rb +72 -0
  381. data/lib/aws/route_53/client.rb +5 -5
  382. data/lib/aws/route_53/config.rb +1 -1
  383. data/lib/aws/route_53/errors.rb +1 -1
  384. data/lib/aws/route_53/hosted_zone.rb +111 -0
  385. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  386. data/lib/aws/route_53/request.rb +1 -1
  387. data/lib/aws/route_53/resource_record_set.rb +212 -0
  388. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  389. data/lib/aws/s3.rb +3 -2
  390. data/lib/aws/s3/access_control_list.rb +1 -1
  391. data/lib/aws/s3/acl_object.rb +1 -1
  392. data/lib/aws/s3/acl_options.rb +1 -1
  393. data/lib/aws/s3/bucket.rb +114 -1
  394. data/lib/aws/s3/bucket_collection.rb +1 -1
  395. data/lib/aws/s3/bucket_lifecycle_configuration.rb +1 -1
  396. data/lib/aws/s3/bucket_tag_collection.rb +1 -1
  397. data/lib/aws/s3/bucket_version_collection.rb +1 -1
  398. data/lib/aws/s3/cipher_io.rb +1 -1
  399. data/lib/aws/s3/client.rb +148 -98
  400. data/lib/aws/s3/client/xml.rb +10 -1
  401. data/lib/aws/s3/config.rb +1 -1
  402. data/lib/aws/s3/cors_rule.rb +1 -1
  403. data/lib/aws/s3/cors_rule_collection.rb +1 -1
  404. data/lib/aws/s3/data_options.rb +1 -1
  405. data/lib/aws/s3/encryption_utils.rb +1 -1
  406. data/lib/aws/s3/errors.rb +1 -1
  407. data/lib/aws/s3/multipart_upload.rb +1 -1
  408. data/lib/aws/s3/multipart_upload_collection.rb +1 -1
  409. data/lib/aws/s3/object_collection.rb +1 -1
  410. data/lib/aws/s3/object_metadata.rb +1 -1
  411. data/lib/aws/s3/object_upload_collection.rb +1 -1
  412. data/lib/aws/s3/object_version.rb +1 -1
  413. data/lib/aws/s3/object_version_collection.rb +1 -1
  414. data/lib/aws/s3/paginated_collection.rb +1 -1
  415. data/lib/aws/s3/policy.rb +1 -1
  416. data/lib/aws/s3/prefix_and_delimiter_collection.rb +1 -1
  417. data/lib/aws/s3/prefixed_collection.rb +1 -1
  418. data/lib/aws/s3/presigned_post.rb +1 -1
  419. data/lib/aws/s3/request.rb +4 -2
  420. data/lib/aws/s3/s3_object.rb +77 -83
  421. data/lib/aws/s3/tree.rb +1 -1
  422. data/lib/aws/s3/tree/branch_node.rb +1 -1
  423. data/lib/aws/s3/tree/child_collection.rb +1 -1
  424. data/lib/aws/s3/tree/leaf_node.rb +1 -1
  425. data/lib/aws/s3/tree/node.rb +1 -1
  426. data/lib/aws/s3/tree/parent.rb +1 -1
  427. data/lib/aws/s3/uploaded_part.rb +1 -1
  428. data/lib/aws/s3/uploaded_part_collection.rb +1 -1
  429. data/lib/aws/s3/website_configuration.rb +60 -0
  430. data/lib/aws/simple_db.rb +1 -1
  431. data/lib/aws/simple_db/attribute.rb +1 -1
  432. data/lib/aws/simple_db/attribute_collection.rb +1 -1
  433. data/lib/aws/simple_db/client.rb +5 -5
  434. data/lib/aws/simple_db/config.rb +1 -1
  435. data/lib/aws/simple_db/consistent_read_option.rb +1 -1
  436. data/lib/aws/simple_db/delete_attributes.rb +1 -1
  437. data/lib/aws/simple_db/domain.rb +1 -1
  438. data/lib/aws/simple_db/domain_collection.rb +1 -1
  439. data/lib/aws/simple_db/domain_metadata.rb +1 -1
  440. data/lib/aws/simple_db/errors.rb +1 -1
  441. data/lib/aws/simple_db/expect_condition_option.rb +1 -1
  442. data/lib/aws/simple_db/item.rb +1 -1
  443. data/lib/aws/simple_db/item_collection.rb +1 -1
  444. data/lib/aws/simple_db/item_data.rb +1 -1
  445. data/lib/aws/simple_db/put_attributes.rb +1 -1
  446. data/lib/aws/simple_db/request.rb +1 -1
  447. data/lib/aws/simple_email_service.rb +1 -1
  448. data/lib/aws/simple_email_service/client.rb +5 -5
  449. data/lib/aws/simple_email_service/config.rb +1 -1
  450. data/lib/aws/simple_email_service/email_address_collection.rb +1 -1
  451. data/lib/aws/simple_email_service/errors.rb +1 -1
  452. data/lib/aws/simple_email_service/identity.rb +1 -1
  453. data/lib/aws/simple_email_service/identity_collection.rb +1 -1
  454. data/lib/aws/simple_email_service/quotas.rb +1 -1
  455. data/lib/aws/simple_email_service/request.rb +1 -1
  456. data/lib/aws/simple_workflow.rb +1 -1
  457. data/lib/aws/simple_workflow/activity_task.rb +1 -1
  458. data/lib/aws/simple_workflow/activity_task_collection.rb +1 -1
  459. data/lib/aws/simple_workflow/activity_type.rb +1 -1
  460. data/lib/aws/simple_workflow/activity_type_collection.rb +1 -1
  461. data/lib/aws/simple_workflow/client.rb +5 -5
  462. data/lib/aws/simple_workflow/config.rb +1 -1
  463. data/lib/aws/simple_workflow/count.rb +1 -1
  464. data/lib/aws/simple_workflow/decision_task.rb +4 -2
  465. data/lib/aws/simple_workflow/decision_task_collection.rb +1 -1
  466. data/lib/aws/simple_workflow/domain.rb +1 -1
  467. data/lib/aws/simple_workflow/domain_collection.rb +1 -1
  468. data/lib/aws/simple_workflow/errors.rb +1 -1
  469. data/lib/aws/simple_workflow/history_event.rb +1 -1
  470. data/lib/aws/simple_workflow/history_event_collection.rb +1 -1
  471. data/lib/aws/simple_workflow/option_formatters.rb +1 -1
  472. data/lib/aws/simple_workflow/request.rb +1 -1
  473. data/lib/aws/simple_workflow/resource.rb +1 -1
  474. data/lib/aws/simple_workflow/type.rb +1 -1
  475. data/lib/aws/simple_workflow/type_collection.rb +1 -1
  476. data/lib/aws/simple_workflow/workflow_execution.rb +1 -1
  477. data/lib/aws/simple_workflow/workflow_execution_collection.rb +1 -1
  478. data/lib/aws/simple_workflow/workflow_type.rb +1 -1
  479. data/lib/aws/simple_workflow/workflow_type_collection.rb +1 -1
  480. data/lib/aws/sns.rb +1 -1
  481. data/lib/aws/sns/client.rb +5 -5
  482. data/lib/aws/sns/config.rb +1 -1
  483. data/lib/aws/sns/errors.rb +1 -1
  484. data/lib/aws/sns/has_delivery_policy.rb +1 -1
  485. data/lib/aws/sns/policy.rb +1 -1
  486. data/lib/aws/sns/request.rb +1 -1
  487. data/lib/aws/sns/subscription.rb +1 -1
  488. data/lib/aws/sns/subscription_collection.rb +1 -1
  489. data/lib/aws/sns/topic.rb +1 -1
  490. data/lib/aws/sns/topic_collection.rb +1 -1
  491. data/lib/aws/sns/topic_subscription_collection.rb +1 -1
  492. data/lib/aws/sqs.rb +1 -1
  493. data/lib/aws/sqs/client.rb +5 -5
  494. data/lib/aws/sqs/config.rb +1 -1
  495. data/lib/aws/sqs/errors.rb +1 -1
  496. data/lib/aws/sqs/policy.rb +1 -1
  497. data/lib/aws/sqs/queue.rb +2 -2
  498. data/lib/aws/sqs/queue_collection.rb +1 -1
  499. data/lib/aws/sqs/received_message.rb +1 -1
  500. data/lib/aws/sqs/received_sns_message.rb +6 -2
  501. data/lib/aws/sqs/request.rb +1 -1
  502. data/lib/aws/storage_gateway.rb +1 -1
  503. data/lib/aws/storage_gateway/client.rb +5 -5
  504. data/lib/aws/storage_gateway/config.rb +1 -1
  505. data/lib/aws/storage_gateway/errors.rb +1 -1
  506. data/lib/aws/storage_gateway/request.rb +1 -1
  507. data/lib/aws/sts.rb +1 -1
  508. data/lib/aws/sts/client.rb +5 -5
  509. data/lib/aws/sts/config.rb +1 -1
  510. data/lib/aws/sts/errors.rb +1 -1
  511. data/lib/aws/sts/federated_session.rb +1 -1
  512. data/lib/aws/sts/policy.rb +1 -1
  513. data/lib/aws/sts/request.rb +1 -1
  514. data/lib/aws/sts/session.rb +1 -1
  515. data/lib/aws/version.rb +2 -2
  516. data/lib/net/http/connection_pool.rb +1 -1
  517. data/lib/net/http/connection_pool/connection.rb +1 -1
  518. data/lib/net/http/connection_pool/session.rb +1 -1
  519. data/rails/init.rb +1 -1
  520. metadata +18 -6
  521. data/lib/aws/core/http/httparty_handler.rb +0 -115
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -22,7 +22,7 @@ module AWS
22
22
  end
23
23
  end
24
24
 
25
- # Raised when calling #save! or #update_attributes! on a record that
25
+ # Raised when calling #save!, #create! or #update_attributes! on a record that
26
26
  # has validation errors.
27
27
  # @private
28
28
  class InvalidRecordError < StandardError
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -140,7 +140,7 @@ module AWS
140
140
  if block_given?
141
141
  _each_object(&block)
142
142
  else
143
- Enumerator.new(self, :"_each_object")
143
+ to_enum(:"_each_object")
144
144
  end
145
145
  end
146
146
 
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -42,7 +42,8 @@ module AWS
42
42
  #
43
43
  # validates_length_of :summary,
44
44
  # :max => 500,
45
- # :allow_nil => true
45
+ # :allow_nil => true,
46
+ # :allow_blank => true
46
47
  #
47
48
  # end
48
49
  #
@@ -217,6 +218,8 @@ module AWS
217
218
  # +:message+ is "must be accepted".
218
219
  # @option options [Boolean] :allow_nil (true) Skip validation if the
219
220
  # attribute value is +nil+.
221
+ # @option options [Boolean] :allow_blank (true) Skip validation if the
222
+ # attribute value is +blank+.
220
223
  # @option options [Symbol] :on (:save) When this validation is run.
221
224
  # Valid values include:
222
225
  # * +:save+
@@ -265,7 +268,8 @@ module AWS
265
268
  # This validator works only with single-valued attributes.
266
269
  # It should not be used on attributes that have array or set values.
267
270
  #
268
- # @note This validation method does not accept the +:allow_nil+ option.
271
+ # @note This validation method does not accept the +:allow_nil+ or the
272
+ # +:allow_blank+ options.
269
273
  #
270
274
  # @overload validates_confirmation_of(*attributes, options = {}, &block)
271
275
  # @param attributes A list of attribute names to validate.
@@ -393,6 +397,8 @@ module AWS
393
397
  # @param [Hash] options
394
398
  # @option options [Boolean] :allow_nil (false) Skip validation if the
395
399
  # attribute value is +nil+.
400
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
401
+ # attribute value is +blank+.
396
402
  # @option options [Symbol] :on (:save) When this validation is run.
397
403
  # Valid values include:
398
404
  # * +:save+
@@ -439,6 +445,8 @@ module AWS
439
445
  # +:message+ is "is reserved".
440
446
  # @option options [Boolean] :allow_nil (false) Skip validation if the
441
447
  # attribute value is +nil+.
448
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
449
+ # attribute value is +blank+.
442
450
  # @option options [Symbol] :on (:save) When this validation is run.
443
451
  # Valid values include:
444
452
  # * +:save+
@@ -488,6 +496,8 @@ module AWS
488
496
  # +:message+ is "is reserved".
489
497
  # @option options [Boolean] :allow_nil (false) Skip validation if the
490
498
  # attribute value is +nil+.
499
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
500
+ # attribute value is +blank+.
491
501
  # @option options [Symbol] :on (:save) When this validation is run.
492
502
  # Valid values include:
493
503
  # * +:save+
@@ -525,6 +535,8 @@ module AWS
525
535
  # +:message+ is "is not included in the list".
526
536
  # @option options [Boolean] :allow_nil (false) Skip validation if the
527
537
  # attribute value is +nil+.
538
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
539
+ # attribute value is +blank+.
528
540
  # @option options [Symbol] :on (:save) When this validation is run.
529
541
  # Valid values include:
530
542
  # * +:save+
@@ -586,6 +598,8 @@ module AWS
586
598
  # length (should be %{exactly} characters"</code>
587
599
  # @option options [Boolean] :allow_nil (false) Skip validation if the
588
600
  # attribute value is +nil+.
601
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
602
+ # attribute value is +blank+.
589
603
  # @option options [Symbol] :on (:save) When this validation is run.
590
604
  # Valid values include:
591
605
  # * +:save+
@@ -636,6 +650,8 @@ module AWS
636
650
  # +:message+ is "is not a number".
637
651
  # @option options [Boolean] :allow_nil (false) Skip validation if the
638
652
  # attribute value is +nil+.
653
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
654
+ # attribute value is +blank+.
639
655
  # @option options [Symbol] :on (:save) When this validation is run.
640
656
  # Valid values include:
641
657
  # * +:save+
@@ -672,6 +688,8 @@ module AWS
672
688
  # * +:update+
673
689
  # @option options [Boolean] :allow_nil (false) Skip validation if the
674
690
  # attribute value is +nil+.
691
+ # @option options [Boolean] :allow_blank (false) Skip validation if the
692
+ # attribute value is +blank+.
675
693
  # @option options [Symbol,String,Proc] :if Specifies a method or proc
676
694
  # to call. The validation will only be run if the return value is
677
695
  # of the method/proc is true (e.g. +:if => :name_changed?+ or
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -97,11 +97,20 @@ module AWS
97
97
  def validate_attributes record
98
98
  attribute_names.each do |attribute_name|
99
99
  value = read_attribute_for_validation(record, attribute_name)
100
- next if value.nil? and options[:allow_nil]
100
+ next if (value.nil? && options[:allow_nil]) || (blank?(value) && options[:allow_blank])
101
101
  validate_attribute(record, attribute_name, value)
102
102
  end
103
103
  end
104
104
 
105
+ def blank? value
106
+ case value
107
+ when nil then true
108
+ when String then value !~ /\S/
109
+ else
110
+ !value
111
+ end
112
+ end
113
+
105
114
  # @private
106
115
  protected
107
116
  def read_attribute_for_validation(record, attribute_name)
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -19,7 +19,7 @@ module AWS
19
19
  # @private
20
20
  class AcceptanceValidator < Validator
21
21
 
22
- ACCEPTED_OPTIONS = [:accept, :message, :allow_nil, :on, :if, :unless]
22
+ ACCEPTED_OPTIONS = [:accept, :message, :allow_nil, :allow_blank, :on, :if, :unless]
23
23
 
24
24
  def setup record_class
25
25
  set_default(:allow_nil, true)
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -19,7 +19,7 @@ module AWS
19
19
  # @private
20
20
  class BlockValidator < Validator
21
21
 
22
- ACCEPTED_OPTIONS = [:allow_nil, :on, :if, :unless]
22
+ ACCEPTED_OPTIONS = [:allow_nil, :allow_blank, :on, :if, :unless]
23
23
 
24
24
  def initialize *args, &block
25
25
  @block = block
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -19,7 +19,7 @@ module AWS
19
19
  # @private
20
20
  class ExclusionValidator < InclusionValidator
21
21
 
22
- ACCEPTED_OPTIONS = [:in, :message, :allow_nil, :on, :if, :unless]
22
+ ACCEPTED_OPTIONS = [:in, :message, :allow_nil, :allow_blank, :on, :if, :unless]
23
23
 
24
24
  def setup record_class
25
25
  ensure_present(:in)
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -21,7 +21,7 @@ module AWS
21
21
 
22
22
  ACCEPTED_OPTIONS = [
23
23
  :with, :without,
24
- :message, :allow_nil, :on, :if, :unless,
24
+ :message, :allow_nil, :allow_blank, :on, :if, :unless,
25
25
  ]
26
26
 
27
27
  def setup record_class
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -19,7 +19,7 @@ module AWS
19
19
  # @private
20
20
  class InclusionValidator < Validator
21
21
 
22
- ACCEPTED_OPTIONS = [:in, :message, :allow_nil, :on, :if, :unless]
22
+ ACCEPTED_OPTIONS = [:in, :message, :allow_nil, :allow_blank, :on, :if, :unless]
23
23
 
24
24
  def setup record_class
25
25
  ensure_present(:in)
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -22,7 +22,7 @@ module AWS
22
22
  ACCEPTED_OPTIONS = [
23
23
  :exactly, :within, :minimum, :maximum,
24
24
  :too_long, :too_short, :wrong_length,
25
- :allow_nil, :on, :if, :unless,
25
+ :allow_nil, :allow_blank, :on, :if, :unless,
26
26
  ]
27
27
 
28
28
  def setup record_class
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -23,7 +23,7 @@ module AWS
23
23
  :greater_than, :greater_than_or_equal_to,
24
24
  :less_than, :less_than_or_equal_to,
25
25
  :equal_to, :only_integer, :odd, :even,
26
- :message, :allow_nil, :on, :if, :unless,
26
+ :message, :allow_nil, :allow_blank, :on, :if, :unless,
27
27
  ]
28
28
 
29
29
  COMPARISONS = {
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -19,7 +19,7 @@ module AWS
19
19
  # @private
20
20
  class PresenceValidator < Validator
21
21
 
22
- ACCEPTED_OPTIONS = [:message, :allow_nil, :on, :if, :unless]
22
+ ACCEPTED_OPTIONS = [:message, :allow_nil, :allow_blank, :on, :if, :unless]
23
23
 
24
24
  def validate_attribute record, attribute_name, value
25
25
 
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -60,12 +60,26 @@ module AWS
60
60
  class Route53
61
61
 
62
62
  AWS.register_autoloads(self, 'aws/route_53') do
63
- autoload :Client, 'client'
64
- autoload :Errors, 'errors'
63
+ autoload :ChangeRequest, 'change_batch'
64
+ autoload :ChangeBatch, 'change_batch'
65
+ autoload :ChangeInfo, 'change_info'
66
+ autoload :Client, 'client'
67
+ autoload :CreateRequest, 'change_batch'
68
+ autoload :DeleteRequest, 'change_batch'
69
+ autoload :Errors, 'errors'
70
+ autoload :HostedZone, 'hosted_zone'
71
+ autoload :HostedZoneCollection, 'hosted_zone_collection'
65
72
  autoload :Request, 'request'
73
+ autoload :ResourceRecordSet, 'resource_record_set'
74
+ autoload :ResourceRecordSetCollection, 'resource_record_set_collection'
66
75
  end
67
76
 
68
77
  include Core::ServiceInterface
69
78
 
79
+ # @return [HostedZoneCollection]
80
+ def hosted_zones
81
+ HostedZoneCollection.new(:config => config)
82
+ end
83
+
70
84
  end
71
85
  end
@@ -0,0 +1,159 @@
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 Route53
16
+
17
+ # = Modify resource record sets with ChangeBatch
18
+ #
19
+ # batch = AWS::Route53::ChangeBatch.new(hosted_zone_id)
20
+ # batch << AWS::Route53::CreateRequest.new('foo.example.com.', 'A', :resource_records => [{:value => '192.168.0.1'}])
21
+ # batch << AWS::Route53::DeleteRequest.new('bar.example.com.', 'CNAME')
22
+ # batch << AWS::Route53::DeleteRequest.new('baz.example.com.', 'AAAA')
23
+ # batch << AWS::Route53::CreateRequest.new('baz.example.com.', 'AAAA', :resource_records => [{:value => '192.168.0.3'}])
24
+ #
25
+ # batch.call
26
+ #
27
+ class ChangeBatch
28
+
29
+ include Enumerable
30
+ include Core::Model
31
+
32
+ # @private
33
+ def initialize hosted_zone_id, options = {}
34
+ super(options)
35
+ @hosted_zone_id = hosted_zone_id
36
+ @comment = options[:comment]
37
+ @changes = []
38
+ end
39
+
40
+ # @return [String]
41
+ attr_reader :hosted_zone_id
42
+
43
+ # @return [Array<ChangeRequest>]
44
+ attr_reader :changes
45
+
46
+ # @return [String]
47
+ attr_reader :comment
48
+
49
+ # @param [ChangeRequest] change
50
+ # @return [Array]
51
+ def push change
52
+ @changes.push(change)
53
+ end
54
+
55
+ alias_method :<<, :push
56
+
57
+ # Calls change batch request.
58
+ # @option (see Client#change_resource_record_sets)
59
+ # @return [ChangeInfo]
60
+ def call options={}
61
+ resp = client.change_resource_record_sets(options.merge(self.to_hash))
62
+ if resp[:change_info][:id]
63
+ ChangeInfo.new_from(:change_resource_record_sets,
64
+ resp[:change_info],
65
+ resp[:change_info][:id],
66
+ :config => config)
67
+ end
68
+ end
69
+
70
+ # Enumerates over changes.
71
+ def each(&block)
72
+ @changes.each(&block)
73
+ end
74
+
75
+ # Returns length of changes.
76
+ # @return [Integer]
77
+ def length
78
+ @changes.length
79
+ end
80
+
81
+ alias_method :size, :length
82
+
83
+ # Build query from change batch.
84
+ # @return [Hash]
85
+ def to_hash
86
+ q = {}
87
+ q[:hosted_zone_id] = hosted_zone_id
88
+ q[:change_batch] = {}
89
+ q[:change_batch][:comment] = comment if comment
90
+ q[:change_batch][:changes] = []
91
+ self.each { |change|
92
+ q[:change_batch][:changes] << change.to_hash
93
+ }
94
+ q
95
+ end
96
+ end
97
+
98
+ class ChangeRequest
99
+
100
+ # @private
101
+ def initialize(action, name, type, options={})
102
+ @action = action
103
+ @name = name
104
+ @type = type
105
+ @change_options = options
106
+ end
107
+
108
+ # @return [String]
109
+ attr_reader :action
110
+
111
+ # @return [String]
112
+ attr_reader :name
113
+
114
+ # @return [String]
115
+ attr_reader :type
116
+
117
+ # Build query fro change request.
118
+ # @return [Hash]
119
+ def to_hash
120
+ q = {}
121
+ q[:action] = action
122
+ q[:resource_record_set] = {}
123
+ q[:resource_record_set][:name] = name
124
+ q[:resource_record_set][:type] = type
125
+ q[:resource_record_set][:set_identifier] = @change_options[:set_identifier] if @change_options[:set_identifier]
126
+ q[:resource_record_set][:weight] = @change_options[:weight] if @change_options[:weight]
127
+ q[:resource_record_set][:region] = @change_options[:region] if @change_options[:region]
128
+ q[:resource_record_set][:ttl] = @change_options[:ttl] if @change_options[:ttl]
129
+ q[:resource_record_set][:resource_records] = @change_options[:resource_records] if @change_options[:resource_records]
130
+ q[:resource_record_set][:alias_target] = @change_options[:alias_target] if @change_options[:alias_target]
131
+ q
132
+ end
133
+ end
134
+
135
+ # A change request to create a resource record set.
136
+ class CreateRequest < ChangeRequest
137
+
138
+ # @param [String] name
139
+ # @param [String] type
140
+ # @param [Hash] options
141
+ def initialize name, type, options = {}
142
+ super('CREATE', name, type, options)
143
+ end
144
+
145
+ end
146
+
147
+ # A change request to delete a resource record set.
148
+ class DeleteRequest < ChangeRequest
149
+
150
+ # @param [String] name
151
+ # @param [String] type
152
+ # @param [Hash] options
153
+ def initialize name, type, options = {}
154
+ super('DELETE', name, type, options)
155
+ end
156
+
157
+ end
158
+ end
159
+ end