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
@@ -0,0 +1,76 @@
1
+ require 'fog/xml'
2
+ require 'fog/aws/parsers/elbv2/describe_listeners'
3
+
4
+ DESCRIBE_LISTENERS_RESULT = <<-EOF
5
+ <DescribeListenersResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
6
+ <DescribeListenersResult>
7
+ <Listeners>
8
+ <member>
9
+ <LoadBalancerArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188</LoadBalancerArn>
10
+ <Protocol>HTTPS</Protocol>
11
+ <Port>80</Port>
12
+ <ListenerArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2</ListenerArn>
13
+ <SslPolicy>polucy</SslPolicy>
14
+ <DefaultActions>
15
+ <member>
16
+ <Type>forward</Type>
17
+ <Order>1</Order>
18
+ <TargetGroupArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067</TargetGroupArn>
19
+ <RedirectConfig>
20
+ <Protocol>HTTPS</Protocol>
21
+ <Port>443</Port>
22
+ <Path>\#{path}</Path>
23
+ <Query>\#{query}</Query>
24
+ <Host>\#{host}</Host>
25
+ <StatusCode>HTTP_301</StatusCode>
26
+ <Type>redirect</Type>
27
+ </RedirectConfig>
28
+ </member>
29
+ </DefaultActions>
30
+ <Certificates>
31
+ <member>
32
+ <CertificateArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:certificate/56d36256-1245-40d6-916e-6f5a95e2b4c6</CertificateArn>
33
+ </member>
34
+ </Certificates>
35
+ </member>
36
+ <member>
37
+ <LoadBalancerArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188</LoadBalancerArn>
38
+ <Protocol>HTTPS</Protocol>
39
+ <Port>80</Port>
40
+ <ListenerArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2</ListenerArn>
41
+ <SslPolicy>polucy</SslPolicy>
42
+ <DefaultActions>
43
+ <member>
44
+ <Type>forward</Type>
45
+ <Order>2</Order>
46
+ <TargetGroupArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067</TargetGroupArn>
47
+ <ForwardConfig>
48
+ <TargetGroupStickinessConfig><Enable>true</Enable></TargetGroupStickinessConfig>
49
+ <TargetGroups>
50
+ <Weight>1</Weight>
51
+ <TargetGroupArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067</TargetGroupArn>
52
+ </TargetGroups>
53
+ </ForwardConfig>
54
+ </member>
55
+ </DefaultActions>
56
+ <Certificates>
57
+ <member>
58
+ <CertificateArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:certificate/56d36256-1245-40d6-916e-6f5a95e2b4c6</CertificateArn>
59
+ </member>
60
+ </Certificates>
61
+ </member>
62
+ </Listeners>
63
+ </DescribeListenersResult>
64
+ <ResponseMetadata>
65
+ <RequestId>18e470d3-f39c-11e5-a53c-67205c0d10fd</RequestId>
66
+ </ResponseMetadata>
67
+ </DescribeListenersResponse>
68
+ EOF
69
+
70
+ Shindo.tests('AWS::ELBV2 | parsers | describe_listeners', %w[aws elb parser]) do
71
+ tests('parses the xml').formats(AWS::ELBV2::Formats::DESCRIBE_LISTENERS) do
72
+ parser = Nokogiri::XML::SAX::Parser.new(Fog::Parsers::AWS::ELBV2::DescribeListeners.new)
73
+ parser.parse(DESCRIBE_LISTENERS_RESULT)
74
+ parser.document.response
75
+ end
76
+ end
@@ -0,0 +1,54 @@
1
+ require 'fog/xml'
2
+ require 'fog/aws/parsers/elbv2/describe_load_balancers'
3
+
4
+ DESCRIBE_LOAD_BALANCERS_RESULT = <<-EOF
5
+ <DescribeLoadBalancersResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
6
+ <DescribeLoadBalancersResult>
7
+ <LoadBalancers>
8
+ <member>
9
+ <LoadBalancerArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188</LoadBalancerArn>
10
+ <Scheme>internet-facing</Scheme>
11
+ <LoadBalancerName>my-load-balancer</LoadBalancerName>
12
+ <VpcId>vpc-3ac0fb5f</VpcId>
13
+ <CanonicalHostedZoneId>Z2P70J7EXAMPLE</CanonicalHostedZoneId>
14
+ <CreatedTime>2016-03-25T21:26:12.920Z</CreatedTime>
15
+ <AvailabilityZones>
16
+ <member>
17
+ <SubnetId>subnet-8360a9e7</SubnetId>
18
+ <ZoneName>us-west-2a</ZoneName>
19
+ </member>
20
+ <member>
21
+ <SubnetId>subnet-b7d581c0</SubnetId>
22
+ <ZoneName>us-west-2b</ZoneName>
23
+ <LoadBalancerAddresses>
24
+ <member>
25
+ <IpAddress>127.0.0.1</IpAddress>
26
+ <AllocationId>eipalloc-1c2ab192c131q2377</AllocationId>
27
+ </member>
28
+ </LoadBalancerAddresses>
29
+ </member>
30
+ </AvailabilityZones>
31
+ <SecurityGroups>
32
+ <member>sg-5943793c</member>
33
+ </SecurityGroups>
34
+ <DNSName>my-load-balancer-424835706.us-west-2.elb.amazonaws.com</DNSName>
35
+ <State>
36
+ <Code>active</Code>
37
+ </State>
38
+ <Type>application</Type>
39
+ </member>
40
+ </LoadBalancers>
41
+ </DescribeLoadBalancersResult>
42
+ <ResponseMetadata>
43
+ <RequestId>6581c0ac-f39f-11e5-bb98-57195a6eb84a</RequestId>
44
+ </ResponseMetadata>
45
+ </DescribeLoadBalancersResponse>
46
+ EOF
47
+
48
+ Shindo.tests('AWS::ELBV2 | parsers | describe_load_balancers', %w[aws elb parser]) do
49
+ tests('parses the xml').formats(AWS::ELBV2::Formats::DESCRIBE_LOAD_BALANCERS) do
50
+ parser = Nokogiri::XML::SAX::Parser.new(Fog::Parsers::AWS::ELBV2::DescribeLoadBalancers.new)
51
+ parser.parse(DESCRIBE_LOAD_BALANCERS_RESULT)
52
+ parser.document.response
53
+ end
54
+ end
@@ -0,0 +1,35 @@
1
+ require 'fog/xml'
2
+ require 'fog/aws/parsers/elbv2/describe_tags'
3
+
4
+ DESCRIBE_TAGS_RESULT = <<-EOF
5
+ <DescribeTagsResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
6
+ <DescribeTagsResult>
7
+ <TagDescriptions>
8
+ <member>
9
+ <ResourceArn>arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188</ResourceArn>
10
+ <Tags>
11
+ <member>
12
+ <Value>lima</Value>
13
+ <Key>project</Key>
14
+ </member>
15
+ <member>
16
+ <Value>digital-media</Value>
17
+ <Key>department</Key>
18
+ </member>
19
+ </Tags>
20
+ </member>
21
+ </TagDescriptions>
22
+ </DescribeTagsResult>
23
+ <ResponseMetadata>
24
+ <RequestId>34f144db-f2d9-11e5-a53c-67205c0d10fd</RequestId>
25
+ </ResponseMetadata>
26
+ </DescribeTagsResponse>
27
+ EOF
28
+
29
+ Shindo.tests('AWS::ELBV2 | parsers | describe_tags', %w[aws elb parser]) do
30
+ tests('parses the xml').formats(AWS::ELBV2::Formats::DESCRIBE_TAGS) do
31
+ parser = Nokogiri::XML::SAX::Parser.new(Fog::Parsers::AWS::ELBV2::DescribeTags.new)
32
+ parser.parse(DESCRIBE_TAGS_RESULT)
33
+ parser.document.response
34
+ end
35
+ end
@@ -51,6 +51,14 @@ Shindo.tests('AWS::AutoScaling | auto_scaling_tests', ['aws', 'auto_scaling']) d
51
51
  tests("#attach_instances").formats(AWS::AutoScaling::Formats::BASIC) do
52
52
  Fog::AWS[:auto_scaling].attach_instances(@asg_name, 'InstanceIds' => 'i-deadbeef').body
53
53
  end
54
+
55
+ tests("#set_instance_protection").formats(AWS::AutoScaling::Formats::BASIC) do
56
+ Fog::AWS[:auto_scaling].set_instance_protection(
57
+ @asg_name,
58
+ 'InstanceIds' => 'i-deadbeef',
59
+ 'ProtectedFromScaleIn' => true
60
+ ).body
61
+ end
54
62
  end
55
63
 
56
64
  tests("#describe_auto_scaling_groups").formats(AWS::AutoScaling::Formats::DESCRIBE_AUTO_SCALING_GROUPS) do
@@ -72,7 +72,7 @@ Shindo.tests('Fog::Compute[:aws] | address requests', ['aws']) do
72
72
  compute.associate_address({:instance_id=>@server.id, :allocation_id=>@vpc_allocation_id}).body
73
73
  end
74
74
 
75
- tests("#disassociate_address('#{@vpc_public_ip}')").raises(Fog::Compute::AWS::Error) do
75
+ tests("#disassociate_address('#{@vpc_public_ip}')").raises(Fog::AWS::Compute::Error) do
76
76
  compute.disassociate_address(@vpc_public_ip)
77
77
  end
78
78
 
@@ -95,38 +95,38 @@ Shindo.tests('Fog::Compute[:aws] | address requests', ['aws']) do
95
95
  @address = compute.addresses.create
96
96
  @vpc_address = compute.addresses.create(:domain => 'vpc')
97
97
 
98
- tests("#associate_addresses({:instance_id =>'i-00000000', :public_ip => '#{@address.identity}')}").raises(Fog::Compute::AWS::NotFound) do
98
+ tests("#associate_addresses({:instance_id =>'i-00000000', :public_ip => '#{@address.identity}')}").raises(Fog::AWS::Compute::NotFound) do
99
99
  compute.associate_address({:instance_id => 'i-00000000', :public_ip => @address.identity})
100
100
  end
101
101
 
102
- tests("#associate_addresses({:instance_id =>'#{@server.identity}', :public_ip => '127.0.0.1'})").raises(Fog::Compute::AWS::Error) do
102
+ tests("#associate_addresses({:instance_id =>'#{@server.identity}', :public_ip => '127.0.0.1'})").raises(Fog::AWS::Compute::Error) do
103
103
  compute.associate_address({:instance_id => @server.identity, :public_ip => '127.0.0.1'})
104
104
  end
105
105
 
106
- tests("#associate_addresses({:instance_id =>'i-00000000', :public_ip => '127.0.0.1'})").raises(Fog::Compute::AWS::NotFound) do
106
+ tests("#associate_addresses({:instance_id =>'i-00000000', :public_ip => '127.0.0.1'})").raises(Fog::AWS::Compute::NotFound) do
107
107
  compute.associate_address({:instance_id =>'i-00000000', :public_ip =>'127.0.0.1'})
108
108
  end
109
109
 
110
- tests("#restore_address_to_classic('#{@vpc_address.identity}')").raises(Fog::Compute::AWS::Error) do
110
+ tests("#restore_address_to_classic('#{@vpc_address.identity}')").raises(Fog::AWS::Compute::Error) do
111
111
  compute.restore_address_to_classic(@vpc_address.identity)
112
112
  end
113
113
 
114
- tests("#disassociate_addresses('127.0.0.1') raises BadRequest error").raises(Fog::Compute::AWS::Error) do
114
+ tests("#disassociate_addresses('127.0.0.1') raises BadRequest error").raises(Fog::AWS::Compute::Error) do
115
115
  compute.disassociate_address('127.0.0.1')
116
116
  end
117
117
 
118
- tests("#release_address('127.0.0.1')").raises(Fog::Compute::AWS::Error) do
118
+ tests("#release_address('127.0.0.1')").raises(Fog::AWS::Compute::Error) do
119
119
  compute.release_address('127.0.0.1')
120
120
  end
121
121
 
122
- tests("#release_address('#{@vpc_address.identity}')").raises(Fog::Compute::AWS::Error) do
122
+ tests("#release_address('#{@vpc_address.identity}')").raises(Fog::AWS::Compute::Error) do
123
123
  compute.release_address(@vpc_address.identity)
124
124
  end
125
125
 
126
126
  if Fog.mocking?
127
127
  old_limit = compute.data[:limits][:addresses]
128
128
 
129
- tests("#allocate_address", "limit exceeded").raises(Fog::Compute::AWS::Error) do
129
+ tests("#allocate_address", "limit exceeded").raises(Fog::AWS::Compute::Error) do
130
130
  compute.data[:limits][:addresses] = 0
131
131
  compute.allocate_address
132
132
  end
@@ -1,7 +1,7 @@
1
1
  Shindo.tests('Fog::Compute[:aws] | internet_gateway requests', ['aws']) do
2
2
 
3
3
  tests('success') do
4
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
4
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
5
5
 
6
6
  @vpc=Fog::Compute[:aws].vpcs.create('cidr_block' => '10.0.10.0/24')
7
7
  @vpc_id = @vpc.id
@@ -30,7 +30,7 @@ Shindo.tests('Fog::Compute[:aws] | internet_gateway requests', ['aws']) do
30
30
  end
31
31
 
32
32
  tests('failure') do
33
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
33
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
34
34
 
35
35
  @vpc=Fog::Compute[:aws].vpcs.create('cidr_block' => '10.0.10.0/24')
36
36
  @vpc_id = @vpc.id
@@ -44,7 +44,7 @@ Shindo.tests('Fog::Compute[:aws] | internet_gateway requests', ['aws']) do
44
44
 
45
45
  @ip_address = Fog::AWS::Mock.ip_address
46
46
 
47
- tests("#assign_private_ip_addresses('#{@network_interface_id}', {'PrivateIpAddresses'=>['#{@ip_address}','#{@second_ip_address}'], 'SecondaryPrivateIpAddressCount'=>4 })").raises(Fog::Compute::AWS::Error) do
47
+ tests("#assign_private_ip_addresses('#{@network_interface_id}', {'PrivateIpAddresses'=>['#{@ip_address}','#{@second_ip_address}'], 'SecondaryPrivateIpAddressCount'=>4 })").raises(Fog::AWS::Compute::Error) do
48
48
  Fog::Compute[:aws].assign_private_ip_addresses(@network_interface_id, { 'PrivateIpAddresses' =>[@ip_address, @second_ip_address], 'SecondaryPrivateIpAddressCount'=>4 }).body
49
49
  end
50
50
 
@@ -37,6 +37,11 @@ Shindo.tests('Fog::Compute[:aws] | image requests', ['aws']) do
37
37
  'return' => Fog::Boolean,
38
38
  'requestId' => String
39
39
  }
40
+ @describe_image_attribute_format = {
41
+ 'requestId' => String,
42
+ 'imageId' => String,
43
+ 'launchPermission' => [Fog::Nullable::String]
44
+ }
40
45
  @create_image_format = {
41
46
  'requestId' => String,
42
47
  'imageId' => String
@@ -55,7 +60,7 @@ Shindo.tests('Fog::Compute[:aws] | image requests', ['aws']) do
55
60
  @image_id = 'ami-1aad5273'
56
61
 
57
62
  if Fog.mocking?
58
- @other_account = Fog::Compute::AWS.new(:aws_access_key_id => 'other', :aws_secret_access_key => 'account')
63
+ @other_account = Fog::AWS::Compute.new(:aws_access_key_id => 'other', :aws_secret_access_key => 'account')
59
64
 
60
65
  @server = Fog::Compute[:aws].servers.create
61
66
  @server.wait_for{state == 'running'}
@@ -113,6 +118,10 @@ Shindo.tests('Fog::Compute[:aws] | image requests', ['aws']) do
113
118
  Fog::Compute[:aws].modify_image_attribute(@image_id, { 'Add.UserId' => [@other_account.data[:owner_id]] }).body
114
119
  end
115
120
 
121
+ tests("#describe_image_attribute('#{@image_id}', 'launchPermission'])").formats(@describe_image_attribute_format) do
122
+ Fog::Compute[:aws].describe_image_attribute(@image_id, 'launchPermission' ).body
123
+ end
124
+
116
125
  tests("other_account#describe_images('image-id' => '#{@image_id}')").returns([@image_id]) do
117
126
  @other_account.describe_images('image-id' => @image_id).body['imagesSet'].map {|i| i['imageId'] }
118
127
  end
@@ -151,7 +160,7 @@ Shindo.tests('Fog::Compute[:aws] | image requests', ['aws']) do
151
160
  Fog::Compute[:aws].modify_image_attribute(nil, { 'Add.Group' => ['all'] }).body
152
161
  end
153
162
 
154
- tests("#modify_image_attribute('ami-00000000', { 'Add.UserId' => ['123456789012'] })").raises(Fog::Compute::AWS::NotFound) do
163
+ tests("#modify_image_attribute('ami-00000000', { 'Add.UserId' => ['123456789012'] })").raises(Fog::AWS::Compute::NotFound) do
155
164
  pending unless Fog.mocking?
156
165
 
157
166
  Fog::Compute[:aws].modify_image_attribute('ami-00000000', { 'Add.UserId' => ['123456789012'] }).body
@@ -159,7 +159,7 @@ Shindo.tests('Fog::Compute[:aws] | describe_instance_attribute request', ['aws']
159
159
 
160
160
  tests('failure') do
161
161
  @instance_attributes.each do |attrib|
162
- tests("#describe_instance_attribute('i-00000000', #{attrib})").raises(Fog::Compute::AWS::NotFound) do
162
+ tests("#describe_instance_attribute('i-00000000', #{attrib})").raises(Fog::AWS::Compute::NotFound) do
163
163
  Fog::Compute[:aws].describe_instance_attribute('i-00000000', attrib)
164
164
  end
165
165
  end
@@ -314,22 +314,22 @@ Shindo.tests('Fog::Compute[:aws] | instance requests', ['aws']) do
314
314
 
315
315
  tests('failure') do
316
316
 
317
- tests("#run_instances(nil, 1, 1, {'SubnetId'=>'subnet-00000000'}").raises(::Fog::Compute::AWS::Error) do
317
+ tests("#run_instances(nil, 1, 1, {'SubnetId'=>'subnet-00000000'}").raises(::Fog::AWS::Compute::Error) do
318
318
  Fog::Compute[:aws].run_instances(nil, 1, 1, {'SubnetId' => 'subnet-000000'})
319
319
  end
320
- tests("#get_console_output('i-00000000')").raises(Fog::Compute::AWS::NotFound) do
320
+ tests("#get_console_output('i-00000000')").raises(Fog::AWS::Compute::NotFound) do
321
321
  Fog::Compute[:aws].get_console_output('i-00000000')
322
322
  end
323
323
 
324
- tests("#get_password_data('i-00000000')").raises(Fog::Compute::AWS::NotFound) do
324
+ tests("#get_password_data('i-00000000')").raises(Fog::AWS::Compute::NotFound) do
325
325
  Fog::Compute[:aws].get_password_data('i-00000000')
326
326
  end
327
327
 
328
- tests("#reboot_instances('i-00000000')").raises(Fog::Compute::AWS::NotFound) do
328
+ tests("#reboot_instances('i-00000000')").raises(Fog::AWS::Compute::NotFound) do
329
329
  Fog::Compute[:aws].reboot_instances('i-00000000')
330
330
  end
331
331
 
332
- tests("#terminate_instances('i-00000000')").raises(Fog::Compute::AWS::NotFound) do
332
+ tests("#terminate_instances('i-00000000')").raises(Fog::AWS::Compute::NotFound) do
333
333
  Fog::Compute[:aws].terminate_instances('i-00000000')
334
334
  end
335
335
 
@@ -10,7 +10,7 @@ Shindo.tests('Fog::Compute[:aws] | internet_gateway requests', ['aws']) do
10
10
  }
11
11
 
12
12
  tests('success') do
13
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
13
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
14
14
  @vpc=Fog::Compute[:aws].vpcs.create('cidr_block' => '10.0.10.0/24')
15
15
  @vpc_id = @vpc.id
16
16
  @subnet=Fog::Compute[:aws].subnets.create('vpc_id' => @vpc_id, 'cidr_block' => '10.0.10.0/24')
@@ -56,7 +56,7 @@ Shindo.tests('Fog::Compute[:aws] | key pair requests', ['aws']) do
56
56
 
57
57
  @key_pair = Fog::Compute[:aws].key_pairs.create(:name => 'fog_key_pair')
58
58
 
59
- tests("duplicate #create_key_pair('#{@key_pair.name}')").raises(Fog::Compute::AWS::Error) do
59
+ tests("duplicate #create_key_pair('#{@key_pair.name}')").raises(Fog::AWS::Compute::Error) do
60
60
  Fog::Compute[:aws].create_key_pair(@key_pair.name)
61
61
  end
62
62
 
@@ -34,7 +34,7 @@ Shindo.tests('Fog::Compute[:aws] | network acl requests', ['aws']) do
34
34
  }
35
35
 
36
36
  tests('success') do
37
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
37
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
38
38
 
39
39
  @vpc = Fog::Compute[:aws].vpcs.create('cidr_block' => '10.0.10.0/24')
40
40
  @subnet = Fog::Compute[:aws].subnets.create('vpc_id' => @vpc.id, 'cidr_block' => '10.0.10.16/28')
@@ -107,6 +107,6 @@ Shindo.tests('Fog::Compute[:aws] | network acl requests', ['aws']) do
107
107
  @another_acl.destroy
108
108
  @subnet.destroy
109
109
  @vpc.destroy
110
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
110
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
111
111
  end
112
112
  end
@@ -36,7 +36,7 @@ Shindo.tests('Fog::Compute[:aws] | network interface requests', ['aws']) do
36
36
  }
37
37
 
38
38
  tests('success') do
39
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
39
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
40
40
 
41
41
  # Create environment
42
42
  @vpc = Fog::Compute[:aws].vpcs.create('cidr_block' => '10.0.10.0/24')
@@ -197,7 +197,7 @@ Shindo.tests('Fog::Compute[:aws] | network interface requests', ['aws']) do
197
197
  tests('failure') do
198
198
 
199
199
  # Attempt to attach a nonexistent interface
200
- tests("#attach_network_interface('eni-00000000', 'i-00000000', '1')").raises(::Fog::Compute::AWS::NotFound) do
200
+ tests("#attach_network_interface('eni-00000000', 'i-00000000', '1')").raises(::Fog::AWS::Compute::NotFound) do
201
201
  Fog::Compute[:aws].attach_network_interface('eni-00000000', 'i-00000000', '1')
202
202
  end
203
203
 
@@ -213,12 +213,12 @@ Shindo.tests('Fog::Compute[:aws] | network interface requests', ['aws']) do
213
213
  # Attempt to re-use an existing IP for another ENI
214
214
  tests("#create_network_interface('#{@subnet_id}', " \
215
215
  "{'PrivateIpAddress' => " \
216
- "'#{data['networkInterface']['privateIpAddress']}'}").raises(::Fog::Compute::AWS::Error) do
216
+ "'#{data['networkInterface']['privateIpAddress']}'}").raises(::Fog::AWS::Compute::Error) do
217
217
  Fog::Compute[:aws].create_network_interface(@subnet_id, {'PrivateIpAddress' => data['networkInterface']['privateIpAddress']})
218
218
  end
219
219
 
220
220
  # Attempt to attach a valid ENI to a nonexistent instance.
221
- tests("#attach_network_interface('#{@nic_id}', 'i-00000000', '0')").raises(::Fog::Compute::AWS::NotFound) do
221
+ tests("#attach_network_interface('#{@nic_id}', 'i-00000000', '0')").raises(::Fog::AWS::Compute::NotFound) do
222
222
  Fog::Compute[:aws].attach_network_interface(@nic_id, 'i-00000000', '0')
223
223
  end
224
224
 
@@ -230,10 +230,10 @@ Shindo.tests('Fog::Compute[:aws] | network interface requests', ['aws']) do
230
230
 
231
231
  # Attempt to attach two ENIs to the same instance with the same device
232
232
  # index.
233
- tests("#attach_network_interface('#{@nic_id}', '#{@instance_id}', '#{@device_index}')").raises(::Fog::Compute::AWS::Error) do
233
+ tests("#attach_network_interface('#{@nic_id}', '#{@instance_id}', '#{@device_index}')").raises(::Fog::AWS::Compute::Error) do
234
234
  Fog::Compute[:aws].attach_network_interface(@nic_id, @instance_id, @device_index)
235
235
  end
236
236
 
237
- Fog::Compute::AWS::Mock.reset if Fog.mocking?
237
+ Fog::AWS::Compute::Mock.reset if Fog.mocking?
238
238
  end
239
239
  end
@@ -35,11 +35,11 @@ Shindo.tests('Fog::Compute[:aws] | placement group requests', ['aws']) do
35
35
 
36
36
  Fog::Compute[:aws].create_placement_group('fog_placement_group', 'cluster')
37
37
 
38
- tests("duplicate #create_placement_group('fog_placement_group', 'cluster')").raises(Fog::Compute::AWS::Error) do
38
+ tests("duplicate #create_placement_group('fog_placement_group', 'cluster')").raises(Fog::AWS::Compute::Error) do
39
39
  Fog::Compute[:aws].create_placement_group('fog_placement_group', 'cluster')
40
40
  end
41
41
 
42
- tests("#delete_placement_group('not_a_group_name')").raises(Fog::Compute::AWS::NotFound) do
42
+ tests("#delete_placement_group('not_a_group_name')").raises(Fog::AWS::Compute::NotFound) do
43
43
  Fog::Compute[:aws].delete_placement_group('not_a_group_name')
44
44
  end
45
45