Skip to content

Commit bee86e7

Browse files
authored
Merge pull request #25 from DNXLabs/add-register-task-definition
Add register task definition single action for cronjobs
2 parents 7de7e79 + ccd58e6 commit bee86e7

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/register-task-definition.py

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/usr/bin/env python3
2+
3+
import json
4+
import os
5+
from utils import validate_envs, json_template
6+
from ecs import EcsClient
7+
8+
# ----- Check variables -----
9+
print('Step 1: Checking environment variables \n')
10+
11+
req_vars = [
12+
'CLUSTER_NAME',
13+
'APP_NAME',
14+
'AWS_DEFAULT_REGION'
15+
]
16+
17+
try:
18+
validate_envs(req_vars)
19+
except:
20+
exit(1)
21+
22+
cluster_name = os.getenv('CLUSTER_NAME')
23+
app_name = os.getenv('APP_NAME')
24+
aws_default_region = os.getenv('AWS_DEFAULT_REGION')
25+
task_def_file_name = os.getenv('TPL_FILE_NAME', 'task-definition.tpl.json')
26+
27+
# ----- Create task definition file -----
28+
print('Step 2: Replace variables inside of %s \n' % task_def_file_name)
29+
30+
try:
31+
task_definition = json_template(task_def_file_name)
32+
except:
33+
exit(1)
34+
35+
print('Task definition file: \n%s' % task_definition)
36+
task_def = json.loads(task_definition)
37+
38+
# ----- Register task definition file -----
39+
print('Step 3: Registering task definition')
40+
task = EcsClient()
41+
42+
try:
43+
task.register_task_definition(task_def)
44+
print('Task definition arn: %s \n' % task.taskDefArn)
45+
except Exception as err:
46+
print('Register task definition issue: %s' % err)
47+
exit(1)

0 commit comments

Comments
 (0)