fog-aws 3.5.2 → 3.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +485 -22
  3. data/LICENSE.md +1 -1
  4. data/README.md +117 -7
  5. data/fog-aws.gemspec +8 -8
  6. data/lib/fog/aws/compute.rb +6 -3
  7. data/lib/fog/aws/credential_fetcher.rb +75 -7
  8. data/lib/fog/aws/elasticache.rb +4 -2
  9. data/lib/fog/aws/elb.rb +1 -1
  10. data/lib/fog/aws/elbv2.rb +72 -0
  11. data/lib/fog/aws/kinesis.rb +23 -15
  12. data/lib/fog/aws/models/compute/flavors.rb +2563 -521
  13. data/lib/fog/aws/models/compute/security_group.rb +13 -5
  14. data/lib/fog/aws/models/compute/server.rb +6 -2
  15. data/lib/fog/aws/models/compute/servers.rb +2 -0
  16. data/lib/fog/aws/models/compute/snapshot.rb +7 -6
  17. data/lib/fog/aws/models/compute/vpc.rb +8 -2
  18. data/lib/fog/aws/models/storage/directories.rb +1 -0
  19. data/lib/fog/aws/models/storage/directory.rb +0 -1
  20. data/lib/fog/aws/models/storage/file.rb +164 -20
  21. data/lib/fog/aws/models/storage/files.rb +32 -2
  22. data/lib/fog/aws/parsers/compute/create_snapshot.rb +1 -1
  23. data/lib/fog/aws/parsers/compute/create_subnet.rb +33 -6
  24. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +18 -4
  25. data/lib/fog/aws/parsers/compute/describe_subnets.rb +33 -6
  26. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +1 -1
  27. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +3 -3
  28. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +3 -1
  29. data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
  30. data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
  31. data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
  32. data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
  33. data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
  34. data/lib/fog/aws/parsers/iam/get_group_policy.rb +1 -1
  35. data/lib/fog/aws/parsers/iam/get_role_policy.rb +1 -1
  36. data/lib/fog/aws/parsers/iam/get_user_policy.rb +1 -1
  37. data/lib/fog/aws/parsers/iam/policy_version.rb +1 -1
  38. data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
  39. data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
  40. data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
  41. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +15 -0
  42. data/lib/fog/aws/requests/compute/create_network_interface.rb +7 -4
  43. data/lib/fog/aws/requests/compute/create_subnet.rb +3 -3
  44. data/lib/fog/aws/requests/compute/create_vpc.rb +2 -2
  45. data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
  46. data/lib/fog/aws/requests/compute/request_spot_instances.rb +1 -1
  47. data/lib/fog/aws/requests/compute/run_instances.rb +64 -0
  48. data/lib/fog/aws/requests/compute/stop_instances.rb +11 -3
  49. data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
  50. data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
  51. data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
  52. data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
  53. data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
  54. data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
  55. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
  56. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
  57. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
  58. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +18 -8
  59. data/lib/fog/aws/requests/storage/get_object.rb +1 -1
  60. data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
  61. data/lib/fog/aws/requests/storage/get_service.rb +1 -1
  62. data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
  63. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +1 -0
  64. data/lib/fog/aws/requests/storage/sync_clock.rb +9 -1
  65. data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
  66. data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
  67. data/lib/fog/aws/storage.rb +56 -5
  68. data/lib/fog/aws/version.rb +1 -1
  69. data/lib/fog/aws.rb +7 -2
  70. metadata +35 -295
  71. data/.gitignore +0 -16
  72. data/.travis.yml +0 -53
  73. data/Gemfile +0 -14
  74. data/Rakefile +0 -14
  75. data/gemfiles/Gemfile-edge +0 -14
  76. data/gemfiles/Gemfile-ruby-2.0 +0 -7
  77. data/stale.yml +0 -17
  78. data/tests/credentials_tests.rb +0 -87
  79. data/tests/helper.rb +0 -29
  80. data/tests/helpers/collection_helper.rb +0 -90
  81. data/tests/helpers/compute/flavors_helper.rb +0 -28
  82. data/tests/helpers/compute/server_helper.rb +0 -23
  83. data/tests/helpers/compute/servers_helper.rb +0 -8
  84. data/tests/helpers/dns_helper.rb +0 -56
  85. data/tests/helpers/formats_helper.rb +0 -100
  86. data/tests/helpers/formats_helper_tests.rb +0 -107
  87. data/tests/helpers/mock_helper.rb +0 -109
  88. data/tests/helpers/model_helper.rb +0 -30
  89. data/tests/helpers/responds_to_helper.rb +0 -11
  90. data/tests/helpers/schema_validator_tests.rb +0 -104
  91. data/tests/helpers/succeeds_helper.rb +0 -9
  92. data/tests/lorem.txt +0 -1
  93. data/tests/models/auto_scaling/activities_tests.rb +0 -6
  94. data/tests/models/auto_scaling/configuration_test.rb +0 -13
  95. data/tests/models/auto_scaling/configurations_tests.rb +0 -11
  96. data/tests/models/auto_scaling/groups_test.rb +0 -27
  97. data/tests/models/auto_scaling/helper.rb +0 -0
  98. data/tests/models/auto_scaling/instance_tests.rb +0 -15
  99. data/tests/models/auto_scaling/instances_tests.rb +0 -6
  100. data/tests/models/beanstalk/application_tests.rb +0 -69
  101. data/tests/models/beanstalk/applications_tests.rb +0 -7
  102. data/tests/models/beanstalk/environment_tests.rb +0 -131
  103. data/tests/models/beanstalk/environments_tests.rb +0 -34
  104. data/tests/models/beanstalk/template_tests.rb +0 -47
  105. data/tests/models/beanstalk/templates_tests.rb +0 -62
  106. data/tests/models/beanstalk/version_tests.rb +0 -66
  107. data/tests/models/beanstalk/versions_tests.rb +0 -60
  108. data/tests/models/cdn/distribution_tests.rb +0 -15
  109. data/tests/models/cdn/distributions_tests.rb +0 -15
  110. data/tests/models/cdn/invalidation_tests.rb +0 -31
  111. data/tests/models/cdn/invalidations_tests.rb +0 -14
  112. data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
  113. data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
  114. data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
  115. data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
  116. data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
  117. data/tests/models/cloud_watch/metrics_tests.rb +0 -32
  118. data/tests/models/compute/address_tests.rb +0 -43
  119. data/tests/models/compute/addresses_tests.rb +0 -5
  120. data/tests/models/compute/dhcp_option_tests.rb +0 -3
  121. data/tests/models/compute/dhcp_options_tests.rb +0 -3
  122. data/tests/models/compute/internet_gateway_tests.rb +0 -3
  123. data/tests/models/compute/internet_gateways_tests.rb +0 -3
  124. data/tests/models/compute/key_pair_tests.rb +0 -26
  125. data/tests/models/compute/key_pairs_tests.rb +0 -5
  126. data/tests/models/compute/network_acl_tests.rb +0 -109
  127. data/tests/models/compute/network_acls_tests.rb +0 -20
  128. data/tests/models/compute/network_interfaces_test.rb +0 -12
  129. data/tests/models/compute/security_group_tests.rb +0 -98
  130. data/tests/models/compute/security_groups_tests.rb +0 -5
  131. data/tests/models/compute/server_tests.rb +0 -94
  132. data/tests/models/compute/snapshot_tests.rb +0 -10
  133. data/tests/models/compute/snapshots_tests.rb +0 -10
  134. data/tests/models/compute/subnet_tests.rb +0 -13
  135. data/tests/models/compute/subnets_tests.rb +0 -5
  136. data/tests/models/compute/volume_tests.rb +0 -65
  137. data/tests/models/compute/volumes_tests.rb +0 -5
  138. data/tests/models/compute/vpc_tests.rb +0 -26
  139. data/tests/models/compute/vpcs_tests.rb +0 -19
  140. data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
  141. data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
  142. data/tests/models/dns/record_tests.rb +0 -33
  143. data/tests/models/dns/records_tests.rb +0 -41
  144. data/tests/models/dns/zone_tests.rb +0 -4
  145. data/tests/models/dns/zones_tests.rb +0 -4
  146. data/tests/models/efs/file_system_tests.rb +0 -12
  147. data/tests/models/efs/mount_target_tests.rb +0 -45
  148. data/tests/models/efs/mount_targets_tests.rb +0 -30
  149. data/tests/models/elasticache/cluster_tests.rb +0 -30
  150. data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
  151. data/tests/models/elasticache/security_groups_tests.rb +0 -52
  152. data/tests/models/elasticache/subnet_groups_tests.rb +0 -43
  153. data/tests/models/elb/model_tests.rb +0 -360
  154. data/tests/models/elb/tagging_tests.rb +0 -15
  155. data/tests/models/glacier/model_tests.rb +0 -47
  156. data/tests/models/iam/access_keys_tests.rb +0 -53
  157. data/tests/models/iam/groups_tests.rb +0 -59
  158. data/tests/models/iam/instance_profile_tests.rb +0 -18
  159. data/tests/models/iam/managed_policies_tests.rb +0 -89
  160. data/tests/models/iam/policies_tests.rb +0 -57
  161. data/tests/models/iam/roles_tests.rb +0 -71
  162. data/tests/models/iam/users_tests.rb +0 -119
  163. data/tests/models/rds/cluster_tests.rb +0 -54
  164. data/tests/models/rds/clusters_tests.rb +0 -5
  165. data/tests/models/rds/event_subscription_tests.rb +0 -9
  166. data/tests/models/rds/event_subscriptions_tests.rb +0 -6
  167. data/tests/models/rds/helper.rb +0 -25
  168. data/tests/models/rds/instance_option_tests.rb +0 -14
  169. data/tests/models/rds/parameter_group_tests.rb +0 -24
  170. data/tests/models/rds/parameter_groups_tests.rb +0 -8
  171. data/tests/models/rds/security_group_tests.rb +0 -77
  172. data/tests/models/rds/security_groups_tests.rb +0 -5
  173. data/tests/models/rds/server_tests.rb +0 -131
  174. data/tests/models/rds/servers_tests.rb +0 -24
  175. data/tests/models/rds/snapshot_tests.rb +0 -12
  176. data/tests/models/rds/snapshots_tests.rb +0 -12
  177. data/tests/models/rds/tagging_tests.rb +0 -20
  178. data/tests/models/sns/topic_tests.rb +0 -15
  179. data/tests/models/sns/topics_tests.rb +0 -6
  180. data/tests/models/storage/directory_tests.rb +0 -91
  181. data/tests/models/storage/file_tests.rb +0 -129
  182. data/tests/models/storage/files_tests.rb +0 -58
  183. data/tests/models/storage/url_tests.rb +0 -25
  184. data/tests/models/storage/version_tests.rb +0 -52
  185. data/tests/models/storage/versions_tests.rb +0 -51
  186. data/tests/models/support/trusted_advisor_tests.rb +0 -25
  187. data/tests/parsers/compute/describe_images_tests.rb +0 -33
  188. data/tests/parsers/elb/describe_load_balancers.rb +0 -65
  189. data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -111
  190. data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
  191. data/tests/requests/auto_scaling/helper.rb +0 -229
  192. data/tests/requests/auto_scaling/model_tests.rb +0 -235
  193. data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
  194. data/tests/requests/auto_scaling/tag_tests.rb +0 -63
  195. data/tests/requests/beanstalk/application_tests.rb +0 -140
  196. data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
  197. data/tests/requests/cdn/cdn_tests.rb +0 -252
  198. data/tests/requests/cloud_formation/stack_tests.rb +0 -167
  199. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
  200. data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
  201. data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
  202. data/tests/requests/compute/address_tests.rb +0 -144
  203. data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
  204. data/tests/requests/compute/availability_zone_tests.rb +0 -25
  205. data/tests/requests/compute/client_tests.rb +0 -25
  206. data/tests/requests/compute/dhcp_options_tests.rb +0 -39
  207. data/tests/requests/compute/helper.rb +0 -27
  208. data/tests/requests/compute/image_tests.rb +0 -169
  209. data/tests/requests/compute/instance_attrib_tests.rb +0 -168
  210. data/tests/requests/compute/instance_tests.rb +0 -338
  211. data/tests/requests/compute/internet_gateway_tests.rb +0 -49
  212. data/tests/requests/compute/key_pair_tests.rb +0 -67
  213. data/tests/requests/compute/network_acl_tests.rb +0 -112
  214. data/tests/requests/compute/network_interface_tests.rb +0 -239
  215. data/tests/requests/compute/placement_group_tests.rb +0 -48
  216. data/tests/requests/compute/region_tests.rb +0 -52
  217. data/tests/requests/compute/route_tests.rb +0 -341
  218. data/tests/requests/compute/security_group_tests.rb +0 -446
  219. data/tests/requests/compute/snapshot_tests.rb +0 -77
  220. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
  221. data/tests/requests/compute/spot_instance_tests.rb +0 -55
  222. data/tests/requests/compute/spot_price_history_tests.rb +0 -23
  223. data/tests/requests/compute/subnet_tests.rb +0 -87
  224. data/tests/requests/compute/tag_tests.rb +0 -101
  225. data/tests/requests/compute/volume_tests.rb +0 -263
  226. data/tests/requests/compute/vpc_tests.rb +0 -216
  227. data/tests/requests/data_pipeline/helper.rb +0 -78
  228. data/tests/requests/data_pipeline/pipeline_tests.rb +0 -80
  229. data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
  230. data/tests/requests/dns/dns_tests.rb +0 -240
  231. data/tests/requests/dns/health_check_tests.rb +0 -159
  232. data/tests/requests/dns/helper.rb +0 -21
  233. data/tests/requests/dynamodb/item_tests.rb +0 -137
  234. data/tests/requests/dynamodb/table_tests.rb +0 -99
  235. data/tests/requests/ecs/cluster_tests.rb +0 -112
  236. data/tests/requests/ecs/container_instance_tests.rb +0 -119
  237. data/tests/requests/ecs/helper.rb +0 -276
  238. data/tests/requests/ecs/sample_task_definition1.json +0 -56
  239. data/tests/requests/ecs/service_tests.rb +0 -132
  240. data/tests/requests/ecs/task_definitions_tests.rb +0 -97
  241. data/tests/requests/ecs/task_tests.rb +0 -145
  242. data/tests/requests/efs/file_system_tests.rb +0 -152
  243. data/tests/requests/efs/helper.rb +0 -44
  244. data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
  245. data/tests/requests/elasticache/describe_events.rb +0 -17
  246. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
  247. data/tests/requests/elasticache/helper.rb +0 -103
  248. data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
  249. data/tests/requests/elasticache/security_group_tests.rb +0 -108
  250. data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
  251. data/tests/requests/elb/helper.rb +0 -91
  252. data/tests/requests/elb/listener_tests.rb +0 -68
  253. data/tests/requests/elb/load_balancer_tests.rb +0 -89
  254. data/tests/requests/elb/policy_tests.rb +0 -132
  255. data/tests/requests/emr/helper.rb +0 -167
  256. data/tests/requests/emr/instance_group_tests.rb +0 -106
  257. data/tests/requests/emr/job_flow_tests.rb +0 -88
  258. data/tests/requests/federation/get_signin_token_tests.rb +0 -11
  259. data/tests/requests/glacier/archive_tests.rb +0 -13
  260. data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
  261. data/tests/requests/glacier/tree_hash_tests.rb +0 -91
  262. data/tests/requests/glacier/vault_tests.rb +0 -35
  263. data/tests/requests/iam/access_key_tests.rb +0 -53
  264. data/tests/requests/iam/account_policy_tests.rb +0 -20
  265. data/tests/requests/iam/account_tests.rb +0 -34
  266. data/tests/requests/iam/group_policy_tests.rb +0 -48
  267. data/tests/requests/iam/group_tests.rb +0 -44
  268. data/tests/requests/iam/helper.rb +0 -154
  269. data/tests/requests/iam/instance_profile_tests.rb +0 -44
  270. data/tests/requests/iam/login_profile_tests.rb +0 -62
  271. data/tests/requests/iam/managed_policy_tests.rb +0 -110
  272. data/tests/requests/iam/mfa_tests.rb +0 -23
  273. data/tests/requests/iam/role_tests.rb +0 -156
  274. data/tests/requests/iam/server_certificate_tests.rb +0 -130
  275. data/tests/requests/iam/user_policy_tests.rb +0 -45
  276. data/tests/requests/iam/user_tests.rb +0 -78
  277. data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -105
  278. data/tests/requests/kinesis/helper.rb +0 -111
  279. data/tests/requests/kinesis/stream_tests.rb +0 -169
  280. data/tests/requests/kms/helper.rb +0 -27
  281. data/tests/requests/kms/key_tests.rb +0 -23
  282. data/tests/requests/lambda/function_sample_1.js +0 -9
  283. data/tests/requests/lambda/function_sample_2.js +0 -9
  284. data/tests/requests/lambda/function_tests.rb +0 -460
  285. data/tests/requests/lambda/helper.rb +0 -81
  286. data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
  287. data/tests/requests/rds/cluster_tests.rb +0 -37
  288. data/tests/requests/rds/db_engine_versions.rb +0 -7
  289. data/tests/requests/rds/db_snapshot_tests.rb +0 -62
  290. data/tests/requests/rds/describe_events.rb +0 -16
  291. data/tests/requests/rds/event_subscription_tests.rb +0 -30
  292. data/tests/requests/rds/helper.rb +0 -406
  293. data/tests/requests/rds/instance_option_tests.rb +0 -27
  294. data/tests/requests/rds/instance_tests.rb +0 -149
  295. data/tests/requests/rds/log_file_tests.rb +0 -19
  296. data/tests/requests/rds/parameter_group_tests.rb +0 -62
  297. data/tests/requests/rds/parameter_request_tests.rb +0 -32
  298. data/tests/requests/rds/security_group_tests.rb +0 -101
  299. data/tests/requests/rds/subnet_groups_tests.rb +0 -52
  300. data/tests/requests/rds/tagging_tests.rb +0 -78
  301. data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
  302. data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
  303. data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
  304. data/tests/requests/redshift/cluster_tests.rb +0 -80
  305. data/tests/requests/ses/helper.rb +0 -9
  306. data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
  307. data/tests/requests/ses/verified_email_address_tests.rb +0 -27
  308. data/tests/requests/simpledb/attributes_tests.rb +0 -86
  309. data/tests/requests/simpledb/domain_tests.rb +0 -51
  310. data/tests/requests/simpledb/helper.rb +0 -10
  311. data/tests/requests/sns/helper.rb +0 -9
  312. data/tests/requests/sns/subscription_tests.rb +0 -86
  313. data/tests/requests/sns/topic_tests.rb +0 -53
  314. data/tests/requests/sqs/helper.rb +0 -9
  315. data/tests/requests/sqs/message_tests.rb +0 -51
  316. data/tests/requests/sqs/queue_tests.rb +0 -50
  317. data/tests/requests/storage/acl_utils_tests.rb +0 -209
  318. data/tests/requests/storage/bucket_tests.rb +0 -416
  319. data/tests/requests/storage/cors_utils_tests.rb +0 -108
  320. data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
  321. data/tests/requests/storage/multipart_upload_tests.rb +0 -121
  322. data/tests/requests/storage/object_tests.rb +0 -262
  323. data/tests/requests/storage/versioning_tests.rb +0 -262
  324. data/tests/requests/sts/assume_role_tests.rb +0 -19
  325. data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
  326. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -28
  327. data/tests/requests/sts/get_federation_token_tests.rb +0 -20
  328. data/tests/requests/sts/session_token_tests.rb +0 -16
  329. data/tests/requests/support/helper.rb +0 -43
  330. data/tests/requests/support/trusted_advisor_check_tests.rb +0 -16
  331. data/tests/signaturev4_tests.rb +0 -106
  332. data/tests/signed_params_tests.rb +0 -17
  333. data/tests/storage_tests.rb +0 -7
@@ -1,78 +0,0 @@
1
- class AWS
2
- module DataPipeline
3
- module Formats
4
- BASIC = {
5
- 'pipelineId' => String,
6
- }
7
-
8
- FIELDS = [
9
- {
10
- "key" => String,
11
- "refValue" => Fog::Nullable::String,
12
- "stringValue" => Fog::Nullable::String,
13
- }
14
- ]
15
-
16
- LIST_PIPELINES = {
17
- "hasMoreResults" => Fog::Nullable::Boolean,
18
- "marker" => Fog::Nullable::String,
19
- "pipelineIdList" => [
20
- {
21
- "id" => String,
22
- "name" => String,
23
- }
24
- ]
25
- }
26
-
27
- QUERY_OBJECTS = {
28
- "hasMoreResults" => Fog::Nullable::Boolean,
29
- "marker" => Fog::Nullable::String,
30
- "ids" => Fog::Nullable::Array,
31
- }
32
-
33
- DESCRIBE_OBJECTS = {
34
- "hasMoreResults" => Fog::Nullable::Boolean,
35
- "marker" => Fog::Nullable::String,
36
- "pipelineObjects" => [
37
- {
38
- "fields" => [
39
- {
40
- 'id' => String,
41
- 'name' => String,
42
- 'fields' => FIELDS,
43
- }
44
- ]
45
- }
46
- ]
47
- }
48
-
49
- DESCRIBE_PIPELINES = {
50
- "pipelineDescriptionList" => [
51
- {
52
- "description" => Fog::Nullable::String,
53
- "name" => String,
54
- "pipelineId" => String,
55
- "fields" => FIELDS,
56
- }
57
- ]
58
- }
59
-
60
- PUT_PIPELINE_DEFINITION = {
61
- "errored" => Fog::Boolean,
62
- "validationErrors" => Fog::Nullable::Array,
63
- }
64
-
65
- GET_PIPELINE_DEFINITION = {
66
- "pipelineObjects" => [
67
- {
68
- "id" => String,
69
- "name" => String,
70
- "fields" => FIELDS,
71
- }
72
- ],
73
- "parameterObjects" => Fog::Nullable::Array,
74
- "parameterValues" => Fog::Nullable::Array,
75
- }
76
- end
77
- end
78
- end
@@ -1,80 +0,0 @@
1
- Shindo.tests('AWS::DataPipeline | pipeline_tests', ['aws', 'data_pipeline']) do
2
- @pipeline_id = nil
3
-
4
- tests('success') do
5
- tests("#create_pipeline").formats(AWS::DataPipeline::Formats::BASIC) do
6
- unique_id = 'fog-test-pipeline-unique-id'
7
- name = 'fog-test-pipeline-name'
8
- description = 'Fog test pipeline'
9
-
10
- result = Fog::AWS[:data_pipeline].create_pipeline(unique_id, name, description, {}).body
11
- @pipeline_id = result['pipelineId']
12
- result
13
- end
14
-
15
- tests("#list_pipelines").formats(AWS::DataPipeline::Formats::LIST_PIPELINES) do
16
- Fog::AWS[:data_pipeline].list_pipelines.body
17
- end
18
-
19
- tests("#describe_pipelines").formats(AWS::DataPipeline::Formats::DESCRIBE_PIPELINES) do
20
- ids = [@pipeline_id]
21
- Fog::AWS[:data_pipeline].describe_pipelines(ids).body
22
- end
23
-
24
- tests("#put_pipeline_definition").formats(AWS::DataPipeline::Formats::PUT_PIPELINE_DEFINITION) do
25
- objects = [
26
- {
27
- "id" => "Nightly",
28
- "type" => "Schedule",
29
- "startDateTime" => Time.now.strftime("%Y-%m-%dT%H:%M:%S"),
30
- "period" => "24 hours",
31
- },
32
- {
33
- "id" => "Default",
34
- "role" => "role-dumps",
35
- "resourceRole" => "role-dumps-inst",
36
- "schedule" => { "ref" => "Nightly" },
37
- },
38
- ]
39
-
40
- Fog::AWS[:data_pipeline].put_pipeline_definition(@pipeline_id, objects).body
41
- end
42
-
43
- tests("#activate_pipeline") do
44
- Fog::AWS[:data_pipeline].activate_pipeline(@pipeline_id)
45
- end
46
-
47
- tests("#deactivate_pipeline") do
48
- Fog::AWS[:data_pipeline].activate_pipeline(@pipeline_id)
49
- end
50
-
51
- tests("#get_pipeline_definition").formats(AWS::DataPipeline::Formats::GET_PIPELINE_DEFINITION) do
52
- Fog::AWS[:data_pipeline].get_pipeline_definition(@pipeline_id).body
53
- end
54
-
55
- tests("#query_objects") do
56
- tests("for COMPONENTs").formats(AWS::DataPipeline::Formats::QUERY_OBJECTS) do
57
- Fog::AWS[:data_pipeline].query_objects(@pipeline_id, 'COMPONENT').body
58
- end
59
-
60
- tests("for INSTANCEs").formats(AWS::DataPipeline::Formats::QUERY_OBJECTS) do
61
- Fog::AWS[:data_pipeline].query_objects(@pipeline_id, 'INSTANCE').body
62
- end
63
-
64
- tests("for ATTEMPTs").formats(AWS::DataPipeline::Formats::QUERY_OBJECTS) do
65
- Fog::AWS[:data_pipeline].query_objects(@pipeline_id, 'ATTEMPT').body
66
- end
67
- end
68
-
69
- tests('#describe_objects').formats(AWS::DataPipeline::Formats::DESCRIBE_OBJECTS) do
70
- attempts = Fog::AWS[:data_pipeline].query_objects(@pipeline_id, 'ATTEMPT').body
71
- object_ids = attempts['ids'][0..5]
72
- Fog::AWS[:data_pipeline].describe_objects(@pipeline_id, object_ids).body
73
- end
74
-
75
- tests("#delete_pipeline").returns(true) do
76
- Fog::AWS[:data_pipeline].delete_pipeline(@pipeline_id)
77
- end
78
-
79
- end
80
- end
@@ -1,34 +0,0 @@
1
- Shindo.tests('Fog::DNS[:aws] | change_resource_record_sets', ['aws', 'dns']) do
2
- tests('success') do
3
- test('#elb_hosted_zone_mapping from DNS name') do
4
- zone_id = Fog::AWS::DNS.hosted_zone_for_alias_target('arbitrary-sub-domain.eu-west-1.elb.amazonaws.com')
5
- zone_id == Fog::AWS::DNS.elb_hosted_zone_mapping['eu-west-1']
6
- end
7
- end
8
-
9
- tests("#change_resource_record_sets_data formats geolocation properly") do
10
- change_batch = [{
11
- :action=>"CREATE",
12
- :name=>"ark.m.example.net.",
13
- :resource_records=>["1.1.1.1"],
14
- :ttl=>"300",
15
- :type=>"A",
16
- :set_identifier=>"ark",
17
- :geo_location=>{"CountryCode"=>"US", "SubdivisionCode"=>"AR"},
18
- }]
19
-
20
- version = '2013-04-01'
21
- result = Fog::AWS::DNS.change_resource_record_sets_data('zone_id123', change_batch, version)
22
- doc = Nokogiri::XML(result)
23
-
24
- returns("https://route53.amazonaws.com/doc/#{version}/") { doc.namespaces['xmlns'] }
25
- returns(%w[US AR]) {
26
- [
27
- doc.css("GeoLocation CountryCode").text,
28
- doc.css("GeoLocation SubdivisionCode").text
29
- ]
30
- }
31
-
32
- result
33
- end
34
- end
@@ -1,240 +0,0 @@
1
- Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
2
-
3
- @org_zone_count = 0
4
- @zone_id = ''
5
- @change_id = ''
6
- @new_records = []
7
- @domain_name = generate_unique_domain
8
-
9
- @elb_connection = Fog::AWS::ELB.new
10
- @r53_connection = Fog::DNS[:aws]
11
-
12
- tests('success') do
13
-
14
- test('get current zone count') do
15
- @org_zone_count= 0
16
- response = @r53_connection.list_hosted_zones
17
- if response.status == 200
18
- @hosted_zones = response.body['HostedZones']
19
- @org_zone_count = @hosted_zones.count
20
- end
21
-
22
- response.status == 200
23
- end
24
-
25
- test('create simple zone') {
26
- result = false
27
-
28
- response = @r53_connection.create_hosted_zone(@domain_name)
29
- if response.status == 201
30
-
31
- zone = response.body['HostedZone']
32
- change_info = response.body['ChangeInfo']
33
- ns_servers = response.body['NameServers']
34
-
35
- if (zone and change_info and ns_servers)
36
-
37
- @zone_id = zone['Id']
38
- caller_ref = zone['CallerReference']
39
- @change_id = change_info['Id']
40
- status = change_info['Status']
41
- ns_srv_count = ns_servers.count
42
-
43
- if (@zone_id.length > 0) and (caller_ref.length > 0) and (@change_id.length > 0) and
44
- (status.length > 0) and (ns_srv_count > 0)
45
- result = true
46
- end
47
- end
48
- end
49
-
50
- result
51
- }
52
-
53
- test("get status of change #{@change_id}") {
54
- result = false
55
- response = @r53_connection.get_change(@change_id)
56
- if response.status == 200
57
- status = response.body['Status']
58
- if (status == 'PENDING') or (status == 'INSYNC')
59
- result = true
60
- end
61
- end
62
-
63
- result
64
- }
65
-
66
- test("get info on hosted zone #{@zone_id}") {
67
- result = false
68
-
69
- response = @r53_connection.get_hosted_zone(@zone_id)
70
- if response.status == 200
71
- zone = response.body['HostedZone']
72
- zone_id = zone['Id']
73
- name = zone['Name']
74
- caller_ref = zone['CallerReference']
75
- ns_servers = response.body['NameServers']
76
-
77
- # AWS returns domain with a dot at end - so when compare, remove dot
78
- if (zone_id == @zone_id) and (name.chop == @domain_name) and (caller_ref.length > 0) and
79
- (ns_servers.count > 0)
80
- result = true
81
- end
82
- end
83
-
84
- result
85
- }
86
-
87
- test('list zones') do
88
- result = false
89
-
90
- response = @r53_connection.list_hosted_zones
91
- if response.status == 200
92
-
93
- zones= response.body['HostedZones']
94
- if (zones.count > 0)
95
- zone = zones[0]
96
- zone_id = zone['Id']
97
- zone_name= zone['Name']
98
- caller_ref = zone['CallerReference']
99
- end
100
- max_items = response.body['MaxItems']
101
-
102
- if (zone_id.length > 0) and (zone_name.length > 0) and (caller_ref.length > 0) and
103
- (max_items > 0)
104
- result = true
105
- end
106
- end
107
-
108
- result
109
- end
110
-
111
- test("add a A resource record") {
112
- # create an A resource record
113
- host = 'www.' + @domain_name
114
- ip_addrs = ['1.2.3.4']
115
- resource_record = { :name => host, :type => 'A', :ttl => 3600, :resource_records => ip_addrs }
116
- resource_record_set = resource_record.merge(:action => 'CREATE')
117
-
118
- change_batch = []
119
- change_batch << resource_record_set
120
- options = { :comment => 'add A record to domain'}
121
- response = @r53_connection.change_resource_record_sets(@zone_id, change_batch, options)
122
-
123
- Fog.wait_for { @r53_connection.get_change(response.body["Id"]).body["Status"] != "PENDING" }
124
-
125
- @new_records << resource_record
126
-
127
- @r53_connection.get_change(response.body["Id"]).body["Status"] == "INSYNC"
128
- }
129
-
130
- test("add a CNAME resource record") {
131
- # create a CNAME resource record
132
- host = 'mail.' + @domain_name
133
- value = ['www.' + @domain_name]
134
- resource_record = { :name => host, :type => 'CNAME', :ttl => 3600, :resource_records => value }
135
- resource_record_set = resource_record.merge(:action => 'CREATE')
136
-
137
- change_batch = []
138
- change_batch << resource_record_set
139
- options = { :comment => 'add CNAME record to domain'}
140
- response = @r53_connection.change_resource_record_sets( @zone_id, change_batch, options)
141
-
142
- Fog.wait_for { @r53_connection.get_change(response.body["Id"]).body["Status"] != "PENDING" }
143
-
144
- @new_records << resource_record
145
-
146
- @r53_connection.get_change(response.body["Id"]).body["Status"] == "INSYNC"
147
- }
148
-
149
- test("add a MX resource record") {
150
- # create a MX resource record
151
- host = @domain_name
152
- value = ['7 mail.' + @domain_name]
153
- resource_record = { :name => host, :type => 'MX', :ttl => 3600, :resource_records => value }
154
- resource_record_set = resource_record.merge( :action => 'CREATE')
155
-
156
- change_batch = []
157
- change_batch << resource_record_set
158
- options = { :comment => 'add MX record to domain'}
159
- response = @r53_connection.change_resource_record_sets( @zone_id, change_batch, options)
160
-
161
- Fog.wait_for { @r53_connection.get_change(response.body["Id"]).body["Status"] != "PENDING" }
162
-
163
- @new_records << resource_record
164
-
165
- @r53_connection.get_change(response.body["Id"]).body["Status"] == "INSYNC"
166
- }
167
-
168
- test("add an ALIAS resource record") {
169
- # create a load balancer
170
- @elb_connection.create_load_balancer(["us-east-1a"], "fog", [{"Protocol" => "HTTP", "LoadBalancerPort" => "80", "InstancePort" => "80"}])
171
-
172
- elb_response = @elb_connection.describe_load_balancers("LoadBalancerNames" => "fog")
173
- elb = elb_response.body["DescribeLoadBalancersResult"]["LoadBalancerDescriptions"].first
174
- hosted_zone_id = elb["CanonicalHostedZoneNameID"]
175
- dns_name = elb["DNSName"]
176
-
177
- # create an ALIAS record
178
- host = @domain_name
179
- alias_target = {
180
- :hosted_zone_id => hosted_zone_id,
181
- :dns_name => dns_name,
182
- :evaluate_target_health => false
183
- }
184
- resource_record = { :name => host, :type => 'A', :alias_target => alias_target }
185
- resource_record_set = resource_record.merge(:action => 'CREATE')
186
-
187
- change_batch = []
188
- change_batch << resource_record_set
189
- options = { :comment => 'add ALIAS record to domain'}
190
-
191
- response = @r53_connection.change_resource_record_sets(@zone_id, change_batch, options)
192
-
193
- Fog.wait_for { @r53_connection.get_change(response.body["Id"]).body["Status"] != "PENDING" }
194
-
195
- @new_records << resource_record
196
-
197
- @r53_connection.get_change(response.body["Id"]).body["Status"] == "INSYNC"
198
- }
199
-
200
-
201
- tests("list resource records").formats(AWS::DNS::Formats::LIST_RESOURCE_RECORD_SETS) {
202
- # get resource records for zone
203
- @r53_connection.list_resource_record_sets(@zone_id).body
204
- }
205
-
206
- test("delete #{@new_records.count} resource records") {
207
- change_batch = @new_records.map { |record| record.merge(:action => 'DELETE') }
208
- options = { :comment => 'remove records from domain'}
209
-
210
- response = @r53_connection.change_resource_record_sets(@zone_id, change_batch, options)
211
-
212
- Fog.wait_for { @r53_connection.get_change(response.body["Id"]).body["Status"] != "PENDING" }
213
-
214
- @r53_connection.get_change(response.body["Id"]).body["Status"] == "INSYNC"
215
- }
216
-
217
- test("delete hosted zone #{@zone_id}") {
218
- # cleanup the ELB as well
219
- @elb_connection.delete_load_balancer("fog")
220
-
221
- @r53_connection.delete_hosted_zone(@zone_id).status == 200
222
- }
223
-
224
- end
225
-
226
- tests('failure') do
227
- tests('create hosted zone using invalid domain name').raises(Excon::Errors::BadRequest) do
228
- pending if Fog.mocking?
229
- @r53_connection.create_hosted_zone('invalid-domain')
230
- end
231
-
232
- tests('get hosted zone using invalid ID').raises(Excon::Errors::NotFound) do
233
- pending if Fog.mocking?
234
- zone_id = 'dummy-id'
235
- @r53_connection.get_hosted_zone(zone_id)
236
- end
237
-
238
- end
239
-
240
- end
@@ -1,159 +0,0 @@
1
- Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
2
-
3
- pending if Fog.mocking?
4
-
5
- @r53_connection = Fog::DNS[:aws]
6
-
7
- tests('success') do
8
-
9
- tests('create a health check') do
10
- after do
11
- @r53_connection.delete_health_check(@response.body['HealthCheck']['Id'])
12
- end
13
-
14
- test('create an IP TCP based health check') do
15
- @response = @r53_connection.create_health_check('8.8.8.8', '53', 'TCP')
16
- @response.status == 201 &&
17
- @response.body['HealthCheck']['HealthCheckConfig']['IPAddress'] == '8.8.8.8' &&
18
- @response.body['HealthCheck']['HealthCheckConfig']['Port'] == '53'
19
- end
20
-
21
- test('create a FQDN HTTP based health check') do
22
- @options = {
23
- :fqdn => "www.amazon.com",
24
- :resource_path => "/gp/cart/view.html/ref=nav_cart"
25
- }
26
- @response = @r53_connection.create_health_check(nil, '80', 'HTTP', @options)
27
- @response.status == 201 &&
28
- @response.body['HealthCheck']['HealthCheckConfig']['IPAddress'].nil? &&
29
- @response.body['HealthCheck']['HealthCheckConfig']['Port'] == '80' &&
30
- @response.body['HealthCheck']['HealthCheckConfig']['FullyQualifiedDomainName'] == 'www.amazon.com'
31
- end
32
- end
33
-
34
- tests('get a health check') do
35
- @options = {
36
- :fqdn => "www.amazon.com",
37
- :resource_path => "/gp/cart/view.html/ref=nav_cart",
38
- :search_string => "Amazon",
39
- :request_interval => 10,
40
- :failure_threshold => "7"
41
- }
42
- create_response = @r53_connection.create_health_check('8.8.8.8', '443', 'HTTPS_STR_MATCH', @options)
43
- @health_check_id = create_response.body['HealthCheck']['Id']
44
- @response = @r53_connection.get_health_check(@health_check_id)
45
-
46
- sleep 2
47
- @r53_connection.delete_health_check(@health_check_id)
48
-
49
- test('id') do
50
- @response.body['HealthCheck']['Id'] == @health_check_id
51
- end
52
-
53
- {
54
- 'IPAddress' => '8.8.8.8',
55
- 'Port' => '443',
56
- 'Type' => 'HTTPS_STR_MATCH',
57
- 'FullyQualifiedDomainName' => @options[:fqdn],
58
- 'ResourcePath' => @options[:resource_path],
59
- 'RequestInterval' => @options[:request_interval],
60
- 'FailureThreshold' => @options[:failure_threshold]
61
- }.each do |key, value|
62
- test("and check property #{key}") do
63
- @response.body['HealthCheck']['HealthCheckConfig'][key] == value
64
- end
65
- end
66
- end
67
-
68
- tests('delete a health check') do
69
- before do
70
- response = @r53_connection.create_health_check('8.8.8.8', '53', 'TCP')
71
- @health_check_id = response.body['HealthCheck']['Id']
72
- end
73
-
74
- test('setup as IP TCP') do
75
- response = @r53_connection.delete_health_check(@health_check_id)
76
- response.status == 200
77
- end
78
- end
79
-
80
- tests('listing health checks') do
81
- test('succeeds') do
82
- response = @r53_connection.list_health_checks
83
- response.status == 200
84
- end
85
-
86
- before do
87
- response_1 = @r53_connection.create_health_check('8.8.8.8', '53', 'TCP')
88
- @health_check_1_id = response_1.body['HealthCheck']['Id']
89
- options = {
90
- :fqdn => "www.amazon.com",
91
- :resource_path => "/gp/cart/view.html/ref=nav_cart"
92
- }
93
- response_2 = @r53_connection.create_health_check(nil, '80', 'HTTP', options)
94
- @health_check_2_id = response_2.body['HealthCheck']['Id']
95
- @health_check_ids = [@health_check_1_id, @health_check_2_id]
96
- end
97
-
98
- after do
99
- @health_check_ids.each { |id| @r53_connection.delete_health_check id }
100
- end
101
-
102
- test('contains 2 new health checks') do
103
- sleep 2
104
- response = @r53_connection.list_health_checks
105
- health_checks_by_id = response.body['HealthChecks'].map do |health_check|
106
- health_check['Id']
107
- end.to_a
108
- @health_check_ids.all? { |id| health_checks_by_id.include?(id) }
109
- end
110
-
111
- test('contains properties') do
112
- sleep 2
113
- response = @r53_connection.list_health_checks
114
- list_response_2 = response.body['HealthChecks'].find { |health_check| health_check['Id'] == @health_check_2_id }
115
-
116
- list_response_2['HealthCheckConfig']['Type'] == 'HTTP' &&
117
- list_response_2['HealthCheckConfig']['FullyQualifiedDomainName'] == 'www.amazon.com' &&
118
- list_response_2['HealthCheckConfig']['IPAddress'].nil?
119
- end
120
- end
121
-
122
- tests('assign a health check to a DNS record') do
123
- after do
124
- @r53_connection.change_resource_record_sets(@zone_id, [@resource_record.merge(:action => 'DELETE')])
125
- @r53_connection.delete_hosted_zone(@zone_id)
126
- @r53_connection.delete_health_check @health_check_id
127
- end
128
-
129
- health_check_response = @r53_connection.create_health_check('8.8.8.8', '53', 'TCP')
130
- raise "Health check was not created" unless health_check_response.status == 201
131
- @health_check_id = health_check_response.body['HealthCheck']['Id']
132
-
133
- @domain_name = generate_unique_domain
134
- zone_response = @r53_connection.create_hosted_zone(@domain_name)
135
- raise "Zone was not created for #{@domain_name}" unless zone_response.status == 201
136
- @zone_id = zone_response.body['HostedZone']['Id']
137
-
138
- @resource_record = {
139
- :name => "www.#{@domain_name}.",
140
- :type => 'A',
141
- :ttl => 3600,
142
- :resource_records => ['8.8.4.4'],
143
- :health_check_id => @health_check_id,
144
- :set_identifier => SecureRandom.hex(8),
145
- :weight => 50
146
- }
147
- resource_record_set = [@resource_record.merge(:action => 'CREATE')]
148
- record_response = @r53_connection.change_resource_record_sets @zone_id, resource_record_set
149
- raise "A record was not created" unless record_response.status == 200
150
-
151
- test('succeeds') do
152
- new_record = @r53_connection.list_resource_record_sets(@zone_id).body['ResourceRecordSets'].find do |record|
153
- record['Name'] == @resource_record[:name]
154
- end
155
- new_record['HealthCheckId'] == @health_check_id
156
- end
157
- end
158
- end
159
- end
@@ -1,21 +0,0 @@
1
- class AWS
2
- module DNS
3
- module Formats
4
- RESOURCE_RECORD_SET = {
5
- "ResourceRecords" => Array,
6
- "Name" => String,
7
- "Type" => String,
8
- "AliasTarget"=> Fog::Nullable::Hash,
9
- "TTL" => Fog::Nullable::String
10
- }
11
-
12
- LIST_RESOURCE_RECORD_SETS = {
13
- "ResourceRecordSets" => [RESOURCE_RECORD_SET],
14
- "IsTruncated" => Fog::Boolean,
15
- "MaxItems" => Integer,
16
- "NextRecordName" => Fog::Nullable::String,
17
- "NextRecordType" => Fog::Nullable::String
18
- }
19
- end
20
- end
21
- end