Skip to content

Commit 5881ac8

Browse files
authored
Merge pull request #64 from Komalis/feat/add-security-group-arg
feat: add security group as argument
2 parents a9563c0 + 447d0c3 commit 5881ac8

File tree

4 files changed

+25
-6
lines changed

4 files changed

+25
-6
lines changed

easyecs/cloudformation/template/__init__.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ def create_template(
4141
ecs_cluster = create_ecs_cluster(stack, service_name, vpc)
4242
log_group = create_log_group(stack, service_name)
4343
sg = create_security_group(
44-
stack, service_name, vpc, ecs_manifest, lb_security_group
44+
stack,
45+
service_name,
46+
vpc,
47+
ecs_manifest,
48+
lb_security_group,
49+
ecs_manifest.security_group_id,
4550
)
4651
task_definition = create_task_definition(
4752
stack,
@@ -300,11 +305,25 @@ def create_log_group(stack, service_name):
300305
return LogGroup(stack, log_group_name)
301306

302307

303-
def create_security_group(stack, service_name, vpc, ecs_manifest, lb_security_group):
308+
def create_security_group(
309+
stack,
310+
service_name,
311+
vpc,
312+
ecs_manifest,
313+
lb_security_group,
314+
security_group_id: str = None,
315+
):
304316
from aws_cdk.aws_ec2 import ISecurityGroup, SecurityGroup, Port
305317

306318
sg_name = f"{service_name}-sg"
307-
sg: ISecurityGroup = SecurityGroup(stack, sg_name, vpc=vpc, allow_all_outbound=True)
319+
if security_group_id:
320+
sg = SecurityGroup.from_security_group_id(
321+
stack, sg_name, security_group_id=security_group_id, mutable=False
322+
)
323+
else:
324+
sg: ISecurityGroup = SecurityGroup(
325+
stack, sg_name, vpc=vpc, allow_all_outbound=True
326+
)
308327
if ecs_manifest.load_balancer:
309328
sg.add_ingress_rule(
310329
peer=lb_security_group,

easyecs/cloudformation/template/task_definition.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ def extract_secrets(stack, secret_definitions, container_name):
183183
raise ValueError(f"Invalid ARN format: {secret_definition.valueFrom}")
184184
secret_complete_arn = arn_fields[0].groupdict()["secret_complete_arn"]
185185
field = arn_fields[0].groupdict()["field"]
186-
print(secret_definition.valueFrom)
187186
secret_name = secret_definition.name
188187
secret = Secret.from_secret_complete_arn(
189188
stack, f"{secret_name}_{container_name}", secret_complete_arn

easyecs/model/ecs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class EcsFileContainerModel(BaseModel):
112112
volumes: List[str] = []
113113
healthcheck: Optional[EcsFileContainerHealthCheckModel] = None
114114
depends_on: Optional[Dict[str, Dict[str, str]]] = None
115-
ports: Optional[List[str]] = None
115+
ports: Optional[List[str]] = []
116116

117117
@field_validator("volumes")
118118
def validate_volumes(cls, volumes):
@@ -212,3 +212,4 @@ class EcsFileModel(BaseModel):
212212
execution_role: EcsFileRoleModel
213213
task_definition: EcsTaskDefinitionModel
214214
load_balancer: Optional[EcsLoadBalancerModel] = None
215+
security_group_id: Optional[str] = None

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "easyecs"
3-
version = "0.19.0"
3+
version = "0.20.0"
44
description = ""
55
authors = ["BONVARLET Benjamin <benjaminbonvarlet96@gmail.com>"]
66
readme = "README.md"

0 commit comments

Comments
 (0)