fog-aws 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fog/aws.rb +2 -0
- data/lib/fog/aws/ecs.rb +187 -0
- data/lib/fog/aws/models/compute/flavors.rb +10 -0
- data/lib/fog/aws/parsers/ecs/base.rb +28 -0
- data/lib/fog/aws/parsers/ecs/container_instance.rb +75 -0
- data/lib/fog/aws/parsers/ecs/create_cluster.rb +30 -0
- data/lib/fog/aws/parsers/ecs/create_service.rb +31 -0
- data/lib/fog/aws/parsers/ecs/delete_cluster.rb +30 -0
- data/lib/fog/aws/parsers/ecs/delete_service.rb +31 -0
- data/lib/fog/aws/parsers/ecs/deregister_container_instance.rb +31 -0
- data/lib/fog/aws/parsers/ecs/deregister_task_definition.rb +32 -0
- data/lib/fog/aws/parsers/ecs/describe_clusters.rb +55 -0
- data/lib/fog/aws/parsers/ecs/describe_container_instances.rb +38 -0
- data/lib/fog/aws/parsers/ecs/describe_services.rb +24 -0
- data/lib/fog/aws/parsers/ecs/describe_task_definition.rb +32 -0
- data/lib/fog/aws/parsers/ecs/describe_tasks.rb +24 -0
- data/lib/fog/aws/parsers/ecs/list_clusters.rb +27 -0
- data/lib/fog/aws/parsers/ecs/list_container_instances.rb +27 -0
- data/lib/fog/aws/parsers/ecs/list_services.rb +27 -0
- data/lib/fog/aws/parsers/ecs/list_task_definition_families.rb +27 -0
- data/lib/fog/aws/parsers/ecs/list_task_definitions.rb +27 -0
- data/lib/fog/aws/parsers/ecs/list_tasks.rb +27 -0
- data/lib/fog/aws/parsers/ecs/register_task_definition.rb +32 -0
- data/lib/fog/aws/parsers/ecs/run_task.rb +24 -0
- data/lib/fog/aws/parsers/ecs/service.rb +82 -0
- data/lib/fog/aws/parsers/ecs/start_task.rb +24 -0
- data/lib/fog/aws/parsers/ecs/stop_task.rb +23 -0
- data/lib/fog/aws/parsers/ecs/task.rb +77 -0
- data/lib/fog/aws/parsers/ecs/task_definition.rb +95 -0
- data/lib/fog/aws/parsers/ecs/update_service.rb +31 -0
- data/lib/fog/aws/requests/compute/create_vpc.rb +1 -1
- data/lib/fog/aws/requests/ecs/create_cluster.rb +64 -0
- data/lib/fog/aws/requests/ecs/create_service.rb +118 -0
- data/lib/fog/aws/requests/ecs/delete_cluster.rb +61 -0
- data/lib/fog/aws/requests/ecs/delete_service.rb +72 -0
- data/lib/fog/aws/requests/ecs/deregister_container_instance.rb +63 -0
- data/lib/fog/aws/requests/ecs/deregister_task_definition.rb +58 -0
- data/lib/fog/aws/requests/ecs/describe_clusters.rb +83 -0
- data/lib/fog/aws/requests/ecs/describe_container_instances.rb +64 -0
- data/lib/fog/aws/requests/ecs/describe_services.rb +76 -0
- data/lib/fog/aws/requests/ecs/describe_task_definition.rb +64 -0
- data/lib/fog/aws/requests/ecs/describe_tasks.rb +65 -0
- data/lib/fog/aws/requests/ecs/list_clusters.rb +45 -0
- data/lib/fog/aws/requests/ecs/list_container_instances.rb +46 -0
- data/lib/fog/aws/requests/ecs/list_services.rb +59 -0
- data/lib/fog/aws/requests/ecs/list_task_definition_families.rb +56 -0
- data/lib/fog/aws/requests/ecs/list_task_definitions.rb +55 -0
- data/lib/fog/aws/requests/ecs/list_tasks.rb +50 -0
- data/lib/fog/aws/requests/ecs/register_task_definition.rb +68 -0
- data/lib/fog/aws/requests/ecs/run_task.rb +114 -0
- data/lib/fog/aws/requests/ecs/start_task.rb +130 -0
- data/lib/fog/aws/requests/ecs/stop_task.rb +64 -0
- data/lib/fog/aws/requests/ecs/update_service.rb +81 -0
- data/lib/fog/aws/version.rb +1 -1
- data/tests/requests/compute/vpc_tests.rb +7 -0
- data/tests/requests/ecs/cluster_tests.rb +112 -0
- data/tests/requests/ecs/container_instance_tests.rb +119 -0
- data/tests/requests/ecs/helper.rb +276 -0
- data/tests/requests/ecs/sample_task_definition1.json +56 -0
- data/tests/requests/ecs/service_tests.rb +132 -0
- data/tests/requests/ecs/task_definitions_tests.rb +97 -0
- data/tests/requests/ecs/task_tests.rb +145 -0
- metadata +59 -2
data/lib/fog/aws/version.rb
CHANGED
@@ -52,6 +52,13 @@ Shindo.tests('Fog::Compute[:aws] | vpc requests', ['aws']) do
|
|
52
52
|
data
|
53
53
|
end
|
54
54
|
|
55
|
+
tests('#create_vpc').formats(@create_vpcs_format) do
|
56
|
+
data = Fog::Compute[:aws].create_vpc('10.255.254.0/28',
|
57
|
+
{'InstanceTenancy' => 'default'}).body
|
58
|
+
@vpc_id = data['vpcSet'].first['vpcId']
|
59
|
+
data
|
60
|
+
end
|
61
|
+
|
55
62
|
tests('#describe_vpcs').formats(@describe_vpcs_format) do
|
56
63
|
Fog::Compute[:aws].describe_vpcs.body
|
57
64
|
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
Shindo.tests('AWS::ECS | cluster requests', ['aws', 'ecs']) do
|
2
|
+
|
3
|
+
Fog::AWS[:ecs].reset_data
|
4
|
+
|
5
|
+
tests('success') do
|
6
|
+
|
7
|
+
tests("#create_cluster").formats(AWS::ECS::Formats::CREATE_CLUSTER) do
|
8
|
+
result = Fog::AWS[:ecs].create_cluster('clusterName' => 'cluster1').body
|
9
|
+
cluster = result['CreateClusterResult']['cluster']
|
10
|
+
returns('cluster1') { cluster['clusterName'] }
|
11
|
+
returns('ACTIVE') { cluster['status'] }
|
12
|
+
result
|
13
|
+
end
|
14
|
+
|
15
|
+
tests("#create_cluster another").formats(AWS::ECS::Formats::CREATE_CLUSTER) do
|
16
|
+
result = Fog::AWS[:ecs].create_cluster('clusterName' => 'foobar').body
|
17
|
+
cluster = result['CreateClusterResult']['cluster']
|
18
|
+
returns('foobar') { cluster['clusterName'] }
|
19
|
+
returns('ACTIVE') { cluster['status'] }
|
20
|
+
result
|
21
|
+
end
|
22
|
+
|
23
|
+
tests("#create_cluster without params").formats(AWS::ECS::Formats::CREATE_CLUSTER) do
|
24
|
+
result = Fog::AWS[:ecs].create_cluster.body
|
25
|
+
cluster = result['CreateClusterResult']['cluster']
|
26
|
+
returns('default') { cluster['clusterName'] }
|
27
|
+
result
|
28
|
+
end
|
29
|
+
|
30
|
+
tests("#list_clusters").formats(AWS::ECS::Formats::LIST_CLUSTERS) do
|
31
|
+
result = Fog::AWS[:ecs].list_clusters.body
|
32
|
+
clusters = result['ListClustersResult']['clusterArns']
|
33
|
+
returns(true) { clusters.size.eql?(3) }
|
34
|
+
result
|
35
|
+
end
|
36
|
+
|
37
|
+
tests("#describe_clusters with name").formats(AWS::ECS::Formats::DESCRIBE_CLUSTERS) do
|
38
|
+
result = Fog::AWS[:ecs].describe_clusters('clusters' => 'cluster1').body
|
39
|
+
clusters = result['DescribeClustersResult']['clusters']
|
40
|
+
failures = result['DescribeClustersResult']['failures']
|
41
|
+
returns(true) { clusters.size.eql?(1) }
|
42
|
+
returns('cluster1') { clusters.first['clusterName'] }
|
43
|
+
returns(true) { failures.empty? }
|
44
|
+
result
|
45
|
+
end
|
46
|
+
|
47
|
+
tests("#describe_clusters without params").formats(AWS::ECS::Formats::DESCRIBE_CLUSTERS) do
|
48
|
+
result = Fog::AWS[:ecs].describe_clusters.body
|
49
|
+
clusters = result['DescribeClustersResult']['clusters']
|
50
|
+
failures = result['DescribeClustersResult']['failures']
|
51
|
+
returns(true) { clusters.size.eql?(1) }
|
52
|
+
returns('default') { clusters.first['clusterName'] }
|
53
|
+
result
|
54
|
+
end
|
55
|
+
|
56
|
+
tests("#describe_clusters several with name").formats(AWS::ECS::Formats::DESCRIBE_CLUSTERS) do
|
57
|
+
result = Fog::AWS[:ecs].describe_clusters('clusters' => %w(cluster1 foobar)).body
|
58
|
+
clusters = result['DescribeClustersResult']['clusters']
|
59
|
+
cluster_names = clusters.map { |c| c['clusterName'] }.sort
|
60
|
+
returns(true) { clusters.size.eql?(2) }
|
61
|
+
returns('cluster1') { cluster_names.first }
|
62
|
+
returns('foobar') { cluster_names[1] }
|
63
|
+
result
|
64
|
+
end
|
65
|
+
|
66
|
+
tests("#describe_clusters with errors").formats(AWS::ECS::Formats::DESCRIBE_CLUSTERS) do
|
67
|
+
result = Fog::AWS[:ecs].describe_clusters('clusters' => %w(foobar not_here wtf)).body
|
68
|
+
clusters = result['DescribeClustersResult']['clusters']
|
69
|
+
failures = result['DescribeClustersResult']['failures']
|
70
|
+
returns(true) { failures.size.eql?(2) }
|
71
|
+
returns('MISSING') { failures.first['reason'] }
|
72
|
+
returns(true) { clusters.size.eql?(1) }
|
73
|
+
result
|
74
|
+
end
|
75
|
+
|
76
|
+
tests("#delete_cluster").formats(AWS::ECS::Formats::DELETE_CLUSTER) do
|
77
|
+
cluster_name = 'foobar'
|
78
|
+
result = Fog::AWS[:ecs].delete_cluster('cluster' => cluster_name).body
|
79
|
+
cluster = result['DeleteClusterResult']['cluster']
|
80
|
+
returns(true) { cluster['clusterName'].eql?(cluster_name) }
|
81
|
+
returns('INACTIVE') { cluster['status'] }
|
82
|
+
result
|
83
|
+
end
|
84
|
+
|
85
|
+
tests("#list_clusters after one delete").formats(AWS::ECS::Formats::LIST_CLUSTERS) do
|
86
|
+
result = Fog::AWS[:ecs].list_clusters.body
|
87
|
+
clusters = result['ListClustersResult']['clusterArns']
|
88
|
+
returns(true) { clusters.size.eql?(2) }
|
89
|
+
result
|
90
|
+
end
|
91
|
+
|
92
|
+
tests("#delete_cluster by arn").formats(AWS::ECS::Formats::DELETE_CLUSTER) do
|
93
|
+
result1 = Fog::AWS[:ecs].describe_clusters.body
|
94
|
+
cluster1 = result1['DescribeClustersResult']['clusters'].first
|
95
|
+
result2 = Fog::AWS[:ecs].delete_cluster('cluster' => cluster1['clusterArn']).body
|
96
|
+
cluster2 = result2['DeleteClusterResult']['cluster']
|
97
|
+
returns('default') { cluster2['clusterName'] }
|
98
|
+
returns('INACTIVE') { cluster2['status'] }
|
99
|
+
result2
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
tests('failures') do
|
105
|
+
|
106
|
+
tests('#delete_cluster without params').raises(Fog::AWS::ECS::Error) do
|
107
|
+
response = Fog::AWS[:ecs].delete_cluster.body
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
Shindo.tests('AWS::ECS | container instance requests', ['aws', 'ecs']) do
|
2
|
+
|
3
|
+
Fog::AWS[:ecs].reset_data
|
4
|
+
|
5
|
+
container_instance_arn = 'arn:aws:ecs:us-west-2:738152598183:container-instance/eff1068d-5fcb-4804-89f0-7d18ffc6879c'
|
6
|
+
ec2_instance_id = 'i-58f4b4ae'
|
7
|
+
|
8
|
+
Fog::AWS[:ecs].data[:container_instances] << {
|
9
|
+
'remainingResources' => [
|
10
|
+
{
|
11
|
+
'longValue' => 0,
|
12
|
+
'name' => 'CPU',
|
13
|
+
'integerValue' => 1004,
|
14
|
+
'doubleValue' => 0.0,
|
15
|
+
'type' => 'INTEGER'
|
16
|
+
},
|
17
|
+
{
|
18
|
+
'longValue' => 0,
|
19
|
+
'name' => 'MEMORY',
|
20
|
+
'integerValue' => 496,
|
21
|
+
'doubleValue' => 0.0,
|
22
|
+
'type' => 'INTEGER'
|
23
|
+
},
|
24
|
+
{
|
25
|
+
'stringSetValue' => [2376, 22, 80, 51678, 2375],
|
26
|
+
'longValue' => 0,
|
27
|
+
'name' => 'PORTS',
|
28
|
+
'integerValue' => 0,
|
29
|
+
'doubleValue' => 0.0,
|
30
|
+
'type' => 'STRINGSET'
|
31
|
+
}
|
32
|
+
],
|
33
|
+
'agentConnected' => true,
|
34
|
+
'runningTasksCount' => 1,
|
35
|
+
'status' => 'ACTIVE',
|
36
|
+
'registeredResources' => [
|
37
|
+
{
|
38
|
+
'longValue' => 0,
|
39
|
+
'name' => 'CPU',
|
40
|
+
'integerValue' => 1024,
|
41
|
+
'doubleValue' => 0.0,
|
42
|
+
'type' => 'INTEGER'
|
43
|
+
},
|
44
|
+
{
|
45
|
+
'longValue' => 0,
|
46
|
+
'name' => 'MEMORY',
|
47
|
+
'integerValue' => 996,
|
48
|
+
'doubleValue' => 0.0,
|
49
|
+
'type' => 'INTEGER'
|
50
|
+
},
|
51
|
+
{
|
52
|
+
'stringSetValue' => [2376, 22, 80, 51678, 2375],
|
53
|
+
'longValue' => 0,
|
54
|
+
'name' => 'PORTS',
|
55
|
+
'integerValue' => 0,
|
56
|
+
'doubleValue' => 0.0,
|
57
|
+
'type' => 'STRINGSET'
|
58
|
+
}
|
59
|
+
],
|
60
|
+
'containerInstanceArn' => container_instance_arn,
|
61
|
+
'pendingTasksCount' => 0,
|
62
|
+
'ec2InstanceId' => ec2_instance_id
|
63
|
+
}
|
64
|
+
|
65
|
+
tests('success') do
|
66
|
+
|
67
|
+
tests("#list_container_instances").formats(AWS::ECS::Formats::LIST_CONTAINER_INSTANCES) do
|
68
|
+
result = Fog::AWS[:ecs].list_container_instances.body
|
69
|
+
list_instances_arns = result['ListContainerInstancesResult']['containerInstanceArns']
|
70
|
+
returns(false) { list_instances_arns.empty? }
|
71
|
+
returns(true) { list_instances_arns.first.eql?(container_instance_arn) }
|
72
|
+
result
|
73
|
+
end
|
74
|
+
|
75
|
+
tests("#describe_container_instances").formats(AWS::ECS::Formats::DESCRIBE_CONTAINER_INSTANCES) do
|
76
|
+
result = Fog::AWS[:ecs].describe_container_instances('containerInstances' => container_instance_arn).body
|
77
|
+
instance = result['DescribeContainerInstancesResult']['containerInstances'].first
|
78
|
+
returns(true) { instance['containerInstanceArn'].eql?(container_instance_arn) }
|
79
|
+
returns(true) { instance['ec2InstanceId'].eql?(ec2_instance_id) }
|
80
|
+
returns(true) { instance['status'].eql?('ACTIVE') }
|
81
|
+
result
|
82
|
+
end
|
83
|
+
|
84
|
+
tests("#deregister_container_instance").formats(AWS::ECS::Formats::DEREGISTER_CONTAINER_INSTANCE) do
|
85
|
+
result = Fog::AWS[:ecs].deregister_container_instance('containerInstance' => container_instance_arn).body
|
86
|
+
instance = result['DeregisterContainerInstanceResult']['containerInstance']
|
87
|
+
returns(true) { instance['containerInstanceArn'].eql?(container_instance_arn) }
|
88
|
+
returns(true) { instance['ec2InstanceId'].eql?(ec2_instance_id) }
|
89
|
+
returns(true) { instance['pendingTasksCount'].eql?(0) }
|
90
|
+
result
|
91
|
+
end
|
92
|
+
|
93
|
+
tests("#list_container_instances again").formats(AWS::ECS::Formats::LIST_CONTAINER_INSTANCES) do
|
94
|
+
result = Fog::AWS[:ecs].list_container_instances.body
|
95
|
+
list_instances_arns = result['ListContainerInstancesResult']['containerInstanceArns']
|
96
|
+
returns(true) { list_instances_arns.empty? }
|
97
|
+
result
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
tests('failures') do
|
103
|
+
|
104
|
+
tests('#describe_container_instances without params').raises(Fog::AWS::ECS::Error) do
|
105
|
+
response = Fog::AWS[:ecs].describe_container_instances.body
|
106
|
+
end
|
107
|
+
|
108
|
+
tests('#deregister_container_instance without params').raises(Fog::AWS::ECS::Error) do
|
109
|
+
response = Fog::AWS[:ecs].deregister_container_instance.body
|
110
|
+
end
|
111
|
+
|
112
|
+
tests('#deregister_container_instance nonexistent').raises(Fog::AWS::ECS::Error) do
|
113
|
+
instance_uuid = 'ffffffff-ffff-0000-ffff-deadbeefff'
|
114
|
+
response = Fog::AWS[:ecs].deregister_container_instance('containerInstance' => instance_uuid).body
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
@@ -0,0 +1,276 @@
|
|
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
|