aws-sdk-euca 1.8.5

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 (539) hide show
  1. data/.yardopts +5 -0
  2. data/LICENSE.txt +12 -0
  3. data/README.rdoc +189 -0
  4. data/ca-bundle.crt +3895 -0
  5. data/lib/aws-sdk-euca.rb +79 -0
  6. data/lib/aws-sdk.rb +79 -0
  7. data/lib/aws.rb +14 -0
  8. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
  9. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
  10. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
  11. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
  12. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
  13. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  14. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
  15. data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
  16. data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
  17. data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
  18. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
  19. data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
  20. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
  21. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  22. data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
  23. data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
  24. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  25. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
  26. data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
  27. data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
  28. data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
  29. data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
  30. data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
  31. data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
  32. data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
  33. data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
  34. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
  35. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
  36. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
  37. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  38. data/lib/aws/auto_scaling.rb +164 -0
  39. data/lib/aws/auto_scaling/activity.rb +102 -0
  40. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  41. data/lib/aws/auto_scaling/client.rb +521 -0
  42. data/lib/aws/auto_scaling/config.rb +18 -0
  43. data/lib/aws/auto_scaling/errors.rb +22 -0
  44. data/lib/aws/auto_scaling/group.rb +420 -0
  45. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  46. data/lib/aws/auto_scaling/group_options.rb +146 -0
  47. data/lib/aws/auto_scaling/instance.rb +192 -0
  48. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  49. data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
  50. data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
  51. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  52. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  53. data/lib/aws/auto_scaling/request.rb +29 -0
  54. data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
  55. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  56. data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
  57. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  58. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  59. data/lib/aws/auto_scaling/tag.rb +59 -0
  60. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  61. data/lib/aws/cloud_formation.rb +272 -0
  62. data/lib/aws/cloud_formation/client.rb +369 -0
  63. data/lib/aws/cloud_formation/config.rb +18 -0
  64. data/lib/aws/cloud_formation/errors.rb +22 -0
  65. data/lib/aws/cloud_formation/request.rb +29 -0
  66. data/lib/aws/cloud_formation/stack.rb +255 -0
  67. data/lib/aws/cloud_formation/stack_collection.rb +209 -0
  68. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  69. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  70. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  71. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  72. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  73. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  74. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
  75. data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
  76. data/lib/aws/cloud_front.rb +73 -0
  77. data/lib/aws/cloud_front/client.rb +1307 -0
  78. data/lib/aws/cloud_front/config.rb +18 -0
  79. data/lib/aws/cloud_front/errors.rb +22 -0
  80. data/lib/aws/cloud_front/request.rb +44 -0
  81. data/lib/aws/cloud_search.rb +74 -0
  82. data/lib/aws/cloud_search/client.rb +558 -0
  83. data/lib/aws/cloud_search/config.rb +18 -0
  84. data/lib/aws/cloud_search/errors.rb +22 -0
  85. data/lib/aws/cloud_search/request.rb +23 -0
  86. data/lib/aws/cloud_watch.rb +119 -0
  87. data/lib/aws/cloud_watch/alarm.rb +272 -0
  88. data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
  89. data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
  90. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
  91. data/lib/aws/cloud_watch/client.rb +247 -0
  92. data/lib/aws/cloud_watch/config.rb +18 -0
  93. data/lib/aws/cloud_watch/errors.rb +22 -0
  94. data/lib/aws/cloud_watch/metric.rb +135 -0
  95. data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
  96. data/lib/aws/cloud_watch/metric_collection.rb +131 -0
  97. data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
  98. data/lib/aws/cloud_watch/request.rb +23 -0
  99. data/lib/aws/core.rb +587 -0
  100. data/lib/aws/core/async_handle.rb +90 -0
  101. data/lib/aws/core/autoloader.rb +64 -0
  102. data/lib/aws/core/cacheable.rb +78 -0
  103. data/lib/aws/core/client.rb +691 -0
  104. data/lib/aws/core/collection.rb +267 -0
  105. data/lib/aws/core/collection/simple.rb +82 -0
  106. data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
  107. data/lib/aws/core/collection/with_next_token.rb +97 -0
  108. data/lib/aws/core/configuration.rb +546 -0
  109. data/lib/aws/core/credential_providers.rb +461 -0
  110. data/lib/aws/core/data.rb +247 -0
  111. data/lib/aws/core/http/curb_handler.rb +155 -0
  112. data/lib/aws/core/http/handler.rb +89 -0
  113. data/lib/aws/core/http/net_http_handler.rb +128 -0
  114. data/lib/aws/core/http/request.rb +263 -0
  115. data/lib/aws/core/http/response.rb +81 -0
  116. data/lib/aws/core/indifferent_hash.rb +88 -0
  117. data/lib/aws/core/inflection.rb +56 -0
  118. data/lib/aws/core/json_client.rb +47 -0
  119. data/lib/aws/core/json_parser.rb +76 -0
  120. data/lib/aws/core/json_request_builder.rb +35 -0
  121. data/lib/aws/core/json_response_parser.rb +79 -0
  122. data/lib/aws/core/lazy_error_classes.rb +90 -0
  123. data/lib/aws/core/log_formatter.rb +462 -0
  124. data/lib/aws/core/managed_file.rb +32 -0
  125. data/lib/aws/core/meta_utils.rb +45 -0
  126. data/lib/aws/core/model.rb +57 -0
  127. data/lib/aws/core/naming.rb +30 -0
  128. data/lib/aws/core/option_grammar.rb +735 -0
  129. data/lib/aws/core/options/json_serializer.rb +82 -0
  130. data/lib/aws/core/options/validator.rb +155 -0
  131. data/lib/aws/core/options/xml_serializer.rb +118 -0
  132. data/lib/aws/core/page_result.rb +75 -0
  133. data/lib/aws/core/policy.rb +916 -0
  134. data/lib/aws/core/query_client.rb +41 -0
  135. data/lib/aws/core/query_error_parser.rb +24 -0
  136. data/lib/aws/core/query_request_builder.rb +47 -0
  137. data/lib/aws/core/query_response_parser.rb +35 -0
  138. data/lib/aws/core/resource.rb +413 -0
  139. data/lib/aws/core/resource_cache.rb +40 -0
  140. data/lib/aws/core/response.rb +208 -0
  141. data/lib/aws/core/response_cache.rb +50 -0
  142. data/lib/aws/core/rest_error_parser.rb +24 -0
  143. data/lib/aws/core/rest_json_client.rb +40 -0
  144. data/lib/aws/core/rest_request_builder.rb +146 -0
  145. data/lib/aws/core/rest_response_parser.rb +66 -0
  146. data/lib/aws/core/rest_xml_client.rb +47 -0
  147. data/lib/aws/core/service_interface.rb +61 -0
  148. data/lib/aws/core/signature/version_2.rb +56 -0
  149. data/lib/aws/core/signature/version_3.rb +77 -0
  150. data/lib/aws/core/signature/version_3_https.rb +54 -0
  151. data/lib/aws/core/signature/version_4.rb +135 -0
  152. data/lib/aws/core/signer.rb +46 -0
  153. data/lib/aws/core/uri_escape.rb +44 -0
  154. data/lib/aws/core/xml/frame.rb +244 -0
  155. data/lib/aws/core/xml/frame_stack.rb +85 -0
  156. data/lib/aws/core/xml/grammar.rb +307 -0
  157. data/lib/aws/core/xml/parser.rb +70 -0
  158. data/lib/aws/core/xml/root_frame.rb +65 -0
  159. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  160. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  161. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  162. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  163. data/lib/aws/core/xml/stub.rb +123 -0
  164. data/lib/aws/data_pipeline.rb +73 -0
  165. data/lib/aws/data_pipeline/client.rb +339 -0
  166. data/lib/aws/data_pipeline/config.rb +18 -0
  167. data/lib/aws/data_pipeline/errors.rb +20 -0
  168. data/lib/aws/data_pipeline/request.rb +26 -0
  169. data/lib/aws/dynamo_db.rb +206 -0
  170. data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
  171. data/lib/aws/dynamo_db/batch_get.rb +213 -0
  172. data/lib/aws/dynamo_db/batch_write.rb +252 -0
  173. data/lib/aws/dynamo_db/binary.rb +35 -0
  174. data/lib/aws/dynamo_db/client.rb +904 -0
  175. data/lib/aws/dynamo_db/config.rb +24 -0
  176. data/lib/aws/dynamo_db/errors.rb +20 -0
  177. data/lib/aws/dynamo_db/expectations.rb +40 -0
  178. data/lib/aws/dynamo_db/item.rb +133 -0
  179. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  180. data/lib/aws/dynamo_db/item_data.rb +31 -0
  181. data/lib/aws/dynamo_db/keys.rb +41 -0
  182. data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
  183. data/lib/aws/dynamo_db/request.rb +26 -0
  184. data/lib/aws/dynamo_db/resource.rb +33 -0
  185. data/lib/aws/dynamo_db/table.rb +491 -0
  186. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  187. data/lib/aws/dynamo_db/types.rb +111 -0
  188. data/lib/aws/ec2.rb +440 -0
  189. data/lib/aws/ec2/attachment.rb +140 -0
  190. data/lib/aws/ec2/attachment_collection.rb +54 -0
  191. data/lib/aws/ec2/availability_zone.rb +86 -0
  192. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  193. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  194. data/lib/aws/ec2/client.rb +3621 -0
  195. data/lib/aws/ec2/collection.rb +36 -0
  196. data/lib/aws/ec2/config.rb +18 -0
  197. data/lib/aws/ec2/config_transform.rb +63 -0
  198. data/lib/aws/ec2/customer_gateway.rb +90 -0
  199. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  200. data/lib/aws/ec2/dhcp_options.rb +106 -0
  201. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  202. data/lib/aws/ec2/elastic_ip.rb +208 -0
  203. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  204. data/lib/aws/ec2/errors.rb +32 -0
  205. data/lib/aws/ec2/export_task.rb +120 -0
  206. data/lib/aws/ec2/export_task_collection.rb +67 -0
  207. data/lib/aws/ec2/filtered_collection.rb +89 -0
  208. data/lib/aws/ec2/has_permissions.rb +44 -0
  209. data/lib/aws/ec2/image.rb +264 -0
  210. data/lib/aws/ec2/image_collection.rb +228 -0
  211. data/lib/aws/ec2/instance.rb +796 -0
  212. data/lib/aws/ec2/instance_collection.rb +372 -0
  213. data/lib/aws/ec2/internet_gateway.rb +122 -0
  214. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  215. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  216. data/lib/aws/ec2/key_pair.rb +82 -0
  217. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  218. data/lib/aws/ec2/network_acl.rb +256 -0
  219. data/lib/aws/ec2/network_acl/association.rb +56 -0
  220. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  221. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  222. data/lib/aws/ec2/network_interface.rb +228 -0
  223. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  224. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  225. data/lib/aws/ec2/permission_collection.rb +174 -0
  226. data/lib/aws/ec2/region.rb +106 -0
  227. data/lib/aws/ec2/region_collection.rb +51 -0
  228. data/lib/aws/ec2/request.rb +21 -0
  229. data/lib/aws/ec2/reserved_instances.rb +56 -0
  230. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  231. data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
  232. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  233. data/lib/aws/ec2/resource.rb +161 -0
  234. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  235. data/lib/aws/ec2/route_table.rb +205 -0
  236. data/lib/aws/ec2/route_table/association.rb +119 -0
  237. data/lib/aws/ec2/route_table/route.rb +119 -0
  238. data/lib/aws/ec2/route_table_collection.rb +72 -0
  239. data/lib/aws/ec2/security_group.rb +484 -0
  240. data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
  241. data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
  242. data/lib/aws/ec2/security_group_collection.rb +135 -0
  243. data/lib/aws/ec2/snapshot.rb +143 -0
  244. data/lib/aws/ec2/snapshot_collection.rb +132 -0
  245. data/lib/aws/ec2/subnet.rb +161 -0
  246. data/lib/aws/ec2/subnet_collection.rb +115 -0
  247. data/lib/aws/ec2/tag.rb +81 -0
  248. data/lib/aws/ec2/tag_collection.rb +107 -0
  249. data/lib/aws/ec2/tagged_collection.rb +53 -0
  250. data/lib/aws/ec2/tagged_item.rb +85 -0
  251. data/lib/aws/ec2/volume.rb +174 -0
  252. data/lib/aws/ec2/volume_collection.rb +101 -0
  253. data/lib/aws/ec2/vpc.rb +166 -0
  254. data/lib/aws/ec2/vpc_collection.rb +70 -0
  255. data/lib/aws/ec2/vpn_connection.rb +99 -0
  256. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  257. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  258. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  259. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  260. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  261. data/lib/aws/elastic_beanstalk.rb +50 -0
  262. data/lib/aws/elastic_beanstalk/client.rb +867 -0
  263. data/lib/aws/elastic_beanstalk/config.rb +18 -0
  264. data/lib/aws/elastic_beanstalk/errors.rb +22 -0
  265. data/lib/aws/elastic_beanstalk/request.rb +29 -0
  266. data/lib/aws/elastic_transcoder.rb +30 -0
  267. data/lib/aws/elastic_transcoder/client.rb +672 -0
  268. data/lib/aws/elastic_transcoder/config.rb +18 -0
  269. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  270. data/lib/aws/elastic_transcoder/request.rb +30 -0
  271. data/lib/aws/elasticache.rb +50 -0
  272. data/lib/aws/elasticache/client.rb +920 -0
  273. data/lib/aws/elasticache/config.rb +18 -0
  274. data/lib/aws/elasticache/errors.rb +22 -0
  275. data/lib/aws/elasticache/request.rb +23 -0
  276. data/lib/aws/elb.rb +67 -0
  277. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  278. data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
  279. data/lib/aws/elb/client.rb +500 -0
  280. data/lib/aws/elb/config.rb +18 -0
  281. data/lib/aws/elb/errors.rb +26 -0
  282. data/lib/aws/elb/instance_collection.rb +173 -0
  283. data/lib/aws/elb/listener.rb +190 -0
  284. data/lib/aws/elb/listener_collection.rb +113 -0
  285. data/lib/aws/elb/listener_opts.rb +45 -0
  286. data/lib/aws/elb/load_balancer.rb +281 -0
  287. data/lib/aws/elb/load_balancer_collection.rb +134 -0
  288. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  289. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  290. data/lib/aws/elb/request.rb +29 -0
  291. data/lib/aws/emr.rb +86 -0
  292. data/lib/aws/emr/client.rb +330 -0
  293. data/lib/aws/emr/config.rb +18 -0
  294. data/lib/aws/emr/errors.rb +22 -0
  295. data/lib/aws/emr/instance_group.rb +138 -0
  296. data/lib/aws/emr/instance_group_collection.rb +82 -0
  297. data/lib/aws/emr/job_flow.rb +306 -0
  298. data/lib/aws/emr/job_flow_collection.rb +185 -0
  299. data/lib/aws/emr/request.rb +23 -0
  300. data/lib/aws/errors.rb +162 -0
  301. data/lib/aws/glacier.rb +80 -0
  302. data/lib/aws/glacier/archive.rb +56 -0
  303. data/lib/aws/glacier/archive_collection.rb +146 -0
  304. data/lib/aws/glacier/client.rb +286 -0
  305. data/lib/aws/glacier/config.rb +19 -0
  306. data/lib/aws/glacier/errors.rb +22 -0
  307. data/lib/aws/glacier/request.rb +34 -0
  308. data/lib/aws/glacier/resource.rb +30 -0
  309. data/lib/aws/glacier/vault.rb +145 -0
  310. data/lib/aws/glacier/vault_collection.rb +75 -0
  311. data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
  312. data/lib/aws/iam.rb +420 -0
  313. data/lib/aws/iam/access_key.rb +180 -0
  314. data/lib/aws/iam/access_key_collection.rb +128 -0
  315. data/lib/aws/iam/account_alias_collection.rb +79 -0
  316. data/lib/aws/iam/client.rb +1092 -0
  317. data/lib/aws/iam/collection.rb +83 -0
  318. data/lib/aws/iam/config.rb +18 -0
  319. data/lib/aws/iam/errors.rb +22 -0
  320. data/lib/aws/iam/group.rb +111 -0
  321. data/lib/aws/iam/group_collection.rb +132 -0
  322. data/lib/aws/iam/group_policy_collection.rb +47 -0
  323. data/lib/aws/iam/group_user_collection.rb +84 -0
  324. data/lib/aws/iam/login_profile.rb +99 -0
  325. data/lib/aws/iam/mfa_device.rb +52 -0
  326. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  327. data/lib/aws/iam/policy.rb +46 -0
  328. data/lib/aws/iam/policy_collection.rb +188 -0
  329. data/lib/aws/iam/request.rb +29 -0
  330. data/lib/aws/iam/resource.rb +62 -0
  331. data/lib/aws/iam/server_certificate.rb +141 -0
  332. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  333. data/lib/aws/iam/signing_certificate.rb +169 -0
  334. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  335. data/lib/aws/iam/user.rb +205 -0
  336. data/lib/aws/iam/user_collection.rb +133 -0
  337. data/lib/aws/iam/user_group_collection.rb +98 -0
  338. data/lib/aws/iam/user_policy.rb +90 -0
  339. data/lib/aws/iam/user_policy_collection.rb +45 -0
  340. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  341. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  342. data/lib/aws/import_export.rb +73 -0
  343. data/lib/aws/import_export/client.rb +109 -0
  344. data/lib/aws/import_export/config.rb +19 -0
  345. data/lib/aws/import_export/errors.rb +22 -0
  346. data/lib/aws/import_export/request.rb +23 -0
  347. data/lib/aws/ops_works.rb +30 -0
  348. data/lib/aws/ops_works/client.rb +713 -0
  349. data/lib/aws/ops_works/config.rb +18 -0
  350. data/lib/aws/ops_works/errors.rb +20 -0
  351. data/lib/aws/ops_works/request.rb +27 -0
  352. data/lib/aws/rails.rb +195 -0
  353. data/lib/aws/rds.rb +71 -0
  354. data/lib/aws/rds/client.rb +2228 -0
  355. data/lib/aws/rds/config.rb +18 -0
  356. data/lib/aws/rds/db_instance.rb +205 -0
  357. data/lib/aws/rds/db_instance_collection.rb +75 -0
  358. data/lib/aws/rds/db_snapshot.rb +163 -0
  359. data/lib/aws/rds/db_snapshot_collection.rb +89 -0
  360. data/lib/aws/rds/errors.rb +22 -0
  361. data/lib/aws/rds/request.rb +23 -0
  362. data/lib/aws/record.rb +116 -0
  363. data/lib/aws/record/abstract_base.rb +701 -0
  364. data/lib/aws/record/attributes.rb +384 -0
  365. data/lib/aws/record/conversion.rb +38 -0
  366. data/lib/aws/record/dirty_tracking.rb +285 -0
  367. data/lib/aws/record/errors.rb +143 -0
  368. data/lib/aws/record/exceptions.rb +48 -0
  369. data/lib/aws/record/hash_model.rb +161 -0
  370. data/lib/aws/record/hash_model/attributes.rb +197 -0
  371. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  372. data/lib/aws/record/hash_model/scope.rb +108 -0
  373. data/lib/aws/record/model.rb +427 -0
  374. data/lib/aws/record/model/attributes.rb +379 -0
  375. data/lib/aws/record/model/finder_methods.rb +232 -0
  376. data/lib/aws/record/model/scope.rb +213 -0
  377. data/lib/aws/record/naming.rb +31 -0
  378. data/lib/aws/record/scope.rb +199 -0
  379. data/lib/aws/record/validations.rb +712 -0
  380. data/lib/aws/record/validator.rb +246 -0
  381. data/lib/aws/record/validators/acceptance.rb +51 -0
  382. data/lib/aws/record/validators/block.rb +38 -0
  383. data/lib/aws/record/validators/confirmation.rb +43 -0
  384. data/lib/aws/record/validators/count.rb +108 -0
  385. data/lib/aws/record/validators/exclusion.rb +43 -0
  386. data/lib/aws/record/validators/format.rb +57 -0
  387. data/lib/aws/record/validators/inclusion.rb +56 -0
  388. data/lib/aws/record/validators/length.rb +107 -0
  389. data/lib/aws/record/validators/method.rb +33 -0
  390. data/lib/aws/record/validators/numericality.rb +138 -0
  391. data/lib/aws/record/validators/presence.rb +45 -0
  392. data/lib/aws/redshift.rb +52 -0
  393. data/lib/aws/redshift/client.rb +1291 -0
  394. data/lib/aws/redshift/config.rb +18 -0
  395. data/lib/aws/redshift/errors.rb +22 -0
  396. data/lib/aws/redshift/request.rb +29 -0
  397. data/lib/aws/route_53.rb +87 -0
  398. data/lib/aws/route_53/change_batch.rb +159 -0
  399. data/lib/aws/route_53/change_info.rb +72 -0
  400. data/lib/aws/route_53/client.rb +387 -0
  401. data/lib/aws/route_53/config.rb +18 -0
  402. data/lib/aws/route_53/errors.rb +22 -0
  403. data/lib/aws/route_53/hosted_zone.rb +111 -0
  404. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  405. data/lib/aws/route_53/request.rb +23 -0
  406. data/lib/aws/route_53/resource_record_set.rb +237 -0
  407. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  408. data/lib/aws/s3.rb +155 -0
  409. data/lib/aws/s3/access_control_list.rb +257 -0
  410. data/lib/aws/s3/acl_object.rb +264 -0
  411. data/lib/aws/s3/acl_options.rb +204 -0
  412. data/lib/aws/s3/bucket.rb +742 -0
  413. data/lib/aws/s3/bucket_collection.rb +160 -0
  414. data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
  415. data/lib/aws/s3/bucket_tag_collection.rb +109 -0
  416. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  417. data/lib/aws/s3/cipher_io.rb +119 -0
  418. data/lib/aws/s3/client.rb +1700 -0
  419. data/lib/aws/s3/client/xml.rb +231 -0
  420. data/lib/aws/s3/config.rb +36 -0
  421. data/lib/aws/s3/cors_rule.rb +106 -0
  422. data/lib/aws/s3/cors_rule_collection.rb +192 -0
  423. data/lib/aws/s3/data_options.rb +185 -0
  424. data/lib/aws/s3/encryption_utils.rb +139 -0
  425. data/lib/aws/s3/errors.rb +94 -0
  426. data/lib/aws/s3/multipart_upload.rb +320 -0
  427. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  428. data/lib/aws/s3/object_collection.rb +355 -0
  429. data/lib/aws/s3/object_metadata.rb +96 -0
  430. data/lib/aws/s3/object_upload_collection.rb +77 -0
  431. data/lib/aws/s3/object_version.rb +148 -0
  432. data/lib/aws/s3/object_version_collection.rb +89 -0
  433. data/lib/aws/s3/paginated_collection.rb +75 -0
  434. data/lib/aws/s3/policy.rb +74 -0
  435. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  436. data/lib/aws/s3/prefixed_collection.rb +81 -0
  437. data/lib/aws/s3/presigned_post.rb +555 -0
  438. data/lib/aws/s3/request.rb +201 -0
  439. data/lib/aws/s3/s3_object.rb +1690 -0
  440. data/lib/aws/s3/tree.rb +118 -0
  441. data/lib/aws/s3/tree/branch_node.rb +68 -0
  442. data/lib/aws/s3/tree/child_collection.rb +104 -0
  443. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  444. data/lib/aws/s3/tree/node.rb +22 -0
  445. data/lib/aws/s3/tree/parent.rb +87 -0
  446. data/lib/aws/s3/uploaded_part.rb +80 -0
  447. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  448. data/lib/aws/s3/website_configuration.rb +102 -0
  449. data/lib/aws/simple_db.rb +219 -0
  450. data/lib/aws/simple_db/attribute.rb +154 -0
  451. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  452. data/lib/aws/simple_db/client.rb +287 -0
  453. data/lib/aws/simple_db/config.rb +20 -0
  454. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  455. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  456. data/lib/aws/simple_db/domain.rb +121 -0
  457. data/lib/aws/simple_db/domain_collection.rb +86 -0
  458. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  459. data/lib/aws/simple_db/errors.rb +55 -0
  460. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  461. data/lib/aws/simple_db/item.rb +93 -0
  462. data/lib/aws/simple_db/item_collection.rb +649 -0
  463. data/lib/aws/simple_db/item_data.rb +73 -0
  464. data/lib/aws/simple_db/put_attributes.rb +60 -0
  465. data/lib/aws/simple_db/request.rb +23 -0
  466. data/lib/aws/simple_email_service.rb +428 -0
  467. data/lib/aws/simple_email_service/client.rb +276 -0
  468. data/lib/aws/simple_email_service/config.rb +19 -0
  469. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  470. data/lib/aws/simple_email_service/errors.rb +22 -0
  471. data/lib/aws/simple_email_service/identity.rb +209 -0
  472. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  473. data/lib/aws/simple_email_service/quotas.rb +64 -0
  474. data/lib/aws/simple_email_service/request.rb +27 -0
  475. data/lib/aws/simple_workflow.rb +228 -0
  476. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  477. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  478. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  479. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  480. data/lib/aws/simple_workflow/client.rb +1204 -0
  481. data/lib/aws/simple_workflow/config.rb +18 -0
  482. data/lib/aws/simple_workflow/count.rb +49 -0
  483. data/lib/aws/simple_workflow/decision_task.rb +603 -0
  484. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  485. data/lib/aws/simple_workflow/domain.rb +122 -0
  486. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  487. data/lib/aws/simple_workflow/errors.rb +20 -0
  488. data/lib/aws/simple_workflow/history_event.rb +276 -0
  489. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  490. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  491. data/lib/aws/simple_workflow/request.rb +33 -0
  492. data/lib/aws/simple_workflow/resource.rb +94 -0
  493. data/lib/aws/simple_workflow/type.rb +89 -0
  494. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  495. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  496. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  497. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  498. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  499. data/lib/aws/sns.rb +76 -0
  500. data/lib/aws/sns/client.rb +266 -0
  501. data/lib/aws/sns/config.rb +18 -0
  502. data/lib/aws/sns/errors.rb +22 -0
  503. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  504. data/lib/aws/sns/policy.rb +47 -0
  505. data/lib/aws/sns/request.rb +23 -0
  506. data/lib/aws/sns/subscription.rb +144 -0
  507. data/lib/aws/sns/subscription_collection.rb +78 -0
  508. data/lib/aws/sns/topic.rb +403 -0
  509. data/lib/aws/sns/topic_collection.rb +62 -0
  510. data/lib/aws/sns/topic_subscription_collection.rb +54 -0
  511. data/lib/aws/sqs.rb +81 -0
  512. data/lib/aws/sqs/client.rb +258 -0
  513. data/lib/aws/sqs/config.rb +18 -0
  514. data/lib/aws/sqs/errors.rb +101 -0
  515. data/lib/aws/sqs/policy.rb +48 -0
  516. data/lib/aws/sqs/queue.rb +764 -0
  517. data/lib/aws/sqs/queue_collection.rb +174 -0
  518. data/lib/aws/sqs/received_message.rb +181 -0
  519. data/lib/aws/sqs/received_sns_message.rb +116 -0
  520. data/lib/aws/sqs/request.rb +67 -0
  521. data/lib/aws/storage_gateway.rb +73 -0
  522. data/lib/aws/storage_gateway/client.rb +472 -0
  523. data/lib/aws/storage_gateway/config.rb +18 -0
  524. data/lib/aws/storage_gateway/errors.rb +22 -0
  525. data/lib/aws/storage_gateway/request.rb +28 -0
  526. data/lib/aws/sts.rb +163 -0
  527. data/lib/aws/sts/client.rb +157 -0
  528. data/lib/aws/sts/config.rb +18 -0
  529. data/lib/aws/sts/errors.rb +22 -0
  530. data/lib/aws/sts/federated_session.rb +56 -0
  531. data/lib/aws/sts/policy.rb +30 -0
  532. data/lib/aws/sts/request.rb +29 -0
  533. data/lib/aws/sts/session.rb +48 -0
  534. data/lib/aws/version.rb +18 -0
  535. data/lib/net/http/connection_pool.rb +226 -0
  536. data/lib/net/http/connection_pool/connection.rb +189 -0
  537. data/lib/net/http/connection_pool/session.rb +126 -0
  538. data/rails/init.rb +15 -0
  539. metadata +632 -0
@@ -0,0 +1,18 @@
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
+ AWS::Core::Configuration.module_eval do
15
+
16
+ add_service 'Redshift', 'redshift', 'redshift.us-east-1.amazonaws.com'
17
+
18
+ end
@@ -0,0 +1,22 @@
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 Redshift
16
+ module Errors
17
+
18
+ extend Core::LazyErrorClasses
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,29 @@
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 Redshift
16
+
17
+ # @private
18
+ class Request < Core::Http::Request
19
+
20
+ include Core::Signature::Version4
21
+
22
+ def service
23
+ 'redshift'
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,87 @@
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
+ require 'aws/core'
15
+ require 'aws/route_53/config'
16
+
17
+ module AWS
18
+
19
+ # This class is the starting point for working with Amazon Route 53.
20
+ #
21
+ # To use Amazon Route 53 you must first
22
+ # {sign up here}[http://aws.amazon.com/route53/].
23
+ #
24
+ # For more information about Amazon Route 53:
25
+ #
26
+ # * {Amazon Route 53}[http://aws.amazon.com/route53/]
27
+ # * {Amazon Route 53 Documentation}[http://aws.amazon.com/documentation/route53/]
28
+ #
29
+ # = Credentials
30
+ #
31
+ # You can setup default credentials for all AWS services via
32
+ # AWS.config:
33
+ #
34
+ # AWS.config(
35
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
36
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
37
+ #
38
+ # Or you can set them directly on the AWS::Route53 interface:
39
+ #
40
+ # r53 = AWS::Route53.new(
41
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
42
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
43
+ #
44
+ # = Using the Client
45
+ #
46
+ # AWS::Route53 does not provide higher level abstractions for Route 53 at
47
+ # this time. You can still access all of the API methods using
48
+ # {AWS::Route53::Client}. Here is how you access the client and make
49
+ # a simple request:
50
+ #
51
+ # r53 = AWS::Route53.new
52
+ #
53
+ # resp = r53.client.list_hosted_zones
54
+ # resp[:hosted_zones].each do |zone|
55
+ # # ...
56
+ # end
57
+ #
58
+ # See {Client} for documentation on all of the supported operations.
59
+ #
60
+ # @!attribute [r] client
61
+ # @return [Client] the low-level Route53 client object
62
+ class Route53
63
+
64
+ AWS.register_autoloads(self, 'aws/route_53') do
65
+ autoload :ChangeRequest, 'change_batch'
66
+ autoload :ChangeBatch, 'change_batch'
67
+ autoload :ChangeInfo, 'change_info'
68
+ autoload :Client, 'client'
69
+ autoload :CreateRequest, 'change_batch'
70
+ autoload :DeleteRequest, 'change_batch'
71
+ autoload :Errors, 'errors'
72
+ autoload :HostedZone, 'hosted_zone'
73
+ autoload :HostedZoneCollection, 'hosted_zone_collection'
74
+ autoload :Request, 'request'
75
+ autoload :ResourceRecordSet, 'resource_record_set'
76
+ autoload :ResourceRecordSetCollection, 'resource_record_set_collection'
77
+ end
78
+
79
+ include Core::ServiceInterface
80
+
81
+ # @return [HostedZoneCollection]
82
+ def hosted_zones
83
+ HostedZoneCollection.new(:config => config)
84
+ end
85
+
86
+ end
87
+ 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
@@ -0,0 +1,72 @@
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
+ # @attr_reader [String] id
18
+ # change id.
19
+ #
20
+ # @attr_reader [String] status
21
+ # status of the change.
22
+ #
23
+ # @attr_reader [Time] submitted_at
24
+ #
25
+ class ChangeInfo < Core::Resource
26
+
27
+ # @private
28
+ def initialize id, options = {}
29
+ @id = id
30
+ super
31
+ end
32
+
33
+ attr_reader :id
34
+
35
+ attribute :status
36
+
37
+ attribute :submitted_at, :static => true
38
+
39
+ populates_from :change_resource_record_sets do |resp|
40
+ resp[:change_info] if resp[:change_info][:id] == id
41
+ end
42
+
43
+ populates_from :create_hosted_zone do |resp|
44
+ resp[:change_info] if resp[:change_info][:id] == id
45
+ end
46
+
47
+ populates_from :delete_hosted_zone do |resp|
48
+ resp[:change_info] if resp[:change_info][:id] == id
49
+ end
50
+
51
+ populates_from :get_change do |resp|
52
+ resp[:change_info] if resp[:change_info][:id] == id
53
+ end
54
+
55
+ # @return [Boolean] Returns true if this alarm exists.
56
+ def exists?
57
+ get_resource.data[:change_info][:id] == id
58
+ end
59
+
60
+ protected
61
+
62
+ def resource_identifiers
63
+ [[:id, id]]
64
+ end
65
+
66
+ def get_resource attr_name = nil
67
+ client.get_change(:id => id)
68
+ end
69
+
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,387 @@
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
+ # Client class for Route53.
18
+ class Client < Core::RESTXMLClient
19
+
20
+ # @private
21
+ CACHEABLE_REQUESTS = Set[]
22
+
23
+ # client methods #
24
+
25
+ # @!method change_resource_record_sets(options = {})
26
+ # Calls the POST ChangeResourceRecordSets API operation.
27
+ # @param [Hash] options
28
+ # * +:hosted_zone_id+ - *required* - (String) Alias resource record sets
29
+ # only: The value of the hosted zone ID, CanonicalHostedZoneNameId, for
30
+ # the LoadBalancer. Currently, Route 53 supports alias resource record
31
+ # sets only for Elastic Load Balancing. For more information, an
32
+ # example, and several ways to get the hosted zone ID for the
33
+ # LoadBalancer, see Creating Alias Resource Record Sets for Elastic
34
+ # Load Balancing in the Amazon Route 53 Developer Guide.
35
+ # * +:change_batch+ - *required* - (Hash) A complex type that contains an
36
+ # optional comment and the Changes element.
37
+ # * +:comment+ - (String) Optional: Any comments you want to include
38
+ # about a change batch request.
39
+ # * +:changes+ - *required* - (Array<Hash>) A complex type that
40
+ # contains one Change element for each resource record set that you
41
+ # want to create or delete.
42
+ # * +:action+ - *required* - (String) The action to perform. Valid
43
+ # values: CREATE | DELETE
44
+ # * +:resource_record_set+ - *required* - (Hash) Information about
45
+ # the resource record set to create or delete.
46
+ # * +:name+ - *required* - (String) The domain name of the current
47
+ # resource record set.
48
+ # * +:type+ - *required* - (String) The type of the current
49
+ # resource record set.
50
+ # * +:set_identifier+ - (String) Weighted resource record sets
51
+ # only: An identifier that differentiates among multiple resource
52
+ # record sets that have the same combination of DNS name and
53
+ # type.
54
+ # * +:weight+ - (Integer) Weighted resource record sets only: Among
55
+ # resource record sets that have the same combination of DNS name
56
+ # and type, a value that determines what portion of traffic for
57
+ # the current resource record set is routed to the associated
58
+ # location.
59
+ # * +:region+ - (String) Regional resource record sets only: Among
60
+ # resource record sets that have the same combination of DNS name
61
+ # and type, a value that specifies the AWS region for the current
62
+ # resource record set.
63
+ # * +:failover+ - (String) Failover resource record sets only:
64
+ # Among resource record sets that have the same combination of
65
+ # DNS name and type, a value that indicates whether the current
66
+ # resource record set is a primary or secondary resource record
67
+ # set. A failover set may contain at most one resource record set
68
+ # marked as primary and one resource record set marked as
69
+ # secondary. A resource record set marked as primary will be
70
+ # returned if any of the following are +true+ : (1) an associated
71
+ # health check is passing, (2) if the resource record set is an
72
+ # alias with the evaluate target health and at least one target
73
+ # resource record set is healthy, (3) both the primary and
74
+ # secondary resource record set are failing health checks or (4)
75
+ # there is no secondary resource record set. A secondary resource
76
+ # record set will be returned if: (1) the primary is failing a
77
+ # health check and either the secondary is passing a health check
78
+ # or has no associated health check, or (2) there is no primary
79
+ # resource record set. Valid values: PRIMARY | SECONDARY
80
+ # * +:ttl+ - (Integer) The cache time to live for the current
81
+ # resource record set.
82
+ # * +:resource_records+ - (Array<Hash>) A complex type that
83
+ # contains the resource records for the current resource record
84
+ # set.
85
+ # * +:value+ - *required* - (String) The value of the Value
86
+ # element for the current resource record set.
87
+ # * +:alias_target+ - (Hash) Alias resource record sets only:
88
+ # Information about the Elastic Load Balancing LoadBalancer to
89
+ # which you are redirecting traffic.
90
+ # * +:hosted_zone_id+ - *required* - (String) Alias resource
91
+ # record sets only: The value of the hosted zone ID,
92
+ # CanonicalHostedZoneNameId, for the LoadBalancer. Currently,
93
+ # Route 53 supports alias resource record sets only for Elastic
94
+ # Load Balancing. For more information, an example, and several
95
+ # ways to get the hosted zone ID for the LoadBalancer, see
96
+ # Creating Alias Resource Record Sets for Elastic Load
97
+ # Balancing in the Amazon Route 53 Developer Guide.
98
+ # * +:dns_name+ - *required* - (String) Alias resource record
99
+ # sets only: The external DNS name associated with the
100
+ # LoadBalancer. Currently, Route 53 supports alias resource
101
+ # record sets only for Elastic Load Balancing. For more
102
+ # information, an example, and several ways to get the hosted
103
+ # zone ID for the LoadBalancer, see Creating Alias Resource
104
+ # Record Sets for Elastic Load Balancing in the Amazon Route 53
105
+ # Developer Guide.
106
+ # * +:evaluate_target_health+ - *required* - (Boolean) Alias
107
+ # resource record sets only: A boolean value that indicates
108
+ # whether this Resource Record Set should respect the health
109
+ # status of any health checks associated with the ALIAS target
110
+ # record which it is linked to. Currently, Route 53 supports
111
+ # health checks only for Elastic Load Balancing. For more
112
+ # information, an example, see Creating Alias Resource Record
113
+ # Sets for Elastic Load Balancing in the Amazon Route 53
114
+ # Developer Guide.
115
+ # * +:health_check_id+ - (String) Health Check resource record sets
116
+ # only, not required for alias resource record sets: An
117
+ # identifier that is used to identify health check associated
118
+ # with the resource record set.
119
+ # @return [Core::Response]
120
+ # The #data method of the response object returns
121
+ # a hash with the following structure:
122
+ # * +:change_info+ - (Hash)
123
+ # * +:id+ - (String)
124
+ # * +:status+ - (String)
125
+ # * +:submitted_at+ - (Time)
126
+ # * +:comment+ - (String)
127
+
128
+ # @!method create_health_check(options = {})
129
+ # Calls the POST CreateHealthCheck API operation.
130
+ # @param [Hash] options
131
+ # * +:caller_reference+ - *required* - (String) A unique string that
132
+ # identifies the request and that allows failed CreateHealthCheck
133
+ # requests to be retried without the risk of executing the operation
134
+ # twice. You must use a unique CallerReference string every time you
135
+ # create a health check. CallerReference can be any unique string; you
136
+ # might choose to use a string that identifies your project. Valid
137
+ # characters are any Unicode code points that are legal in an XML 1.0
138
+ # document. The UTF-8 encoding of the value must be less than 128
139
+ # bytes.
140
+ # * +:health_check_config+ - *required* - (Hash) A complex type that
141
+ # contains health check configuration.
142
+ # * +:ip_address+ - *required* - (String) IP Address of the instance
143
+ # being checked.
144
+ # * +:port+ - (Integer) Port on which connection will be opened to the
145
+ # instance to health check. For HTTP this defaults to 80 if the port
146
+ # is not specified.
147
+ # * +:type+ - *required* - (String) The type of health check to be
148
+ # performed. Currently supported protocols are TCP and HTTP.
149
+ # * +:resource_path+ - (String) Path to ping on the instance to check
150
+ # the health. Required only for HTTP health checks, HTTP request is
151
+ # issued to the instance on the given port and path.
152
+ # * +:fully_qualified_domain_name+ - (String) Fully qualified domain
153
+ # name of the instance to be health checked.
154
+ # @return [Core::Response]
155
+ # The #data method of the response object returns
156
+ # a hash with the following structure:
157
+ # * +:health_check+ - (Hash)
158
+ # * +:id+ - (String)
159
+ # * +:caller_reference+ - (String)
160
+ # * +:health_check_config+ - (Hash)
161
+ # * +:ip_address+ - (String)
162
+ # * +:port+ - (Integer)
163
+ # * +:type+ - (String)
164
+ # * +:resource_path+ - (String)
165
+ # * +:fully_qualified_domain_name+ - (String)
166
+
167
+ # @!method create_hosted_zone(options = {})
168
+ # Calls the POST CreateHostedZone API operation.
169
+ # @param [Hash] options
170
+ # * +:name+ - *required* - (String) The name of the domain. This must be
171
+ # a fully-specified domain, for example, www.example.com. The trailing
172
+ # dot is optional; Route 53 assumes that the domain name is fully
173
+ # qualified. This means that Route 53 treats www.example.com (without a
174
+ # trailing dot) and www.example.com. (with a trailing dot) as
175
+ # identical. This is the name you have registered with your DNS
176
+ # registrar. You should ask your registrar to change the authoritative
177
+ # name servers for your domain to the set of NameServers elements
178
+ # returned in DelegationSet.
179
+ # * +:caller_reference+ - *required* - (String) A unique string that
180
+ # identifies the request and that allows failed CreateHostedZone
181
+ # requests to be retried without the risk of executing the operation
182
+ # twice. You must use a unique CallerReference string every time you
183
+ # create a hosted zone. CallerReference can be any unique string; you
184
+ # might choose to use a string that identifies your project, such as
185
+ # DNSMigration_01. Valid characters are any Unicode code points that
186
+ # are legal in an XML 1.0 document. The UTF-8 encoding of the value
187
+ # must be less than 128 bytes.
188
+ # * +:hosted_zone_config+ - (Hash) A complex type that contains an
189
+ # optional comment about your hosted zone.
190
+ # * +:comment+ - (String) An optional comment about your hosted zone.
191
+ # If you don't want to specify a comment, you can omit the
192
+ # HostedZoneConfig and Comment elements from the XML document.
193
+ # @return [Core::Response]
194
+ # The #data method of the response object returns
195
+ # a hash with the following structure:
196
+ # * +:hosted_zone+ - (Hash)
197
+ # * +:id+ - (String)
198
+ # * +:name+ - (String)
199
+ # * +:caller_reference+ - (String)
200
+ # * +:config+ - (Hash)
201
+ # * +:comment+ - (String)
202
+ # * +:resource_record_set_count+ - (Integer)
203
+ # * +:change_info+ - (Hash)
204
+ # * +:id+ - (String)
205
+ # * +:status+ - (String)
206
+ # * +:submitted_at+ - (Time)
207
+ # * +:comment+ - (String)
208
+ # * +:delegation_set+ - (Hash)
209
+ # * +:name_servers+ - (Array<String>)
210
+
211
+ # @!method delete_health_check(options = {})
212
+ # Calls the DELETE DeleteHealthCheck API operation.
213
+ # @param [Hash] options
214
+ # * +:health_check_id+ - *required* - (String) The ID of the health check
215
+ # to delete.
216
+ # @return [Core::Response]
217
+
218
+ # @!method delete_hosted_zone(options = {})
219
+ # Calls the DELETE DeleteHostedZone API operation.
220
+ # @param [Hash] options
221
+ # * +:id+ - *required* - (String) The ID of the request. Include this ID
222
+ # in a call to GetChange to track when the change has propagated to all
223
+ # Route 53 DNS servers.
224
+ # @return [Core::Response]
225
+ # The #data method of the response object returns
226
+ # a hash with the following structure:
227
+ # * +:change_info+ - (Hash)
228
+ # * +:id+ - (String)
229
+ # * +:status+ - (String)
230
+ # * +:submitted_at+ - (Time)
231
+ # * +:comment+ - (String)
232
+
233
+ # @!method get_change(options = {})
234
+ # Calls the GET GetChange API operation.
235
+ # @param [Hash] options
236
+ # * +:id+ - *required* - (String) The ID of the change batch request. The
237
+ # value that you specify here is the value that
238
+ # ChangeResourceRecordSets returned in the Id element when you
239
+ # submitted the request.
240
+ # @return [Core::Response]
241
+ # The #data method of the response object returns
242
+ # a hash with the following structure:
243
+ # * +:change_info+ - (Hash)
244
+ # * +:id+ - (String)
245
+ # * +:status+ - (String)
246
+ # * +:submitted_at+ - (Time)
247
+ # * +:comment+ - (String)
248
+
249
+ # @!method get_health_check(options = {})
250
+ # Calls the GET GetHealthCheck API operation.
251
+ # @param [Hash] options
252
+ # * +:health_check_id+ - *required* - (String) The ID of the health check
253
+ # to retrieve.
254
+ # @return [Core::Response]
255
+ # The #data method of the response object returns
256
+ # a hash with the following structure:
257
+ # * +:health_check+ - (Hash)
258
+ # * +:id+ - (String)
259
+ # * +:caller_reference+ - (String)
260
+ # * +:health_check_config+ - (Hash)
261
+ # * +:ip_address+ - (String)
262
+ # * +:port+ - (Integer)
263
+ # * +:type+ - (String)
264
+ # * +:resource_path+ - (String)
265
+ # * +:fully_qualified_domain_name+ - (String)
266
+
267
+ # @!method get_hosted_zone(options = {})
268
+ # Calls the GET GetHostedZone API operation.
269
+ # @param [Hash] options
270
+ # * +:id+ - *required* - (String) The ID of the hosted zone for which you
271
+ # want to get a list of the name servers in the delegation set.
272
+ # @return [Core::Response]
273
+ # The #data method of the response object returns
274
+ # a hash with the following structure:
275
+ # * +:hosted_zone+ - (Hash)
276
+ # * +:id+ - (String)
277
+ # * +:name+ - (String)
278
+ # * +:caller_reference+ - (String)
279
+ # * +:config+ - (Hash)
280
+ # * +:comment+ - (String)
281
+ # * +:resource_record_set_count+ - (Integer)
282
+ # * +:delegation_set+ - (Hash)
283
+ # * +:name_servers+ - (Array<String>)
284
+
285
+ # @!method list_health_checks(options = {})
286
+ # Calls the GET ListHealthChecks API operation.
287
+ # @param [Hash] options
288
+ # * +:marker+ - (String) If the request returned more than one page of
289
+ # results, submit another request and specify the value of NextMarker
290
+ # from the last response in the marker parameter to get the next page
291
+ # of results.
292
+ # * +:max_items+ - (Integer) Specify the maximum number of health checks
293
+ # to return per page of results.
294
+ # @return [Core::Response]
295
+ # The #data method of the response object returns
296
+ # a hash with the following structure:
297
+ # * +:health_checks+ - (Array<Hash>)
298
+ # * +:id+ - (String)
299
+ # * +:caller_reference+ - (String)
300
+ # * +:health_check_config+ - (Hash)
301
+ # * +:ip_address+ - (String)
302
+ # * +:port+ - (Integer)
303
+ # * +:type+ - (String)
304
+ # * +:resource_path+ - (String)
305
+ # * +:fully_qualified_domain_name+ - (String)
306
+ # * +:marker+ - (String)
307
+ # * +:is_truncated+ - (Boolean)
308
+ # * +:next_marker+ - (String)
309
+ # * +:max_items+ - (String)
310
+
311
+ # @!method list_hosted_zones(options = {})
312
+ # Calls the GET ListHostedZones API operation.
313
+ # @param [Hash] options
314
+ # * +:marker+ - (String) If the request returned more than one page of
315
+ # results, submit another request and specify the value of NextMarker
316
+ # from the last response in the marker parameter to get the next page
317
+ # of results.
318
+ # * +:max_items+ - (Integer) Specify the maximum number of hosted zones
319
+ # to return per page of results.
320
+ # @return [Core::Response]
321
+ # The #data method of the response object returns
322
+ # a hash with the following structure:
323
+ # * +:hosted_zones+ - (Array<Hash>)
324
+ # * +:id+ - (String)
325
+ # * +:name+ - (String)
326
+ # * +:caller_reference+ - (String)
327
+ # * +:config+ - (Hash)
328
+ # * +:comment+ - (String)
329
+ # * +:resource_record_set_count+ - (Integer)
330
+ # * +:marker+ - (String)
331
+ # * +:is_truncated+ - (Boolean)
332
+ # * +:next_marker+ - (String)
333
+ # * +:max_items+ - (Integer)
334
+
335
+ # @!method list_resource_record_sets(options = {})
336
+ # Calls the GET ListResourceRecordSets API operation.
337
+ # @param [Hash] options
338
+ # * +:hosted_zone_id+ - *required* - (String) The ID of the hosted zone
339
+ # that contains the resource record sets that you want to get.
340
+ # * +:start_record_name+ - (String) The first name in the lexicographic
341
+ # ordering of domain names that you want the ListResourceRecordSets
342
+ # request to list.
343
+ # * +:start_record_type+ - (String) The DNS type at which to begin the
344
+ # listing of resource record sets. Valid values: A | AAAA | CNAME | MX
345
+ # | NS | PTR | SOA | SPF | SRV | TXT Values for Weighted Resource
346
+ # Record Sets: A | AAAA | CNAME | TXT Values for Alias Resource Record
347
+ # Sets: A | AAAA Constraint: Specifying type without specifying name
348
+ # returns an InvalidInput error.
349
+ # * +:start_record_identifier+ - (String) Weighted resource record sets
350
+ # only: If results were truncated for a given DNS name and type,
351
+ # specify the value of
352
+ # ListResourceRecordSetsResponse$NextRecordIdentifier from the previous
353
+ # response to get the next resource record set that has the current DNS
354
+ # name and type.
355
+ # * +:max_items+ - (Integer) The maximum number of records you want in
356
+ # the response body.
357
+ # @return [Core::Response]
358
+ # The #data method of the response object returns
359
+ # a hash with the following structure:
360
+ # * +:resource_record_sets+ - (Array<Hash>)
361
+ # * +:name+ - (String)
362
+ # * +:type+ - (String)
363
+ # * +:set_identifier+ - (String)
364
+ # * +:weight+ - (Integer)
365
+ # * +:region+ - (String)
366
+ # * +:failover+ - (String)
367
+ # * +:ttl+ - (Integer)
368
+ # * +:resource_records+ - (Array<Hash>)
369
+ # * +:value+ - (String)
370
+ # * +:alias_target+ - (Hash)
371
+ # * +:hosted_zone_id+ - (String)
372
+ # * +:dns_name+ - (String)
373
+ # * +:evaluate_target_health+ - (Boolean)
374
+ # * +:health_check_id+ - (String)
375
+ # * +:is_truncated+ - (Boolean)
376
+ # * +:next_record_name+ - (String)
377
+ # * +:next_record_type+ - (String)
378
+ # * +:next_record_identifier+ - (String)
379
+ # * +:max_items+ - (Integer)
380
+
381
+ # end client methods #
382
+
383
+ define_client_methods('2012-12-12')
384
+
385
+ end
386
+ end
387
+ end