aws-sdk-euca 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. data/.yardopts +5 -0
  2. data/LICENSE.txt +12 -0
  3. data/README.rdoc +189 -0
  4. data/ca-bundle.crt +3895 -0
  5. data/lib/aws-sdk-euca.rb +79 -0
  6. data/lib/aws-sdk.rb +79 -0
  7. data/lib/aws.rb +14 -0
  8. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
  9. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
  10. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
  11. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
  12. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
  13. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  14. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
  15. data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
  16. data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
  17. data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
  18. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
  19. data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
  20. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
  21. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  22. data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
  23. data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
  24. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  25. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
  26. data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
  27. data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
  28. data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
  29. data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
  30. data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
  31. data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
  32. data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
  33. data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
  34. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
  35. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
  36. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
  37. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  38. data/lib/aws/auto_scaling.rb +164 -0
  39. data/lib/aws/auto_scaling/activity.rb +102 -0
  40. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  41. data/lib/aws/auto_scaling/client.rb +521 -0
  42. data/lib/aws/auto_scaling/config.rb +18 -0
  43. data/lib/aws/auto_scaling/errors.rb +22 -0
  44. data/lib/aws/auto_scaling/group.rb +420 -0
  45. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  46. data/lib/aws/auto_scaling/group_options.rb +146 -0
  47. data/lib/aws/auto_scaling/instance.rb +192 -0
  48. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  49. data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
  50. data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
  51. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  52. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  53. data/lib/aws/auto_scaling/request.rb +29 -0
  54. data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
  55. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  56. data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
  57. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  58. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  59. data/lib/aws/auto_scaling/tag.rb +59 -0
  60. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  61. data/lib/aws/cloud_formation.rb +272 -0
  62. data/lib/aws/cloud_formation/client.rb +369 -0
  63. data/lib/aws/cloud_formation/config.rb +18 -0
  64. data/lib/aws/cloud_formation/errors.rb +22 -0
  65. data/lib/aws/cloud_formation/request.rb +29 -0
  66. data/lib/aws/cloud_formation/stack.rb +255 -0
  67. data/lib/aws/cloud_formation/stack_collection.rb +209 -0
  68. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  69. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  70. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  71. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  72. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  73. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  74. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
  75. data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
  76. data/lib/aws/cloud_front.rb +73 -0
  77. data/lib/aws/cloud_front/client.rb +1307 -0
  78. data/lib/aws/cloud_front/config.rb +18 -0
  79. data/lib/aws/cloud_front/errors.rb +22 -0
  80. data/lib/aws/cloud_front/request.rb +44 -0
  81. data/lib/aws/cloud_search.rb +74 -0
  82. data/lib/aws/cloud_search/client.rb +558 -0
  83. data/lib/aws/cloud_search/config.rb +18 -0
  84. data/lib/aws/cloud_search/errors.rb +22 -0
  85. data/lib/aws/cloud_search/request.rb +23 -0
  86. data/lib/aws/cloud_watch.rb +119 -0
  87. data/lib/aws/cloud_watch/alarm.rb +272 -0
  88. data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
  89. data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
  90. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
  91. data/lib/aws/cloud_watch/client.rb +247 -0
  92. data/lib/aws/cloud_watch/config.rb +18 -0
  93. data/lib/aws/cloud_watch/errors.rb +22 -0
  94. data/lib/aws/cloud_watch/metric.rb +135 -0
  95. data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
  96. data/lib/aws/cloud_watch/metric_collection.rb +131 -0
  97. data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
  98. data/lib/aws/cloud_watch/request.rb +23 -0
  99. data/lib/aws/core.rb +587 -0
  100. data/lib/aws/core/async_handle.rb +90 -0
  101. data/lib/aws/core/autoloader.rb +64 -0
  102. data/lib/aws/core/cacheable.rb +78 -0
  103. data/lib/aws/core/client.rb +691 -0
  104. data/lib/aws/core/collection.rb +267 -0
  105. data/lib/aws/core/collection/simple.rb +82 -0
  106. data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
  107. data/lib/aws/core/collection/with_next_token.rb +97 -0
  108. data/lib/aws/core/configuration.rb +546 -0
  109. data/lib/aws/core/credential_providers.rb +461 -0
  110. data/lib/aws/core/data.rb +247 -0
  111. data/lib/aws/core/http/curb_handler.rb +155 -0
  112. data/lib/aws/core/http/handler.rb +89 -0
  113. data/lib/aws/core/http/net_http_handler.rb +128 -0
  114. data/lib/aws/core/http/request.rb +263 -0
  115. data/lib/aws/core/http/response.rb +81 -0
  116. data/lib/aws/core/indifferent_hash.rb +88 -0
  117. data/lib/aws/core/inflection.rb +56 -0
  118. data/lib/aws/core/json_client.rb +47 -0
  119. data/lib/aws/core/json_parser.rb +76 -0
  120. data/lib/aws/core/json_request_builder.rb +35 -0
  121. data/lib/aws/core/json_response_parser.rb +79 -0
  122. data/lib/aws/core/lazy_error_classes.rb +90 -0
  123. data/lib/aws/core/log_formatter.rb +462 -0
  124. data/lib/aws/core/managed_file.rb +32 -0
  125. data/lib/aws/core/meta_utils.rb +45 -0
  126. data/lib/aws/core/model.rb +57 -0
  127. data/lib/aws/core/naming.rb +30 -0
  128. data/lib/aws/core/option_grammar.rb +735 -0
  129. data/lib/aws/core/options/json_serializer.rb +82 -0
  130. data/lib/aws/core/options/validator.rb +155 -0
  131. data/lib/aws/core/options/xml_serializer.rb +118 -0
  132. data/lib/aws/core/page_result.rb +75 -0
  133. data/lib/aws/core/policy.rb +916 -0
  134. data/lib/aws/core/query_client.rb +41 -0
  135. data/lib/aws/core/query_error_parser.rb +24 -0
  136. data/lib/aws/core/query_request_builder.rb +47 -0
  137. data/lib/aws/core/query_response_parser.rb +35 -0
  138. data/lib/aws/core/resource.rb +413 -0
  139. data/lib/aws/core/resource_cache.rb +40 -0
  140. data/lib/aws/core/response.rb +208 -0
  141. data/lib/aws/core/response_cache.rb +50 -0
  142. data/lib/aws/core/rest_error_parser.rb +24 -0
  143. data/lib/aws/core/rest_json_client.rb +40 -0
  144. data/lib/aws/core/rest_request_builder.rb +146 -0
  145. data/lib/aws/core/rest_response_parser.rb +66 -0
  146. data/lib/aws/core/rest_xml_client.rb +47 -0
  147. data/lib/aws/core/service_interface.rb +61 -0
  148. data/lib/aws/core/signature/version_2.rb +56 -0
  149. data/lib/aws/core/signature/version_3.rb +77 -0
  150. data/lib/aws/core/signature/version_3_https.rb +54 -0
  151. data/lib/aws/core/signature/version_4.rb +135 -0
  152. data/lib/aws/core/signer.rb +46 -0
  153. data/lib/aws/core/uri_escape.rb +44 -0
  154. data/lib/aws/core/xml/frame.rb +244 -0
  155. data/lib/aws/core/xml/frame_stack.rb +85 -0
  156. data/lib/aws/core/xml/grammar.rb +307 -0
  157. data/lib/aws/core/xml/parser.rb +70 -0
  158. data/lib/aws/core/xml/root_frame.rb +65 -0
  159. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  160. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  161. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  162. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  163. data/lib/aws/core/xml/stub.rb +123 -0
  164. data/lib/aws/data_pipeline.rb +73 -0
  165. data/lib/aws/data_pipeline/client.rb +339 -0
  166. data/lib/aws/data_pipeline/config.rb +18 -0
  167. data/lib/aws/data_pipeline/errors.rb +20 -0
  168. data/lib/aws/data_pipeline/request.rb +26 -0
  169. data/lib/aws/dynamo_db.rb +206 -0
  170. data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
  171. data/lib/aws/dynamo_db/batch_get.rb +213 -0
  172. data/lib/aws/dynamo_db/batch_write.rb +252 -0
  173. data/lib/aws/dynamo_db/binary.rb +35 -0
  174. data/lib/aws/dynamo_db/client.rb +904 -0
  175. data/lib/aws/dynamo_db/config.rb +24 -0
  176. data/lib/aws/dynamo_db/errors.rb +20 -0
  177. data/lib/aws/dynamo_db/expectations.rb +40 -0
  178. data/lib/aws/dynamo_db/item.rb +133 -0
  179. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  180. data/lib/aws/dynamo_db/item_data.rb +31 -0
  181. data/lib/aws/dynamo_db/keys.rb +41 -0
  182. data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
  183. data/lib/aws/dynamo_db/request.rb +26 -0
  184. data/lib/aws/dynamo_db/resource.rb +33 -0
  185. data/lib/aws/dynamo_db/table.rb +491 -0
  186. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  187. data/lib/aws/dynamo_db/types.rb +111 -0
  188. data/lib/aws/ec2.rb +440 -0
  189. data/lib/aws/ec2/attachment.rb +140 -0
  190. data/lib/aws/ec2/attachment_collection.rb +54 -0
  191. data/lib/aws/ec2/availability_zone.rb +86 -0
  192. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  193. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  194. data/lib/aws/ec2/client.rb +3621 -0
  195. data/lib/aws/ec2/collection.rb +36 -0
  196. data/lib/aws/ec2/config.rb +18 -0
  197. data/lib/aws/ec2/config_transform.rb +63 -0
  198. data/lib/aws/ec2/customer_gateway.rb +90 -0
  199. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  200. data/lib/aws/ec2/dhcp_options.rb +106 -0
  201. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  202. data/lib/aws/ec2/elastic_ip.rb +208 -0
  203. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  204. data/lib/aws/ec2/errors.rb +32 -0
  205. data/lib/aws/ec2/export_task.rb +120 -0
  206. data/lib/aws/ec2/export_task_collection.rb +67 -0
  207. data/lib/aws/ec2/filtered_collection.rb +89 -0
  208. data/lib/aws/ec2/has_permissions.rb +44 -0
  209. data/lib/aws/ec2/image.rb +264 -0
  210. data/lib/aws/ec2/image_collection.rb +228 -0
  211. data/lib/aws/ec2/instance.rb +796 -0
  212. data/lib/aws/ec2/instance_collection.rb +372 -0
  213. data/lib/aws/ec2/internet_gateway.rb +122 -0
  214. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  215. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  216. data/lib/aws/ec2/key_pair.rb +82 -0
  217. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  218. data/lib/aws/ec2/network_acl.rb +256 -0
  219. data/lib/aws/ec2/network_acl/association.rb +56 -0
  220. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  221. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  222. data/lib/aws/ec2/network_interface.rb +228 -0
  223. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  224. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  225. data/lib/aws/ec2/permission_collection.rb +174 -0
  226. data/lib/aws/ec2/region.rb +106 -0
  227. data/lib/aws/ec2/region_collection.rb +51 -0
  228. data/lib/aws/ec2/request.rb +21 -0
  229. data/lib/aws/ec2/reserved_instances.rb +56 -0
  230. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  231. data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
  232. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  233. data/lib/aws/ec2/resource.rb +161 -0
  234. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  235. data/lib/aws/ec2/route_table.rb +205 -0
  236. data/lib/aws/ec2/route_table/association.rb +119 -0
  237. data/lib/aws/ec2/route_table/route.rb +119 -0
  238. data/lib/aws/ec2/route_table_collection.rb +72 -0
  239. data/lib/aws/ec2/security_group.rb +484 -0
  240. data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
  241. data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
  242. data/lib/aws/ec2/security_group_collection.rb +135 -0
  243. data/lib/aws/ec2/snapshot.rb +143 -0
  244. data/lib/aws/ec2/snapshot_collection.rb +132 -0
  245. data/lib/aws/ec2/subnet.rb +161 -0
  246. data/lib/aws/ec2/subnet_collection.rb +115 -0
  247. data/lib/aws/ec2/tag.rb +81 -0
  248. data/lib/aws/ec2/tag_collection.rb +107 -0
  249. data/lib/aws/ec2/tagged_collection.rb +53 -0
  250. data/lib/aws/ec2/tagged_item.rb +85 -0
  251. data/lib/aws/ec2/volume.rb +174 -0
  252. data/lib/aws/ec2/volume_collection.rb +101 -0
  253. data/lib/aws/ec2/vpc.rb +166 -0
  254. data/lib/aws/ec2/vpc_collection.rb +70 -0
  255. data/lib/aws/ec2/vpn_connection.rb +99 -0
  256. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  257. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  258. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  259. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  260. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  261. data/lib/aws/elastic_beanstalk.rb +50 -0
  262. data/lib/aws/elastic_beanstalk/client.rb +867 -0
  263. data/lib/aws/elastic_beanstalk/config.rb +18 -0
  264. data/lib/aws/elastic_beanstalk/errors.rb +22 -0
  265. data/lib/aws/elastic_beanstalk/request.rb +29 -0
  266. data/lib/aws/elastic_transcoder.rb +30 -0
  267. data/lib/aws/elastic_transcoder/client.rb +672 -0
  268. data/lib/aws/elastic_transcoder/config.rb +18 -0
  269. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  270. data/lib/aws/elastic_transcoder/request.rb +30 -0
  271. data/lib/aws/elasticache.rb +50 -0
  272. data/lib/aws/elasticache/client.rb +920 -0
  273. data/lib/aws/elasticache/config.rb +18 -0
  274. data/lib/aws/elasticache/errors.rb +22 -0
  275. data/lib/aws/elasticache/request.rb +23 -0
  276. data/lib/aws/elb.rb +67 -0
  277. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  278. data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
  279. data/lib/aws/elb/client.rb +500 -0
  280. data/lib/aws/elb/config.rb +18 -0
  281. data/lib/aws/elb/errors.rb +26 -0
  282. data/lib/aws/elb/instance_collection.rb +173 -0
  283. data/lib/aws/elb/listener.rb +190 -0
  284. data/lib/aws/elb/listener_collection.rb +113 -0
  285. data/lib/aws/elb/listener_opts.rb +45 -0
  286. data/lib/aws/elb/load_balancer.rb +281 -0
  287. data/lib/aws/elb/load_balancer_collection.rb +134 -0
  288. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  289. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  290. data/lib/aws/elb/request.rb +29 -0
  291. data/lib/aws/emr.rb +86 -0
  292. data/lib/aws/emr/client.rb +330 -0
  293. data/lib/aws/emr/config.rb +18 -0
  294. data/lib/aws/emr/errors.rb +22 -0
  295. data/lib/aws/emr/instance_group.rb +138 -0
  296. data/lib/aws/emr/instance_group_collection.rb +82 -0
  297. data/lib/aws/emr/job_flow.rb +306 -0
  298. data/lib/aws/emr/job_flow_collection.rb +185 -0
  299. data/lib/aws/emr/request.rb +23 -0
  300. data/lib/aws/errors.rb +162 -0
  301. data/lib/aws/glacier.rb +80 -0
  302. data/lib/aws/glacier/archive.rb +56 -0
  303. data/lib/aws/glacier/archive_collection.rb +146 -0
  304. data/lib/aws/glacier/client.rb +286 -0
  305. data/lib/aws/glacier/config.rb +19 -0
  306. data/lib/aws/glacier/errors.rb +22 -0
  307. data/lib/aws/glacier/request.rb +34 -0
  308. data/lib/aws/glacier/resource.rb +30 -0
  309. data/lib/aws/glacier/vault.rb +145 -0
  310. data/lib/aws/glacier/vault_collection.rb +75 -0
  311. data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
  312. data/lib/aws/iam.rb +420 -0
  313. data/lib/aws/iam/access_key.rb +180 -0
  314. data/lib/aws/iam/access_key_collection.rb +128 -0
  315. data/lib/aws/iam/account_alias_collection.rb +79 -0
  316. data/lib/aws/iam/client.rb +1092 -0
  317. data/lib/aws/iam/collection.rb +83 -0
  318. data/lib/aws/iam/config.rb +18 -0
  319. data/lib/aws/iam/errors.rb +22 -0
  320. data/lib/aws/iam/group.rb +111 -0
  321. data/lib/aws/iam/group_collection.rb +132 -0
  322. data/lib/aws/iam/group_policy_collection.rb +47 -0
  323. data/lib/aws/iam/group_user_collection.rb +84 -0
  324. data/lib/aws/iam/login_profile.rb +99 -0
  325. data/lib/aws/iam/mfa_device.rb +52 -0
  326. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  327. data/lib/aws/iam/policy.rb +46 -0
  328. data/lib/aws/iam/policy_collection.rb +188 -0
  329. data/lib/aws/iam/request.rb +29 -0
  330. data/lib/aws/iam/resource.rb +62 -0
  331. data/lib/aws/iam/server_certificate.rb +141 -0
  332. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  333. data/lib/aws/iam/signing_certificate.rb +169 -0
  334. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  335. data/lib/aws/iam/user.rb +205 -0
  336. data/lib/aws/iam/user_collection.rb +133 -0
  337. data/lib/aws/iam/user_group_collection.rb +98 -0
  338. data/lib/aws/iam/user_policy.rb +90 -0
  339. data/lib/aws/iam/user_policy_collection.rb +45 -0
  340. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  341. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  342. data/lib/aws/import_export.rb +73 -0
  343. data/lib/aws/import_export/client.rb +109 -0
  344. data/lib/aws/import_export/config.rb +19 -0
  345. data/lib/aws/import_export/errors.rb +22 -0
  346. data/lib/aws/import_export/request.rb +23 -0
  347. data/lib/aws/ops_works.rb +30 -0
  348. data/lib/aws/ops_works/client.rb +713 -0
  349. data/lib/aws/ops_works/config.rb +18 -0
  350. data/lib/aws/ops_works/errors.rb +20 -0
  351. data/lib/aws/ops_works/request.rb +27 -0
  352. data/lib/aws/rails.rb +195 -0
  353. data/lib/aws/rds.rb +71 -0
  354. data/lib/aws/rds/client.rb +2228 -0
  355. data/lib/aws/rds/config.rb +18 -0
  356. data/lib/aws/rds/db_instance.rb +205 -0
  357. data/lib/aws/rds/db_instance_collection.rb +75 -0
  358. data/lib/aws/rds/db_snapshot.rb +163 -0
  359. data/lib/aws/rds/db_snapshot_collection.rb +89 -0
  360. data/lib/aws/rds/errors.rb +22 -0
  361. data/lib/aws/rds/request.rb +23 -0
  362. data/lib/aws/record.rb +116 -0
  363. data/lib/aws/record/abstract_base.rb +701 -0
  364. data/lib/aws/record/attributes.rb +384 -0
  365. data/lib/aws/record/conversion.rb +38 -0
  366. data/lib/aws/record/dirty_tracking.rb +285 -0
  367. data/lib/aws/record/errors.rb +143 -0
  368. data/lib/aws/record/exceptions.rb +48 -0
  369. data/lib/aws/record/hash_model.rb +161 -0
  370. data/lib/aws/record/hash_model/attributes.rb +197 -0
  371. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  372. data/lib/aws/record/hash_model/scope.rb +108 -0
  373. data/lib/aws/record/model.rb +427 -0
  374. data/lib/aws/record/model/attributes.rb +379 -0
  375. data/lib/aws/record/model/finder_methods.rb +232 -0
  376. data/lib/aws/record/model/scope.rb +213 -0
  377. data/lib/aws/record/naming.rb +31 -0
  378. data/lib/aws/record/scope.rb +199 -0
  379. data/lib/aws/record/validations.rb +712 -0
  380. data/lib/aws/record/validator.rb +246 -0
  381. data/lib/aws/record/validators/acceptance.rb +51 -0
  382. data/lib/aws/record/validators/block.rb +38 -0
  383. data/lib/aws/record/validators/confirmation.rb +43 -0
  384. data/lib/aws/record/validators/count.rb +108 -0
  385. data/lib/aws/record/validators/exclusion.rb +43 -0
  386. data/lib/aws/record/validators/format.rb +57 -0
  387. data/lib/aws/record/validators/inclusion.rb +56 -0
  388. data/lib/aws/record/validators/length.rb +107 -0
  389. data/lib/aws/record/validators/method.rb +33 -0
  390. data/lib/aws/record/validators/numericality.rb +138 -0
  391. data/lib/aws/record/validators/presence.rb +45 -0
  392. data/lib/aws/redshift.rb +52 -0
  393. data/lib/aws/redshift/client.rb +1291 -0
  394. data/lib/aws/redshift/config.rb +18 -0
  395. data/lib/aws/redshift/errors.rb +22 -0
  396. data/lib/aws/redshift/request.rb +29 -0
  397. data/lib/aws/route_53.rb +87 -0
  398. data/lib/aws/route_53/change_batch.rb +159 -0
  399. data/lib/aws/route_53/change_info.rb +72 -0
  400. data/lib/aws/route_53/client.rb +387 -0
  401. data/lib/aws/route_53/config.rb +18 -0
  402. data/lib/aws/route_53/errors.rb +22 -0
  403. data/lib/aws/route_53/hosted_zone.rb +111 -0
  404. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  405. data/lib/aws/route_53/request.rb +23 -0
  406. data/lib/aws/route_53/resource_record_set.rb +237 -0
  407. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  408. data/lib/aws/s3.rb +155 -0
  409. data/lib/aws/s3/access_control_list.rb +257 -0
  410. data/lib/aws/s3/acl_object.rb +264 -0
  411. data/lib/aws/s3/acl_options.rb +204 -0
  412. data/lib/aws/s3/bucket.rb +742 -0
  413. data/lib/aws/s3/bucket_collection.rb +160 -0
  414. data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
  415. data/lib/aws/s3/bucket_tag_collection.rb +109 -0
  416. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  417. data/lib/aws/s3/cipher_io.rb +119 -0
  418. data/lib/aws/s3/client.rb +1700 -0
  419. data/lib/aws/s3/client/xml.rb +231 -0
  420. data/lib/aws/s3/config.rb +36 -0
  421. data/lib/aws/s3/cors_rule.rb +106 -0
  422. data/lib/aws/s3/cors_rule_collection.rb +192 -0
  423. data/lib/aws/s3/data_options.rb +185 -0
  424. data/lib/aws/s3/encryption_utils.rb +139 -0
  425. data/lib/aws/s3/errors.rb +94 -0
  426. data/lib/aws/s3/multipart_upload.rb +320 -0
  427. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  428. data/lib/aws/s3/object_collection.rb +355 -0
  429. data/lib/aws/s3/object_metadata.rb +96 -0
  430. data/lib/aws/s3/object_upload_collection.rb +77 -0
  431. data/lib/aws/s3/object_version.rb +148 -0
  432. data/lib/aws/s3/object_version_collection.rb +89 -0
  433. data/lib/aws/s3/paginated_collection.rb +75 -0
  434. data/lib/aws/s3/policy.rb +74 -0
  435. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  436. data/lib/aws/s3/prefixed_collection.rb +81 -0
  437. data/lib/aws/s3/presigned_post.rb +555 -0
  438. data/lib/aws/s3/request.rb +201 -0
  439. data/lib/aws/s3/s3_object.rb +1690 -0
  440. data/lib/aws/s3/tree.rb +118 -0
  441. data/lib/aws/s3/tree/branch_node.rb +68 -0
  442. data/lib/aws/s3/tree/child_collection.rb +104 -0
  443. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  444. data/lib/aws/s3/tree/node.rb +22 -0
  445. data/lib/aws/s3/tree/parent.rb +87 -0
  446. data/lib/aws/s3/uploaded_part.rb +80 -0
  447. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  448. data/lib/aws/s3/website_configuration.rb +102 -0
  449. data/lib/aws/simple_db.rb +219 -0
  450. data/lib/aws/simple_db/attribute.rb +154 -0
  451. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  452. data/lib/aws/simple_db/client.rb +287 -0
  453. data/lib/aws/simple_db/config.rb +20 -0
  454. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  455. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  456. data/lib/aws/simple_db/domain.rb +121 -0
  457. data/lib/aws/simple_db/domain_collection.rb +86 -0
  458. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  459. data/lib/aws/simple_db/errors.rb +55 -0
  460. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  461. data/lib/aws/simple_db/item.rb +93 -0
  462. data/lib/aws/simple_db/item_collection.rb +649 -0
  463. data/lib/aws/simple_db/item_data.rb +73 -0
  464. data/lib/aws/simple_db/put_attributes.rb +60 -0
  465. data/lib/aws/simple_db/request.rb +23 -0
  466. data/lib/aws/simple_email_service.rb +428 -0
  467. data/lib/aws/simple_email_service/client.rb +276 -0
  468. data/lib/aws/simple_email_service/config.rb +19 -0
  469. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  470. data/lib/aws/simple_email_service/errors.rb +22 -0
  471. data/lib/aws/simple_email_service/identity.rb +209 -0
  472. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  473. data/lib/aws/simple_email_service/quotas.rb +64 -0
  474. data/lib/aws/simple_email_service/request.rb +27 -0
  475. data/lib/aws/simple_workflow.rb +228 -0
  476. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  477. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  478. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  479. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  480. data/lib/aws/simple_workflow/client.rb +1204 -0
  481. data/lib/aws/simple_workflow/config.rb +18 -0
  482. data/lib/aws/simple_workflow/count.rb +49 -0
  483. data/lib/aws/simple_workflow/decision_task.rb +603 -0
  484. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  485. data/lib/aws/simple_workflow/domain.rb +122 -0
  486. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  487. data/lib/aws/simple_workflow/errors.rb +20 -0
  488. data/lib/aws/simple_workflow/history_event.rb +276 -0
  489. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  490. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  491. data/lib/aws/simple_workflow/request.rb +33 -0
  492. data/lib/aws/simple_workflow/resource.rb +94 -0
  493. data/lib/aws/simple_workflow/type.rb +89 -0
  494. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  495. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  496. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  497. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  498. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  499. data/lib/aws/sns.rb +76 -0
  500. data/lib/aws/sns/client.rb +266 -0
  501. data/lib/aws/sns/config.rb +18 -0
  502. data/lib/aws/sns/errors.rb +22 -0
  503. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  504. data/lib/aws/sns/policy.rb +47 -0
  505. data/lib/aws/sns/request.rb +23 -0
  506. data/lib/aws/sns/subscription.rb +144 -0
  507. data/lib/aws/sns/subscription_collection.rb +78 -0
  508. data/lib/aws/sns/topic.rb +403 -0
  509. data/lib/aws/sns/topic_collection.rb +62 -0
  510. data/lib/aws/sns/topic_subscription_collection.rb +54 -0
  511. data/lib/aws/sqs.rb +81 -0
  512. data/lib/aws/sqs/client.rb +258 -0
  513. data/lib/aws/sqs/config.rb +18 -0
  514. data/lib/aws/sqs/errors.rb +101 -0
  515. data/lib/aws/sqs/policy.rb +48 -0
  516. data/lib/aws/sqs/queue.rb +764 -0
  517. data/lib/aws/sqs/queue_collection.rb +174 -0
  518. data/lib/aws/sqs/received_message.rb +181 -0
  519. data/lib/aws/sqs/received_sns_message.rb +116 -0
  520. data/lib/aws/sqs/request.rb +67 -0
  521. data/lib/aws/storage_gateway.rb +73 -0
  522. data/lib/aws/storage_gateway/client.rb +472 -0
  523. data/lib/aws/storage_gateway/config.rb +18 -0
  524. data/lib/aws/storage_gateway/errors.rb +22 -0
  525. data/lib/aws/storage_gateway/request.rb +28 -0
  526. data/lib/aws/sts.rb +163 -0
  527. data/lib/aws/sts/client.rb +157 -0
  528. data/lib/aws/sts/config.rb +18 -0
  529. data/lib/aws/sts/errors.rb +22 -0
  530. data/lib/aws/sts/federated_session.rb +56 -0
  531. data/lib/aws/sts/policy.rb +30 -0
  532. data/lib/aws/sts/request.rb +29 -0
  533. data/lib/aws/sts/session.rb +48 -0
  534. data/lib/aws/version.rb +18 -0
  535. data/lib/net/http/connection_pool.rb +226 -0
  536. data/lib/net/http/connection_pool/connection.rb +189 -0
  537. data/lib/net/http/connection_pool/session.rb +126 -0
  538. data/rails/init.rb +15 -0
  539. metadata +632 -0
@@ -0,0 +1,18 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ AWS::Core::Configuration.module_eval do
15
+
16
+ add_service 'ElastiCache', 'elasticache', 'elasticache.us-east-1.amazonaws.com'
17
+
18
+ end
@@ -0,0 +1,22 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class ElastiCache
16
+ module Errors
17
+
18
+ extend Core::LazyErrorClasses
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
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 ElastiCache
16
+
17
+ # @private
18
+ class Request < Core::Http::Request
19
+ include Core::Signature::Version2
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,67 @@
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/elb/config'
16
+
17
+ module AWS
18
+
19
+ # Provides an expressive, object-oriented interface to Elastic Load
20
+ # Balancing (ELB).
21
+ #
22
+ # == Credentials
23
+ #
24
+ # You can setup default credentials for all AWS services via
25
+ # AWS.config:
26
+ #
27
+ # AWS.config(
28
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
29
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
30
+ #
31
+ # Or you can set them directly on the ELB interface:
32
+ #
33
+ # elb = AWS::ELB.new(
34
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
35
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
36
+ #
37
+ # @!attribute [r] client
38
+ # @return [Client] the low-level ELB client object
39
+ class ELB
40
+
41
+ AWS.register_autoloads(self) do
42
+ autoload :AvailabilityZoneCollection, 'availability_zone_collection'
43
+ autoload :BackendServerPolicyCollection, 'backend_server_policy_collection'
44
+ autoload :Client, 'client'
45
+ autoload :Errors, 'errors'
46
+ autoload :InstanceCollection, 'instance_collection'
47
+ autoload :ListenerOpts, 'listener_opts'
48
+ autoload :Listener, 'listener'
49
+ autoload :ListenerCollection, 'listener_collection'
50
+ autoload :LoadBalancer, 'load_balancer'
51
+ autoload :LoadBalancerCollection, 'load_balancer_collection'
52
+ autoload :LoadBalancerPolicy, 'load_balancer_policy'
53
+ autoload :LoadBalancerPolicyCollection, 'load_balancer_policy_collection'
54
+ autoload :Request, 'request'
55
+ end
56
+
57
+ include Core::ServiceInterface
58
+
59
+ # @return [LoadBalancerCollection] Returns a collection that represents
60
+ # all of your load balancers.
61
+ def load_balancers
62
+ LoadBalancerCollection.new(:config => config)
63
+ end
64
+
65
+ end
66
+
67
+ end
@@ -0,0 +1,138 @@
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
+ # A collection that help maanage the availability zones for
18
+ # a load balancer.
19
+ #
20
+ # load_balancer = AWS::ELB.new.load_balancers['my-load-balancer']
21
+ #
22
+ # zones = load_balancer.availability_zones
23
+ #
24
+ # # adding zones
25
+ # zones.enable('us-east-1b', 'us-east-1c')
26
+ #
27
+ # # removing zones
28
+ # zones.disable('us-east-1b')
29
+ #
30
+ # # enumerating enabled zones
31
+ # zones.each do |zone|
32
+ # puts zone.name
33
+ # end
34
+ #
35
+ class AvailabilityZoneCollection
36
+
37
+ include Core::Collection::Simple
38
+
39
+ # @param [LoadBalancer] load_balancer The load balancer this list of
40
+ # availability zones belongs to.
41
+ def initialize load_balancer, options = {}
42
+ @load_balancer = load_balancer
43
+ super
44
+ end
45
+
46
+ # @return [LoadBalancer] Returns the load balancer this list describes.
47
+ attr_reader :load_balancer
48
+
49
+ # Adds one or more EC2 Availability Zones to the load balancer.
50
+ #
51
+ # load_balancer.availability_zones.enable("us-east-1a", "us-east-1b")
52
+ #
53
+ # You can also pass {EC2::AvailabilityZone} objects:
54
+ #
55
+ # # enable all availabilty zones for this region
56
+ # zones = AWS::EC2.new.availability_zones.to_a
57
+ # load_balancer.availability_zones.enable(zones)
58
+ #
59
+ # The load balancer evenly distributes requests across all its
60
+ # registered availability zones that contain instances. As a result,
61
+ # the client must ensure that its load balancer is appropriately
62
+ # scaled for each registered Availability Zone.
63
+ #
64
+ # @param [String,EC2::AvailabilityZone] availability_zones One or more
65
+ # availability zone names (strings) or objects {EC2::AvailabilityZone}.
66
+ #
67
+ # @return [nil]
68
+ #
69
+ def enable *availability_zones
70
+
71
+ names = availability_zones.flatten.collect do |av|
72
+ av.is_a?(EC2::AvailabilityZone) ? av.name : av.to_s
73
+ end
74
+
75
+ client.enable_availability_zones_for_load_balancer(
76
+ :load_balancer_name => load_balancer.name,
77
+ :availability_zones => names)
78
+
79
+ nil
80
+
81
+ end
82
+
83
+ # Removes the specified EC2 availability zones from the set of
84
+ # configured availability zones for the load balancer.
85
+ #
86
+ # load_balancer.availability_zones.disable("us-east-1a", "us-east-1b")
87
+ #
88
+ # You can also pass {EC2::AvailabilityZone} objects:
89
+ #
90
+ # # disable all availabilty zones
91
+ # zones = AWS::EC2.new.availability_zones.to_a
92
+ # load_balancer.availability_zones.disable(zones)
93
+ #
94
+ # There must be at least one availability zone registered with a
95
+ # load balancer at all times. A client cannot remove all the availability
96
+ # zones from a load balancer. Once an availability zone is removed,
97
+ # all the instances registered with the load balancer that are in the
98
+ # removed availability zone go into the out of service state.
99
+ #
100
+ # Upon availability zone removal, the load balancer attempts to
101
+ # equally balance the traffic among its remaining usable availability
102
+ # zones. Trying to remove an availability zone that was not
103
+ # associated with the load balancer does nothing.
104
+ #
105
+ # @param [String,EC2::AvailabilityZone] availability_zones One or more
106
+ # availability zone names (strings) or objects {EC2::AvailabilityZone}.
107
+ #
108
+ # @return [nil]
109
+ #
110
+ def disable *availability_zones
111
+
112
+ names = availability_zones.flatten.collect do |av|
113
+ av.is_a?(EC2::AvailabilityZone) ? av.name : av.to_s
114
+ end
115
+
116
+ client.disable_availability_zones_for_load_balancer(
117
+ :load_balancer_name => load_balancer.name,
118
+ :availability_zones => names)
119
+
120
+ nil
121
+
122
+ end
123
+
124
+ protected
125
+ def _each_item options = {}, &block
126
+ load_balancer.availability_zone_names.each do |az_name|
127
+
128
+ availability_zone = EC2::AvailabilityZone.new(
129
+ az_name, :config => config)
130
+
131
+ yield(availability_zone)
132
+
133
+ end
134
+ end
135
+
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,139 @@
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
+ # Helps manage policies assigned to backend server instnace ports.
18
+ #
19
+ # == Creating a Backend Server Policy
20
+ #
21
+ # Creating a backend server policy can be a bit tricky. A
22
+ # BackendServerAuthenticationPolicyType policy only has one
23
+ # attribute, a list of public key policies.
24
+ #
25
+ # Before you can assign a policy to a backend server instance port you
26
+ # must create on of the appropriate type:
27
+ #
28
+ # # step 1, create one (or more) PublicKeyPolicyType policies
29
+ #
30
+ # public_key1 = <<-KEY
31
+ # -----BEGIN CERTIFICATE-----
32
+ # MIICaTCCAdICCQDuvCF4erLGSjANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJa
33
+ # ....
34
+ # o50MymfqtoVcebZcXbiDVAXW1cPEHKLBXecX6/LZ+GOzEsUOxgt7Xs9uabqp
35
+ # -----END CERTIFICATE-----
36
+ # KEY
37
+ #
38
+ # public_key_policy = load_balancer.policies.create("pkp",
39
+ # 'PublicKeyPolicyType', 'PublicKey' => public_key.strip)
40
+ #
41
+ # # step 2, create the backend server policy, passing the public key policy
42
+ #
43
+ # name = 'backend-policy'
44
+ # type = 'BackendServerAuthenticationPolicyType'
45
+ # attributes = {
46
+ # # note: you can pass more than one public key policy here
47
+ # 'PublicKeyPolicyName' => [public_key_policy]
48
+ # }
49
+ #
50
+ # backend_policy = @load_balancer.policies.create(name, type, attributes)
51
+ # 'BackendServerAuthenticationPolicyType', attributes)
52
+ #
53
+ # Once you have created a backend server authentication policy, you
54
+ # can assign it to a backend instance port:
55
+ #
56
+ # load_balancer.backend_server_policies[80] = backend_policy
57
+ #
58
+ # If you want to remove the policy you can pass nil instead.
59
+ #
60
+ # # removes the policy from instance port 80
61
+ # load_balancer.backend_server_policies[80] = nil
62
+ #
63
+ # You can also get the current policy:
64
+ #
65
+ # load_balancer.backend_server_policies[80] # returns a policy or nil
66
+ #
67
+ class BackendServerPolicyCollection
68
+
69
+ include Core::Collection::Simple
70
+
71
+ def initialize load_balancer, options = {}
72
+ @load_balancer = load_balancer
73
+ super
74
+ end
75
+
76
+ # @return [LoadBalancer]
77
+ attr_reader :load_balancer
78
+
79
+ # Returns the policy currently assigned to the given instance port.
80
+ #
81
+ # @param [Integer] instance_port The backend server port to
82
+ # get the currently policy of.
83
+ #
84
+ # @return [LoadBalancerPolicy,nil] Returns the load balancer policy
85
+ # currently assigned to the given instance port. Returns nil if
86
+ # no policy has been assigned.
87
+ #
88
+ def [] instance_port
89
+ enum(:instance_port => instance_port).first
90
+ end
91
+
92
+ # Sets the policy for the given backend server instance port.
93
+ #
94
+ # @param [Integer] instance_port The instance port you want to set
95
+ # backend server policies for.
96
+ #
97
+ # @param [String,LoadBalancerPolicy,nil] policy Load balancer policy
98
+ # name or object. Passing nil removes the current policy.
99
+ #
100
+ # @return [nil]
101
+ #
102
+ def []= instance_port, policy
103
+
104
+ client.set_load_balancer_policies_for_backend_server(
105
+ :load_balancer_name => load_balancer.name,
106
+ :instance_port => instance_port.to_i,
107
+ :policy_names => [policy_name(policy)].compact)
108
+
109
+ nil
110
+
111
+ end
112
+
113
+ protected
114
+ def policy_name policy
115
+ case policy
116
+ when nil then nil
117
+ when LoadBalancerPolicy then policy.name
118
+ else policy.to_s
119
+ end
120
+ end
121
+
122
+ protected
123
+ def _each_item options = {}
124
+
125
+ instance_port = options[:instance_port]
126
+
127
+ load_balancer.backend_server_descriptions.each do |desc|
128
+ if instance_port.nil? or desc[:instance_port] == instance_port
129
+ desc[:policy_names].each do |policy_name|
130
+ yield(load_balancer.policies[policy_name])
131
+ end
132
+ end
133
+ end
134
+
135
+ end
136
+
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,500 @@
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
+ # Client class for Elastic Load Balancing (ELB).
18
+ class Client < Core::QueryClient
19
+
20
+ # @private
21
+ CACHEABLE_REQUESTS = Set[]
22
+
23
+ # client methods #
24
+
25
+ # @!method apply_security_groups_to_load_balancer(options = {})
26
+ # Calls the ApplySecurityGroupsToLoadBalancer API operation.
27
+ # @param [Hash] options
28
+ # * +:load_balancer_name+ - *required* - (String) The name associated
29
+ # with the LoadBalancer. The name must be unique within the client
30
+ # AWS account.
31
+ # * +:security_groups+ - *required* - (Array<String>) A list of
32
+ # security group IDs to associate with your LoadBalancer in VPC. The
33
+ # security group IDs must be provided as the ID and not the security
34
+ # group name (For example, sg-1234).
35
+ # @return [Core::Response]
36
+ # The #data method of the response object returns
37
+ # a hash with the following structure:
38
+ # * +:security_groups+ - (Array<String>)
39
+
40
+ # @!method attach_load_balancer_to_subnets(options = {})
41
+ # Calls the AttachLoadBalancerToSubnets API operation.
42
+ # @param [Hash] options
43
+ # * +:load_balancer_name+ - *required* - (String) The name associated
44
+ # with the LoadBalancer. The name must be unique within the client
45
+ # AWS account.
46
+ # * +:subnets+ - *required* - (Array<String>) A list of subnet IDs to
47
+ # add for the LoadBalancer.
48
+ # @return [Core::Response]
49
+ # The #data method of the response object returns
50
+ # a hash with the following structure:
51
+ # * +:subnets+ - (Array<String>)
52
+
53
+ # @!method configure_health_check(options = {})
54
+ # Calls the ConfigureHealthCheck API operation.
55
+ # @param [Hash] options
56
+ # * +:load_balancer_name+ - *required* - (String) The mnemonic name
57
+ # associated with the LoadBalancer. This name must be unique within
58
+ # the client AWS account.
59
+ # * +:health_check+ - *required* - (Hash) A structure containing the
60
+ # configuration information for the new healthcheck.
61
+ # * +:target+ - *required* - (String) Specifies the instance being
62
+ # checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The
63
+ # range of valid ports is one (1) through 65535. TCP is the
64
+ # default, specified as a TCP: port pair, for example "TCP:5000".
65
+ # In this case a healthcheck simply attempts to open a TCP
66
+ # connection to the instance on the specified port. Failure to
67
+ # connect within the configured timeout is considered unhealthy.
68
+ # SSL is also specified as SSL: port pair, for example, SSL:5000.
69
+ # For HTTP or HTTPS protocol, the situation is different. You have
70
+ # to include a ping path in the string. HTTP is specified as a
71
+ # HTTP:port;/;PathToPing; grouping, for example
72
+ # "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request
73
+ # is issued to the instance on the given port and path. Any answer
74
+ # other than "200 OK" within the timeout period is considered
75
+ # unhealthy. The total length of the HTTP ping target needs to be
76
+ # 1024 16-bit Unicode characters or less.
77
+ # * +:interval+ - *required* - (Integer) Specifies the approximate
78
+ # interval, in seconds, between health checks of an individual
79
+ # instance.
80
+ # * +:timeout+ - *required* - (Integer) Specifies the amount of time,
81
+ # in seconds, during which no response means a failed health probe.
82
+ # This value must be less than the Interval value.
83
+ # * +:unhealthy_threshold+ - *required* - (Integer) Specifies the
84
+ # number of consecutive health probe failures required before
85
+ # moving the instance to the Unhealthy state.
86
+ # * +:healthy_threshold+ - *required* - (Integer) Specifies the
87
+ # number of consecutive health probe successes required before
88
+ # moving the instance to the Healthy state.
89
+ # @return [Core::Response]
90
+ # The #data method of the response object returns
91
+ # a hash with the following structure:
92
+ # * +:health_check+ - (Hash)
93
+ # * +:target+ - (String)
94
+ # * +:interval+ - (Integer)
95
+ # * +:timeout+ - (Integer)
96
+ # * +:unhealthy_threshold+ - (Integer)
97
+ # * +:healthy_threshold+ - (Integer)
98
+
99
+ # @!method create_app_cookie_stickiness_policy(options = {})
100
+ # Calls the CreateAppCookieStickinessPolicy API operation.
101
+ # @param [Hash] options
102
+ # * +:load_balancer_name+ - *required* - (String) The name associated
103
+ # with the LoadBalancer. The name must be unique within the client
104
+ # AWS account.
105
+ # * +:policy_name+ - *required* - (String) The name of the policy being
106
+ # created. The name must be unique within the set of policies for
107
+ # this LoadBalancer.
108
+ # * +:cookie_name+ - *required* - (String) Name of the application
109
+ # cookie used for stickiness.
110
+ # @return [Core::Response]
111
+
112
+ # @!method create_lb_cookie_stickiness_policy(options = {})
113
+ # Calls the CreateLBCookieStickinessPolicy API operation.
114
+ # @param [Hash] options
115
+ # * +:load_balancer_name+ - *required* - (String) The name associated
116
+ # with the LoadBalancer. The name must be unique within the client
117
+ # AWS account.
118
+ # * +:policy_name+ - *required* - (String) The name of the policy being
119
+ # created. The name must be unique within the set of policies for
120
+ # this LoadBalancer.
121
+ # * +:cookie_expiration_period+ - (Integer) The time period in seconds
122
+ # after which the cookie should be considered stale. Not specifying
123
+ # this parameter indicates that the sticky session will last for the
124
+ # duration of the browser session.
125
+ # @return [Core::Response]
126
+
127
+ # @!method create_load_balancer(options = {})
128
+ # Calls the CreateLoadBalancer API operation.
129
+ # @param [Hash] options
130
+ # * +:load_balancer_name+ - *required* - (String) The name associated
131
+ # with the LoadBalancer. The name must be unique within your set of
132
+ # LoadBalancers.
133
+ # * +:listeners+ - *required* - (Array<Hash>) A list of the following
134
+ # tuples: LoadBalancerPort, InstancePort, and Protocol.
135
+ # * +:protocol+ - *required* - (String) Specifies the LoadBalancer
136
+ # transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
137
+ # This property cannot be modified for the life of the
138
+ # LoadBalancer.
139
+ # * +:load_balancer_port+ - *required* - (Integer) Specifies the
140
+ # external LoadBalancer port number. This property cannot be
141
+ # modified for the life of the LoadBalancer.
142
+ # * +:instance_protocol+ - (String) Specifies the protocol to use for
143
+ # routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
144
+ # This property cannot be modified for the life of the
145
+ # LoadBalancer. If the front-end protocol is HTTP or HTTPS,
146
+ # InstanceProtocol has to be at the same protocol layer, i.e., HTTP
147
+ # or HTTPS. Likewise, if the front-end protocol is TCP or SSL,
148
+ # InstanceProtocol has to be TCP or SSL. If there is another
149
+ # listener with the same InstancePort whose InstanceProtocol is
150
+ # secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has
151
+ # to be secure, i.e., HTTPS or SSL. If there is another listener
152
+ # with the same InstancePort whose InstanceProtocol is HTTP or TCP,
153
+ # the listener's InstanceProtocol must be either HTTP or TCP.
154
+ # * +:instance_port+ - *required* - (Integer) Specifies the TCP port
155
+ # on which the instance server is listening. This property cannot
156
+ # be modified for the life of the LoadBalancer.
157
+ # * +:ssl_certificate_id+ - (String) The ARN string of the server
158
+ # certificate. To get the ARN of the server certificate, call the
159
+ # AWS Identity and Access Management UploadServerCertificate API.
160
+ # * +:availability_zones+ - (Array<String>) A list of Availability
161
+ # Zones. At least one Availability Zone must be specified. Specified
162
+ # Availability Zones must be in the same EC2 Region as the
163
+ # LoadBalancer. Traffic will be equally distributed across all zones.
164
+ # This list can be modified after the creation of the LoadBalancer.
165
+ # * +:subnets+ - (Array<String>) A list of subnet IDs in your VPC to
166
+ # attach to your LoadBalancer.
167
+ # * +:security_groups+ - (Array<String>) The security groups assigned
168
+ # to your LoadBalancer within your VPC.
169
+ # * +:scheme+ - (String) The type of a LoadBalancer. This option is
170
+ # only available for LoadBalancers attached to a Amazon VPC. By
171
+ # default, Elastic Load Balancer creates an internet-facing load
172
+ # balancer with publicly resolvable DNS name that resolves to public
173
+ # IP addresses. Specify the value internal for this option to create
174
+ # an internal load balancer with a DNS name that resolves to private
175
+ # IP addresses.
176
+ # @return [Core::Response]
177
+ # The #data method of the response object returns
178
+ # a hash with the following structure:
179
+ # * +:dns_name+ - (String)
180
+
181
+ # @!method create_load_balancer_listeners(options = {})
182
+ # Calls the CreateLoadBalancerListeners API operation.
183
+ # @param [Hash] options
184
+ # * +:load_balancer_name+ - *required* - (String) The name of the new
185
+ # LoadBalancer. The name must be unique within your AWS account.
186
+ # * +:listeners+ - *required* - (Array<Hash>) A list of
187
+ # LoadBalancerPort, InstancePort, Protocol, and SSLCertificateId
188
+ # items.
189
+ # * +:protocol+ - *required* - (String) Specifies the LoadBalancer
190
+ # transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
191
+ # This property cannot be modified for the life of the
192
+ # LoadBalancer.
193
+ # * +:load_balancer_port+ - *required* - (Integer) Specifies the
194
+ # external LoadBalancer port number. This property cannot be
195
+ # modified for the life of the LoadBalancer.
196
+ # * +:instance_protocol+ - (String) Specifies the protocol to use for
197
+ # routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
198
+ # This property cannot be modified for the life of the
199
+ # LoadBalancer. If the front-end protocol is HTTP or HTTPS,
200
+ # InstanceProtocol has to be at the same protocol layer, i.e., HTTP
201
+ # or HTTPS. Likewise, if the front-end protocol is TCP or SSL,
202
+ # InstanceProtocol has to be TCP or SSL. If there is another
203
+ # listener with the same InstancePort whose InstanceProtocol is
204
+ # secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has
205
+ # to be secure, i.e., HTTPS or SSL. If there is another listener
206
+ # with the same InstancePort whose InstanceProtocol is HTTP or TCP,
207
+ # the listener's InstanceProtocol must be either HTTP or TCP.
208
+ # * +:instance_port+ - *required* - (Integer) Specifies the TCP port
209
+ # on which the instance server is listening. This property cannot
210
+ # be modified for the life of the LoadBalancer.
211
+ # * +:ssl_certificate_id+ - (String) The ARN string of the server
212
+ # certificate. To get the ARN of the server certificate, call the
213
+ # AWS Identity and Access Management UploadServerCertificate API.
214
+ # @return [Core::Response]
215
+
216
+ # @!method create_load_balancer_policy(options = {})
217
+ # Calls the CreateLoadBalancerPolicy API operation.
218
+ # @param [Hash] options
219
+ # * +:load_balancer_name+ - *required* - (String) The name associated
220
+ # with the LoadBalancer for which the policy is being created. This
221
+ # name must be unique within the client AWS account.
222
+ # * +:policy_name+ - *required* - (String) The name of the LoadBalancer
223
+ # policy being created. The name must be unique within the set of
224
+ # policies for this LoadBalancer.
225
+ # * +:policy_type_name+ - *required* - (String) The name of the base
226
+ # policy type being used to create this policy. To get the list of
227
+ # policy types, use the DescribeLoadBalancerPolicyTypes action.
228
+ # * +:policy_attributes+ - (Array<Hash>) A list of attributes
229
+ # associated with the policy being created.
230
+ # * +:attribute_name+ - (String) The name of the attribute associated
231
+ # with the policy.
232
+ # * +:attribute_value+ - (String) The value of the attribute
233
+ # associated with the policy.
234
+ # @return [Core::Response]
235
+
236
+ # @!method delete_load_balancer(options = {})
237
+ # Calls the DeleteLoadBalancer API operation.
238
+ # @param [Hash] options
239
+ # * +:load_balancer_name+ - *required* - (String) The name associated
240
+ # with the LoadBalancer. The name must be unique within the client
241
+ # AWS account.
242
+ # @return [Core::Response]
243
+
244
+ # @!method delete_load_balancer_listeners(options = {})
245
+ # Calls the DeleteLoadBalancerListeners API operation.
246
+ # @param [Hash] options
247
+ # * +:load_balancer_name+ - *required* - (String) The mnemonic name
248
+ # associated with the LoadBalancer.
249
+ # * +:load_balancer_ports+ - *required* - (Array<Integer>) The client
250
+ # port number(s) of the LoadBalancerListener(s) to be removed.
251
+ # @return [Core::Response]
252
+
253
+ # @!method delete_load_balancer_policy(options = {})
254
+ # Calls the DeleteLoadBalancerPolicy API operation.
255
+ # @param [Hash] options
256
+ # * +:load_balancer_name+ - *required* - (String) The mnemonic name
257
+ # associated with the LoadBalancer. The name must be unique within
258
+ # your AWS account.
259
+ # * +:policy_name+ - *required* - (String) The mnemonic name for the
260
+ # policy being deleted.
261
+ # @return [Core::Response]
262
+
263
+ # @!method deregister_instances_from_load_balancer(options = {})
264
+ # Calls the DeregisterInstancesFromLoadBalancer API operation.
265
+ # @param [Hash] options
266
+ # * +:load_balancer_name+ - *required* - (String) The name associated
267
+ # with the LoadBalancer. The name must be unique within the client
268
+ # AWS account.
269
+ # * +:instances+ - *required* - (Array<Hash>) A list of EC2 instance
270
+ # IDs consisting of all instances to be deregistered.
271
+ # * +:instance_id+ - (String) Provides an EC2 instance ID.
272
+ # @return [Core::Response]
273
+ # The #data method of the response object returns
274
+ # a hash with the following structure:
275
+ # * +:instances+ - (Array<Hash>)
276
+ # * +:instance_id+ - (String)
277
+
278
+ # @!method describe_instance_health(options = {})
279
+ # Calls the DescribeInstanceHealth API operation.
280
+ # @param [Hash] options
281
+ # * +:load_balancer_name+ - *required* - (String) The name associated
282
+ # with the LoadBalancer. The name must be unique within the client
283
+ # AWS account.
284
+ # * +:instances+ - (Array<Hash>) A list of instance IDs whose states
285
+ # are being queried.
286
+ # * +:instance_id+ - (String) Provides an EC2 instance ID.
287
+ # @return [Core::Response]
288
+ # The #data method of the response object returns
289
+ # a hash with the following structure:
290
+ # * +:instance_states+ - (Array<Hash>)
291
+ # * +:instance_id+ - (String)
292
+ # * +:state+ - (String)
293
+ # * +:reason_code+ - (String)
294
+ # * +:description+ - (String)
295
+
296
+ # @!method describe_load_balancer_policies(options = {})
297
+ # Calls the DescribeLoadBalancerPolicies API operation.
298
+ # @param [Hash] options
299
+ # * +:load_balancer_name+ - (String) The mnemonic name associated with
300
+ # the LoadBalancer. If no name is specified, the operation returns
301
+ # the attributes of either all the sample policies pre-defined by
302
+ # Elastic Load Balancing or the specified sample polices.
303
+ # * +:policy_names+ - (Array<String>) The names of LoadBalancer
304
+ # policies you've created or Elastic Load Balancing sample policy
305
+ # names.
306
+ # @return [Core::Response]
307
+ # The #data method of the response object returns
308
+ # a hash with the following structure:
309
+ # * +:policy_descriptions+ - (Array<Hash>)
310
+ # * +:policy_name+ - (String)
311
+ # * +:policy_type_name+ - (String)
312
+ # * +:policy_attribute_descriptions+ - (Array<Hash>)
313
+ # * +:attribute_name+ - (String)
314
+ # * +:attribute_value+ - (String)
315
+
316
+ # @!method describe_load_balancer_policy_types(options = {})
317
+ # Calls the DescribeLoadBalancerPolicyTypes API operation.
318
+ # @param [Hash] options
319
+ # * +:policy_type_names+ - (Array<String>) Specifies the name of the
320
+ # policy types. If no names are specified, returns the description of
321
+ # all the policy types defined by Elastic Load Balancing service.
322
+ # @return [Core::Response]
323
+ # The #data method of the response object returns
324
+ # a hash with the following structure:
325
+ # * +:policy_type_descriptions+ - (Array<Hash>)
326
+ # * +:policy_type_name+ - (String)
327
+ # * +:description+ - (String)
328
+ # * +:policy_attribute_type_descriptions+ - (Array<Hash>)
329
+ # * +:attribute_name+ - (String)
330
+ # * +:attribute_type+ - (String)
331
+ # * +:description+ - (String)
332
+ # * +:default_value+ - (String)
333
+ # * +:cardinality+ - (String)
334
+
335
+ # @!method describe_load_balancers(options = {})
336
+ # Calls the DescribeLoadBalancers API operation.
337
+ # @param [Hash] options
338
+ # * +:load_balancer_names+ - (Array<String>) A list of names associated
339
+ # with the LoadBalancers at creation time.
340
+ # * +:marker+ - (String) An optional parameter reserved for future use.
341
+ # @return [Core::Response]
342
+ # The #data method of the response object returns
343
+ # a hash with the following structure:
344
+ # * +:load_balancer_descriptions+ - (Array<Hash>)
345
+ # * +:load_balancer_name+ - (String)
346
+ # * +:dns_name+ - (String)
347
+ # * +:canonical_hosted_zone_name+ - (String)
348
+ # * +:canonical_hosted_zone_name_id+ - (String)
349
+ # * +:listener_descriptions+ - (Array<Hash>)
350
+ # * +:listener+ - (Hash)
351
+ # * +:protocol+ - (String)
352
+ # * +:load_balancer_port+ - (Integer)
353
+ # * +:instance_protocol+ - (String)
354
+ # * +:instance_port+ - (Integer)
355
+ # * +:ssl_certificate_id+ - (String)
356
+ # * +:policy_names+ - (Array<String>)
357
+ # * +:policies+ - (Hash)
358
+ # * +:app_cookie_stickiness_policies+ - (Array<Hash>)
359
+ # * +:policy_name+ - (String)
360
+ # * +:cookie_name+ - (String)
361
+ # * +:lb_cookie_stickiness_policies+ - (Array<Hash>)
362
+ # * +:policy_name+ - (String)
363
+ # * +:cookie_expiration_period+ - (Integer)
364
+ # * +:other_policies+ - (Array<String>)
365
+ # * +:backend_server_descriptions+ - (Array<Hash>)
366
+ # * +:instance_port+ - (Integer)
367
+ # * +:policy_names+ - (Array<String>)
368
+ # * +:availability_zones+ - (Array<String>)
369
+ # * +:subnets+ - (Array<String>)
370
+ # * +:vpc_id+ - (String)
371
+ # * +:instances+ - (Array<Hash>)
372
+ # * +:instance_id+ - (String)
373
+ # * +:health_check+ - (Hash)
374
+ # * +:target+ - (String)
375
+ # * +:interval+ - (Integer)
376
+ # * +:timeout+ - (Integer)
377
+ # * +:unhealthy_threshold+ - (Integer)
378
+ # * +:healthy_threshold+ - (Integer)
379
+ # * +:source_security_group+ - (Hash)
380
+ # * +:owner_alias+ - (String)
381
+ # * +:group_name+ - (String)
382
+ # * +:security_groups+ - (Array<String>)
383
+ # * +:created_time+ - (Time)
384
+ # * +:scheme+ - (String)
385
+ # * +:next_marker+ - (String)
386
+
387
+ # @!method detach_load_balancer_from_subnets(options = {})
388
+ # Calls the DetachLoadBalancerFromSubnets API operation.
389
+ # @param [Hash] options
390
+ # * +:load_balancer_name+ - *required* - (String) The name associated
391
+ # with the LoadBalancer to be detached. The name must be unique
392
+ # within the client AWS account.
393
+ # * +:subnets+ - *required* - (Array<String>) A list of subnet IDs to
394
+ # remove from the set of configured subnets for the LoadBalancer.
395
+ # @return [Core::Response]
396
+ # The #data method of the response object returns
397
+ # a hash with the following structure:
398
+ # * +:subnets+ - (Array<String>)
399
+
400
+ # @!method disable_availability_zones_for_load_balancer(options = {})
401
+ # Calls the DisableAvailabilityZonesForLoadBalancer API operation.
402
+ # @param [Hash] options
403
+ # * +:load_balancer_name+ - *required* - (String) The name associated
404
+ # with the LoadBalancer. The name must be unique within the client
405
+ # AWS account.
406
+ # * +:availability_zones+ - *required* - (Array<String>) A list of
407
+ # Availability Zones to be removed from the LoadBalancer. There must
408
+ # be at least one Availability Zone registered with a LoadBalancer at
409
+ # all times. The client cannot remove all the Availability Zones from
410
+ # a LoadBalancer. Specified Availability Zones must be in the same
411
+ # Region.
412
+ # @return [Core::Response]
413
+ # The #data method of the response object returns
414
+ # a hash with the following structure:
415
+ # * +:availability_zones+ - (Array<String>)
416
+
417
+ # @!method enable_availability_zones_for_load_balancer(options = {})
418
+ # Calls the EnableAvailabilityZonesForLoadBalancer API operation.
419
+ # @param [Hash] options
420
+ # * +:load_balancer_name+ - *required* - (String) The name associated
421
+ # with the LoadBalancer. The name must be unique within the client
422
+ # AWS account.
423
+ # * +:availability_zones+ - *required* - (Array<String>) A list of new
424
+ # Availability Zones for the LoadBalancer. Each Availability Zone
425
+ # must be in the same Region as the LoadBalancer.
426
+ # @return [Core::Response]
427
+ # The #data method of the response object returns
428
+ # a hash with the following structure:
429
+ # * +:availability_zones+ - (Array<String>)
430
+
431
+ # @!method register_instances_with_load_balancer(options = {})
432
+ # Calls the RegisterInstancesWithLoadBalancer API operation.
433
+ # @param [Hash] options
434
+ # * +:load_balancer_name+ - *required* - (String) The name associated
435
+ # with the LoadBalancer. The name must be unique within the client
436
+ # AWS account.
437
+ # * +:instances+ - *required* - (Array<Hash>) A list of instance IDs
438
+ # that should be registered with the LoadBalancer. When the instance
439
+ # is stopped and then restarted, the IP addresses associated with
440
+ # your instance changes. Elastic Load Balancing cannot recognize the
441
+ # new IP address, which prevents it from routing traffic to your
442
+ # instances. We recommend that you de-register your Amazon EC2
443
+ # instances from your load balancer after you stop your instance, and
444
+ # then register the load balancer with your instance after you've
445
+ # restarted. To de-register your instances from load balancer, use
446
+ # DeregisterInstancesFromLoadBalancer action.
447
+ # * +:instance_id+ - (String) Provides an EC2 instance ID.
448
+ # @return [Core::Response]
449
+ # The #data method of the response object returns
450
+ # a hash with the following structure:
451
+ # * +:instances+ - (Array<Hash>)
452
+ # * +:instance_id+ - (String)
453
+
454
+ # @!method set_load_balancer_listener_ssl_certificate(options = {})
455
+ # Calls the SetLoadBalancerListenerSSLCertificate API operation.
456
+ # @param [Hash] options
457
+ # * +:load_balancer_name+ - *required* - (String) The name of the the
458
+ # LoadBalancer.
459
+ # * +:load_balancer_port+ - *required* - (Integer) The port that uses
460
+ # the specified SSL certificate.
461
+ # * +:ssl_certificate_id+ - *required* - (String) The ID of the SSL
462
+ # certificate chain to use. For more information on SSL certificates,
463
+ # see Managing Server Certificates in the AWS Identity and Access
464
+ # Management documentation.
465
+ # @return [Core::Response]
466
+
467
+ # @!method set_load_balancer_policies_for_backend_server(options = {})
468
+ # Calls the SetLoadBalancerPoliciesForBackendServer API operation.
469
+ # @param [Hash] options
470
+ # * +:load_balancer_name+ - *required* - (String) The mnemonic name
471
+ # associated with the LoadBalancer. This name must be unique within
472
+ # the client AWS account.
473
+ # * +:instance_port+ - *required* - (Integer) The port number
474
+ # associated with the back-end server.
475
+ # * +:policy_names+ - *required* - (Array<String>) List of policy names
476
+ # to be set. If the list is empty, then all current polices are
477
+ # removed from the back-end server.
478
+ # @return [Core::Response]
479
+
480
+ # @!method set_load_balancer_policies_of_listener(options = {})
481
+ # Calls the SetLoadBalancerPoliciesOfListener API operation.
482
+ # @param [Hash] options
483
+ # * +:load_balancer_name+ - *required* - (String) The name associated
484
+ # with the LoadBalancer. The name must be unique within the client
485
+ # AWS account.
486
+ # * +:load_balancer_port+ - *required* - (Integer) The external port of
487
+ # the LoadBalancer with which this policy applies to.
488
+ # * +:policy_names+ - *required* - (Array<String>) List of policies to
489
+ # be associated with the listener. Currently this list can have at
490
+ # most one policy. If the list is empty, the current policy is
491
+ # removed from the listener.
492
+ # @return [Core::Response]
493
+
494
+ # end client methods #
495
+
496
+ define_client_methods('2012-06-01')
497
+
498
+ end
499
+ end
500
+ end