fog-aws 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1275) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.travis.yml +48 -0
  4. data/Gemfile +7 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +36 -0
  7. data/Rakefile +8 -0
  8. data/fog-aws.gemspec +30 -0
  9. data/gemfiles/Gemfile-edge +9 -0
  10. data/gemfiles/Gemfile-ruby-1.8.7 +6 -0
  11. data/lib/fog/aws.rb +31 -0
  12. data/lib/fog/aws/auto_scaling.rb +279 -0
  13. data/lib/fog/aws/beanstalk.rb +156 -0
  14. data/lib/fog/aws/cdn.rb +205 -0
  15. data/lib/fog/aws/cloud_formation.rb +133 -0
  16. data/lib/fog/aws/cloud_watch.rb +167 -0
  17. data/lib/fog/aws/compute.rb +543 -0
  18. data/lib/fog/aws/core.rb +343 -0
  19. data/lib/fog/aws/credential_fetcher.rb +63 -0
  20. data/lib/fog/aws/data_pipeline.rb +126 -0
  21. data/lib/fog/aws/dns.rb +154 -0
  22. data/lib/fog/aws/dynamodb.rb +152 -0
  23. data/lib/fog/aws/elasticache.rb +216 -0
  24. data/lib/fog/aws/elb.rb +240 -0
  25. data/lib/fog/aws/elb/policy_types.rb +477 -0
  26. data/lib/fog/aws/emr.rb +139 -0
  27. data/lib/fog/aws/glacier.rb +179 -0
  28. data/lib/fog/aws/iam.rb +260 -0
  29. data/lib/fog/aws/models/auto_scaling/activities.rb +37 -0
  30. data/lib/fog/aws/models/auto_scaling/activity.rb +27 -0
  31. data/lib/fog/aws/models/auto_scaling/configuration.rb +69 -0
  32. data/lib/fog/aws/models/auto_scaling/configurations.rb +33 -0
  33. data/lib/fog/aws/models/auto_scaling/group.rb +150 -0
  34. data/lib/fog/aws/models/auto_scaling/groups.rb +37 -0
  35. data/lib/fog/aws/models/auto_scaling/instance.rb +58 -0
  36. data/lib/fog/aws/models/auto_scaling/instances.rb +28 -0
  37. data/lib/fog/aws/models/auto_scaling/policies.rb +37 -0
  38. data/lib/fog/aws/models/auto_scaling/policy.rb +46 -0
  39. data/lib/fog/aws/models/beanstalk/application.rb +59 -0
  40. data/lib/fog/aws/models/beanstalk/applications.rb +23 -0
  41. data/lib/fog/aws/models/beanstalk/environment.rb +145 -0
  42. data/lib/fog/aws/models/beanstalk/environments.rb +27 -0
  43. data/lib/fog/aws/models/beanstalk/event.rb +18 -0
  44. data/lib/fog/aws/models/beanstalk/events.rb +17 -0
  45. data/lib/fog/aws/models/beanstalk/template.rb +76 -0
  46. data/lib/fog/aws/models/beanstalk/templates.rb +68 -0
  47. data/lib/fog/aws/models/beanstalk/version.rb +77 -0
  48. data/lib/fog/aws/models/beanstalk/versions.rb +29 -0
  49. data/lib/fog/aws/models/cdn/distribution.rb +90 -0
  50. data/lib/fog/aws/models/cdn/distribution_helper.rb +60 -0
  51. data/lib/fog/aws/models/cdn/distributions.rb +30 -0
  52. data/lib/fog/aws/models/cdn/distributions_helper.rb +45 -0
  53. data/lib/fog/aws/models/cdn/invalidation.rb +60 -0
  54. data/lib/fog/aws/models/cdn/invalidations.rb +50 -0
  55. data/lib/fog/aws/models/cdn/streaming_distribution.rb +74 -0
  56. data/lib/fog/aws/models/cdn/streaming_distributions.rb +30 -0
  57. data/lib/fog/aws/models/cloud_watch/alarm.rb +60 -0
  58. data/lib/fog/aws/models/cloud_watch/alarm_data.rb +38 -0
  59. data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +65 -0
  60. data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +17 -0
  61. data/lib/fog/aws/models/cloud_watch/alarm_history.rb +15 -0
  62. data/lib/fog/aws/models/cloud_watch/alarms.rb +45 -0
  63. data/lib/fog/aws/models/cloud_watch/metric.rb +13 -0
  64. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +44 -0
  65. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +22 -0
  66. data/lib/fog/aws/models/cloud_watch/metrics.rb +50 -0
  67. data/lib/fog/aws/models/compute/address.rb +74 -0
  68. data/lib/fog/aws/models/compute/addresses.rb +96 -0
  69. data/lib/fog/aws/models/compute/dhcp_option.rb +66 -0
  70. data/lib/fog/aws/models/compute/dhcp_options.rb +87 -0
  71. data/lib/fog/aws/models/compute/flavor.rb +19 -0
  72. data/lib/fog/aws/models/compute/flavors.rb +606 -0
  73. data/lib/fog/aws/models/compute/image.rb +45 -0
  74. data/lib/fog/aws/models/compute/images.rb +59 -0
  75. data/lib/fog/aws/models/compute/internet_gateway.rb +78 -0
  76. data/lib/fog/aws/models/compute/internet_gateways.rb +87 -0
  77. data/lib/fog/aws/models/compute/key_pair.rb +53 -0
  78. data/lib/fog/aws/models/compute/key_pairs.rb +84 -0
  79. data/lib/fog/aws/models/compute/network_acl.rb +180 -0
  80. data/lib/fog/aws/models/compute/network_acls.rb +136 -0
  81. data/lib/fog/aws/models/compute/network_interface.rb +73 -0
  82. data/lib/fog/aws/models/compute/network_interfaces.rb +133 -0
  83. data/lib/fog/aws/models/compute/route_table.rb +66 -0
  84. data/lib/fog/aws/models/compute/route_tables.rb +88 -0
  85. data/lib/fog/aws/models/compute/security_group.rb +322 -0
  86. data/lib/fog/aws/models/compute/security_groups.rb +117 -0
  87. data/lib/fog/aws/models/compute/server.rb +271 -0
  88. data/lib/fog/aws/models/compute/servers.rb +211 -0
  89. data/lib/fog/aws/models/compute/snapshot.rb +53 -0
  90. data/lib/fog/aws/models/compute/snapshots.rb +48 -0
  91. data/lib/fog/aws/models/compute/spot_request.rb +119 -0
  92. data/lib/fog/aws/models/compute/spot_requests.rb +86 -0
  93. data/lib/fog/aws/models/compute/subnet.rb +61 -0
  94. data/lib/fog/aws/models/compute/subnets.rb +95 -0
  95. data/lib/fog/aws/models/compute/tag.rb +31 -0
  96. data/lib/fog/aws/models/compute/tags.rb +31 -0
  97. data/lib/fog/aws/models/compute/volume.rb +126 -0
  98. data/lib/fog/aws/models/compute/volumes.rb +117 -0
  99. data/lib/fog/aws/models/compute/vpc.rb +75 -0
  100. data/lib/fog/aws/models/compute/vpcs.rb +89 -0
  101. data/lib/fog/aws/models/data_pipeline/pipeline.rb +63 -0
  102. data/lib/fog/aws/models/data_pipeline/pipelines.rb +33 -0
  103. data/lib/fog/aws/models/dns/record.rb +116 -0
  104. data/lib/fog/aws/models/dns/records.rb +120 -0
  105. data/lib/fog/aws/models/dns/zone.rb +49 -0
  106. data/lib/fog/aws/models/dns/zones.rb +29 -0
  107. data/lib/fog/aws/models/elasticache/cluster.rb +69 -0
  108. data/lib/fog/aws/models/elasticache/clusters.rb +29 -0
  109. data/lib/fog/aws/models/elasticache/parameter_group.rb +28 -0
  110. data/lib/fog/aws/models/elasticache/parameter_groups.rb +28 -0
  111. data/lib/fog/aws/models/elasticache/security_group.rb +48 -0
  112. data/lib/fog/aws/models/elasticache/security_groups.rb +28 -0
  113. data/lib/fog/aws/models/elasticache/subnet_group.rb +32 -0
  114. data/lib/fog/aws/models/elasticache/subnet_groups.rb +24 -0
  115. data/lib/fog/aws/models/elb/backend_server_description.rb +11 -0
  116. data/lib/fog/aws/models/elb/backend_server_descriptions.rb +20 -0
  117. data/lib/fog/aws/models/elb/listener.rb +56 -0
  118. data/lib/fog/aws/models/elb/listeners.rb +30 -0
  119. data/lib/fog/aws/models/elb/load_balancer.rb +241 -0
  120. data/lib/fog/aws/models/elb/load_balancers.rb +37 -0
  121. data/lib/fog/aws/models/elb/policies.rb +52 -0
  122. data/lib/fog/aws/models/elb/policy.rb +59 -0
  123. data/lib/fog/aws/models/glacier/archive.rb +68 -0
  124. data/lib/fog/aws/models/glacier/archives.rb +26 -0
  125. data/lib/fog/aws/models/glacier/job.rb +61 -0
  126. data/lib/fog/aws/models/glacier/jobs.rb +40 -0
  127. data/lib/fog/aws/models/glacier/vault.rb +50 -0
  128. data/lib/fog/aws/models/glacier/vaults.rb +24 -0
  129. data/lib/fog/aws/models/iam/access_key.rb +39 -0
  130. data/lib/fog/aws/models/iam/access_keys.rb +32 -0
  131. data/lib/fog/aws/models/iam/policies.rb +40 -0
  132. data/lib/fog/aws/models/iam/policy.rb +36 -0
  133. data/lib/fog/aws/models/iam/role.rb +34 -0
  134. data/lib/fog/aws/models/iam/roles.rb +37 -0
  135. data/lib/fog/aws/models/iam/user.rb +38 -0
  136. data/lib/fog/aws/models/iam/users.rb +47 -0
  137. data/lib/fog/aws/models/rds/event_subscription.rb +41 -0
  138. data/lib/fog/aws/models/rds/event_subscriptions.rb +24 -0
  139. data/lib/fog/aws/models/rds/instance_option.rb +18 -0
  140. data/lib/fog/aws/models/rds/instance_options.rb +28 -0
  141. data/lib/fog/aws/models/rds/log_file.rb +22 -0
  142. data/lib/fog/aws/models/rds/log_files.rb +48 -0
  143. data/lib/fog/aws/models/rds/parameter.rb +18 -0
  144. data/lib/fog/aws/models/rds/parameter_group.rb +34 -0
  145. data/lib/fog/aws/models/rds/parameter_groups.rb +24 -0
  146. data/lib/fog/aws/models/rds/parameters.rb +36 -0
  147. data/lib/fog/aws/models/rds/security_group.rb +79 -0
  148. data/lib/fog/aws/models/rds/security_groups.rb +41 -0
  149. data/lib/fog/aws/models/rds/server.rb +142 -0
  150. data/lib/fog/aws/models/rds/servers.rb +24 -0
  151. data/lib/fog/aws/models/rds/snapshot.rb +49 -0
  152. data/lib/fog/aws/models/rds/snapshots.rb +69 -0
  153. data/lib/fog/aws/models/rds/subnet_group.rb +31 -0
  154. data/lib/fog/aws/models/rds/subnet_groups.rb +24 -0
  155. data/lib/fog/aws/models/sns/subscription.rb +0 -0
  156. data/lib/fog/aws/models/sns/subscriptions.rb +17 -0
  157. data/lib/fog/aws/models/sns/topic.rb +48 -0
  158. data/lib/fog/aws/models/sns/topics.rb +24 -0
  159. data/lib/fog/aws/models/storage/directories.rb +39 -0
  160. data/lib/fog/aws/models/storage/directory.rb +126 -0
  161. data/lib/fog/aws/models/storage/file.rb +280 -0
  162. data/lib/fog/aws/models/storage/files.rb +119 -0
  163. data/lib/fog/aws/models/storage/version.rb +33 -0
  164. data/lib/fog/aws/models/storage/versions.rb +34 -0
  165. data/lib/fog/aws/parsers/auto_scaling/basic.rb +24 -0
  166. data/lib/fog/aws/parsers/auto_scaling/describe_adjustment_types.rb +49 -0
  167. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +156 -0
  168. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_instances.rb +40 -0
  169. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_notification_types.rb +40 -0
  170. data/lib/fog/aws/parsers/auto_scaling/describe_launch_configurations.rb +97 -0
  171. data/lib/fog/aws/parsers/auto_scaling/describe_metric_collection_types.rb +64 -0
  172. data/lib/fog/aws/parsers/auto_scaling/describe_notification_configurations.rb +39 -0
  173. data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +65 -0
  174. data/lib/fog/aws/parsers/auto_scaling/describe_scaling_activities.rb +44 -0
  175. data/lib/fog/aws/parsers/auto_scaling/describe_scaling_process_types.rb +49 -0
  176. data/lib/fog/aws/parsers/auto_scaling/describe_scheduled_actions.rb +43 -0
  177. data/lib/fog/aws/parsers/auto_scaling/describe_tags.rb +42 -0
  178. data/lib/fog/aws/parsers/auto_scaling/describe_termination_policy_types.rb +40 -0
  179. data/lib/fog/aws/parsers/auto_scaling/put_notification_configuration.rb +24 -0
  180. data/lib/fog/aws/parsers/auto_scaling/put_scaling_policy.rb +27 -0
  181. data/lib/fog/aws/parsers/auto_scaling/terminate_instance_in_auto_scaling_group.rb +32 -0
  182. data/lib/fog/aws/parsers/beanstalk/check_dns_availability.rb +16 -0
  183. data/lib/fog/aws/parsers/beanstalk/create_application.rb +21 -0
  184. data/lib/fog/aws/parsers/beanstalk/create_application_version.rb +23 -0
  185. data/lib/fog/aws/parsers/beanstalk/create_configuration_template.rb +26 -0
  186. data/lib/fog/aws/parsers/beanstalk/create_environment.rb +34 -0
  187. data/lib/fog/aws/parsers/beanstalk/create_storage_location.rb +15 -0
  188. data/lib/fog/aws/parsers/beanstalk/describe_application_versions.rb +23 -0
  189. data/lib/fog/aws/parsers/beanstalk/describe_applications.rb +21 -0
  190. data/lib/fog/aws/parsers/beanstalk/describe_configuration_options.rb +29 -0
  191. data/lib/fog/aws/parsers/beanstalk/describe_configuration_settings.rb +27 -0
  192. data/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb +34 -0
  193. data/lib/fog/aws/parsers/beanstalk/describe_environments.rb +35 -0
  194. data/lib/fog/aws/parsers/beanstalk/describe_events.rb +24 -0
  195. data/lib/fog/aws/parsers/beanstalk/empty.rb +20 -0
  196. data/lib/fog/aws/parsers/beanstalk/list_available_solution_stacks.rb +18 -0
  197. data/lib/fog/aws/parsers/beanstalk/parser.rb +84 -0
  198. data/lib/fog/aws/parsers/beanstalk/retrieve_environment_info.rb +19 -0
  199. data/lib/fog/aws/parsers/beanstalk/terminate_environment.rb +34 -0
  200. data/lib/fog/aws/parsers/beanstalk/update_application.rb +21 -0
  201. data/lib/fog/aws/parsers/beanstalk/update_application_version.rb +23 -0
  202. data/lib/fog/aws/parsers/beanstalk/update_configuration_template.rb +26 -0
  203. data/lib/fog/aws/parsers/beanstalk/update_environment.rb +34 -0
  204. data/lib/fog/aws/parsers/beanstalk/validate_configuration_settings.rb +19 -0
  205. data/lib/fog/aws/parsers/cdn/distribution.rb +55 -0
  206. data/lib/fog/aws/parsers/cdn/get_distribution_list.rb +57 -0
  207. data/lib/fog/aws/parsers/cdn/get_invalidation.rb +28 -0
  208. data/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +38 -0
  209. data/lib/fog/aws/parsers/cdn/get_streaming_distribution_list.rb +55 -0
  210. data/lib/fog/aws/parsers/cdn/post_invalidation.rb +24 -0
  211. data/lib/fog/aws/parsers/cdn/streaming_distribution.rb +56 -0
  212. data/lib/fog/aws/parsers/cloud_formation/basic.rb +10 -0
  213. data/lib/fog/aws/parsers/cloud_formation/create_stack.rb +16 -0
  214. data/lib/fog/aws/parsers/cloud_formation/describe_stack_events.rb +28 -0
  215. data/lib/fog/aws/parsers/cloud_formation/describe_stack_resources.rb +28 -0
  216. data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +78 -0
  217. data/lib/fog/aws/parsers/cloud_formation/get_template.rb +16 -0
  218. data/lib/fog/aws/parsers/cloud_formation/list_stack_resources.rb +30 -0
  219. data/lib/fog/aws/parsers/cloud_formation/list_stacks.rb +32 -0
  220. data/lib/fog/aws/parsers/cloud_formation/update_stack.rb +16 -0
  221. data/lib/fog/aws/parsers/cloud_formation/validate_template.rb +49 -0
  222. data/lib/fog/aws/parsers/cloud_watch/delete_alarms.rb +24 -0
  223. data/lib/fog/aws/parsers/cloud_watch/describe_alarm_history.rb +38 -0
  224. data/lib/fog/aws/parsers/cloud_watch/describe_alarms.rb +71 -0
  225. data/lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb +69 -0
  226. data/lib/fog/aws/parsers/cloud_watch/disable_alarm_actions.rb +24 -0
  227. data/lib/fog/aws/parsers/cloud_watch/enable_alarm_actions.rb +24 -0
  228. data/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb +40 -0
  229. data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +56 -0
  230. data/lib/fog/aws/parsers/cloud_watch/put_metric_alarm.rb +24 -0
  231. data/lib/fog/aws/parsers/cloud_watch/put_metric_data.rb +24 -0
  232. data/lib/fog/aws/parsers/cloud_watch/set_alarm_state.rb +24 -0
  233. data/lib/fog/aws/parsers/compute/allocate_address.rb +16 -0
  234. data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +22 -0
  235. data/lib/fog/aws/parsers/compute/associate_address.rb +22 -0
  236. data/lib/fog/aws/parsers/compute/associate_route_table.rb +16 -0
  237. data/lib/fog/aws/parsers/compute/attach_network_interface.rb +16 -0
  238. data/lib/fog/aws/parsers/compute/attach_volume.rb +18 -0
  239. data/lib/fog/aws/parsers/compute/basic.rb +22 -0
  240. data/lib/fog/aws/parsers/compute/cancel_spot_instance_requests.rb +26 -0
  241. data/lib/fog/aws/parsers/compute/copy_image.rb +18 -0
  242. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +18 -0
  243. data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +73 -0
  244. data/lib/fog/aws/parsers/compute/create_image.rb +16 -0
  245. data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +61 -0
  246. data/lib/fog/aws/parsers/compute/create_key_pair.rb +16 -0
  247. data/lib/fog/aws/parsers/compute/create_network_acl.rb +28 -0
  248. data/lib/fog/aws/parsers/compute/create_network_interface.rb +28 -0
  249. data/lib/fog/aws/parsers/compute/create_route_table.rb +71 -0
  250. data/lib/fog/aws/parsers/compute/create_security_group.rb +22 -0
  251. data/lib/fog/aws/parsers/compute/create_snapshot.rb +22 -0
  252. data/lib/fog/aws/parsers/compute/create_subnet.rb +46 -0
  253. data/lib/fog/aws/parsers/compute/create_volume.rb +22 -0
  254. data/lib/fog/aws/parsers/compute/create_vpc.rb +47 -0
  255. data/lib/fog/aws/parsers/compute/deregister_image.rb +16 -0
  256. data/lib/fog/aws/parsers/compute/describe_account_attributes.rb +41 -0
  257. data/lib/fog/aws/parsers/compute/describe_addresses.rb +26 -0
  258. data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +40 -0
  259. data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +72 -0
  260. data/lib/fog/aws/parsers/compute/describe_images.rb +89 -0
  261. data/lib/fog/aws/parsers/compute/describe_instance_status.rb +73 -0
  262. data/lib/fog/aws/parsers/compute/describe_instances.rb +122 -0
  263. data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +60 -0
  264. data/lib/fog/aws/parsers/compute/describe_key_pairs.rb +26 -0
  265. data/lib/fog/aws/parsers/compute/describe_network_acls.rb +42 -0
  266. data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +77 -0
  267. data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +42 -0
  268. data/lib/fog/aws/parsers/compute/describe_placement_groups.rb +26 -0
  269. data/lib/fog/aws/parsers/compute/describe_regions.rb +26 -0
  270. data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +58 -0
  271. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +30 -0
  272. data/lib/fog/aws/parsers/compute/describe_route_tables.rb +81 -0
  273. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +111 -0
  274. data/lib/fog/aws/parsers/compute/describe_snapshots.rb +52 -0
  275. data/lib/fog/aws/parsers/compute/describe_spot_price_history.rb +30 -0
  276. data/lib/fog/aws/parsers/compute/describe_subnets.rb +49 -0
  277. data/lib/fog/aws/parsers/compute/describe_tags.rb +26 -0
  278. data/lib/fog/aws/parsers/compute/describe_volume_status.rb +87 -0
  279. data/lib/fog/aws/parsers/compute/describe_volumes.rb +71 -0
  280. data/lib/fog/aws/parsers/compute/describe_vpc_attribute.rb +48 -0
  281. data/lib/fog/aws/parsers/compute/describe_vpcs.rb +47 -0
  282. data/lib/fog/aws/parsers/compute/detach_volume.rb +18 -0
  283. data/lib/fog/aws/parsers/compute/get_console_output.rb +24 -0
  284. data/lib/fog/aws/parsers/compute/get_password_data.rb +22 -0
  285. data/lib/fog/aws/parsers/compute/import_key_pair.rb +16 -0
  286. data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +24 -0
  287. data/lib/fog/aws/parsers/compute/monitor_unmonitor_instances.rb +31 -0
  288. data/lib/fog/aws/parsers/compute/network_acl_parser.rb +103 -0
  289. data/lib/fog/aws/parsers/compute/network_interface_parser.rb +108 -0
  290. data/lib/fog/aws/parsers/compute/purchase_reserved_instances_offering.rb +20 -0
  291. data/lib/fog/aws/parsers/compute/register_image.rb +16 -0
  292. data/lib/fog/aws/parsers/compute/replace_network_acl_association.rb +20 -0
  293. data/lib/fog/aws/parsers/compute/run_instances.rb +90 -0
  294. data/lib/fog/aws/parsers/compute/spot_datafeed_subscription.rb +25 -0
  295. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +69 -0
  296. data/lib/fog/aws/parsers/compute/start_stop_instances.rb +37 -0
  297. data/lib/fog/aws/parsers/compute/terminate_instances.rb +51 -0
  298. data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +22 -0
  299. data/lib/fog/aws/parsers/dns/create_health_check.rb +0 -0
  300. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +51 -0
  301. data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +21 -0
  302. data/lib/fog/aws/parsers/dns/get_change.rb +22 -0
  303. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +41 -0
  304. data/lib/fog/aws/parsers/dns/health_check.rb +33 -0
  305. data/lib/fog/aws/parsers/dns/list_health_checks.rb +41 -0
  306. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +33 -0
  307. data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +58 -0
  308. data/lib/fog/aws/parsers/elasticache/authorize_cache_security_group_ingress.rb +21 -0
  309. data/lib/fog/aws/parsers/elasticache/base.rb +28 -0
  310. data/lib/fog/aws/parsers/elasticache/cache_cluster_parser.rb +77 -0
  311. data/lib/fog/aws/parsers/elasticache/create_cache_subnet_group.rb +32 -0
  312. data/lib/fog/aws/parsers/elasticache/describe_cache_clusters.rb +26 -0
  313. data/lib/fog/aws/parsers/elasticache/describe_cache_parameters.rb +21 -0
  314. data/lib/fog/aws/parsers/elasticache/describe_cache_subnet_groups.rb +34 -0
  315. data/lib/fog/aws/parsers/elasticache/describe_engine_default_parameters.rb +21 -0
  316. data/lib/fog/aws/parsers/elasticache/describe_parameter_groups.rb +26 -0
  317. data/lib/fog/aws/parsers/elasticache/describe_reserved_cache_nodes.rb +32 -0
  318. data/lib/fog/aws/parsers/elasticache/describe_security_groups.rb +26 -0
  319. data/lib/fog/aws/parsers/elasticache/engine_defaults_parser.rb +58 -0
  320. data/lib/fog/aws/parsers/elasticache/event_list.rb +38 -0
  321. data/lib/fog/aws/parsers/elasticache/modify_parameter_group.rb +26 -0
  322. data/lib/fog/aws/parsers/elasticache/parameter_group_parser.rb +29 -0
  323. data/lib/fog/aws/parsers/elasticache/reset_parameter_group.rb +26 -0
  324. data/lib/fog/aws/parsers/elasticache/security_group_parser.rb +38 -0
  325. data/lib/fog/aws/parsers/elasticache/single_cache_cluster.rb +21 -0
  326. data/lib/fog/aws/parsers/elasticache/single_parameter_group.rb +21 -0
  327. data/lib/fog/aws/parsers/elasticache/single_security_group.rb +33 -0
  328. data/lib/fog/aws/parsers/elasticache/subnet_group_parser.rb +35 -0
  329. data/lib/fog/aws/parsers/elb/apply_security_groups_to_load_balancer.rb +22 -0
  330. data/lib/fog/aws/parsers/elb/attach_load_balancer_to_subnets.rb +22 -0
  331. data/lib/fog/aws/parsers/elb/configure_health_check.rb +33 -0
  332. data/lib/fog/aws/parsers/elb/create_load_balancer.rb +22 -0
  333. data/lib/fog/aws/parsers/elb/delete_load_balancer.rb +20 -0
  334. data/lib/fog/aws/parsers/elb/deregister_instances_from_load_balancer.rb +22 -0
  335. data/lib/fog/aws/parsers/elb/describe_instance_health.rb +26 -0
  336. data/lib/fog/aws/parsers/elb/describe_load_balancer_attributes.rb +54 -0
  337. data/lib/fog/aws/parsers/elb/describe_load_balancer_policies.rb +60 -0
  338. data/lib/fog/aws/parsers/elb/describe_load_balancer_policy_types.rb +66 -0
  339. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +167 -0
  340. data/lib/fog/aws/parsers/elb/describe_tags.rb +26 -0
  341. data/lib/fog/aws/parsers/elb/detach_load_balancer_from_subnets.rb +22 -0
  342. data/lib/fog/aws/parsers/elb/disable_availability_zones_for_load_balancer.rb +22 -0
  343. data/lib/fog/aws/parsers/elb/empty.rb +24 -0
  344. data/lib/fog/aws/parsers/elb/enable_availability_zones_for_load_balancer.rb +22 -0
  345. data/lib/fog/aws/parsers/elb/register_instances_with_load_balancer.rb +22 -0
  346. data/lib/fog/aws/parsers/elb/tag_list_parser.rb +57 -0
  347. data/lib/fog/aws/parsers/emr/add_instance_groups.rb +26 -0
  348. data/lib/fog/aws/parsers/emr/add_job_flow_steps.rb +16 -0
  349. data/lib/fog/aws/parsers/emr/describe_job_flows.rb +137 -0
  350. data/lib/fog/aws/parsers/emr/modify_instance_groups.rb +16 -0
  351. data/lib/fog/aws/parsers/emr/run_job_flow.rb +18 -0
  352. data/lib/fog/aws/parsers/emr/set_termination_protection.rb +16 -0
  353. data/lib/fog/aws/parsers/emr/terminate_job_flows.rb +16 -0
  354. data/lib/fog/aws/parsers/iam/base_instance_profile.rb +75 -0
  355. data/lib/fog/aws/parsers/iam/basic.rb +16 -0
  356. data/lib/fog/aws/parsers/iam/create_access_key.rb +22 -0
  357. data/lib/fog/aws/parsers/iam/create_group.rb +22 -0
  358. data/lib/fog/aws/parsers/iam/create_user.rb +22 -0
  359. data/lib/fog/aws/parsers/iam/get_account_password_policy.rb +26 -0
  360. data/lib/fog/aws/parsers/iam/get_account_summary.rb +42 -0
  361. data/lib/fog/aws/parsers/iam/get_group.rb +52 -0
  362. data/lib/fog/aws/parsers/iam/get_group_policy.rb +30 -0
  363. data/lib/fog/aws/parsers/iam/get_role_policy.rb +28 -0
  364. data/lib/fog/aws/parsers/iam/get_user.rb +26 -0
  365. data/lib/fog/aws/parsers/iam/get_user_policy.rb +30 -0
  366. data/lib/fog/aws/parsers/iam/instance_profile.rb +28 -0
  367. data/lib/fog/aws/parsers/iam/list_access_keys.rb +28 -0
  368. data/lib/fog/aws/parsers/iam/list_account_aliases.rb +24 -0
  369. data/lib/fog/aws/parsers/iam/list_groups.rb +28 -0
  370. data/lib/fog/aws/parsers/iam/list_groups_for_user.rb +28 -0
  371. data/lib/fog/aws/parsers/iam/list_instance_profiles.rb +29 -0
  372. data/lib/fog/aws/parsers/iam/list_mfa_devices.rb +30 -0
  373. data/lib/fog/aws/parsers/iam/list_policies.rb +24 -0
  374. data/lib/fog/aws/parsers/iam/list_roles.rb +29 -0
  375. data/lib/fog/aws/parsers/iam/list_server_certificates.rb +34 -0
  376. data/lib/fog/aws/parsers/iam/list_signing_certificates.rb +28 -0
  377. data/lib/fog/aws/parsers/iam/list_users.rb +30 -0
  378. data/lib/fog/aws/parsers/iam/login_profile.rb +24 -0
  379. data/lib/fog/aws/parsers/iam/role_parser.rb +49 -0
  380. data/lib/fog/aws/parsers/iam/single_role.rb +27 -0
  381. data/lib/fog/aws/parsers/iam/update_group.rb +23 -0
  382. data/lib/fog/aws/parsers/iam/update_user.rb +24 -0
  383. data/lib/fog/aws/parsers/iam/upload_server_certificate.rb +24 -0
  384. data/lib/fog/aws/parsers/iam/upload_signing_certificate.rb +22 -0
  385. data/lib/fog/aws/parsers/rds/authorize_db_security_group_ingress.rb +32 -0
  386. data/lib/fog/aws/parsers/rds/base.rb +28 -0
  387. data/lib/fog/aws/parsers/rds/create_db_instance.rb +32 -0
  388. data/lib/fog/aws/parsers/rds/create_db_instance_read_replica.rb +32 -0
  389. data/lib/fog/aws/parsers/rds/create_db_parameter_group.rb +33 -0
  390. data/lib/fog/aws/parsers/rds/create_db_security_group.rb +32 -0
  391. data/lib/fog/aws/parsers/rds/create_db_snapshot.rb +32 -0
  392. data/lib/fog/aws/parsers/rds/create_db_subnet_group.rb +32 -0
  393. data/lib/fog/aws/parsers/rds/create_event_subscription.rb +32 -0
  394. data/lib/fog/aws/parsers/rds/db_engine_version_parser.rb +32 -0
  395. data/lib/fog/aws/parsers/rds/db_parser.rb +136 -0
  396. data/lib/fog/aws/parsers/rds/delete_db_instance.rb +33 -0
  397. data/lib/fog/aws/parsers/rds/delete_db_parameter_group.rb +25 -0
  398. data/lib/fog/aws/parsers/rds/delete_db_security_group.rb +29 -0
  399. data/lib/fog/aws/parsers/rds/delete_db_snapshot.rb +32 -0
  400. data/lib/fog/aws/parsers/rds/delete_db_subnet_group.rb +29 -0
  401. data/lib/fog/aws/parsers/rds/delete_event_subscription.rb +29 -0
  402. data/lib/fog/aws/parsers/rds/describe_db_engine_versions.rb +34 -0
  403. data/lib/fog/aws/parsers/rds/describe_db_instances.rb +34 -0
  404. data/lib/fog/aws/parsers/rds/describe_db_log_files.rb +42 -0
  405. data/lib/fog/aws/parsers/rds/describe_db_parameter_groups.rb +33 -0
  406. data/lib/fog/aws/parsers/rds/describe_db_parameters.rb +42 -0
  407. data/lib/fog/aws/parsers/rds/describe_db_reserved_instances.rb +38 -0
  408. data/lib/fog/aws/parsers/rds/describe_db_security_groups.rb +34 -0
  409. data/lib/fog/aws/parsers/rds/describe_db_snapshots.rb +34 -0
  410. data/lib/fog/aws/parsers/rds/describe_db_subnet_groups.rb +34 -0
  411. data/lib/fog/aws/parsers/rds/describe_event_subscriptions.rb +34 -0
  412. data/lib/fog/aws/parsers/rds/describe_orderable_db_instance_options.rb +45 -0
  413. data/lib/fog/aws/parsers/rds/download_db_logfile_portion.rb +22 -0
  414. data/lib/fog/aws/parsers/rds/event_list.rb +38 -0
  415. data/lib/fog/aws/parsers/rds/event_subscription_parser.rb +37 -0
  416. data/lib/fog/aws/parsers/rds/modify_db_instance.rb +32 -0
  417. data/lib/fog/aws/parsers/rds/modify_db_parameter_group.rb +26 -0
  418. data/lib/fog/aws/parsers/rds/promote_read_replica.rb +32 -0
  419. data/lib/fog/aws/parsers/rds/reboot_db_instance.rb +33 -0
  420. data/lib/fog/aws/parsers/rds/restore_db_instance_from_db_snapshot.rb +32 -0
  421. data/lib/fog/aws/parsers/rds/restore_db_instance_to_point_in_time.rb +32 -0
  422. data/lib/fog/aws/parsers/rds/revoke_db_security_group_ingress.rb +32 -0
  423. data/lib/fog/aws/parsers/rds/security_group_parser.rb +36 -0
  424. data/lib/fog/aws/parsers/rds/snapshot_parser.rb +39 -0
  425. data/lib/fog/aws/parsers/rds/subnet_group_parser.rb +35 -0
  426. data/lib/fog/aws/parsers/rds/tag_list_parser.rb +33 -0
  427. data/lib/fog/aws/parsers/redshift/cluster.rb +28 -0
  428. data/lib/fog/aws/parsers/redshift/cluster_parser.rb +143 -0
  429. data/lib/fog/aws/parsers/redshift/cluster_security_group_parser.rb +49 -0
  430. data/lib/fog/aws/parsers/redshift/cluster_snapshot.rb +31 -0
  431. data/lib/fog/aws/parsers/redshift/cluster_snapshot_parser.rb +65 -0
  432. data/lib/fog/aws/parsers/redshift/cluster_subnet_group_parser.rb +50 -0
  433. data/lib/fog/aws/parsers/redshift/create_cluster_parameter_group.rb +29 -0
  434. data/lib/fog/aws/parsers/redshift/create_cluster_security_group.rb +30 -0
  435. data/lib/fog/aws/parsers/redshift/describe_cluster_parameter_groups.rb +40 -0
  436. data/lib/fog/aws/parsers/redshift/describe_cluster_parameters.rb +47 -0
  437. data/lib/fog/aws/parsers/redshift/describe_cluster_security_groups.rb +37 -0
  438. data/lib/fog/aws/parsers/redshift/describe_cluster_snapshots.rb +37 -0
  439. data/lib/fog/aws/parsers/redshift/describe_cluster_subnet_groups.rb +55 -0
  440. data/lib/fog/aws/parsers/redshift/describe_cluster_versions.rb +50 -0
  441. data/lib/fog/aws/parsers/redshift/describe_clusters.rb +29 -0
  442. data/lib/fog/aws/parsers/redshift/describe_default_cluster_parameters.rb +48 -0
  443. data/lib/fog/aws/parsers/redshift/describe_events.rb +43 -0
  444. data/lib/fog/aws/parsers/redshift/describe_orderable_cluster_options.rb +53 -0
  445. data/lib/fog/aws/parsers/redshift/describe_reserved_node_offerings.rb +63 -0
  446. data/lib/fog/aws/parsers/redshift/describe_reserved_nodes.rb +70 -0
  447. data/lib/fog/aws/parsers/redshift/describe_resize.rb +58 -0
  448. data/lib/fog/aws/parsers/redshift/purchase_reserved_node_offering.rb +56 -0
  449. data/lib/fog/aws/parsers/redshift/revoke_cluster_security_group_ingress.rb +30 -0
  450. data/lib/fog/aws/parsers/redshift/update_cluster_parameter_group_parser.rb +28 -0
  451. data/lib/fog/aws/parsers/ses/delete_verified_email_address.rb +20 -0
  452. data/lib/fog/aws/parsers/ses/get_send_quota.rb +22 -0
  453. data/lib/fog/aws/parsers/ses/get_send_statistics.rb +26 -0
  454. data/lib/fog/aws/parsers/ses/list_verified_email_addresses.rb +22 -0
  455. data/lib/fog/aws/parsers/ses/send_email.rb +22 -0
  456. data/lib/fog/aws/parsers/ses/send_raw_email.rb +22 -0
  457. data/lib/fog/aws/parsers/ses/verify_domain_identity.rb +22 -0
  458. data/lib/fog/aws/parsers/ses/verify_email_address.rb +20 -0
  459. data/lib/fog/aws/parsers/simpledb/basic.rb +27 -0
  460. data/lib/fog/aws/parsers/simpledb/domain_metadata.rb +28 -0
  461. data/lib/fog/aws/parsers/simpledb/get_attributes.rb +32 -0
  462. data/lib/fog/aws/parsers/simpledb/list_domains.rb +26 -0
  463. data/lib/fog/aws/parsers/simpledb/select.rb +37 -0
  464. data/lib/fog/aws/parsers/sns/add_permission.rb +20 -0
  465. data/lib/fog/aws/parsers/sns/confirm_subscription.rb +20 -0
  466. data/lib/fog/aws/parsers/sns/create_topic.rb +20 -0
  467. data/lib/fog/aws/parsers/sns/delete_topic.rb +20 -0
  468. data/lib/fog/aws/parsers/sns/get_topic_attributes.rb +29 -0
  469. data/lib/fog/aws/parsers/sns/list_subscriptions.rb +26 -0
  470. data/lib/fog/aws/parsers/sns/list_topics.rb +22 -0
  471. data/lib/fog/aws/parsers/sns/publish.rb +20 -0
  472. data/lib/fog/aws/parsers/sns/remove_permission.rb +20 -0
  473. data/lib/fog/aws/parsers/sns/set_topic_attributes.rb +20 -0
  474. data/lib/fog/aws/parsers/sns/subscribe.rb +20 -0
  475. data/lib/fog/aws/parsers/sns/unsubscribe.rb +20 -0
  476. data/lib/fog/aws/parsers/sqs/basic.rb +20 -0
  477. data/lib/fog/aws/parsers/sqs/create_queue.rb +22 -0
  478. data/lib/fog/aws/parsers/sqs/get_queue_attributes.rb +31 -0
  479. data/lib/fog/aws/parsers/sqs/list_queues.rb +22 -0
  480. data/lib/fog/aws/parsers/sqs/receive_message.rb +37 -0
  481. data/lib/fog/aws/parsers/sqs/send_message.rb +24 -0
  482. data/lib/fog/aws/parsers/storage/access_control_list.rb +42 -0
  483. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +20 -0
  484. data/lib/fog/aws/parsers/storage/copy_object.rb +18 -0
  485. data/lib/fog/aws/parsers/storage/cors_configuration.rb +38 -0
  486. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +45 -0
  487. data/lib/fog/aws/parsers/storage/get_bucket.rb +58 -0
  488. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +64 -0
  489. data/lib/fog/aws/parsers/storage/get_bucket_location.rb +16 -0
  490. data/lib/fog/aws/parsers/storage/get_bucket_logging.rb +36 -0
  491. data/lib/fog/aws/parsers/storage/get_bucket_notification.rb +61 -0
  492. data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +84 -0
  493. data/lib/fog/aws/parsers/storage/get_bucket_tagging.rb +33 -0
  494. data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +20 -0
  495. data/lib/fog/aws/parsers/storage/get_bucket_website.rb +26 -0
  496. data/lib/fog/aws/parsers/storage/get_request_payment.rb +16 -0
  497. data/lib/fog/aws/parsers/storage/get_service.rb +28 -0
  498. data/lib/fog/aws/parsers/storage/initiate_multipart_upload.rb +20 -0
  499. data/lib/fog/aws/parsers/storage/list_multipart_uploads.rb +52 -0
  500. data/lib/fog/aws/parsers/storage/list_parts.rb +36 -0
  501. data/lib/fog/aws/parsers/sts/assume_role.rb +26 -0
  502. data/lib/fog/aws/parsers/sts/assume_role_with_saml.rb +26 -0
  503. data/lib/fog/aws/parsers/sts/get_session_token.rb +26 -0
  504. data/lib/fog/aws/rds.rb +269 -0
  505. data/lib/fog/aws/redshift.rb +133 -0
  506. data/lib/fog/aws/region_methods.rb +11 -0
  507. data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +140 -0
  508. data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +114 -0
  509. data/lib/fog/aws/requests/auto_scaling/create_or_update_tags.rb +57 -0
  510. data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +55 -0
  511. data/lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb +51 -0
  512. data/lib/fog/aws/requests/auto_scaling/delete_notification_configuration.rb +58 -0
  513. data/lib/fog/aws/requests/auto_scaling/delete_policy.rb +50 -0
  514. data/lib/fog/aws/requests/auto_scaling/delete_scheduled_action.rb +42 -0
  515. data/lib/fog/aws/requests/auto_scaling/delete_tags.rb +57 -0
  516. data/lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb +48 -0
  517. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +134 -0
  518. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb +89 -0
  519. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_notification_types.rb +50 -0
  520. data/lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb +112 -0
  521. data/lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb +56 -0
  522. data/lib/fog/aws/requests/auto_scaling/describe_notification_configurations.rb +73 -0
  523. data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +105 -0
  524. data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +82 -0
  525. data/lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb +49 -0
  526. data/lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb +82 -0
  527. data/lib/fog/aws/requests/auto_scaling/describe_tags.rb +68 -0
  528. data/lib/fog/aws/requests/auto_scaling/describe_termination_policy_types.rb +47 -0
  529. data/lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb +50 -0
  530. data/lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb +60 -0
  531. data/lib/fog/aws/requests/auto_scaling/execute_policy.rb +44 -0
  532. data/lib/fog/aws/requests/auto_scaling/put_notification_configuration.rb +64 -0
  533. data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +79 -0
  534. data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +64 -0
  535. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +53 -0
  536. data/lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb +81 -0
  537. data/lib/fog/aws/requests/auto_scaling/set_instance_health.rb +49 -0
  538. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +56 -0
  539. data/lib/fog/aws/requests/auto_scaling/terminate_instance_in_auto_scaling_group.rb +59 -0
  540. data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +93 -0
  541. data/lib/fog/aws/requests/beanstalk/check_dns_availability.rb +26 -0
  542. data/lib/fog/aws/requests/beanstalk/create_application.rb +28 -0
  543. data/lib/fog/aws/requests/beanstalk/create_application_version.rb +40 -0
  544. data/lib/fog/aws/requests/beanstalk/create_configuration_template.rb +46 -0
  545. data/lib/fog/aws/requests/beanstalk/create_environment.rb +49 -0
  546. data/lib/fog/aws/requests/beanstalk/create_storage_location.rb +26 -0
  547. data/lib/fog/aws/requests/beanstalk/delete_application.rb +28 -0
  548. data/lib/fog/aws/requests/beanstalk/delete_application_version.rb +35 -0
  549. data/lib/fog/aws/requests/beanstalk/delete_configuration_template.rb +33 -0
  550. data/lib/fog/aws/requests/beanstalk/delete_environment_configuration.rb +33 -0
  551. data/lib/fog/aws/requests/beanstalk/describe_application_versions.rb +33 -0
  552. data/lib/fog/aws/requests/beanstalk/describe_applications.rb +29 -0
  553. data/lib/fog/aws/requests/beanstalk/describe_configuration_options.rb +39 -0
  554. data/lib/fog/aws/requests/beanstalk/describe_configuration_settings.rb +30 -0
  555. data/lib/fog/aws/requests/beanstalk/describe_environment_resources.rb +28 -0
  556. data/lib/fog/aws/requests/beanstalk/describe_environments.rb +39 -0
  557. data/lib/fog/aws/requests/beanstalk/describe_events.rb +28 -0
  558. data/lib/fog/aws/requests/beanstalk/list_available_solution_stacks.rb +26 -0
  559. data/lib/fog/aws/requests/beanstalk/rebuild_environment.rb +29 -0
  560. data/lib/fog/aws/requests/beanstalk/request_environment_info.rb +28 -0
  561. data/lib/fog/aws/requests/beanstalk/restart_app_server.rb +28 -0
  562. data/lib/fog/aws/requests/beanstalk/retrieve_environment_info.rb +28 -0
  563. data/lib/fog/aws/requests/beanstalk/swap_environment_cnames.rb +28 -0
  564. data/lib/fog/aws/requests/beanstalk/terminate_environment.rb +30 -0
  565. data/lib/fog/aws/requests/beanstalk/update_application.rb +29 -0
  566. data/lib/fog/aws/requests/beanstalk/update_application_version.rb +29 -0
  567. data/lib/fog/aws/requests/beanstalk/update_configuration_template.rb +35 -0
  568. data/lib/fog/aws/requests/beanstalk/update_environment.rb +41 -0
  569. data/lib/fog/aws/requests/beanstalk/validate_configuration_settings.rb +32 -0
  570. data/lib/fog/aws/requests/cdn/delete_distribution.rb +52 -0
  571. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +51 -0
  572. data/lib/fog/aws/requests/cdn/get_distribution.rb +78 -0
  573. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +81 -0
  574. data/lib/fog/aws/requests/cdn/get_invalidation.rb +58 -0
  575. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +76 -0
  576. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +69 -0
  577. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +81 -0
  578. data/lib/fog/aws/requests/cdn/post_distribution.rb +130 -0
  579. data/lib/fog/aws/requests/cdn/post_invalidation.rb +75 -0
  580. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +115 -0
  581. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +116 -0
  582. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +105 -0
  583. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +88 -0
  584. data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +25 -0
  585. data/lib/fog/aws/requests/cloud_formation/describe_stack_events.rb +39 -0
  586. data/lib/fog/aws/requests/cloud_formation/describe_stack_resources.rb +38 -0
  587. data/lib/fog/aws/requests/cloud_formation/describe_stacks.rb +37 -0
  588. data/lib/fog/aws/requests/cloud_formation/get_template.rb +27 -0
  589. data/lib/fog/aws/requests/cloud_formation/list_stack_resources.rb +34 -0
  590. data/lib/fog/aws/requests/cloud_formation/list_stacks.rb +35 -0
  591. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +56 -0
  592. data/lib/fog/aws/requests/cloud_formation/validate_template.rb +29 -0
  593. data/lib/fog/aws/requests/cloud_watch/delete_alarms.rb +47 -0
  594. data/lib/fog/aws/requests/cloud_watch/describe_alarm_history.rb +32 -0
  595. data/lib/fog/aws/requests/cloud_watch/describe_alarms.rb +55 -0
  596. data/lib/fog/aws/requests/cloud_watch/describe_alarms_for_metric.rb +38 -0
  597. data/lib/fog/aws/requests/cloud_watch/disable_alarm_actions.rb +29 -0
  598. data/lib/fog/aws/requests/cloud_watch/enable_alarm_actions.rb +29 -0
  599. data/lib/fog/aws/requests/cloud_watch/get_metric_statistics.rb +46 -0
  600. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +62 -0
  601. data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +93 -0
  602. data/lib/fog/aws/requests/cloud_watch/put_metric_data.rb +72 -0
  603. data/lib/fog/aws/requests/cloud_watch/set_alarm_state.rb +30 -0
  604. data/lib/fog/aws/requests/compute/allocate_address.rb +55 -0
  605. data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +55 -0
  606. data/lib/fog/aws/requests/compute/associate_address.rb +126 -0
  607. data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +53 -0
  608. data/lib/fog/aws/requests/compute/associate_route_table.rb +70 -0
  609. data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +52 -0
  610. data/lib/fog/aws/requests/compute/attach_network_interface.rb +61 -0
  611. data/lib/fog/aws/requests/compute/attach_volume.rb +83 -0
  612. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +230 -0
  613. data/lib/fog/aws/requests/compute/cancel_spot_instance_requests.rb +32 -0
  614. data/lib/fog/aws/requests/compute/copy_image.rb +59 -0
  615. data/lib/fog/aws/requests/compute/copy_snapshot.rb +54 -0
  616. data/lib/fog/aws/requests/compute/create_dhcp_options.rb +74 -0
  617. data/lib/fog/aws/requests/compute/create_image.rb +91 -0
  618. data/lib/fog/aws/requests/compute/create_internet_gateway.rb +52 -0
  619. data/lib/fog/aws/requests/compute/create_key_pair.rb +52 -0
  620. data/lib/fog/aws/requests/compute/create_network_acl.rb +105 -0
  621. data/lib/fog/aws/requests/compute/create_network_acl_entry.rb +80 -0
  622. data/lib/fog/aws/requests/compute/create_network_interface.rb +134 -0
  623. data/lib/fog/aws/requests/compute/create_placement_group.rb +31 -0
  624. data/lib/fog/aws/requests/compute/create_route.rb +87 -0
  625. data/lib/fog/aws/requests/compute/create_route_table.rb +69 -0
  626. data/lib/fog/aws/requests/compute/create_security_group.rb +60 -0
  627. data/lib/fog/aws/requests/compute/create_snapshot.rb +70 -0
  628. data/lib/fog/aws/requests/compute/create_spot_datafeed_subscription.rb +39 -0
  629. data/lib/fog/aws/requests/compute/create_subnet.rb +102 -0
  630. data/lib/fog/aws/requests/compute/create_tags.rb +65 -0
  631. data/lib/fog/aws/requests/compute/create_volume.rb +124 -0
  632. data/lib/fog/aws/requests/compute/create_vpc.rb +94 -0
  633. data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +50 -0
  634. data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +48 -0
  635. data/lib/fog/aws/requests/compute/delete_key_pair.rb +43 -0
  636. data/lib/fog/aws/requests/compute/delete_network_acl.rb +52 -0
  637. data/lib/fog/aws/requests/compute/delete_network_acl_entry.rb +55 -0
  638. data/lib/fog/aws/requests/compute/delete_network_interface.rb +51 -0
  639. data/lib/fog/aws/requests/compute/delete_placement_group.rb +30 -0
  640. data/lib/fog/aws/requests/compute/delete_route.rb +57 -0
  641. data/lib/fog/aws/requests/compute/delete_route_table.rb +49 -0
  642. data/lib/fog/aws/requests/compute/delete_security_group.rb +100 -0
  643. data/lib/fog/aws/requests/compute/delete_snapshot.rb +46 -0
  644. data/lib/fog/aws/requests/compute/delete_spot_datafeed_subscription.rb +26 -0
  645. data/lib/fog/aws/requests/compute/delete_subnet.rb +49 -0
  646. data/lib/fog/aws/requests/compute/delete_tags.rb +67 -0
  647. data/lib/fog/aws/requests/compute/delete_volume.rb +52 -0
  648. data/lib/fog/aws/requests/compute/delete_vpc.rb +56 -0
  649. data/lib/fog/aws/requests/compute/deregister_image.rb +49 -0
  650. data/lib/fog/aws/requests/compute/describe_account_attributes.rb +48 -0
  651. data/lib/fog/aws/requests/compute/describe_addresses.rb +62 -0
  652. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +94 -0
  653. data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +54 -0
  654. data/lib/fog/aws/requests/compute/describe_images.rb +126 -0
  655. data/lib/fog/aws/requests/compute/describe_instance_status.rb +46 -0
  656. data/lib/fog/aws/requests/compute/describe_instances.rb +265 -0
  657. data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +59 -0
  658. data/lib/fog/aws/requests/compute/describe_key_pairs.rb +64 -0
  659. data/lib/fog/aws/requests/compute/describe_network_acls.rb +108 -0
  660. data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +66 -0
  661. data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +85 -0
  662. data/lib/fog/aws/requests/compute/describe_placement_groups.rb +33 -0
  663. data/lib/fog/aws/requests/compute/describe_regions.rb +64 -0
  664. data/lib/fog/aws/requests/compute/describe_reserved_instances.rb +59 -0
  665. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +80 -0
  666. data/lib/fog/aws/requests/compute/describe_route_tables.rb +86 -0
  667. data/lib/fog/aws/requests/compute/describe_security_groups.rb +98 -0
  668. data/lib/fog/aws/requests/compute/describe_snapshots.rb +120 -0
  669. data/lib/fog/aws/requests/compute/describe_spot_datafeed_subscription.rb +33 -0
  670. data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +46 -0
  671. data/lib/fog/aws/requests/compute/describe_spot_price_history.rb +35 -0
  672. data/lib/fog/aws/requests/compute/describe_subnets.rb +71 -0
  673. data/lib/fog/aws/requests/compute/describe_tags.rb +104 -0
  674. data/lib/fog/aws/requests/compute/describe_volume_status.rb +43 -0
  675. data/lib/fog/aws/requests/compute/describe_volumes.rb +118 -0
  676. data/lib/fog/aws/requests/compute/describe_vpc_attribute.rb +55 -0
  677. data/lib/fog/aws/requests/compute/describe_vpcs.rb +74 -0
  678. data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +52 -0
  679. data/lib/fog/aws/requests/compute/detach_network_interface.rb +48 -0
  680. data/lib/fog/aws/requests/compute/detach_volume.rb +61 -0
  681. data/lib/fog/aws/requests/compute/disassociate_address.rb +55 -0
  682. data/lib/fog/aws/requests/compute/disassociate_route_table.rb +54 -0
  683. data/lib/fog/aws/requests/compute/get_console_output.rb +50 -0
  684. data/lib/fog/aws/requests/compute/get_password_data.rb +52 -0
  685. data/lib/fog/aws/requests/compute/import_key_pair.rb +52 -0
  686. data/lib/fog/aws/requests/compute/modify_image_attribute.rb +70 -0
  687. data/lib/fog/aws/requests/compute/modify_instance_attribute.rb +42 -0
  688. data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +89 -0
  689. data/lib/fog/aws/requests/compute/modify_snapshot_attribute.rb +35 -0
  690. data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +58 -0
  691. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +48 -0
  692. data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +66 -0
  693. data/lib/fog/aws/requests/compute/monitor_instances.rb +48 -0
  694. data/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +62 -0
  695. data/lib/fog/aws/requests/compute/reboot_instances.rb +50 -0
  696. data/lib/fog/aws/requests/compute/register_image.rb +133 -0
  697. data/lib/fog/aws/requests/compute/release_address.rb +59 -0
  698. data/lib/fog/aws/requests/compute/replace_network_acl_association.rb +66 -0
  699. data/lib/fog/aws/requests/compute/replace_network_acl_entry.rb +81 -0
  700. data/lib/fog/aws/requests/compute/replace_route.rb +80 -0
  701. data/lib/fog/aws/requests/compute/request_spot_instances.rb +96 -0
  702. data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +56 -0
  703. data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +98 -0
  704. data/lib/fog/aws/requests/compute/run_instances.rb +274 -0
  705. data/lib/fog/aws/requests/compute/start_instances.rb +58 -0
  706. data/lib/fog/aws/requests/compute/stop_instances.rb +59 -0
  707. data/lib/fog/aws/requests/compute/terminate_instances.rb +92 -0
  708. data/lib/fog/aws/requests/compute/unmonitor_instances.rb +48 -0
  709. data/lib/fog/aws/requests/data_pipeline/activate_pipeline.rb +31 -0
  710. data/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +39 -0
  711. data/lib/fog/aws/requests/data_pipeline/delete_pipeline.rb +30 -0
  712. data/lib/fog/aws/requests/data_pipeline/describe_objects.rb +38 -0
  713. data/lib/fog/aws/requests/data_pipeline/describe_pipelines.rb +32 -0
  714. data/lib/fog/aws/requests/data_pipeline/get_pipeline_definition.rb +33 -0
  715. data/lib/fog/aws/requests/data_pipeline/list_pipelines.rb +32 -0
  716. data/lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb +76 -0
  717. data/lib/fog/aws/requests/data_pipeline/query_objects.rb +38 -0
  718. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +243 -0
  719. data/lib/fog/aws/requests/dns/create_health_check.rb +64 -0
  720. data/lib/fog/aws/requests/dns/create_hosted_zone.rb +108 -0
  721. data/lib/fog/aws/requests/dns/delete_health_check.rb +24 -0
  722. data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +66 -0
  723. data/lib/fog/aws/requests/dns/get_change.rb +59 -0
  724. data/lib/fog/aws/requests/dns/get_health_check.rb +41 -0
  725. data/lib/fog/aws/requests/dns/get_hosted_zone.rb +61 -0
  726. data/lib/fog/aws/requests/dns/list_health_checks.rb +36 -0
  727. data/lib/fog/aws/requests/dns/list_hosted_zones.rb +88 -0
  728. data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +130 -0
  729. data/lib/fog/aws/requests/dynamodb/batch_get_item.rb +41 -0
  730. data/lib/fog/aws/requests/dynamodb/batch_write_item.rb +33 -0
  731. data/lib/fog/aws/requests/dynamodb/create_table.rb +53 -0
  732. data/lib/fog/aws/requests/dynamodb/delete_item.rb +43 -0
  733. data/lib/fog/aws/requests/dynamodb/delete_table.rb +40 -0
  734. data/lib/fog/aws/requests/dynamodb/describe_table.rb +42 -0
  735. data/lib/fog/aws/requests/dynamodb/get_item.rb +41 -0
  736. data/lib/fog/aws/requests/dynamodb/list_tables.rb +27 -0
  737. data/lib/fog/aws/requests/dynamodb/put_item.rb +39 -0
  738. data/lib/fog/aws/requests/dynamodb/query.rb +42 -0
  739. data/lib/fog/aws/requests/dynamodb/scan.rb +43 -0
  740. data/lib/fog/aws/requests/dynamodb/update_item.rb +47 -0
  741. data/lib/fog/aws/requests/dynamodb/update_table.rb +44 -0
  742. data/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +57 -0
  743. data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +94 -0
  744. data/lib/fog/aws/requests/elasticache/create_cache_parameter_group.rb +52 -0
  745. data/lib/fog/aws/requests/elasticache/create_cache_security_group.rb +51 -0
  746. data/lib/fog/aws/requests/elasticache/create_cache_subnet_group.rb +60 -0
  747. data/lib/fog/aws/requests/elasticache/delete_cache_cluster.rb +38 -0
  748. data/lib/fog/aws/requests/elasticache/delete_cache_parameter_group.rb +40 -0
  749. data/lib/fog/aws/requests/elasticache/delete_cache_security_group.rb +39 -0
  750. data/lib/fog/aws/requests/elasticache/delete_cache_subnet_group.rb +39 -0
  751. data/lib/fog/aws/requests/elasticache/describe_cache_clusters.rb +51 -0
  752. data/lib/fog/aws/requests/elasticache/describe_cache_parameter_groups.rb +47 -0
  753. data/lib/fog/aws/requests/elasticache/describe_cache_parameters.rb +34 -0
  754. data/lib/fog/aws/requests/elasticache/describe_cache_security_groups.rb +64 -0
  755. data/lib/fog/aws/requests/elasticache/describe_cache_subnet_groups.rb +59 -0
  756. data/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +33 -0
  757. data/lib/fog/aws/requests/elasticache/describe_events.rb +47 -0
  758. data/lib/fog/aws/requests/elasticache/describe_reserved_cache_nodes.rb +38 -0
  759. data/lib/fog/aws/requests/elasticache/modify_cache_cluster.rb +99 -0
  760. data/lib/fog/aws/requests/elasticache/modify_cache_parameter_group.rb +43 -0
  761. data/lib/fog/aws/requests/elasticache/reboot_cache_cluster.rb +49 -0
  762. data/lib/fog/aws/requests/elasticache/reset_cache_parameter_group.rb +44 -0
  763. data/lib/fog/aws/requests/elasticache/revoke_cache_security_group_ingress.rb +35 -0
  764. data/lib/fog/aws/requests/elb/add_tags.rb +46 -0
  765. data/lib/fog/aws/requests/elb/apply_security_groups_to_load_balancer.rb +58 -0
  766. data/lib/fog/aws/requests/elb/attach_load_balancer_to_subnets.rb +58 -0
  767. data/lib/fog/aws/requests/elb/configure_health_check.rb +63 -0
  768. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +52 -0
  769. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +54 -0
  770. data/lib/fog/aws/requests/elb/create_load_balancer.rb +206 -0
  771. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +86 -0
  772. data/lib/fog/aws/requests/elb/create_load_balancer_policy.rb +80 -0
  773. data/lib/fog/aws/requests/elb/delete_load_balancer.rb +49 -0
  774. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +48 -0
  775. data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +52 -0
  776. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +61 -0
  777. data/lib/fog/aws/requests/elb/describe_instance_health.rb +70 -0
  778. data/lib/fog/aws/requests/elb/describe_load_balancer_attributes.rb +58 -0
  779. data/lib/fog/aws/requests/elb/describe_load_balancer_policies.rb +69 -0
  780. data/lib/fog/aws/requests/elb/describe_load_balancer_policy_types.rb +66 -0
  781. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +137 -0
  782. data/lib/fog/aws/requests/elb/describe_tags.rb +56 -0
  783. data/lib/fog/aws/requests/elb/detach_load_balancer_from_subnets.rb +58 -0
  784. data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +57 -0
  785. data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +58 -0
  786. data/lib/fog/aws/requests/elb/modify_load_balancer_attributes.rb +65 -0
  787. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +62 -0
  788. data/lib/fog/aws/requests/elb/remove_tags.rb +46 -0
  789. data/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +65 -0
  790. data/lib/fog/aws/requests/elb/set_load_balancer_policies_for_backend_server.rb +66 -0
  791. data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +78 -0
  792. data/lib/fog/aws/requests/emr/add_instance_groups.rb +42 -0
  793. data/lib/fog/aws/requests/emr/add_job_flow_steps.rb +45 -0
  794. data/lib/fog/aws/requests/emr/describe_job_flows.rb +104 -0
  795. data/lib/fog/aws/requests/emr/modify_instance_groups.rb +36 -0
  796. data/lib/fog/aws/requests/emr/run_job_flow.rb +104 -0
  797. data/lib/fog/aws/requests/emr/set_termination_protection.rb +35 -0
  798. data/lib/fog/aws/requests/emr/terminate_job_flows.rb +33 -0
  799. data/lib/fog/aws/requests/glacier/abort_multipart_upload.rb +33 -0
  800. data/lib/fog/aws/requests/glacier/complete_multipart_upload.rb +40 -0
  801. data/lib/fog/aws/requests/glacier/create_archive.rb +41 -0
  802. data/lib/fog/aws/requests/glacier/create_vault.rb +32 -0
  803. data/lib/fog/aws/requests/glacier/delete_archive.rb +33 -0
  804. data/lib/fog/aws/requests/glacier/delete_vault.rb +32 -0
  805. data/lib/fog/aws/requests/glacier/delete_vault_notification_configuration.rb +31 -0
  806. data/lib/fog/aws/requests/glacier/describe_job.rb +33 -0
  807. data/lib/fog/aws/requests/glacier/describe_vault.rb +32 -0
  808. data/lib/fog/aws/requests/glacier/get_job_output.rb +39 -0
  809. data/lib/fog/aws/requests/glacier/get_vault_notification_configuration.rb +32 -0
  810. data/lib/fog/aws/requests/glacier/initiate_job.rb +39 -0
  811. data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +36 -0
  812. data/lib/fog/aws/requests/glacier/list_jobs.rb +36 -0
  813. data/lib/fog/aws/requests/glacier/list_multipart_uploads.rb +34 -0
  814. data/lib/fog/aws/requests/glacier/list_parts.rb +35 -0
  815. data/lib/fog/aws/requests/glacier/list_vaults.rb +34 -0
  816. data/lib/fog/aws/requests/glacier/set_vault_notification_configuration.rb +35 -0
  817. data/lib/fog/aws/requests/glacier/upload_part.rb +44 -0
  818. data/lib/fog/aws/requests/iam/add_role_to_instance_profile.rb +32 -0
  819. data/lib/fog/aws/requests/iam/add_user_to_group.rb +54 -0
  820. data/lib/fog/aws/requests/iam/create_access_key.rb +66 -0
  821. data/lib/fog/aws/requests/iam/create_account_alias.rb +17 -0
  822. data/lib/fog/aws/requests/iam/create_group.rb +56 -0
  823. data/lib/fog/aws/requests/iam/create_instance_profile.rb +45 -0
  824. data/lib/fog/aws/requests/iam/create_login_profile.rb +34 -0
  825. data/lib/fog/aws/requests/iam/create_role.rb +55 -0
  826. data/lib/fog/aws/requests/iam/create_user.rb +59 -0
  827. data/lib/fog/aws/requests/iam/delete_access_key.rb +47 -0
  828. data/lib/fog/aws/requests/iam/delete_account_alias.rb +17 -0
  829. data/lib/fog/aws/requests/iam/delete_account_password_policy.rb +36 -0
  830. data/lib/fog/aws/requests/iam/delete_group.rb +48 -0
  831. data/lib/fog/aws/requests/iam/delete_group_policy.rb +32 -0
  832. data/lib/fog/aws/requests/iam/delete_instance_profile.rb +30 -0
  833. data/lib/fog/aws/requests/iam/delete_login_profile.rb +29 -0
  834. data/lib/fog/aws/requests/iam/delete_role.rb +30 -0
  835. data/lib/fog/aws/requests/iam/delete_role_policy.rb +32 -0
  836. data/lib/fog/aws/requests/iam/delete_server_certificate.rb +46 -0
  837. data/lib/fog/aws/requests/iam/delete_signing_certificate.rb +31 -0
  838. data/lib/fog/aws/requests/iam/delete_user.rb +44 -0
  839. data/lib/fog/aws/requests/iam/delete_user_policy.rb +46 -0
  840. data/lib/fog/aws/requests/iam/get_account_password_policy.rb +36 -0
  841. data/lib/fog/aws/requests/iam/get_account_summary.rb +75 -0
  842. data/lib/fog/aws/requests/iam/get_group.rb +60 -0
  843. data/lib/fog/aws/requests/iam/get_group_policy.rb +51 -0
  844. data/lib/fog/aws/requests/iam/get_instance_profile.rb +40 -0
  845. data/lib/fog/aws/requests/iam/get_login_profile.rb +33 -0
  846. data/lib/fog/aws/requests/iam/get_role.rb +36 -0
  847. data/lib/fog/aws/requests/iam/get_role_policy.rb +34 -0
  848. data/lib/fog/aws/requests/iam/get_server_certificate.rb +45 -0
  849. data/lib/fog/aws/requests/iam/get_user.rb +55 -0
  850. data/lib/fog/aws/requests/iam/get_user_policy.rb +51 -0
  851. data/lib/fog/aws/requests/iam/list_access_keys.rb +62 -0
  852. data/lib/fog/aws/requests/iam/list_account_aliases.rb +16 -0
  853. data/lib/fog/aws/requests/iam/list_group_policies.rb +37 -0
  854. data/lib/fog/aws/requests/iam/list_groups.rb +57 -0
  855. data/lib/fog/aws/requests/iam/list_groups_for_user.rb +65 -0
  856. data/lib/fog/aws/requests/iam/list_instance_profiles.rb +48 -0
  857. data/lib/fog/aws/requests/iam/list_instance_profiles_for_role.rb +49 -0
  858. data/lib/fog/aws/requests/iam/list_mfa_devices.rb +55 -0
  859. data/lib/fog/aws/requests/iam/list_role_policies.rb +37 -0
  860. data/lib/fog/aws/requests/iam/list_roles.rb +41 -0
  861. data/lib/fog/aws/requests/iam/list_server_certificates.rb +54 -0
  862. data/lib/fog/aws/requests/iam/list_signing_certificates.rb +36 -0
  863. data/lib/fog/aws/requests/iam/list_user_policies.rb +53 -0
  864. data/lib/fog/aws/requests/iam/list_users.rb +58 -0
  865. data/lib/fog/aws/requests/iam/put_group_policy.rb +50 -0
  866. data/lib/fog/aws/requests/iam/put_role_policy.rb +34 -0
  867. data/lib/fog/aws/requests/iam/put_user_policy.rb +51 -0
  868. data/lib/fog/aws/requests/iam/remove_role_from_instance_profile.rb +33 -0
  869. data/lib/fog/aws/requests/iam/remove_user_from_group.rb +50 -0
  870. data/lib/fog/aws/requests/iam/update_access_key.rb +55 -0
  871. data/lib/fog/aws/requests/iam/update_account_password_policy.rb +56 -0
  872. data/lib/fog/aws/requests/iam/update_group.rb +37 -0
  873. data/lib/fog/aws/requests/iam/update_login_profile.rb +31 -0
  874. data/lib/fog/aws/requests/iam/update_server_certificate.rb +63 -0
  875. data/lib/fog/aws/requests/iam/update_signing_certificate.rb +31 -0
  876. data/lib/fog/aws/requests/iam/update_user.rb +37 -0
  877. data/lib/fog/aws/requests/iam/upload_server_certificate.rb +95 -0
  878. data/lib/fog/aws/requests/iam/upload_signing_certificate.rb +36 -0
  879. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +42 -0
  880. data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +65 -0
  881. data/lib/fog/aws/requests/rds/create_db_instance.rb +132 -0
  882. data/lib/fog/aws/requests/rds/create_db_instance_read_replica.rb +77 -0
  883. data/lib/fog/aws/requests/rds/create_db_parameter_group.rb +53 -0
  884. data/lib/fog/aws/requests/rds/create_db_security_group.rb +49 -0
  885. data/lib/fog/aws/requests/rds/create_db_snapshot.rb +68 -0
  886. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +61 -0
  887. data/lib/fog/aws/requests/rds/create_event_subscription.rb +67 -0
  888. data/lib/fog/aws/requests/rds/delete_db_instance.rb +51 -0
  889. data/lib/fog/aws/requests/rds/delete_db_parameter_group.rb +41 -0
  890. data/lib/fog/aws/requests/rds/delete_db_security_group.rb +40 -0
  891. data/lib/fog/aws/requests/rds/delete_db_snapshot.rb +42 -0
  892. data/lib/fog/aws/requests/rds/delete_db_subnet_group.rb +38 -0
  893. data/lib/fog/aws/requests/rds/delete_event_subscription.rb +44 -0
  894. data/lib/fog/aws/requests/rds/describe_db_engine_versions.rb +30 -0
  895. data/lib/fog/aws/requests/rds/describe_db_instances.rb +89 -0
  896. data/lib/fog/aws/requests/rds/describe_db_log_files.rb +64 -0
  897. data/lib/fog/aws/requests/rds/describe_db_parameter_groups.rb +58 -0
  898. data/lib/fog/aws/requests/rds/describe_db_parameters.rb +42 -0
  899. data/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +38 -0
  900. data/lib/fog/aws/requests/rds/describe_db_security_groups.rb +80 -0
  901. data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +66 -0
  902. data/lib/fog/aws/requests/rds/describe_db_subnet_groups.rb +59 -0
  903. data/lib/fog/aws/requests/rds/describe_event_subscriptions.rb +61 -0
  904. data/lib/fog/aws/requests/rds/describe_events.rb +50 -0
  905. data/lib/fog/aws/requests/rds/describe_orderable_db_instance_options.rb +72 -0
  906. data/lib/fog/aws/requests/rds/download_db_logfile_portion.rb +58 -0
  907. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +40 -0
  908. data/lib/fog/aws/requests/rds/modify_db_instance.rb +81 -0
  909. data/lib/fog/aws/requests/rds/modify_db_parameter_group.rb +50 -0
  910. data/lib/fog/aws/requests/rds/promote_read_replica.rb +59 -0
  911. data/lib/fog/aws/requests/rds/reboot_db_instance.rb +47 -0
  912. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +40 -0
  913. data/lib/fog/aws/requests/rds/restore_db_instance_from_db_snapshot.rb +29 -0
  914. data/lib/fog/aws/requests/rds/restore_db_instance_to_point_in_time.rb +29 -0
  915. data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +63 -0
  916. data/lib/fog/aws/requests/redshift/authorize_cluster_security_group_ingress.rb +54 -0
  917. data/lib/fog/aws/requests/redshift/authorize_snapshot_access.rb +42 -0
  918. data/lib/fog/aws/requests/redshift/copy_cluster_snapshot.rb +46 -0
  919. data/lib/fog/aws/requests/redshift/create_cluster.rb +148 -0
  920. data/lib/fog/aws/requests/redshift/create_cluster_parameter_group.rb +53 -0
  921. data/lib/fog/aws/requests/redshift/create_cluster_security_group.rb +41 -0
  922. data/lib/fog/aws/requests/redshift/create_cluster_snapshot.rb +43 -0
  923. data/lib/fog/aws/requests/redshift/create_cluster_subnet_group.rb +49 -0
  924. data/lib/fog/aws/requests/redshift/delete_cluster.rb +50 -0
  925. data/lib/fog/aws/requests/redshift/delete_cluster_parameter_group.rb +33 -0
  926. data/lib/fog/aws/requests/redshift/delete_cluster_security_group.rb +32 -0
  927. data/lib/fog/aws/requests/redshift/delete_cluster_snapshot.rb +43 -0
  928. data/lib/fog/aws/requests/redshift/delete_cluster_subnet_group.rb +36 -0
  929. data/lib/fog/aws/requests/redshift/describe_cluster_parameter_groups.rb +47 -0
  930. data/lib/fog/aws/requests/redshift/describe_cluster_parameters.rb +54 -0
  931. data/lib/fog/aws/requests/redshift/describe_cluster_security_groups.rb +49 -0
  932. data/lib/fog/aws/requests/redshift/describe_cluster_snapshots.rb +72 -0
  933. data/lib/fog/aws/requests/redshift/describe_cluster_subnet_groups.rb +46 -0
  934. data/lib/fog/aws/requests/redshift/describe_cluster_versions.rb +53 -0
  935. data/lib/fog/aws/requests/redshift/describe_clusters.rb +49 -0
  936. data/lib/fog/aws/requests/redshift/describe_default_cluster_parameters.rb +48 -0
  937. data/lib/fog/aws/requests/redshift/describe_events.rb +79 -0
  938. data/lib/fog/aws/requests/redshift/describe_orderable_cluster_options.rb +54 -0
  939. data/lib/fog/aws/requests/redshift/describe_reserved_node_offerings.rb +47 -0
  940. data/lib/fog/aws/requests/redshift/describe_reserved_nodes.rb +47 -0
  941. data/lib/fog/aws/requests/redshift/describe_resize.rb +38 -0
  942. data/lib/fog/aws/requests/redshift/modify_cluster.rb +109 -0
  943. data/lib/fog/aws/requests/redshift/modify_cluster_parameter_group.rb +44 -0
  944. data/lib/fog/aws/requests/redshift/modify_cluster_subnet_group.rb +49 -0
  945. data/lib/fog/aws/requests/redshift/purchase_reserved_node_offering.rb +39 -0
  946. data/lib/fog/aws/requests/redshift/reboot_cluster.rb +36 -0
  947. data/lib/fog/aws/requests/redshift/reset_cluster_parameter_group.rb +55 -0
  948. data/lib/fog/aws/requests/redshift/restore_from_cluster_snapshot.rb +76 -0
  949. data/lib/fog/aws/requests/redshift/revoke_cluster_security_group_ingress.rb +54 -0
  950. data/lib/fog/aws/requests/redshift/revoke_snapshot_access.rb +43 -0
  951. data/lib/fog/aws/requests/ses/delete_verified_email_address.rb +26 -0
  952. data/lib/fog/aws/requests/ses/get_send_quota.rb +29 -0
  953. data/lib/fog/aws/requests/ses/get_send_statistics.rb +32 -0
  954. data/lib/fog/aws/requests/ses/list_verified_email_addresses.rb +26 -0
  955. data/lib/fog/aws/requests/ses/send_email.rb +71 -0
  956. data/lib/fog/aws/requests/ses/send_raw_email.rb +39 -0
  957. data/lib/fog/aws/requests/ses/verify_domain_identity.rb +28 -0
  958. data/lib/fog/aws/requests/ses/verify_email_address.rb +26 -0
  959. data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +60 -0
  960. data/lib/fog/aws/requests/simpledb/create_domain.rb +40 -0
  961. data/lib/fog/aws/requests/simpledb/delete_attributes.rb +69 -0
  962. data/lib/fog/aws/requests/simpledb/delete_domain.rb +41 -0
  963. data/lib/fog/aws/requests/simpledb/domain_metadata.rb +72 -0
  964. data/lib/fog/aws/requests/simpledb/get_attributes.rb +80 -0
  965. data/lib/fog/aws/requests/simpledb/list_domains.rb +55 -0
  966. data/lib/fog/aws/requests/simpledb/put_attributes.rb +74 -0
  967. data/lib/fog/aws/requests/simpledb/select.rb +41 -0
  968. data/lib/fog/aws/requests/sns/add_permission.rb +22 -0
  969. data/lib/fog/aws/requests/sns/confirm_subscription.rb +30 -0
  970. data/lib/fog/aws/requests/sns/create_topic.rb +47 -0
  971. data/lib/fog/aws/requests/sns/delete_topic.rb +36 -0
  972. data/lib/fog/aws/requests/sns/get_topic_attributes.rb +36 -0
  973. data/lib/fog/aws/requests/sns/list_subscriptions.rb +35 -0
  974. data/lib/fog/aws/requests/sns/list_subscriptions_by_topic.rb +39 -0
  975. data/lib/fog/aws/requests/sns/list_topics.rb +35 -0
  976. data/lib/fog/aws/requests/sns/publish.rb +31 -0
  977. data/lib/fog/aws/requests/sns/remove_permission.rb +22 -0
  978. data/lib/fog/aws/requests/sns/set_topic_attributes.rb +45 -0
  979. data/lib/fog/aws/requests/sns/subscribe.rb +60 -0
  980. data/lib/fog/aws/requests/sns/unsubscribe.rb +26 -0
  981. data/lib/fog/aws/requests/sqs/change_message_visibility.rb +58 -0
  982. data/lib/fog/aws/requests/sqs/create_queue.rb +62 -0
  983. data/lib/fog/aws/requests/sqs/delete_message.rb +56 -0
  984. data/lib/fog/aws/requests/sqs/delete_queue.rb +47 -0
  985. data/lib/fog/aws/requests/sqs/get_queue_attributes.rb +48 -0
  986. data/lib/fog/aws/requests/sqs/list_queues.rb +41 -0
  987. data/lib/fog/aws/requests/sqs/receive_message.rb +83 -0
  988. data/lib/fog/aws/requests/sqs/send_message.rb +65 -0
  989. data/lib/fog/aws/requests/sqs/set_queue_attributes.rb +49 -0
  990. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +45 -0
  991. data/lib/fog/aws/requests/storage/acl_utils.rb +60 -0
  992. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +73 -0
  993. data/lib/fog/aws/requests/storage/copy_object.rb +77 -0
  994. data/lib/fog/aws/requests/storage/cors_utils.rb +39 -0
  995. data/lib/fog/aws/requests/storage/delete_bucket.rb +42 -0
  996. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +26 -0
  997. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +26 -0
  998. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +26 -0
  999. data/lib/fog/aws/requests/storage/delete_bucket_tagging.rb +41 -0
  1000. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +26 -0
  1001. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +164 -0
  1002. data/lib/fog/aws/requests/storage/delete_object.rb +115 -0
  1003. data/lib/fog/aws/requests/storage/get_bucket.rb +108 -0
  1004. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +65 -0
  1005. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +61 -0
  1006. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +35 -0
  1007. data/lib/fog/aws/requests/storage/get_bucket_location.rb +55 -0
  1008. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +45 -0
  1009. data/lib/fog/aws/requests/storage/get_bucket_notification.rb +60 -0
  1010. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +160 -0
  1011. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +31 -0
  1012. data/lib/fog/aws/requests/storage/get_bucket_tagging.rb +49 -0
  1013. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +68 -0
  1014. data/lib/fog/aws/requests/storage/get_bucket_website.rb +38 -0
  1015. data/lib/fog/aws/requests/storage/get_object.rb +189 -0
  1016. data/lib/fog/aws/requests/storage/get_object_acl.rb +76 -0
  1017. data/lib/fog/aws/requests/storage/get_object_http_url.rb +30 -0
  1018. data/lib/fog/aws/requests/storage/get_object_https_url.rb +30 -0
  1019. data/lib/fog/aws/requests/storage/get_object_torrent.rb +45 -0
  1020. data/lib/fog/aws/requests/storage/get_object_url.rb +40 -0
  1021. data/lib/fog/aws/requests/storage/get_request_payment.rb +45 -0
  1022. data/lib/fog/aws/requests/storage/get_service.rb +50 -0
  1023. data/lib/fog/aws/requests/storage/head_bucket.rb +38 -0
  1024. data/lib/fog/aws/requests/storage/head_object.rb +62 -0
  1025. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +66 -0
  1026. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +52 -0
  1027. data/lib/fog/aws/requests/storage/list_parts.rb +53 -0
  1028. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +54 -0
  1029. data/lib/fog/aws/requests/storage/post_object_restore.rb +50 -0
  1030. data/lib/fog/aws/requests/storage/put_bucket.rb +73 -0
  1031. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +69 -0
  1032. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +47 -0
  1033. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +76 -0
  1034. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +80 -0
  1035. data/lib/fog/aws/requests/storage/put_bucket_notification.rb +83 -0
  1036. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +25 -0
  1037. data/lib/fog/aws/requests/storage/put_bucket_tagging.rb +55 -0
  1038. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +74 -0
  1039. data/lib/fog/aws/requests/storage/put_bucket_website.rb +87 -0
  1040. data/lib/fog/aws/requests/storage/put_object.rb +87 -0
  1041. data/lib/fog/aws/requests/storage/put_object_acl.rb +78 -0
  1042. data/lib/fog/aws/requests/storage/put_object_url.rb +41 -0
  1043. data/lib/fog/aws/requests/storage/put_request_payment.rb +45 -0
  1044. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +87 -0
  1045. data/lib/fog/aws/requests/storage/sync_clock.rb +24 -0
  1046. data/lib/fog/aws/requests/storage/upload_part.rb +57 -0
  1047. data/lib/fog/aws/requests/sts/assume_role.rb +44 -0
  1048. data/lib/fog/aws/requests/sts/assume_role_with_saml.rb +44 -0
  1049. data/lib/fog/aws/requests/sts/get_federation_token.rb +62 -0
  1050. data/lib/fog/aws/requests/sts/get_session_token.rb +18 -0
  1051. data/lib/fog/aws/ses.rb +141 -0
  1052. data/lib/fog/aws/signaturev4.rb +119 -0
  1053. data/lib/fog/aws/simpledb.rb +211 -0
  1054. data/lib/fog/aws/sns.rb +156 -0
  1055. data/lib/fog/aws/sqs.rb +164 -0
  1056. data/lib/fog/aws/storage.rb +690 -0
  1057. data/lib/fog/aws/sts.rb +185 -0
  1058. data/lib/fog/aws/version.rb +5 -0
  1059. data/tests/credentials_tests.rb +55 -0
  1060. data/tests/helper.rb +28 -0
  1061. data/tests/helpers/collection_helper.rb +97 -0
  1062. data/tests/helpers/compute/flavors_helper.rb +32 -0
  1063. data/tests/helpers/compute/server_helper.rb +25 -0
  1064. data/tests/helpers/compute/servers_helper.rb +10 -0
  1065. data/tests/helpers/dns_helper.rb +55 -0
  1066. data/tests/helpers/formats_helper.rb +98 -0
  1067. data/tests/helpers/formats_helper_tests.rb +110 -0
  1068. data/tests/helpers/mock_helper.rb +110 -0
  1069. data/tests/helpers/model_helper.rb +31 -0
  1070. data/tests/helpers/responds_to_helper.rb +11 -0
  1071. data/tests/helpers/schema_validator_tests.rb +107 -0
  1072. data/tests/helpers/succeeds_helper.rb +9 -0
  1073. data/tests/lorem.txt +1 -0
  1074. data/tests/models/auto_scaling/activities_tests.rb +6 -0
  1075. data/tests/models/auto_scaling/configuration_test.rb +13 -0
  1076. data/tests/models/auto_scaling/configurations_tests.rb +11 -0
  1077. data/tests/models/auto_scaling/groups_test.rb +27 -0
  1078. data/tests/models/auto_scaling/helper.rb +0 -0
  1079. data/tests/models/auto_scaling/instance_tests.rb +15 -0
  1080. data/tests/models/auto_scaling/instances_tests.rb +6 -0
  1081. data/tests/models/beanstalk/application_tests.rb +69 -0
  1082. data/tests/models/beanstalk/applications_tests.rb +7 -0
  1083. data/tests/models/beanstalk/environment_tests.rb +131 -0
  1084. data/tests/models/beanstalk/environments_tests.rb +34 -0
  1085. data/tests/models/beanstalk/template_tests.rb +47 -0
  1086. data/tests/models/beanstalk/templates_tests.rb +62 -0
  1087. data/tests/models/beanstalk/version_tests.rb +66 -0
  1088. data/tests/models/beanstalk/versions_tests.rb +60 -0
  1089. data/tests/models/cdn/distribution_tests.rb +15 -0
  1090. data/tests/models/cdn/distributions_tests.rb +15 -0
  1091. data/tests/models/cdn/invalidation_tests.rb +31 -0
  1092. data/tests/models/cdn/invalidations_tests.rb +14 -0
  1093. data/tests/models/cdn/streaming_distribution_tests.rb +15 -0
  1094. data/tests/models/cdn/streaming_distributions_tests.rb +15 -0
  1095. data/tests/models/cloud_watch/alarm_data_tests.rb +42 -0
  1096. data/tests/models/cloud_watch/alarm_history_tests.rb +22 -0
  1097. data/tests/models/cloud_watch/metric_statistics_tests.rb +51 -0
  1098. data/tests/models/cloud_watch/metrics_tests.rb +32 -0
  1099. data/tests/models/compute/address_tests.rb +24 -0
  1100. data/tests/models/compute/addresses_tests.rb +5 -0
  1101. data/tests/models/compute/dhcp_option_tests.rb +3 -0
  1102. data/tests/models/compute/dhcp_options_tests.rb +3 -0
  1103. data/tests/models/compute/internet_gateway_tests.rb +3 -0
  1104. data/tests/models/compute/internet_gateways_tests.rb +3 -0
  1105. data/tests/models/compute/key_pair_tests.rb +26 -0
  1106. data/tests/models/compute/key_pairs_tests.rb +5 -0
  1107. data/tests/models/compute/network_acl_tests.rb +109 -0
  1108. data/tests/models/compute/network_acls_tests.rb +20 -0
  1109. data/tests/models/compute/network_interfaces_test.rb +12 -0
  1110. data/tests/models/compute/security_group_tests.rb +64 -0
  1111. data/tests/models/compute/security_groups_tests.rb +5 -0
  1112. data/tests/models/compute/server_tests.rb +83 -0
  1113. data/tests/models/compute/snapshot_tests.rb +10 -0
  1114. data/tests/models/compute/snapshots_tests.rb +10 -0
  1115. data/tests/models/compute/subnet_tests.rb +5 -0
  1116. data/tests/models/compute/subnets_tests.rb +5 -0
  1117. data/tests/models/compute/volume_tests.rb +43 -0
  1118. data/tests/models/compute/volumes_tests.rb +5 -0
  1119. data/tests/models/compute/vpc_tests.rb +4 -0
  1120. data/tests/models/compute/vpcs_tests.rb +19 -0
  1121. data/tests/models/data_pipeline/pipeline_tests.rb +8 -0
  1122. data/tests/models/data_pipeline/pipelines_tests.rb +8 -0
  1123. data/tests/models/dns/record_tests.rb +33 -0
  1124. data/tests/models/dns/records_tests.rb +41 -0
  1125. data/tests/models/dns/zone_tests.rb +4 -0
  1126. data/tests/models/dns/zones_tests.rb +4 -0
  1127. data/tests/models/elasticache/cluster_tests.rb +30 -0
  1128. data/tests/models/elasticache/parameter_groups_tests.rb +15 -0
  1129. data/tests/models/elasticache/security_groups_tests.rb +52 -0
  1130. data/tests/models/elasticache/subnet_groups_tests.rb +44 -0
  1131. data/tests/models/elb/model_tests.rb +360 -0
  1132. data/tests/models/elb/tagging_tests.rb +15 -0
  1133. data/tests/models/glacier/model_tests.rb +47 -0
  1134. data/tests/models/iam/access_keys_tests.rb +53 -0
  1135. data/tests/models/iam/policies_tests.rb +57 -0
  1136. data/tests/models/iam/roles_tests.rb +63 -0
  1137. data/tests/models/iam/users_tests.rb +71 -0
  1138. data/tests/models/rds/event_subscription_tests.rb +9 -0
  1139. data/tests/models/rds/event_subscriptions_tests.rb +6 -0
  1140. data/tests/models/rds/helper.rb +5 -0
  1141. data/tests/models/rds/instance_option_tests.rb +14 -0
  1142. data/tests/models/rds/parameter_group_tests.rb +24 -0
  1143. data/tests/models/rds/parameter_groups_tests.rb +8 -0
  1144. data/tests/models/rds/security_group_tests.rb +53 -0
  1145. data/tests/models/rds/security_groups_tests.rb +5 -0
  1146. data/tests/models/rds/server_tests.rb +110 -0
  1147. data/tests/models/rds/servers_tests.rb +6 -0
  1148. data/tests/models/rds/snapshot_tests.rb +12 -0
  1149. data/tests/models/rds/snapshots_tests.rb +12 -0
  1150. data/tests/models/rds/tagging_tests.rb +20 -0
  1151. data/tests/models/sns/topic_tests.rb +15 -0
  1152. data/tests/models/sns/topics_tests.rb +6 -0
  1153. data/tests/models/storage/directory_tests.rb +87 -0
  1154. data/tests/models/storage/file_tests.rb +92 -0
  1155. data/tests/models/storage/files_tests.rb +58 -0
  1156. data/tests/models/storage/url_tests.rb +26 -0
  1157. data/tests/models/storage/version_tests.rb +52 -0
  1158. data/tests/models/storage/versions_tests.rb +56 -0
  1159. data/tests/parsers/elb/describe_load_balancers.rb +65 -0
  1160. data/tests/requests/auto_scaling/auto_scaling_tests.rb +77 -0
  1161. data/tests/requests/auto_scaling/describe_types_tests.rb +102 -0
  1162. data/tests/requests/auto_scaling/helper.rb +228 -0
  1163. data/tests/requests/auto_scaling/model_tests.rb +233 -0
  1164. data/tests/requests/auto_scaling/notification_configuration_tests.rb +124 -0
  1165. data/tests/requests/auto_scaling/tag_tests.rb +63 -0
  1166. data/tests/requests/beanstalk/application_tests.rb +140 -0
  1167. data/tests/requests/beanstalk/solution_stack_tests.rb +22 -0
  1168. data/tests/requests/cdn/cdn_tests.rb +252 -0
  1169. data/tests/requests/cloud_formation/stack_tests.rb +167 -0
  1170. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +28 -0
  1171. data/tests/requests/cloud_watch/list_metrics_test.rb +64 -0
  1172. data/tests/requests/cloud_watch/put_metric_data_tests.rb +36 -0
  1173. data/tests/requests/compute/address_tests.rb +108 -0
  1174. data/tests/requests/compute/assign_private_ip_tests.rb +55 -0
  1175. data/tests/requests/compute/availability_zone_tests.rb +25 -0
  1176. data/tests/requests/compute/client_tests.rb +25 -0
  1177. data/tests/requests/compute/dhcp_options_tests.rb +39 -0
  1178. data/tests/requests/compute/helper.rb +10 -0
  1179. data/tests/requests/compute/image_tests.rb +158 -0
  1180. data/tests/requests/compute/instance_tests.rb +297 -0
  1181. data/tests/requests/compute/internet_gateway_tests.rb +49 -0
  1182. data/tests/requests/compute/key_pair_tests.rb +67 -0
  1183. data/tests/requests/compute/network_acl_tests.rb +112 -0
  1184. data/tests/requests/compute/network_interface_tests.rb +250 -0
  1185. data/tests/requests/compute/placement_group_tests.rb +48 -0
  1186. data/tests/requests/compute/region_tests.rb +52 -0
  1187. data/tests/requests/compute/route_tests.rb +339 -0
  1188. data/tests/requests/compute/security_group_tests.rb +437 -0
  1189. data/tests/requests/compute/snapshot_tests.rb +77 -0
  1190. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +47 -0
  1191. data/tests/requests/compute/spot_instance_tests.rb +57 -0
  1192. data/tests/requests/compute/spot_price_history_tests.rb +24 -0
  1193. data/tests/requests/compute/subnet_tests.rb +85 -0
  1194. data/tests/requests/compute/tag_tests.rb +101 -0
  1195. data/tests/requests/compute/volume_tests.rb +206 -0
  1196. data/tests/requests/compute/vpc_tests.rb +111 -0
  1197. data/tests/requests/data_pipeline/helper.rb +72 -0
  1198. data/tests/requests/data_pipeline/pipeline_tests.rb +78 -0
  1199. data/tests/requests/dns/dns_tests.rb +257 -0
  1200. data/tests/requests/dns/health_check_tests.rb +159 -0
  1201. data/tests/requests/dns/helper.rb +21 -0
  1202. data/tests/requests/dynamodb/item_tests.rb +137 -0
  1203. data/tests/requests/dynamodb/table_tests.rb +99 -0
  1204. data/tests/requests/elasticache/cache_cluster_tests.rb +137 -0
  1205. data/tests/requests/elasticache/describe_events.rb +17 -0
  1206. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +17 -0
  1207. data/tests/requests/elasticache/helper.rb +103 -0
  1208. data/tests/requests/elasticache/parameter_group_tests.rb +105 -0
  1209. data/tests/requests/elasticache/security_group_tests.rb +108 -0
  1210. data/tests/requests/elasticache/subnet_group_tests.rb +52 -0
  1211. data/tests/requests/elb/helper.rb +91 -0
  1212. data/tests/requests/elb/listener_tests.rb +68 -0
  1213. data/tests/requests/elb/load_balancer_tests.rb +89 -0
  1214. data/tests/requests/elb/policy_tests.rb +132 -0
  1215. data/tests/requests/emr/helper.rb +168 -0
  1216. data/tests/requests/emr/instance_group_tests.rb +106 -0
  1217. data/tests/requests/emr/job_flow_tests.rb +88 -0
  1218. data/tests/requests/glacier/archive_tests.rb +13 -0
  1219. data/tests/requests/glacier/multipart_upload_tests.rb +29 -0
  1220. data/tests/requests/glacier/tree_hash_tests.rb +62 -0
  1221. data/tests/requests/glacier/vault_tests.rb +35 -0
  1222. data/tests/requests/iam/access_key_tests.rb +53 -0
  1223. data/tests/requests/iam/account_policy_tests.rb +20 -0
  1224. data/tests/requests/iam/account_tests.rb +34 -0
  1225. data/tests/requests/iam/group_policy_tests.rb +48 -0
  1226. data/tests/requests/iam/group_tests.rb +44 -0
  1227. data/tests/requests/iam/helper.rb +102 -0
  1228. data/tests/requests/iam/login_profile_tests.rb +62 -0
  1229. data/tests/requests/iam/mfa_tests.rb +23 -0
  1230. data/tests/requests/iam/role_tests.rb +167 -0
  1231. data/tests/requests/iam/server_certificate_tests.rb +130 -0
  1232. data/tests/requests/iam/user_policy_tests.rb +45 -0
  1233. data/tests/requests/iam/user_tests.rb +77 -0
  1234. data/tests/requests/rds/describe_events.rb +16 -0
  1235. data/tests/requests/rds/event_subscription_tests.rb +30 -0
  1236. data/tests/requests/rds/helper.rb +296 -0
  1237. data/tests/requests/rds/instance_option_tests.rb +21 -0
  1238. data/tests/requests/rds/instance_tests.rb +133 -0
  1239. data/tests/requests/rds/log_file_tests.rb +19 -0
  1240. data/tests/requests/rds/parameter_group_tests.rb +62 -0
  1241. data/tests/requests/rds/parameter_request_tests.rb +34 -0
  1242. data/tests/requests/rds/security_group_tests.rb +101 -0
  1243. data/tests/requests/rds/subnet_groups_tests.rb +52 -0
  1244. data/tests/requests/rds/tagging_tests.rb +78 -0
  1245. data/tests/requests/redshift/cluster_parameter_group_tests.rb +76 -0
  1246. data/tests/requests/redshift/cluster_security_group_tests.rb +42 -0
  1247. data/tests/requests/redshift/cluster_snapshot_tests.rb +73 -0
  1248. data/tests/requests/redshift/cluster_tests.rb +80 -0
  1249. data/tests/requests/ses/helper.rb +9 -0
  1250. data/tests/requests/ses/verified_domain_identity_tests.rb +16 -0
  1251. data/tests/requests/ses/verified_email_address_tests.rb +27 -0
  1252. data/tests/requests/simpledb/attributes_tests.rb +86 -0
  1253. data/tests/requests/simpledb/domain_tests.rb +51 -0
  1254. data/tests/requests/simpledb/helper.rb +10 -0
  1255. data/tests/requests/sns/helper.rb +9 -0
  1256. data/tests/requests/sns/subscription_tests.rb +86 -0
  1257. data/tests/requests/sns/topic_tests.rb +45 -0
  1258. data/tests/requests/sqs/helper.rb +9 -0
  1259. data/tests/requests/sqs/message_tests.rb +51 -0
  1260. data/tests/requests/sqs/queue_tests.rb +50 -0
  1261. data/tests/requests/storage/acl_utils_tests.rb +209 -0
  1262. data/tests/requests/storage/bucket_tests.rb +399 -0
  1263. data/tests/requests/storage/cors_utils_tests.rb +108 -0
  1264. data/tests/requests/storage/delete_multiple_objects_tests.rb +12 -0
  1265. data/tests/requests/storage/multipart_upload_tests.rb +121 -0
  1266. data/tests/requests/storage/object_tests.rb +189 -0
  1267. data/tests/requests/storage/versioning_tests.rb +258 -0
  1268. data/tests/requests/sts/assume_role_tests.rb +19 -0
  1269. data/tests/requests/sts/assume_role_with_saml_tests.rb +18 -0
  1270. data/tests/requests/sts/get_federation_token_tests.rb +20 -0
  1271. data/tests/requests/sts/session_token_tests.rb +16 -0
  1272. data/tests/signaturev4_tests.rb +88 -0
  1273. data/tests/signed_params_tests.rb +17 -0
  1274. data/tests/storage_tests.rb +7 -0
  1275. metadata +1420 -0
@@ -0,0 +1,58 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/apply_security_groups_to_load_balancer'
6
+
7
+ # Sets the security groups for an ELB in VPC
8
+ #
9
+ # ==== Parameters
10
+ # * security_group_ids<~Array> - List of security group ids to enable on ELB
11
+ # * lb_name<~String> - Load balancer to disable availability zones on
12
+ #
13
+ # ==== Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'ResponseMetadata'<~Hash>:
17
+ # * 'RequestId'<~String> - Id of request
18
+ # * 'ApplySecurityGroupsToLoadBalancer'<~Hash>:
19
+ # * 'SecurityGroups'<~Array> - array of strings describing the security group ids currently enabled
20
+ def apply_security_groups_to_load_balancer(security_group_ids, lb_name)
21
+ params = Fog::AWS.indexed_param('SecurityGroups.member', [*security_group_ids])
22
+ request({
23
+ 'Action' => 'ApplySecurityGroupsToLoadBalancer',
24
+ 'LoadBalancerName' => lb_name,
25
+ :parser => Fog::Parsers::AWS::ELB::ApplySecurityGroupsToLoadBalancer.new
26
+ }.merge!(params))
27
+ end
28
+
29
+ alias_method :apply_security_groups, :apply_security_groups_to_load_balancer
30
+ end
31
+
32
+ class Mock
33
+ def apply_security_groups_to_load_balancer(security_group_ids, lb_name)
34
+ raise Fog::AWS::ELB::NotFound unless load_balancer = self.data[:load_balancers][lb_name]
35
+
36
+ response = Excon::Response.new
37
+ response.status = 200
38
+
39
+ load_balancer['SecurityGroups'] << security_group_ids
40
+ load_balancer['SecurityGroups'].flatten!.uniq!
41
+
42
+ response.body = {
43
+ 'ResponseMetadata' => {
44
+ 'RequestId' => Fog::AWS::Mock.request_id
45
+ },
46
+ 'DetachLoadBalancerFromSubnetsResult' => {
47
+ 'SecurityGroups' => load_balancer['SecurityGroups']
48
+ }
49
+ }
50
+
51
+ response
52
+ end
53
+
54
+ alias_method :apply_security_groups, :apply_security_groups_to_load_balancer
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,58 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/attach_load_balancer_to_subnets'
6
+
7
+ # Enable a subnet for an existing ELB
8
+ #
9
+ # ==== Parameters
10
+ # * subnet_ids<~Array> - List of subnet ids to enable on ELB
11
+ # * lb_name<~String> - Load balancer to enable availability zones on
12
+ #
13
+ # ==== Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'ResponseMetadata'<~Hash>:
17
+ # * 'RequestId'<~String> - Id of request
18
+ # * 'AttachLoadBalancerToSubnetsResult'<~Hash>:
19
+ # * 'Subnets'<~Array> - array of strings describing the subnet ids currently enabled
20
+ def attach_load_balancer_to_subnets(subnet_ids, lb_name)
21
+ params = Fog::AWS.indexed_param('Subnets.member', [*subnet_ids])
22
+ request({
23
+ 'Action' => 'AttachLoadBalancerToSubnets',
24
+ 'LoadBalancerName' => lb_name,
25
+ :parser => Fog::Parsers::AWS::ELB::AttachLoadBalancerToSubnets.new
26
+ }.merge!(params))
27
+ end
28
+
29
+ alias_method :enable_subnets, :attach_load_balancer_to_subnets
30
+ end
31
+
32
+ class Mock
33
+ def attach_load_balancer_to_subnets(subnet_ids, lb_name)
34
+ raise Fog::AWS::ELB::NotFound unless load_balancer = self.data[:load_balancers][lb_name]
35
+
36
+ response = Excon::Response.new
37
+ response.status = 200
38
+
39
+ load_balancer['Subnets'] << subnet_ids
40
+ load_balancer['Subnets'].flatten!.uniq!
41
+
42
+ response.body = {
43
+ 'ResponseMetadata' => {
44
+ 'RequestId' => Fog::AWS::Mock.request_id
45
+ },
46
+ 'AttachLoadBalancerToSubnetsResult' => {
47
+ 'Subnets' => load_balancer['Subnets']
48
+ }
49
+ }
50
+
51
+ response
52
+ end
53
+
54
+ alias_method :enable_subnets, :attach_load_balancer_to_subnets
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,63 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/configure_health_check'
6
+
7
+ # Enables the client to define an application healthcheck for the instances.
8
+ # See http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/APIReference/index.html?API_ConfigureHealthCheck.html
9
+ #
10
+ # ==== Parameters
11
+ # * lb_name<~String> - Name of the ELB
12
+ # * health_check<~Hash> - A hash of parameters describing the health check
13
+ # * 'HealthyThreshold'<~Integer> - Specifies the number of consecutive
14
+ # health probe successes required before moving the instance to the Healthy state.
15
+ # * 'Interval'<~Integer> - Specifies the approximate interval, in seconds,
16
+ # between health checks of an individual instance.
17
+ # * 'Target'<~String> - Specifies the instance being checked.
18
+ # The protocol is either TCP or HTTP. The range of valid ports is one (1) through 65535.
19
+ # * 'Timeout'<~Integer> - Specifies the amount of time, in seconds,
20
+ # during which no response means a failed health probe.
21
+ # * 'UnhealthyThreshold'<~Integer> - Specifies the number of consecutive
22
+ # health probe failures required before moving the instance to the Unhealthy state.
23
+ #
24
+ # ==== Returns
25
+ # * response<~Excon::Response>:
26
+ # * body<~Hash>:
27
+ def configure_health_check(lb_name, health_check)
28
+ params = {'LoadBalancerName' => lb_name}
29
+ health_check.each {|key, value| params["HealthCheck.#{key}"] = value }
30
+
31
+ request({
32
+ 'Action' => 'ConfigureHealthCheck',
33
+ :parser => Fog::Parsers::AWS::ELB::ConfigureHealthCheck.new
34
+ }.merge!(params))
35
+ end
36
+ end
37
+
38
+ class Mock
39
+ def configure_health_check(lb_name, health_check)
40
+ if load_balancer = self.data[:load_balancers][lb_name]
41
+ response = Excon::Response.new
42
+ response.status = 200
43
+
44
+ load_balancer['HealthCheck'] = health_check
45
+
46
+ response.body = {
47
+ 'ResponseMetadata' => {
48
+ 'RequestId' => Fog::AWS::Mock.request_id
49
+ },
50
+ 'ConfigureHealthCheckResult' => {
51
+ 'HealthCheck' => load_balancer['HealthCheck']
52
+ }
53
+ }
54
+
55
+ response
56
+ else
57
+ raise Fog::AWS::ELB::NotFound
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,52 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/empty'
6
+
7
+ # Create an app cookie stickiness policy
8
+ #
9
+ # ==== Parameters
10
+ # * lb_name<~String> - Name of the ELB
11
+ # * policy_name<~String> - The name of the policy being created.
12
+ # The name must be unique within the set of policies for this Load Balancer.
13
+ # * cookie_name<~String> - Name of the application cookie used for stickiness.
14
+ # ==== Returns
15
+ # * response<~Excon::Response>:
16
+ # * body<~Hash>:
17
+ # * 'ResponseMetadata'<~Hash>:
18
+ # * 'RequestId'<~String> - Id of request
19
+ def create_app_cookie_stickiness_policy(lb_name, policy_name, cookie_name)
20
+ params = {'CookieName' => cookie_name, 'PolicyName' => policy_name}
21
+
22
+ request({
23
+ 'Action' => 'CreateAppCookieStickinessPolicy',
24
+ 'LoadBalancerName' => lb_name,
25
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
26
+ }.merge!(params))
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ def create_app_cookie_stickiness_policy(lb_name, policy_name, cookie_name)
32
+ if load_balancer = self.data[:load_balancers][lb_name]
33
+ response = Excon::Response.new
34
+ response.status = 200
35
+
36
+ create_load_balancer_policy(lb_name, policy_name, 'AppCookieStickinessPolicyType', {'CookieName' => cookie_name})
37
+
38
+ response.body = {
39
+ 'ResponseMetadata' => {
40
+ 'RequestId' => Fog::AWS::Mock.request_id
41
+ }
42
+ }
43
+
44
+ response
45
+ else
46
+ raise Fog::AWS::ELB::NotFound
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,54 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/empty'
6
+
7
+ # Create a Load Balancer Cookie Stickiness Policy
8
+ #
9
+ # ==== Parameters
10
+ # * lb_name<~String> - Name of the ELB
11
+ # * policy_name<~String> - The name of the policy being created. The name
12
+ # must be unique within the set of policies for this Load Balancer.
13
+ # * cookie_expiration_period<~Integer> - The time period in seconds after
14
+ # which the cookie should be considered stale. Not specifying this
15
+ # parameter indicates that the sticky session will last for the duration of the browser session.
16
+ # ==== Returns
17
+ # * response<~Excon::Response>:
18
+ # * body<~Hash>:
19
+ # * 'ResponseMetadata'<~Hash>:
20
+ # * 'RequestId'<~String> - Id of request
21
+ def create_lb_cookie_stickiness_policy(lb_name, policy_name, cookie_expiration_period=nil)
22
+ params = {'PolicyName' => policy_name, 'CookieExpirationPeriod' => cookie_expiration_period}
23
+
24
+ request({
25
+ 'Action' => 'CreateLBCookieStickinessPolicy',
26
+ 'LoadBalancerName' => lb_name,
27
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
28
+ }.merge!(params))
29
+ end
30
+ end
31
+
32
+ class Mock
33
+ def create_lb_cookie_stickiness_policy(lb_name, policy_name, cookie_expiration_period=nil)
34
+ if load_balancer = self.data[:load_balancers][lb_name]
35
+ response = Excon::Response.new
36
+ response.status = 200
37
+
38
+ create_load_balancer_policy(lb_name, policy_name, 'LBCookieStickinessPolicyType', {'CookieExpirationPeriod' => cookie_expiration_period})
39
+
40
+ response.body = {
41
+ 'ResponseMetadata' => {
42
+ 'RequestId' => Fog::AWS::Mock.request_id
43
+ }
44
+ }
45
+
46
+ response
47
+ else
48
+ raise Fog::AWS::ELB::NotFound
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,206 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+ require 'fog/aws/parsers/elb/create_load_balancer'
6
+
7
+ # Create a new Elastic Load Balancer
8
+ #
9
+ # ==== Parameters
10
+ # * availability_zones<~Array> - List of availability zones for the ELB
11
+ # * lb_name<~String> - Name for the new ELB -- must be unique
12
+ # * listeners<~Array> - Array of Hashes describing ELB listeners to assign to the ELB
13
+ # * 'Protocol'<~String> - Protocol to use. Either HTTP, HTTPS, TCP or SSL.
14
+ # * 'LoadBalancerPort'<~Integer> - The port that the ELB will listen to for outside traffic
15
+ # * 'InstancePort'<~Integer> - The port on the instance that the ELB will forward traffic to
16
+ # * 'InstanceProtocol'<~String> - Protocol for sending traffic to an instance. Either HTTP, HTTPS, TCP or SSL.
17
+ # * 'SSLCertificateId'<~String> - ARN of the server certificate
18
+ # ==== Returns
19
+ # * response<~Excon::Response>:
20
+ # * body<~Hash>:
21
+ # * 'ResponseMetadata'<~Hash>:
22
+ # * 'RequestId'<~String> - Id of request
23
+ # * 'CreateLoadBalancerResult'<~Hash>:
24
+ # * 'DNSName'<~String> - DNS name for the newly created ELB
25
+ def create_load_balancer(availability_zones, lb_name, listeners, options = {})
26
+ params = Fog::AWS.indexed_param('AvailabilityZones.member', [*availability_zones])
27
+ params.merge!(Fog::AWS.indexed_param('Subnets.member.%d', options[:subnet_ids]))
28
+ params.merge!(Fog::AWS.serialize_keys('Scheme', options[:scheme]))
29
+ params.merge!(Fog::AWS.indexed_param('SecurityGroups.member.%d', options[:security_groups]))
30
+
31
+ listener_protocol = []
32
+ listener_lb_port = []
33
+ listener_instance_port = []
34
+ listener_instance_protocol = []
35
+ listener_ssl_certificate_id = []
36
+ listeners.each do |listener|
37
+ listener_protocol.push(listener['Protocol'])
38
+ listener_lb_port.push(listener['LoadBalancerPort'])
39
+ listener_instance_port.push(listener['InstancePort'])
40
+ listener_instance_protocol.push(listener['InstanceProtocol'])
41
+ listener_ssl_certificate_id.push(listener['SSLCertificateId'])
42
+ end
43
+
44
+ params.merge!(Fog::AWS.indexed_param('Listeners.member.%d.Protocol', listener_protocol))
45
+ params.merge!(Fog::AWS.indexed_param('Listeners.member.%d.LoadBalancerPort', listener_lb_port))
46
+ params.merge!(Fog::AWS.indexed_param('Listeners.member.%d.InstancePort', listener_instance_port))
47
+ params.merge!(Fog::AWS.indexed_param('Listeners.member.%d.InstanceProtocol', listener_instance_protocol))
48
+ params.merge!(Fog::AWS.indexed_param('Listeners.member.%d.SSLCertificateId', listener_ssl_certificate_id))
49
+
50
+ request({
51
+ 'Action' => 'CreateLoadBalancer',
52
+ 'LoadBalancerName' => lb_name,
53
+ :parser => Fog::Parsers::AWS::ELB::CreateLoadBalancer.new
54
+ }.merge!(params))
55
+ end
56
+ end
57
+
58
+ class Mock
59
+ def create_load_balancer(availability_zones, lb_name, listeners = [], options = {})
60
+ response = Excon::Response.new
61
+ response.status = 200
62
+
63
+ raise Fog::AWS::ELB::IdentifierTaken if self.data[:load_balancers].key? lb_name
64
+
65
+ certificate_ids = Fog::AWS::IAM::Mock.data[@aws_access_key_id][:server_certificates].map {|n, c| c['Arn'] }
66
+
67
+ listeners = [*listeners].map do |listener|
68
+ if listener['SSLCertificateId'] and !certificate_ids.include? listener['SSLCertificateId']
69
+ raise Fog::AWS::IAM::NotFound.new('CertificateNotFound')
70
+ end
71
+ {'Listener' => listener, 'PolicyNames' => []}
72
+ end
73
+
74
+ dns_name = Fog::AWS::ELB::Mock.dns_name(lb_name, @region)
75
+
76
+ availability_zones = [*availability_zones].compact
77
+ region = availability_zones.empty? ? "us-east-1" : availability_zones.first.gsub(/[a-z]$/, '')
78
+ supported_platforms = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:account_attributes].find { |h| h["attributeName"] == "supported-platforms" }["values"]
79
+ subnet_ids = options[:subnet_ids] || []
80
+ subnets = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:subnets].select {|e| subnet_ids.include?(e["subnetId"]) }
81
+
82
+ # http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html
83
+ elb_location = if supported_platforms.include?("EC2")
84
+ if subnet_ids.empty?
85
+ 'EC2-Classic'
86
+ else
87
+ 'EC2-VPC'
88
+ end
89
+ else
90
+ if subnet_ids.empty?
91
+ 'EC2-VPC-Default'
92
+ else
93
+ 'VPC'
94
+ end
95
+ end
96
+
97
+ security_group = case elb_location
98
+ when 'EC2-Classic'
99
+ Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['amazon-elb-sg']
100
+ when 'EC2-VPC-Default'
101
+ # find or create default vpc
102
+ compute = Fog::Compute::AWS::new(:aws_access_key_id => @aws_access_key_id, :aws_secret_access_key => @aws_secret_access_key)
103
+ unless vpc = compute.vpcs.all.first
104
+ vpc = compute.vpcs.create('cidr_block' => '10.0.0.0/24')
105
+ end
106
+
107
+ default_sg = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
108
+ sg['groupName'] =~ /^default_elb/ &&
109
+ sg["vpcId"] == vpc.id
110
+ }
111
+
112
+ unless default_sg
113
+ default_sg = {
114
+ 'groupDescription' => 'default_elb security group',
115
+ 'groupName' => "default_elb_#{Fog::Mock.random_hex(6)}",
116
+ 'groupId' => Fog::AWS::Mock.security_group_id,
117
+ 'ipPermissionsEgress' => [],
118
+ 'ipPermissions' => [],
119
+ 'ownerId' => self.data[:owner_id],
120
+ 'vpcId' => vpc.id
121
+ }
122
+ Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['default'] = default_sg
123
+ end
124
+
125
+ default_sg
126
+ when 'EC2-VPC'
127
+ # find or create default vpc security group
128
+ vpc_id = subnets.first["vpcId"]
129
+ default_sg = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
130
+ sg['groupName'] == 'default' &&
131
+ sg["vpcId"] == vpc_id
132
+ }
133
+
134
+ unless default_sg
135
+ default_sg = {
136
+ 'groupDescription' => 'default elb security group',
137
+ 'groupName' => 'default',
138
+ 'groupId' => Fog::AWS::Mock.security_group_id,
139
+ 'ipPermissionsEgress' => [],
140
+ 'ipPermissions' => [],
141
+ 'ownerId' => self.data[:owner_id],
142
+ 'vpcId' => vpc_id
143
+ }
144
+ Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['default'] = default_sg
145
+ end
146
+
147
+ default_sg
148
+ end
149
+ self.data[:tags] ||= {}
150
+ self.data[:tags][lb_name] = {}
151
+
152
+ self.data[:load_balancers][lb_name] = {
153
+ 'AvailabilityZones' => availability_zones,
154
+ 'BackendServerDescriptions' => [],
155
+ # Hack to facilitate not updating the local data structure
156
+ # (BackendServerDescriptions) until we do a subsequent
157
+ # describe as that is how AWS behaves.
158
+ 'BackendServerDescriptionsRemote' => [],
159
+ 'Subnets' => options[:subnet_ids] || [],
160
+ 'Scheme' => options[:scheme].nil? ? 'internet-facing' : options[:scheme],
161
+ 'SecurityGroups' => options[:security_groups].nil? ? [] : options[:security_groups],
162
+ 'CanonicalHostedZoneName' => '',
163
+ 'CanonicalHostedZoneNameID' => '',
164
+ 'CreatedTime' => Time.now,
165
+ 'DNSName' => dns_name,
166
+ 'HealthCheck' => {
167
+ 'HealthyThreshold' => 10,
168
+ 'Timeout' => 5,
169
+ 'UnhealthyThreshold' => 2,
170
+ 'Interval' => 30,
171
+ 'Target' => 'TCP:80'
172
+ },
173
+ 'Instances' => [],
174
+ 'ListenerDescriptions' => listeners,
175
+ 'LoadBalancerAttributes' => {
176
+ 'ConnectionDraining' => {'Enabled' => false, 'Timeout' => 300},
177
+ 'CrossZoneLoadBalancing' => {'Enabled' => false},
178
+ 'ConnectionSettings' => {'IdleTimeout' => 60}
179
+ },
180
+ 'LoadBalancerName' => lb_name,
181
+ 'Policies' => {
182
+ 'AppCookieStickinessPolicies' => [],
183
+ 'LBCookieStickinessPolicies' => [],
184
+ 'OtherPolicies' => [],
185
+ 'Proper' => []
186
+ },
187
+ 'SourceSecurityGroup' => {
188
+ 'GroupName' => security_group['groupName'],
189
+ 'OwnerAlias' => ''
190
+ }
191
+ }
192
+ response.body = {
193
+ 'ResponseMetadata' => {
194
+ 'RequestId' => Fog::AWS::Mock.request_id
195
+ },
196
+ 'CreateLoadBalancerResult' => {
197
+ 'DNSName' => dns_name
198
+ }
199
+ }
200
+
201
+ response
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end