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,96 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+ require 'fog/aws/parsers/compute/spot_instance_requests'
6
+
7
+ # Launch specified instances
8
+ #
9
+ # ==== Parameters
10
+ # * 'image_id'<~String> - Id of machine image to load on instances
11
+ # * 'instance_type'<~String> - Type of instance
12
+ # * 'spot_price'<~Float> - maximum hourly price for instances launched
13
+ # * options<~Hash>:
14
+ # * 'AvailabilityZoneGroup'<~String> - specify whether or not to launch all instances in the same availability group
15
+ # * 'InstanceCount'<~Integer> - maximum number of instances to launch
16
+ # * 'LaunchGroup'<~String> - whether or not to launch/shutdown instances as a group
17
+ # * 'LaunchSpecification.BlockDeviceMapping'<~Array>: array of hashes
18
+ # * 'DeviceName'<~String> - where the volume will be exposed to instance
19
+ # * 'VirtualName'<~String> - volume virtual device name
20
+ # * 'Ebs.SnapshotId'<~String> - id of snapshot to boot volume from
21
+ # * 'Ebs.NoDevice'<~String> - specifies that no device should be mapped
22
+ # * 'Ebs.VolumeSize'<~String> - size of volume in GiBs required unless snapshot is specified
23
+ # * 'Ebs.DeleteOnTermination'<~String> - specifies whether or not to delete the volume on instance termination
24
+ # * 'LaunchSpecification.KeyName'<~String> - Name of a keypair to add to booting instances
25
+ # * 'LaunchSpecification.Monitoring.Enabled'<~Boolean> - Enables monitoring, defaults to disabled
26
+ # * 'LaunchSpecification.SubnetId'<~String> - VPC subnet ID in which to launch the instance
27
+ # * 'LaunchSpecification.Placement.AvailabilityZone'<~String> - Placement constraint for instances
28
+ # * 'LaunchSpecification.SecurityGroup'<~Array> or <~String> - Name of security group(s) for instances, not supported in VPC
29
+ # * 'LaunchSpecification.SecurityGroupId'<~Array> or <~String> - Id of security group(s) for instances, use this or LaunchSpecification.SecurityGroup
30
+ # * 'LaunchSpecification.UserData'<~String> - Additional data to provide to booting instances
31
+ # * 'LaunchSpecification.EbsOptimized'<~Boolean> - Whether the instance is optimized for EBS I/O
32
+ # * 'Type'<~String> - spot instance request type in ['one-time', 'persistent']
33
+ # * 'ValidFrom'<~Time> - start date for request
34
+ # * 'ValidUntil'<~Time> - end date for request
35
+ #
36
+ # ==== Returns
37
+ # * response<~Excon::Response>:
38
+ # * body<~Hash>:
39
+ # * 'requestId'<~String> - Id of request
40
+ # * 'spotInstanceRequestSet'<~Array>:
41
+ # * 'createTime'<~Time> - time of instance request creation
42
+ # * 'instanceId'<~String> - instance id if one has been launched to fulfill request
43
+ # * 'launchedAvailabilityZone'<~String> - availability zone of instance if one has been launched to fulfill request
44
+ # * 'launchSpecification'<~Hash>:
45
+ # * 'blockDeviceMapping'<~Hash> - list of block device mappings for instance
46
+ # * 'groupSet'<~String> - security group(s) for instance
47
+ # * 'keyName'<~String> - keypair name for instance
48
+ # * 'imageId'<~String> - AMI for instance
49
+ # * 'instanceType'<~String> - type for instance
50
+ # * 'monitoring'<~Boolean> - monitoring status for instance
51
+ # * 'subnetId'<~String> - VPC subnet ID for instance
52
+ # * 'productDescription'<~String> - general description of AMI
53
+ # * 'spotInstanceRequestId'<~String> - id of spot instance request
54
+ # * 'spotPrice'<~Float> - maximum price for instances to be launched
55
+ # * 'state'<~String> - spot instance request state
56
+ # * 'type'<~String> - spot instance request type
57
+ #
58
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotInstances.html]
59
+ def request_spot_instances(image_id, instance_type, spot_price, options = {})
60
+ if block_device_mapping = options.delete('LaunchSpecification.BlockDeviceMapping')
61
+ block_device_mapping.each_with_index do |mapping, index|
62
+ for key, value in mapping
63
+ options.merge!({ format("LaunchSpecification.BlockDeviceMapping.%d.#{key}", index) => value })
64
+ end
65
+ end
66
+ end
67
+ if security_groups = options.delete('LaunchSpecification.SecurityGroup')
68
+ options.merge!(Fog::AWS.indexed_param('LaunchSpecification.SecurityGroup', [*security_groups]))
69
+ end
70
+ if security_group_ids = options.delete('LaunchSpecification.SecurityGroupId')
71
+ options.merge!(Fog::AWS.indexed_param('LaunchSpecification.SecurityGroupId', [*security_group_ids]))
72
+ end
73
+ if options['LaunchSpecification.UserData']
74
+ options['LaunchSpecification.UserData'] = Base64.encode64(options['LaunchSpecification.UserData'])
75
+ end
76
+
77
+ if options['ValidFrom'] && options['ValidFrom'].is_a?(Time)
78
+ options['ValidFrom'] = options['ValidFrom'].iso8601
79
+ end
80
+
81
+ if options['ValidUntil'] && options['ValidUntil'].is_a?(Time)
82
+ options['ValidUntil'] = options['ValidUntil'].iso8601
83
+ end
84
+
85
+ request({
86
+ 'Action' => 'RequestSpotInstances',
87
+ 'LaunchSpecification.ImageId' => image_id,
88
+ 'LaunchSpecification.InstanceType' => instance_type,
89
+ 'SpotPrice' => spot_price,
90
+ :parser => Fog::Parsers::Compute::AWS::SpotInstanceRequests.new
91
+ }.merge!(options))
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,56 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+ require 'fog/aws/parsers/compute/basic'
6
+
7
+ # Resets a network interface attribute value
8
+ #
9
+ # ==== Parameters
10
+ # * network_interface_id<~String> - The ID of the network interface you want to describe an attribute of
11
+ # * attribute<~String> - The attribute to reset, only 'sourceDestCheck' is supported.
12
+ #
13
+ # === Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'requestId'<~String> - Id of request
17
+ # * 'return'<~Boolean> - success?
18
+ #
19
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/2012-03-01/APIReference/ApiReference-query-DescribeNetworkInterfaceAttribute.html]
20
+ def reset_network_interface_attribute(network_interface_id, attribute)
21
+ if attribute != 'sourceDestCheck'
22
+ raise Fog::Compute::AWS::Error.new("Illegal attribute '#{attribute}' specified")
23
+ end
24
+ request(
25
+ 'Action' => 'ResetNetworkInterfaceAttribute',
26
+ 'NetworkInterfaceId' => network_interface_id,
27
+ 'Attribute' => attribute,
28
+ :parser => Fog::Parsers::Compute::AWS::Basic.new
29
+ )
30
+ end
31
+ end
32
+
33
+ class Mock
34
+ def reset_network_interface_attribute(network_interface_id, attribute)
35
+ response = Excon::Response.new
36
+ if self.data[:network_interfaces][network_interface_id]
37
+
38
+ response.status = 200
39
+ response.body = {
40
+ 'requestId' => Fog::AWS::Mock.request_id,
41
+ 'return' => true
42
+ }
43
+ if attribute == 'sourceDestCheck'
44
+ self.data[:network_interfaces][network_interface_id]['sourceDestCheck'] = true
45
+ else
46
+ raise Fog::Compute::AWS::Error.new("Illegal attribute '#{attribute}' specified")
47
+ end
48
+ response
49
+ else
50
+ raise Fog::Compute::AWS::NotFound.new("The network interface '#{network_interface_id}' does not exist")
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,98 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+ require 'fog/aws/parsers/compute/basic'
6
+
7
+ # Remove permissions from a security group
8
+ #
9
+ # ==== Parameters
10
+ # * group_name<~String> - Name of group, optional (can also be specifed as GroupName in options)
11
+ # * options<~Hash>:
12
+ # * 'GroupName'<~String> - Name of security group to modify
13
+ # * 'GroupId'<~String> - Id of security group to modify
14
+ # * 'SourceSecurityGroupName'<~String> - Name of security group to authorize
15
+ # * 'SourceSecurityGroupOwnerId'<~String> - Name of owner to authorize
16
+ # or
17
+ # * 'CidrIp'<~String> - CIDR range
18
+ # * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
19
+ # * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
20
+ # * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
21
+ # or
22
+ # * 'IpPermissions'<~Array>:
23
+ # * permission<~Hash>:
24
+ # * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
25
+ # * 'Groups'<~Array>:
26
+ # * group<~Hash>:
27
+ # * 'GroupName'<~String> - Name of security group to authorize
28
+ # * 'UserId'<~String> - Name of owner to authorize
29
+ # * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
30
+ # * 'IpRanges'<~Array>:
31
+ # * ip_range<~Hash>:
32
+ # * 'CidrIp'<~String> - CIDR range
33
+ # * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
34
+ #
35
+ # === Returns
36
+ # * response<~Excon::Response>:
37
+ # * body<~Hash>:
38
+ # * 'requestId'<~String> - Id of request
39
+ # * 'return'<~Boolean> - success?
40
+ #
41
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupIngress.html]
42
+ def revoke_security_group_ingress(group_name, options = {})
43
+ options = Fog::AWS.parse_security_group_options(group_name, options)
44
+
45
+ if ip_permissions = options.delete('IpPermissions')
46
+ options.merge!(indexed_ip_permissions_params(ip_permissions))
47
+ end
48
+
49
+ request({
50
+ 'Action' => 'RevokeSecurityGroupIngress',
51
+ :idempotent => true,
52
+ :parser => Fog::Parsers::Compute::AWS::Basic.new
53
+ }.merge!(options))
54
+ end
55
+ end
56
+
57
+ class Mock
58
+ def revoke_security_group_ingress(group_name, options = {})
59
+ options = Fog::AWS.parse_security_group_options(group_name, options)
60
+ if options.key?('GroupName')
61
+ group_name = options['GroupName']
62
+ else
63
+ group_name = self.data[:security_groups].reject { |k,v| v['groupId'] != options['GroupId'] } .keys.first
64
+ end
65
+
66
+ response = Excon::Response.new
67
+ group = self.data[:security_groups][group_name]
68
+
69
+ if group
70
+ verify_permission_options(options, group['vpcId'] != nil)
71
+
72
+ normalized_permissions = normalize_permissions(options)
73
+
74
+ normalized_permissions.each do |permission|
75
+ if matching_permission = find_matching_permission(group, permission)
76
+ matching_permission['ipRanges'] -= permission['ipRanges']
77
+ matching_permission['groups'] -= permission['groups']
78
+
79
+ if matching_permission['ipRanges'].empty? && matching_permission['groups'].empty?
80
+ group['ipPermissions'].delete(matching_permission)
81
+ end
82
+ end
83
+ end
84
+
85
+ response.status = 200
86
+ response.body = {
87
+ 'requestId' => Fog::AWS::Mock.request_id,
88
+ 'return' => true
89
+ }
90
+ response
91
+ else
92
+ raise Fog::Compute::AWS::NotFound.new("The security group '#{group_name}' does not exist")
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,274 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+ require 'fog/aws/parsers/compute/run_instances'
6
+
7
+ # Launch specified instances
8
+ #
9
+ # ==== Parameters
10
+ # * image_id<~String> - Id of machine image to load on instances
11
+ # * min_count<~Integer> - Minimum number of instances to launch. If this
12
+ # exceeds the count of available instances, no instances will be
13
+ # launched. Must be between 1 and maximum allowed for your account
14
+ # (by default the maximum for an account is 20)
15
+ # * max_count<~Integer> - Maximum number of instances to launch. If this
16
+ # exceeds the number of available instances, the largest possible
17
+ # number of instances above min_count will be launched instead. Must
18
+ # be between 1 and maximum allowed for you account
19
+ # (by default the maximum for an account is 20)
20
+ # * options<~Hash>:
21
+ # * 'Placement.AvailabilityZone'<~String> - Placement constraint for instances
22
+ # * 'Placement.GroupName'<~String> - Name of existing placement group to launch instance into
23
+ # * 'Placement.Tenancy'<~String> - Tenancy option in ['dedicated', 'default'], defaults to 'default'
24
+ # * 'BlockDeviceMapping'<~Array>: array of hashes
25
+ # * 'DeviceName'<~String> - where the volume will be exposed to instance
26
+ # * 'VirtualName'<~String> - volume virtual device name
27
+ # * 'Ebs.SnapshotId'<~String> - id of snapshot to boot volume from
28
+ # * 'Ebs.VolumeSize'<~String> - size of volume in GiBs required unless snapshot is specified
29
+ # * 'Ebs.DeleteOnTermination'<~Boolean> - specifies whether or not to delete the volume on instance termination
30
+ # * 'Ebs.Encrypted'<~Boolean> - specifies whether or not the volume is to be encrypted unless snapshot is specified
31
+ # * 'Ebs.VolumeType'<~String> - Type of EBS volue. Valid options in ['standard', 'io1'] default is 'standard'.
32
+ # * 'Ebs.Iops'<~String> - The number of I/O operations per second (IOPS) that the volume supports. Required when VolumeType is 'io1'
33
+ # * 'NetworkInterfaces'<~Array>: array of hashes
34
+ # * 'NetworkInterfaceId'<~String> - An existing interface to attach to a single instance
35
+ # * 'DeviceIndex'<~String> - The device index. Applies both to attaching an existing network interface and creating a network interface
36
+ # * 'SubnetId'<~String> - The subnet ID. Applies only when creating a network interface
37
+ # * 'Description'<~String> - A description. Applies only when creating a network interface
38
+ # * 'PrivateIpAddress'<~String> - The primary private IP address. Applies only when creating a network interface
39
+ # * 'SecurityGroupId'<~Array> or <~String> - ids of security group(s) for network interface. Applies only when creating a network interface.
40
+ # * 'DeleteOnTermination'<~String> - Indicates whether to delete the network interface on instance termination.
41
+ # * 'PrivateIpAddresses.PrivateIpAddress'<~String> - The private IP address. This parameter can be used multiple times to specify explicit private IP addresses for a network interface, but only one private IP address can be designated as primary.
42
+ # * 'PrivateIpAddresses.Primary'<~Bool> - Indicates whether the private IP address is the primary private IP address.
43
+ # * 'SecondaryPrivateIpAddressCount'<~Bool> - The number of private IP addresses to assign to the network interface.
44
+ # * 'AssociatePublicIpAddress'<~String> - Indicates whether to assign a public IP address to an instance in a VPC. The public IP address is assigned to a specific network interface
45
+ # * 'ClientToken'<~String> - unique case-sensitive token for ensuring idempotency
46
+ # * 'DisableApiTermination'<~Boolean> - specifies whether or not to allow termination of the instance from the api
47
+ # * 'SecurityGroup'<~Array> or <~String> - Name of security group(s) for instances (not supported for VPC)
48
+ # * 'SecurityGroupId'<~Array> or <~String> - id's of security group(s) for instances, use this or SecurityGroup
49
+ # * 'InstanceInitiatedShutdownBehaviour'<~String> - specifies whether volumes are stopped or terminated when instance is shutdown, in [stop, terminate]
50
+ # * 'InstanceType'<~String> - Type of instance to boot. Valid options
51
+ # in ['t1.micro', 't2.micro', 't2.small', 't2.medium', 'm1.small', 'm1.medium', 'm1.large', 'm1.xlarge', 'c1.medium', 'c1.xlarge', 'c3.large', 'c3.xlarge', 'c3.2xlarge', 'c3.4xlarge', 'c3.8xlarge', 'g2.2xlarge', 'hs1.8xlarge', 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge', 'cr1.8xlarge', 'm3.xlarge', 'm3.2xlarge', 'hi1.4xlarge', 'cc1.4xlarge', 'cc2.8xlarge', 'cg1.4xlarge', 'i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge']
52
+ # default is 'm1.small'
53
+ # * 'KernelId'<~String> - Id of kernel with which to launch
54
+ # * 'KeyName'<~String> - Name of a keypair to add to booting instances
55
+ # * 'Monitoring.Enabled'<~Boolean> - Enables monitoring, defaults to
56
+ # disabled
57
+ # * 'PrivateIpAddress<~String> - VPC option to specify ip address within subnet
58
+ # * 'RamdiskId'<~String> - Id of ramdisk with which to launch
59
+ # * 'SubnetId'<~String> - VPC option to specify subnet to launch instance into
60
+ # * 'UserData'<~String> - Additional data to provide to booting instances
61
+ # * 'EbsOptimized'<~Boolean> - Whether the instance is optimized for EBS I/O
62
+ #
63
+ # ==== Returns
64
+ # * response<~Excon::Response>:
65
+ # * body<~Hash>:
66
+ # * 'groupSet'<~Array>: groups the instances are members in
67
+ # * 'groupName'<~String> - Name of group
68
+ # * 'instancesSet'<~Array>: returned instances
69
+ # * instance<~Hash>:
70
+ # * 'amiLaunchIndex'<~Integer> - reference to instance in launch group
71
+ # * 'architecture'<~String> - architecture of image in [i386, x86_64]
72
+ # * 'blockDeviceMapping'<~Array>
73
+ # * 'attachTime'<~Time> - time of volume attachment
74
+ # * 'deleteOnTermination'<~Boolean> - whether or not to delete volume on termination
75
+ # * 'deviceName'<~String> - specifies how volume is exposed to instance
76
+ # * 'status'<~String> - status of attached volume
77
+ # * 'volumeId'<~String> - Id of attached volume
78
+ # * 'dnsName'<~String> - public dns name, blank until instance is running
79
+ # * 'imageId'<~String> - image id of ami used to launch instance
80
+ # * 'instanceId'<~String> - id of the instance
81
+ # * 'instanceState'<~Hash>:
82
+ # * 'code'<~Integer> - current status code
83
+ # * 'name'<~String> - current status name
84
+ # * 'instanceType'<~String> - type of instance
85
+ # * 'ipAddress'<~String> - public ip address assigned to instance
86
+ # * 'kernelId'<~String> - Id of kernel used to launch instance
87
+ # * 'keyName'<~String> - name of key used launch instances or blank
88
+ # * 'launchTime'<~Time> - time instance was launched
89
+ # * 'monitoring'<~Hash>:
90
+ # * 'state'<~Boolean - state of monitoring
91
+ # * 'placement'<~Hash>:
92
+ # * 'availabilityZone'<~String> - Availability zone of the instance
93
+ # * 'privateDnsName'<~String> - private dns name, blank until instance is running
94
+ # * 'privateIpAddress'<~String> - private ip address assigned to instance
95
+ # * 'productCodes'<~Array> - Product codes for the instance
96
+ # * 'ramdiskId'<~String> - Id of ramdisk used to launch instance
97
+ # * 'reason'<~String> - reason for most recent state transition, or blank
98
+ # * 'rootDeviceName'<~String> - specifies how the root device is exposed to the instance
99
+ # * 'rootDeviceType'<~String> - root device type used by AMI in [ebs, instance-store]
100
+ # * 'ebsOptimized'<~Boolean> - Whether the instance is optimized for EBS I/O
101
+ # * 'ownerId'<~String> - Id of owner
102
+ # * 'requestId'<~String> - Id of request
103
+ # * 'reservationId'<~String> - Id of reservation
104
+ #
105
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html]
106
+ def run_instances(image_id, min_count, max_count, options = {})
107
+ if block_device_mapping = options.delete('BlockDeviceMapping')
108
+ block_device_mapping.each_with_index do |mapping, index|
109
+ for key, value in mapping
110
+ options.merge!({ format("BlockDeviceMapping.%d.#{key}", index) => value })
111
+ end
112
+ end
113
+ end
114
+ if security_groups = options.delete('SecurityGroup')
115
+ options.merge!(Fog::AWS.indexed_param('SecurityGroup', [*security_groups]))
116
+ end
117
+ if security_group_ids = options.delete('SecurityGroupId')
118
+ options.merge!(Fog::AWS.indexed_param('SecurityGroupId', [*security_group_ids]))
119
+ end
120
+ if options['UserData']
121
+ options['UserData'] = Base64.encode64(options['UserData'])
122
+ end
123
+ if network_interfaces = options.delete('NetworkInterfaces')
124
+ network_interfaces.each_with_index do |mapping, index|
125
+ iface = format("NetworkInterface.%d", index)
126
+ for key, value in mapping
127
+ case key
128
+ when "SecurityGroupId"
129
+ options.merge!(Fog::AWS.indexed_param("#{iface}.SecurityGroupId", [*value]))
130
+ else
131
+ options.merge!({ "#{iface}.#{key}" => value })
132
+ end
133
+ end
134
+ end
135
+ end
136
+
137
+ idempotent = !(options['ClientToken'].nil? || options['ClientToken'].empty?)
138
+
139
+ request({
140
+ 'Action' => 'RunInstances',
141
+ 'ImageId' => image_id,
142
+ 'MinCount' => min_count,
143
+ 'MaxCount' => max_count,
144
+ :idempotent => idempotent,
145
+ :parser => Fog::Parsers::Compute::AWS::RunInstances.new
146
+ }.merge!(options))
147
+ end
148
+ end
149
+
150
+ class Mock
151
+ def run_instances(image_id, min_count, max_count, options = {})
152
+ response = Excon::Response.new
153
+ response.status = 200
154
+
155
+ group_set = [ (options['SecurityGroup'] || 'default') ].flatten
156
+ instances_set = []
157
+ reservation_id = Fog::AWS::Mock.reservation_id
158
+
159
+ if options['KeyName'] && describe_key_pairs('key-name' => options['KeyName']).body['keySet'].empty?
160
+ raise Fog::Compute::AWS::NotFound.new("The key pair '#{options['KeyName']}' does not exist")
161
+ end
162
+
163
+ min_count.times do |i|
164
+ instance_id = Fog::AWS::Mock.instance_id
165
+ availability_zone = options['Placement.AvailabilityZone'] || Fog::AWS::Mock.availability_zone(@region)
166
+
167
+ block_device_mapping = (options['BlockDeviceMapping'] || []).reduce([]) do |mapping, device|
168
+ device_name = device.fetch("DeviceName", "/dev/sda1")
169
+ volume_size = device.fetch("Ebs.VolumeSize", 15) # @todo should pull this from the image
170
+ delete_on_termination = device.fetch("Ebs.DeleteOnTermination", true) # @todo should pull this from the image
171
+
172
+ volume_id = create_volume(availability_zone, volume_size).data[:body]["volumeId"]
173
+
174
+ self.data[:volumes][volume_id].merge!("DeleteOnTermination" => delete_on_termination)
175
+
176
+ mapping << {
177
+ "deviceName" => device_name,
178
+ "volumeId" => volume_id,
179
+ "status" => "attached",
180
+ "attachTime" => Time.now,
181
+ "deleteOnTermination" => delete_on_termination,
182
+ }
183
+ end
184
+
185
+ if options['SubnetId']
186
+ if options['PrivateIpAddress']
187
+ ni_options = {'PrivateIpAddress' => options['PrivateIpAddress']}
188
+ else
189
+ ni_options = {}
190
+ end
191
+
192
+ network_interface_id = create_network_interface(options['SubnetId'], ni_options).body['networkInterface']['networkInterfaceId']
193
+ end
194
+
195
+ network_interfaces = (options['NetworkInterfaces'] || []).reduce([]) do |mapping, device|
196
+ device_index = device.fetch("DeviceIndex", 0)
197
+ subnet_id = device.fetch("SubnetId", options[:subnet_id] || Fog::AWS::Mock.subnet_id)
198
+ private_ip_address = device.fetch("PrivateIpAddress", options[:private_ip_address] || Fog::AWS::Mock.private_ip_address)
199
+ delete_on_termination = device.fetch("DeleteOnTermination", true)
200
+ description = device.fetch("Description", "mock_network_interface")
201
+ security_group_id = device.fetch("SecurityGroupId", self.data[:security_groups]['default']['groupId'])
202
+ interface_options = {
203
+ "PrivateIpAddress" => private_ip_address,
204
+ "GroupSet" => device.fetch("GroupSet", [security_group_id]),
205
+ "Description" => description
206
+ }
207
+
208
+ interface_id = device.fetch("NetworkInterfaceId", create_network_interface(subnet_id, interface_options))
209
+
210
+ mapping << {
211
+ "networkInterfaceId" => interface_id,
212
+ "subnetId" => subnet_id,
213
+ "status" => "attached",
214
+ "attachTime" => Time.now,
215
+ "deleteOnTermination" => delete_on_termination,
216
+ }
217
+ end
218
+
219
+ instance = {
220
+ 'amiLaunchIndex' => i,
221
+ 'associatePublicIP' => options['associatePublicIP'] || false,
222
+ 'architecture' => 'i386',
223
+ 'blockDeviceMapping' => block_device_mapping,
224
+ 'networkInterfaces' => network_interfaces,
225
+ 'clientToken' => options['clientToken'],
226
+ 'dnsName' => nil,
227
+ 'ebsOptimized' => options['EbsOptimized'] || false,
228
+ 'hypervisor' => 'xen',
229
+ 'imageId' => image_id,
230
+ 'instanceId' => instance_id,
231
+ 'instanceState' => { 'code' => 0, 'name' => 'pending' },
232
+ 'instanceType' => options['InstanceType'] || 'm1.small',
233
+ 'kernelId' => options['KernelId'] || Fog::AWS::Mock.kernel_id,
234
+ 'keyName' => options['KeyName'],
235
+ 'launchTime' => Time.now,
236
+ 'monitoring' => { 'state' => options['Monitoring.Enabled'] || false },
237
+ 'placement' => { 'availabilityZone' => availability_zone, 'groupName' => nil, 'tenancy' => options['Placement.Tenancy'] || 'default' },
238
+ 'privateDnsName' => nil,
239
+ 'productCodes' => [],
240
+ 'reason' => nil,
241
+ 'rootDeviceName' => block_device_mapping.first && block_device_mapping.first["deviceName"],
242
+ 'rootDeviceType' => 'instance-store',
243
+ 'virtualizationType' => 'paravirtual'
244
+ }
245
+ instances_set << instance
246
+ self.data[:instances][instance_id] = instance.merge({
247
+ 'groupIds' => [],
248
+ 'groupSet' => group_set,
249
+ 'iamInstanceProfile' => {},
250
+ 'ownerId' => self.data[:owner_id],
251
+ 'reservationId' => reservation_id,
252
+ 'stateReason' => {}
253
+ })
254
+
255
+ if options['SubnetId']
256
+ self.data[:instances][instance_id]['vpcId'] = self.data[:subnets].find{|subnet| subnet['subnetId'] == options['SubnetId'] }['vpcId']
257
+
258
+ attachment_id = attach_network_interface(network_interface_id, instance_id, '0').data[:body]['attachmentId']
259
+ modify_network_interface_attribute(network_interface_id, 'attachment', {'attachmentId' => attachment_id, 'deleteOnTermination' => 'true'})
260
+ end
261
+ end
262
+ response.body = {
263
+ 'groupSet' => group_set,
264
+ 'instancesSet' => instances_set,
265
+ 'ownerId' => self.data[:owner_id],
266
+ 'requestId' => Fog::AWS::Mock.request_id,
267
+ 'reservationId' => reservation_id
268
+ }
269
+ response
270
+ end
271
+ end
272
+ end
273
+ end
274
+ end