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
@@ -0,0 +1,64 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/describe_task_definition'
|
6
|
+
|
7
|
+
# Describes a task definition
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskDefinition.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * taskDefinition <~String> - The family for the latest revision, family and revision (family:revision) for a specific revision in the family, or full Amazon Resource Name (ARN) of the task definition that you want to describe.
|
11
|
+
# ==== Returns
|
12
|
+
# * response<~Excon::Response>:
|
13
|
+
# * body<~Hash>:
|
14
|
+
# * 'taskDefinition' <~Hash> - full task definition description
|
15
|
+
def describe_task_definition(params={})
|
16
|
+
request({
|
17
|
+
'Action' => 'DescribeTaskDefinition',
|
18
|
+
:parser => Fog::Parsers::AWS::ECS::DescribeTaskDefinition.new
|
19
|
+
}.merge(params))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class Mock
|
24
|
+
def describe_task_definition(params={})
|
25
|
+
response = Excon::Response.new
|
26
|
+
response.status = 200
|
27
|
+
|
28
|
+
taskdef_error = "ClientException => Task Definition can not be blank."
|
29
|
+
raise Fog::AWS::ECS::Error, taskdef_error unless params['taskDefinition']
|
30
|
+
|
31
|
+
task_def_name = params['taskDefinition']
|
32
|
+
|
33
|
+
case task_def_name
|
34
|
+
when /^arn:aws:ecs:.+:\d{1,12}:task-definition\/(.+:.+)$/
|
35
|
+
result = self.data[:task_definitions].select { |t| t['taskDefinitionArn'].eql?(task_def_name) }
|
36
|
+
when /^(.+:.+)$/
|
37
|
+
result = self.data[:task_definitions].select { |t| t['taskDefinitionArn'].match(/task-definition\/#{task_def_name}/) }
|
38
|
+
else
|
39
|
+
result = self.data[:task_definitions].select { |t| t['family'].eql?(task_def_name) }
|
40
|
+
if !result.empty?
|
41
|
+
result = [] << (result.max_by { |t| t['revision'] })
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
if result.empty?
|
46
|
+
raise Fog::AWS::ECS::Error, 'ClientException => Unable to describe task definition.'
|
47
|
+
end
|
48
|
+
|
49
|
+
task_definition = result.first
|
50
|
+
|
51
|
+
response.body = {
|
52
|
+
'DescribeTaskDefinitionResult' => {
|
53
|
+
'taskDefinition' => task_definition
|
54
|
+
},
|
55
|
+
'ResponseMetadata' => {
|
56
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
57
|
+
}
|
58
|
+
}
|
59
|
+
response
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/describe_tasks'
|
6
|
+
|
7
|
+
# Describes a specified task or tasks.
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * cluster <~String> - short name or full Amazon Resource Name (ARN) of the cluster that hosts the task you want to describe
|
11
|
+
# * tasks <~Array> - space-separated list of task UUIDs or full Amazon Resource Name (ARN) entries
|
12
|
+
# ==== Returns
|
13
|
+
# * response<~Excon::Response>:
|
14
|
+
# * body<~Hash>:
|
15
|
+
# * 'tasks' <~Array> - The list of tasks
|
16
|
+
# * 'failures' <~Array> - The list of failures (if any)
|
17
|
+
def describe_tasks(params={})
|
18
|
+
if tasks = params.delete('tasks')
|
19
|
+
params.merge!(Fog::AWS.indexed_param('tasks.member', [*tasks]))
|
20
|
+
end
|
21
|
+
|
22
|
+
request({
|
23
|
+
'Action' => 'DescribeTasks',
|
24
|
+
:parser => Fog::Parsers::AWS::ECS::DescribeTasks.new
|
25
|
+
}.merge(params))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class Mock
|
30
|
+
def describe_tasks(params={})
|
31
|
+
response = Excon::Response.new
|
32
|
+
response.status = 200
|
33
|
+
|
34
|
+
unless tasks = params.delete('tasks')
|
35
|
+
msg = 'InvalidParameterException => Tasks cannot be empty.'
|
36
|
+
raise Fog::AWS::ECS::Error, msg
|
37
|
+
end
|
38
|
+
|
39
|
+
cluster = params.delete('cluster') || 'default'
|
40
|
+
|
41
|
+
result = []
|
42
|
+
[*tasks].each do |tid|
|
43
|
+
if match = tid.match(/^arn:aws:ecs:.+:\d{1,12}:task\/(.+)$/)
|
44
|
+
result = self.data[:tasks].select { |t| t['taskArn'].eql?(tid) }
|
45
|
+
else
|
46
|
+
result = self.data[:tasks].select { |t| t['taskArn'].match(/#{tid}$/) }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
tasks = result
|
51
|
+
response.body = {
|
52
|
+
'DescribeTasksResult' => {
|
53
|
+
'failures' => [],
|
54
|
+
'tasks' => tasks
|
55
|
+
},
|
56
|
+
'ResponseMetadata' => {
|
57
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
58
|
+
}
|
59
|
+
}
|
60
|
+
response
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_clusters'
|
6
|
+
|
7
|
+
# Returns a list of existing clusters
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListClusters.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * maxResults <~Integer> - The maximum number of cluster results returned by ListClusters in paginated output.
|
11
|
+
# * nextToken <~String> - The nextToken value returned from a previous paginated ListClusters request where maxResults was used.
|
12
|
+
# ==== Returns
|
13
|
+
# * response<~Excon::Response>:
|
14
|
+
# * body<~Hash>:
|
15
|
+
# * 'ClusterArns' <~Array> - list of full Amazon Resource Name (ARN) entries for each cluster associated with your account.
|
16
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListClusters request.
|
17
|
+
def list_clusters(params={})
|
18
|
+
request({
|
19
|
+
'Action' => 'ListClusters',
|
20
|
+
:parser => Fog::Parsers::AWS::ECS::ListClusters.new
|
21
|
+
}.merge(params))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class Mock
|
26
|
+
def list_clusters(params={})
|
27
|
+
response = Excon::Response.new
|
28
|
+
response.status = 200
|
29
|
+
|
30
|
+
cluster_arns = self.data[:clusters].map { |c| c['clusterArn'] }
|
31
|
+
|
32
|
+
response.body = {
|
33
|
+
'ListClustersResult' => {
|
34
|
+
'clusterArns' => cluster_arns
|
35
|
+
},
|
36
|
+
'ResponseMetadata' => {
|
37
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
38
|
+
}
|
39
|
+
}
|
40
|
+
response
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_container_instances'
|
6
|
+
|
7
|
+
# Returns a list of container instances in a specified cluster.
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListContainerInstances.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * cluster <~String> - short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances you want to list.
|
11
|
+
# * maxResults <~Integer> - maximum number of container instance results returned by ListContainerInstances in paginated output.
|
12
|
+
# * nextToken <~String> - nextToken value returned from a previous paginated ListContainerInstances request where maxResults was used.
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
# * body<~Hash>:
|
16
|
+
# * 'ContainerInstanceArns' <~Array> - list of container instance full ARN entries for each container instance associated with the specified cluster.
|
17
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListContainerInstances request.
|
18
|
+
def list_container_instances(params={})
|
19
|
+
request({
|
20
|
+
'Action' => 'ListContainerInstances',
|
21
|
+
:parser => Fog::Parsers::AWS::ECS::ListContainerInstances.new
|
22
|
+
}.merge(params))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Mock
|
27
|
+
def list_container_instances(params={})
|
28
|
+
response = Excon::Response.new
|
29
|
+
response.status = 200
|
30
|
+
|
31
|
+
instance_arns = self.data[:container_instances].map { |i| i['containerInstanceArn'] }
|
32
|
+
|
33
|
+
response.body = {
|
34
|
+
'ListContainerInstancesResult' => {
|
35
|
+
'containerInstanceArns' => instance_arns
|
36
|
+
},
|
37
|
+
'ResponseMetadata' => {
|
38
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
39
|
+
}
|
40
|
+
}
|
41
|
+
response
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_services'
|
6
|
+
|
7
|
+
# Lists the services that are running in a specified cluster.
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListServices.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * cluster <~String> - The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services you want to list.
|
11
|
+
# * maxResults <~Integer> - The maximum number of container instance results returned by ListServices in paginated output.
|
12
|
+
# * nextToken <~String> - The nextToken value returned from a previous paginated ListServices request where maxResults was used.
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
# * body<~Hash>:
|
16
|
+
# * 'ServiceArns' <~Array> - list of full Amazon Resource Name (ARN) entries for each service associated with the specified cluster.
|
17
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListServices request.
|
18
|
+
def list_services(params={})
|
19
|
+
request({
|
20
|
+
'Action' => 'ListServices',
|
21
|
+
:parser => Fog::Parsers::AWS::ECS::ListServices.new
|
22
|
+
}.merge(params))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Mock
|
27
|
+
def list_services(params={})
|
28
|
+
response = Excon::Response.new
|
29
|
+
response.status = 200
|
30
|
+
|
31
|
+
owner_id = Fog::AWS::Mock.owner_id
|
32
|
+
|
33
|
+
cluster = params.delete('cluster') || 'default'
|
34
|
+
if !cluster.match(/^arn:aws:ecs:.+:.+:cluster\/(.+)$/)
|
35
|
+
cluster_path = "cluster/#{cluster}"
|
36
|
+
cluster_arn = Fog::AWS::Mock.arn('ecs', owner_id, cluster_path, region)
|
37
|
+
else
|
38
|
+
cluster_arn = cluster
|
39
|
+
end
|
40
|
+
|
41
|
+
result = self.data[:services].select do |s|
|
42
|
+
s['clusterArn'].eql?(cluster_arn)
|
43
|
+
end
|
44
|
+
service_arns = result.map { |s| s['serviceArn'] }
|
45
|
+
|
46
|
+
response.body = {
|
47
|
+
'ListServicesResult' => {
|
48
|
+
'serviceArns' => service_arns
|
49
|
+
},
|
50
|
+
'ResponseMetadata' => {
|
51
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
52
|
+
}
|
53
|
+
}
|
54
|
+
response
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_task_definition_families'
|
6
|
+
|
7
|
+
# Returns a list of task definition families that are registered to your account.
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitionFamilies.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * familyPrefix <~String> - familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies.
|
11
|
+
# * maxResults <~Integer> - maximum number of task definition family results returned by ListTaskDefinitionFamilies in paginated output.
|
12
|
+
# * nextToken <~String> - nextToken value returned from a previous paginated ListTaskDefinitionFamilies request where maxResults was used.
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
# * body<~Hash>:
|
16
|
+
# * 'Families' <~Array> - list of task definition family names that match the ListTaskDefinitionFamilies request.
|
17
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListTaskDefinitionFamilies request.
|
18
|
+
def list_task_definition_families(params={})
|
19
|
+
request({
|
20
|
+
'Action' => 'ListTaskDefinitionFamilies',
|
21
|
+
:parser => Fog::Parsers::AWS::ECS::ListTaskDefinitionFamilies.new
|
22
|
+
}.merge(params))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Mock
|
27
|
+
def list_task_definition_families(params={})
|
28
|
+
response = Excon::Response.new
|
29
|
+
response.status = 200
|
30
|
+
|
31
|
+
family_prefix = params['familyPrefix']
|
32
|
+
|
33
|
+
if family_prefix
|
34
|
+
result = self.data[:task_definitions].select do |t|
|
35
|
+
t['family'].match(/^#{family_prefix}/)
|
36
|
+
end
|
37
|
+
else
|
38
|
+
result = self.data[:task_definitions].dup
|
39
|
+
end
|
40
|
+
result.map! { |t| t['family'] }
|
41
|
+
result.uniq!
|
42
|
+
|
43
|
+
response.body = {
|
44
|
+
'ListTaskDefinitionFamiliesResult' => {
|
45
|
+
'families' => result
|
46
|
+
},
|
47
|
+
'ResponseMetadata' => {
|
48
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
49
|
+
}
|
50
|
+
}
|
51
|
+
response
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_task_definitions'
|
6
|
+
|
7
|
+
# Returns a list of task definitions that are registered to your account
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitions.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * familyPrefix <~String> - The full family name that you want to filter the ListTaskDefinitions results with.
|
11
|
+
# * maxResults <~Integer> - The maximum number of task definition results returned by ListTaskDefinitions in paginated output.
|
12
|
+
# * nextToken <~String> - The nextToken value returned from a previous paginated ListTaskDefinitions request.
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
# * body<~Hash>:
|
16
|
+
# * 'TaskDefinitionArns' <~Array> - list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefintions request.
|
17
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListTaskDefinitions request
|
18
|
+
def list_task_definitions(params={})
|
19
|
+
request({
|
20
|
+
'Action' => 'ListTaskDefinitions',
|
21
|
+
:parser => Fog::Parsers::AWS::ECS::ListTaskDefinitions.new
|
22
|
+
}.merge(params))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Mock
|
27
|
+
def list_task_definitions(params={})
|
28
|
+
if %w(
|
29
|
+
familyPrefix
|
30
|
+
maxResults
|
31
|
+
nextToken
|
32
|
+
).any? { |k| params.has_key?(k) }
|
33
|
+
Fog::Logger.warning("list_task_definitions filters are not yet mocked [light_black](#{caller.first})[/]")
|
34
|
+
Fog::Mock.not_implemented
|
35
|
+
end
|
36
|
+
|
37
|
+
response = Excon::Response.new
|
38
|
+
response.status = 200
|
39
|
+
|
40
|
+
taskdef_arns = self.data[:task_definitions].map { |c| c['taskDefinitionArn'] }
|
41
|
+
|
42
|
+
response.body = {
|
43
|
+
'ListTaskDefinitionsResult' => {
|
44
|
+
'taskDefinitionArns' => taskdef_arns
|
45
|
+
},
|
46
|
+
'ResponseMetadata' => {
|
47
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
48
|
+
}
|
49
|
+
}
|
50
|
+
response
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class ECS
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/ecs/list_tasks'
|
6
|
+
|
7
|
+
# Returns a list of tasks for a specified cluster.
|
8
|
+
# http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html
|
9
|
+
# ==== Parameters
|
10
|
+
# * cluster <~String> - short name or full Amazon Resource Name (ARN) of the cluster that hosts the tasks you want to list.
|
11
|
+
# * containerInstance <~String> - container instance UUID or full Amazon Resource Name (ARN) of the container instance that you want to filter the ListTasks results with.
|
12
|
+
# * family <~String> - name of the family that you want to filter the ListTasks results with.
|
13
|
+
# * maxResults <~Integer> - maximum number of task results returned by ListTasks in paginated output.
|
14
|
+
# * nextToken <~String> - nextToken value returned from a previous paginated ListTasks request where maxResults was used.
|
15
|
+
# * serviceName <~String> - name of the service that you want to filter the ListTasks results with.
|
16
|
+
# * startedBy <~String> - startedBy value that you want to filter the task results with.
|
17
|
+
# ==== Returns
|
18
|
+
# * response<~Excon::Response>:
|
19
|
+
# * body<~Hash>:
|
20
|
+
# * 'TaskArns' <~Array> - list of task Amazon Resource Name (ARN) entries for the ListTasks request.
|
21
|
+
# * 'NextToken' <~String> - nextToken value to include in a future ListTasks request.
|
22
|
+
def list_tasks(params={})
|
23
|
+
request({
|
24
|
+
'Action' => 'ListTasks',
|
25
|
+
:parser => Fog::Parsers::AWS::ECS::ListTasks.new
|
26
|
+
}.merge(params))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Mock
|
31
|
+
def list_tasks(params={})
|
32
|
+
response = Excon::Response.new
|
33
|
+
response.status = 200
|
34
|
+
|
35
|
+
task_arns = self.data[:tasks].map { |t| t['taskArn'] }
|
36
|
+
|
37
|
+
response.body = {
|
38
|
+
'ListTasksResult' => {
|
39
|
+
'taskArns' => task_arns
|
40
|
+
},
|
41
|
+
'ResponseMetadata' => {
|
42
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
43
|
+
}
|
44
|
+
}
|
45
|
+
response
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|