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,276 +0,0 @@
1
- class AWS
2
- module ECS
3
- module Formats
4
- BASIC = {
5
- 'ResponseMetadata' => { 'RequestId' => String }
6
- }
7
- CREATE_CLUSTER = BASIC.merge({
8
- 'CreateClusterResult' => {
9
- 'cluster' => {
10
- 'clusterName' => String,
11
- 'clusterArn' => String,
12
- 'status' => String,
13
- 'registeredContainerInstancesCount' => Integer,
14
- 'runningTasksCount' => Integer,
15
- 'pendingTasksCount' => Integer
16
- }
17
- }
18
- })
19
- LIST_CLUSTERS = BASIC.merge({
20
- 'ListClustersResult' => {
21
- 'clusterArns' => [String],
22
- 'nextToken' => Fog::Nullable::String
23
- }
24
- })
25
- DELETE_CLUSTER = BASIC.merge({
26
- 'DeleteClusterResult' => {
27
- 'cluster' => {
28
- 'clusterName' => String,
29
- 'clusterArn' => String,
30
- 'status' => String,
31
- 'registeredContainerInstancesCount' => Integer,
32
- 'runningTasksCount' => Integer,
33
- 'pendingTasksCount' => Integer
34
- }
35
- }
36
- })
37
- DESCRIBE_CLUSTERS = BASIC.merge({
38
- 'DescribeClustersResult' => {
39
- 'failures' => [Fog::Nullable::Hash],
40
- 'clusters' => [Fog::Nullable::Hash]
41
- }
42
- })
43
- REGISTER_TASK_DEFINITION = BASIC.merge({
44
- 'RegisterTaskDefinitionResult' => {
45
- 'taskDefinition' => {
46
- 'revision' => Integer,
47
- 'taskDefinitionArn' => String,
48
- 'family' => String,
49
- 'containerDefinitions' => [Hash],
50
- 'volumes' => Fog::Nullable::Array
51
- }
52
- }
53
- })
54
- LIST_TASK_DEFINITIONS = BASIC.merge({
55
- 'ListTaskDefinitionsResult' => {
56
- 'taskDefinitionArns' => [String]
57
- }
58
- })
59
- DESCRIBE_TASK_DEFINITION = BASIC.merge({
60
- 'DescribeTaskDefinitionResult' => {
61
- 'taskDefinition' => {
62
- 'revision' => Integer,
63
- 'taskDefinitionArn' => String,
64
- 'family' => String,
65
- 'containerDefinitions' => [Hash],
66
- 'volumes' => Fog::Nullable::Array
67
- }
68
- }
69
- })
70
- DEREGISTER_TASK_DEFINITION = BASIC.merge({
71
- 'DeregisterTaskDefinitionResult' => {
72
- 'taskDefinition' => {
73
- 'revision' => Integer,
74
- 'taskDefinitionArn' => String,
75
- 'family' => String,
76
- 'containerDefinitions' => [Hash],
77
- 'volumes' => Fog::Nullable::Array
78
- }
79
- }
80
- })
81
- LIST_TASK_DEFINITION_FAMILIES = BASIC.merge({
82
- 'ListTaskDefinitionFamiliesResult' => {
83
- 'families' => [String]
84
- }
85
- })
86
- CREATE_SERVICE = BASIC.merge({
87
- 'CreateServiceResult' => {
88
- 'service' => {
89
- 'events' => [Fog::Nullable::Hash],
90
- 'serviceName' => String,
91
- 'serviceArn' => String,
92
- 'taskDefinition' => String,
93
- 'clusterArn' => String,
94
- 'status' => String,
95
- 'roleArn' => Fog::Nullable::String,
96
- 'loadBalancers' => [Fog::Nullable::Hash],
97
- 'deployments' => [Fog::Nullable::Hash],
98
- 'desiredCount' => Integer,
99
- 'pendingCount' => Integer,
100
- 'runningCount' => Integer
101
- }
102
- }
103
- })
104
- DELETE_SERVICE = BASIC.merge({
105
- 'DeleteServiceResult' => {
106
- 'service' => {
107
- 'events' => [Fog::Nullable::Hash],
108
- 'serviceName' => String,
109
- 'serviceArn' => String,
110
- 'taskDefinition' => String,
111
- 'clusterArn' => String,
112
- 'status' => String,
113
- 'roleArn' => Fog::Nullable::String,
114
- 'loadBalancers' => [Fog::Nullable::Hash],
115
- 'deployments' => [Fog::Nullable::Hash],
116
- 'desiredCount' => Integer,
117
- 'pendingCount' => Integer,
118
- 'runningCount' => Integer
119
- }
120
- }
121
- })
122
- DESCRIBE_SERVICES = BASIC.merge({
123
- 'DescribeServicesResult' => {
124
- 'failures' => [Fog::Nullable::Hash],
125
- 'services' => [{
126
- 'events' => [Fog::Nullable::Hash],
127
- 'serviceName' => String,
128
- 'serviceArn' => String,
129
- 'taskDefinition' => String,
130
- 'clusterArn' => String,
131
- 'status' => String,
132
- 'roleArn' => Fog::Nullable::String,
133
- 'loadBalancers' => [Fog::Nullable::Hash],
134
- 'deployments' => [Fog::Nullable::Hash],
135
- 'desiredCount' => Integer,
136
- 'pendingCount' => Integer,
137
- 'runningCount' => Integer
138
- }]
139
- }
140
- })
141
- LIST_SERVICES = BASIC.merge({
142
- 'ListServicesResult' => {
143
- 'serviceArns' => [Fog::Nullable::String],
144
- 'nextToken' => Fog::Nullable::String
145
- }
146
- })
147
- UPDATE_SERVICE = BASIC.merge({
148
- 'UpdateServiceResult' => {
149
- 'service' => {
150
- 'events' => [Fog::Nullable::Hash],
151
- 'serviceName' => String,
152
- 'serviceArn' => String,
153
- 'taskDefinition' => String,
154
- 'clusterArn' => String,
155
- 'status' => String,
156
- 'roleArn' => Fog::Nullable::String,
157
- 'loadBalancers' => [Fog::Nullable::Hash],
158
- 'deployments' => [Fog::Nullable::Hash],
159
- 'desiredCount' => Integer,
160
- 'pendingCount' => Integer,
161
- 'runningCount' => Integer
162
- }
163
- }
164
- })
165
- LIST_CONTAINER_INSTANCES = BASIC.merge({
166
- 'ListContainerInstancesResult' => {
167
- 'containerInstanceArns' => [Fog::Nullable::String]
168
- }
169
- })
170
- DESCRIBE_CONTAINER_INSTANCES = BASIC.merge({
171
- 'DescribeContainerInstancesResult' => {
172
- 'containerInstances' => [{
173
- 'remainingResources' => [Hash],
174
- 'agentConnected' => Fog::Boolean,
175
- 'runningTasksCount' => Integer,
176
- 'status' => String,
177
- 'registeredResources' => [Hash],
178
- 'containerInstanceArn' => String,
179
- 'pendingTasksCount' => Integer,
180
- 'ec2InstanceId' => String
181
- }],
182
- 'failures' => [Fog::Nullable::Hash],
183
- }
184
- })
185
- DEREGISTER_CONTAINER_INSTANCE = BASIC.merge({
186
- 'DeregisterContainerInstanceResult' => {
187
- 'containerInstance' => {
188
- 'remainingResources' => [Hash],
189
- 'agentConnected' => Fog::Boolean,
190
- 'runningTasksCount' => Integer,
191
- 'status' => String,
192
- 'registeredResources' => [Hash],
193
- 'containerInstanceArn' => String,
194
- 'pendingTasksCount' => Integer,
195
- 'ec2InstanceId' => String
196
- }
197
- }
198
- })
199
- LIST_TASKS = BASIC.merge({
200
- 'ListTasksResult' => {
201
- 'taskArns' => [Fog::Nullable::String]
202
- }
203
- })
204
- DESCRIBE_TASKS = BASIC.merge({
205
- 'DescribeTasksResult' => {
206
- 'failures' => [Fog::Nullable::Hash],
207
- 'tasks' => [
208
- {
209
- 'clusterArn' => String,
210
- 'containers' => Array,
211
- 'overrides' => Fog::Nullable::Hash,
212
- 'startedBy' => Fog::Nullable::String,
213
- 'desiredStatus' => String,
214
- 'taskArn' => String,
215
- 'containerInstanceArn' => String,
216
- 'lastStatus' => String,
217
- 'taskDefinitionArn' => String
218
- }
219
- ]
220
- }
221
- })
222
- RUN_TASK = BASIC.merge({
223
- 'RunTaskResult' => {
224
- 'failures' => [Fog::Nullable::Hash],
225
- 'tasks' => [
226
- {
227
- 'clusterArn' => String,
228
- 'containers' => [Hash],
229
- 'overrides' => Fog::Nullable::Hash,
230
- 'desiredStatus' => String,
231
- 'taskArn' => String,
232
- 'containerInstanceArn' => String,
233
- 'lastStatus' => String,
234
- 'taskDefinitionArn' => String
235
- }
236
- ]
237
- }
238
- })
239
- STOP_TASK = BASIC.merge({
240
- 'StopTaskResult' => {
241
- 'task' => {
242
- 'clusterArn' => String,
243
- 'containers' => [Hash],
244
- 'overrides' => Fog::Nullable::Hash,
245
- 'desiredStatus' => String,
246
- 'taskArn' => String,
247
- 'startedBy' => Fog::Nullable::String,
248
- 'containerInstanceArn' => String,
249
- 'lastStatus' => String,
250
- 'taskDefinitionArn' => String
251
- }
252
- }
253
- })
254
- START_TASK = BASIC.merge({
255
- 'StartTaskResult' => {
256
- 'failures' => [Fog::Nullable::Hash],
257
- 'tasks' => [
258
- {
259
- 'clusterArn' => String,
260
- 'containers' => [Hash],
261
- 'overrides' => Fog::Nullable::Hash,
262
- 'desiredStatus' => String,
263
- 'taskArn' => String,
264
- 'containerInstanceArn' => String,
265
- 'lastStatus' => String,
266
- 'taskDefinitionArn' => String
267
- }
268
- ]
269
- }
270
- })
271
- end
272
- module Samples
273
- TASK_DEFINITION_1 = File.dirname(__FILE__) + '/sample_task_definition1.json'
274
- end
275
- end
276
- end
@@ -1,56 +0,0 @@
1
- {
2
- "family": "console-sample-app-static",
3
- "containerDefinitions": [
4
- {
5
- "name": "simple-app",
6
- "image": "httpd:2.4",
7
- "cpu": 10,
8
- "memory": 300,
9
- "environment": [],
10
- "portMappings": [
11
- {
12
- "hostPort": 80,
13
- "containerPort": 80
14
- }
15
- ],
16
- "volumesFrom": [],
17
- "links": [],
18
- "mountPoints": [
19
- {
20
- "sourceVolume": "my-vol",
21
- "containerPath": "/usr/local/apache2/htdocs"
22
- }
23
- ],
24
- "essential": true
25
- },
26
- {
27
- "name": "busybox",
28
- "image": "busybox",
29
- "cpu": 10,
30
- "memory": 200,
31
- "entryPoint": [
32
- "sh",
33
- "-c"
34
- ],
35
- "environment": [],
36
- "command": [
37
- "/bin/sh -c \"while true; do echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom; cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done\""
38
- ],
39
- "portMappings": [],
40
- "volumesFrom": [
41
- {
42
- "sourceContainer": "simple-app"
43
- }
44
- ],
45
- "links": [],
46
- "mountPoints": [],
47
- "essential": false
48
- }
49
- ],
50
- "volumes": [
51
- {
52
- "name": "my-vol",
53
- "host": {}
54
- }
55
- ]
56
- }
@@ -1,132 +0,0 @@
1
- Shindo.tests('AWS::ECS | service requests', ['aws', 'ecs']) do
2
-
3
- Fog::AWS[:ecs].reset_data
4
-
5
- cluster = 'arn:aws:ecs:us-east-1:994922842243:cluster/default'
6
- desired_count = 1
7
- role = 'arn:aws:iam::806753142346:role/ecsServiceRole'
8
- service_name = 'sample-webapp'
9
- task_definition = 'console-sample-app-static:18'
10
- load_balancers = [{
11
- 'containerName' => 'simple-app',
12
- 'containerPort' => 80,
13
- 'loadBalancerName' => 'ecsunittests-EcsElastic-OI09IAP3PVIP'
14
- }]
15
-
16
- tests('success') do
17
-
18
- tests("#list_services").formats(AWS::ECS::Formats::LIST_SERVICES) do
19
- result = Fog::AWS[:ecs].list_services('cluster' => cluster).body
20
- list_services_arns = result['ListServicesResult']['serviceArns']
21
- returns(true) { list_services_arns.empty? }
22
- result
23
- end
24
-
25
- tests("#create_service").formats(AWS::ECS::Formats::CREATE_SERVICE) do
26
- params = {
27
- 'cluster' => cluster,
28
- 'desiredCount' => desired_count,
29
- 'loadBalancers' => load_balancers,
30
- 'role' => role,
31
- 'serviceName' => service_name,
32
- 'taskDefinition' => task_definition
33
- }
34
- result = Fog::AWS[:ecs].create_service(params).body
35
- service = result['CreateServiceResult']['service']
36
- returns('sample-webapp') { service['serviceName'] }
37
- returns(false) { service['serviceArn'].match(/^arn:aws:ecs:.+:.+:service\/.+$/).nil? }
38
- result
39
- end
40
-
41
- tests("#list_services again").formats(AWS::ECS::Formats::LIST_SERVICES) do
42
- result = Fog::AWS[:ecs].list_services('cluster' => cluster).body
43
- list_services_arns = result['ListServicesResult']['serviceArns']
44
- returns(false) { list_services_arns.empty? }
45
- returns(true) { !list_services_arns.first.match(/#{service_name}/).nil? }
46
- result
47
- end
48
-
49
- tests("#describe_services").formats(AWS::ECS::Formats::DESCRIBE_SERVICES) do
50
- result1 = Fog::AWS[:ecs].list_services('cluster' => cluster).body
51
- service_arn = result1['ListServicesResult']['serviceArns'].first
52
- result2 = Fog::AWS[:ecs].describe_services(
53
- 'services' => service_arn,
54
- 'cluster' => cluster
55
- ).body
56
- returns(true) { result2['DescribeServicesResult']['services'].size.eql?(1) }
57
- service = result2['DescribeServicesResult']['services'].first
58
- returns(true) { service['serviceName'].eql?(service_name) }
59
- returns(true) { service['status'].eql?('ACTIVE') }
60
- returns(false) { service['deployments'].empty? }
61
- returns(true) { service['desiredCount'].eql?(desired_count) }
62
- result2
63
- end
64
-
65
- tests("#update_service").formats(AWS::ECS::Formats::UPDATE_SERVICE) do
66
- new_task_def = 'arn:aws:ecs:us-east-1:994922842243:task-definitions/foobar-app:32'
67
- result1 = Fog::AWS[:ecs].list_services('cluster' => cluster).body
68
- service_arn = result1['ListServicesResult']['serviceArns'].first
69
-
70
- result2 = Fog::AWS[:ecs].update_service(
71
- 'service' => service_arn,
72
- 'cluster' => cluster,
73
- 'taskDefinition' => new_task_def
74
- ).body
75
- service = result2['UpdateServiceResult']['service']
76
- returns(true) { service['serviceName'].eql?(service_name) }
77
- returns(true) { service['taskDefinition'].eql?(new_task_def) }
78
- result2
79
- end
80
-
81
-
82
- tests("#delete_service").formats(AWS::ECS::Formats::DELETE_SERVICE) do
83
- result1 = Fog::AWS[:ecs].list_services('cluster' => cluster).body
84
- service_arn = result1['ListServicesResult']['serviceArns'].first
85
-
86
- result2 = Fog::AWS[:ecs].delete_service(
87
- 'service' => service_arn,
88
- 'cluster' => cluster
89
- ).body
90
- service = result2['DeleteServiceResult']['service']
91
- returns(true) { service['serviceName'].eql?(service_name) }
92
- result2
93
- end
94
-
95
- tests("#list_services yet again").formats(AWS::ECS::Formats::LIST_SERVICES) do
96
- result = Fog::AWS[:ecs].list_services('cluster' => cluster).body
97
- list_services_arns = result['ListServicesResult']['serviceArns']
98
- returns(true) { list_services_arns.empty? }
99
- result
100
- end
101
-
102
- end
103
-
104
- tests('failures') do
105
-
106
- tests('#describe_services without params').raises(Fog::AWS::ECS::Error) do
107
- response = Fog::AWS[:ecs].describe_services.body
108
- end
109
-
110
- tests('#create_service without params').raises(Fog::AWS::ECS::Error) do
111
- response = Fog::AWS[:ecs].create_service.body
112
- end
113
-
114
- tests('#update_service without params').raises(Fog::AWS::ECS::Error) do
115
- response = Fog::AWS[:ecs].update_service.body
116
- end
117
-
118
- tests('#update_service nonexistent').raises(Fog::AWS::ECS::Error) do
119
- response = Fog::AWS[:ecs].update_service('service' => 'whatever2329').body
120
- end
121
-
122
- tests('#delete_service without params').raises(Fog::AWS::ECS::Error) do
123
- response = Fog::AWS[:ecs].delete_service.body
124
- end
125
-
126
- tests('#delete_service nonexistent').raises(Fog::AWS::ECS::Error) do
127
- response = Fog::AWS[:ecs].delete_service('service' => 'foobar787383').body
128
- end
129
-
130
- end
131
-
132
- end
@@ -1,97 +0,0 @@
1
- require 'fog/json'
2
-
3
- Shindo.tests('AWS::ECS | task definitions requests', ['aws', 'ecs']) do
4
-
5
- Fog::AWS[:ecs].reset_data
6
-
7
- tests('success') do
8
-
9
- tests("#list_task_definitions").formats(AWS::ECS::Formats::LIST_TASK_DEFINITIONS) do
10
- result = Fog::AWS[:ecs].list_task_definitions.body
11
- list_task_def_arns = result['ListTaskDefinitionsResult']['taskDefinitionArns']
12
- returns(true) { list_task_def_arns.empty? }
13
- result
14
- end
15
-
16
- tests("#register_task_definition").formats(AWS::ECS::Formats::REGISTER_TASK_DEFINITION) do
17
- task_def_params = Fog::JSON.decode(IO.read(AWS::ECS::Samples::TASK_DEFINITION_1))
18
- result = Fog::AWS[:ecs].register_task_definition(task_def_params).body
19
- task_def = result['RegisterTaskDefinitionResult']['taskDefinition']
20
- returns('console-sample-app-static') { task_def['family'] }
21
- returns(true) { task_def['revision'] > 0 }
22
- returns(false) { task_def['taskDefinitionArn'].match(/^arn:aws:ecs:.+:.+:task-definition\/.+:\d+$/).nil? }
23
- result
24
- end
25
-
26
- tests("#list_task_definition_families").formats(AWS::ECS::Formats::LIST_TASK_DEFINITION_FAMILIES) do
27
- result = Fog::AWS[:ecs].list_task_definition_families.body
28
- families = result['ListTaskDefinitionFamiliesResult']['families']
29
- returns(false) { families.empty? }
30
- returns(true) { families.include?('console-sample-app-static') }
31
- result
32
- end
33
-
34
- tests("#list_task_definitions again").formats(AWS::ECS::Formats::LIST_TASK_DEFINITIONS) do
35
- result = Fog::AWS[:ecs].list_task_definitions.body
36
- list_task_def_arns = result['ListTaskDefinitionsResult']['taskDefinitionArns']
37
- returns(true) { list_task_def_arns.size.eql?(1) }
38
- result
39
- end
40
-
41
- tests("#describe_task_definition").formats(AWS::ECS::Formats::DESCRIBE_TASK_DEFINITION) do
42
- result1 = Fog::AWS[:ecs].list_task_definitions.body
43
- task_def_arn = result1['ListTaskDefinitionsResult']['taskDefinitionArns'].first
44
- result2 = Fog::AWS[:ecs].describe_task_definition('taskDefinition' => task_def_arn).body
45
- task_def = result2['DescribeTaskDefinitionResult']['taskDefinition']
46
- returns(true) { task_def['taskDefinitionArn'].eql?(task_def_arn) }
47
- returns(true) { task_def['containerDefinitions'].size > 0 }
48
- result2
49
- end
50
-
51
- tests("#deregister_task_definition").formats(AWS::ECS::Formats::DEREGISTER_TASK_DEFINITION) do
52
- result1 = Fog::AWS[:ecs].list_task_definitions.body
53
- task_def_arn = result1['ListTaskDefinitionsResult']['taskDefinitionArns'].first
54
- result2 = Fog::AWS[:ecs].deregister_task_definition('taskDefinition' => task_def_arn).body
55
- task_def = result2['DeregisterTaskDefinitionResult']['taskDefinition']
56
- returns(true) { task_def['taskDefinitionArn'].eql?(task_def_arn) }
57
- result2
58
- end
59
-
60
- tests("#list_task_definitions yet again").formats(AWS::ECS::Formats::LIST_TASK_DEFINITIONS) do
61
- result = Fog::AWS[:ecs].list_task_definitions.body
62
- list_task_def_arns = result['ListTaskDefinitionsResult']['taskDefinitionArns']
63
- returns(true) { list_task_def_arns.empty? }
64
- result
65
- end
66
-
67
- tests("#list_task_definition_families again").formats(AWS::ECS::Formats::LIST_TASK_DEFINITION_FAMILIES) do
68
- result = Fog::AWS[:ecs].list_task_definition_families.body
69
- families = result['ListTaskDefinitionFamiliesResult']['families']
70
- returns(true) { families.empty? }
71
- returns(false) { families.include?('console-sample-app-static') }
72
- result
73
- end
74
-
75
- end
76
-
77
- tests('failures') do
78
-
79
- tests('#describe_task_definition without params').raises(Fog::AWS::ECS::Error) do
80
- response = Fog::AWS[:ecs].describe_task_definition.body
81
- end
82
-
83
- tests('#describe_task_definition nonexistent').raises(Fog::AWS::ECS::Error) do
84
- response = Fog::AWS[:ecs].describe_task_definition('taskDefinition' => 'foobar').body
85
- end
86
-
87
- tests('#deregister_task_definition without params').raises(Fog::AWS::ECS::Error) do
88
- response = Fog::AWS[:ecs].deregister_task_definition.body
89
- end
90
-
91
- tests('#deregister_task_definition nonexistent').raises(Fog::AWS::ECS::NotFound) do
92
- response = Fog::AWS[:ecs].deregister_task_definition('taskDefinition' => 'foobar:7873287283').body
93
- end
94
-
95
- end
96
-
97
- end