/
ecs-list-task-definitions.js
106 lines (73 loc) · 2.25 KB
/
ecs-list-task-definitions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
module.exports = {
friendlyName: 'List ECS task definitions',
description: 'Return a list of task definitions that are registered to your account.',
extendedDescription: '',
inputs: {
accessKeyId: {
description: 'AWS IAM user access key id.',
example: 'akid',
required: true
},
secretAccessKey: {
description: 'AWS IAM user secret access key',
example: 'secret',
required: true
},
region: {
description: 'Which region to use. Defaults to us-west-2',
example: 'us-west-2'
},
apiVersion: {
description: 'Which api version to use. Defaults to: latest',
example: '2014-11-13'
},
familyPrefix: {
description: 'The full family name that you want to filter the ListTaskDefinitions results with.',
example: 'aFamily'
},
nextToken: {
description: 'The nextToken value returned from a previous paginated ListTaskDefinitions request where maxResults was used and the results exceeded the value of that parameter.',
example: 'aTokenValue'
},
maxResults: {
description: 'The maximum number of task definition results returned by ListTaskDefinitions in paginated output.',
example: 100
}
},
defaultExit: 'success',
exits: {
error: {
description: 'Unexpected error occurred.',
},
success: {
description: 'Done.',
example: {
taskDefinitionArns: [
'arn:aws:ecs:us-west-2:573433844230:task-definition/taskName:1'
]
}
},
},
fn: function (inputs,exits) {
// Dependencies
var AWS = require('aws-sdk');
var config = {
accessKeyId: inputs.accessKeyId,
secretAccessKey: inputs.secretAccessKey,
region: inputs.region || 'us-west-2',
apiVersion: inputs.apiVersion || 'latest'
};
// Construct the ECS Service
var ecs = new AWS.ECS(config);
var params = {};
if(inputs.familyPrefix) params.familyPrefix = inputs.familyPrefix;
if(inputs.nextToken) params.nextToken = inputs.nextToken;
if(inputs.maxResults) params.maxResults = inputs.maxResults;
ecs.listTaskDefinitions(params, function(err, data) {
if(err) {
return exits.error(err);
}
exits.success(data);
});
}
};