Skip to content

Commit 5ea1e54

Browse files
committed
Option to indicate whether the config render should use Jinja
1 parent 6f8e08f commit 5ea1e54

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

ecs_files_composer/cli.py

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ def main():
6060
required=False,
6161
default=False,
6262
)
63+
parser.add_argument(
64+
"--with-jinja2",
65+
help="Whether the source config should be rendered with Jinja2",
66+
action="store_true",
67+
required=False,
68+
default=False,
69+
)
6370
parser.add_argument("_", nargs="*")
6471
args = parser.parse_args()
6572
print("Arguments: " + str(args._))
@@ -68,21 +75,39 @@ def main():
6875
) and environ.get("ECS_CONFIG_CONTENT", None):
6976
LOG.info("Using default env variable ECS_CONFIG_CONTENT")
7077
config = init_config(
71-
env_var="ECS_CONFIG_CONTENT", decode_base64=args.decode_base64
78+
env_var="ECS_CONFIG_CONTENT",
79+
decode_base64=bool(environ.get("DECODE_BASE64", False)),
80+
with_jinja=bool(environ.get("WITH_JINJA", False)),
7281
)
7382
elif args.env_var:
74-
config = init_config(env_var=args.env_var, decode_base64=args.decode_base64)
83+
config = init_config(
84+
env_var=args.env_var,
85+
decode_base64=args.decode_base64,
86+
with_jinja=args.with_jinja,
87+
)
7588
elif args.file_path:
76-
config = init_config(file_path=args.file_path, decode_base64=args.decode_base64)
89+
config = init_config(
90+
file_path=args.file_path,
91+
decode_base64=args.decode_base64,
92+
with_jinja=args.with_jinja,
93+
)
7794
elif args.ssm_config:
7895
config = init_config(
79-
ssm_parameter=args.ssm_config, decode_base64=args.decode_base64
96+
ssm_parameter=args.ssm_config,
97+
decode_base64=args.decode_base64,
98+
with_jinja=args.with_jinja,
8099
)
81100
elif args.s3_config:
82-
config = init_config(s3_config=args.s3_config, decode_base64=args.decode_base64)
101+
config = init_config(
102+
s3_config=args.s3_config,
103+
decode_base64=args.decode_base64,
104+
with_jinja=args.with_jinja,
105+
)
83106
elif args.secret_config:
84107
config = init_config(
85-
secret_config=args.secret_config, decode_base64=args.decode_base64
108+
secret_config=args.secret_config,
109+
decode_base64=args.decode_base64,
110+
with_jinja=args.with_jinja,
86111
)
87112
else:
88113
raise parser.error(

ecs_files_composer/ecs_files_composer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def init_config(
2929
role_arn=None,
3030
external_id=None,
3131
decode_base64=False,
32+
with_jinja=False,
3233
):
3334
"""
3435
Function to initialize the configuration
@@ -93,7 +94,8 @@ def init_config(
9394
}
9495
if decode_base64:
9596
initial_config["encoding"] = "base64"
96-
# initial_config["context"] = "jinja2"
97+
if with_jinja:
98+
initial_config["context"] = "jinja2"
9799
start_jobs(jobs_input_def)
98100
with open(config_path, "r") as config_fd:
99101
try:

0 commit comments

Comments
 (0)