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,164 @@
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/auto_scaling/config'
16
+
17
+ module AWS
18
+
19
+ # This class is the starting point for working with Auto Scaling.
20
+ #
21
+ # To use Auto Scaling you must first
22
+ # {sign up here}[http://aws.amazon.com/autoscaling/].
23
+ #
24
+ # For more information about Auto Scaling:
25
+ #
26
+ # * {Auto Scaling}[http://aws.amazon.com/autoscaling/]
27
+ # * {Auto Scaling Documentation}[http://aws.amazon.com/documentation/autoscaling/]
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::AutoScaling interface:
39
+ #
40
+ # auto_scaling = AWS::AutoScaling.new(
41
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
42
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
43
+ #
44
+ # = Launch Configurations
45
+ #
46
+ # You need to create a launch configuration before you can create
47
+ # an Auto Scaling Group.
48
+ #
49
+ # # needs a name, image id, and instance type
50
+ # launch_config = auto_scaling.launch_configurations.create(
51
+ # 'launch-config-name', 'ami-12345', 'm1.small')
52
+ #
53
+ # If you have previously created a launch configuration you can
54
+ # reference using the {LaunchConfigurationCollection}.
55
+ #
56
+ # launch_config = auto_scaling.launch_configurations['launch-config-name']
57
+ #
58
+ # = Auto Scaling Groups
59
+ #
60
+ # Given a launch configuration, you can now create an Auto Scaling {Group}.
61
+ #
62
+ # group = auto_scaling.groups.create('group-name',
63
+ # :launch_configuration => launch_config,
64
+ # :availability_zones => %w(us-east-1a us-east-1b),
65
+ # :min_size => 1,
66
+ # :max_size => 4)
67
+ #
68
+ # @!attribute [r] client
69
+ # @return [Client] the low-level AutoScaling client object
70
+ class AutoScaling
71
+
72
+ AWS.register_autoloads(self, 'aws/auto_scaling') do
73
+ autoload :Activity, 'activity'
74
+ autoload :ActivityCollection, 'activity_collection'
75
+ autoload :Client, 'client'
76
+ autoload :Errors, 'errors'
77
+ autoload :Group, 'group'
78
+ autoload :GroupCollection, 'group_collection'
79
+ autoload :GroupOptions, 'group_options'
80
+ autoload :Instance, 'instance'
81
+ autoload :InstanceCollection, 'instance_collection'
82
+ autoload :LaunchConfiguration, 'launch_configuration'
83
+ autoload :LaunchConfigurationCollection, 'launch_configuration_collection'
84
+ autoload :NotificationConfiguration, 'notification_configuration'
85
+ autoload :NotificationConfigurationCollection, 'notification_configuration_collection'
86
+ autoload :Request, 'request'
87
+ autoload :ScalingPolicy, 'scaling_policy'
88
+ autoload :ScalingPolicyCollection, 'scaling_policy_collection'
89
+ autoload :ScalingPolicyOptions, 'scaling_policy_options'
90
+ autoload :ScheduledAction, 'scheduled_action'
91
+ autoload :ScheduledActionCollection, 'scheduled_action_collection'
92
+ autoload :Tag, 'tag'
93
+ autoload :TagCollection, 'tag_collection'
94
+ end
95
+
96
+ include Core::ServiceInterface
97
+
98
+ # @return [LaunchConfigurationCollection]
99
+ def launch_configurations
100
+ LaunchConfigurationCollection.new(:config => config)
101
+ end
102
+
103
+ # @return [GroupCollection]
104
+ def groups
105
+ GroupCollection.new(:config => config)
106
+ end
107
+
108
+ # @return [TagCollection]
109
+ def tags
110
+ TagCollection.new(:config => config)
111
+ end
112
+
113
+ # @return [NotificationConfigurationCollection]
114
+ def notification_configurations
115
+ NotificationConfigurationCollection.new(:config => config)
116
+ end
117
+
118
+ # @return [AutoScaling::InstancesCollection] Returns a collection of
119
+ # {AutoScaling::Instance} objects. Each of these is a small
120
+ # wrapper around an {EC2::Instance} with additional attributes.
121
+ def instances
122
+ InstanceCollection.new(:config => config)
123
+ end
124
+
125
+ # @return [ActivityCollection]
126
+ def activities
127
+ ActivityCollection.new(:config => config)
128
+ end
129
+
130
+ # @return [ScheduledActionCollection]
131
+ def scheduled_actions
132
+ ScheduledActionCollection.new(:config => config)
133
+ end
134
+
135
+ # Returns a list of all notification types that are supported by
136
+ # Auto Scaling.
137
+ # @return [Array<String>]
138
+ def notification_types
139
+ resp = client.describe_auto_scaling_notification_types
140
+ resp.auto_scaling_notification_types
141
+ end
142
+
143
+ # @return [Array<String>] Returns the list of valid adjustment types.
144
+ def adjustment_types
145
+ client.describe_adjustment_types.adjustment_types.map(&:adjustment_type)
146
+ end
147
+
148
+ # @return [Array<String>] Returns the list of valid scaling process types.
149
+ def scaling_process_types
150
+ client.describe_scaling_process_types.processes.map(&:process_name)
151
+ end
152
+
153
+ # @return [Array<String>] Returns the list of valid metric collection types.
154
+ def metric_collection_types
155
+ client.describe_metric_collection_types.metrics.map(&:metric)
156
+ end
157
+
158
+ # @return [Array<String>] Returns the list of valid metric granularities.
159
+ def metric_collection_granularities
160
+ client.describe_metric_collection_types.granularities.map(&:granularity)
161
+ end
162
+
163
+ end
164
+ end
@@ -0,0 +1,102 @@
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
+
15
+ module AWS
16
+ class AutoScaling
17
+
18
+ # @attr_reader [String] auto_scaling_group_name
19
+ #
20
+ # @attr_reader [String] cause
21
+ #
22
+ # @attr_reader [nil,String] description
23
+ #
24
+ # @attr_reader [String] details
25
+ #
26
+ # @attr_reader [Time] start_time
27
+ #
28
+ # @attr_reader [nil,Time] end_time
29
+ #
30
+ # @attr_reader [Integer] progress
31
+ #
32
+ # @attr_reader [nil,String] status_code
33
+ #
34
+ # @attr_reader [nil,String] status_message
35
+ #
36
+ class Activity < Core::Resource
37
+
38
+ # @private
39
+ def initialize activity_id, options = {}
40
+ @activity_id = activity_id
41
+ super
42
+ end
43
+
44
+ # @return [String]
45
+ attr_reader :activity_id
46
+
47
+ alias_method :id, :activity_id
48
+
49
+ attribute :auto_scaling_group_name, :static => true
50
+
51
+ attribute :cause, :static => true
52
+
53
+ attribute :description, :static => true
54
+
55
+ attribute :details
56
+
57
+ attribute :start_time, :static => true
58
+
59
+ attribute :end_time
60
+
61
+ attribute :progress
62
+
63
+ attribute :status_code
64
+
65
+ attribute :status_message
66
+
67
+ populates_from(:describe_scaling_activities) do |resp|
68
+ resp.activities.find {|a| a.activity_id == activity_id }
69
+ end
70
+
71
+ populates_from(:terminate_instance_in_auto_scaling_group) do |resp|
72
+ resp.activity if resp.activity.activity_id == activity_id
73
+ end
74
+
75
+ # @return [Group]
76
+ def group
77
+ Group.new(auto_scaling_group_name, :config => config)
78
+ end
79
+
80
+ # @return [Boolean]
81
+ def exists?
82
+ client_opts = {}
83
+ client_opts[:activity_ids] = [activity_id]
84
+ resp = client.describe_scaling_activities(client_opts)
85
+ !resp.activities.empty?
86
+ end
87
+
88
+ protected
89
+
90
+ def get_resource attr_name = nil
91
+ client_opts = {}
92
+ client_opts[:activity_ids] = [activity_id]
93
+ client.describe_scaling_activities(client_opts)
94
+ end
95
+
96
+ def resource_identifiers
97
+ [[:activity_id, activity_id]]
98
+ end
99
+
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,82 @@
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 AutoScaling
16
+
17
+ # Allows you to enumerate Auto Scaling activities
18
+ #
19
+ # Enumerating ALL activities:
20
+ #
21
+ # auto_scaling = AWS::AutoScaling.new
22
+ # auto_scaling.activities.each do |activity|
23
+ # # ...
24
+ # end
25
+ #
26
+ # Enumerating activities for a single Auto Scaling group:
27
+ #
28
+ # group = auto_scaling.groups['group-name']
29
+ # group.activities.each do |activity|
30
+ # # ...
31
+ # end
32
+ #
33
+ # If you know the id of an activity you can get a reference to it:
34
+ #
35
+ # activity = auto_scaling.activities['activity-id']
36
+ #
37
+ class ActivityCollection
38
+
39
+ include Core::Collection::WithLimitAndNextToken
40
+
41
+ # @private
42
+ def initialize options = {}
43
+ @group = options[:group]
44
+ if @group
45
+ super(@group, options)
46
+ else
47
+ super
48
+ end
49
+ end
50
+
51
+ # @param [String] activity_id
52
+ # @return [Activity]
53
+ def [] activity_id
54
+ Activity.new(activity_id, :config => config)
55
+ end
56
+
57
+ protected
58
+
59
+ def _each_item next_token, limit, options = {}, &block
60
+
61
+ options[:next_token] = next_token if next_token
62
+ options[:max_records] = limit if limit
63
+ options[:auto_scaling_group_name] = @group.name if @group
64
+
65
+ resp = client.describe_scaling_activities(options)
66
+ resp.activities.each do |details|
67
+
68
+ activity = Activity.new_from(
69
+ :describe_scaling_activities, details,
70
+ details.activity_id, :config => config)
71
+
72
+ yield(activity)
73
+
74
+ end
75
+
76
+ resp.data[:next_token]
77
+
78
+ end
79
+
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,521 @@
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 AutoScaling
16
+
17
+ # Client class for Auto Scaling.
18
+ class Client < Core::QueryClient
19
+
20
+ # @private
21
+ CACHEABLE_REQUESTS = Set[
22
+ :describe_adjustment_types,
23
+ :describe_auto_scaling_groups,
24
+ :describe_auto_scaling_instances,
25
+ :describe_auto_scaling_notification_types,
26
+ :describe_launch_configurations,
27
+ :describe_metric_collection_types,
28
+ :describe_notification_configurations,
29
+ :describe_policies,
30
+ :describe_scaling_activities,
31
+ :describe_scaling_process_types,
32
+ :describe_scheduled_actions,
33
+ :describe_tags,
34
+ ]
35
+
36
+ # client methods #
37
+
38
+ # @!method create_auto_scaling_group(options = {})
39
+ # Calls the CreateAutoScalingGroup API operation.
40
+ # @param [Hash] options
41
+ # * +:auto_scaling_group_name+ - *required* - (String)
42
+ # * +:launch_configuration_name+ - *required* - (String)
43
+ # * +:min_size+ - *required* - (Integer)
44
+ # * +:max_size+ - *required* - (Integer)
45
+ # * +:desired_capacity+ - (Integer)
46
+ # * +:default_cooldown+ - (Integer)
47
+ # * +:availability_zones+ - (Array<String>)
48
+ # * +:load_balancer_names+ - (Array<String>)
49
+ # * +:health_check_type+ - (String)
50
+ # * +:health_check_grace_period+ - (Integer)
51
+ # * +:placement_group+ - (String)
52
+ # * +:vpc_zone_identifier+ - (String)
53
+ # * +:termination_policies+ - (Array<String>)
54
+ # * +:tags+ - (Array<Hash>)
55
+ # * +:resource_id+ - (String)
56
+ # * +:resource_type+ - (String)
57
+ # * +:key+ - *required* - (String)
58
+ # * +:value+ - (String)
59
+ # * +:propagate_at_launch+ - (Boolean)
60
+ # @return [Core::Response]
61
+
62
+ # @!method create_launch_configuration(options = {})
63
+ # Calls the CreateLaunchConfiguration API operation.
64
+ # @param [Hash] options
65
+ # * +:launch_configuration_name+ - *required* - (String)
66
+ # * +:image_id+ - *required* - (String)
67
+ # * +:key_name+ - (String)
68
+ # * +:security_groups+ - (Array<String>)
69
+ # * +:user_data+ - (String)
70
+ # * +:instance_type+ - *required* - (String)
71
+ # * +:kernel_id+ - (String)
72
+ # * +:ramdisk_id+ - (String)
73
+ # * +:block_device_mappings+ - (Array<Hash>)
74
+ # * +:virtual_name+ - (String)
75
+ # * +:device_name+ - *required* - (String)
76
+ # * +:ebs+ - (Hash)
77
+ # * +:snapshot_id+ - (String)
78
+ # * +:volume_size+ - (Integer)
79
+ # * +:instance_monitoring+ - (Hash)
80
+ # * +:enabled+ - (Boolean)
81
+ # * +:spot_price+ - (String)
82
+ # * +:iam_instance_profile+ - (String)
83
+ # * +:ebs_optimized+ - (Boolean)
84
+ # @return [Core::Response]
85
+
86
+ # @!method create_or_update_tags(options = {})
87
+ # Calls the CreateOrUpdateTags API operation.
88
+ # @param [Hash] options
89
+ # * +:tags+ - *required* - (Array<Hash>)
90
+ # * +:resource_id+ - (String)
91
+ # * +:resource_type+ - (String)
92
+ # * +:key+ - *required* - (String)
93
+ # * +:value+ - (String)
94
+ # * +:propagate_at_launch+ - (Boolean)
95
+ # @return [Core::Response]
96
+
97
+ # @!method delete_auto_scaling_group(options = {})
98
+ # Calls the DeleteAutoScalingGroup API operation.
99
+ # @param [Hash] options
100
+ # * +:auto_scaling_group_name+ - *required* - (String)
101
+ # * +:force_delete+ - (Boolean)
102
+ # @return [Core::Response]
103
+
104
+ # @!method delete_launch_configuration(options = {})
105
+ # Calls the DeleteLaunchConfiguration API operation.
106
+ # @param [Hash] options
107
+ # * +:launch_configuration_name+ - *required* - (String)
108
+ # @return [Core::Response]
109
+
110
+ # @!method delete_notification_configuration(options = {})
111
+ # Calls the DeleteNotificationConfiguration API operation.
112
+ # @param [Hash] options
113
+ # * +:auto_scaling_group_name+ - *required* - (String)
114
+ # * +:topic_arn+ - *required* - (String)
115
+ # @return [Core::Response]
116
+
117
+ # @!method delete_policy(options = {})
118
+ # Calls the DeletePolicy API operation.
119
+ # @param [Hash] options
120
+ # * +:auto_scaling_group_name+ - (String)
121
+ # * +:policy_name+ - *required* - (String)
122
+ # @return [Core::Response]
123
+
124
+ # @!method delete_scheduled_action(options = {})
125
+ # Calls the DeleteScheduledAction API operation.
126
+ # @param [Hash] options
127
+ # * +:auto_scaling_group_name+ - (String)
128
+ # * +:scheduled_action_name+ - *required* - (String)
129
+ # @return [Core::Response]
130
+
131
+ # @!method delete_tags(options = {})
132
+ # Calls the DeleteTags API operation.
133
+ # @param [Hash] options
134
+ # * +:tags+ - *required* - (Array<Hash>)
135
+ # * +:resource_id+ - (String)
136
+ # * +:resource_type+ - (String)
137
+ # * +:key+ - *required* - (String)
138
+ # * +:value+ - (String)
139
+ # * +:propagate_at_launch+ - (Boolean)
140
+ # @return [Core::Response]
141
+
142
+ # @!method describe_adjustment_types(options = {})
143
+ # Calls the DescribeAdjustmentTypes API operation.
144
+ # @param [Hash] options
145
+ # @return [Core::Response]
146
+ # The #data method of the response object returns
147
+ # a hash with the following structure:
148
+ # * +:adjustment_types+ - (Array<Hash>)
149
+ # * +:adjustment_type+ - (String)
150
+
151
+ # @!method describe_auto_scaling_groups(options = {})
152
+ # Calls the DescribeAutoScalingGroups API operation.
153
+ # @param [Hash] options
154
+ # * +:auto_scaling_group_names+ - (Array<String>)
155
+ # * +:next_token+ - (String)
156
+ # * +:max_records+ - (Integer)
157
+ # @return [Core::Response]
158
+ # The #data method of the response object returns
159
+ # a hash with the following structure:
160
+ # * +:auto_scaling_groups+ - (Array<Hash>)
161
+ # * +:auto_scaling_group_name+ - (String)
162
+ # * +:auto_scaling_group_arn+ - (String)
163
+ # * +:launch_configuration_name+ - (String)
164
+ # * +:min_size+ - (Integer)
165
+ # * +:max_size+ - (Integer)
166
+ # * +:desired_capacity+ - (Integer)
167
+ # * +:default_cooldown+ - (Integer)
168
+ # * +:availability_zones+ - (Array<String>)
169
+ # * +:load_balancer_names+ - (Array<String>)
170
+ # * +:health_check_type+ - (String)
171
+ # * +:health_check_grace_period+ - (Integer)
172
+ # * +:instances+ - (Array<Hash>)
173
+ # * +:instance_id+ - (String)
174
+ # * +:availability_zone+ - (String)
175
+ # * +:lifecycle_state+ - (String)
176
+ # * +:health_status+ - (String)
177
+ # * +:launch_configuration_name+ - (String)
178
+ # * +:created_time+ - (Time)
179
+ # * +:suspended_processes+ - (Array<Hash>)
180
+ # * +:process_name+ - (String)
181
+ # * +:suspension_reason+ - (String)
182
+ # * +:placement_group+ - (String)
183
+ # * +:vpc_zone_identifier+ - (String)
184
+ # * +:enabled_metrics+ - (Array<Hash>)
185
+ # * +:metric+ - (String)
186
+ # * +:granularity+ - (String)
187
+ # * +:status+ - (String)
188
+ # * +:tags+ - (Array<Hash>)
189
+ # * +:resource_id+ - (String)
190
+ # * +:resource_type+ - (String)
191
+ # * +:key+ - (String)
192
+ # * +:value+ - (String)
193
+ # * +:propagate_at_launch+ - (Boolean)
194
+ # * +:termination_policies+ - (Array<String>)
195
+ # * +:next_token+ - (String)
196
+
197
+ # @!method describe_auto_scaling_instances(options = {})
198
+ # Calls the DescribeAutoScalingInstances API operation.
199
+ # @param [Hash] options
200
+ # * +:instance_ids+ - (Array<String>)
201
+ # * +:max_records+ - (Integer)
202
+ # * +:next_token+ - (String)
203
+ # @return [Core::Response]
204
+ # The #data method of the response object returns
205
+ # a hash with the following structure:
206
+ # * +:auto_scaling_instances+ - (Array<Hash>)
207
+ # * +:instance_id+ - (String)
208
+ # * +:auto_scaling_group_name+ - (String)
209
+ # * +:availability_zone+ - (String)
210
+ # * +:lifecycle_state+ - (String)
211
+ # * +:health_status+ - (String)
212
+ # * +:launch_configuration_name+ - (String)
213
+ # * +:next_token+ - (String)
214
+
215
+ # @!method describe_auto_scaling_notification_types(options = {})
216
+ # Calls the DescribeAutoScalingNotificationTypes API operation.
217
+ # @param [Hash] options
218
+ # @return [Core::Response]
219
+ # The #data method of the response object returns
220
+ # a hash with the following structure:
221
+ # * +:auto_scaling_notification_types+ - (Array<String>)
222
+
223
+ # @!method describe_launch_configurations(options = {})
224
+ # Calls the DescribeLaunchConfigurations API operation.
225
+ # @param [Hash] options
226
+ # * +:launch_configuration_names+ - (Array<String>)
227
+ # * +:next_token+ - (String)
228
+ # * +:max_records+ - (Integer)
229
+ # @return [Core::Response]
230
+ # The #data method of the response object returns
231
+ # a hash with the following structure:
232
+ # * +:launch_configurations+ - (Array<Hash>)
233
+ # * +:launch_configuration_name+ - (String)
234
+ # * +:launch_configuration_arn+ - (String)
235
+ # * +:image_id+ - (String)
236
+ # * +:key_name+ - (String)
237
+ # * +:security_groups+ - (Array<String>)
238
+ # * +:user_data+ - (String)
239
+ # * +:instance_type+ - (String)
240
+ # * +:kernel_id+ - (String)
241
+ # * +:ramdisk_id+ - (String)
242
+ # * +:block_device_mappings+ - (Array<Hash>)
243
+ # * +:virtual_name+ - (String)
244
+ # * +:device_name+ - (String)
245
+ # * +:ebs+ - (Hash)
246
+ # * +:snapshot_id+ - (String)
247
+ # * +:volume_size+ - (Integer)
248
+ # * +:instance_monitoring+ - (Hash)
249
+ # * +:enabled+ - (Boolean)
250
+ # * +:spot_price+ - (String)
251
+ # * +:iam_instance_profile+ - (String)
252
+ # * +:created_time+ - (Time)
253
+ # * +:ebs_optimized+ - (Boolean)
254
+ # * +:next_token+ - (String)
255
+
256
+ # @!method describe_metric_collection_types(options = {})
257
+ # Calls the DescribeMetricCollectionTypes API operation.
258
+ # @param [Hash] options
259
+ # @return [Core::Response]
260
+ # The #data method of the response object returns
261
+ # a hash with the following structure:
262
+ # * +:metrics+ - (Array<Hash>)
263
+ # * +:metric+ - (String)
264
+ # * +:granularities+ - (Array<Hash>)
265
+ # * +:granularity+ - (String)
266
+
267
+ # @!method describe_notification_configurations(options = {})
268
+ # Calls the DescribeNotificationConfigurations API operation.
269
+ # @param [Hash] options
270
+ # * +:auto_scaling_group_names+ - (Array<String>)
271
+ # * +:next_token+ - (String)
272
+ # * +:max_records+ - (Integer)
273
+ # @return [Core::Response]
274
+ # The #data method of the response object returns
275
+ # a hash with the following structure:
276
+ # * +:notification_configurations+ - (Array<Hash>)
277
+ # * +:auto_scaling_group_name+ - (String)
278
+ # * +:topic_arn+ - (String)
279
+ # * +:notification_type+ - (String)
280
+ # * +:next_token+ - (String)
281
+
282
+ # @!method describe_policies(options = {})
283
+ # Calls the DescribePolicies API operation.
284
+ # @param [Hash] options
285
+ # * +:auto_scaling_group_name+ - (String)
286
+ # * +:policy_names+ - (Array<String>)
287
+ # * +:next_token+ - (String)
288
+ # * +:max_records+ - (Integer)
289
+ # @return [Core::Response]
290
+ # The #data method of the response object returns
291
+ # a hash with the following structure:
292
+ # * +:scaling_policies+ - (Array<Hash>)
293
+ # * +:auto_scaling_group_name+ - (String)
294
+ # * +:policy_name+ - (String)
295
+ # * +:scaling_adjustment+ - (Integer)
296
+ # * +:adjustment_type+ - (String)
297
+ # * +:cooldown+ - (Integer)
298
+ # * +:policy_arn+ - (String)
299
+ # * +:alarms+ - (Array<Hash>)
300
+ # * +:alarm_name+ - (String)
301
+ # * +:alarm_arn+ - (String)
302
+ # * +:min_adjustment_step+ - (Integer)
303
+ # * +:next_token+ - (String)
304
+
305
+ # @!method describe_scaling_activities(options = {})
306
+ # Calls the DescribeScalingActivities API operation.
307
+ # @param [Hash] options
308
+ # * +:activity_ids+ - (Array<String>)
309
+ # * +:auto_scaling_group_name+ - (String)
310
+ # * +:max_records+ - (Integer)
311
+ # * +:next_token+ - (String)
312
+ # @return [Core::Response]
313
+ # The #data method of the response object returns
314
+ # a hash with the following structure:
315
+ # * +:activities+ - (Array<Hash>)
316
+ # * +:activity_id+ - (String)
317
+ # * +:auto_scaling_group_name+ - (String)
318
+ # * +:description+ - (String)
319
+ # * +:cause+ - (String)
320
+ # * +:start_time+ - (Time)
321
+ # * +:end_time+ - (Time)
322
+ # * +:status_code+ - (String)
323
+ # * +:status_message+ - (String)
324
+ # * +:progress+ - (Integer)
325
+ # * +:details+ - (String)
326
+ # * +:next_token+ - (String)
327
+
328
+ # @!method describe_scaling_process_types(options = {})
329
+ # Calls the DescribeScalingProcessTypes API operation.
330
+ # @param [Hash] options
331
+ # @return [Core::Response]
332
+ # The #data method of the response object returns
333
+ # a hash with the following structure:
334
+ # * +:processes+ - (Array<Hash>)
335
+ # * +:process_name+ - (String)
336
+
337
+ # @!method describe_scheduled_actions(options = {})
338
+ # Calls the DescribeScheduledActions API operation.
339
+ # @param [Hash] options
340
+ # * +:auto_scaling_group_name+ - (String)
341
+ # * +:scheduled_action_names+ - (Array<String>)
342
+ # * +:start_time+ - (String<ISO8601 datetime>)
343
+ # * +:end_time+ - (String<ISO8601 datetime>)
344
+ # * +:next_token+ - (String)
345
+ # * +:max_records+ - (Integer)
346
+ # @return [Core::Response]
347
+ # The #data method of the response object returns
348
+ # a hash with the following structure:
349
+ # * +:scheduled_update_group_actions+ - (Array<Hash>)
350
+ # * +:auto_scaling_group_name+ - (String)
351
+ # * +:scheduled_action_name+ - (String)
352
+ # * +:scheduled_action_arn+ - (String)
353
+ # * +:time+ - (Time)
354
+ # * +:start_time+ - (Time)
355
+ # * +:end_time+ - (Time)
356
+ # * +:recurrence+ - (String)
357
+ # * +:min_size+ - (Integer)
358
+ # * +:max_size+ - (Integer)
359
+ # * +:desired_capacity+ - (Integer)
360
+ # * +:next_token+ - (String)
361
+
362
+ # @!method describe_tags(options = {})
363
+ # Calls the DescribeTags API operation.
364
+ # @param [Hash] options
365
+ # * +:filters+ - (Array<Hash>)
366
+ # * +:name+ - (String)
367
+ # * +:values+ - (Array<String>)
368
+ # * +:next_token+ - (String)
369
+ # * +:max_records+ - (Integer)
370
+ # @return [Core::Response]
371
+ # The #data method of the response object returns
372
+ # a hash with the following structure:
373
+ # * +:tags+ - (Array<Hash>)
374
+ # * +:resource_id+ - (String)
375
+ # * +:resource_type+ - (String)
376
+ # * +:key+ - (String)
377
+ # * +:value+ - (String)
378
+ # * +:propagate_at_launch+ - (Boolean)
379
+ # * +:next_token+ - (String)
380
+
381
+ # @!method describe_termination_policy_types(options = {})
382
+ # Calls the DescribeTerminationPolicyTypes API operation.
383
+ # @param [Hash] options
384
+ # @return [Core::Response]
385
+ # The #data method of the response object returns
386
+ # a hash with the following structure:
387
+ # * +:termination_policy_types+ - (Array<String>)
388
+
389
+ # @!method disable_metrics_collection(options = {})
390
+ # Calls the DisableMetricsCollection API operation.
391
+ # @param [Hash] options
392
+ # * +:auto_scaling_group_name+ - *required* - (String)
393
+ # * +:metrics+ - (Array<String>)
394
+ # @return [Core::Response]
395
+
396
+ # @!method enable_metrics_collection(options = {})
397
+ # Calls the EnableMetricsCollection API operation.
398
+ # @param [Hash] options
399
+ # * +:auto_scaling_group_name+ - *required* - (String)
400
+ # * +:metrics+ - (Array<String>)
401
+ # * +:granularity+ - *required* - (String)
402
+ # @return [Core::Response]
403
+
404
+ # @!method execute_policy(options = {})
405
+ # Calls the ExecutePolicy API operation.
406
+ # @param [Hash] options
407
+ # * +:auto_scaling_group_name+ - (String)
408
+ # * +:policy_name+ - *required* - (String)
409
+ # * +:honor_cooldown+ - (Boolean)
410
+ # @return [Core::Response]
411
+
412
+ # @!method put_notification_configuration(options = {})
413
+ # Calls the PutNotificationConfiguration API operation.
414
+ # @param [Hash] options
415
+ # * +:auto_scaling_group_name+ - *required* - (String)
416
+ # * +:topic_arn+ - *required* - (String)
417
+ # * +:notification_types+ - *required* - (Array<String>)
418
+ # @return [Core::Response]
419
+
420
+ # @!method put_scaling_policy(options = {})
421
+ # Calls the PutScalingPolicy API operation.
422
+ # @param [Hash] options
423
+ # * +:auto_scaling_group_name+ - *required* - (String)
424
+ # * +:policy_name+ - *required* - (String)
425
+ # * +:scaling_adjustment+ - *required* - (Integer)
426
+ # * +:adjustment_type+ - *required* - (String)
427
+ # * +:cooldown+ - (Integer)
428
+ # * +:min_adjustment_step+ - (Integer)
429
+ # @return [Core::Response]
430
+ # The #data method of the response object returns
431
+ # a hash with the following structure:
432
+ # * +:policy_arn+ - (String)
433
+
434
+ # @!method put_scheduled_update_group_action(options = {})
435
+ # Calls the PutScheduledUpdateGroupAction API operation.
436
+ # @param [Hash] options
437
+ # * +:auto_scaling_group_name+ - *required* - (String)
438
+ # * +:scheduled_action_name+ - *required* - (String)
439
+ # * +:time+ - (String<ISO8601 datetime>)
440
+ # * +:start_time+ - (String<ISO8601 datetime>)
441
+ # * +:end_time+ - (String<ISO8601 datetime>)
442
+ # * +:recurrence+ - (String)
443
+ # * +:min_size+ - (Integer)
444
+ # * +:max_size+ - (Integer)
445
+ # * +:desired_capacity+ - (Integer)
446
+ # @return [Core::Response]
447
+
448
+ # @!method resume_processes(options = {})
449
+ # Calls the ResumeProcesses API operation.
450
+ # @param [Hash] options
451
+ # * +:auto_scaling_group_name+ - *required* - (String)
452
+ # * +:scaling_processes+ - (Array<String>)
453
+ # @return [Core::Response]
454
+
455
+ # @!method set_desired_capacity(options = {})
456
+ # Calls the SetDesiredCapacity API operation.
457
+ # @param [Hash] options
458
+ # * +:auto_scaling_group_name+ - *required* - (String)
459
+ # * +:desired_capacity+ - *required* - (Integer)
460
+ # * +:honor_cooldown+ - (Boolean)
461
+ # @return [Core::Response]
462
+
463
+ # @!method set_instance_health(options = {})
464
+ # Calls the SetInstanceHealth API operation.
465
+ # @param [Hash] options
466
+ # * +:instance_id+ - *required* - (String)
467
+ # * +:health_status+ - *required* - (String)
468
+ # * +:should_respect_grace_period+ - (Boolean)
469
+ # @return [Core::Response]
470
+
471
+ # @!method suspend_processes(options = {})
472
+ # Calls the SuspendProcesses API operation.
473
+ # @param [Hash] options
474
+ # * +:auto_scaling_group_name+ - *required* - (String)
475
+ # * +:scaling_processes+ - (Array<String>)
476
+ # @return [Core::Response]
477
+
478
+ # @!method terminate_instance_in_auto_scaling_group(options = {})
479
+ # Calls the TerminateInstanceInAutoScalingGroup API operation.
480
+ # @param [Hash] options
481
+ # * +:instance_id+ - *required* - (String)
482
+ # * +:should_decrement_desired_capacity+ - *required* - (Boolean)
483
+ # @return [Core::Response]
484
+ # The #data method of the response object returns
485
+ # a hash with the following structure:
486
+ # * +:activity+ - (Hash)
487
+ # * +:activity_id+ - (String)
488
+ # * +:auto_scaling_group_name+ - (String)
489
+ # * +:description+ - (String)
490
+ # * +:cause+ - (String)
491
+ # * +:start_time+ - (Time)
492
+ # * +:end_time+ - (Time)
493
+ # * +:status_code+ - (String)
494
+ # * +:status_message+ - (String)
495
+ # * +:progress+ - (Integer)
496
+ # * +:details+ - (String)
497
+
498
+ # @!method update_auto_scaling_group(options = {})
499
+ # Calls the UpdateAutoScalingGroup API operation.
500
+ # @param [Hash] options
501
+ # * +:auto_scaling_group_name+ - *required* - (String)
502
+ # * +:launch_configuration_name+ - (String)
503
+ # * +:min_size+ - (Integer)
504
+ # * +:max_size+ - (Integer)
505
+ # * +:desired_capacity+ - (Integer)
506
+ # * +:default_cooldown+ - (Integer)
507
+ # * +:availability_zones+ - (Array<String>)
508
+ # * +:health_check_type+ - (String)
509
+ # * +:health_check_grace_period+ - (Integer)
510
+ # * +:placement_group+ - (String)
511
+ # * +:vpc_zone_identifier+ - (String)
512
+ # * +:termination_policies+ - (Array<String>)
513
+ # @return [Core::Response]
514
+
515
+ # end client methods #
516
+
517
+ define_client_methods('2011-01-01')
518
+
519
+ end
520
+ end
521
+ end