fog-aws 0.11.0 → 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (794) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +813 -22
  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 +12 -9
  8. data/lib/fog/aws/auto_scaling.rb +4 -1
  9. data/lib/fog/aws/cdn.rb +15 -2
  10. data/lib/fog/aws/cloud_formation.rb +14 -0
  11. data/lib/fog/aws/compute.rb +158 -27
  12. data/lib/fog/aws/credential_fetcher.rb +81 -13
  13. data/lib/fog/aws/data_pipeline.rb +65 -2
  14. data/lib/fog/aws/dns.rb +154 -5
  15. data/lib/fog/aws/efs.rb +177 -0
  16. data/lib/fog/aws/elasticache.rb +4 -2
  17. data/lib/fog/aws/elb.rb +3 -2
  18. data/lib/fog/aws/elbv2.rb +72 -0
  19. data/lib/fog/aws/glacier.rb +83 -21
  20. data/lib/fog/aws/iam/default_policy_versions.json +1 -0
  21. data/lib/fog/aws/iam.rb +3 -0
  22. data/lib/fog/aws/kinesis.rb +23 -15
  23. data/lib/fog/aws/mock.rb +12 -0
  24. data/lib/fog/aws/models/auto_scaling/group.rb +24 -0
  25. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  26. data/lib/fog/aws/models/cdn/distribution_helper.rb +2 -2
  27. data/lib/fog/aws/models/cdn/distributions.rb +4 -4
  28. data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -2
  29. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  30. data/lib/fog/aws/models/cdn/invalidations.rb +3 -3
  31. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  32. data/lib/fog/aws/models/cdn/streaming_distributions.rb +4 -4
  33. data/lib/fog/aws/models/compute/address.rb +19 -3
  34. data/lib/fog/aws/models/compute/addresses.rb +3 -3
  35. data/lib/fog/aws/models/compute/dhcp_option.rb +2 -2
  36. data/lib/fog/aws/models/compute/dhcp_options.rb +7 -7
  37. data/lib/fog/aws/models/compute/flavor.rb +2 -2
  38. data/lib/fog/aws/models/compute/flavors.rb +3138 -296
  39. data/lib/fog/aws/models/compute/image.rb +4 -2
  40. data/lib/fog/aws/models/compute/images.rb +6 -4
  41. data/lib/fog/aws/models/compute/internet_gateway.rb +2 -2
  42. data/lib/fog/aws/models/compute/internet_gateways.rb +7 -7
  43. data/lib/fog/aws/models/compute/key_pair.rb +2 -2
  44. data/lib/fog/aws/models/compute/key_pairs.rb +3 -3
  45. data/lib/fog/aws/models/compute/network_acl.rb +4 -4
  46. data/lib/fog/aws/models/compute/network_acls.rb +6 -6
  47. data/lib/fog/aws/models/compute/network_interface.rb +2 -2
  48. data/lib/fog/aws/models/compute/network_interfaces.rb +4 -4
  49. data/lib/fog/aws/models/compute/route_table.rb +2 -2
  50. data/lib/fog/aws/models/compute/route_tables.rb +7 -7
  51. data/lib/fog/aws/models/compute/security_group.rb +61 -30
  52. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  53. data/lib/fog/aws/models/compute/server.rb +8 -4
  54. data/lib/fog/aws/models/compute/servers.rb +13 -8
  55. data/lib/fog/aws/models/compute/snapshot.rb +9 -8
  56. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  57. data/lib/fog/aws/models/compute/spot_request.rb +5 -4
  58. data/lib/fog/aws/models/compute/spot_requests.rb +3 -3
  59. data/lib/fog/aws/models/compute/subnet.rb +7 -2
  60. data/lib/fog/aws/models/compute/subnets.rb +3 -3
  61. data/lib/fog/aws/models/compute/tag.rb +2 -2
  62. data/lib/fog/aws/models/compute/tags.rb +3 -3
  63. data/lib/fog/aws/models/compute/volume.rb +46 -38
  64. data/lib/fog/aws/models/compute/volumes.rb +3 -3
  65. data/lib/fog/aws/models/compute/vpc.rb +64 -3
  66. data/lib/fog/aws/models/compute/vpcs.rb +3 -3
  67. data/lib/fog/aws/models/dns/record.rb +2 -2
  68. data/lib/fog/aws/models/dns/records.rb +4 -4
  69. data/lib/fog/aws/models/dns/zone.rb +3 -3
  70. data/lib/fog/aws/models/dns/zones.rb +4 -4
  71. data/lib/fog/aws/models/efs/file_system.rb +46 -0
  72. data/lib/fog/aws/models/efs/file_systems.rb +23 -0
  73. data/lib/fog/aws/models/efs/mount_target.rb +59 -0
  74. data/lib/fog/aws/models/efs/mount_targets.rb +25 -0
  75. data/lib/fog/aws/models/elb/backend_server_descriptions.rb +1 -1
  76. data/lib/fog/aws/models/elb/listeners.rb +3 -4
  77. data/lib/fog/aws/models/elb/load_balancer.rb +10 -2
  78. data/lib/fog/aws/models/elb/load_balancers.rb +5 -6
  79. data/lib/fog/aws/models/iam/access_keys.rb +0 -2
  80. data/lib/fog/aws/models/iam/instance_profile.rb +40 -0
  81. data/lib/fog/aws/models/iam/instance_profiles.rb +24 -0
  82. data/lib/fog/aws/models/iam/managed_policies.rb +12 -0
  83. data/lib/fog/aws/models/iam/managed_policy.rb +20 -0
  84. data/lib/fog/aws/models/iam/role.rb +35 -0
  85. data/lib/fog/aws/models/rds/cluster.rb +9 -1
  86. data/lib/fog/aws/models/rds/instance_option.rb +6 -0
  87. data/lib/fog/aws/models/rds/security_group.rb +4 -2
  88. data/lib/fog/aws/models/rds/server.rb +66 -63
  89. data/lib/fog/aws/models/storage/directories.rb +4 -3
  90. data/lib/fog/aws/models/storage/directory.rb +40 -6
  91. data/lib/fog/aws/models/storage/file.rb +175 -25
  92. data/lib/fog/aws/models/storage/files.rb +36 -6
  93. data/lib/fog/aws/models/storage/version.rb +2 -2
  94. data/lib/fog/aws/models/storage/versions.rb +3 -3
  95. data/lib/fog/aws/models/support/flagged_resource.rb +14 -0
  96. data/lib/fog/aws/models/support/flagged_resources.rb +11 -0
  97. data/lib/fog/aws/models/support/trusted_advisor_check.rb +65 -0
  98. data/lib/fog/aws/models/support/trusted_advisor_checks.rb +21 -0
  99. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +8 -0
  100. data/lib/fog/aws/parsers/cdn/distribution.rb +2 -2
  101. data/lib/fog/aws/parsers/cdn/get_distribution_list.rb +2 -2
  102. data/lib/fog/aws/parsers/cdn/get_invalidation.rb +2 -2
  103. data/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +2 -2
  104. data/lib/fog/aws/parsers/cdn/get_streaming_distribution_list.rb +2 -2
  105. data/lib/fog/aws/parsers/cdn/post_invalidation.rb +2 -2
  106. data/lib/fog/aws/parsers/cdn/streaming_distribution.rb +1 -1
  107. data/lib/fog/aws/parsers/cloud_formation/basic.rb +8 -0
  108. data/lib/fog/aws/parsers/cloud_formation/create_change_set.rb +16 -0
  109. data/lib/fog/aws/parsers/cloud_formation/describe_account_limits.rb +26 -0
  110. data/lib/fog/aws/parsers/cloud_formation/describe_change_set.rb +135 -0
  111. data/lib/fog/aws/parsers/cloud_formation/describe_stack_resource.rb +28 -0
  112. data/lib/fog/aws/parsers/cloud_formation/estimate_template_cost.rb +16 -0
  113. data/lib/fog/aws/parsers/cloud_formation/get_stack_policy.rb +16 -0
  114. data/lib/fog/aws/parsers/cloud_formation/get_template_summary.rb +62 -0
  115. data/lib/fog/aws/parsers/cloud_formation/list_change_sets.rb +30 -0
  116. data/lib/fog/aws/parsers/compute/allocate_address.rb +2 -2
  117. data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +2 -2
  118. data/lib/fog/aws/parsers/compute/associate_address.rb +2 -2
  119. data/lib/fog/aws/parsers/compute/associate_route_table.rb +2 -2
  120. data/lib/fog/aws/parsers/compute/attach_network_interface.rb +2 -2
  121. data/lib/fog/aws/parsers/compute/attach_volume.rb +2 -2
  122. data/lib/fog/aws/parsers/compute/basic.rb +2 -2
  123. data/lib/fog/aws/parsers/compute/cancel_spot_instance_requests.rb +2 -2
  124. data/lib/fog/aws/parsers/compute/copy_image.rb +2 -2
  125. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +2 -2
  126. data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +2 -2
  127. data/lib/fog/aws/parsers/compute/create_image.rb +2 -2
  128. data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +2 -2
  129. data/lib/fog/aws/parsers/compute/create_key_pair.rb +2 -2
  130. data/lib/fog/aws/parsers/compute/create_network_acl.rb +2 -2
  131. data/lib/fog/aws/parsers/compute/create_network_interface.rb +2 -2
  132. data/lib/fog/aws/parsers/compute/create_route_table.rb +2 -2
  133. data/lib/fog/aws/parsers/compute/create_security_group.rb +2 -2
  134. data/lib/fog/aws/parsers/compute/create_snapshot.rb +3 -3
  135. data/lib/fog/aws/parsers/compute/create_subnet.rb +37 -8
  136. data/lib/fog/aws/parsers/compute/create_volume.rb +2 -2
  137. data/lib/fog/aws/parsers/compute/create_vpc.rb +2 -2
  138. data/lib/fog/aws/parsers/compute/deregister_image.rb +2 -2
  139. data/lib/fog/aws/parsers/compute/describe_account_attributes.rb +2 -2
  140. data/lib/fog/aws/parsers/compute/describe_addresses.rb +32 -11
  141. data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +2 -2
  142. data/lib/fog/aws/parsers/compute/describe_classic_link_instances.rb +2 -2
  143. data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +2 -2
  144. data/lib/fog/aws/parsers/compute/describe_image_attribute.rb +122 -0
  145. data/lib/fog/aws/parsers/compute/describe_images.rb +5 -3
  146. data/lib/fog/aws/parsers/compute/describe_instance_attribute.rb +2 -2
  147. data/lib/fog/aws/parsers/compute/describe_instance_status.rb +2 -2
  148. data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
  149. data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +2 -2
  150. data/lib/fog/aws/parsers/compute/describe_key_pairs.rb +2 -2
  151. data/lib/fog/aws/parsers/compute/describe_network_acls.rb +2 -2
  152. data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +2 -2
  153. data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +2 -2
  154. data/lib/fog/aws/parsers/compute/describe_placement_groups.rb +2 -2
  155. data/lib/fog/aws/parsers/compute/describe_regions.rb +2 -2
  156. data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +19 -8
  157. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +3 -3
  158. data/lib/fog/aws/parsers/compute/describe_route_tables.rb +5 -5
  159. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +21 -7
  160. data/lib/fog/aws/parsers/compute/describe_snapshots.rb +2 -2
  161. data/lib/fog/aws/parsers/compute/describe_spot_price_history.rb +2 -2
  162. data/lib/fog/aws/parsers/compute/describe_subnets.rb +36 -9
  163. data/lib/fog/aws/parsers/compute/describe_tags.rb +2 -2
  164. data/lib/fog/aws/parsers/compute/describe_volume_status.rb +2 -2
  165. data/lib/fog/aws/parsers/compute/describe_volumes.rb +2 -2
  166. data/lib/fog/aws/parsers/compute/describe_volumes_modifications.rb +30 -0
  167. data/lib/fog/aws/parsers/compute/describe_vpc_attribute.rb +2 -2
  168. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link.rb +5 -3
  169. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link_dns_support.rb +26 -0
  170. data/lib/fog/aws/parsers/compute/describe_vpcs.rb +73 -25
  171. data/lib/fog/aws/parsers/compute/detach_volume.rb +2 -2
  172. data/lib/fog/aws/parsers/compute/get_console_output.rb +2 -2
  173. data/lib/fog/aws/parsers/compute/get_password_data.rb +2 -2
  174. data/lib/fog/aws/parsers/compute/import_key_pair.rb +2 -2
  175. data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +2 -2
  176. data/lib/fog/aws/parsers/compute/modify_volume.rb +26 -0
  177. data/lib/fog/aws/parsers/compute/monitor_unmonitor_instances.rb +2 -2
  178. data/lib/fog/aws/parsers/compute/move_address_to_vpc.rb +16 -0
  179. data/lib/fog/aws/parsers/compute/network_acl_parser.rb +2 -2
  180. data/lib/fog/aws/parsers/compute/network_interface_parser.rb +2 -2
  181. data/lib/fog/aws/parsers/compute/purchase_reserved_instances_offering.rb +2 -2
  182. data/lib/fog/aws/parsers/compute/register_image.rb +2 -2
  183. data/lib/fog/aws/parsers/compute/replace_network_acl_association.rb +2 -2
  184. data/lib/fog/aws/parsers/compute/restore_address_to_classic.rb +16 -0
  185. data/lib/fog/aws/parsers/compute/run_instances.rb +2 -2
  186. data/lib/fog/aws/parsers/compute/spot_datafeed_subscription.rb +2 -2
  187. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
  188. data/lib/fog/aws/parsers/compute/start_stop_instances.rb +2 -2
  189. data/lib/fog/aws/parsers/compute/terminate_instances.rb +2 -2
  190. data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +2 -2
  191. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +3 -3
  192. data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +2 -2
  193. data/lib/fog/aws/parsers/dns/get_change.rb +2 -2
  194. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +5 -5
  195. data/lib/fog/aws/parsers/dns/health_check.rb +2 -2
  196. data/lib/fog/aws/parsers/dns/list_health_checks.rb +2 -2
  197. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +5 -3
  198. data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +2 -2
  199. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +3 -3
  200. data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
  201. data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
  202. data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
  203. data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
  204. data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
  205. data/lib/fog/aws/parsers/iam/get_group_policy.rb +1 -1
  206. data/lib/fog/aws/parsers/iam/get_role_policy.rb +1 -1
  207. data/lib/fog/aws/parsers/iam/get_user_policy.rb +1 -1
  208. data/lib/fog/aws/parsers/iam/list_access_keys.rb +1 -1
  209. data/lib/fog/aws/parsers/iam/policy_version.rb +1 -1
  210. data/lib/fog/aws/parsers/rds/db_parser.rb +41 -2
  211. data/lib/fog/aws/parsers/rds/describe_orderable_db_instance_options.rb +4 -3
  212. data/lib/fog/aws/parsers/rds/modify_db_subnet_group.rb +24 -0
  213. data/lib/fog/aws/parsers/storage/access_control_list.rb +2 -2
  214. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +2 -2
  215. data/lib/fog/aws/parsers/storage/copy_object.rb +2 -2
  216. data/lib/fog/aws/parsers/storage/cors_configuration.rb +2 -2
  217. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +2 -2
  218. data/lib/fog/aws/parsers/storage/get_bucket.rb +3 -3
  219. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +2 -2
  220. data/lib/fog/aws/parsers/storage/get_bucket_location.rb +2 -2
  221. data/lib/fog/aws/parsers/storage/get_bucket_logging.rb +2 -2
  222. data/lib/fog/aws/parsers/storage/get_bucket_notification.rb +2 -2
  223. data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +2 -2
  224. data/lib/fog/aws/parsers/storage/get_bucket_tagging.rb +2 -2
  225. data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +2 -2
  226. data/lib/fog/aws/parsers/storage/get_bucket_website.rb +2 -2
  227. data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
  228. data/lib/fog/aws/parsers/storage/get_request_payment.rb +2 -2
  229. data/lib/fog/aws/parsers/storage/get_service.rb +2 -2
  230. data/lib/fog/aws/parsers/storage/initiate_multipart_upload.rb +2 -2
  231. data/lib/fog/aws/parsers/storage/list_multipart_uploads.rb +2 -2
  232. data/lib/fog/aws/parsers/storage/list_parts.rb +2 -2
  233. data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
  234. data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
  235. data/lib/fog/aws/rds.rb +2 -2
  236. data/lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb +58 -0
  237. data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +3 -4
  238. data/lib/fog/aws/requests/auto_scaling/detach_instances.rb +3 -4
  239. data/lib/fog/aws/requests/auto_scaling/detach_load_balancer_target_groups.rb +57 -0
  240. data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +1 -1
  241. data/lib/fog/aws/requests/auto_scaling/set_instance_protection.rb +67 -0
  242. data/lib/fog/aws/requests/cdn/delete_distribution.rb +6 -6
  243. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +6 -6
  244. data/lib/fog/aws/requests/cdn/get_distribution.rb +5 -5
  245. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +3 -3
  246. data/lib/fog/aws/requests/cdn/get_invalidation.rb +5 -5
  247. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +4 -4
  248. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +5 -5
  249. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +3 -3
  250. data/lib/fog/aws/requests/cdn/post_distribution.rb +6 -6
  251. data/lib/fog/aws/requests/cdn/post_invalidation.rb +5 -5
  252. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +6 -6
  253. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +7 -7
  254. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +7 -7
  255. data/lib/fog/aws/requests/cloud_formation/cancel_update_stack.rb +25 -0
  256. data/lib/fog/aws/requests/cloud_formation/continue_update_rollback.rb +26 -0
  257. data/lib/fog/aws/requests/cloud_formation/create_change_set.rb +75 -0
  258. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +14 -0
  259. data/lib/fog/aws/requests/cloud_formation/delete_change_set.rb +26 -0
  260. data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +1 -1
  261. data/lib/fog/aws/requests/cloud_formation/describe_account_limits.rb +27 -0
  262. data/lib/fog/aws/requests/cloud_formation/describe_change_set.rb +43 -0
  263. data/lib/fog/aws/requests/cloud_formation/describe_stack_resource.rb +40 -0
  264. data/lib/fog/aws/requests/cloud_formation/estimate_template_cost.rb +48 -0
  265. data/lib/fog/aws/requests/cloud_formation/execute_change_set.rb +26 -0
  266. data/lib/fog/aws/requests/cloud_formation/get_stack_policy.rb +27 -0
  267. data/lib/fog/aws/requests/cloud_formation/get_template_summary.rb +46 -0
  268. data/lib/fog/aws/requests/cloud_formation/list_change_sets.rb +40 -0
  269. data/lib/fog/aws/requests/cloud_formation/set_stack_policy.rb +38 -0
  270. data/lib/fog/aws/requests/cloud_formation/signal_resource.rb +32 -0
  271. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +49 -0
  272. data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +2 -2
  273. data/lib/fog/aws/requests/compute/allocate_address.rb +6 -5
  274. data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +5 -5
  275. data/lib/fog/aws/requests/compute/associate_address.rb +16 -8
  276. data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +4 -4
  277. data/lib/fog/aws/requests/compute/associate_route_table.rb +5 -5
  278. data/lib/fog/aws/requests/compute/attach_classic_link_vpc.rb +10 -10
  279. data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +4 -4
  280. data/lib/fog/aws/requests/compute/attach_network_interface.rb +6 -6
  281. data/lib/fog/aws/requests/compute/attach_volume.rb +7 -7
  282. data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +114 -0
  283. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +49 -30
  284. data/lib/fog/aws/requests/compute/cancel_spot_instance_requests.rb +20 -3
  285. data/lib/fog/aws/requests/compute/copy_image.rb +3 -3
  286. data/lib/fog/aws/requests/compute/copy_snapshot.rb +24 -11
  287. data/lib/fog/aws/requests/compute/create_dhcp_options.rb +3 -3
  288. data/lib/fog/aws/requests/compute/create_image.rb +3 -3
  289. data/lib/fog/aws/requests/compute/create_internet_gateway.rb +3 -3
  290. data/lib/fog/aws/requests/compute/create_key_pair.rb +4 -4
  291. data/lib/fog/aws/requests/compute/create_network_acl.rb +4 -4
  292. data/lib/fog/aws/requests/compute/create_network_acl_entry.rb +5 -5
  293. data/lib/fog/aws/requests/compute/create_network_interface.rb +15 -12
  294. data/lib/fog/aws/requests/compute/create_placement_group.rb +3 -3
  295. data/lib/fog/aws/requests/compute/create_route.rb +10 -10
  296. data/lib/fog/aws/requests/compute/create_route_table.rb +5 -5
  297. data/lib/fog/aws/requests/compute/create_security_group.rb +27 -22
  298. data/lib/fog/aws/requests/compute/create_snapshot.rb +3 -3
  299. data/lib/fog/aws/requests/compute/create_spot_datafeed_subscription.rb +3 -3
  300. data/lib/fog/aws/requests/compute/create_subnet.rb +23 -19
  301. data/lib/fog/aws/requests/compute/create_tags.rb +3 -3
  302. data/lib/fog/aws/requests/compute/create_volume.rb +11 -11
  303. data/lib/fog/aws/requests/compute/create_vpc.rb +42 -13
  304. data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +4 -4
  305. data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +4 -4
  306. data/lib/fog/aws/requests/compute/delete_key_pair.rb +3 -3
  307. data/lib/fog/aws/requests/compute/delete_network_acl.rb +5 -5
  308. data/lib/fog/aws/requests/compute/delete_network_acl_entry.rb +5 -5
  309. data/lib/fog/aws/requests/compute/delete_network_interface.rb +5 -5
  310. data/lib/fog/aws/requests/compute/delete_placement_group.rb +3 -3
  311. data/lib/fog/aws/requests/compute/delete_route.rb +6 -6
  312. data/lib/fog/aws/requests/compute/delete_route_table.rb +5 -5
  313. data/lib/fog/aws/requests/compute/delete_security_group.rb +17 -17
  314. data/lib/fog/aws/requests/compute/delete_snapshot.rb +4 -4
  315. data/lib/fog/aws/requests/compute/delete_spot_datafeed_subscription.rb +3 -3
  316. data/lib/fog/aws/requests/compute/delete_subnet.rb +4 -4
  317. data/lib/fog/aws/requests/compute/delete_tags.rb +3 -3
  318. data/lib/fog/aws/requests/compute/delete_volume.rb +5 -5
  319. data/lib/fog/aws/requests/compute/delete_vpc.rb +4 -4
  320. data/lib/fog/aws/requests/compute/deregister_image.rb +4 -4
  321. data/lib/fog/aws/requests/compute/describe_account_attributes.rb +3 -3
  322. data/lib/fog/aws/requests/compute/describe_addresses.rb +3 -3
  323. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +16 -3
  324. data/lib/fog/aws/requests/compute/describe_classic_link_instances.rb +3 -3
  325. data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +3 -3
  326. data/lib/fog/aws/requests/compute/describe_image_attribute.rb +74 -0
  327. data/lib/fog/aws/requests/compute/describe_images.rb +5 -3
  328. data/lib/fog/aws/requests/compute/describe_instance_attribute.rb +4 -4
  329. data/lib/fog/aws/requests/compute/describe_instance_status.rb +3 -3
  330. data/lib/fog/aws/requests/compute/describe_instances.rb +5 -5
  331. data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +3 -3
  332. data/lib/fog/aws/requests/compute/describe_key_pairs.rb +3 -3
  333. data/lib/fog/aws/requests/compute/describe_network_acls.rb +3 -3
  334. data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +19 -17
  335. data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +7 -3
  336. data/lib/fog/aws/requests/compute/describe_placement_groups.rb +3 -3
  337. data/lib/fog/aws/requests/compute/describe_regions.rb +3 -3
  338. data/lib/fog/aws/requests/compute/describe_reserved_instances.rb +8 -4
  339. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +9 -5
  340. data/lib/fog/aws/requests/compute/describe_route_tables.rb +9 -3
  341. data/lib/fog/aws/requests/compute/describe_security_groups.rb +47 -10
  342. data/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -3
  343. data/lib/fog/aws/requests/compute/describe_spot_datafeed_subscription.rb +3 -3
  344. data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +36 -3
  345. data/lib/fog/aws/requests/compute/describe_spot_price_history.rb +5 -5
  346. data/lib/fog/aws/requests/compute/describe_subnets.rb +15 -14
  347. data/lib/fog/aws/requests/compute/describe_tags.rb +3 -3
  348. data/lib/fog/aws/requests/compute/describe_volume_status.rb +3 -3
  349. data/lib/fog/aws/requests/compute/describe_volumes.rb +3 -3
  350. data/lib/fog/aws/requests/compute/describe_volumes_modifications.rb +93 -0
  351. data/lib/fog/aws/requests/compute/describe_vpc_attribute.rb +5 -5
  352. data/lib/fog/aws/requests/compute/describe_vpc_classic_link.rb +6 -5
  353. data/lib/fog/aws/requests/compute/describe_vpc_classic_link_dns_support.rb +53 -0
  354. data/lib/fog/aws/requests/compute/describe_vpcs.rb +3 -3
  355. data/lib/fog/aws/requests/compute/detach_classic_link_vpc.rb +6 -8
  356. data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +4 -4
  357. data/lib/fog/aws/requests/compute/detach_network_interface.rb +4 -4
  358. data/lib/fog/aws/requests/compute/detach_volume.rb +5 -5
  359. data/lib/fog/aws/requests/compute/disable_vpc_classic_link.rb +4 -4
  360. data/lib/fog/aws/requests/compute/disable_vpc_classic_link_dns_support.rb +45 -0
  361. data/lib/fog/aws/requests/compute/disassociate_address.rb +8 -5
  362. data/lib/fog/aws/requests/compute/disassociate_route_table.rb +5 -5
  363. data/lib/fog/aws/requests/compute/enable_vpc_classic_link.rb +4 -4
  364. data/lib/fog/aws/requests/compute/enable_vpc_classic_link_dns_support.rb +45 -0
  365. data/lib/fog/aws/requests/compute/get_console_output.rb +4 -4
  366. data/lib/fog/aws/requests/compute/get_password_data.rb +4 -4
  367. data/lib/fog/aws/requests/compute/import_key_pair.rb +4 -4
  368. data/lib/fog/aws/requests/compute/modify_image_attribute.rb +4 -4
  369. data/lib/fog/aws/requests/compute/modify_instance_attribute.rb +3 -3
  370. data/lib/fog/aws/requests/compute/modify_instance_placement.rb +33 -0
  371. data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +11 -11
  372. data/lib/fog/aws/requests/compute/modify_snapshot_attribute.rb +3 -3
  373. data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +3 -3
  374. data/lib/fog/aws/requests/compute/modify_volume.rb +88 -0
  375. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +4 -4
  376. data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +7 -7
  377. data/lib/fog/aws/requests/compute/monitor_instances.rb +4 -4
  378. data/lib/fog/aws/requests/compute/move_address_to_vpc.rb +52 -0
  379. data/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +3 -3
  380. data/lib/fog/aws/requests/compute/reboot_instances.rb +4 -4
  381. data/lib/fog/aws/requests/compute/register_image.rb +4 -4
  382. data/lib/fog/aws/requests/compute/release_address.rb +5 -5
  383. data/lib/fog/aws/requests/compute/replace_network_acl_association.rb +5 -5
  384. data/lib/fog/aws/requests/compute/replace_network_acl_entry.rb +5 -5
  385. data/lib/fog/aws/requests/compute/replace_route.rb +10 -10
  386. data/lib/fog/aws/requests/compute/request_spot_instances.rb +41 -30
  387. data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +6 -6
  388. data/lib/fog/aws/requests/compute/restore_address_to_classic.rb +55 -0
  389. data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +92 -0
  390. data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +21 -28
  391. data/lib/fog/aws/requests/compute/run_instances.rb +95 -29
  392. data/lib/fog/aws/requests/compute/start_instances.rb +4 -4
  393. data/lib/fog/aws/requests/compute/stop_instances.rb +15 -7
  394. data/lib/fog/aws/requests/compute/terminate_instances.rb +5 -5
  395. data/lib/fog/aws/requests/compute/unmonitor_instances.rb +4 -4
  396. data/lib/fog/aws/requests/data_pipeline/activate_pipeline.rb +8 -4
  397. data/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +24 -3
  398. data/lib/fog/aws/requests/data_pipeline/deactivate_pipeline.rb +36 -0
  399. data/lib/fog/aws/requests/data_pipeline/delete_pipeline.rb +6 -1
  400. data/lib/fog/aws/requests/data_pipeline/describe_objects.rb +17 -3
  401. data/lib/fog/aws/requests/data_pipeline/describe_pipelines.rb +3 -3
  402. data/lib/fog/aws/requests/data_pipeline/get_pipeline_definition.rb +7 -4
  403. data/lib/fog/aws/requests/data_pipeline/list_pipelines.rb +3 -3
  404. data/lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb +53 -32
  405. data/lib/fog/aws/requests/data_pipeline/query_objects.rb +6 -3
  406. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +6 -131
  407. data/lib/fog/aws/requests/dns/create_health_check.rb +3 -3
  408. data/lib/fog/aws/requests/dns/create_hosted_zone.rb +4 -4
  409. data/lib/fog/aws/requests/dns/delete_health_check.rb +2 -2
  410. data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +4 -4
  411. data/lib/fog/aws/requests/dns/get_change.rb +4 -4
  412. data/lib/fog/aws/requests/dns/get_health_check.rb +3 -3
  413. data/lib/fog/aws/requests/dns/get_hosted_zone.rb +4 -4
  414. data/lib/fog/aws/requests/dns/list_health_checks.rb +3 -3
  415. data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -3
  416. data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +5 -5
  417. data/lib/fog/aws/requests/dynamodb/update_item.rb +6 -5
  418. data/lib/fog/aws/requests/efs/create_file_system.rb +63 -0
  419. data/lib/fog/aws/requests/efs/create_mount_target.rb +73 -0
  420. data/lib/fog/aws/requests/efs/delete_file_system.rb +41 -0
  421. data/lib/fog/aws/requests/efs/delete_mount_target.rb +38 -0
  422. data/lib/fog/aws/requests/efs/describe_file_systems.rb +62 -0
  423. data/lib/fog/aws/requests/efs/describe_mount_target_security_groups.rb +34 -0
  424. data/lib/fog/aws/requests/efs/describe_mount_targets.rb +61 -0
  425. data/lib/fog/aws/requests/efs/modify_mount_target_security_groups.rb +39 -0
  426. data/lib/fog/aws/requests/elb/create_load_balancer.rb +11 -42
  427. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +24 -21
  428. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
  429. data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
  430. data/lib/fog/aws/requests/elb/describe_tags.rb +1 -1
  431. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
  432. data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
  433. data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
  434. data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
  435. data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
  436. data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
  437. data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
  438. data/lib/fog/aws/requests/iam/add_role_to_instance_profile.rb +19 -0
  439. data/lib/fog/aws/requests/iam/attach_group_policy.rb +1 -0
  440. data/lib/fog/aws/requests/iam/attach_role_policy.rb +30 -4
  441. data/lib/fog/aws/requests/iam/attach_user_policy.rb +1 -0
  442. data/lib/fog/aws/requests/iam/create_instance_profile.rb +20 -0
  443. data/lib/fog/aws/requests/iam/create_policy.rb +26 -2
  444. data/lib/fog/aws/requests/iam/delete_instance_profile.rb +15 -0
  445. data/lib/fog/aws/requests/iam/delete_policy.rb +15 -0
  446. data/lib/fog/aws/requests/iam/detach_group_policy.rb +1 -0
  447. data/lib/fog/aws/requests/iam/detach_role_policy.rb +27 -0
  448. data/lib/fog/aws/requests/iam/detach_user_policy.rb +1 -0
  449. data/lib/fog/aws/requests/iam/get_instance_profile.rb +17 -0
  450. data/lib/fog/aws/requests/iam/list_attached_user_policies.rb +2 -1
  451. data/lib/fog/aws/requests/iam/list_instance_profiles.rb +9 -0
  452. data/lib/fog/aws/requests/iam/list_instance_profiles_for_role.rb +10 -0
  453. data/lib/fog/aws/requests/iam/list_policies.rb +4 -0
  454. data/lib/fog/aws/requests/iam/remove_role_from_instance_profile.rb +19 -0
  455. data/lib/fog/aws/requests/kinesis/put_record.rb +1 -2
  456. data/lib/fog/aws/requests/kinesis/put_records.rb +1 -2
  457. data/lib/fog/aws/requests/lambda/invoke.rb +8 -8
  458. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
  459. data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +10 -5
  460. data/lib/fog/aws/requests/rds/create_db_instance.rb +1 -1
  461. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +4 -5
  462. data/lib/fog/aws/requests/rds/delete_db_subnet_group.rb +2 -0
  463. data/lib/fog/aws/requests/rds/describe_orderable_db_instance_options.rb +12 -6
  464. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
  465. data/lib/fog/aws/requests/rds/modify_db_instance.rb +1 -1
  466. data/lib/fog/aws/requests/rds/modify_db_subnet_group.rb +27 -0
  467. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
  468. data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +9 -4
  469. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
  470. data/lib/fog/aws/requests/storage/acl_utils.rb +3 -3
  471. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +4 -4
  472. data/lib/fog/aws/requests/storage/copy_object.rb +3 -3
  473. data/lib/fog/aws/requests/storage/cors_utils.rb +3 -3
  474. data/lib/fog/aws/requests/storage/delete_bucket.rb +2 -2
  475. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +2 -2
  476. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +2 -2
  477. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +3 -3
  478. data/lib/fog/aws/requests/storage/delete_bucket_tagging.rb +2 -2
  479. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +2 -2
  480. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +22 -12
  481. data/lib/fog/aws/requests/storage/delete_object.rb +2 -2
  482. data/lib/fog/aws/requests/storage/delete_object_url.rb +40 -0
  483. data/lib/fog/aws/requests/storage/get_bucket.rb +3 -3
  484. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +4 -4
  485. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +4 -4
  486. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +3 -3
  487. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -6
  488. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +3 -3
  489. data/lib/fog/aws/requests/storage/get_bucket_notification.rb +3 -3
  490. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +4 -3
  491. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +2 -2
  492. data/lib/fog/aws/requests/storage/get_bucket_tagging.rb +3 -3
  493. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +3 -3
  494. data/lib/fog/aws/requests/storage/get_bucket_website.rb +3 -3
  495. data/lib/fog/aws/requests/storage/get_object.rb +7 -3
  496. data/lib/fog/aws/requests/storage/get_object_acl.rb +4 -4
  497. data/lib/fog/aws/requests/storage/get_object_http_url.rb +2 -2
  498. data/lib/fog/aws/requests/storage/get_object_https_url.rb +2 -2
  499. data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
  500. data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
  501. data/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
  502. data/lib/fog/aws/requests/storage/get_request_payment.rb +3 -3
  503. data/lib/fog/aws/requests/storage/get_service.rb +5 -5
  504. data/lib/fog/aws/requests/storage/head_bucket.rb +2 -2
  505. data/lib/fog/aws/requests/storage/head_object.rb +2 -2
  506. data/lib/fog/aws/requests/storage/head_object_url.rb +2 -2
  507. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +4 -4
  508. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +3 -3
  509. data/lib/fog/aws/requests/storage/list_parts.rb +3 -3
  510. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +2 -2
  511. data/lib/fog/aws/requests/storage/post_object_restore.rb +2 -2
  512. data/lib/fog/aws/requests/storage/put_bucket.rb +2 -2
  513. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +4 -4
  514. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +4 -4
  515. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +2 -2
  516. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +2 -2
  517. data/lib/fog/aws/requests/storage/put_bucket_notification.rb +2 -2
  518. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +2 -2
  519. data/lib/fog/aws/requests/storage/put_bucket_tagging.rb +2 -2
  520. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +2 -2
  521. data/lib/fog/aws/requests/storage/put_bucket_website.rb +2 -2
  522. data/lib/fog/aws/requests/storage/put_object.rb +9 -8
  523. data/lib/fog/aws/requests/storage/put_object_acl.rb +4 -4
  524. data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
  525. data/lib/fog/aws/requests/storage/put_object_url.rb +2 -2
  526. data/lib/fog/aws/requests/storage/put_request_payment.rb +2 -2
  527. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +4 -3
  528. data/lib/fog/aws/requests/storage/sync_clock.rb +3 -3
  529. data/lib/fog/aws/requests/storage/upload_part.rb +3 -3
  530. data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
  531. data/lib/fog/aws/requests/sts/assume_role.rb +25 -0
  532. data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
  533. data/lib/fog/aws/requests/support/describe_trusted_advisor_check_result.rb +31 -0
  534. data/lib/fog/aws/requests/support/describe_trusted_advisor_checks.rb +29 -0
  535. data/lib/fog/aws/service_mapper.rb +129 -0
  536. data/lib/fog/aws/sqs.rb +1 -1
  537. data/lib/fog/aws/storage.rb +98 -19
  538. data/lib/fog/aws/support.rb +170 -0
  539. data/lib/fog/aws/version.rb +1 -1
  540. data/lib/fog/aws.rb +32 -19
  541. data/lib/fog-aws.rb +1 -0
  542. metadata +118 -285
  543. data/.gitignore +0 -16
  544. data/.travis.yml +0 -52
  545. data/Gemfile +0 -10
  546. data/Rakefile +0 -8
  547. data/gemfiles/Gemfile-edge +0 -14
  548. data/gemfiles/Gemfile-ruby-1.8.7 +0 -6
  549. data/gemfiles/Gemfile-ruby-1.9 +0 -6
  550. data/tests/credentials_tests.rb +0 -75
  551. data/tests/helper.rb +0 -28
  552. data/tests/helpers/collection_helper.rb +0 -97
  553. data/tests/helpers/compute/flavors_helper.rb +0 -32
  554. data/tests/helpers/compute/server_helper.rb +0 -25
  555. data/tests/helpers/compute/servers_helper.rb +0 -10
  556. data/tests/helpers/dns_helper.rb +0 -55
  557. data/tests/helpers/formats_helper.rb +0 -98
  558. data/tests/helpers/formats_helper_tests.rb +0 -110
  559. data/tests/helpers/mock_helper.rb +0 -109
  560. data/tests/helpers/model_helper.rb +0 -31
  561. data/tests/helpers/responds_to_helper.rb +0 -11
  562. data/tests/helpers/schema_validator_tests.rb +0 -107
  563. data/tests/helpers/succeeds_helper.rb +0 -9
  564. data/tests/lorem.txt +0 -1
  565. data/tests/models/auto_scaling/activities_tests.rb +0 -6
  566. data/tests/models/auto_scaling/configuration_test.rb +0 -13
  567. data/tests/models/auto_scaling/configurations_tests.rb +0 -11
  568. data/tests/models/auto_scaling/groups_test.rb +0 -27
  569. data/tests/models/auto_scaling/helper.rb +0 -0
  570. data/tests/models/auto_scaling/instance_tests.rb +0 -15
  571. data/tests/models/auto_scaling/instances_tests.rb +0 -6
  572. data/tests/models/beanstalk/application_tests.rb +0 -69
  573. data/tests/models/beanstalk/applications_tests.rb +0 -7
  574. data/tests/models/beanstalk/environment_tests.rb +0 -131
  575. data/tests/models/beanstalk/environments_tests.rb +0 -34
  576. data/tests/models/beanstalk/template_tests.rb +0 -47
  577. data/tests/models/beanstalk/templates_tests.rb +0 -62
  578. data/tests/models/beanstalk/version_tests.rb +0 -66
  579. data/tests/models/beanstalk/versions_tests.rb +0 -60
  580. data/tests/models/cdn/distribution_tests.rb +0 -15
  581. data/tests/models/cdn/distributions_tests.rb +0 -15
  582. data/tests/models/cdn/invalidation_tests.rb +0 -31
  583. data/tests/models/cdn/invalidations_tests.rb +0 -14
  584. data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
  585. data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
  586. data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
  587. data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
  588. data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
  589. data/tests/models/cloud_watch/metrics_tests.rb +0 -32
  590. data/tests/models/compute/address_tests.rb +0 -24
  591. data/tests/models/compute/addresses_tests.rb +0 -5
  592. data/tests/models/compute/dhcp_option_tests.rb +0 -3
  593. data/tests/models/compute/dhcp_options_tests.rb +0 -3
  594. data/tests/models/compute/internet_gateway_tests.rb +0 -3
  595. data/tests/models/compute/internet_gateways_tests.rb +0 -3
  596. data/tests/models/compute/key_pair_tests.rb +0 -26
  597. data/tests/models/compute/key_pairs_tests.rb +0 -5
  598. data/tests/models/compute/network_acl_tests.rb +0 -109
  599. data/tests/models/compute/network_acls_tests.rb +0 -20
  600. data/tests/models/compute/network_interfaces_test.rb +0 -12
  601. data/tests/models/compute/security_group_tests.rb +0 -74
  602. data/tests/models/compute/security_groups_tests.rb +0 -5
  603. data/tests/models/compute/server_tests.rb +0 -94
  604. data/tests/models/compute/snapshot_tests.rb +0 -10
  605. data/tests/models/compute/snapshots_tests.rb +0 -10
  606. data/tests/models/compute/subnet_tests.rb +0 -5
  607. data/tests/models/compute/subnets_tests.rb +0 -5
  608. data/tests/models/compute/volume_tests.rb +0 -43
  609. data/tests/models/compute/volumes_tests.rb +0 -5
  610. data/tests/models/compute/vpc_tests.rb +0 -4
  611. data/tests/models/compute/vpcs_tests.rb +0 -19
  612. data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
  613. data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
  614. data/tests/models/dns/record_tests.rb +0 -33
  615. data/tests/models/dns/records_tests.rb +0 -41
  616. data/tests/models/dns/zone_tests.rb +0 -4
  617. data/tests/models/dns/zones_tests.rb +0 -4
  618. data/tests/models/elasticache/cluster_tests.rb +0 -30
  619. data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
  620. data/tests/models/elasticache/security_groups_tests.rb +0 -52
  621. data/tests/models/elasticache/subnet_groups_tests.rb +0 -44
  622. data/tests/models/elb/model_tests.rb +0 -360
  623. data/tests/models/elb/tagging_tests.rb +0 -15
  624. data/tests/models/glacier/model_tests.rb +0 -47
  625. data/tests/models/iam/access_keys_tests.rb +0 -53
  626. data/tests/models/iam/groups_tests.rb +0 -59
  627. data/tests/models/iam/managed_policies_tests.rb +0 -67
  628. data/tests/models/iam/policies_tests.rb +0 -57
  629. data/tests/models/iam/roles_tests.rb +0 -71
  630. data/tests/models/iam/users_tests.rb +0 -119
  631. data/tests/models/rds/cluster_tests.rb +0 -54
  632. data/tests/models/rds/clusters_tests.rb +0 -5
  633. data/tests/models/rds/event_subscription_tests.rb +0 -9
  634. data/tests/models/rds/event_subscriptions_tests.rb +0 -6
  635. data/tests/models/rds/helper.rb +0 -25
  636. data/tests/models/rds/instance_option_tests.rb +0 -14
  637. data/tests/models/rds/parameter_group_tests.rb +0 -24
  638. data/tests/models/rds/parameter_groups_tests.rb +0 -8
  639. data/tests/models/rds/security_group_tests.rb +0 -53
  640. data/tests/models/rds/security_groups_tests.rb +0 -5
  641. data/tests/models/rds/server_tests.rb +0 -131
  642. data/tests/models/rds/servers_tests.rb +0 -24
  643. data/tests/models/rds/snapshot_tests.rb +0 -12
  644. data/tests/models/rds/snapshots_tests.rb +0 -12
  645. data/tests/models/rds/tagging_tests.rb +0 -20
  646. data/tests/models/sns/topic_tests.rb +0 -15
  647. data/tests/models/sns/topics_tests.rb +0 -6
  648. data/tests/models/storage/directory_tests.rb +0 -91
  649. data/tests/models/storage/file_tests.rb +0 -121
  650. data/tests/models/storage/files_tests.rb +0 -58
  651. data/tests/models/storage/url_tests.rb +0 -44
  652. data/tests/models/storage/version_tests.rb +0 -52
  653. data/tests/models/storage/versions_tests.rb +0 -56
  654. data/tests/parsers/elb/describe_load_balancers.rb +0 -65
  655. data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -93
  656. data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
  657. data/tests/requests/auto_scaling/helper.rb +0 -228
  658. data/tests/requests/auto_scaling/model_tests.rb +0 -233
  659. data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
  660. data/tests/requests/auto_scaling/tag_tests.rb +0 -63
  661. data/tests/requests/beanstalk/application_tests.rb +0 -140
  662. data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
  663. data/tests/requests/cdn/cdn_tests.rb +0 -252
  664. data/tests/requests/cloud_formation/stack_tests.rb +0 -167
  665. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
  666. data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
  667. data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
  668. data/tests/requests/compute/address_tests.rb +0 -121
  669. data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
  670. data/tests/requests/compute/availability_zone_tests.rb +0 -25
  671. data/tests/requests/compute/client_tests.rb +0 -25
  672. data/tests/requests/compute/dhcp_options_tests.rb +0 -39
  673. data/tests/requests/compute/helper.rb +0 -10
  674. data/tests/requests/compute/image_tests.rb +0 -158
  675. data/tests/requests/compute/instance_attrib_tests.rb +0 -168
  676. data/tests/requests/compute/instance_tests.rb +0 -338
  677. data/tests/requests/compute/internet_gateway_tests.rb +0 -49
  678. data/tests/requests/compute/key_pair_tests.rb +0 -67
  679. data/tests/requests/compute/network_acl_tests.rb +0 -112
  680. data/tests/requests/compute/network_interface_tests.rb +0 -250
  681. data/tests/requests/compute/placement_group_tests.rb +0 -48
  682. data/tests/requests/compute/region_tests.rb +0 -52
  683. data/tests/requests/compute/route_tests.rb +0 -340
  684. data/tests/requests/compute/security_group_tests.rb +0 -446
  685. data/tests/requests/compute/snapshot_tests.rb +0 -77
  686. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
  687. data/tests/requests/compute/spot_instance_tests.rb +0 -57
  688. data/tests/requests/compute/spot_price_history_tests.rb +0 -23
  689. data/tests/requests/compute/subnet_tests.rb +0 -85
  690. data/tests/requests/compute/tag_tests.rb +0 -101
  691. data/tests/requests/compute/volume_tests.rb +0 -223
  692. data/tests/requests/compute/vpc_tests.rb +0 -178
  693. data/tests/requests/data_pipeline/helper.rb +0 -72
  694. data/tests/requests/data_pipeline/pipeline_tests.rb +0 -78
  695. data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
  696. data/tests/requests/dns/dns_tests.rb +0 -244
  697. data/tests/requests/dns/health_check_tests.rb +0 -159
  698. data/tests/requests/dns/helper.rb +0 -21
  699. data/tests/requests/dynamodb/item_tests.rb +0 -137
  700. data/tests/requests/dynamodb/table_tests.rb +0 -99
  701. data/tests/requests/ecs/cluster_tests.rb +0 -112
  702. data/tests/requests/ecs/container_instance_tests.rb +0 -119
  703. data/tests/requests/ecs/helper.rb +0 -276
  704. data/tests/requests/ecs/sample_task_definition1.json +0 -56
  705. data/tests/requests/ecs/service_tests.rb +0 -132
  706. data/tests/requests/ecs/task_definitions_tests.rb +0 -97
  707. data/tests/requests/ecs/task_tests.rb +0 -145
  708. data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
  709. data/tests/requests/elasticache/describe_events.rb +0 -17
  710. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
  711. data/tests/requests/elasticache/helper.rb +0 -103
  712. data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
  713. data/tests/requests/elasticache/security_group_tests.rb +0 -108
  714. data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
  715. data/tests/requests/elb/helper.rb +0 -91
  716. data/tests/requests/elb/listener_tests.rb +0 -68
  717. data/tests/requests/elb/load_balancer_tests.rb +0 -89
  718. data/tests/requests/elb/policy_tests.rb +0 -132
  719. data/tests/requests/emr/helper.rb +0 -167
  720. data/tests/requests/emr/instance_group_tests.rb +0 -106
  721. data/tests/requests/emr/job_flow_tests.rb +0 -88
  722. data/tests/requests/federation/get_signin_token_tests.rb +0 -11
  723. data/tests/requests/glacier/archive_tests.rb +0 -13
  724. data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
  725. data/tests/requests/glacier/tree_hash_tests.rb +0 -62
  726. data/tests/requests/glacier/vault_tests.rb +0 -35
  727. data/tests/requests/iam/access_key_tests.rb +0 -53
  728. data/tests/requests/iam/account_policy_tests.rb +0 -20
  729. data/tests/requests/iam/account_tests.rb +0 -34
  730. data/tests/requests/iam/group_policy_tests.rb +0 -48
  731. data/tests/requests/iam/group_tests.rb +0 -44
  732. data/tests/requests/iam/helper.rb +0 -136
  733. data/tests/requests/iam/login_profile_tests.rb +0 -62
  734. data/tests/requests/iam/managed_policy_tests.rb +0 -112
  735. data/tests/requests/iam/mfa_tests.rb +0 -23
  736. data/tests/requests/iam/role_tests.rb +0 -156
  737. data/tests/requests/iam/server_certificate_tests.rb +0 -130
  738. data/tests/requests/iam/user_policy_tests.rb +0 -45
  739. data/tests/requests/iam/user_tests.rb +0 -78
  740. data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -114
  741. data/tests/requests/kinesis/helper.rb +0 -111
  742. data/tests/requests/kinesis/stream_tests.rb +0 -169
  743. data/tests/requests/kms/helper.rb +0 -27
  744. data/tests/requests/kms/key_tests.rb +0 -23
  745. data/tests/requests/lambda/function_sample_1.js +0 -9
  746. data/tests/requests/lambda/function_sample_2.js +0 -9
  747. data/tests/requests/lambda/function_tests.rb +0 -460
  748. data/tests/requests/lambda/helper.rb +0 -81
  749. data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
  750. data/tests/requests/rds/cluster_tests.rb +0 -37
  751. data/tests/requests/rds/db_engine_versions.rb +0 -7
  752. data/tests/requests/rds/db_snapshot_tests.rb +0 -62
  753. data/tests/requests/rds/describe_events.rb +0 -16
  754. data/tests/requests/rds/event_subscription_tests.rb +0 -30
  755. data/tests/requests/rds/helper.rb +0 -401
  756. data/tests/requests/rds/instance_option_tests.rb +0 -21
  757. data/tests/requests/rds/instance_tests.rb +0 -149
  758. data/tests/requests/rds/log_file_tests.rb +0 -19
  759. data/tests/requests/rds/parameter_group_tests.rb +0 -62
  760. data/tests/requests/rds/parameter_request_tests.rb +0 -32
  761. data/tests/requests/rds/security_group_tests.rb +0 -101
  762. data/tests/requests/rds/subnet_groups_tests.rb +0 -52
  763. data/tests/requests/rds/tagging_tests.rb +0 -78
  764. data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
  765. data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
  766. data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
  767. data/tests/requests/redshift/cluster_tests.rb +0 -80
  768. data/tests/requests/ses/helper.rb +0 -9
  769. data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
  770. data/tests/requests/ses/verified_email_address_tests.rb +0 -27
  771. data/tests/requests/simpledb/attributes_tests.rb +0 -86
  772. data/tests/requests/simpledb/domain_tests.rb +0 -51
  773. data/tests/requests/simpledb/helper.rb +0 -10
  774. data/tests/requests/sns/helper.rb +0 -9
  775. data/tests/requests/sns/subscription_tests.rb +0 -86
  776. data/tests/requests/sns/topic_tests.rb +0 -53
  777. data/tests/requests/sqs/helper.rb +0 -9
  778. data/tests/requests/sqs/message_tests.rb +0 -51
  779. data/tests/requests/sqs/queue_tests.rb +0 -50
  780. data/tests/requests/storage/acl_utils_tests.rb +0 -209
  781. data/tests/requests/storage/bucket_tests.rb +0 -416
  782. data/tests/requests/storage/cors_utils_tests.rb +0 -108
  783. data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
  784. data/tests/requests/storage/multipart_upload_tests.rb +0 -121
  785. data/tests/requests/storage/object_tests.rb +0 -195
  786. data/tests/requests/storage/versioning_tests.rb +0 -258
  787. data/tests/requests/sts/assume_role_tests.rb +0 -19
  788. data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
  789. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -26
  790. data/tests/requests/sts/get_federation_token_tests.rb +0 -20
  791. data/tests/requests/sts/session_token_tests.rb +0 -16
  792. data/tests/signaturev4_tests.rb +0 -107
  793. data/tests/signed_params_tests.rb +0 -17
  794. data/tests/storage_tests.rb +0 -7
@@ -1,446 +0,0 @@
1
- Shindo.tests('Fog::Compute[:aws] | security group requests', ['aws']) do
2
- # See https://github.com/fog/fog/issues/2932hj0
3
- pending
4
-
5
- @create_security_group_format = {
6
- 'requestId' => String,
7
- 'groupId' => String,
8
- 'return' => Fog::Boolean
9
- }
10
-
11
- @security_groups_format = {
12
- 'requestId' => String,
13
- 'securityGroupInfo' => [{
14
- 'groupDescription' => String,
15
- 'groupId' => Fog::Nullable::String,
16
- 'groupName' => String,
17
- 'ipPermissions' => [{
18
- 'fromPort' => Fog::Nullable::Integer,
19
- 'groups' => [{ 'groupName' => Fog::Nullable::String, 'userId' => String, 'groupId' => String }],
20
- 'ipProtocol' => String,
21
- 'ipRanges' => [Fog::Nullable::Hash],
22
- 'toPort' => Fog::Nullable::Integer,
23
- }],
24
- 'ipPermissionsEgress' => [],
25
- 'ownerId' => String,
26
- 'vpcId' => Fog::Nullable::String
27
- }]
28
- }
29
-
30
- @owner_id = Fog::Compute[:aws].describe_security_groups('group-name' => 'default').body['securityGroupInfo'].first['ownerId']
31
- @group_id_default = Fog::Compute[:aws].describe_security_groups('group-name' => 'default').body['securityGroupInfo'].first['groupId']
32
-
33
- tests('success') do
34
-
35
- tests("#create_security_group('fog_security_group', 'tests group')").formats(@create_security_group_format) do
36
- Fog::Compute[:aws].create_security_group('fog_security_group', 'tests group').body
37
- end
38
- tests("#create_security_group('fog_security_group_two', 'tests group')").formats(@create_security_group_format) do
39
- Fog::Compute[:aws].create_security_group('fog_security_group_two', 'tests group').body
40
- end
41
- @group_id_two = Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group_two').body['securityGroupInfo'].first['groupId']
42
- group_id = Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['groupId']
43
- to_be_revoked = []
44
- expected_permissions = []
45
-
46
- permission = { 'SourceSecurityGroupName' => 'default' }
47
- tests("#authorize_security_group_ingress('fog_security_group', #{permission.inspect})").formats(AWS::Compute::Formats::BASIC) do
48
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permission).body
49
- end
50
-
51
- to_be_revoked.push([permission, expected_permissions.dup])
52
-
53
- expected_permissions = [
54
- {"groups"=>[{"groupName"=>"default", "userId"=>@owner_id, "groupId"=>@group_id_default}],
55
- "fromPort"=>1,
56
- "ipRanges"=>[],
57
- "ipProtocol"=>"tcp",
58
- "toPort"=>65535},
59
- {"groups"=>[{"groupName"=>"default", "userId"=>@owner_id, "groupId"=>@group_id_default}],
60
- "fromPort"=>1,
61
- "ipRanges"=>[],
62
- "ipProtocol"=>"udp",
63
- "toPort"=>65535},
64
- {"groups"=>[{"groupName"=>"default", "userId"=>@owner_id, "groupId"=>@group_id_default}],
65
- "fromPort"=>-1,
66
- "ipRanges"=>[],
67
- "ipProtocol"=>"icmp",
68
- "toPort"=>-1}
69
- ]
70
-
71
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
72
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
73
- end
74
-
75
- tests("#describe_security_groups('group-id' => '#{group_id}')").returns([]) do
76
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-id' => group_id).body['securityGroupInfo'].first['ipPermissions'])
77
- end
78
-
79
- permission = { 'SourceSecurityGroupName' => 'fog_security_group_two', 'SourceSecurityGroupOwnerId' => @owner_id }
80
- tests("#authorize_security_group_ingress('fog_security_group', #{permission.inspect})").formats(AWS::Compute::Formats::BASIC) do
81
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permission).body
82
- end
83
-
84
- to_be_revoked.push([permission, expected_permissions.dup])
85
-
86
- expected_permissions = [
87
- {"groups"=>
88
- [{"userId"=>@owner_id, "groupName"=>"default", "groupId"=>@group_id_default},
89
- {"userId"=>@owner_id, "groupName"=>"fog_security_group_two", "groupId"=>@group_id_two}],
90
- "ipRanges"=>[],
91
- "ipProtocol"=>"tcp",
92
- "fromPort"=>1,
93
- "toPort"=>65535},
94
- {"groups"=>
95
- [{"userId"=>@owner_id, "groupName"=>"default", "groupId"=>@group_id_default},
96
- {"userId"=>@owner_id, "groupName"=>"fog_security_group_two", "groupId"=>@group_id_two}],
97
- "ipRanges"=>[],
98
- "ipProtocol"=>"udp",
99
- "fromPort"=>1,
100
- "toPort"=>65535},
101
- {"groups"=>
102
- [{"userId"=>@owner_id, "groupName"=>"default", "groupId"=>@group_id_default},
103
- {"userId"=>@owner_id, "groupName"=>"fog_security_group_two", "groupId"=>@group_id_two}],
104
- "ipRanges"=>[],
105
- "ipProtocol"=>"icmp",
106
- "fromPort"=>-1,
107
- "toPort"=>-1}
108
- ]
109
-
110
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
111
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
112
- end
113
-
114
- permission = { 'IpProtocol' => 'tcp', 'FromPort' => '22', 'ToPort' => '22' }
115
- tests("#authorize_security_group_ingress('fog_security_group', #{permission.inspect})").formats(AWS::Compute::Formats::BASIC) do
116
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permission).body
117
- end
118
-
119
- to_be_revoked.push([permission, expected_permissions.dup])
120
-
121
- # previous did nothing
122
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
123
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
124
- end
125
-
126
- permission = { 'IpProtocol' => 'tcp', 'FromPort' => '22', 'ToPort' => '22', 'CidrIp' => '10.0.0.0/8' }
127
- tests("#authorize_security_group_ingress('fog_security_group', #{permission.inspect})").formats(AWS::Compute::Formats::BASIC) do
128
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permission).body
129
- end
130
-
131
- to_be_revoked.push([permission, expected_permissions.dup])
132
-
133
- expected_permissions += [
134
- {"groups"=>[],
135
- "ipRanges"=>[{"cidrIp"=>"10.0.0.0/8"}],
136
- "ipProtocol"=>"tcp",
137
- "fromPort"=>22,
138
- "toPort"=>22}
139
- ]
140
-
141
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
142
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
143
- end
144
-
145
- # authorize with nested IpProtocol without IpRanges or Groups does nothing
146
- permissions = {
147
- 'IpPermissions' => [
148
- { 'IpProtocol' => 'tcp', 'FromPort' => '22', 'ToPort' => '22' }
149
- ]
150
- }
151
- tests("#authorize_security_group_ingress('fog_security_group', #{permissions.inspect})").formats(AWS::Compute::Formats::BASIC) do
152
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permissions).body
153
- end
154
-
155
- to_be_revoked.push([permissions, expected_permissions.dup])
156
-
157
- # previous did nothing
158
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
159
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
160
- end
161
-
162
- # authorize with nested IpProtocol with IpRanges
163
- permissions = {
164
- 'IpPermissions' => [
165
- {
166
- 'IpProtocol' => 'tcp', 'FromPort' => '80', 'ToPort' => '80',
167
- 'IpRanges' => [{ 'CidrIp' => '192.168.0.0/24' }]
168
- }
169
- ]
170
- }
171
- tests("#authorize_security_group_ingress('fog_security_group', #{permissions.inspect})").formats(AWS::Compute::Formats::BASIC) do
172
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permissions).body
173
- end
174
-
175
- to_be_revoked.push([permissions, expected_permissions.dup])
176
-
177
- expected_permissions += [
178
- {"groups"=>[],
179
- "ipRanges"=>[{"cidrIp"=>"192.168.0.0/24"}],
180
- "ipProtocol"=>"tcp",
181
- "fromPort"=>80,
182
- "toPort"=>80}
183
- ]
184
-
185
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
186
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
187
- end
188
-
189
- # authorize with nested IpProtocol with Groups
190
- permissions = {
191
- 'IpPermissions' => [
192
- {
193
- 'IpProtocol' => 'tcp', 'FromPort' => '8000', 'ToPort' => '8000',
194
- 'Groups' => [{ 'GroupName' => 'fog_security_group_two' }]
195
- }
196
- ]
197
- }
198
- tests("#authorize_security_group_ingress('fog_security_group', #{permissions.inspect})").formats(AWS::Compute::Formats::BASIC) do
199
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permissions).body
200
- end
201
-
202
- to_be_revoked.push([permissions, expected_permissions.dup])
203
-
204
- expected_permissions += [
205
- {"groups"=>[{"userId"=>@owner_id, "groupName"=>"fog_security_group_two", "groupId"=>@group_id_two}],
206
- "ipRanges"=>[],
207
- "ipProtocol"=>"tcp",
208
- "fromPort"=>8000,
209
- "toPort"=>8000}
210
- ]
211
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
212
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
213
- end
214
-
215
- # authorize with nested IpProtocol with IpRanges and Groups
216
- # try integers on this one instead of strings
217
- permissions = {
218
- 'IpPermissions' => [
219
- {
220
- 'IpProtocol' => 'tcp', 'FromPort' => 9000, 'ToPort' => 9000,
221
- 'IpRanges' => [{ 'CidrIp' => '172.16.0.0/24' }],
222
- 'Groups' => [{ 'GroupName' => 'fog_security_group_two' }]
223
- }
224
- ]
225
- }
226
- tests("#authorize_security_group_ingress('fog_security_group', #{permissions.inspect})").formats(AWS::Compute::Formats::BASIC) do
227
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', permissions).body
228
- end
229
-
230
- to_be_revoked.push([permissions, expected_permissions.dup])
231
-
232
- expected_permissions += [
233
- {"groups"=>
234
- [{"userId"=>@owner_id, "groupName"=>"fog_security_group_two", "groupId"=>@group_id_two}],
235
- "ipRanges"=>[{"cidrIp"=>"172.16.0.0/24"}],
236
- "ipProtocol"=>"tcp",
237
- "fromPort"=>9000,
238
- "toPort"=>9000}
239
- ]
240
-
241
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
242
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
243
- end
244
-
245
- tests("#describe_security_groups").formats(@security_groups_format) do
246
- Fog::Compute[:aws].describe_security_groups.body
247
- end
248
-
249
- tests("#describe_security_groups('group-name' => 'fog_security_group')").formats(@security_groups_format) do
250
- Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body
251
- end
252
-
253
- to_be_revoked.reverse.each do |permission, expected_permissions_after|
254
- tests("#revoke_security_group_ingress('fog_security_group', #{permission.inspect})").formats(AWS::Compute::Formats::BASIC) do
255
- Fog::Compute[:aws].revoke_security_group_ingress('fog_security_group', permission).body
256
- end
257
-
258
- tests("#describe_security_groups('group-name' => 'fog_security_group')").returns([]) do
259
- array_differences(expected_permissions_after, Fog::Compute[:aws].describe_security_groups('group-name' => 'fog_security_group').body['securityGroupInfo'].first['ipPermissions'])
260
- end
261
- end
262
-
263
- tests("#delete_security_group('fog_security_group')").formats(AWS::Compute::Formats::BASIC) do
264
- Fog::Compute[:aws].delete_security_group('fog_security_group').body
265
- end
266
-
267
- tests("#delete_security_group('fog_security_group_two')").formats(AWS::Compute::Formats::BASIC) do
268
- Fog::Compute[:aws].delete_security_group('fog_security_group_two').body
269
- end
270
-
271
- vpc_id = Fog::Compute[:aws].create_vpc('10.255.254.64/28').body['vpcSet'].first['vpcId']
272
-
273
- # Create security group in VPC
274
- tests("#create_security_group('vpc_security_group', 'tests group')").formats(@create_security_group_format) do
275
- Fog::Compute[:aws].create_security_group('vpc_security_group', 'tests group', vpc_id).body
276
- end
277
-
278
- group_id = Fog::Compute[:aws].describe_security_groups('group-name' => 'vpc_security_group').body['securityGroupInfo'].first['groupId']
279
-
280
- permissions = {
281
- 'IpPermissions' => [
282
- {
283
- 'IpProtocol' => '42',
284
- 'IpRanges' => [{ 'CidrIp' => '10.0.0.0/8' }],
285
- }
286
- ]
287
- }
288
-
289
- expected_permissions = [
290
- {"groups"=>[],
291
- "ipRanges"=>[{"cidrIp"=>"10.0.0.0/8"}],
292
- "ipProtocol"=>"42"}
293
- ]
294
-
295
- options = permissions.clone
296
- options['GroupId'] = group_id
297
- tests("#authorize_security_group_ingress(#{options.inspect})").formats(AWS::Compute::Formats::BASIC) do
298
- Fog::Compute[:aws].authorize_security_group_ingress(options).body
299
- end
300
-
301
- tests("#describe_security_groups('group-name' => 'vpc_security_group')").returns([]) do
302
- array_differences(expected_permissions, Fog::Compute[:aws].describe_security_groups('group-name' => 'vpc_security_group').body['securityGroupInfo'].first['ipPermissions'])
303
- end
304
-
305
- tests("#revoke_security_group_ingress(#{options.inspect})").formats(AWS::Compute::Formats::BASIC) do
306
- Fog::Compute[:aws].revoke_security_group_ingress(options).body
307
- end
308
-
309
- vpc_group=Fog::Compute[:aws].security_groups.get_by_id(group_id)
310
- vpc_group.destroy
311
-
312
- Fog::Compute[:aws].delete_vpc(vpc_id)
313
-
314
- end
315
- ## Rate limiting seems to want us to take a break otherwise it will throw errors
316
- tests('failure') do
317
-
318
- @security_group = Fog::Compute[:aws].security_groups.create(:description => 'tests group', :name => 'fog_security_group')
319
- @other_security_group = Fog::Compute[:aws].security_groups.create(:description => 'tests group', :name => 'fog_other_security_group')
320
-
321
- tests("duplicate #create_security_group(#{@security_group.name}, #{@security_group.description})").raises(Fog::Compute::AWS::Error) do
322
- Fog::Compute[:aws].create_security_group(@security_group.name, @security_group.description)
323
- end
324
-
325
- tests("#authorize_security_group_ingress('not_a_group_name', {'FromPort' => 80, 'IpProtocol' => 'tcp', 'toPort' => 80})").raises(Fog::Compute::AWS::NotFound) do
326
- Fog::Compute[:aws].authorize_security_group_ingress(
327
- 'not_a_group_name',
328
- {
329
- 'FromPort' => 80,
330
- 'IpProtocol' => 'tcp',
331
- 'ToPort' => 80,
332
- }
333
- )
334
- end
335
-
336
- tests("#authorize_security_group_ingress('not_a_group_name', {'SourceSecurityGroupName' => 'not_a_group_name', 'SourceSecurityGroupOwnerId' => '#{@owner_id}'})").raises(Fog::Compute::AWS::NotFound) do
337
- Fog::Compute[:aws].authorize_security_group_ingress(
338
- 'not_a_group_name',
339
- {
340
- 'SourceSecurityGroupName' => 'not_a_group_name',
341
- 'SourceSecurityGroupOwnerId' => @owner_id
342
- }
343
- )
344
- end
345
-
346
- tests("#authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'IpProtocol' => 'tcp', 'FromPort' => 80, 'ToPort' => 80, 'IpRanges' => [{'CidrIp' => '10.0.0.0/8'}]}]})").formats(AWS::Compute::Formats::BASIC) do
347
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'IpProtocol' => 'tcp', 'FromPort' => 80, 'ToPort' => 80, 'IpRanges' => [{'CidrIp' => '10.0.0.0/8'}]}]}).body
348
- end
349
-
350
- tests("#authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'IpProtocol' => 'tcp', 'FromPort' => 80, 'ToPort' => 80, 'IpRanges' => [{'CidrIp' => '10.0.0.0/8'}]}]})").raises(Fog::Compute::AWS::Error) do
351
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'IpProtocol' => 'tcp', 'FromPort' => 80, 'ToPort' => 80, 'IpRanges' => [{'CidrIp' => '10.0.0.0/8'}]}]})
352
- end
353
-
354
- tests("#authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'Groups' => [{'GroupName' => '#{@other_security_group.name}'}], 'FromPort' => 80, 'ToPort' => 80, 'IpProtocol' => 'tcp'}]})").formats(AWS::Compute::Formats::BASIC) do
355
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', {'IpPermissions' => [{'Groups' => [{'GroupName' => @other_security_group.name}], 'FromPort' => 80, 'ToPort' => 80, 'IpProtocol' => 'tcp'}]}).body
356
- end
357
-
358
- tests("#delete_security_group('#{@other_security_group.name}')").raises(Fog::Compute::AWS::Error) do
359
- Fog::Compute[:aws].delete_security_group(@other_security_group.name)
360
- end
361
-
362
- broken_params = [
363
- {},
364
- { "IpProtocol" => "what" },
365
- { "IpProtocol" => "tcp" },
366
- { "IpProtocol" => "what", "FromPort" => 1, "ToPort" => 1 },
367
- ]
368
- broken_params += broken_params.map do |broken_params_item|
369
- { "IpPermissions" => [broken_params_item] }
370
- end
371
- broken_params += [
372
- { "IpPermissions" => [] },
373
- { "IpPermissions" => nil }
374
- ]
375
-
376
- broken_params.each do |broken_params_item|
377
- tests("#authorize_security_group_ingress('fog_security_group', #{broken_params_item.inspect})").raises(Fog::Compute::AWS::Error) do
378
- Fog::Compute[:aws].authorize_security_group_ingress('fog_security_group', broken_params_item)
379
- end
380
-
381
- tests("#revoke_security_group_ingress('fog_security_group', #{broken_params_item.inspect})").raises(Fog::Compute::AWS::Error) do
382
- Fog::Compute[:aws].revoke_security_group_ingress('fog_security_group', broken_params_item)
383
- end
384
- end
385
-
386
- tests("#revoke_security_group_ingress('not_a_group_name', {'FromPort' => 80, 'IpProtocol' => 'tcp', 'toPort' => 80})").raises(Fog::Compute::AWS::NotFound) do
387
- Fog::Compute[:aws].revoke_security_group_ingress(
388
- 'not_a_group_name',
389
- {
390
- 'FromPort' => 80,
391
- 'IpProtocol' => 'tcp',
392
- 'ToPort' => 80,
393
- }
394
- )
395
- end
396
-
397
- tests("#revoke_security_group_ingress('not_a_group_name', {'SourceSecurityGroupName' => 'not_a_group_name', 'SourceSecurityGroupOwnerId' => '#{@owner_id}'})").raises(Fog::Compute::AWS::NotFound) do
398
- Fog::Compute[:aws].revoke_security_group_ingress(
399
- 'not_a_group_name',
400
- {
401
- 'SourceSecurityGroupName' => 'not_a_group_name',
402
- 'SourceSecurityGroupOwnerId' => @owner_id
403
- }
404
- )
405
- end
406
-
407
- tests("#delete_security_group('not_a_group_name')").raises(Fog::Compute::AWS::NotFound) do
408
- Fog::Compute[:aws].delete_security_group('not_a_group_name')
409
- end
410
-
411
- @rds_security_group = Fog::AWS[:rds].security_groups.create(:id => "rdsgroup", :description => 'fog rds test')
412
-
413
- tests("#delete_security_group('when authorized to an rds firewall')").raises(Fog::Compute::AWS::Error) do
414
- @rds_security_group.authorize_ec2_security_group(@security_group.name)
415
- Fog::Compute[:aws].delete_security_group(@security_group.name)
416
- end
417
-
418
- @rds_security_group.destroy
419
-
420
- @security_group.destroy
421
- @other_security_group.destroy
422
-
423
- tests("#delete_security_group('default')").raises(Fog::Compute::AWS::Error) do
424
- Fog::Compute[:aws].delete_security_group('default')
425
- end
426
-
427
- broken_params = [
428
- ['fog_security_group', { 'GroupName' => 'fog_security_group' }],
429
- [nil, nil],
430
- [nil, { 'GroupId' => nil }],
431
- [nil, { 'GroupName' => nil, 'GroupId' => nil }]
432
- ]
433
-
434
- broken_params.each do |list_elem|
435
- tests("#authorize_security_group_ingress(#{list_elem[0].inspect}, #{list_elem[1].inspect})").raises(Fog::Compute::AWS::Error) do
436
- Fog::Compute[:aws].authorize_security_group_ingress(list_elem[0], list_elem[1])
437
- end
438
-
439
- tests("#revoke_security_group_ingress(#{list_elem[0].inspect}, #{list_elem[1].inspect})").raises(Fog::Compute::AWS::Error) do
440
- Fog::Compute[:aws].revoke_security_group_ingress(list_elem[0], list_elem[1])
441
- end
442
- end
443
-
444
- end
445
-
446
- end
@@ -1,77 +0,0 @@
1
- Shindo.tests('Fog::Compute[:aws] | snapshot requests', ['aws']) do
2
-
3
- @snapshot_format = {
4
- 'description' => Fog::Nullable::String,
5
- 'encrypted' => Fog::Boolean,
6
- 'ownerId' => String,
7
- 'progress' => String,
8
- 'snapshotId' => String,
9
- 'startTime' => Time,
10
- 'status' => String,
11
- 'volumeId' => String,
12
- 'volumeSize' => Integer
13
- }
14
-
15
- @snapshots_format = {
16
- 'requestId' => String,
17
- 'snapshotSet' => [@snapshot_format.merge('tagSet' => {})]
18
- }
19
-
20
- @snapshot_copy_result = {
21
- 'requestId' => String,
22
- 'snapshotId' => String
23
- }
24
-
25
- @volume = Fog::Compute[:aws].volumes.create(:availability_zone => 'us-east-1a', :size => 1)
26
-
27
- tests('success') do
28
-
29
- @snapshot_id = nil
30
-
31
- tests("#create_snapshot(#{@volume.identity})").formats(@snapshot_format.merge('progress' => NilClass, 'requestId' => String)) do
32
- data = Fog::Compute[:aws].create_snapshot(@volume.identity).body
33
- @snapshot_id = data['snapshotId']
34
- data
35
- end
36
-
37
- Fog.wait_for { Fog::Compute[:aws].snapshots.get(@snapshot_id) }
38
- Fog::Compute[:aws].snapshots.get(@snapshot_id).wait_for { ready? }
39
-
40
- tests("#describe_snapshots").formats(@snapshots_format) do
41
- Fog::Compute[:aws].describe_snapshots.body
42
- end
43
-
44
- tests("#describe_snapshots('snapshot-id' => '#{@snapshot_id}')").formats(@snapshots_format) do
45
- Fog::Compute[:aws].describe_snapshots('snapshot-id' => @snapshot_id).body
46
- end
47
-
48
- tests("#copy_snapshot (#{@snapshot_id}, 'us-east-1')").formats(@snapshot_copy_result) do
49
- data = Fog::Compute.new(:provider => :aws, :region => "us-west-1").copy_snapshot(@snapshot_id, "us-east-1").body
50
- @west_snapshot_id = data['snapshotId']
51
- data
52
- end
53
-
54
- tests("#delete_snapshots(#{@snapshot_id})").formats(AWS::Compute::Formats::BASIC) do
55
- Fog::Compute[:aws].delete_snapshot(@snapshot_id).body
56
- end
57
-
58
- #NOTE: waiting for the copy to complete can sometimes take up to 5 minutes (but sometimes it's nearly instant)
59
- #for faster tests: comment out the rest of this block
60
- Fog.wait_for { Fog::Compute.new(:provider => :aws, :region => "us-west-1").snapshots.get(@west_snapshot_id) }
61
-
62
- tests("#delete_snapshots(#{@west_snapshot_id})").formats(AWS::Compute::Formats::BASIC) do
63
- Fog::Compute.new(:provider => :aws, :region => "us-west-1").delete_snapshot(@west_snapshot_id).body
64
- end
65
-
66
- end
67
- tests('failure') do
68
-
69
- tests("#delete_snapshot('snap-00000000')").raises(Fog::Compute::AWS::NotFound) do
70
- Fog::Compute[:aws].delete_snapshot('snap-00000000')
71
- end
72
-
73
- end
74
-
75
- @volume.destroy
76
-
77
- end
@@ -1,47 +0,0 @@
1
- Shindo.tests('Fog::Compute[:aws] | spot datafeed subscription requests', ['aws']) do
2
- @spot_datafeed_subscription_format = {
3
- 'spotDatafeedSubscription' => {
4
- 'bucket' => String,
5
- 'ownerId' => String,
6
- 'prefix' => String,
7
- 'state' => String
8
- },
9
- 'requestId' => String
10
- }
11
-
12
- @directory = Fog::Storage[:aws].directories.create(:key => 'fogspotdatafeedsubscriptiontests')
13
-
14
- tests('success') do
15
- pending if Fog.mocking?
16
-
17
- tests("#create_spot_datafeed_subscription('fogspotdatafeedsubscriptiontests', 'fogspotdatafeedsubscription/')").formats(@spot_datafeed_subscription_format) do
18
- Fog::Compute[:aws].create_spot_datafeed_subscription('fogspotdatafeedsubscriptiontests', 'fogspotdatafeedsubscription/').body
19
- end
20
-
21
- tests("duplicate #create_spot_datafeed_subscription('fogspotdatafeedsubscriptiontests', 'fogspotdatafeedsubscription/')").succeeds do
22
- Fog::Compute[:aws].create_spot_datafeed_subscription('fogspotdatafeedsubscriptiontests', 'fogspotdatafeedsubscription/')
23
- end
24
-
25
- tests("#describe_spot_datafeed_subscription").formats(@spot_datafeed_subscription_format) do
26
- Fog::Compute[:aws].describe_spot_datafeed_subscription.body
27
- end
28
-
29
- tests("#delete_spot_datafeed_subscription").formats(AWS::Compute::Formats::BASIC) do
30
- Fog::Compute[:aws].delete_spot_datafeed_subscription.body
31
- end
32
-
33
- tests("duplicate #delete_spot_datafeed_subscription").succeeds do
34
- Fog::Compute[:aws].delete_spot_datafeed_subscription
35
- end
36
- end
37
-
38
- tests('failure') do
39
- pending if Fog.mocking?
40
-
41
- tests("#describe_spot_datafeed_subscription").raises(Fog::Compute::AWS::NotFound) do
42
- Fog::Compute[:aws].describe_spot_datafeed_subscription
43
- end
44
- end
45
-
46
- @directory.destroy
47
- end
@@ -1,57 +0,0 @@
1
- Shindo.tests('Fog::Compute[:aws] | spot instance requests', ['aws']) do
2
-
3
- @spot_instance_requests_format = {
4
- 'spotInstanceRequestSet' => [{
5
- 'createTime' => Time,
6
- 'instanceId' => Fog::Nullable::String,
7
- 'launchedAvailabilityZone' => Fog::Nullable::String,
8
- 'launchSpecification' => {
9
- 'blockDeviceMapping' => [],
10
- 'groupSet' => [String],
11
- 'keyName' => Fog::Nullable::String,
12
- 'imageId' => String,
13
- 'instanceType' => String,
14
- 'monitoring' => Fog::Boolean,
15
- 'ebsOptimized' => Fog::Boolean,
16
- 'subnetId' => Fog::Nullable::String,
17
- 'iamInstanceProfile' => Fog::Nullable::Hash,
18
- },
19
- 'productDescription' => String,
20
- 'spotInstanceRequestId' => String,
21
- 'spotPrice' => Float,
22
- 'state' => String,
23
- 'type' => String,
24
- 'fault' => Fog::Nullable::Hash,
25
- }],
26
- 'requestId' => String
27
- }
28
-
29
- @cancel_spot_instance_request_format = {
30
- 'spotInstanceRequestSet' => [{
31
- 'spotInstanceRequestId' => String,
32
- 'state' => String
33
- }],
34
- 'requestId' => String
35
- }
36
-
37
- tests('success') do
38
-
39
- tests("#request_spot_instances('ami-3202f25b', 't1.micro', '0.001')").formats(@spot_instance_requests_format) do
40
- data = Fog::Compute[:aws].request_spot_instances('ami-3202f25b', 't1.micro', '0.001',{'LaunchSpecification.EbsOptimized' => false}).body
41
- @spot_instance_request_id = data['spotInstanceRequestSet'].first['spotInstanceRequestId']
42
- data
43
- end
44
-
45
- pending if Fog.mocking?
46
-
47
- tests("#describe_spot_instance_requests").formats(@spot_instance_requests_format) do
48
- Fog::Compute[:aws].describe_spot_instance_requests('spot-instance-request-id' => [@spot_instance_request_id]).body
49
- end
50
-
51
- tests("#cancel_spot_instance_requests('#{@spot_instance_request_id}')").formats(@cancel_spot_instance_request_format) do
52
- Fog::Compute[:aws].cancel_spot_instance_requests(@spot_instance_request_id).body
53
- end
54
-
55
- end
56
-
57
- end
@@ -1,23 +0,0 @@
1
- Shindo.tests('Fog::Compute[:aws] | spot price history requests', ['aws']) do
2
-
3
- @spot_price_history_format = {
4
- 'spotPriceHistorySet' => [{
5
- 'availabilityZone' => String,
6
- 'instanceType' => String,
7
- 'spotPrice' => Float,
8
- 'productDescription' => String,
9
- 'timestamp' => Time
10
- }],
11
- 'requestId' => String,
12
- 'nextToken' => Fog::Nullable::String
13
- }
14
-
15
- tests('success') do
16
-
17
- tests("#describe_spot_price_history").formats(@spot_price_history_format) do
18
- Fog::Compute[:aws].describe_spot_price_history.body
19
- end
20
-
21
- end
22
-
23
- end