fog-aws 1.4.1 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +17 -603
  3. data/CONTRIBUTING.md +6 -6
  4. data/CONTRIBUTORS.md +104 -1
  5. data/LICENSE.md +1 -1
  6. data/README.md +121 -7
  7. data/fog-aws.gemspec +16 -10
  8. data/lib/fog/aws/auto_scaling.rb +2 -1
  9. data/lib/fog/aws/beanstalk.rb +1 -1
  10. data/lib/fog/aws/cdn.rb +16 -3
  11. data/lib/fog/aws/cloud_formation.rb +1 -1
  12. data/lib/fog/aws/cloud_watch.rb +1 -1
  13. data/lib/fog/aws/compute.rb +119 -19
  14. data/lib/fog/aws/credential_fetcher.rb +93 -9
  15. data/lib/fog/aws/data_pipeline.rb +1 -1
  16. data/lib/fog/aws/dns.rb +155 -6
  17. data/lib/fog/aws/dynamodb.rb +1 -1
  18. data/lib/fog/aws/ecs.rb +1 -1
  19. data/lib/fog/aws/efs.rb +1 -1
  20. data/lib/fog/aws/elasticache.rb +6 -4
  21. data/lib/fog/aws/elb.rb +3 -2
  22. data/lib/fog/aws/elbv2.rb +72 -0
  23. data/lib/fog/aws/emr.rb +1 -1
  24. data/lib/fog/aws/glacier.rb +84 -22
  25. data/lib/fog/aws/iam.rb +1 -1
  26. data/lib/fog/aws/kinesis.rb +24 -16
  27. data/lib/fog/aws/kms.rb +1 -1
  28. data/lib/fog/aws/lambda.rb +1 -1
  29. data/lib/fog/aws/mock.rb +8 -0
  30. data/lib/fog/aws/models/auto_scaling/group.rb +10 -0
  31. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  32. data/lib/fog/aws/models/cdn/distribution_helper.rb +2 -2
  33. data/lib/fog/aws/models/cdn/distributions.rb +4 -4
  34. data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -2
  35. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  36. data/lib/fog/aws/models/cdn/invalidations.rb +3 -3
  37. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  38. data/lib/fog/aws/models/cdn/streaming_distributions.rb +4 -4
  39. data/lib/fog/aws/models/compute/address.rb +4 -2
  40. data/lib/fog/aws/models/compute/addresses.rb +3 -3
  41. data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
  42. data/lib/fog/aws/models/compute/dhcp_options.rb +7 -7
  43. data/lib/fog/aws/models/compute/flavor.rb +2 -2
  44. data/lib/fog/aws/models/compute/flavors.rb +4265 -363
  45. data/lib/fog/aws/models/compute/image.rb +2 -2
  46. data/lib/fog/aws/models/compute/images.rb +3 -3
  47. data/lib/fog/aws/models/compute/internet_gateway.rb +2 -2
  48. data/lib/fog/aws/models/compute/internet_gateways.rb +7 -7
  49. data/lib/fog/aws/models/compute/key_pair.rb +2 -2
  50. data/lib/fog/aws/models/compute/key_pairs.rb +3 -3
  51. data/lib/fog/aws/models/compute/network_acl.rb +4 -4
  52. data/lib/fog/aws/models/compute/network_acls.rb +6 -6
  53. data/lib/fog/aws/models/compute/network_interface.rb +2 -2
  54. data/lib/fog/aws/models/compute/network_interfaces.rb +5 -5
  55. data/lib/fog/aws/models/compute/route_table.rb +2 -2
  56. data/lib/fog/aws/models/compute/route_tables.rb +7 -7
  57. data/lib/fog/aws/models/compute/security_group.rb +15 -7
  58. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  59. data/lib/fog/aws/models/compute/server.rb +8 -4
  60. data/lib/fog/aws/models/compute/servers.rb +13 -8
  61. data/lib/fog/aws/models/compute/snapshot.rb +9 -8
  62. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  63. data/lib/fog/aws/models/compute/spot_request.rb +2 -2
  64. data/lib/fog/aws/models/compute/spot_requests.rb +3 -3
  65. data/lib/fog/aws/models/compute/subnet.rb +3 -2
  66. data/lib/fog/aws/models/compute/subnets.rb +3 -3
  67. data/lib/fog/aws/models/compute/tag.rb +2 -2
  68. data/lib/fog/aws/models/compute/tags.rb +3 -3
  69. data/lib/fog/aws/models/compute/volume.rb +21 -32
  70. data/lib/fog/aws/models/compute/volumes.rb +3 -3
  71. data/lib/fog/aws/models/compute/vpc.rb +21 -6
  72. data/lib/fog/aws/models/compute/vpcs.rb +3 -3
  73. data/lib/fog/aws/models/dns/record.rb +2 -2
  74. data/lib/fog/aws/models/dns/records.rb +4 -4
  75. data/lib/fog/aws/models/dns/zone.rb +3 -3
  76. data/lib/fog/aws/models/dns/zones.rb +4 -4
  77. data/lib/fog/aws/models/efs/file_system.rb +4 -0
  78. data/lib/fog/aws/models/elasticache/cluster.rb +1 -1
  79. data/lib/fog/aws/models/elb/backend_server_descriptions.rb +1 -1
  80. data/lib/fog/aws/models/elb/listeners.rb +3 -4
  81. data/lib/fog/aws/models/elb/load_balancer.rb +10 -2
  82. data/lib/fog/aws/models/elb/load_balancers.rb +5 -6
  83. data/lib/fog/aws/models/iam/access_keys.rb +0 -2
  84. data/lib/fog/aws/models/rds/cluster.rb +9 -1
  85. data/lib/fog/aws/models/rds/instance_option.rb +6 -0
  86. data/lib/fog/aws/models/rds/server.rb +66 -63
  87. data/lib/fog/aws/models/storage/directories.rb +4 -3
  88. data/lib/fog/aws/models/storage/directory.rb +40 -6
  89. data/lib/fog/aws/models/storage/file.rb +173 -28
  90. data/lib/fog/aws/models/storage/files.rb +37 -6
  91. data/lib/fog/aws/models/storage/version.rb +2 -2
  92. data/lib/fog/aws/models/storage/versions.rb +3 -3
  93. data/lib/fog/aws/parsers/cdn/distribution.rb +2 -2
  94. data/lib/fog/aws/parsers/cdn/get_distribution_list.rb +2 -2
  95. data/lib/fog/aws/parsers/cdn/get_invalidation.rb +2 -2
  96. data/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +2 -2
  97. data/lib/fog/aws/parsers/cdn/get_streaming_distribution_list.rb +2 -2
  98. data/lib/fog/aws/parsers/cdn/post_invalidation.rb +2 -2
  99. data/lib/fog/aws/parsers/cdn/streaming_distribution.rb +1 -1
  100. data/lib/fog/aws/parsers/compute/allocate_address.rb +2 -2
  101. data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +2 -2
  102. data/lib/fog/aws/parsers/compute/associate_address.rb +2 -2
  103. data/lib/fog/aws/parsers/compute/associate_route_table.rb +2 -2
  104. data/lib/fog/aws/parsers/compute/attach_network_interface.rb +2 -2
  105. data/lib/fog/aws/parsers/compute/attach_volume.rb +2 -2
  106. data/lib/fog/aws/parsers/compute/basic.rb +2 -2
  107. data/lib/fog/aws/parsers/compute/cancel_spot_instance_requests.rb +2 -2
  108. data/lib/fog/aws/parsers/compute/copy_image.rb +2 -2
  109. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +2 -2
  110. data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +2 -2
  111. data/lib/fog/aws/parsers/compute/create_image.rb +2 -2
  112. data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +2 -2
  113. data/lib/fog/aws/parsers/compute/create_key_pair.rb +2 -2
  114. data/lib/fog/aws/parsers/compute/create_network_acl.rb +2 -2
  115. data/lib/fog/aws/parsers/compute/create_network_interface.rb +2 -2
  116. data/lib/fog/aws/parsers/compute/create_route_table.rb +2 -2
  117. data/lib/fog/aws/parsers/compute/create_security_group.rb +2 -2
  118. data/lib/fog/aws/parsers/compute/create_snapshot.rb +3 -3
  119. data/lib/fog/aws/parsers/compute/create_subnet.rb +37 -8
  120. data/lib/fog/aws/parsers/compute/create_volume.rb +2 -2
  121. data/lib/fog/aws/parsers/compute/create_vpc.rb +2 -2
  122. data/lib/fog/aws/parsers/compute/deregister_image.rb +2 -2
  123. data/lib/fog/aws/parsers/compute/describe_account_attributes.rb +2 -2
  124. data/lib/fog/aws/parsers/compute/describe_addresses.rb +32 -11
  125. data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +2 -2
  126. data/lib/fog/aws/parsers/compute/describe_classic_link_instances.rb +2 -2
  127. data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +2 -2
  128. data/lib/fog/aws/parsers/compute/describe_image_attribute.rb +122 -0
  129. data/lib/fog/aws/parsers/compute/describe_images.rb +2 -2
  130. data/lib/fog/aws/parsers/compute/describe_instance_attribute.rb +2 -2
  131. data/lib/fog/aws/parsers/compute/describe_instance_status.rb +2 -2
  132. data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
  133. data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +2 -2
  134. data/lib/fog/aws/parsers/compute/describe_key_pairs.rb +2 -2
  135. data/lib/fog/aws/parsers/compute/describe_network_acls.rb +2 -2
  136. data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +2 -2
  137. data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +2 -2
  138. data/lib/fog/aws/parsers/compute/describe_placement_groups.rb +2 -2
  139. data/lib/fog/aws/parsers/compute/describe_regions.rb +2 -2
  140. data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +2 -2
  141. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +2 -2
  142. data/lib/fog/aws/parsers/compute/describe_route_tables.rb +2 -2
  143. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +21 -7
  144. data/lib/fog/aws/parsers/compute/describe_snapshots.rb +2 -2
  145. data/lib/fog/aws/parsers/compute/describe_spot_price_history.rb +2 -2
  146. data/lib/fog/aws/parsers/compute/describe_subnets.rb +36 -9
  147. data/lib/fog/aws/parsers/compute/describe_tags.rb +2 -2
  148. data/lib/fog/aws/parsers/compute/describe_volume_status.rb +2 -2
  149. data/lib/fog/aws/parsers/compute/describe_volumes.rb +2 -2
  150. data/lib/fog/aws/parsers/compute/describe_volumes_modifications.rb +2 -2
  151. data/lib/fog/aws/parsers/compute/describe_vpc_attribute.rb +2 -2
  152. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link.rb +2 -2
  153. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link_dns_support.rb +2 -2
  154. data/lib/fog/aws/parsers/compute/describe_vpcs.rb +73 -39
  155. data/lib/fog/aws/parsers/compute/detach_volume.rb +2 -2
  156. data/lib/fog/aws/parsers/compute/get_console_output.rb +2 -2
  157. data/lib/fog/aws/parsers/compute/get_password_data.rb +2 -2
  158. data/lib/fog/aws/parsers/compute/import_key_pair.rb +2 -2
  159. data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +2 -2
  160. data/lib/fog/aws/parsers/compute/modify_volume.rb +2 -2
  161. data/lib/fog/aws/parsers/compute/monitor_unmonitor_instances.rb +2 -2
  162. data/lib/fog/aws/parsers/compute/move_address_to_vpc.rb +2 -2
  163. data/lib/fog/aws/parsers/compute/network_acl_parser.rb +2 -2
  164. data/lib/fog/aws/parsers/compute/network_interface_parser.rb +2 -2
  165. data/lib/fog/aws/parsers/compute/purchase_reserved_instances_offering.rb +2 -2
  166. data/lib/fog/aws/parsers/compute/register_image.rb +2 -2
  167. data/lib/fog/aws/parsers/compute/replace_network_acl_association.rb +2 -2
  168. data/lib/fog/aws/parsers/compute/restore_address_to_classic.rb +2 -2
  169. data/lib/fog/aws/parsers/compute/run_instances.rb +2 -2
  170. data/lib/fog/aws/parsers/compute/spot_datafeed_subscription.rb +2 -2
  171. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
  172. data/lib/fog/aws/parsers/compute/start_stop_instances.rb +2 -2
  173. data/lib/fog/aws/parsers/compute/terminate_instances.rb +2 -2
  174. data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +2 -2
  175. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +3 -3
  176. data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +2 -2
  177. data/lib/fog/aws/parsers/dns/get_change.rb +2 -2
  178. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +5 -5
  179. data/lib/fog/aws/parsers/dns/health_check.rb +2 -2
  180. data/lib/fog/aws/parsers/dns/list_health_checks.rb +2 -2
  181. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +5 -3
  182. data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +2 -2
  183. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +3 -3
  184. data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
  185. data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
  186. data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
  187. data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
  188. data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
  189. data/lib/fog/aws/parsers/iam/get_group_policy.rb +1 -1
  190. data/lib/fog/aws/parsers/iam/get_role_policy.rb +1 -1
  191. data/lib/fog/aws/parsers/iam/get_user_policy.rb +1 -1
  192. data/lib/fog/aws/parsers/iam/list_access_keys.rb +1 -1
  193. data/lib/fog/aws/parsers/iam/list_server_certificates.rb +1 -1
  194. data/lib/fog/aws/parsers/iam/policy_version.rb +1 -1
  195. data/lib/fog/aws/parsers/rds/db_cluster_parser.rb +1 -1
  196. data/lib/fog/aws/parsers/rds/db_parser.rb +42 -3
  197. data/lib/fog/aws/parsers/rds/describe_orderable_db_instance_options.rb +4 -3
  198. data/lib/fog/aws/parsers/rds/modify_db_subnet_group.rb +1 -1
  199. data/lib/fog/aws/parsers/redshift/cluster_subnet_group_parser.rb +1 -1
  200. data/lib/fog/aws/parsers/storage/access_control_list.rb +2 -2
  201. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +2 -2
  202. data/lib/fog/aws/parsers/storage/copy_object.rb +2 -2
  203. data/lib/fog/aws/parsers/storage/cors_configuration.rb +2 -2
  204. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +2 -2
  205. data/lib/fog/aws/parsers/storage/get_bucket.rb +2 -2
  206. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +2 -2
  207. data/lib/fog/aws/parsers/storage/get_bucket_location.rb +2 -2
  208. data/lib/fog/aws/parsers/storage/get_bucket_logging.rb +2 -2
  209. data/lib/fog/aws/parsers/storage/get_bucket_notification.rb +2 -2
  210. data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +2 -2
  211. data/lib/fog/aws/parsers/storage/get_bucket_tagging.rb +2 -2
  212. data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +2 -2
  213. data/lib/fog/aws/parsers/storage/get_bucket_website.rb +2 -2
  214. data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
  215. data/lib/fog/aws/parsers/storage/get_request_payment.rb +2 -2
  216. data/lib/fog/aws/parsers/storage/get_service.rb +2 -2
  217. data/lib/fog/aws/parsers/storage/initiate_multipart_upload.rb +2 -2
  218. data/lib/fog/aws/parsers/storage/list_multipart_uploads.rb +2 -2
  219. data/lib/fog/aws/parsers/storage/list_parts.rb +2 -2
  220. data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
  221. data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
  222. data/lib/fog/aws/rds.rb +1 -1
  223. data/lib/fog/aws/redshift.rb +1 -1
  224. data/lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb +1 -1
  225. data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +1 -1
  226. data/lib/fog/aws/requests/auto_scaling/detach_instances.rb +3 -4
  227. data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +1 -1
  228. data/lib/fog/aws/requests/auto_scaling/set_instance_protection.rb +67 -0
  229. data/lib/fog/aws/requests/cdn/delete_distribution.rb +6 -6
  230. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +6 -6
  231. data/lib/fog/aws/requests/cdn/get_distribution.rb +5 -5
  232. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +3 -3
  233. data/lib/fog/aws/requests/cdn/get_invalidation.rb +5 -5
  234. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +4 -4
  235. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +5 -5
  236. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +3 -3
  237. data/lib/fog/aws/requests/cdn/post_distribution.rb +6 -6
  238. data/lib/fog/aws/requests/cdn/post_invalidation.rb +5 -5
  239. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +6 -6
  240. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +7 -7
  241. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +7 -7
  242. data/lib/fog/aws/requests/cloud_formation/create_change_set.rb +1 -1
  243. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +1 -1
  244. data/lib/fog/aws/requests/cloud_formation/get_template_summary.rb +1 -1
  245. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +1 -1
  246. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +1 -1
  247. data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +2 -2
  248. data/lib/fog/aws/requests/compute/allocate_address.rb +4 -4
  249. data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +5 -5
  250. data/lib/fog/aws/requests/compute/associate_address.rb +7 -7
  251. data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +4 -4
  252. data/lib/fog/aws/requests/compute/associate_route_table.rb +5 -5
  253. data/lib/fog/aws/requests/compute/attach_classic_link_vpc.rb +7 -7
  254. data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +4 -4
  255. data/lib/fog/aws/requests/compute/attach_network_interface.rb +6 -6
  256. data/lib/fog/aws/requests/compute/attach_volume.rb +7 -7
  257. data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +14 -12
  258. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +50 -31
  259. data/lib/fog/aws/requests/compute/cancel_spot_instance_requests.rb +4 -4
  260. data/lib/fog/aws/requests/compute/copy_image.rb +3 -3
  261. data/lib/fog/aws/requests/compute/copy_snapshot.rb +24 -11
  262. data/lib/fog/aws/requests/compute/create_dhcp_options.rb +3 -3
  263. data/lib/fog/aws/requests/compute/create_image.rb +3 -3
  264. data/lib/fog/aws/requests/compute/create_internet_gateway.rb +3 -3
  265. data/lib/fog/aws/requests/compute/create_key_pair.rb +4 -4
  266. data/lib/fog/aws/requests/compute/create_network_acl.rb +4 -4
  267. data/lib/fog/aws/requests/compute/create_network_acl_entry.rb +5 -5
  268. data/lib/fog/aws/requests/compute/create_network_interface.rb +16 -13
  269. data/lib/fog/aws/requests/compute/create_placement_group.rb +3 -3
  270. data/lib/fog/aws/requests/compute/create_route.rb +10 -10
  271. data/lib/fog/aws/requests/compute/create_route_table.rb +5 -5
  272. data/lib/fog/aws/requests/compute/create_security_group.rb +27 -22
  273. data/lib/fog/aws/requests/compute/create_snapshot.rb +3 -3
  274. data/lib/fog/aws/requests/compute/create_spot_datafeed_subscription.rb +3 -3
  275. data/lib/fog/aws/requests/compute/create_subnet.rb +23 -19
  276. data/lib/fog/aws/requests/compute/create_tags.rb +3 -3
  277. data/lib/fog/aws/requests/compute/create_volume.rb +11 -11
  278. data/lib/fog/aws/requests/compute/create_vpc.rb +43 -15
  279. data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +4 -4
  280. data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +4 -4
  281. data/lib/fog/aws/requests/compute/delete_key_pair.rb +3 -3
  282. data/lib/fog/aws/requests/compute/delete_network_acl.rb +5 -5
  283. data/lib/fog/aws/requests/compute/delete_network_acl_entry.rb +5 -5
  284. data/lib/fog/aws/requests/compute/delete_network_interface.rb +5 -5
  285. data/lib/fog/aws/requests/compute/delete_placement_group.rb +3 -3
  286. data/lib/fog/aws/requests/compute/delete_route.rb +6 -6
  287. data/lib/fog/aws/requests/compute/delete_route_table.rb +5 -5
  288. data/lib/fog/aws/requests/compute/delete_security_group.rb +17 -17
  289. data/lib/fog/aws/requests/compute/delete_snapshot.rb +4 -4
  290. data/lib/fog/aws/requests/compute/delete_spot_datafeed_subscription.rb +3 -3
  291. data/lib/fog/aws/requests/compute/delete_subnet.rb +4 -4
  292. data/lib/fog/aws/requests/compute/delete_tags.rb +3 -3
  293. data/lib/fog/aws/requests/compute/delete_volume.rb +5 -5
  294. data/lib/fog/aws/requests/compute/delete_vpc.rb +4 -4
  295. data/lib/fog/aws/requests/compute/deregister_image.rb +4 -4
  296. data/lib/fog/aws/requests/compute/describe_account_attributes.rb +3 -3
  297. data/lib/fog/aws/requests/compute/describe_addresses.rb +3 -3
  298. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +6 -3
  299. data/lib/fog/aws/requests/compute/describe_classic_link_instances.rb +3 -3
  300. data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +3 -3
  301. data/lib/fog/aws/requests/compute/describe_image_attribute.rb +74 -0
  302. data/lib/fog/aws/requests/compute/describe_images.rb +3 -3
  303. data/lib/fog/aws/requests/compute/describe_instance_attribute.rb +4 -4
  304. data/lib/fog/aws/requests/compute/describe_instance_status.rb +3 -3
  305. data/lib/fog/aws/requests/compute/describe_instances.rb +4 -4
  306. data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +3 -3
  307. data/lib/fog/aws/requests/compute/describe_key_pairs.rb +3 -3
  308. data/lib/fog/aws/requests/compute/describe_network_acls.rb +3 -3
  309. data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +19 -17
  310. data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +5 -5
  311. data/lib/fog/aws/requests/compute/describe_placement_groups.rb +3 -3
  312. data/lib/fog/aws/requests/compute/describe_regions.rb +3 -3
  313. data/lib/fog/aws/requests/compute/describe_reserved_instances.rb +3 -3
  314. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +3 -3
  315. data/lib/fog/aws/requests/compute/describe_route_tables.rb +3 -3
  316. data/lib/fog/aws/requests/compute/describe_security_groups.rb +47 -10
  317. data/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -3
  318. data/lib/fog/aws/requests/compute/describe_spot_datafeed_subscription.rb +3 -3
  319. data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +3 -3
  320. data/lib/fog/aws/requests/compute/describe_spot_price_history.rb +5 -5
  321. data/lib/fog/aws/requests/compute/describe_subnets.rb +15 -14
  322. data/lib/fog/aws/requests/compute/describe_tags.rb +3 -3
  323. data/lib/fog/aws/requests/compute/describe_volume_status.rb +3 -3
  324. data/lib/fog/aws/requests/compute/describe_volumes.rb +3 -3
  325. data/lib/fog/aws/requests/compute/describe_volumes_modifications.rb +3 -3
  326. data/lib/fog/aws/requests/compute/describe_vpc_attribute.rb +5 -5
  327. data/lib/fog/aws/requests/compute/describe_vpc_classic_link.rb +4 -4
  328. data/lib/fog/aws/requests/compute/describe_vpc_classic_link_dns_support.rb +3 -3
  329. data/lib/fog/aws/requests/compute/describe_vpcs.rb +3 -3
  330. data/lib/fog/aws/requests/compute/detach_classic_link_vpc.rb +5 -5
  331. data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +4 -4
  332. data/lib/fog/aws/requests/compute/detach_network_interface.rb +4 -4
  333. data/lib/fog/aws/requests/compute/detach_volume.rb +5 -5
  334. data/lib/fog/aws/requests/compute/disable_vpc_classic_link.rb +4 -4
  335. data/lib/fog/aws/requests/compute/disable_vpc_classic_link_dns_support.rb +4 -4
  336. data/lib/fog/aws/requests/compute/disassociate_address.rb +5 -5
  337. data/lib/fog/aws/requests/compute/disassociate_route_table.rb +5 -5
  338. data/lib/fog/aws/requests/compute/enable_vpc_classic_link.rb +4 -4
  339. data/lib/fog/aws/requests/compute/enable_vpc_classic_link_dns_support.rb +4 -4
  340. data/lib/fog/aws/requests/compute/get_console_output.rb +4 -4
  341. data/lib/fog/aws/requests/compute/get_password_data.rb +4 -4
  342. data/lib/fog/aws/requests/compute/import_key_pair.rb +4 -4
  343. data/lib/fog/aws/requests/compute/modify_image_attribute.rb +4 -4
  344. data/lib/fog/aws/requests/compute/modify_instance_attribute.rb +3 -3
  345. data/lib/fog/aws/requests/compute/modify_instance_placement.rb +33 -0
  346. data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +12 -12
  347. data/lib/fog/aws/requests/compute/modify_snapshot_attribute.rb +3 -3
  348. data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +3 -3
  349. data/lib/fog/aws/requests/compute/modify_volume.rb +6 -6
  350. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +4 -4
  351. data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +7 -7
  352. data/lib/fog/aws/requests/compute/monitor_instances.rb +4 -4
  353. data/lib/fog/aws/requests/compute/move_address_to_vpc.rb +4 -4
  354. data/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +3 -3
  355. data/lib/fog/aws/requests/compute/reboot_instances.rb +4 -4
  356. data/lib/fog/aws/requests/compute/register_image.rb +4 -4
  357. data/lib/fog/aws/requests/compute/release_address.rb +5 -5
  358. data/lib/fog/aws/requests/compute/replace_network_acl_association.rb +5 -5
  359. data/lib/fog/aws/requests/compute/replace_network_acl_entry.rb +5 -5
  360. data/lib/fog/aws/requests/compute/replace_route.rb +10 -10
  361. data/lib/fog/aws/requests/compute/request_spot_instances.rb +8 -8
  362. data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +6 -6
  363. data/lib/fog/aws/requests/compute/restore_address_to_classic.rb +5 -5
  364. data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +23 -29
  365. data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +22 -29
  366. data/lib/fog/aws/requests/compute/run_instances.rb +69 -5
  367. data/lib/fog/aws/requests/compute/start_instances.rb +4 -4
  368. data/lib/fog/aws/requests/compute/stop_instances.rb +15 -7
  369. data/lib/fog/aws/requests/compute/terminate_instances.rb +4 -4
  370. data/lib/fog/aws/requests/compute/unmonitor_instances.rb +4 -4
  371. data/lib/fog/aws/requests/data_pipeline/deactivate_pipeline.rb +1 -1
  372. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +6 -139
  373. data/lib/fog/aws/requests/dns/create_health_check.rb +3 -3
  374. data/lib/fog/aws/requests/dns/create_hosted_zone.rb +4 -4
  375. data/lib/fog/aws/requests/dns/delete_health_check.rb +2 -2
  376. data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +4 -4
  377. data/lib/fog/aws/requests/dns/get_change.rb +4 -4
  378. data/lib/fog/aws/requests/dns/get_health_check.rb +3 -3
  379. data/lib/fog/aws/requests/dns/get_hosted_zone.rb +4 -4
  380. data/lib/fog/aws/requests/dns/list_health_checks.rb +3 -3
  381. data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -3
  382. data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +5 -5
  383. data/lib/fog/aws/requests/dynamodb/update_item.rb +6 -5
  384. data/lib/fog/aws/requests/ecs/list_task_definitions.rb +1 -1
  385. data/lib/fog/aws/requests/efs/create_file_system.rb +15 -3
  386. data/lib/fog/aws/requests/efs/create_mount_target.rb +8 -4
  387. data/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +1 -1
  388. data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +2 -2
  389. data/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +1 -1
  390. data/lib/fog/aws/requests/elb/create_load_balancer.rb +11 -42
  391. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +24 -21
  392. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +1 -1
  393. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
  394. data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
  395. data/lib/fog/aws/requests/elb/describe_tags.rb +1 -1
  396. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
  397. data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
  398. data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
  399. data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
  400. data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
  401. data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
  402. data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
  403. data/lib/fog/aws/requests/glacier/initiate_job.rb +1 -1
  404. data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +1 -1
  405. data/lib/fog/aws/requests/kinesis/list_streams.rb +1 -1
  406. data/lib/fog/aws/requests/kinesis/put_record.rb +1 -2
  407. data/lib/fog/aws/requests/kinesis/put_records.rb +1 -2
  408. data/lib/fog/aws/requests/lambda/invoke.rb +8 -8
  409. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
  410. data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +3 -3
  411. data/lib/fog/aws/requests/rds/create_db_cluster.rb +1 -1
  412. data/lib/fog/aws/requests/rds/create_db_instance.rb +1 -1
  413. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +2 -2
  414. data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +1 -1
  415. data/lib/fog/aws/requests/rds/describe_orderable_db_instance_options.rb +12 -6
  416. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
  417. data/lib/fog/aws/requests/rds/modify_db_instance.rb +2 -2
  418. data/lib/fog/aws/requests/rds/modify_db_parameter_group.rb +1 -1
  419. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
  420. data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +1 -1
  421. data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
  422. data/lib/fog/aws/requests/sqs/change_message_visibility.rb +1 -1
  423. data/lib/fog/aws/requests/sqs/delete_message.rb +1 -1
  424. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
  425. data/lib/fog/aws/requests/storage/acl_utils.rb +3 -3
  426. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +4 -4
  427. data/lib/fog/aws/requests/storage/copy_object.rb +5 -4
  428. data/lib/fog/aws/requests/storage/cors_utils.rb +3 -3
  429. data/lib/fog/aws/requests/storage/delete_bucket.rb +2 -2
  430. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +2 -2
  431. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +2 -2
  432. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +2 -2
  433. data/lib/fog/aws/requests/storage/delete_bucket_tagging.rb +2 -2
  434. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +2 -2
  435. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +21 -11
  436. data/lib/fog/aws/requests/storage/delete_object.rb +2 -2
  437. data/lib/fog/aws/requests/storage/delete_object_url.rb +40 -0
  438. data/lib/fog/aws/requests/storage/get_bucket.rb +5 -5
  439. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +4 -4
  440. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +4 -4
  441. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +3 -3
  442. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -6
  443. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +3 -3
  444. data/lib/fog/aws/requests/storage/get_bucket_notification.rb +3 -3
  445. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +5 -5
  446. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +2 -2
  447. data/lib/fog/aws/requests/storage/get_bucket_tagging.rb +3 -3
  448. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +3 -3
  449. data/lib/fog/aws/requests/storage/get_bucket_website.rb +3 -3
  450. data/lib/fog/aws/requests/storage/get_object.rb +3 -3
  451. data/lib/fog/aws/requests/storage/get_object_acl.rb +4 -4
  452. data/lib/fog/aws/requests/storage/get_object_http_url.rb +2 -2
  453. data/lib/fog/aws/requests/storage/get_object_https_url.rb +2 -2
  454. data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
  455. data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
  456. data/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
  457. data/lib/fog/aws/requests/storage/get_request_payment.rb +3 -3
  458. data/lib/fog/aws/requests/storage/get_service.rb +5 -5
  459. data/lib/fog/aws/requests/storage/head_bucket.rb +2 -2
  460. data/lib/fog/aws/requests/storage/head_object.rb +2 -2
  461. data/lib/fog/aws/requests/storage/head_object_url.rb +2 -2
  462. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +4 -4
  463. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +3 -3
  464. data/lib/fog/aws/requests/storage/list_parts.rb +4 -4
  465. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +2 -2
  466. data/lib/fog/aws/requests/storage/post_object_restore.rb +2 -2
  467. data/lib/fog/aws/requests/storage/put_bucket.rb +2 -6
  468. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +4 -4
  469. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +4 -4
  470. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +3 -3
  471. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +2 -2
  472. data/lib/fog/aws/requests/storage/put_bucket_notification.rb +3 -3
  473. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +2 -2
  474. data/lib/fog/aws/requests/storage/put_bucket_tagging.rb +2 -2
  475. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +2 -2
  476. data/lib/fog/aws/requests/storage/put_bucket_website.rb +2 -2
  477. data/lib/fog/aws/requests/storage/put_object.rb +10 -9
  478. data/lib/fog/aws/requests/storage/put_object_acl.rb +4 -4
  479. data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
  480. data/lib/fog/aws/requests/storage/put_object_url.rb +2 -2
  481. data/lib/fog/aws/requests/storage/put_request_payment.rb +2 -2
  482. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +4 -3
  483. data/lib/fog/aws/requests/storage/sync_clock.rb +11 -3
  484. data/lib/fog/aws/requests/storage/upload_part.rb +3 -3
  485. data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
  486. data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
  487. data/lib/fog/aws/service_mapper.rb +129 -0
  488. data/lib/fog/aws/ses.rb +1 -1
  489. data/lib/fog/aws/signaturev4.rb +1 -1
  490. data/lib/fog/aws/simpledb.rb +1 -1
  491. data/lib/fog/aws/sns.rb +1 -1
  492. data/lib/fog/aws/sqs.rb +1 -1
  493. data/lib/fog/aws/storage.rb +107 -20
  494. data/lib/fog/aws/support.rb +1 -1
  495. data/lib/fog/aws/version.rb +1 -1
  496. data/lib/fog/aws.rb +31 -19
  497. metadata +70 -297
  498. data/.gitignore +0 -16
  499. data/.travis.yml +0 -54
  500. data/Gemfile +0 -14
  501. data/Rakefile +0 -8
  502. data/gemfiles/Gemfile-edge +0 -14
  503. data/gemfiles/Gemfile-ruby-1.8.7 +0 -6
  504. data/gemfiles/Gemfile-ruby-1.9 +0 -7
  505. data/gemfiles/Gemfile-ruby-2.0 +0 -7
  506. data/tests/credentials_tests.rb +0 -86
  507. data/tests/helper.rb +0 -29
  508. data/tests/helpers/collection_helper.rb +0 -97
  509. data/tests/helpers/compute/flavors_helper.rb +0 -32
  510. data/tests/helpers/compute/server_helper.rb +0 -25
  511. data/tests/helpers/compute/servers_helper.rb +0 -10
  512. data/tests/helpers/dns_helper.rb +0 -55
  513. data/tests/helpers/formats_helper.rb +0 -98
  514. data/tests/helpers/formats_helper_tests.rb +0 -110
  515. data/tests/helpers/mock_helper.rb +0 -109
  516. data/tests/helpers/model_helper.rb +0 -31
  517. data/tests/helpers/responds_to_helper.rb +0 -11
  518. data/tests/helpers/schema_validator_tests.rb +0 -107
  519. data/tests/helpers/succeeds_helper.rb +0 -9
  520. data/tests/lorem.txt +0 -1
  521. data/tests/models/auto_scaling/activities_tests.rb +0 -6
  522. data/tests/models/auto_scaling/configuration_test.rb +0 -13
  523. data/tests/models/auto_scaling/configurations_tests.rb +0 -11
  524. data/tests/models/auto_scaling/groups_test.rb +0 -27
  525. data/tests/models/auto_scaling/helper.rb +0 -0
  526. data/tests/models/auto_scaling/instance_tests.rb +0 -15
  527. data/tests/models/auto_scaling/instances_tests.rb +0 -6
  528. data/tests/models/beanstalk/application_tests.rb +0 -69
  529. data/tests/models/beanstalk/applications_tests.rb +0 -7
  530. data/tests/models/beanstalk/environment_tests.rb +0 -131
  531. data/tests/models/beanstalk/environments_tests.rb +0 -34
  532. data/tests/models/beanstalk/template_tests.rb +0 -47
  533. data/tests/models/beanstalk/templates_tests.rb +0 -62
  534. data/tests/models/beanstalk/version_tests.rb +0 -66
  535. data/tests/models/beanstalk/versions_tests.rb +0 -60
  536. data/tests/models/cdn/distribution_tests.rb +0 -15
  537. data/tests/models/cdn/distributions_tests.rb +0 -15
  538. data/tests/models/cdn/invalidation_tests.rb +0 -31
  539. data/tests/models/cdn/invalidations_tests.rb +0 -14
  540. data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
  541. data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
  542. data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
  543. data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
  544. data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
  545. data/tests/models/cloud_watch/metrics_tests.rb +0 -32
  546. data/tests/models/compute/address_tests.rb +0 -43
  547. data/tests/models/compute/addresses_tests.rb +0 -5
  548. data/tests/models/compute/dhcp_option_tests.rb +0 -3
  549. data/tests/models/compute/dhcp_options_tests.rb +0 -3
  550. data/tests/models/compute/internet_gateway_tests.rb +0 -3
  551. data/tests/models/compute/internet_gateways_tests.rb +0 -3
  552. data/tests/models/compute/key_pair_tests.rb +0 -26
  553. data/tests/models/compute/key_pairs_tests.rb +0 -5
  554. data/tests/models/compute/network_acl_tests.rb +0 -109
  555. data/tests/models/compute/network_acls_tests.rb +0 -20
  556. data/tests/models/compute/network_interfaces_test.rb +0 -12
  557. data/tests/models/compute/security_group_tests.rb +0 -98
  558. data/tests/models/compute/security_groups_tests.rb +0 -5
  559. data/tests/models/compute/server_tests.rb +0 -94
  560. data/tests/models/compute/snapshot_tests.rb +0 -10
  561. data/tests/models/compute/snapshots_tests.rb +0 -10
  562. data/tests/models/compute/subnet_tests.rb +0 -13
  563. data/tests/models/compute/subnets_tests.rb +0 -5
  564. data/tests/models/compute/volume_tests.rb +0 -58
  565. data/tests/models/compute/volumes_tests.rb +0 -5
  566. data/tests/models/compute/vpc_tests.rb +0 -26
  567. data/tests/models/compute/vpcs_tests.rb +0 -19
  568. data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
  569. data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
  570. data/tests/models/dns/record_tests.rb +0 -33
  571. data/tests/models/dns/records_tests.rb +0 -41
  572. data/tests/models/dns/zone_tests.rb +0 -4
  573. data/tests/models/dns/zones_tests.rb +0 -4
  574. data/tests/models/efs/file_system_tests.rb +0 -12
  575. data/tests/models/efs/mount_target_tests.rb +0 -43
  576. data/tests/models/efs/mount_targets_tests.rb +0 -30
  577. data/tests/models/elasticache/cluster_tests.rb +0 -30
  578. data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
  579. data/tests/models/elasticache/security_groups_tests.rb +0 -52
  580. data/tests/models/elasticache/subnet_groups_tests.rb +0 -44
  581. data/tests/models/elb/model_tests.rb +0 -360
  582. data/tests/models/elb/tagging_tests.rb +0 -15
  583. data/tests/models/glacier/model_tests.rb +0 -47
  584. data/tests/models/iam/access_keys_tests.rb +0 -53
  585. data/tests/models/iam/groups_tests.rb +0 -59
  586. data/tests/models/iam/instance_profile_tests.rb +0 -18
  587. data/tests/models/iam/managed_policies_tests.rb +0 -89
  588. data/tests/models/iam/policies_tests.rb +0 -57
  589. data/tests/models/iam/roles_tests.rb +0 -71
  590. data/tests/models/iam/users_tests.rb +0 -119
  591. data/tests/models/rds/cluster_tests.rb +0 -54
  592. data/tests/models/rds/clusters_tests.rb +0 -5
  593. data/tests/models/rds/event_subscription_tests.rb +0 -9
  594. data/tests/models/rds/event_subscriptions_tests.rb +0 -6
  595. data/tests/models/rds/helper.rb +0 -25
  596. data/tests/models/rds/instance_option_tests.rb +0 -14
  597. data/tests/models/rds/parameter_group_tests.rb +0 -24
  598. data/tests/models/rds/parameter_groups_tests.rb +0 -8
  599. data/tests/models/rds/security_group_tests.rb +0 -77
  600. data/tests/models/rds/security_groups_tests.rb +0 -5
  601. data/tests/models/rds/server_tests.rb +0 -131
  602. data/tests/models/rds/servers_tests.rb +0 -24
  603. data/tests/models/rds/snapshot_tests.rb +0 -12
  604. data/tests/models/rds/snapshots_tests.rb +0 -12
  605. data/tests/models/rds/tagging_tests.rb +0 -20
  606. data/tests/models/sns/topic_tests.rb +0 -15
  607. data/tests/models/sns/topics_tests.rb +0 -6
  608. data/tests/models/storage/directory_tests.rb +0 -91
  609. data/tests/models/storage/file_tests.rb +0 -133
  610. data/tests/models/storage/files_tests.rb +0 -58
  611. data/tests/models/storage/url_tests.rb +0 -44
  612. data/tests/models/storage/version_tests.rb +0 -52
  613. data/tests/models/storage/versions_tests.rb +0 -56
  614. data/tests/models/support/trusted_advisor_tests.rb +0 -25
  615. data/tests/parsers/compute/describe_images_tests.rb +0 -33
  616. data/tests/parsers/elb/describe_load_balancers.rb +0 -65
  617. data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -103
  618. data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
  619. data/tests/requests/auto_scaling/helper.rb +0 -229
  620. data/tests/requests/auto_scaling/model_tests.rb +0 -235
  621. data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
  622. data/tests/requests/auto_scaling/tag_tests.rb +0 -63
  623. data/tests/requests/beanstalk/application_tests.rb +0 -140
  624. data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
  625. data/tests/requests/cdn/cdn_tests.rb +0 -252
  626. data/tests/requests/cloud_formation/stack_tests.rb +0 -167
  627. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
  628. data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
  629. data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
  630. data/tests/requests/compute/address_tests.rb +0 -144
  631. data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
  632. data/tests/requests/compute/availability_zone_tests.rb +0 -25
  633. data/tests/requests/compute/client_tests.rb +0 -25
  634. data/tests/requests/compute/dhcp_options_tests.rb +0 -39
  635. data/tests/requests/compute/helper.rb +0 -27
  636. data/tests/requests/compute/image_tests.rb +0 -160
  637. data/tests/requests/compute/instance_attrib_tests.rb +0 -168
  638. data/tests/requests/compute/instance_tests.rb +0 -338
  639. data/tests/requests/compute/internet_gateway_tests.rb +0 -49
  640. data/tests/requests/compute/key_pair_tests.rb +0 -67
  641. data/tests/requests/compute/network_acl_tests.rb +0 -112
  642. data/tests/requests/compute/network_interface_tests.rb +0 -250
  643. data/tests/requests/compute/placement_group_tests.rb +0 -48
  644. data/tests/requests/compute/region_tests.rb +0 -52
  645. data/tests/requests/compute/route_tests.rb +0 -341
  646. data/tests/requests/compute/security_group_tests.rb +0 -446
  647. data/tests/requests/compute/snapshot_tests.rb +0 -77
  648. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
  649. data/tests/requests/compute/spot_instance_tests.rb +0 -55
  650. data/tests/requests/compute/spot_price_history_tests.rb +0 -23
  651. data/tests/requests/compute/subnet_tests.rb +0 -85
  652. data/tests/requests/compute/tag_tests.rb +0 -101
  653. data/tests/requests/compute/volume_tests.rb +0 -263
  654. data/tests/requests/compute/vpc_tests.rb +0 -214
  655. data/tests/requests/data_pipeline/helper.rb +0 -78
  656. data/tests/requests/data_pipeline/pipeline_tests.rb +0 -80
  657. data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
  658. data/tests/requests/dns/dns_tests.rb +0 -244
  659. data/tests/requests/dns/health_check_tests.rb +0 -159
  660. data/tests/requests/dns/helper.rb +0 -21
  661. data/tests/requests/dynamodb/item_tests.rb +0 -137
  662. data/tests/requests/dynamodb/table_tests.rb +0 -99
  663. data/tests/requests/ecs/cluster_tests.rb +0 -112
  664. data/tests/requests/ecs/container_instance_tests.rb +0 -119
  665. data/tests/requests/ecs/helper.rb +0 -276
  666. data/tests/requests/ecs/sample_task_definition1.json +0 -56
  667. data/tests/requests/ecs/service_tests.rb +0 -132
  668. data/tests/requests/ecs/task_definitions_tests.rb +0 -97
  669. data/tests/requests/ecs/task_tests.rb +0 -145
  670. data/tests/requests/efs/file_system_tests.rb +0 -152
  671. data/tests/requests/efs/helper.rb +0 -42
  672. data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
  673. data/tests/requests/elasticache/describe_events.rb +0 -17
  674. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
  675. data/tests/requests/elasticache/helper.rb +0 -103
  676. data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
  677. data/tests/requests/elasticache/security_group_tests.rb +0 -108
  678. data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
  679. data/tests/requests/elb/helper.rb +0 -91
  680. data/tests/requests/elb/listener_tests.rb +0 -68
  681. data/tests/requests/elb/load_balancer_tests.rb +0 -89
  682. data/tests/requests/elb/policy_tests.rb +0 -132
  683. data/tests/requests/emr/helper.rb +0 -167
  684. data/tests/requests/emr/instance_group_tests.rb +0 -106
  685. data/tests/requests/emr/job_flow_tests.rb +0 -88
  686. data/tests/requests/federation/get_signin_token_tests.rb +0 -11
  687. data/tests/requests/glacier/archive_tests.rb +0 -13
  688. data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
  689. data/tests/requests/glacier/tree_hash_tests.rb +0 -62
  690. data/tests/requests/glacier/vault_tests.rb +0 -35
  691. data/tests/requests/iam/access_key_tests.rb +0 -53
  692. data/tests/requests/iam/account_policy_tests.rb +0 -20
  693. data/tests/requests/iam/account_tests.rb +0 -34
  694. data/tests/requests/iam/group_policy_tests.rb +0 -48
  695. data/tests/requests/iam/group_tests.rb +0 -44
  696. data/tests/requests/iam/helper.rb +0 -154
  697. data/tests/requests/iam/instance_profile_tests.rb +0 -44
  698. data/tests/requests/iam/login_profile_tests.rb +0 -62
  699. data/tests/requests/iam/managed_policy_tests.rb +0 -111
  700. data/tests/requests/iam/mfa_tests.rb +0 -23
  701. data/tests/requests/iam/role_tests.rb +0 -156
  702. data/tests/requests/iam/server_certificate_tests.rb +0 -130
  703. data/tests/requests/iam/user_policy_tests.rb +0 -45
  704. data/tests/requests/iam/user_tests.rb +0 -78
  705. data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -114
  706. data/tests/requests/kinesis/helper.rb +0 -111
  707. data/tests/requests/kinesis/stream_tests.rb +0 -169
  708. data/tests/requests/kms/helper.rb +0 -27
  709. data/tests/requests/kms/key_tests.rb +0 -23
  710. data/tests/requests/lambda/function_sample_1.js +0 -9
  711. data/tests/requests/lambda/function_sample_2.js +0 -9
  712. data/tests/requests/lambda/function_tests.rb +0 -460
  713. data/tests/requests/lambda/helper.rb +0 -81
  714. data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
  715. data/tests/requests/rds/cluster_tests.rb +0 -37
  716. data/tests/requests/rds/db_engine_versions.rb +0 -7
  717. data/tests/requests/rds/db_snapshot_tests.rb +0 -62
  718. data/tests/requests/rds/describe_events.rb +0 -16
  719. data/tests/requests/rds/event_subscription_tests.rb +0 -30
  720. data/tests/requests/rds/helper.rb +0 -401
  721. data/tests/requests/rds/instance_option_tests.rb +0 -21
  722. data/tests/requests/rds/instance_tests.rb +0 -149
  723. data/tests/requests/rds/log_file_tests.rb +0 -19
  724. data/tests/requests/rds/parameter_group_tests.rb +0 -62
  725. data/tests/requests/rds/parameter_request_tests.rb +0 -32
  726. data/tests/requests/rds/security_group_tests.rb +0 -101
  727. data/tests/requests/rds/subnet_groups_tests.rb +0 -52
  728. data/tests/requests/rds/tagging_tests.rb +0 -78
  729. data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
  730. data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
  731. data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
  732. data/tests/requests/redshift/cluster_tests.rb +0 -80
  733. data/tests/requests/ses/helper.rb +0 -9
  734. data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
  735. data/tests/requests/ses/verified_email_address_tests.rb +0 -27
  736. data/tests/requests/simpledb/attributes_tests.rb +0 -86
  737. data/tests/requests/simpledb/domain_tests.rb +0 -51
  738. data/tests/requests/simpledb/helper.rb +0 -10
  739. data/tests/requests/sns/helper.rb +0 -9
  740. data/tests/requests/sns/subscription_tests.rb +0 -86
  741. data/tests/requests/sns/topic_tests.rb +0 -53
  742. data/tests/requests/sqs/helper.rb +0 -9
  743. data/tests/requests/sqs/message_tests.rb +0 -51
  744. data/tests/requests/sqs/queue_tests.rb +0 -50
  745. data/tests/requests/storage/acl_utils_tests.rb +0 -209
  746. data/tests/requests/storage/bucket_tests.rb +0 -416
  747. data/tests/requests/storage/cors_utils_tests.rb +0 -108
  748. data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
  749. data/tests/requests/storage/multipart_upload_tests.rb +0 -121
  750. data/tests/requests/storage/object_tests.rb +0 -271
  751. data/tests/requests/storage/versioning_tests.rb +0 -262
  752. data/tests/requests/sts/assume_role_tests.rb +0 -19
  753. data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
  754. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -26
  755. data/tests/requests/sts/get_federation_token_tests.rb +0 -20
  756. data/tests/requests/sts/session_token_tests.rb +0 -16
  757. data/tests/requests/support/helper.rb +0 -43
  758. data/tests/requests/support/trusted_advisor_check_tests.rb +0 -16
  759. data/tests/signaturev4_tests.rb +0 -107
  760. data/tests/signed_params_tests.rb +0 -17
  761. data/tests/storage_tests.rb +0 -7
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class CompleteMultipartUpload < Fog::Parsers::Base
6
6
  def reset
7
7
  @response = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class CopyObject < Fog::Parsers::Base
6
6
  def end_element(name)
7
7
  case name
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class CorsConfiguration < Fog::Parsers::Base
6
6
  def reset
7
7
  @in_cors_configuration_list = false
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class DeleteMultipleObjects < Fog::Parsers::Base
6
6
  def reset
7
7
  @deleted = { 'Deleted' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucket < Fog::Parsers::Base
6
6
  def reset
7
7
  @object = { 'Owner' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketLifecycle < Fog::Parsers::Base
6
6
  def reset
7
7
  @expiration = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketLocation < Fog::Parsers::Base
6
6
  def end_element(name)
7
7
  case name
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketLogging < Fog::Parsers::Base
6
6
  def reset
7
7
  @grant = { 'Grantee' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketNotification < Fog::Parsers::Base
6
6
  def reset
7
7
  @func = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketObjectVersions < Fog::Parsers::Base
6
6
  def reset
7
7
  @delete_marker = { 'Owner' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketTagging < Fog::Parsers::Base
6
6
  def reset
7
7
  @in_tag = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetBucketVersioning < Fog::Parsers::Base
6
6
  def reset
7
7
  @response = { 'VersioningConfiguration' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
 
6
6
  # http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETwebsite.html
7
7
  class GetBucketWebsite < Fog::Parsers::Base
@@ -0,0 +1,33 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module Storage
5
+ class GetObjectTagging < Fog::Parsers::Base
6
+ def reset
7
+ @in_tag = {}
8
+ @response = {'ObjectTagging' => {}}
9
+ end
10
+
11
+ def start_element(name, *args)
12
+ super
13
+ if name == 'Tag'
14
+ @in_tag = {}
15
+ end
16
+ end
17
+
18
+ def end_element(name)
19
+ case name
20
+ when 'Tag'
21
+ @response['ObjectTagging'].merge!(@in_tag)
22
+ @in_tag = {}
23
+ when 'Key'
24
+ @in_tag[value] = nil
25
+ when 'Value'
26
+ @in_tag = {@in_tag.keys.first => value}
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetRequestPayment < Fog::Parsers::Base
6
6
  def end_element(name)
7
7
  case name
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class GetService < Fog::Parsers::Base
6
6
  def reset
7
7
  @bucket = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class InitiateMultipartUpload < Fog::Parsers::Base
6
6
  def reset
7
7
  @response = {}
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class ListMultipartUploads < Fog::Parsers::Base
6
6
  def reset
7
7
  @upload = { 'Initiator' => {}, 'Owner' => {} }
@@ -1,7 +1,7 @@
1
1
  module Fog
2
2
  module Parsers
3
- module Storage
4
- module AWS
3
+ module AWS
4
+ module Storage
5
5
  class ListParts < Fog::Parsers::Base
6
6
  def reset
7
7
  @part = {}
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module Storage
5
+ class UploadPartCopyObject < Fog::Parsers::Base
6
+ def end_element(name)
7
+ case name
8
+ when 'ETag'
9
+ @response[name] = value.gsub('"', '')
10
+ when 'LastModified'
11
+ @response[name] = Time.parse(value)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -2,7 +2,7 @@ module Fog
2
2
  module Parsers
3
3
  module AWS
4
4
  module STS
5
- class AssumeRoleWithWithWebIdentity < Fog::Parsers::Base
5
+ class AssumeRoleWithWebIdentity < Fog::Parsers::Base
6
6
  def reset
7
7
  @response = {}
8
8
  end
data/lib/fog/aws/rds.rb CHANGED
@@ -9,7 +9,7 @@ module Fog
9
9
  class AuthorizationAlreadyExists < Fog::Errors::Error; end
10
10
 
11
11
  requires :aws_access_key_id, :aws_secret_access_key
12
- recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :version, :instrumentor, :instrumentor_name
12
+ recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :version, :instrumentor, :instrumentor_name, :sts_endpoint
13
13
 
14
14
  request_path 'fog/aws/requests/rds'
15
15
  request :describe_events
@@ -4,7 +4,7 @@ module Fog
4
4
  extend Fog::AWS::CredentialFetcher::ServiceMethods
5
5
 
6
6
  requires :aws_access_key_id, :aws_secret_access_key
7
- recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
7
+ recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
8
8
 
9
9
  request_path 'fog/aws/requests/redshift'
10
10
 
@@ -11,7 +11,7 @@ module Fog
11
11
  # * auto_scaling_group_name<~String> - The name of the Auto Scaling
12
12
  # group.
13
13
  # * options<~Hash>:
14
- # 'TagetGroupARNs'<~Array> - A list of target group arns to use.
14
+ # 'TargetGroupARNs'<~Array> - A list of target group arns to use.
15
15
  #
16
16
  # ==== See Also
17
17
  # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_AttachLoadBalancerTargetGroups.html
@@ -40,7 +40,7 @@ module Fog
40
40
  # * 'ActivityId'<~String> - Specifies the ID of the activity.
41
41
  # * 'AutoScalingGroupName'<~String> - The name of the Auto
42
42
  # Scaling group.
43
- # * 'Cause'<~String> - Contins the reason the activity was
43
+ # * 'Cause'<~String> - Contains the reason the activity was
44
44
  # begun.
45
45
  # * 'Description'<~String> - Contains a friendly, more verbose
46
46
  # description of the scaling activity.
@@ -13,9 +13,7 @@ module Fog
13
13
  #
14
14
  # * AutoScalingGroupName<~String> - The name of the Auto Scaling group``
15
15
  # * 'InstanceIds'<~Array> - The list of Auto Scaling instances to detach.
16
- #
17
- # * options<~Hash>:
18
- # 'shouldDecrementDesiredCapacity'<~Boolean> - decrement the asg capacity or not (it will boot another if an instance id detached)
16
+ # * ShouldDecrementDesiredCapacity<~Boolean> - decrement the asg capacity or not (it will boot another if an instance id detached)
19
17
  #
20
18
  # ==== See Also
21
19
  #
@@ -23,6 +21,7 @@ module Fog
23
21
 
24
22
  ExpectedOptions[:asg_name] = %w[AutoScalingGroupName]
25
23
  ExpectedOptions[:instance_ids] = %w[InstanceIds]
24
+ ExpectedOptions[:should_decrement_desired_capacity] = %w[ShouldDecrementDesiredCapacity]
26
25
 
27
26
  def detach_instances(auto_scaling_group_name, options = {})
28
27
 
@@ -46,7 +45,7 @@ module Fog
46
45
 
47
46
  class Mock
48
47
  def detach_instances(auto_scaling_group_name, options = {})
49
- unexpected_options = options.keys - ExpectedOptions[:asg_name] - ExpectedOptions[:instance_ids]
48
+ unexpected_options = options.keys - ExpectedOptions[:asg_name] - ExpectedOptions[:instance_ids] - ExpectedOptions[:should_decrement_desired_capacity]
50
49
 
51
50
  unless unexpected_options.empty?
52
51
  raise Fog::AWS::AutoScaling::ValidationError.new("Options #{unexpected_options.join(',')} should not be included in request")
@@ -39,7 +39,7 @@ module Fog
39
39
  # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html
40
40
  #
41
41
  def put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time=nil, options = {})
42
- # The 'Time' paramenter is now an alias for StartTime and needs to be identical if specified.
42
+ # The 'Time' parameter is now an alias for StartTime and needs to be identical if specified.
43
43
  time = options['StartTime'].nil? ? time : options['StartTime']
44
44
  if !time.nil?
45
45
  time = time.class == Time ? time.utc.iso8601 : Time.parse(time).utc.iso8601
@@ -0,0 +1,67 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+ class Real
5
+ require 'fog/aws/parsers/auto_scaling/basic'
6
+
7
+ # Sets or removes scale in instance protection from one or more instances from the specified
8
+ # Auto Scaling group.
9
+ #
10
+ # cli equiv:
11
+ # `aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in`
12
+ #
13
+ # ==== Parameters
14
+ #
15
+ # * AutoScalingGroupName<~String> - The name of the Auto Scaling group``
16
+ # * 'InstanceIds'<~Array> - The list of Auto Scaling instances to set or remove protection on.
17
+ # * 'ProtectedFromScaleIn'<~Boolean> - Protection state
18
+ #
19
+ # ==== See Also
20
+ #
21
+ # https://docs.aws.amazon.com/autoscaling/latest/APIReference/API_SetInstanceProtection.html
22
+
23
+ ExpectedOptions[:asg_name] = %w[AutoScalingGroupName]
24
+ ExpectedOptions[:instance_ids] = %w[InstanceIds]
25
+ ExpectedOptions[:protected_from_scale_in] = %w[ProtectedFromScaleIn]
26
+
27
+ def set_instance_protection(auto_scaling_group_name, options = {})
28
+ if instance_ids = options.delete('InstanceIds')
29
+ options.merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids]))
30
+ end
31
+ protected_from_scale_in = options.delete('ProtectedFromScaleIn')
32
+
33
+ request({
34
+ 'Action' => 'SetInstanceProtection',
35
+ 'AutoScalingGroupName' => auto_scaling_group_name,
36
+ 'ProtectedFromScaleIn' => protected_from_scale_in,
37
+ :parser => Fog::Parsers::AWS::AutoScaling::Basic.new
38
+ }.merge!(options))
39
+ end
40
+ end
41
+
42
+ class Mock
43
+ def set_instance_protection(auto_scaling_group_name, options = {})
44
+ unexpected_options = options.keys - \
45
+ ExpectedOptions[:asg_name] - \
46
+ ExpectedOptions[:instance_ids] - \
47
+ ExpectedOptions[:protected_from_scale_in]
48
+
49
+ unless unexpected_options.empty?
50
+ raise Fog::AWS::AutoScaling::ValidationError.new("Options #{unexpected_options.join(',')} should not be included in request")
51
+ end
52
+
53
+ unless self.data[:auto_scaling_groups].key?(auto_scaling_group_name)
54
+ raise Fog::AWS::AutoScaling::ValidationError.new('AutoScalingGroup name not found - null')
55
+ end
56
+
57
+ response = Excon::Response.new
58
+ response.status = 200
59
+ response.body = {
60
+ 'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
61
+ }
62
+ response
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  # Delete a distribution from CloudFront.
6
6
  #
@@ -26,13 +26,13 @@ module Fog
26
26
 
27
27
  if distribution
28
28
  if distribution['ETag'] != etag
29
- Fog::CDN::AWS::Mock.error(:invalid_if_match_version)
29
+ Fog::AWS::CDN::Mock.error(:invalid_if_match_version)
30
30
  end
31
31
  unless distribution['DistributionConfig']['CallerReference']
32
- Fog::CDN::AWS::Mock.error(:illegal_update)
32
+ Fog::AWS::CDN::Mock.error(:illegal_update)
33
33
  end
34
34
  if distribution['DistributionConfig']['Enabled']
35
- Fog::CDN::AWS::Mock.error(:distribution_not_disabled)
35
+ Fog::AWS::CDN::Mock.error(:distribution_not_disabled)
36
36
  end
37
37
 
38
38
  self.data[:distributions].delete(distribution_id)
@@ -43,7 +43,7 @@ module Fog
43
43
  response.body = "x-amz-request-id: #{Fog::AWS::Mock.request_id}"
44
44
  response
45
45
  else
46
- Fog::CDN::AWS::Mock.error(:no_such_distribution)
46
+ Fog::AWS::CDN::Mock.error(:no_such_distribution)
47
47
  end
48
48
  end
49
49
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  # Delete a streaming distribution from CloudFront.
6
6
  #
@@ -26,13 +26,13 @@ module Fog
26
26
 
27
27
  if distribution
28
28
  if distribution['ETag'] != etag
29
- Fog::CDN::AWS::Mock.error(:invalid_if_match_version)
29
+ Fog::AWS::CDN::Mock.error(:invalid_if_match_version)
30
30
  end
31
31
  unless distribution['StreamingDistributionConfig']['CallerReference']
32
- Fog::CDN::AWS::Mock.error(:illegal_update)
32
+ Fog::AWS::CDN::Mock.error(:illegal_update)
33
33
  end
34
34
  if distribution['StreamingDistributionConfig']['Enabled']
35
- Fog::CDN::AWS::Mock.error(:distribution_not_disabled)
35
+ Fog::AWS::CDN::Mock.error(:distribution_not_disabled)
36
36
  end
37
37
 
38
38
  self.data[:streaming_distributions].delete(distribution_id)
@@ -42,7 +42,7 @@ module Fog
42
42
  response.body = "x-amz-request-id: #{Fog::AWS::Mock.request_id}"
43
43
  response
44
44
  else
45
- Fog::CDN::AWS::Mock.error(:no_such_streaming_distribution)
45
+ Fog::AWS::CDN::Mock.error(:no_such_streaming_distribution)
46
46
  end
47
47
  end
48
48
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/distribution'
6
6
 
@@ -42,7 +42,7 @@ module Fog
42
42
  :expects => 200,
43
43
  :idempotent => true,
44
44
  :method => 'GET',
45
- :parser => Fog::Parsers::CDN::AWS::Distribution.new,
45
+ :parser => Fog::Parsers::AWS::CDN::Distribution.new,
46
46
  :path => "/distribution/#{distribution_id}"
47
47
  })
48
48
  end
@@ -54,14 +54,14 @@ module Fog
54
54
 
55
55
  distribution = self.data[:distributions][distribution_id]
56
56
  unless distribution
57
- Fog::CDN::AWS::Mock.error(:no_such_distribution)
57
+ Fog::AWS::CDN::Mock.error(:no_such_distribution)
58
58
  end
59
59
 
60
60
  if distribution['Status'] == 'InProgress' && (Time.now - Time.parse(distribution['LastModifiedTime']) >= Fog::Mock.delay * 2)
61
61
  distribution['Status'] = 'Deployed'
62
62
  end
63
63
 
64
- etag = Fog::CDN::AWS::Mock.generic_id
64
+ etag = Fog::AWS::CDN::Mock.generic_id
65
65
  response.status = 200
66
66
  response.body = {
67
67
  'InProgressInvalidationBatches' => 0,
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/get_distribution_list'
6
6
 
@@ -42,7 +42,7 @@ module Fog
42
42
  :expects => 200,
43
43
  :idempotent => true,
44
44
  :method => 'GET',
45
- :parser => Fog::Parsers::CDN::AWS::GetDistributionList.new,
45
+ :parser => Fog::Parsers::AWS::CDN::GetDistributionList.new,
46
46
  :path => "/distribution",
47
47
  :query => options
48
48
  })
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/get_invalidation'
6
6
 
@@ -24,7 +24,7 @@ module Fog
24
24
  :expects => 200,
25
25
  :idempotent => true,
26
26
  :method => 'GET',
27
- :parser => Fog::Parsers::CDN::AWS::GetInvalidation.new,
27
+ :parser => Fog::Parsers::AWS::CDN::GetInvalidation.new,
28
28
  :path => "/distribution/#{distribution_id}/invalidation/#{invalidation_id}"
29
29
  })
30
30
  end
@@ -34,12 +34,12 @@ module Fog
34
34
  def get_invalidation(distribution_id, invalidation_id)
35
35
  distribution = self.data[:distributions][distribution_id]
36
36
  unless distribution
37
- Fog::CDN::AWS::Mock.error(:no_such_distribution)
37
+ Fog::AWS::CDN::Mock.error(:no_such_distribution)
38
38
  end
39
39
 
40
40
  invalidation = self.data[:invalidations][distribution_id][invalidation_id]
41
41
  unless invalidation
42
- Fog::CDN::AWS::Mock.error(:no_such_invalidation)
42
+ Fog::AWS::CDN::Mock.error(:no_such_invalidation)
43
43
  end
44
44
 
45
45
  if invalidation['Status'] == 'InProgress' && (Time.now - Time.parse(invalidation['CreateTime']) >= Fog::Mock.delay * 2)
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/get_invalidation_list'
6
6
 
@@ -27,7 +27,7 @@ module Fog
27
27
  :expects => 200,
28
28
  :idempotent => true,
29
29
  :method => 'GET',
30
- :parser => Fog::Parsers::CDN::AWS::GetInvalidationList.new,
30
+ :parser => Fog::Parsers::AWS::CDN::GetInvalidationList.new,
31
31
  :path => "/distribution/#{distribution_id}/invalidation",
32
32
  :query => options
33
33
  })
@@ -38,7 +38,7 @@ module Fog
38
38
  def get_invalidation_list(distribution_id, options = {})
39
39
  distribution = self.data[:distributions][distribution_id]
40
40
  unless distribution
41
- Fog::CDN::AWS::Mock.error(:no_such_distribution)
41
+ Fog::AWS::CDN::Mock.error(:no_such_distribution)
42
42
  end
43
43
 
44
44
  invalidations = (self.data[:invalidations][distribution_id] || {}).values
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/streaming_distribution'
6
6
 
@@ -35,7 +35,7 @@ module Fog
35
35
  :expects => 200,
36
36
  :idempotent => true,
37
37
  :method => 'GET',
38
- :parser => Fog::Parsers::CDN::AWS::StreamingDistribution.new,
38
+ :parser => Fog::Parsers::AWS::CDN::StreamingDistribution.new,
39
39
  :path => "/streaming-distribution/#{distribution_id}"
40
40
  })
41
41
  end
@@ -47,14 +47,14 @@ module Fog
47
47
 
48
48
  distribution = self.data[:streaming_distributions][distribution_id]
49
49
  unless distribution
50
- Fog::CDN::AWS::Mock.error(:no_such_streaming_distribution)
50
+ Fog::AWS::CDN::Mock.error(:no_such_streaming_distribution)
51
51
  end
52
52
 
53
53
  if distribution['Status'] == 'InProgress' && (Time.now - Time.parse(distribution['LastModifiedTime']) >= Fog::Mock.delay * 2)
54
54
  distribution['Status'] = 'Deployed'
55
55
  end
56
56
 
57
- etag = Fog::CDN::AWS::Mock.generic_id
57
+ etag = Fog::AWS::CDN::Mock.generic_id
58
58
  response.status = 200
59
59
  response.body = distribution.reject { |k,v| k == 'ETag' }
60
60
 
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module CDN
3
- class AWS
2
+ module AWS
3
+ class CDN
4
4
  class Real
5
5
  require 'fog/aws/parsers/cdn/get_streaming_distribution_list'
6
6
 
@@ -42,7 +42,7 @@ module Fog
42
42
  :expects => 200,
43
43
  :idempotent => true,
44
44
  :method => 'GET',
45
- :parser => Fog::Parsers::CDN::AWS::GetStreamingDistributionList.new,
45
+ :parser => Fog::Parsers::AWS::CDN::GetStreamingDistributionList.new,
46
46
  :path => "/streaming-distribution",
47
47
  :query => options
48
48
  })