fog-aws 3.0.0 → 3.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (499) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +10 -0
  3. data/.github/workflows/ruby.yml +36 -0
  4. data/.github/workflows/stale.yml +23 -0
  5. data/.gitignore +1 -0
  6. data/CHANGELOG.md +354 -22
  7. data/Gemfile +1 -1
  8. data/LICENSE.md +1 -1
  9. data/README.md +60 -7
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/fog-aws.gemspec +5 -4
  14. data/lib/fog/aws.rb +27 -19
  15. data/lib/fog/aws/auto_scaling.rb +1 -0
  16. data/lib/fog/aws/cdn.rb +15 -2
  17. data/lib/fog/aws/compute.rb +36 -23
  18. data/lib/fog/aws/credential_fetcher.rb +62 -8
  19. data/lib/fog/aws/dns.rb +154 -5
  20. data/lib/fog/aws/efs.rb +1 -1
  21. data/lib/fog/aws/elasticache.rb +4 -2
  22. data/lib/fog/aws/elb.rb +3 -2
  23. data/lib/fog/aws/elbv2.rb +72 -0
  24. data/lib/fog/aws/glacier.rb +83 -21
  25. data/lib/fog/aws/kinesis.rb +23 -15
  26. data/lib/fog/aws/models/auto_scaling/group.rb +10 -0
  27. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  28. data/lib/fog/aws/models/cdn/distribution_helper.rb +2 -2
  29. data/lib/fog/aws/models/cdn/distributions.rb +4 -4
  30. data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -2
  31. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  32. data/lib/fog/aws/models/cdn/invalidations.rb +3 -3
  33. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  34. data/lib/fog/aws/models/cdn/streaming_distributions.rb +4 -4
  35. data/lib/fog/aws/models/compute/address.rb +3 -2
  36. data/lib/fog/aws/models/compute/addresses.rb +3 -3
  37. data/lib/fog/aws/models/compute/dhcp_option.rb +2 -2
  38. data/lib/fog/aws/models/compute/dhcp_options.rb +7 -7
  39. data/lib/fog/aws/models/compute/flavor.rb +2 -2
  40. data/lib/fog/aws/models/compute/flavors.rb +2719 -397
  41. data/lib/fog/aws/models/compute/image.rb +2 -2
  42. data/lib/fog/aws/models/compute/images.rb +3 -3
  43. data/lib/fog/aws/models/compute/internet_gateway.rb +2 -2
  44. data/lib/fog/aws/models/compute/internet_gateways.rb +7 -7
  45. data/lib/fog/aws/models/compute/key_pair.rb +2 -2
  46. data/lib/fog/aws/models/compute/key_pairs.rb +3 -3
  47. data/lib/fog/aws/models/compute/network_acl.rb +4 -4
  48. data/lib/fog/aws/models/compute/network_acls.rb +6 -6
  49. data/lib/fog/aws/models/compute/network_interface.rb +2 -2
  50. data/lib/fog/aws/models/compute/network_interfaces.rb +4 -4
  51. data/lib/fog/aws/models/compute/route_table.rb +2 -2
  52. data/lib/fog/aws/models/compute/route_tables.rb +7 -7
  53. data/lib/fog/aws/models/compute/security_group.rb +2 -2
  54. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  55. data/lib/fog/aws/models/compute/server.rb +6 -4
  56. data/lib/fog/aws/models/compute/servers.rb +13 -8
  57. data/lib/fog/aws/models/compute/snapshot.rb +9 -8
  58. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  59. data/lib/fog/aws/models/compute/spot_request.rb +2 -2
  60. data/lib/fog/aws/models/compute/spot_requests.rb +3 -3
  61. data/lib/fog/aws/models/compute/subnet.rb +2 -2
  62. data/lib/fog/aws/models/compute/subnets.rb +3 -3
  63. data/lib/fog/aws/models/compute/tag.rb +2 -2
  64. data/lib/fog/aws/models/compute/tags.rb +3 -3
  65. data/lib/fog/aws/models/compute/volume.rb +3 -3
  66. data/lib/fog/aws/models/compute/volumes.rb +3 -3
  67. data/lib/fog/aws/models/compute/vpc.rb +10 -4
  68. data/lib/fog/aws/models/compute/vpcs.rb +3 -3
  69. data/lib/fog/aws/models/dns/record.rb +2 -2
  70. data/lib/fog/aws/models/dns/records.rb +4 -4
  71. data/lib/fog/aws/models/dns/zone.rb +3 -3
  72. data/lib/fog/aws/models/dns/zones.rb +4 -4
  73. data/lib/fog/aws/models/efs/file_system.rb +4 -0
  74. data/lib/fog/aws/models/rds/cluster.rb +9 -1
  75. data/lib/fog/aws/models/rds/server.rb +66 -63
  76. data/lib/fog/aws/models/storage/directories.rb +3 -3
  77. data/lib/fog/aws/models/storage/directory.rb +40 -6
  78. data/lib/fog/aws/models/storage/file.rb +132 -7
  79. data/lib/fog/aws/models/storage/files.rb +36 -6
  80. data/lib/fog/aws/models/storage/version.rb +2 -2
  81. data/lib/fog/aws/models/storage/versions.rb +3 -3
  82. data/lib/fog/aws/parsers/cdn/distribution.rb +2 -2
  83. data/lib/fog/aws/parsers/cdn/get_distribution_list.rb +2 -2
  84. data/lib/fog/aws/parsers/cdn/get_invalidation.rb +2 -2
  85. data/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +2 -2
  86. data/lib/fog/aws/parsers/cdn/get_streaming_distribution_list.rb +2 -2
  87. data/lib/fog/aws/parsers/cdn/post_invalidation.rb +2 -2
  88. data/lib/fog/aws/parsers/cdn/streaming_distribution.rb +1 -1
  89. data/lib/fog/aws/parsers/compute/allocate_address.rb +2 -2
  90. data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +2 -2
  91. data/lib/fog/aws/parsers/compute/associate_address.rb +2 -2
  92. data/lib/fog/aws/parsers/compute/associate_route_table.rb +2 -2
  93. data/lib/fog/aws/parsers/compute/attach_network_interface.rb +2 -2
  94. data/lib/fog/aws/parsers/compute/attach_volume.rb +2 -2
  95. data/lib/fog/aws/parsers/compute/basic.rb +2 -2
  96. data/lib/fog/aws/parsers/compute/cancel_spot_instance_requests.rb +2 -2
  97. data/lib/fog/aws/parsers/compute/copy_image.rb +2 -2
  98. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +2 -2
  99. data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +2 -2
  100. data/lib/fog/aws/parsers/compute/create_image.rb +2 -2
  101. data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +2 -2
  102. data/lib/fog/aws/parsers/compute/create_key_pair.rb +2 -2
  103. data/lib/fog/aws/parsers/compute/create_network_acl.rb +2 -2
  104. data/lib/fog/aws/parsers/compute/create_network_interface.rb +2 -2
  105. data/lib/fog/aws/parsers/compute/create_route_table.rb +2 -2
  106. data/lib/fog/aws/parsers/compute/create_security_group.rb +2 -2
  107. data/lib/fog/aws/parsers/compute/create_snapshot.rb +3 -3
  108. data/lib/fog/aws/parsers/compute/create_subnet.rb +35 -8
  109. data/lib/fog/aws/parsers/compute/create_volume.rb +2 -2
  110. data/lib/fog/aws/parsers/compute/create_vpc.rb +2 -2
  111. data/lib/fog/aws/parsers/compute/deregister_image.rb +2 -2
  112. data/lib/fog/aws/parsers/compute/describe_account_attributes.rb +2 -2
  113. data/lib/fog/aws/parsers/compute/describe_addresses.rb +32 -11
  114. data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +2 -2
  115. data/lib/fog/aws/parsers/compute/describe_classic_link_instances.rb +2 -2
  116. data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +2 -2
  117. data/lib/fog/aws/parsers/compute/describe_image_attribute.rb +122 -0
  118. data/lib/fog/aws/parsers/compute/describe_images.rb +2 -2
  119. data/lib/fog/aws/parsers/compute/describe_instance_attribute.rb +2 -2
  120. data/lib/fog/aws/parsers/compute/describe_instance_status.rb +2 -2
  121. data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
  122. data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +2 -2
  123. data/lib/fog/aws/parsers/compute/describe_key_pairs.rb +2 -2
  124. data/lib/fog/aws/parsers/compute/describe_network_acls.rb +2 -2
  125. data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +2 -2
  126. data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +2 -2
  127. data/lib/fog/aws/parsers/compute/describe_placement_groups.rb +2 -2
  128. data/lib/fog/aws/parsers/compute/describe_regions.rb +2 -2
  129. data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +2 -2
  130. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +2 -2
  131. data/lib/fog/aws/parsers/compute/describe_route_tables.rb +2 -2
  132. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +3 -3
  133. data/lib/fog/aws/parsers/compute/describe_snapshots.rb +2 -2
  134. data/lib/fog/aws/parsers/compute/describe_spot_price_history.rb +2 -2
  135. data/lib/fog/aws/parsers/compute/describe_subnets.rb +35 -8
  136. data/lib/fog/aws/parsers/compute/describe_tags.rb +2 -2
  137. data/lib/fog/aws/parsers/compute/describe_volume_status.rb +2 -2
  138. data/lib/fog/aws/parsers/compute/describe_volumes.rb +2 -2
  139. data/lib/fog/aws/parsers/compute/describe_volumes_modifications.rb +2 -2
  140. data/lib/fog/aws/parsers/compute/describe_vpc_attribute.rb +2 -2
  141. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link.rb +2 -2
  142. data/lib/fog/aws/parsers/compute/describe_vpc_classic_link_dns_support.rb +2 -2
  143. data/lib/fog/aws/parsers/compute/describe_vpcs.rb +2 -2
  144. data/lib/fog/aws/parsers/compute/detach_volume.rb +2 -2
  145. data/lib/fog/aws/parsers/compute/get_console_output.rb +2 -2
  146. data/lib/fog/aws/parsers/compute/get_password_data.rb +2 -2
  147. data/lib/fog/aws/parsers/compute/import_key_pair.rb +2 -2
  148. data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +2 -2
  149. data/lib/fog/aws/parsers/compute/modify_volume.rb +2 -2
  150. data/lib/fog/aws/parsers/compute/monitor_unmonitor_instances.rb +2 -2
  151. data/lib/fog/aws/parsers/compute/move_address_to_vpc.rb +2 -2
  152. data/lib/fog/aws/parsers/compute/network_acl_parser.rb +2 -2
  153. data/lib/fog/aws/parsers/compute/network_interface_parser.rb +2 -2
  154. data/lib/fog/aws/parsers/compute/purchase_reserved_instances_offering.rb +2 -2
  155. data/lib/fog/aws/parsers/compute/register_image.rb +2 -2
  156. data/lib/fog/aws/parsers/compute/replace_network_acl_association.rb +2 -2
  157. data/lib/fog/aws/parsers/compute/restore_address_to_classic.rb +2 -2
  158. data/lib/fog/aws/parsers/compute/run_instances.rb +2 -2
  159. data/lib/fog/aws/parsers/compute/spot_datafeed_subscription.rb +2 -2
  160. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
  161. data/lib/fog/aws/parsers/compute/start_stop_instances.rb +2 -2
  162. data/lib/fog/aws/parsers/compute/terminate_instances.rb +2 -2
  163. data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +2 -2
  164. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +3 -3
  165. data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +2 -2
  166. data/lib/fog/aws/parsers/dns/get_change.rb +2 -2
  167. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +5 -5
  168. data/lib/fog/aws/parsers/dns/health_check.rb +2 -2
  169. data/lib/fog/aws/parsers/dns/list_health_checks.rb +2 -2
  170. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +5 -3
  171. data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +2 -2
  172. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +3 -3
  173. data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
  174. data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
  175. data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
  176. data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
  177. data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
  178. data/lib/fog/aws/parsers/rds/db_parser.rb +41 -2
  179. data/lib/fog/aws/parsers/storage/access_control_list.rb +2 -2
  180. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +2 -2
  181. data/lib/fog/aws/parsers/storage/copy_object.rb +2 -2
  182. data/lib/fog/aws/parsers/storage/cors_configuration.rb +2 -2
  183. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +2 -2
  184. data/lib/fog/aws/parsers/storage/get_bucket.rb +2 -2
  185. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +2 -2
  186. data/lib/fog/aws/parsers/storage/get_bucket_location.rb +2 -2
  187. data/lib/fog/aws/parsers/storage/get_bucket_logging.rb +2 -2
  188. data/lib/fog/aws/parsers/storage/get_bucket_notification.rb +2 -2
  189. data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +2 -2
  190. data/lib/fog/aws/parsers/storage/get_bucket_tagging.rb +2 -2
  191. data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +2 -2
  192. data/lib/fog/aws/parsers/storage/get_bucket_website.rb +2 -2
  193. data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
  194. data/lib/fog/aws/parsers/storage/get_request_payment.rb +2 -2
  195. data/lib/fog/aws/parsers/storage/get_service.rb +2 -2
  196. data/lib/fog/aws/parsers/storage/initiate_multipart_upload.rb +2 -2
  197. data/lib/fog/aws/parsers/storage/list_multipart_uploads.rb +2 -2
  198. data/lib/fog/aws/parsers/storage/list_parts.rb +2 -2
  199. data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
  200. data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
  201. data/lib/fog/aws/requests/auto_scaling/set_instance_protection.rb +67 -0
  202. data/lib/fog/aws/requests/cdn/delete_distribution.rb +6 -6
  203. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +6 -6
  204. data/lib/fog/aws/requests/cdn/get_distribution.rb +5 -5
  205. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +3 -3
  206. data/lib/fog/aws/requests/cdn/get_invalidation.rb +5 -5
  207. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +4 -4
  208. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +5 -5
  209. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +3 -3
  210. data/lib/fog/aws/requests/cdn/post_distribution.rb +6 -6
  211. data/lib/fog/aws/requests/cdn/post_invalidation.rb +5 -5
  212. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +6 -6
  213. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +7 -7
  214. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +7 -7
  215. data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +2 -2
  216. data/lib/fog/aws/requests/compute/allocate_address.rb +4 -4
  217. data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +5 -5
  218. data/lib/fog/aws/requests/compute/associate_address.rb +7 -7
  219. data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +4 -4
  220. data/lib/fog/aws/requests/compute/associate_route_table.rb +5 -5
  221. data/lib/fog/aws/requests/compute/attach_classic_link_vpc.rb +7 -7
  222. data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +4 -4
  223. data/lib/fog/aws/requests/compute/attach_network_interface.rb +6 -6
  224. data/lib/fog/aws/requests/compute/attach_volume.rb +7 -7
  225. data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +6 -6
  226. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +11 -11
  227. data/lib/fog/aws/requests/compute/cancel_spot_instance_requests.rb +4 -4
  228. data/lib/fog/aws/requests/compute/copy_image.rb +3 -3
  229. data/lib/fog/aws/requests/compute/copy_snapshot.rb +3 -3
  230. data/lib/fog/aws/requests/compute/create_dhcp_options.rb +3 -3
  231. data/lib/fog/aws/requests/compute/create_image.rb +3 -3
  232. data/lib/fog/aws/requests/compute/create_internet_gateway.rb +3 -3
  233. data/lib/fog/aws/requests/compute/create_key_pair.rb +4 -4
  234. data/lib/fog/aws/requests/compute/create_network_acl.rb +4 -4
  235. data/lib/fog/aws/requests/compute/create_network_acl_entry.rb +5 -5
  236. data/lib/fog/aws/requests/compute/create_network_interface.rb +6 -6
  237. data/lib/fog/aws/requests/compute/create_placement_group.rb +3 -3
  238. data/lib/fog/aws/requests/compute/create_route.rb +10 -10
  239. data/lib/fog/aws/requests/compute/create_route_table.rb +4 -4
  240. data/lib/fog/aws/requests/compute/create_security_group.rb +4 -4
  241. data/lib/fog/aws/requests/compute/create_snapshot.rb +3 -3
  242. data/lib/fog/aws/requests/compute/create_spot_datafeed_subscription.rb +3 -3
  243. data/lib/fog/aws/requests/compute/create_subnet.rb +6 -6
  244. data/lib/fog/aws/requests/compute/create_tags.rb +3 -3
  245. data/lib/fog/aws/requests/compute/create_volume.rb +11 -11
  246. data/lib/fog/aws/requests/compute/create_vpc.rb +7 -7
  247. data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +4 -4
  248. data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +4 -4
  249. data/lib/fog/aws/requests/compute/delete_key_pair.rb +3 -3
  250. data/lib/fog/aws/requests/compute/delete_network_acl.rb +5 -5
  251. data/lib/fog/aws/requests/compute/delete_network_acl_entry.rb +5 -5
  252. data/lib/fog/aws/requests/compute/delete_network_interface.rb +5 -5
  253. data/lib/fog/aws/requests/compute/delete_placement_group.rb +3 -3
  254. data/lib/fog/aws/requests/compute/delete_route.rb +6 -6
  255. data/lib/fog/aws/requests/compute/delete_route_table.rb +5 -5
  256. data/lib/fog/aws/requests/compute/delete_security_group.rb +9 -9
  257. data/lib/fog/aws/requests/compute/delete_snapshot.rb +4 -4
  258. data/lib/fog/aws/requests/compute/delete_spot_datafeed_subscription.rb +3 -3
  259. data/lib/fog/aws/requests/compute/delete_subnet.rb +4 -4
  260. data/lib/fog/aws/requests/compute/delete_tags.rb +3 -3
  261. data/lib/fog/aws/requests/compute/delete_volume.rb +5 -5
  262. data/lib/fog/aws/requests/compute/delete_vpc.rb +4 -4
  263. data/lib/fog/aws/requests/compute/deregister_image.rb +4 -4
  264. data/lib/fog/aws/requests/compute/describe_account_attributes.rb +3 -3
  265. data/lib/fog/aws/requests/compute/describe_addresses.rb +3 -3
  266. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -3
  267. data/lib/fog/aws/requests/compute/describe_classic_link_instances.rb +3 -3
  268. data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +3 -3
  269. data/lib/fog/aws/requests/compute/describe_image_attribute.rb +74 -0
  270. data/lib/fog/aws/requests/compute/describe_images.rb +3 -3
  271. data/lib/fog/aws/requests/compute/describe_instance_attribute.rb +4 -4
  272. data/lib/fog/aws/requests/compute/describe_instance_status.rb +3 -3
  273. data/lib/fog/aws/requests/compute/describe_instances.rb +4 -4
  274. data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +3 -3
  275. data/lib/fog/aws/requests/compute/describe_key_pairs.rb +3 -3
  276. data/lib/fog/aws/requests/compute/describe_network_acls.rb +3 -3
  277. data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +5 -5
  278. data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +3 -3
  279. data/lib/fog/aws/requests/compute/describe_placement_groups.rb +3 -3
  280. data/lib/fog/aws/requests/compute/describe_regions.rb +3 -3
  281. data/lib/fog/aws/requests/compute/describe_reserved_instances.rb +3 -3
  282. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +3 -3
  283. data/lib/fog/aws/requests/compute/describe_route_tables.rb +3 -3
  284. data/lib/fog/aws/requests/compute/describe_security_groups.rb +15 -4
  285. data/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -3
  286. data/lib/fog/aws/requests/compute/describe_spot_datafeed_subscription.rb +3 -3
  287. data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +3 -3
  288. data/lib/fog/aws/requests/compute/describe_spot_price_history.rb +5 -5
  289. data/lib/fog/aws/requests/compute/describe_subnets.rb +3 -3
  290. data/lib/fog/aws/requests/compute/describe_tags.rb +3 -3
  291. data/lib/fog/aws/requests/compute/describe_volume_status.rb +3 -3
  292. data/lib/fog/aws/requests/compute/describe_volumes.rb +3 -3
  293. data/lib/fog/aws/requests/compute/describe_volumes_modifications.rb +3 -3
  294. data/lib/fog/aws/requests/compute/describe_vpc_attribute.rb +5 -5
  295. data/lib/fog/aws/requests/compute/describe_vpc_classic_link.rb +4 -4
  296. data/lib/fog/aws/requests/compute/describe_vpc_classic_link_dns_support.rb +3 -3
  297. data/lib/fog/aws/requests/compute/describe_vpcs.rb +3 -3
  298. data/lib/fog/aws/requests/compute/detach_classic_link_vpc.rb +5 -5
  299. data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +4 -4
  300. data/lib/fog/aws/requests/compute/detach_network_interface.rb +4 -4
  301. data/lib/fog/aws/requests/compute/detach_volume.rb +5 -5
  302. data/lib/fog/aws/requests/compute/disable_vpc_classic_link.rb +4 -4
  303. data/lib/fog/aws/requests/compute/disable_vpc_classic_link_dns_support.rb +4 -4
  304. data/lib/fog/aws/requests/compute/disassociate_address.rb +5 -5
  305. data/lib/fog/aws/requests/compute/disassociate_route_table.rb +5 -5
  306. data/lib/fog/aws/requests/compute/enable_vpc_classic_link.rb +4 -4
  307. data/lib/fog/aws/requests/compute/enable_vpc_classic_link_dns_support.rb +4 -4
  308. data/lib/fog/aws/requests/compute/get_console_output.rb +4 -4
  309. data/lib/fog/aws/requests/compute/get_password_data.rb +4 -4
  310. data/lib/fog/aws/requests/compute/import_key_pair.rb +4 -4
  311. data/lib/fog/aws/requests/compute/modify_image_attribute.rb +4 -4
  312. data/lib/fog/aws/requests/compute/modify_instance_attribute.rb +3 -3
  313. data/lib/fog/aws/requests/compute/modify_instance_placement.rb +33 -0
  314. data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +8 -8
  315. data/lib/fog/aws/requests/compute/modify_snapshot_attribute.rb +3 -3
  316. data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +3 -3
  317. data/lib/fog/aws/requests/compute/modify_volume.rb +5 -5
  318. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +4 -4
  319. data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +7 -7
  320. data/lib/fog/aws/requests/compute/monitor_instances.rb +4 -4
  321. data/lib/fog/aws/requests/compute/move_address_to_vpc.rb +4 -4
  322. data/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +3 -3
  323. data/lib/fog/aws/requests/compute/reboot_instances.rb +4 -4
  324. data/lib/fog/aws/requests/compute/register_image.rb +4 -4
  325. data/lib/fog/aws/requests/compute/release_address.rb +5 -5
  326. data/lib/fog/aws/requests/compute/replace_network_acl_association.rb +5 -5
  327. data/lib/fog/aws/requests/compute/replace_network_acl_entry.rb +5 -5
  328. data/lib/fog/aws/requests/compute/replace_route.rb +10 -10
  329. data/lib/fog/aws/requests/compute/request_spot_instances.rb +8 -8
  330. data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +6 -6
  331. data/lib/fog/aws/requests/compute/restore_address_to_classic.rb +5 -5
  332. data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +4 -4
  333. data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +4 -4
  334. data/lib/fog/aws/requests/compute/run_instances.rb +24 -4
  335. data/lib/fog/aws/requests/compute/start_instances.rb +4 -4
  336. data/lib/fog/aws/requests/compute/stop_instances.rb +15 -7
  337. data/lib/fog/aws/requests/compute/terminate_instances.rb +4 -4
  338. data/lib/fog/aws/requests/compute/unmonitor_instances.rb +4 -4
  339. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +6 -139
  340. data/lib/fog/aws/requests/dns/create_health_check.rb +3 -3
  341. data/lib/fog/aws/requests/dns/create_hosted_zone.rb +4 -4
  342. data/lib/fog/aws/requests/dns/delete_health_check.rb +2 -2
  343. data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +4 -4
  344. data/lib/fog/aws/requests/dns/get_change.rb +4 -4
  345. data/lib/fog/aws/requests/dns/get_health_check.rb +3 -3
  346. data/lib/fog/aws/requests/dns/get_hosted_zone.rb +4 -4
  347. data/lib/fog/aws/requests/dns/list_health_checks.rb +3 -3
  348. data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -3
  349. data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +5 -5
  350. data/lib/fog/aws/requests/dynamodb/update_item.rb +6 -5
  351. data/lib/fog/aws/requests/efs/create_file_system.rb +15 -3
  352. data/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -7
  353. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
  354. data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
  355. data/lib/fog/aws/requests/elb/describe_tags.rb +1 -1
  356. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
  357. data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
  358. data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
  359. data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
  360. data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
  361. data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
  362. data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
  363. data/lib/fog/aws/requests/lambda/invoke.rb +7 -7
  364. data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +1 -1
  365. data/lib/fog/aws/requests/rds/create_db_instance.rb +1 -1
  366. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +2 -2
  367. data/lib/fog/aws/requests/rds/modify_db_instance.rb +1 -1
  368. data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +1 -1
  369. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
  370. data/lib/fog/aws/requests/storage/acl_utils.rb +3 -3
  371. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +4 -4
  372. data/lib/fog/aws/requests/storage/copy_object.rb +3 -3
  373. data/lib/fog/aws/requests/storage/cors_utils.rb +3 -3
  374. data/lib/fog/aws/requests/storage/delete_bucket.rb +2 -2
  375. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +2 -2
  376. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +2 -2
  377. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +2 -2
  378. data/lib/fog/aws/requests/storage/delete_bucket_tagging.rb +2 -2
  379. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +2 -2
  380. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +21 -11
  381. data/lib/fog/aws/requests/storage/delete_object.rb +2 -2
  382. data/lib/fog/aws/requests/storage/delete_object_url.rb +2 -2
  383. data/lib/fog/aws/requests/storage/get_bucket.rb +3 -3
  384. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +4 -4
  385. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +4 -4
  386. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +3 -3
  387. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -6
  388. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +3 -3
  389. data/lib/fog/aws/requests/storage/get_bucket_notification.rb +3 -3
  390. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +3 -3
  391. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +2 -2
  392. data/lib/fog/aws/requests/storage/get_bucket_tagging.rb +3 -3
  393. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +3 -3
  394. data/lib/fog/aws/requests/storage/get_bucket_website.rb +3 -3
  395. data/lib/fog/aws/requests/storage/get_object.rb +2 -2
  396. data/lib/fog/aws/requests/storage/get_object_acl.rb +4 -4
  397. data/lib/fog/aws/requests/storage/get_object_http_url.rb +2 -2
  398. data/lib/fog/aws/requests/storage/get_object_https_url.rb +2 -2
  399. data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
  400. data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
  401. data/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
  402. data/lib/fog/aws/requests/storage/get_request_payment.rb +3 -3
  403. data/lib/fog/aws/requests/storage/get_service.rb +5 -5
  404. data/lib/fog/aws/requests/storage/head_bucket.rb +2 -2
  405. data/lib/fog/aws/requests/storage/head_object.rb +2 -2
  406. data/lib/fog/aws/requests/storage/head_object_url.rb +2 -2
  407. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +4 -4
  408. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +3 -3
  409. data/lib/fog/aws/requests/storage/list_parts.rb +3 -3
  410. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +2 -2
  411. data/lib/fog/aws/requests/storage/post_object_restore.rb +2 -2
  412. data/lib/fog/aws/requests/storage/put_bucket.rb +2 -2
  413. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +4 -4
  414. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +4 -4
  415. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +2 -2
  416. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +2 -2
  417. data/lib/fog/aws/requests/storage/put_bucket_notification.rb +2 -2
  418. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +2 -2
  419. data/lib/fog/aws/requests/storage/put_bucket_tagging.rb +2 -2
  420. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +2 -2
  421. data/lib/fog/aws/requests/storage/put_bucket_website.rb +2 -2
  422. data/lib/fog/aws/requests/storage/put_object.rb +9 -7
  423. data/lib/fog/aws/requests/storage/put_object_acl.rb +4 -4
  424. data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
  425. data/lib/fog/aws/requests/storage/put_object_url.rb +2 -2
  426. data/lib/fog/aws/requests/storage/put_request_payment.rb +2 -2
  427. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +4 -3
  428. data/lib/fog/aws/requests/storage/sync_clock.rb +2 -2
  429. data/lib/fog/aws/requests/storage/upload_part.rb +3 -3
  430. data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
  431. data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
  432. data/lib/fog/aws/service_mapper.rb +5 -5
  433. data/lib/fog/aws/storage.rb +50 -19
  434. data/lib/fog/aws/version.rb +1 -1
  435. data/tests/credentials_tests.rb +102 -39
  436. data/tests/helper.rb +2 -2
  437. data/tests/helpers/collection_helper.rb +3 -4
  438. data/tests/helpers/compute/flavors_helper.rb +1 -5
  439. data/tests/helpers/compute/server_helper.rb +1 -3
  440. data/tests/helpers/compute/servers_helper.rb +0 -2
  441. data/tests/helpers/dns_helper.rb +32 -31
  442. data/tests/helpers/formats_helper.rb +58 -56
  443. data/tests/helpers/formats_helper_tests.rb +22 -25
  444. data/tests/helpers/mock_helper.rb +96 -96
  445. data/tests/helpers/model_helper.rb +4 -5
  446. data/tests/helpers/responds_to_helper.rb +1 -1
  447. data/tests/helpers/schema_validator_tests.rb +21 -24
  448. data/tests/helpers/succeeds_helper.rb +2 -2
  449. data/tests/models/compute/address_tests.rb +1 -1
  450. data/tests/models/compute/network_acl_tests.rb +4 -4
  451. data/tests/models/compute/security_group_tests.rb +1 -1
  452. data/tests/models/compute/volume_tests.rb +1 -1
  453. data/tests/models/elb/model_tests.rb +1 -1
  454. data/tests/models/storage/directory_tests.rb +113 -2
  455. data/tests/models/storage/files_tests.rb +32 -0
  456. data/tests/parsers/compute/describe_images_tests.rb +2 -2
  457. data/tests/parsers/elb/describe_load_balancers.rb +1 -1
  458. data/tests/parsers/elbv2/create_load_balancer_tests.rb +48 -0
  459. data/tests/parsers/elbv2/describe_listeners_tests.rb +76 -0
  460. data/tests/parsers/elbv2/describe_load_balancers_tests.rb +54 -0
  461. data/tests/parsers/elbv2/describe_tags_tests.rb +35 -0
  462. data/tests/requests/auto_scaling/auto_scaling_tests.rb +8 -0
  463. data/tests/requests/compute/address_tests.rb +9 -9
  464. data/tests/requests/compute/assign_private_ip_tests.rb +3 -3
  465. data/tests/requests/compute/image_tests.rb +11 -2
  466. data/tests/requests/compute/instance_attrib_tests.rb +1 -1
  467. data/tests/requests/compute/instance_tests.rb +5 -5
  468. data/tests/requests/compute/internet_gateway_tests.rb +1 -1
  469. data/tests/requests/compute/key_pair_tests.rb +1 -1
  470. data/tests/requests/compute/network_acl_tests.rb +2 -2
  471. data/tests/requests/compute/network_interface_tests.rb +6 -6
  472. data/tests/requests/compute/placement_group_tests.rb +2 -2
  473. data/tests/requests/compute/region_tests.rb +4 -4
  474. data/tests/requests/compute/route_tests.rb +24 -24
  475. data/tests/requests/compute/security_group_tests.rb +14 -14
  476. data/tests/requests/compute/snapshot_tests.rb +1 -1
  477. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +1 -1
  478. data/tests/requests/compute/subnet_tests.rb +3 -3
  479. data/tests/requests/compute/tag_tests.rb +3 -3
  480. data/tests/requests/compute/volume_tests.rb +11 -11
  481. data/tests/requests/compute/vpc_tests.rb +9 -3
  482. data/tests/requests/dns/change_resource_record_sets_tests.rb +3 -3
  483. data/tests/requests/efs/helper.rb +2 -0
  484. data/tests/requests/elbv2/helper.rb +66 -0
  485. data/tests/requests/elbv2/load_balancer_tests.rb +50 -0
  486. data/tests/requests/glacier/tree_hash_tests.rb +29 -0
  487. data/tests/requests/storage/acl_utils_tests.rb +24 -24
  488. data/tests/requests/storage/bucket_tests.rb +1 -1
  489. data/tests/requests/storage/cors_utils_tests.rb +14 -14
  490. data/tests/requests/storage/multipart_copy_tests.rb +93 -0
  491. data/tests/requests/storage/object_tests.rb +7 -0
  492. data/tests/requests/storage/versioning_tests.rb +38 -0
  493. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +2 -0
  494. data/tests/signaturev4_tests.rb +21 -22
  495. data/tests/signed_params_tests.rb +7 -7
  496. data/tests/storage_tests.rb +1 -1
  497. metadata +61 -17
  498. data/.travis.yml +0 -55
  499. data/gemfiles/Gemfile-ruby-2.0 +0 -7
@@ -1,12 +1,12 @@
1
1
  require 'fog/aws/models/compute/spot_request'
2
2
 
3
3
  module Fog
4
- module Compute
5
- class AWS
4
+ module AWS
5
+ class Compute
6
6
  class SpotRequests < Fog::Collection
7
7
  attribute :filters
8
8
 
9
- model Fog::Compute::AWS::SpotRequest
9
+ model Fog::AWS::Compute::SpotRequest
10
10
 
11
11
  def initialize(attributes)
12
12
  self.filters ||= {}
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class AWS
2
+ module AWS
3
+ class Compute
4
4
  class Subnet < Fog::Model
5
5
  identity :subnet_id, :aliases => 'subnetId'
6
6
  attribute :state
@@ -1,12 +1,12 @@
1
1
  require 'fog/aws/models/compute/subnet'
2
2
 
3
3
  module Fog
4
- module Compute
5
- class AWS
4
+ module AWS
5
+ class Compute
6
6
  class Subnets < Fog::Collection
7
7
  attribute :filters
8
8
 
9
- model Fog::Compute::AWS::Subnet
9
+ model Fog::AWS::Compute::Subnet
10
10
 
11
11
  # Creates a new subnet
12
12
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class AWS
2
+ module AWS
3
+ class Compute
4
4
  class Tag < Fog::Model
5
5
  identity :key
6
6
 
@@ -1,12 +1,12 @@
1
1
  require 'fog/aws/models/compute/tag'
2
2
 
3
3
  module Fog
4
- module Compute
5
- class AWS
4
+ module AWS
5
+ class Compute
6
6
  class Tags < Fog::Collection
7
7
  attribute :filters
8
8
 
9
- model Fog::Compute::AWS::Tag
9
+ model Fog::AWS::Compute::Tag
10
10
 
11
11
  def initialize(attributes)
12
12
  self.filters ||= {}
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class AWS
2
+ module AWS
3
+ class Compute
4
4
  class Volume < Fog::Model
5
5
  identity :id, :aliases => 'volumeId'
6
6
 
@@ -118,7 +118,7 @@ module Fog
118
118
  end
119
119
 
120
120
  def server=(_)
121
- raise NoMethodError, 'use Fog::Compute::AWS::Volume#attach(server, device)'
121
+ raise NoMethodError, 'use Fog::AWS::Compute::Volume#attach(server, device)'
122
122
  end
123
123
 
124
124
  private
@@ -1,13 +1,13 @@
1
1
  require 'fog/aws/models/compute/volume'
2
2
 
3
3
  module Fog
4
- module Compute
5
- class AWS
4
+ module AWS
5
+ class Compute
6
6
  class Volumes < Fog::Collection
7
7
  attribute :filters
8
8
  attribute :server
9
9
 
10
- model Fog::Compute::AWS::Volume
10
+ model Fog::AWS::Compute::Volume
11
11
 
12
12
  # Used to create a volume. There are 3 arguments and availability_zone and size are required. You can generate a new key_pair as follows:
13
13
  # AWS.volumes.create(:availability_zone => 'us-east-1a', :size => 10)
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class AWS
2
+ module AWS
3
+ class Compute
4
4
  class VPC < Fog::Model
5
5
  identity :id, :aliases => 'vpcId'
6
6
 
@@ -39,7 +39,7 @@ module Fog
39
39
  end
40
40
 
41
41
  def is_default?
42
- require :is_default
42
+ requires :is_default
43
43
  is_default
44
44
  end
45
45
 
@@ -106,7 +106,13 @@ module Fog
106
106
 
107
107
  def save
108
108
  requires :cidr_block
109
- data = service.create_vpc(cidr_block, { 'AmazonProvidedIpv6CidrBlock' => amazon_provided_ipv_6_cidr_block }).body['vpcSet'].first
109
+
110
+ options = {
111
+ 'AmazonProvidedIpv6CidrBlock' => amazon_provided_ipv_6_cidr_block,
112
+ 'InstanceTenancy' => tenancy
113
+ }
114
+
115
+ data = service.create_vpc(cidr_block, options).body['vpcSet'].first
110
116
  new_attributes = data.reject {|key,value| key == 'requestId'}
111
117
  new_attributes = data.reject {|key,value| key == 'requestId' || key == 'tagSet' }
112
118
  merge_attributes(new_attributes)
@@ -1,12 +1,12 @@
1
1
  require 'fog/aws/models/compute/vpc'
2
2
 
3
3
  module Fog
4
- module Compute
5
- class AWS
4
+ module AWS
5
+ class Compute
6
6
  class Vpcs < Fog::Collection
7
7
  attribute :filters
8
8
 
9
- model Fog::Compute::AWS::VPC
9
+ model Fog::AWS::Compute::VPC
10
10
 
11
11
  # Creates a new VPC
12
12
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module DNS
3
- class AWS
2
+ module AWS
3
+ class DNS
4
4
  class Record < Fog::Model
5
5
  extend Fog::Deprecation
6
6
  deprecate :ip, :value
@@ -1,8 +1,8 @@
1
1
  require 'fog/aws/models/dns/record'
2
2
 
3
3
  module Fog
4
- module DNS
5
- class AWS
4
+ module AWS
5
+ class DNS
6
6
  class Records < Fog::Collection
7
7
  attribute :is_truncated, :aliases => ['IsTruncated']
8
8
  attribute :max_items, :aliases => ['MaxItems']
@@ -15,7 +15,7 @@ module Fog
15
15
 
16
16
  attribute :zone
17
17
 
18
- model Fog::DNS::AWS::Record
18
+ model Fog::AWS::DNS::Record
19
19
 
20
20
  def all(options = {})
21
21
  requires :zone
@@ -99,7 +99,7 @@ module Fog
99
99
  record
100
100
  end
101
101
  end.compact.first
102
- rescue Fog::DNS::AWS::NotFound
102
+ rescue Fog::AWS::DNS::NotFound
103
103
  nil
104
104
  end
105
105
 
@@ -1,8 +1,8 @@
1
1
  # require 'fog/aws/models/dns/records'
2
2
 
3
3
  module Fog
4
- module DNS
5
- class AWS
4
+ module AWS
5
+ class DNS
6
6
  class Zone < Fog::Model
7
7
  identity :id, :aliases => 'Id'
8
8
 
@@ -20,7 +20,7 @@ module Fog
20
20
 
21
21
  def records
22
22
  @records ||= begin
23
- Fog::DNS::AWS::Records.new(
23
+ Fog::AWS::DNS::Records.new(
24
24
  :zone => self,
25
25
  :service => service
26
26
  )
@@ -1,13 +1,13 @@
1
1
  require 'fog/aws/models/dns/zone'
2
2
 
3
3
  module Fog
4
- module DNS
5
- class AWS
4
+ module AWS
5
+ class DNS
6
6
  class Zones < Fog::Collection
7
7
  attribute :marker, :aliases => 'Marker'
8
8
  attribute :max_items, :aliases => 'MaxItems'
9
9
 
10
- model Fog::DNS::AWS::Zone
10
+ model Fog::AWS::DNS::Zone
11
11
 
12
12
  def all(options = {})
13
13
  options[:marker] ||= marker unless marker.nil?
@@ -19,7 +19,7 @@ module Fog
19
19
  def get(zone_id)
20
20
  data = service.get_hosted_zone(zone_id).body
21
21
  new(data)
22
- rescue Fog::DNS::AWS::NotFound
22
+ rescue Fog::AWS::DNS::NotFound
23
23
  nil
24
24
  end
25
25
  end
@@ -7,6 +7,8 @@ module Fog
7
7
  attribute :owner_id, :aliases => 'OwnerId'
8
8
  attribute :creation_token, :aliases => 'CreationToken'
9
9
  attribute :performance_mode, :aliases => 'PerformanceMode'
10
+ attribute :encrypted, :aliases => 'Encrypted'
11
+ attribute :kms_key_id, :aliases => 'KmsKeyId'
10
12
  attribute :creation_time, :aliases => 'CreationTime'
11
13
  attribute :state, :aliases => 'LifeCycleState'
12
14
  attribute :name, :aliases => 'Name'
@@ -33,6 +35,8 @@ module Fog
33
35
  def save
34
36
  params = {}
35
37
  params.merge!(:performance_mode => self.performance_mode) if self.performance_mode
38
+ params.merge!(:encrypted => self.encrypted) if self.encrypted
39
+ params.merge!(:kms_key_id => self.kms_key_id) if self.kms_key_id
36
40
 
37
41
  merge_attributes(service.create_file_system(self.creation_token || Fog::Mock.random_hex(32), params).body)
38
42
  end
@@ -23,7 +23,15 @@ module Fog
23
23
  attr_accessor :storage_encrypted #not in the response
24
24
 
25
25
  def ready?
26
- state == "available"
26
+ # [2019.01] I don't think this is going to work, at least not with Aurora
27
+ # clusters. In my testing, the state reported by Fog for an Aurora cluster
28
+ # is "active" as soon as the cluster is retrievable from AWS, and the
29
+ # value doesn't change after that. Contrast that with the AWS Console UI,
30
+ # which reports the cluster as "Creating" while it's being created. I don't
31
+ # know where Fog is getting the state value from, but I don't think it's
32
+ # correct, at least not for the purpose of knowing if the Cluster is ready
33
+ # to have individual instances added to it.
34
+ state == 'available' || state == 'active'
27
35
  end
28
36
 
29
37
  def snapshots
@@ -4,40 +4,42 @@ module Fog
4
4
  class Server < Fog::Model
5
5
  identity :id, :aliases => 'DBInstanceIdentifier'
6
6
 
7
- attribute :allocated_storage, :aliases => 'AllocatedStorage', :type => :integer
8
- attribute :auto_minor_version_upgrade, :aliases => 'AutoMinorVersionUpgrade'
9
- attribute :availability_zone, :aliases => 'AvailabilityZone'
10
- attribute :backup_retention_period, :aliases => 'BackupRetentionPeriod', :type => :integer
11
- attribute :ca_certificate_id, :aliases => 'CACertificateIdentifier'
12
- attribute :character_set_name, :aliases => 'CharacterSetName'
13
- attribute :cluster_id, :aliases => 'DBClusterIdentifier'
14
- attribute :created_at, :aliases => 'InstanceCreateTime', :type => :time
15
- attribute :db_name, :aliases => 'DBName'
16
- attribute :db_parameter_groups, :aliases => 'DBParameterGroups'
17
- attribute :db_security_groups, :aliases => 'DBSecurityGroups', :type => :array
18
- attribute :db_subnet_group_name, :aliases => 'DBSubnetGroupName'
19
- attribute :dbi_resource_id, :aliases => 'DbiResourceId'
20
- attribute :endpoint, :aliases => 'Endpoint'
21
- attribute :engine, :aliases => 'Engine'
22
- attribute :engine_version, :aliases => 'EngineVersion'
23
- attribute :flavor_id, :aliases => 'DBInstanceClass'
24
- attribute :iops, :aliases => 'Iops', :type => :integer
25
- attribute :kms_key_id, :aliases => 'KmsKeyId'
26
- attribute :last_restorable_time, :aliases => 'LatestRestorableTime', :type => :time
27
- attribute :license_model, :aliases => 'LicenseModel'
28
- attribute :master_username, :aliases => 'MasterUsername'
29
- attribute :multi_az, :aliases => 'MultiAZ', :type => :boolean
30
- attribute :pending_modified_values, :aliases => 'PendingModifiedValues'
31
- attribute :preferred_backup_window, :aliases => 'PreferredBackupWindow'
32
- attribute :preferred_maintenance_window, :aliases => 'PreferredMaintenanceWindow'
33
- attribute :publicly_accessible, :aliases => 'PubliclyAccessible'
34
- attribute :read_replica_identifiers, :aliases => 'ReadReplicaDBInstanceIdentifiers', :type => :array
35
- attribute :read_replica_source, :aliases => 'ReadReplicaSourceDBInstanceIdentifier'
36
- attribute :state, :aliases => 'DBInstanceStatus'
37
- attribute :storage_encrypted, :aliases => 'StorageEncrypted', :type => :boolean
38
- attribute :storage_type, :aliases => 'StorageType'
39
- attribute :tde_credential_arn, :aliases => 'TdeCredentialArn'
40
- attribute :vpc_security_groups, :aliases => 'VpcSecurityGroups', :type => :array
7
+ attribute :allocated_storage, :aliases => 'AllocatedStorage', :type => :integer
8
+ attribute :auto_minor_version_upgrade, :aliases => 'AutoMinorVersionUpgrade'
9
+ attribute :availability_zone, :aliases => 'AvailabilityZone'
10
+ attribute :backup_retention_period, :aliases => 'BackupRetentionPeriod', :type => :integer
11
+ attribute :ca_certificate_id, :aliases => 'CACertificateIdentifier'
12
+ attribute :character_set_name, :aliases => 'CharacterSetName'
13
+ attribute :cluster_id, :aliases => 'DBClusterIdentifier'
14
+ attribute :created_at, :aliases => 'InstanceCreateTime', :type => :time
15
+ attribute :db_name, :aliases => 'DBName'
16
+ attribute :db_parameter_groups, :aliases => 'DBParameterGroups'
17
+ attribute :db_security_groups, :aliases => 'DBSecurityGroups', :type => :array
18
+ attribute :db_subnet_group_name, :aliases => 'DBSubnetGroupName'
19
+ attribute :dbi_resource_id, :aliases => 'DbiResourceId'
20
+ attribute :enable_iam_database_authentication, :aliases => 'EnableIAMDatabaseAuthentication', :type => :boolean
21
+ attribute :endpoint, :aliases => 'Endpoint'
22
+ attribute :engine, :aliases => 'Engine'
23
+ attribute :engine_version, :aliases => 'EngineVersion'
24
+ attribute :flavor_id, :aliases => 'DBInstanceClass'
25
+ attribute :iops, :aliases => 'Iops', :type => :integer
26
+ attribute :kms_key_id, :aliases => 'KmsKeyId'
27
+ attribute :last_restorable_time, :aliases => 'LatestRestorableTime', :type => :time
28
+ attribute :license_model, :aliases => 'LicenseModel'
29
+ attribute :master_username, :aliases => 'MasterUsername'
30
+ attribute :multi_az, :aliases => 'MultiAZ', :type => :boolean
31
+ attribute :pending_modified_values, :aliases => 'PendingModifiedValues'
32
+ attribute :preferred_backup_window, :aliases => 'PreferredBackupWindow'
33
+ attribute :preferred_maintenance_window, :aliases => 'PreferredMaintenanceWindow'
34
+ attribute :publicly_accessible, :aliases => 'PubliclyAccessible'
35
+ attribute :read_replica_identifiers, :aliases => 'ReadReplicaDBInstanceIdentifiers', :type => :array
36
+ attribute :read_replica_source, :aliases => 'ReadReplicaSourceDBInstanceIdentifier'
37
+ attribute :state, :aliases => 'DBInstanceStatus'
38
+ attribute :storage_encrypted, :aliases => 'StorageEncrypted', :type => :boolean
39
+ attribute :storage_type, :aliases => 'StorageType'
40
+ attribute :tde_credential_arn, :aliases => 'TdeCredentialArn'
41
+ attribute :vpc_security_groups, :aliases => 'VpcSecurityGroups', :type => :array
42
+ attribute :db_subnet_group, :aliases => 'DBSubnetGroup'
41
43
 
42
44
  attr_accessor :password, :parameter_group_name, :security_group_names, :port, :source_snapshot_id
43
45
 
@@ -117,14 +119,14 @@ module Fog
117
119
  else
118
120
  requires :engine
119
121
 
120
- if engine == 'aurora'
122
+ if engine.start_with?('aurora')
121
123
  requires :cluster_id
122
- self.flavor_id ||= 'db.r3.large'
124
+ self.flavor_id ||= 'db.r4.large'
123
125
  else
124
126
  requires :master_username
125
127
  requires :password
126
128
  requires :allocated_storage
127
- self.flavor_id ||= 'db.m1.small'
129
+ self.flavor_id ||= 'db.m4.large'
128
130
  end
129
131
 
130
132
  data = service.create_db_instance(id, attributes_to_params)
@@ -136,32 +138,33 @@ module Fog
136
138
  # Converts attributes to a parameter hash suitable for requests
137
139
  def attributes_to_params
138
140
  options = {
139
- 'AllocatedStorage' => allocated_storage,
140
- 'AutoMinorVersionUpgrade' => auto_minor_version_upgrade,
141
- 'AvailabilityZone' => availability_zone,
142
- 'BackupRetentionPeriod' => backup_retention_period,
143
- 'DBClusterIdentifier' => cluster_id,
144
- 'DBInstanceClass' => flavor_id,
145
- 'DBInstanceIdentifier' => id,
146
- 'DBName' => db_name,
147
- 'DBParameterGroupName' => parameter_group_name || attributes['DBParameterGroupName'],
148
- 'DBSecurityGroups' => security_group_names,
149
- 'DBSubnetGroupName' => db_subnet_group_name,
150
- 'Engine' => engine,
151
- 'EngineVersion' => engine_version,
152
- 'Iops' => iops,
153
- 'KmsKeyId' => kms_key_id,
154
- 'LicenseModel' => license_model,
155
- 'MasterUserPassword' => password || attributes['MasterUserPassword'],
156
- 'MasterUsername' => master_username,
157
- 'MultiAZ' => multi_az,
158
- 'Port' => port || attributes['Port'],
159
- 'PreferredBackupWindow' => preferred_backup_window,
160
- 'PreferredMaintenanceWindow' => preferred_maintenance_window,
161
- 'PubliclyAccessible' => publicly_accessible,
162
- 'StorageEncrypted' => storage_encrypted,
163
- 'StorageType' => storage_type,
164
- 'VpcSecurityGroups' => vpc_security_groups,
141
+ 'AllocatedStorage' => allocated_storage,
142
+ 'AutoMinorVersionUpgrade' => auto_minor_version_upgrade,
143
+ 'AvailabilityZone' => availability_zone,
144
+ 'BackupRetentionPeriod' => backup_retention_period,
145
+ 'DBClusterIdentifier' => cluster_id,
146
+ 'DBInstanceClass' => flavor_id,
147
+ 'DBInstanceIdentifier' => id,
148
+ 'DBName' => db_name,
149
+ 'DBParameterGroupName' => parameter_group_name || attributes['DBParameterGroupName'],
150
+ 'DBSecurityGroups' => security_group_names,
151
+ 'DBSubnetGroupName' => db_subnet_group_name,
152
+ 'EnableIAMDatabaseAuthentication' => enable_iam_database_authentication,
153
+ 'Engine' => engine,
154
+ 'EngineVersion' => engine_version,
155
+ 'Iops' => iops,
156
+ 'KmsKeyId' => kms_key_id,
157
+ 'LicenseModel' => license_model,
158
+ 'MasterUserPassword' => password || attributes['MasterUserPassword'],
159
+ 'MasterUsername' => master_username,
160
+ 'MultiAZ' => multi_az,
161
+ 'Port' => port || attributes['Port'],
162
+ 'PreferredBackupWindow' => preferred_backup_window,
163
+ 'PreferredMaintenanceWindow' => preferred_maintenance_window,
164
+ 'PubliclyAccessible' => publicly_accessible,
165
+ 'StorageEncrypted' => storage_encrypted,
166
+ 'StorageType' => storage_type,
167
+ 'VpcSecurityGroups' => vpc_security_groups,
165
168
  }
166
169
 
167
170
  options.delete_if {|key, value| value.nil?}
@@ -1,10 +1,10 @@
1
1
  require 'fog/aws/models/storage/directory'
2
2
 
3
3
  module Fog
4
- module Storage
5
- class AWS
4
+ module AWS
5
+ class Storage
6
6
  class Directories < Fog::Collection
7
- model Fog::Storage::AWS::Directory
7
+ model Fog::AWS::Storage::Directory
8
8
 
9
9
  def all
10
10
  data = service.get_service.body['Buckets']