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,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/delete_hosted_zone'
6
6
 
@@ -24,7 +24,7 @@ module Fog
24
24
 
25
25
  request({
26
26
  :expects => 200,
27
- :parser => Fog::Parsers::DNS::AWS::DeleteHostedZone.new,
27
+ :parser => Fog::Parsers::AWS::DNS::DeleteHostedZone.new,
28
28
  :method => 'DELETE',
29
29
  :path => "hostedzone/#{zone_id}"
30
30
  })
@@ -37,7 +37,7 @@ module Fog
37
37
  def delete_hosted_zone(zone_id)
38
38
  response = Excon::Response.new
39
39
  key = [zone_id, "/hostedzone/#{zone_id}"].find { |k| !self.data[:zones][k].nil? } ||
40
- raise(Fog::DNS::AWS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone does not exist."))
40
+ raise(Fog::AWS::DNS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone does not exist."))
41
41
 
42
42
  change = {
43
43
  :id => Fog::AWS::Mock.change_id,
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/get_change'
6
6
 
@@ -23,7 +23,7 @@ module Fog
23
23
 
24
24
  request({
25
25
  :expects => 200,
26
- :parser => Fog::Parsers::DNS::AWS::GetChange.new,
26
+ :parser => Fog::Parsers::AWS::DNS::GetChange.new,
27
27
  :method => 'GET',
28
28
  :path => "change/#{change_id}"
29
29
  })
@@ -36,7 +36,7 @@ module Fog
36
36
  # find the record with matching change_id
37
37
  # records = data[:zones].values.map{|z| z[:records].values.map{|r| r.values}}.flatten
38
38
  change = self.data[:changes][change_id] ||
39
- raise(Fog::DNS::AWS::NotFound.new("NoSuchChange => Could not find resource with ID: #{change_id}"))
39
+ raise(Fog::AWS::DNS::NotFound.new("NoSuchChange => Could not find resource with ID: #{change_id}"))
40
40
 
41
41
  response.status = 200
42
42
  submitted_at = Time.parse(change[:submitted_at])
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/health_check'
6
6
 
@@ -30,7 +30,7 @@ module Fog
30
30
  def get_health_check(id)
31
31
  request({
32
32
  :expects => 200,
33
- :parser => Fog::Parsers::DNS::AWS::HealthCheck.new,
33
+ :parser => Fog::Parsers::AWS::DNS::HealthCheck.new,
34
34
  :method => 'GET',
35
35
  :path => "healthcheck/#{id}"
36
36
  })
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/get_hosted_zone'
6
6
 
@@ -29,7 +29,7 @@ module Fog
29
29
  :expects => 200,
30
30
  :idempotent => true,
31
31
  :method => 'GET',
32
- :parser => Fog::Parsers::DNS::AWS::GetHostedZone.new,
32
+ :parser => Fog::Parsers::AWS::DNS::GetHostedZone.new,
33
33
  :path => "hostedzone/#{zone_id}"
34
34
  })
35
35
  end
@@ -51,7 +51,7 @@ module Fog
51
51
  }
52
52
  response
53
53
  else
54
- raise Fog::DNS::AWS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone ID does not exist.")
54
+ raise Fog::AWS::DNS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone ID does not exist.")
55
55
  end
56
56
  end
57
57
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/list_health_checks'
6
6
 
@@ -26,7 +26,7 @@ module Fog
26
26
  :expects => 200,
27
27
  :method => 'GET',
28
28
  :path => "healthcheck",
29
- :parser => Fog::Parsers::DNS::AWS::ListHealthChecks.new
29
+ :parser => Fog::Parsers::AWS::DNS::ListHealthChecks.new
30
30
  })
31
31
  end
32
32
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/list_hosted_zones'
6
6
 
@@ -38,7 +38,7 @@ module Fog
38
38
 
39
39
  request({
40
40
  :query => parameters,
41
- :parser => Fog::Parsers::DNS::AWS::ListHostedZones.new,
41
+ :parser => Fog::Parsers::AWS::DNS::ListHostedZones.new,
42
42
  :expects => 200,
43
43
  :method => 'GET',
44
44
  :path => "hostedzone"
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Real
5
5
  require 'fog/aws/parsers/dns/list_resource_record_sets'
6
6
 
@@ -51,7 +51,7 @@ module Fog
51
51
  :expects => 200,
52
52
  :idempotent => true,
53
53
  :method => 'GET',
54
- :parser => Fog::Parsers::DNS::AWS::ListResourceRecordSets.new,
54
+ :parser => Fog::Parsers::AWS::DNS::ListResourceRecordSets.new,
55
55
  :path => "hostedzone/#{zone_id}/rrset",
56
56
  :query => parameters
57
57
  })
@@ -64,7 +64,7 @@ module Fog
64
64
  tmp_records.push(record) if !record[:name].nil? && ( name.nil? || record[:name].gsub(zone[:name],"") >= name)
65
65
  record.each do |key,subr|
66
66
  if subr.is_a?(Hash) && key.is_a?(String) &&
67
- key.start_with?(Fog::DNS::AWS::Mock::SET_PREFIX)
67
+ key.start_with?(Fog::AWS::DNS::Mock::SET_PREFIX)
68
68
  if name.nil?
69
69
  tmp_records.append(subr)
70
70
  else
@@ -81,7 +81,7 @@ module Fog
81
81
  response = Excon::Response.new
82
82
 
83
83
  zone = self.data[:zones][zone_id] ||
84
- raise(Fog::DNS::AWS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone ID does not exist."))
84
+ raise(Fog::AWS::DNS::NotFound.new("NoSuchHostedZone => A hosted zone with the specified hosted zone ID does not exist."))
85
85
 
86
86
  records = if options[:type]
87
87
  records_type = zone[:records][options[:type]]
@@ -7,15 +7,15 @@ module Fog
7
7
  #
8
8
  # ==== Parameters
9
9
  # * 'table_name'<~String> - name of table for item
10
- # * 'key'<~Hash> - list of elements to be updated and their value
10
+ # * 'key'<~Hash> - list of Key attributes
11
11
  # {
12
12
  # "ForumName": {"S": "Amazon DynamoDB"},
13
13
  # "Subject": {"S": "Maximum number of items?"}
14
14
  # }
15
15
  #
16
16
  # * 'options'<~Hash>:
17
- # * 'KeyConditionExpression'<~String> - the condition elements need to match
18
- # * 'ExpressionAttributeValues'<~Hash> - values to be used in the key condition expression
17
+ # * 'UpdateExpression'<~String> - the expression that will update the item
18
+ # * 'ExpressionAttributeValues'<~Hash> - values to be used in the update expression
19
19
  # * 'ReturnValues'<~String> - data to return in %w{ALL_NEW ALL_OLD NONE UPDATED_NEW UPDATED_OLD}, defaults to NONE
20
20
  #
21
21
  # ==== Returns
@@ -29,13 +29,14 @@ module Fog
29
29
  if deprecated_attribute_updates
30
30
  raise DeprecatedAttributeUpdates, "The `20111205` DynamoDB API is deprecated. You need to use `ExpressionAttributeValues` instead of `AttributeUpdates`."
31
31
  attribute_updates = options
32
- options = deprecated_attribute_updates
32
+ options = deprecated_attribute_updates.merge(
33
+ 'AttributeUpdates' => attribute_updates,
34
+ )
33
35
  end
34
36
 
35
37
  body = {
36
38
  'Key' => key,
37
39
  'TableName' => table_name,
38
- 'AttributeUpdates' => attribute_updates,
39
40
  }.merge(options)
40
41
 
41
42
  request(
@@ -0,0 +1,63 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Create a new, empty file system
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_CreateFileSystem.html
7
+ # ==== Parameters
8
+ # * CreationToken <~String> - String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.
9
+ # * PerformanceMode <~String> - (Optional) The PerformanceMode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. This can't be changed after the file system has been created.
10
+ # * Encrypted <~Boolean> - (Optional) A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a CreateFileSystem:KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.
11
+ # * KmsKeyId <~String> - (Optional) The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:
12
+ # - Key ID - A unique identifier of the key, for example, 1234abcd-12ab-34cd-56ef-1234567890ab.
13
+ # - ARN - An Amazon Resource Name (ARN) for the key, for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
14
+ # - Key alias - A previously created display name for a key. For example, alias/projectKey1.
15
+ # - Key alias ARN - An ARN for a key alias, for example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1.
16
+ # If KmsKeyId is specified, the CreateFileSystem:Encrypted parameter must be set to true.
17
+ # ==== Returns
18
+ # * response<~Excon::Response>
19
+ # * body<~Hash>
20
+ def create_file_system(creation_token, options={})
21
+ params = {
22
+ :path => "file-systems",
23
+ :method => 'POST',
24
+ :expects => 201,
25
+ 'CreationToken' => creation_token,
26
+ 'PerformanceMode' => options[:peformance_mode] || 'generalPurpose',
27
+ 'Encrypted' => options[:encrypted] || false
28
+ }
29
+ params[:kms_key_id] = options[:kms_key_id] if options.key?(:kms_key_id)
30
+ request(params)
31
+ end
32
+ end
33
+
34
+ class Mock
35
+ def create_file_system(creation_token, options={})
36
+ response = Excon::Response.new
37
+
38
+ id = "fs-#{Fog::Mock.random_letters(8)}"
39
+ file_system = {
40
+ "OwnerId" => Fog::AWS::Mock.owner_id,
41
+ "CreationToken" => creation_token,
42
+ "PerformanceMode" => options[:performance_mode] || "generalPurpose",
43
+ "Encrypted" => options[:encrypted] || false,
44
+ "FileSystemId" => id,
45
+ "CreationTime" => Time.now.to_i.to_f,
46
+ "LifeCycleState" => "creating",
47
+ "NumberOfMountTargets" => 0,
48
+ "SizeInBytes" => {
49
+ "Value" => 1024,
50
+ "Timestamp" => Time.now.to_i.to_f
51
+ }
52
+ }
53
+ file_system[:kms_key_id] = options[:kms_key_id] if options.key?(:kms_key_id)
54
+
55
+ self.data[:file_systems][id] = file_system
56
+ response.body = file_system
57
+ response.status = 201
58
+ response
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,73 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Create a mount target for a specified file system
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_CreateMountTarget.html
7
+ # ==== Parameters
8
+ # * FileSystemId <~String> - ID of the file system for which to create the mount target.
9
+ # * IpAddress <~String> - Valid IPv4 address within the address range of the specified subnet.
10
+ # * SecurityGroups <~Array> - Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC as subnet specified.
11
+ # * SubnetId <~String> - ID of the subnet to add the mount target in.
12
+ # ==== Returns
13
+ # * response<~Excon::Response>
14
+ # * body<~Hash>
15
+ def create_mount_target(file_system_id, subnet_id, options={})
16
+ request({
17
+ :path => "mount-targets",
18
+ :method => "POST",
19
+ 'FileSystemId' => file_system_id,
20
+ 'SubnetId' => subnet_id
21
+ }.merge(options))
22
+ end
23
+ end
24
+
25
+ class Mock
26
+ def create_mount_target(file_system_id, subnet_id, options={})
27
+ response = Excon::Response.new
28
+ default_security_group = mock_compute.data[:security_groups].find do |_, sg|
29
+ sg['groupDescription'] == 'default_elb security group'
30
+ end
31
+ security_groups = options["SecurityGroups"] || [default_security_group.first]
32
+
33
+ unless file_system = self.data[:file_systems][file_system_id]
34
+ raise Fog::AWS::EFS::NotFound.new("invalid file system ID: #{file_system_id}")
35
+ end
36
+
37
+ unless file_system["LifeCycleState"] == 'available'
38
+ # this error doesn't include a message for some reason
39
+ raise Fog::AWS::EFS::IncorrectFileSystemLifeCycleState.new("")
40
+ end
41
+
42
+ unless subnet = mock_compute.subnets.get(subnet_id)
43
+ raise Fog::AWS::EFS::InvalidSubnet.new("invalid subnet ID: #{subnet_id}")
44
+ end
45
+
46
+ security_groups.each do |group_id|
47
+ unless mock_compute.data[:security_groups][group_id]
48
+ raise Fog::AWS::EFS::NotFound.new("invalid security group ID: #{group_id}")
49
+ end
50
+ end
51
+
52
+ id = "fsmt-#{Fog::Mock.random_letters(8)}"
53
+
54
+ mount_target = {
55
+ 'MountTargetId' => id,
56
+ 'FileSystemId' => file_system_id,
57
+ 'IpAddress' => Fog::AWS::Mock.ip_address,
58
+ 'OwnerId' => Fog::AWS::Mock.owner_id,
59
+ 'LifeCycleState' => 'creating',
60
+ 'NetworkInterfaceId' => "eni-#{Fog::Mock.random_hex(8)}",
61
+ 'SubnetId' => subnet.identity,
62
+ }
63
+
64
+ self.data[:mount_targets][id] = mount_target
65
+ self.data[:security_groups][id] = security_groups
66
+
67
+ response.body = mount_target
68
+ response
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,41 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Delete a file system
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_DeleteFileSystem.html
7
+ # ==== Parameters
8
+ # * FileSystemId <~String> - ID of the file system you want to delete.
9
+ # ==== Returns
10
+ # * response<~Excon::Response>
11
+ # * body - Empty
12
+ # * status - 204
13
+ def delete_file_system(id)
14
+ request({
15
+ :path => "file-systems/#{id}",
16
+ :method => 'DELETE',
17
+ :expects => 204,
18
+ })
19
+ end
20
+ end
21
+
22
+ class Mock
23
+ def delete_file_system(id)
24
+ unless file_system = self.data[:file_systems][id]
25
+ raise Fog::AWS::EFS::NotFound.new("invalid file system ID: #{id}")
26
+ end
27
+
28
+ if file_system["NumberOfMountTargets"] > 0
29
+ raise Fog::AWS::EFS::FileSystemInUse.new("")
30
+ end
31
+
32
+ self.data[:file_systems].delete(id)
33
+
34
+ response = Excon::Response.new
35
+ response.status = 204
36
+ response
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,38 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Delete a mount target
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_DeleteMountTarget.html
7
+ # ==== Parameters
8
+ # * MountTargetId <~String> - ID of the mount target you want to delete
9
+ # ==== Returns
10
+ # * response<~Excon::Response>
11
+ # * body - Empty
12
+ # * status - 204
13
+ def delete_mount_target(id)
14
+ request(
15
+ :path => "mount-targets/#{id}",
16
+ :method => "DELETE",
17
+ :expects => 204
18
+ )
19
+ end
20
+ end
21
+
22
+ class Mock
23
+ def delete_mount_target(id)
24
+ response = Excon::Response.new
25
+
26
+ unless self.data[:mount_targets][id]
27
+ raise Fog::AWS::EFS::NotFound.new("invalid mount target ID: #{id}")
28
+ end
29
+
30
+ self.data[:mount_targets].delete(id)
31
+
32
+ response.status = 204
33
+ response
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,62 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Describe all or specified elastic file systems
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_DescribeFileSystems.html
7
+ # ==== Parameters
8
+ # * CreationToken <~String> - (Optional) Restricts the list to the file system with this creation token (String). You specify a creation token when you create an Amazon EFS file system.
9
+ # * FileSystemId <~String> - (Optional) ID of the file system whose description you want to retrieve (String).
10
+ # ==== Returns
11
+ # * response<~Excon::Response>:
12
+ # * body<~Hash>
13
+ def describe_file_systems(options={})
14
+ params = {}
15
+ if options[:marker]
16
+ params['Marker'] = options[:marker]
17
+ end
18
+ if options[:max_records]
19
+ params['MaxRecords'] = options[:max_records]
20
+ end
21
+ if options[:id]
22
+ params['FileSystemId'] = options[:id]
23
+ end
24
+ if options[:creation_token]
25
+ params['CreationToken'] = options[:creation_token]
26
+ end
27
+
28
+ request({
29
+ :path => "file-systems"
30
+ }.merge(params))
31
+ end
32
+ end
33
+
34
+ class Mock
35
+ def describe_file_systems(options={})
36
+ response = Excon::Response.new
37
+
38
+ file_systems = if id = options[:id]
39
+ if fs = self.data[:file_systems][id]
40
+ [fs]
41
+ else
42
+ raise Fog::AWS::EFS::NotFound.new("invalid file system ID: #{id}")
43
+ end
44
+ elsif creation_token = options[:creation_token]
45
+ fs = self.data[:file_systems].values.detect { |file_system| file_system["CreationToken"] == creation_token }
46
+ [fs]
47
+ else
48
+ self.data[:file_systems].values
49
+ end
50
+
51
+ file_systems.each do |file_system|
52
+ file_system['LifeCycleState'] = 'available'
53
+ self.data[:file_systems][file_system['FileSystemId']] = file_system
54
+ end
55
+
56
+ response.body = {"FileSystems" => file_systems}
57
+ response
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,34 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Describe mount target security groups
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_DescribeMountTargetSecurityGroups.html
7
+ # ==== Parameters
8
+ # * MountTargetId - Id of the mount target for which you want to describe security groups
9
+ # ==== Returns
10
+ # * response<~Excon::Response>
11
+ # * body<~Hash>
12
+
13
+ def describe_mount_target_security_groups(mount_target_id)
14
+ request(
15
+ :path => "mount-targets/#{mount_target_id}/security-groups"
16
+ )
17
+ end
18
+ end
19
+
20
+ class Mock
21
+ def describe_mount_target_security_groups(mount_target_id)
22
+ response = Excon::Response.new
23
+
24
+ unless self.data[:mount_targets][mount_target_id]
25
+ raise Fog::AWS::EFS::NotFound.new("invalid mount target ID: #{mount_target_id}")
26
+ end
27
+
28
+ response.body = {"SecurityGroups" => self.data[:security_groups][mount_target_id]}
29
+ response
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,61 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ # Describe all mount targets for a filesystem, or specified mount target
6
+ # http://docs.aws.amazon.com/efs/latest/ug/API_DescribeMountTargets.html
7
+ # ==== Parameters
8
+ # * FileSystemId<~String> - Id of file system to describe mount targets for. Required unless MountTargetId is specified
9
+ # * MountTargetId<~String> - Specific mount target to describe. Required if FileSystemId is not specified
10
+ # ==== Returns
11
+ # * response<~Excon::Response>
12
+ # * body<~Hash>
13
+ def describe_mount_targets(options={})
14
+ params = {}
15
+ if options[:marker]
16
+ params['Marker'] = options[:marker]
17
+ end
18
+ if options[:max_records]
19
+ params['MaxRecords'] = options[:max_records]
20
+ end
21
+ if options[:id]
22
+ params['MountTargetId'] = options[:id]
23
+ end
24
+ if options[:file_system_id]
25
+ params['FileSystemId'] = options[:file_system_id]
26
+ end
27
+
28
+ request({
29
+ :path => "mount-targets"
30
+ }.merge(params))
31
+ end
32
+ end
33
+
34
+ class Mock
35
+ def describe_mount_targets(options={})
36
+ response = Excon::Response.new
37
+
38
+ mount_targets = if id = options[:id]
39
+ if mount_target = self.data[:mount_targets][id]
40
+ [mount_target]
41
+ else
42
+ raise Fog::AWS::EFS::NotFound.new("Mount target does not exist.")
43
+ end
44
+ elsif file_system_id = options[:file_system_id]
45
+ self.data[:mount_targets].values.select { |mt| mt["FileSystemId"] == file_system_id }
46
+ else
47
+ raise Fog::AWS::EFS::Error.new("file system ID or mount target ID must be specified")
48
+ end
49
+
50
+ mount_targets.each do |mount_target|
51
+ mount_target['LifeCycleState'] = 'available'
52
+ self.data[:mount_targets][mount_target["MountTargetId"]] = mount_target
53
+ end
54
+
55
+ response.body = {"MountTargets" => mount_targets}
56
+ response
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,39 @@
1
+ module Fog
2
+ module AWS
3
+ class EFS
4
+ class Real
5
+ def modify_mount_target_security_groups(id, security_groups)
6
+ request({
7
+ :path => "mount-targets/#{id}/security-groups",
8
+ :method => "PUT",
9
+ :expects => 204,
10
+ 'SecurityGroups' => security_groups
11
+ })
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def modify_mount_target_security_groups(id, security_groups)
17
+ if security_groups.nil? || security_groups.empty?
18
+ raise Fog::AWS::EFS::Error.new("Must provide at least one security group.")
19
+ end
20
+
21
+ response = Excon::Response.new
22
+
23
+ unless self.data[:mount_targets][id]
24
+ raise Fog::AWS::EFS::NotFound.new("invalid mount target ID: #{id}")
25
+ end
26
+
27
+ security_groups.each do |sg|
28
+ raise Fog::AWS::EFS::NotFound.new("invalid security group ID: #{sg}") unless mock_compute.data[:security_groups].values.detect { |sgd| sgd["groupId"] == sg }
29
+ end
30
+
31
+ self.data[:security_groups][id] = security_groups
32
+
33
+ response.status = 204
34
+ response
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end