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,93 @@
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 ELB
16
+ class LoadBalancerPolicy < Core::Resource
17
+
18
+ # @private
19
+ def initialize load_balancer, name, options = {}
20
+ @load_balancer = load_balancer
21
+ super(load_balancer, options.merge(:name => name.to_s))
22
+ end
23
+
24
+ # @return [LoadBalancer] Returns the load balancer this policy belongs to.
25
+ attr_reader :load_balancer
26
+
27
+ attribute :name, :static => true, :from => :policy_name
28
+
29
+ attribute :type, :static => true, :from => :policy_type_name
30
+
31
+ attribute :policy_attribute_descriptions, :static => true
32
+
33
+ protected :policy_attribute_descriptions
34
+
35
+ populates_from(:describe_load_balancer_policies) do |resp|
36
+ if resp.request_options[:load_balancer_name] == load_balancer.name
37
+ resp.policy_descriptions.find do |desc|
38
+ desc.policy_name == name
39
+ end
40
+ end
41
+ end
42
+
43
+ # @return [Hash] Returns a hash of policy attributes. Keys are
44
+ # policy attribute names, and values are arrays one or more policy
45
+ # attribute values.
46
+ def attributes
47
+ attributes = {}
48
+ policy_attribute_descriptions.each do |desc|
49
+ attributes[desc.attribute_name] ||= []
50
+ attributes[desc.attribute_name] << desc.attribute_value
51
+ end
52
+ attributes
53
+ end
54
+
55
+ # Deletes this load balancer policy.
56
+ # @return [nil]
57
+ def delete
58
+
59
+ client.delete_load_balancer_policy(
60
+ :load_balancer_name => load_balancer.name,
61
+ :policy_name => name)
62
+
63
+ nil
64
+
65
+ end
66
+
67
+ # Useful for determining if a policy with the given name exists:
68
+ #
69
+ # load_balancer.policies['my-policy-name'].exists? # => true/false
70
+ #
71
+ # @return [Boolean] Returns true this policy's load balancer has a
72
+ # policy with this name.
73
+ def exists?
74
+ r = get_resource
75
+ r.policy_descriptions.find{|d| d.policy_name == name } ? true : false
76
+ rescue AWS::ELB::Errors::LoadBalancerNotFound
77
+ false
78
+ end
79
+
80
+ protected
81
+ def resource_identifiers
82
+ [[:load_balancer_name, load_balancer.name],[:policy_name, name]]
83
+ end
84
+
85
+ protected
86
+ def get_resource attr_name = nil
87
+ client.describe_load_balancer_policies(
88
+ :load_balancer_name => load_balancer.name)
89
+ end
90
+
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,208 @@
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 ELB
16
+
17
+ class LoadBalancerPolicyCollection
18
+
19
+ include Core::Collection::Simple
20
+
21
+ def initialize load_balancer, options = {}
22
+ @load_balancer = load_balancer
23
+ super
24
+ end
25
+
26
+ attr_reader :load_balancer
27
+
28
+ # Creates a new load balancer policy that contains the necessary
29
+ # attributes depending on the policy type. Policies are settings
30
+ # that are saved for your load balancer and that can be applied to
31
+ # the front-end listener, or the back-end application server,
32
+ # depending on your policy type.
33
+ #
34
+ # == Applying Policies
35
+ #
36
+ # To apply a policy to a front-end listener:
37
+ #
38
+ # # each listener may only have a single policy
39
+ # load_balancer.listener[80].policy = listener_policy
40
+ #
41
+ # To apply a policy to backend instance port
42
+ #
43
+ # # back end servers can have multiple policies per instance port
44
+ # load_balancer.backend_server_policies.add(80, back_end_policy)
45
+ #
46
+ # @param [String] name The name of the policy being created. The name
47
+ # must be unique within the set of policies for this load balancer.
48
+ #
49
+ # @param [String] type The policy type name. Valid values inlucde:
50
+ #
51
+ # * 'PublicKeyPolicyType'
52
+ # * 'AppCookieStickinessPolicyType'
53
+ # * 'LBCookieStickinessPolicyType'
54
+ # * 'SSLNegotiationPolicyType'
55
+ # * 'BackendServerAuthenticationPolicyType'
56
+ #
57
+ # @param [Hash] attributes A hash of policy attributes. Each policy
58
+ # type accepts a different list of hash options. Below each
59
+ # policy type name is listed with its list of accepted options.
60
+ # Attributes that accept more than one value should be provided
61
+ # as an array of values.
62
+ #
63
+ # Hash keys should be attribute names, values may be single
64
+ # values or arrays of values.
65
+ #
66
+ # PublicKeyPolicyType
67
+ #
68
+ # Policy containing a list of public keys to accept when authenticating the back-end server(s). This policy cannot be applied directly to back-end servers or listeners but must be part of a BackendServerAuthenticationPolicyType.
69
+ #
70
+ # * 'PublicKey', String, one
71
+ #
72
+ # AppCookieStickinessPolicyType
73
+ #
74
+ # Stickiness policy with session lifetimes controlled by the lifetime of the application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.
75
+ #
76
+ # * 'CookieName', String, one
77
+ #
78
+ # LBCookieStickinessPolicyType
79
+ #
80
+ # Stickiness policy with session lifetimes controlled by the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.
81
+ #
82
+ # * 'CookieExpirationPeriod', Long, zero or one
83
+ #
84
+ # SSLNegotiationPolicyType
85
+ #
86
+ # Listener policy that defines the ciphers and protocols that will be accepted by the load balancer. This policy can be associated only with HTTPS/SSL listeners.
87
+ #
88
+ # * 'Protocol-SSLv2', Boolean, zero or one
89
+ # * 'Protocol-TLSv1', Boolean, zero or one
90
+ # * 'Protocol-SSLv3', Boolean, zero or one
91
+ # * 'DHE-RSA-AES256-SHA', Boolean, zero or one
92
+ # * 'DHE-DSS-AES256-SHA', Boolean, zero or one
93
+ # * 'DHE-RSA-CAMELLIA256-SHA', Boolean, zero or one
94
+ # * 'DHE-DSS-CAMELLIA256-SHA', Boolean, zero or one
95
+ # * 'ADH-AES256-SHA', Boolean, zero or one
96
+ # * 'ADH-CAMELLIA256-SHA', Boolean, zero or one
97
+ # * 'AES256-SHA', Boolean, zero or one
98
+ # * 'CAMELLIA256-SHA', Boolean, zero or one
99
+ # * 'PSK-AES256-CBC-SHA', Boolean, zero or one
100
+ # * 'EDH-RSA-DES-CBC3-SHA', Boolean, zero or one
101
+ # * 'EDH-DSS-DES-CBC3-SHA', Boolean, zero or one
102
+ # * 'ADH-DES-CBC3-SHA', Boolean, zero or one
103
+ # * 'DES-CBC3-SHA', Boolean, zero or one
104
+ # * 'DES-CBC3-MD5', Boolean, zero or one
105
+ # * 'PSK-3DES-EDE-CBC-SHA', Boolean, zero or one
106
+ # * 'KRB5-DES-CBC3-SHA', Boolean, zero or one
107
+ # * 'KRB5-DES-CBC3-MD5', Boolean, zero or one
108
+ # * 'DHE-RSA-AES128-SHA', Boolean, zero or one
109
+ # * 'DHE-DSS-AES128-SHA', Boolean, zero or one
110
+ # * 'DHE-RSA-SEED-SHA', Boolean, zero or one
111
+ # * 'DHE-DSS-SEED-SHA', Boolean, zero or one
112
+ # * 'DHE-RSA-CAMELLIA128-SHA', Boolean, zero or one
113
+ # * 'DHE-DSS-CAMELLIA128-SHA', Boolean, zero or one
114
+ # * 'ADH-AES128-SHA', Boolean, zero or one
115
+ # * 'ADH-SEED-SHA', Boolean, zero or one
116
+ # * 'ADH-CAMELLIA128-SHA', Boolean, zero or one
117
+ # * 'AES128-SHA', Boolean, zero or one
118
+ # * 'SEED-SHA', Boolean, zero or one
119
+ # * 'CAMELLIA128-SHA', Boolean, zero or one
120
+ # * 'RC2-CBC-MD5', Boolean, zero or one
121
+ # * 'PSK-AES128-CBC-SHA', Boolean, zero or one
122
+ # * 'ADH-RC4-MD5', Boolean, zero or one
123
+ # * 'IDEA-CBC-SHA', Boolean, zero or one
124
+ # * 'RC4-SHA', Boolean, zero or one
125
+ # * 'RC4-MD5', Boolean, zero or one
126
+ # * 'PSK-RC4-SHA', Boolean, zero or one
127
+ # * 'KRB5-RC4-SHA', Boolean, zero or one
128
+ # * 'KRB5-RC4-MD5', Boolean, zero or one
129
+ # * 'EDH-RSA-DES-CBC-SHA', Boolean, zero or one
130
+ # * 'EDH-DSS-DES-CBC-SHA', Boolean, zero or one
131
+ # * 'ADH-DES-CBC-SHA', Boolean, zero or one
132
+ # * 'DES-CBC-SHA', Boolean, zero or one
133
+ # * 'DES-CBC-MD5', Boolean, zero or one
134
+ # * 'KRB5-DES-CBC-SHA', Boolean, zero or one
135
+ # * 'KRB5-DES-CBC-MD5', Boolean, zero or one
136
+ # * 'EXP-EDH-RSA-DES-CBC-SHA', Boolean, zero or one
137
+ # * 'EXP-EDH-DSS-DES-CBC-SHA', Boolean, zero or one
138
+ # * 'EXP-ADH-DES-CBC-SHA', Boolean, zero or one
139
+ # * 'EXP-DES-CBC-SHA', Boolean, zero or one
140
+ # * 'EXP-RC2-CBC-MD5', Boolean, zero or one
141
+ # * 'EXP-KRB5-RC2-CBC-SHA', Boolean, zero or one
142
+ # * 'EXP-KRB5-DES-CBC-SHA', Boolean, zero or one
143
+ # * 'EXP-KRB5-RC2-CBC-MD5', Boolean, zero or one
144
+ # * 'EXP-KRB5-DES-CBC-MD5', Boolean, zero or one
145
+ # * 'EXP-ADH-RC4-MD5', Boolean, zero or one
146
+ # * 'EXP-RC4-MD5', Boolean, zero or one
147
+ # * 'EXP-KRB5-RC4-SHA', Boolean, zero or one
148
+ # * 'EXP-KRB5-RC4-MD5', Boolean, zero or one
149
+ #
150
+ # BackendServerAuthenticationPolicyType
151
+ #
152
+ # Policy that controls authentication to back-end server(s) and contains one or more policies, such as an instance of a PublicKeyPolicyType. This policy can be associated only with back-end servers that are using HTTPS/SSL.
153
+ #
154
+ # * 'PublicKeyPolicyName', PolicyName, one or more
155
+ #
156
+ # @return [nil]
157
+ #
158
+ def create name, type, attributes = {}
159
+
160
+ attribute_list = []
161
+
162
+ attributes.each do |attr_name,values|
163
+ [values].flatten.each do |value|
164
+ attribute_list << {
165
+ :attribute_name => attr_name,
166
+ :attribute_value => value.to_s
167
+ }
168
+ end
169
+ end
170
+
171
+ client.create_load_balancer_policy(
172
+ :load_balancer_name => load_balancer.name,
173
+ :policy_name => name.to_s,
174
+ :policy_type_name => type.to_s,
175
+ :policy_attributes => attribute_list)
176
+
177
+ LoadBalancerPolicy.new(load_balancer, name, :type => type.to_s)
178
+
179
+ end
180
+
181
+ # @param [String] policy_name The name of the policy to return.
182
+ # @return [LoadBalancerPolicy] Returns a reference to the load balancer
183
+ # policy with the given name.
184
+ def [] policy_name
185
+ LoadBalancerPolicy.new(load_balancer, policy_name)
186
+ end
187
+
188
+ protected
189
+ def _each_item options = {}, &block
190
+
191
+ options[:load_balancer_name] = load_balancer.name
192
+
193
+ response = client.describe_load_balancer_policies(options)
194
+ response.policy_descriptions.each do |desc|
195
+
196
+ load_balancer_policy = LoadBalancerPolicy.new_from(
197
+ :describe_load_balancer_policies,
198
+ desc, load_balancer, desc.policy_name)
199
+
200
+ yield(load_balancer_policy)
201
+
202
+ end
203
+
204
+ end
205
+
206
+ end
207
+ end
208
+ 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 ELB
16
+
17
+ # @private
18
+ class Request < Core::Http::Request
19
+
20
+ include Core::Signature::Version4
21
+
22
+ def service
23
+ 'elasticloadbalancing'
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,86 @@
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/emr/config'
16
+ require 'time'
17
+
18
+ module AWS
19
+
20
+ # Provides an expressive, object-oriented interface to Amazon Elastic
21
+ # MapReduce.
22
+ #
23
+ # To use Amazon Elastic MapReduce you must first
24
+ # {sign up here}[http://aws.amazon.com/elasticmapreduce/]
25
+ #
26
+ # For more information about Amazon Elastic MapReduce, see:
27
+ #
28
+ # * {Amazon Elastic MapReduce}[http://aws.amazon.com/elasticmapreduce/]
29
+ # * {Amazon Elastic MapReduce Documentation}[http://aws.amazon.com/documentation/elasticmapreduce/]
30
+ #
31
+ # == Credentials
32
+ #
33
+ # You can setup default credentials for all AWS services via
34
+ # AWS.config:
35
+ #
36
+ # AWS.config(
37
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
38
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
39
+ #
40
+ # Or you can set them directly on the EMR interface:
41
+ #
42
+ # emr = AWS::EMR.new(
43
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
44
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
45
+ #
46
+ # = Job Flows
47
+ #
48
+ # The {#job_flows} method returns a collection you use to interact
49
+ # with your job flows.
50
+ #
51
+ # # creating a job flow
52
+ # job_flow = emr.job_flows.create(...)
53
+ #
54
+ # # enumerating job flows
55
+ # emr.job_flows.each do |job_flow|
56
+ # puts job_flow.id
57
+ # end
58
+ #
59
+ # See {JobFlowCollection} and {JobFlow} for more information on working
60
+ # with job flows.
61
+ #
62
+ # @!attribute [r] client
63
+ # @return [Client] the low-level EMR client object
64
+ class EMR
65
+
66
+ AWS.register_autoloads(self) do
67
+ autoload :Client, 'client'
68
+ autoload :Errors, 'errors'
69
+ autoload :InstanceGroup, 'instance_group'
70
+ autoload :InstanceGroupCollection, 'instance_group_collection'
71
+ autoload :JobFlow, 'job_flow'
72
+ autoload :JobFlowCollection, 'job_flow_collection'
73
+ autoload :Request, 'request'
74
+ end
75
+
76
+ include Core::ServiceInterface
77
+
78
+ # @return [JobFlowCollection] Returns a collection that represents all
79
+ # job flows.
80
+ def job_flows
81
+ JobFlowCollection.new(:config => config)
82
+ end
83
+ alias_method :jobs, :job_flows
84
+
85
+ end
86
+ end
@@ -0,0 +1,330 @@
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 EMR
16
+
17
+ # Client class for Elastic MapReduce (EMR).
18
+ class Client < Core::QueryClient
19
+
20
+ # @private
21
+ CACHEABLE_REQUESTS = Set[]
22
+
23
+ # client methods #
24
+
25
+ # @!method add_instance_groups(options = {})
26
+ # Calls the AddInstanceGroups API operation.
27
+ # @param [Hash] options
28
+ # * +:instance_groups+ - *required* - (Array<Hash>) Instance Groups to
29
+ # add.
30
+ # * +:name+ - (String) Friendly name given to the instance group.
31
+ # * +:market+ - (String) Market type of the Amazon EC2 instances used
32
+ # to create a cluster node.
33
+ # * +:instance_role+ - *required* - (String) The role of the instance
34
+ # group in the cluster.
35
+ # * +:bid_price+ - (String) Bid price for each Amazon EC2 instance in
36
+ # the instance group when launching nodes as Spot Instances,
37
+ # expressed in USD.
38
+ # * +:instance_type+ - *required* - (String) The Amazon EC2 instance
39
+ # type for all instances in the instance group.
40
+ # * +:instance_count+ - *required* - (Integer) Target number of
41
+ # instances for the instance group.
42
+ # * +:job_flow_id+ - *required* - (String) Job flow in which to add the
43
+ # instance groups.
44
+ # @return [Core::Response]
45
+ # The #data method of the response object returns
46
+ # a hash with the following structure:
47
+ # * +:job_flow_id+ - (String)
48
+ # * +:instance_group_ids+ - (Array<String>)
49
+
50
+ # @!method add_job_flow_steps(options = {})
51
+ # Calls the AddJobFlowSteps API operation.
52
+ # @param [Hash] options
53
+ # * +:job_flow_id+ - *required* - (String) A string that uniquely
54
+ # identifies the job flow. This identifier is returned by RunJobFlow
55
+ # and can also be obtained from DescribeJobFlows.
56
+ # * +:steps+ - *required* - (Array<Hash>) A list of StepConfig to be
57
+ # executed by the job flow.
58
+ # * +:name+ - *required* - (String) The name of the job flow step.
59
+ # * +:action_on_failure+ - (String) Specifies the action to take if
60
+ # the job flow step fails.
61
+ # * +:hadoop_jar_step+ - *required* - (Hash) Specifies the JAR file
62
+ # used for the job flow step.
63
+ # * +:properties+ - (Array<Hash>) A list of Java properties that
64
+ # are set when the step runs. You can use these properties to
65
+ # pass key value pairs to your main function.
66
+ # * +:key+ - (String) The unique identifier of a key value pair.
67
+ # * +:value+ - (String) The value part of the identified key.
68
+ # * +:jar+ - *required* - (String) A path to a JAR file run during
69
+ # the step.
70
+ # * +:main_class+ - (String) The name of the main class in the
71
+ # specified Java file. If not specified, the JAR file should
72
+ # specify a Main-Class in its manifest file.
73
+ # * +:args+ - (Array<String>) A list of command line arguments
74
+ # passed to the JAR file's main function when executed.
75
+ # @return [Core::Response]
76
+
77
+ # @!method describe_job_flows(options = {})
78
+ # Calls the DescribeJobFlows API operation.
79
+ # @param [Hash] options
80
+ # * +:created_after+ - (String<ISO8601 datetime>) Return only job flows
81
+ # created after this date and time.
82
+ # * +:created_before+ - (String<ISO8601 datetime>) Return only job
83
+ # flows created before this date and time.
84
+ # * +:job_flow_ids+ - (Array<String>) Return only job flows whose job
85
+ # flow ID is contained in this list.
86
+ # * +:job_flow_states+ - (Array<String>) Return only job flows whose
87
+ # state is contained in this list.
88
+ # @return [Core::Response]
89
+ # The #data method of the response object returns
90
+ # a hash with the following structure:
91
+ # * +:job_flows+ - (Array<Hash>)
92
+ # * +:job_flow_id+ - (String)
93
+ # * +:name+ - (String)
94
+ # * +:log_uri+ - (String)
95
+ # * +:ami_version+ - (String)
96
+ # * +:execution_status_detail+ - (Hash)
97
+ # * +:state+ - (String)
98
+ # * +:creation_date_time+ - (Time)
99
+ # * +:start_date_time+ - (Time)
100
+ # * +:ready_date_time+ - (Time)
101
+ # * +:end_date_time+ - (Time)
102
+ # * +:last_state_change_reason+ - (String)
103
+ # * +:instances+ - (Hash)
104
+ # * +:master_instance_type+ - (String)
105
+ # * +:master_public_dns_name+ - (String)
106
+ # * +:master_instance_id+ - (String)
107
+ # * +:slave_instance_type+ - (String)
108
+ # * +:instance_count+ - (Integer)
109
+ # * +:instance_groups+ - (Array<Hash>)
110
+ # * +:instance_group_id+ - (String)
111
+ # * +:name+ - (String)
112
+ # * +:market+ - (String)
113
+ # * +:instance_role+ - (String)
114
+ # * +:bid_price+ - (String)
115
+ # * +:instance_type+ - (String)
116
+ # * +:instance_request_count+ - (Integer)
117
+ # * +:instance_running_count+ - (Integer)
118
+ # * +:state+ - (String)
119
+ # * +:last_state_change_reason+ - (String)
120
+ # * +:creation_date_time+ - (Time)
121
+ # * +:start_date_time+ - (Time)
122
+ # * +:ready_date_time+ - (Time)
123
+ # * +:end_date_time+ - (Time)
124
+ # * +:normalized_instance_hours+ - (Integer)
125
+ # * +:ec2_key_name+ - (String)
126
+ # * +:ec2_subnet_id+ - (String)
127
+ # * +:placement+ - (Hash)
128
+ # * +:availability_zone+ - (String)
129
+ # * +:keep_job_flow_alive_when_no_steps+ - (Boolean)
130
+ # * +:termination_protected+ - (Boolean)
131
+ # * +:hadoop_version+ - (String)
132
+ # * +:steps+ - (Array<Hash>)
133
+ # * +:step_config+ - (Hash)
134
+ # * +:name+ - (String)
135
+ # * +:action_on_failure+ - (String)
136
+ # * +:hadoop_jar_step+ - (Hash)
137
+ # * +:properties+ - (Array<Hash>)
138
+ # * +:key+ - (String)
139
+ # * +:value+ - (String)
140
+ # * +:jar+ - (String)
141
+ # * +:main_class+ - (String)
142
+ # * +:args+ - (Array<String>)
143
+ # * +:execution_status_detail+ - (Hash)
144
+ # * +:state+ - (String)
145
+ # * +:creation_date_time+ - (Time)
146
+ # * +:start_date_time+ - (Time)
147
+ # * +:end_date_time+ - (Time)
148
+ # * +:last_state_change_reason+ - (String)
149
+ # * +:bootstrap_actions+ - (Array<Hash>)
150
+ # * +:bootstrap_action_config+ - (Hash)
151
+ # * +:name+ - (String)
152
+ # * +:script_bootstrap_action+ - (Hash)
153
+ # * +:path+ - (String)
154
+ # * +:args+ - (Array<String>)
155
+ # * +:supported_products+ - (Array<String>)
156
+ # * +:visible_to_all_users+ - (Boolean)
157
+ # * +:job_flow_role+ - (String)
158
+
159
+ # @!method modify_instance_groups(options = {})
160
+ # Calls the ModifyInstanceGroups API operation.
161
+ # @param [Hash] options
162
+ # * +:instance_groups+ - (Array<Hash>) Instance groups to change.
163
+ # * +:instance_group_id+ - *required* - (String) Unique ID of the
164
+ # instance group to expand or shrink.
165
+ # * +:instance_count+ - *required* - (Integer) Target size for the
166
+ # instance group.
167
+ # @return [Core::Response]
168
+
169
+ # @!method run_job_flow(options = {})
170
+ # Calls the RunJobFlow API operation.
171
+ # @param [Hash] options
172
+ # * +:name+ - *required* - (String) The name of the job flow.
173
+ # * +:log_uri+ - (String) Specifies the location in Amazon S3 to write
174
+ # the log files of the job flow. If a value is not provided, logs are
175
+ # not created.
176
+ # * +:additional_info+ - (String) A JSON string for selecting
177
+ # additional features.
178
+ # * +:ami_version+ - (String) The version of the Amazon Machine Image
179
+ # (AMI) to use when launching Amazon EC2 instances in the job flow.
180
+ # The following values are valid: "latest" (uses the latest AMI) The
181
+ # version number of the AMI to use, for example, "2.0" If this value
182
+ # is not specified, the job flow uses the default of (AMI 1.0, Hadoop
183
+ # 0.18). If the AMI supports multiple versions of Hadoop (for
184
+ # example, AMI 1.0 supports both Hadoop 0.18 and 0.20) you can use
185
+ # the JobFlowInstancesConfig HadoopVersion parameter to modify the
186
+ # version of Hadoop from the defaults shown above. For details about
187
+ # the AMI versions currently supported by Amazon ElasticMapReduce, go
188
+ # to AMI Versions Supported in Elastic MapReduce in the Amazon
189
+ # Elastic MapReduce Developer's Guide.
190
+ # * +:instances+ - *required* - (Hash) A specification of the number
191
+ # and type of Amazon EC2 instances on which to run the job flow.
192
+ # * +:master_instance_type+ - (String) The EC2 instance type of the
193
+ # master node.
194
+ # * +:slave_instance_type+ - (String) The EC2 instance type of the
195
+ # slave nodes.
196
+ # * +:instance_count+ - (Integer) The number of Amazon EC2 instances
197
+ # used to execute the job flow.
198
+ # * +:instance_groups+ - (Array<Hash>) Configuration for the job
199
+ # flow's instance groups.
200
+ # * +:name+ - (String) Friendly name given to the instance group.
201
+ # * +:market+ - (String) Market type of the Amazon EC2 instances
202
+ # used to create a cluster node.
203
+ # * +:instance_role+ - *required* - (String) The role of the
204
+ # instance group in the cluster.
205
+ # * +:bid_price+ - (String) Bid price for each Amazon EC2 instance
206
+ # in the instance group when launching nodes as Spot Instances,
207
+ # expressed in USD.
208
+ # * +:instance_type+ - *required* - (String) The Amazon EC2
209
+ # instance type for all instances in the instance group.
210
+ # * +:instance_count+ - *required* - (Integer) Target number of
211
+ # instances for the instance group.
212
+ # * +:ec2_key_name+ - (String) Specifies the name of the Amazon EC2
213
+ # key pair that can be used to ssh to the master node as the user
214
+ # called "hadoop."
215
+ # * +:placement+ - (Hash) Specifies the Availability Zone the job
216
+ # flow will run in.
217
+ # * +:availability_zone+ - *required* - (String) The Amazon EC2
218
+ # Availability Zone for the job flow.
219
+ # * +:keep_job_flow_alive_when_no_steps+ - (Boolean) Specifies
220
+ # whether the job flow should terminate after completing all steps.
221
+ # * +:termination_protected+ - (Boolean) Specifies whether to lock
222
+ # the job flow to prevent the Amazon EC2 instances from being
223
+ # terminated by API call, user intervention, or in the event of a
224
+ # job flow error.
225
+ # * +:hadoop_version+ - (String) Specifies the Hadoop version for the
226
+ # job flow. Valid inputs are "0.18", "0.20", or "0.20.205". If you
227
+ # do not set this value, the default of 0.18 is used, unless the
228
+ # AmiVersion parameter is set in the RunJobFlow call, in which case
229
+ # the default version of Hadoop for that AMI version is used.
230
+ # * +:ec2_subnet_id+ - (String) To launch the job flow in Amazon
231
+ # Virtual Private Cloud (Amazon VPC), set this parameter to the
232
+ # identifier of the Amazon VPC subnet where you want the job flow
233
+ # to launch. If you do not specify this value, the job flow is
234
+ # launched in the normal Amazon Web Services cloud, outside of an
235
+ # Amazon VPC. Amazon VPC currently does not support cluster compute
236
+ # quadruple extra large (cc1.4xlarge) instances. Thus you cannot
237
+ # specify the cc1.4xlarge instance type for nodes of a job flow
238
+ # launched in a Amazon VPC.
239
+ # * +:steps+ - (Array<Hash>) A list of steps to be executed by the job
240
+ # flow.
241
+ # * +:name+ - *required* - (String) The name of the job flow step.
242
+ # * +:action_on_failure+ - (String) Specifies the action to take if
243
+ # the job flow step fails.
244
+ # * +:hadoop_jar_step+ - *required* - (Hash) Specifies the JAR file
245
+ # used for the job flow step.
246
+ # * +:properties+ - (Array<Hash>) A list of Java properties that
247
+ # are set when the step runs. You can use these properties to
248
+ # pass key value pairs to your main function.
249
+ # * +:key+ - (String) The unique identifier of a key value pair.
250
+ # * +:value+ - (String) The value part of the identified key.
251
+ # * +:jar+ - *required* - (String) A path to a JAR file run during
252
+ # the step.
253
+ # * +:main_class+ - (String) The name of the main class in the
254
+ # specified Java file. If not specified, the JAR file should
255
+ # specify a Main-Class in its manifest file.
256
+ # * +:args+ - (Array<String>) A list of command line arguments
257
+ # passed to the JAR file's main function when executed.
258
+ # * +:bootstrap_actions+ - (Array<Hash>) A list of bootstrap actions
259
+ # that will be run before Hadoop is started on the cluster nodes.
260
+ # * +:name+ - *required* - (String) The name of the bootstrap action.
261
+ # * +:script_bootstrap_action+ - *required* - (Hash) The script run
262
+ # by the bootstrap action.
263
+ # * +:path+ - *required* - (String) Location of the script to run
264
+ # during a bootstrap action. Can be either a location in Amazon
265
+ # S3 or on a local file system.
266
+ # * +:args+ - (Array<String>) A list of command line arguments to
267
+ # pass to the bootstrap action script.
268
+ # * +:supported_products+ - (Array<String>) A list of strings that
269
+ # indicates third-party software to use with the job flow. For more
270
+ # information, go to Use Third Party Applications with Amazon EMR.
271
+ # Currently supported values are: "karmasphere-enterprise-utility" -
272
+ # tag the job flow for management by Karmasphere. "mapr-m3" - launch
273
+ # the job flow using MapR M3 Edition. "mapr-m5" - launch the job flow
274
+ # using MapR M5 Edition.
275
+ # * +:visible_to_all_users+ - (Boolean) Whether the job flow is visible
276
+ # to all IAM users of the AWS account associated with the job flow.
277
+ # If this value is set to +true+ , all IAM users of that AWS account
278
+ # can view and (if they have the proper policy permissions set)
279
+ # manage the job flow. If it is set to +false+ , only the IAM user
280
+ # that created the job flow can view and manage it.
281
+ # * +:job_flow_role+ - (String) An IAM role for the job flow. The EC2
282
+ # instances of the job flow assume this role. The default role is
283
+ # EMRJobflowDefault. In order to use the default role, you must have
284
+ # already created it using the CLI.
285
+ # @return [Core::Response]
286
+ # The #data method of the response object returns
287
+ # a hash with the following structure:
288
+ # * +:job_flow_id+ - (String)
289
+
290
+ # @!method set_termination_protection(options = {})
291
+ # Calls the SetTerminationProtection API operation.
292
+ # @param [Hash] options
293
+ # * +:job_flow_ids+ - *required* - (Array<String>) A list of strings
294
+ # that uniquely identify the job flows to protect. This identifier is
295
+ # returned by RunJobFlow and can also be obtained from
296
+ # DescribeJobFlows .
297
+ # * +:termination_protected+ - *required* - (Boolean) A Boolean that
298
+ # indicates whether to protect the job flow and prevent the Amazon
299
+ # EC2 instances in the cluster from shutting down due to API calls,
300
+ # user intervention, or job-flow error.
301
+ # @return [Core::Response]
302
+
303
+ # @!method set_visible_to_all_users(options = {})
304
+ # Calls the SetVisibleToAllUsers API operation.
305
+ # @param [Hash] options
306
+ # * +:job_flow_ids+ - *required* - (Array<String>) Identifiers of the
307
+ # job flows to receive the new visibility setting.
308
+ # * +:visible_to_all_users+ - *required* - (Boolean) Whether the
309
+ # specified job flows are visible to all IAM users of the AWS account
310
+ # associated with the job flow. If this value is set to True, all IAM
311
+ # users of that AWS account can view and, if they have the proper IAM
312
+ # policy permissions set, manage the job flows. If it is set to
313
+ # False, only the IAM user that created a job flow can view and
314
+ # manage it.
315
+ # @return [Core::Response]
316
+
317
+ # @!method terminate_job_flows(options = {})
318
+ # Calls the TerminateJobFlows API operation.
319
+ # @param [Hash] options
320
+ # * +:job_flow_ids+ - *required* - (Array<String>) A list of job flows
321
+ # to be shutdown.
322
+ # @return [Core::Response]
323
+
324
+ # end client methods #
325
+
326
+ define_client_methods('2009-03-31')
327
+
328
+ end
329
+ end
330
+ end