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,167 @@
1
+ require 'fog/aws/core'
2
+
3
+ module Fog
4
+ module AWS
5
+ class CloudWatch < Fog::Service
6
+ extend Fog::AWS::CredentialFetcher::ServiceMethods
7
+
8
+ requires :aws_access_key_id, :aws_secret_access_key
9
+ recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
10
+
11
+ request_path 'fog/aws/requests/cloud_watch'
12
+
13
+ request :list_metrics
14
+ request :get_metric_statistics
15
+ request :put_metric_data
16
+ request :describe_alarms
17
+ request :put_metric_alarm
18
+ request :delete_alarms
19
+ request :describe_alarm_history
20
+ request :enable_alarm_actions
21
+ request :disable_alarm_actions
22
+ request :describe_alarms_for_metric
23
+ request :set_alarm_state
24
+
25
+ model_path 'fog/aws/models/cloud_watch'
26
+ model :metric
27
+ collection :metrics
28
+ model :metric_statistic
29
+ collection :metric_statistics
30
+ model :alarm_datum
31
+ collection :alarm_data
32
+ model :alarm_history
33
+ collection :alarm_histories
34
+ model :alarm
35
+ collection :alarms
36
+
37
+ class Mock
38
+ def self.data
39
+ @data ||= Hash.new do |hash, region|
40
+ hash[region] = Hash.new do |region_hash, key|
41
+ region_hash[key] = {
42
+ :metric_alarms => {}
43
+ }
44
+ end
45
+ end
46
+ end
47
+
48
+ def self.reset
49
+ @data = nil
50
+ end
51
+
52
+ def initialize(options={})
53
+ @aws_access_key_id = options[:aws_access_key_id]
54
+
55
+ @region = options[:region] || 'us-east-1'
56
+
57
+ unless ['ap-northeast-1', 'ap-southeast-1', 'ap-southeast-2', 'eu-central-1', 'eu-west-1', 'sa-east-1', 'us-east-1', 'us-west-1', 'us-west-2'].include?(@region)
58
+ raise ArgumentError, "Unknown region: #{@region.inspect}"
59
+ end
60
+ end
61
+
62
+ def data
63
+ self.class.data[@region][@aws_access_key_id]
64
+ end
65
+
66
+ def reset_data
67
+ self.class.data[@region].delete(@aws_access_key_id)
68
+ end
69
+ end
70
+
71
+ class Real
72
+ include Fog::AWS::CredentialFetcher::ConnectionMethods
73
+ # Initialize connection to Cloudwatch
74
+ #
75
+ # ==== Notes
76
+ # options parameter must include values for :aws_access_key_id and
77
+ # :aws_secret_access_key in order to create a connection
78
+ #
79
+ # ==== Examples
80
+ # elb = CloudWatch.new(
81
+ # :aws_access_key_id => your_aws_access_key_id,
82
+ # :aws_secret_access_key => your_aws_secret_access_key
83
+ # )
84
+ #
85
+ # ==== Parameters
86
+ # * options<~Hash> - config arguments for connection. Defaults to {}.
87
+ # * region<~String> - optional region to use. For instance, 'eu-west-1', 'us-east-1', etc.
88
+ #
89
+ # ==== Returns
90
+ # * CloudWatch object with connection to AWS.
91
+ def initialize(options={})
92
+ @use_iam_profile = options[:use_iam_profile]
93
+
94
+ @connection_options = options[:connection_options] || {}
95
+
96
+ @instrumentor = options[:instrumentor]
97
+ @instrumentor_name = options[:instrumentor_name] || 'fog.aws.cloud_watch'
98
+
99
+ options[:region] ||= 'us-east-1'
100
+ @region = options[:region]
101
+ @host = options[:host] || "monitoring.#{options[:region]}.amazonaws.com"
102
+ @path = options[:path] || '/'
103
+ @persistent = options[:persistent] || false
104
+ @port = options[:port] || 443
105
+ @scheme = options[:scheme] || 'https'
106
+ @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options)
107
+
108
+ setup_credentials(options)
109
+ end
110
+
111
+ def reload
112
+ @connection.reset
113
+ end
114
+
115
+ private
116
+
117
+ def setup_credentials(options)
118
+ @aws_access_key_id = options[:aws_access_key_id]
119
+ @aws_secret_access_key = options[:aws_secret_access_key]
120
+ @aws_session_token = options[:aws_session_token]
121
+ @aws_credentials_expire_at = options[:aws_credentials_expire_at]
122
+
123
+ @signer = Fog::AWS::SignatureV4.new( @aws_access_key_id, @aws_secret_access_key,@region,'monitoring')
124
+ end
125
+
126
+ def request(params)
127
+ refresh_credentials_if_expired
128
+ idempotent = params.delete(:idempotent)
129
+ parser = params.delete(:parser)
130
+
131
+ body, headers = AWS.signed_params_v4(
132
+ params,
133
+ { 'Content-Type' => 'application/x-www-form-urlencoded' },
134
+ {
135
+ :signer => @signer,
136
+ :aws_session_token => @aws_session_token,
137
+ :host => @host,
138
+ :path => @path,
139
+ :port => @port,
140
+ :version => '2010-08-01',
141
+ :method => 'POST'
142
+ }
143
+ )
144
+
145
+ if @instrumentor
146
+ @instrumentor.instrument("#{@instrumentor_name}.request", params) do
147
+ _request(body, headers, idempotent, parser)
148
+ end
149
+ else
150
+ _request(body, headers, idempotent, parser)
151
+ end
152
+ end
153
+
154
+ def _request(body, headers, idempotent, parser)
155
+ @connection.request({
156
+ :body => body,
157
+ :expects => 200,
158
+ :headers => headers,
159
+ :idempotent => idempotent,
160
+ :method => 'POST',
161
+ :parser => parser
162
+ })
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,543 @@
1
+ require 'fog/aws/core'
2
+
3
+ module Fog
4
+ module Compute
5
+ class AWS < Fog::Service
6
+ extend Fog::AWS::CredentialFetcher::ServiceMethods
7
+
8
+ requires :aws_access_key_id, :aws_secret_access_key
9
+ recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent, :aws_session_token, :use_iam_profile, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :version
10
+
11
+ secrets :aws_secret_access_key, :hmac, :aws_session_token
12
+
13
+ model_path 'fog/aws/models/compute'
14
+ model :address
15
+ collection :addresses
16
+ model :dhcp_options
17
+ collection :dhcp_options
18
+ model :flavor
19
+ collection :flavors
20
+ model :image
21
+ collection :images
22
+ model :internet_gateway
23
+ collection :internet_gateways
24
+ model :key_pair
25
+ collection :key_pairs
26
+ model :network_acl
27
+ collection :network_acls
28
+ model :network_interface
29
+ collection :network_interfaces
30
+ model :route_table
31
+ collection :route_tables
32
+ model :security_group
33
+ collection :security_groups
34
+ model :server
35
+ collection :servers
36
+ model :snapshot
37
+ collection :snapshots
38
+ model :tag
39
+ collection :tags
40
+ model :volume
41
+ collection :volumes
42
+ model :spot_request
43
+ collection :spot_requests
44
+ model :subnet
45
+ collection :subnets
46
+ model :vpc
47
+ collection :vpcs
48
+
49
+ request_path 'fog/aws/requests/compute'
50
+ request :allocate_address
51
+ request :assign_private_ip_addresses
52
+ request :associate_address
53
+ request :associate_dhcp_options
54
+ request :attach_network_interface
55
+ request :associate_route_table
56
+ request :attach_internet_gateway
57
+ request :attach_volume
58
+ request :authorize_security_group_ingress
59
+ request :cancel_spot_instance_requests
60
+ request :create_dhcp_options
61
+ request :create_internet_gateway
62
+ request :create_image
63
+ request :create_key_pair
64
+ request :create_network_acl
65
+ request :create_network_acl_entry
66
+ request :create_network_interface
67
+ request :create_placement_group
68
+ request :create_route
69
+ request :create_route_table
70
+ request :create_security_group
71
+ request :create_snapshot
72
+ request :create_spot_datafeed_subscription
73
+ request :create_subnet
74
+ request :create_tags
75
+ request :create_volume
76
+ request :create_vpc
77
+ request :copy_image
78
+ request :copy_snapshot
79
+ request :delete_dhcp_options
80
+ request :delete_internet_gateway
81
+ request :delete_key_pair
82
+ request :delete_network_acl
83
+ request :delete_network_acl_entry
84
+ request :delete_network_interface
85
+ request :delete_security_group
86
+ request :delete_placement_group
87
+ request :delete_route
88
+ request :delete_route_table
89
+ request :delete_snapshot
90
+ request :delete_spot_datafeed_subscription
91
+ request :delete_subnet
92
+ request :delete_tags
93
+ request :delete_volume
94
+ request :delete_vpc
95
+ request :deregister_image
96
+ request :describe_account_attributes
97
+ request :describe_addresses
98
+ request :describe_availability_zones
99
+ request :describe_dhcp_options
100
+ request :describe_images
101
+ request :describe_instances
102
+ request :describe_internet_gateways
103
+ request :describe_reserved_instances
104
+ request :describe_instance_status
105
+ request :describe_key_pairs
106
+ request :describe_network_acls
107
+ request :describe_network_interface_attribute
108
+ request :describe_network_interfaces
109
+ request :describe_route_tables
110
+ request :describe_placement_groups
111
+ request :describe_regions
112
+ request :describe_reserved_instances_offerings
113
+ request :describe_security_groups
114
+ request :describe_snapshots
115
+ request :describe_spot_datafeed_subscription
116
+ request :describe_spot_instance_requests
117
+ request :describe_spot_price_history
118
+ request :describe_subnets
119
+ request :describe_tags
120
+ request :describe_volumes
121
+ request :describe_volume_status
122
+ request :describe_vpcs
123
+ request :describe_vpc_attribute
124
+ request :detach_network_interface
125
+ request :detach_internet_gateway
126
+ request :detach_volume
127
+ request :disassociate_address
128
+ request :disassociate_route_table
129
+ request :get_console_output
130
+ request :get_password_data
131
+ request :import_key_pair
132
+ request :modify_image_attribute
133
+ request :modify_instance_attribute
134
+ request :modify_network_interface_attribute
135
+ request :modify_snapshot_attribute
136
+ request :modify_subnet_attribute
137
+ request :modify_volume_attribute
138
+ request :modify_vpc_attribute
139
+ request :purchase_reserved_instances_offering
140
+ request :reboot_instances
141
+ request :release_address
142
+ request :replace_network_acl_association
143
+ request :replace_network_acl_entry
144
+ request :replace_route
145
+ request :register_image
146
+ request :request_spot_instances
147
+ request :reset_network_interface_attribute
148
+ request :revoke_security_group_ingress
149
+ request :run_instances
150
+ request :terminate_instances
151
+ request :start_instances
152
+ request :stop_instances
153
+ request :monitor_instances
154
+ request :unmonitor_instances
155
+
156
+ class InvalidURIError < Exception; end
157
+
158
+ # deprecation
159
+ class Real
160
+ def modify_image_attributes(*params)
161
+ Fog::Logger.deprecation("modify_image_attributes is deprecated, use modify_image_attribute instead [light_black](#{caller.first})[/]")
162
+ modify_image_attribute(*params)
163
+ end
164
+
165
+ # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html
166
+ def supported_platforms
167
+ describe_account_attributes.body["accountAttributeSet"].find{ |h| h["attributeName"] == "supported-platforms" }["values"]
168
+ end
169
+ end
170
+
171
+ class Mock
172
+ MOCKED_TAG_TYPES = {
173
+ 'ami' => 'image',
174
+ 'i' => 'instance',
175
+ 'snap' => 'snapshot',
176
+ 'vol' => 'volume',
177
+ 'igw' => 'internet_gateway',
178
+ 'acl' => 'network_acl',
179
+ 'vpc' => 'vpc'
180
+ }
181
+
182
+ include Fog::AWS::CredentialFetcher::ConnectionMethods
183
+ include Fog::AWS::RegionMethods
184
+
185
+ def self.data
186
+ @data ||= Hash.new do |hash, region|
187
+ hash[region] = Hash.new do |region_hash, key|
188
+ owner_id = Fog::AWS::Mock.owner_id
189
+ security_group_id = Fog::AWS::Mock.security_group_id
190
+ region_hash[key] = {
191
+ :deleted_at => {},
192
+ :addresses => {},
193
+ :images => {},
194
+ :image_launch_permissions => Hash.new do |permissions_hash, image_key|
195
+ permissions_hash[image_key] = {
196
+ :users => []
197
+ }
198
+ end,
199
+ :instances => {},
200
+ :reserved_instances => {},
201
+ :key_pairs => {},
202
+ :limits => { :addresses => 5 },
203
+ :owner_id => owner_id,
204
+ :security_groups => {
205
+ 'default' => {
206
+ 'groupDescription' => 'default group',
207
+ 'groupName' => 'default',
208
+ 'groupId' => security_group_id,
209
+ 'ipPermissionsEgress' => [],
210
+ 'ipPermissions' => [
211
+ {
212
+ 'groups' => [{'groupName' => 'default', 'userId' => owner_id, 'groupId' => security_group_id }],
213
+ 'fromPort' => -1,
214
+ 'toPort' => -1,
215
+ 'ipProtocol' => 'icmp',
216
+ 'ipRanges' => []
217
+ },
218
+ {
219
+ 'groups' => [{'groupName' => 'default', 'userId' => owner_id, 'groupId' => security_group_id}],
220
+ 'fromPort' => 0,
221
+ 'toPort' => 65535,
222
+ 'ipProtocol' => 'tcp',
223
+ 'ipRanges' => []
224
+ },
225
+ {
226
+ 'groups' => [{'groupName' => 'default', 'userId' => owner_id, 'groupId' => security_group_id}],
227
+ 'fromPort' => 0,
228
+ 'toPort' => 65535,
229
+ 'ipProtocol' => 'udp',
230
+ 'ipRanges' => []
231
+ }
232
+ ],
233
+ 'ownerId' => owner_id
234
+ },
235
+ 'amazon-elb-sg' => {
236
+ 'groupDescription' => 'amazon-elb-sg',
237
+ 'groupName' => 'amazon-elb-sg',
238
+ 'groupId' => 'amazon-elb',
239
+ 'ownerId' => 'amazon-elb',
240
+ 'ipPermissionsEgree' => [],
241
+ 'ipPermissions' => [],
242
+ },
243
+ },
244
+ :network_acls => {},
245
+ :network_interfaces => {},
246
+ :snapshots => {},
247
+ :volumes => {},
248
+ :internet_gateways => {},
249
+ :tags => {},
250
+ :tag_sets => Hash.new do |tag_set_hash, resource_id|
251
+ tag_set_hash[resource_id] = {}
252
+ end,
253
+ :subnets => [],
254
+ :vpcs => [],
255
+ :dhcp_options => [],
256
+ :route_tables => [],
257
+ :account_attributes => [
258
+ {
259
+ "values" => ["5"],
260
+ "attributeName" => "vpc-max-security-groups-per-interface"
261
+ },
262
+ {
263
+ "values" => ["20"],
264
+ "attributeName" => "max-instances"
265
+ },
266
+ {
267
+ "values" => ["EC2", "VPC"],
268
+ "attributeName" => "supported-platforms"
269
+ },
270
+ {
271
+ "values" => ["none"],
272
+ "attributeName" => "default-vpc"
273
+ },
274
+ {
275
+ "values" => ["5"],
276
+ "attributeName" => "max-elastic-ips"
277
+ },
278
+ {
279
+ "values" => ["5"],
280
+ "attributeName" => "vpc-max-elastic-ips"
281
+ }
282
+ ]
283
+ }
284
+ end
285
+ end
286
+ end
287
+
288
+ def self.reset
289
+ @data = nil
290
+ end
291
+
292
+ attr_accessor :region
293
+
294
+ def initialize(options={})
295
+ @use_iam_profile = options[:use_iam_profile]
296
+ @aws_credentials_expire_at = Time::now + 20
297
+ setup_credentials(options)
298
+ @region = options[:region] || 'us-east-1'
299
+
300
+ if @endpoint = options[:endpoint]
301
+ endpoint = URI.parse(@endpoint)
302
+ @host = endpoint.host or raise InvalidURIError.new("could not parse endpoint: #{@endpoint}")
303
+ @path = endpoint.path
304
+ @port = endpoint.port
305
+ @scheme = endpoint.scheme
306
+ else
307
+ @host = options[:host] || "ec2.#{options[:region]}.amazonaws.com"
308
+ @path = options[:path] || '/'
309
+ @persistent = options[:persistent] || false
310
+ @port = options[:port] || 443
311
+ @scheme = options[:scheme] || 'https'
312
+ end
313
+ validate_aws_region(@host, @region)
314
+ end
315
+
316
+ def region_data
317
+ self.class.data[@region]
318
+ end
319
+
320
+ def data
321
+ self.region_data[@aws_access_key_id]
322
+ end
323
+
324
+ def reset_data
325
+ self.region_data.delete(@aws_access_key_id)
326
+ end
327
+
328
+ def visible_images
329
+ images = self.data[:images].values.reduce({}) do |h, image|
330
+ h.update(image['imageId'] => image)
331
+ end
332
+
333
+ self.region_data.each do |aws_access_key_id, data|
334
+ data[:image_launch_permissions].each do |image_id, list|
335
+ if list[:users].include?(self.data[:owner_id])
336
+ images.update(image_id => data[:images][image_id])
337
+ end
338
+ end
339
+ end
340
+
341
+ images
342
+ end
343
+
344
+ def supported_platforms
345
+ describe_account_attributes.body["accountAttributeSet"].find{ |h| h["attributeName"] == "supported-platforms" }["values"]
346
+ end
347
+
348
+ def enable_ec2_classic
349
+ set_supported_platforms(%w[EC2 VPC])
350
+ end
351
+
352
+ def disable_ec2_classic
353
+ set_supported_platforms(%w[VPC])
354
+ end
355
+
356
+ def set_supported_platforms(values)
357
+ self.data[:account_attributes].find { |h| h["attributeName"] == "supported-platforms" }["values"] = values
358
+ end
359
+
360
+ def tagged_resources(resources)
361
+ Array(resources).map do |resource_id|
362
+ if match = resource_id.match(/^(\w+)-[a-z0-9]{8}/i)
363
+ id = match.captures.first
364
+ else
365
+ raise(Fog::Service::NotFound.new("Unknown resource id #{resource_id}"))
366
+ end
367
+
368
+ if MOCKED_TAG_TYPES.has_key? id
369
+ type = MOCKED_TAG_TYPES[id]
370
+ else
371
+ raise(Fog::Service::NotFound.new("Mocking tags of resource #{resource_id} has not been implemented"))
372
+ end
373
+
374
+ case type
375
+ when 'image'
376
+ unless visible_images.has_key? resource_id
377
+ raise(Fog::Service::NotFound.new("Cannot tag #{resource_id}, the image does not exist"))
378
+ end
379
+ when 'vpc'
380
+ if self.data[:vpcs].select {|v| v['vpcId'] == resource_id }.empty?
381
+ raise(Fog::Service::NotFound.new("Cannot tag #{resource_id}, the vpc does not exist"))
382
+ end
383
+ else
384
+ unless self.data[:"#{type}s"][resource_id]
385
+ raise(Fog::Service::NotFound.new("Cannot tag #{resource_id}, the #{type} does not exist"))
386
+ end
387
+ end
388
+ { 'resourceId' => resource_id, 'resourceType' => type }
389
+ end
390
+ end
391
+
392
+
393
+ def apply_tag_filters(resources, filters, resource_id_key)
394
+ tag_set_fetcher = lambda {|resource| self.data[:tag_sets][resource[resource_id_key]] }
395
+
396
+ # tag-key: match resources tagged with this key (any value)
397
+ if filters.key?('tag-key')
398
+ value = filters.delete('tag-key')
399
+ resources = resources.select{|r| tag_set_fetcher[r].key?(value)}
400
+ end
401
+
402
+ # tag-value: match resources tagged with this value (any key)
403
+ if filters.key?('tag-value')
404
+ value = filters.delete('tag-value')
405
+ resources = resources.select{|r| tag_set_fetcher[r].values.include?(value)}
406
+ end
407
+
408
+ # tag:key: match resources tagged with a key-value pair. Value may be an array, which is OR'd.
409
+ tag_filters = {}
410
+ filters.keys.each do |key|
411
+ tag_filters[key.gsub('tag:', '')] = filters.delete(key) if /^tag:/ =~ key
412
+ end
413
+ for tag_key, tag_value in tag_filters
414
+ resources = resources.select{|r| tag_value == tag_set_fetcher[r][tag_key]}
415
+ end
416
+
417
+ resources
418
+ end
419
+
420
+ def setup_credentials(options)
421
+ @aws_access_key_id = options[:aws_access_key_id]
422
+ end
423
+ end
424
+
425
+ class Real
426
+ include Fog::AWS::CredentialFetcher::ConnectionMethods
427
+ include Fog::AWS::RegionMethods
428
+ # Initialize connection to EC2
429
+ #
430
+ # ==== Notes
431
+ # options parameter must include values for :aws_access_key_id and
432
+ # :aws_secret_access_key in order to create a connection
433
+ #
434
+ # ==== Examples
435
+ # sdb = SimpleDB.new(
436
+ # :aws_access_key_id => your_aws_access_key_id,
437
+ # :aws_secret_access_key => your_aws_secret_access_key
438
+ # )
439
+ #
440
+ # ==== Parameters
441
+ # * options<~Hash> - config arguments for connection. Defaults to {}.
442
+ # * region<~String> - optional region to use. For instance,
443
+ # 'eu-west-1', 'us-east-1', and etc.
444
+ # * aws_session_token<~String> - when using Session Tokens or Federated Users, a session_token must be presented
445
+ #
446
+ # ==== Returns
447
+ # * EC2 object with connection to aws.
448
+
449
+ attr_accessor :region
450
+
451
+ def initialize(options={})
452
+
453
+ @connection_options = options[:connection_options] || {}
454
+ @region = options[:region] ||= 'us-east-1'
455
+ @instrumentor = options[:instrumentor]
456
+ @instrumentor_name = options[:instrumentor_name] || 'fog.aws.compute'
457
+ @version = options[:version] || '2014-06-15'
458
+
459
+ @use_iam_profile = options[:use_iam_profile]
460
+ setup_credentials(options)
461
+
462
+ if @endpoint = options[:endpoint]
463
+ endpoint = URI.parse(@endpoint)
464
+ @host = endpoint.host or raise InvalidURIError.new("could not parse endpoint: #{@endpoint}")
465
+ @path = endpoint.path
466
+ @port = endpoint.port
467
+ @scheme = endpoint.scheme
468
+ else
469
+ @host = options[:host] || "ec2.#{options[:region]}.amazonaws.com"
470
+ @path = options[:path] || '/'
471
+ @persistent = options[:persistent] || false
472
+ @port = options[:port] || 443
473
+ @scheme = options[:scheme] || 'https'
474
+ end
475
+
476
+ validate_aws_region(@host, @region)
477
+ @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options)
478
+ end
479
+
480
+ def reload
481
+ @connection.reset
482
+ end
483
+
484
+ private
485
+ def setup_credentials(options)
486
+ @aws_access_key_id = options[:aws_access_key_id]
487
+ @aws_secret_access_key = options[:aws_secret_access_key]
488
+ @aws_session_token = options[:aws_session_token]
489
+ @aws_credentials_expire_at = options[:aws_credentials_expire_at]
490
+
491
+ @signer = Fog::AWS::SignatureV4.new( @aws_access_key_id, @aws_secret_access_key,@region,'ec2')
492
+ end
493
+
494
+ def request(params)
495
+ refresh_credentials_if_expired
496
+ idempotent = params.delete(:idempotent)
497
+ parser = params.delete(:parser)
498
+
499
+ body, headers = Fog::AWS.signed_params_v4(
500
+ params,
501
+ {'Content-Type' => 'application/x-www-form-urlencoded'},
502
+ {
503
+ :host => @host,
504
+ :path => @path,
505
+ :port => @port,
506
+ :version => @version,
507
+ :signer => @signer,
508
+ :aws_session_token => @aws_session_token,
509
+ :method => "POST"
510
+ }
511
+ )
512
+ if @instrumentor
513
+ @instrumentor.instrument("#{@instrumentor_name}.request", params) do
514
+ _request(body, headers, idempotent, parser)
515
+ end
516
+ else
517
+ _request(body, headers, idempotent, parser)
518
+ end
519
+ end
520
+
521
+ def _request(body, headers, idempotent, parser)
522
+ @connection.request({
523
+ :body => body,
524
+ :expects => 200,
525
+ :headers => headers,
526
+ :idempotent => idempotent,
527
+ :method => 'POST',
528
+ :parser => parser
529
+ })
530
+ rescue Excon::Errors::HTTPStatusError => error
531
+ match = Fog::AWS::Errors.match_error(error)
532
+ raise if match.empty?
533
+ raise case match[:code]
534
+ when 'NotFound', 'Unknown'
535
+ Fog::Compute::AWS::NotFound.slurp(error, match[:message])
536
+ else
537
+ Fog::Compute::AWS::Error.slurp(error, "#{match[:code]} => #{match[:message]}")
538
+ end
539
+ end
540
+ end
541
+ end
542
+ end
543
+ end