Skip to content

Commit d14b988

Browse files
authored
Merge pull request #164 from devopshobbies/dev
feat(terraform-templates): implementing aws-alb route
2 parents a1d692a + 7aa6583 commit d14b988

File tree

4 files changed

+31
-34
lines changed

4 files changed

+31
-34
lines changed

app/media/terraform.tfvars

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,2 @@
1-
2-
argocd_instance_info = {
3-
server_addr = "http://argocd.local"
4-
username = "username"
5-
password = "password"
6-
insecure = true
7-
}
8-
9-
10-
repository_create = true
11-
argocd_repository_info = {
12-
repo = "https://your_repo.git"
13-
username = "username"
14-
password = "token"
15-
}
16-
17-
18-
application_create = false
19-
argocd_application = {
20-
name = "myapp"
21-
destination_server = "https://kubernetes.default.svc"
22-
destination_namespace = "default"
23-
source_repo_url = "https://your_repo.git"
24-
source_path = "myapp/manifests"
25-
source_target_revision = "master"
26-
}
27-
28-
29-
argocd_sync_options = ["CreateNamespace=true", "ApplyOutOfSyncOnly=true", "FailOnSharedResource=true"]
30-
31-
auto_prune = false
32-
self_heal = false
1+
alb_create = true
2+
create_security_group = true

app/models/terraform_models.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,8 @@ class IaCTemplateGenerationEFS(BaseModel):
9898
efs_file_system:bool = True
9999
efs_mount_target:bool = True
100100
efs_backup_policy:bool = True
101-
101+
102+
class IaCTemplateGenerationALB(BaseModel):
103+
104+
alb_resources:bool = True
105+
security_group:bool = True

app/routes/terraform.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
IaCTemplateGenerationIAM,
1515
IaCTemplateGenerationArgoCD,
1616
IaCTemplateGenerationELB,
17-
IaCTemplateGenerationEFS
17+
IaCTemplateGenerationEFS,
18+
IaCTemplateGenerationALB
1819
)
1920

2021
from fastapi import Response
@@ -30,6 +31,7 @@
3031
from app.template_generators.terraform.argocd import (IaC_template_generator_argocd)
3132
from app.template_generators.terraform.aws.ELB import (IaC_template_generator_elb)
3233
from app.template_generators.terraform.aws.EFS import (IaC_template_generator_efs)
34+
from app.template_generators.terraform.aws.ALB import (IaC_template_generator_alb)
3335
from app.template_generators.terraform.Installation.main import (select_install)
3436
import os
3537

@@ -141,3 +143,15 @@ async def IaC_template_generation_aws_efs(request:IaCTemplateGenerationEFS) -> O
141143

142144
return FileResponse(dir, media_type='application/zip', filename=f"terraform.tfvars")
143145

146+
147+
@app.post("/api/IaC-template/aws/alb")
148+
async def IaC_template_generation_aws_alb(request:IaCTemplateGenerationALB) -> Output:
149+
150+
dir = 'app/media/terraform.tfvars'
151+
152+
file_response = IaC_template_generator_alb(request)
153+
with open(dir,'w')as f:
154+
f.write(file_response)
155+
156+
return FileResponse(dir, media_type='application/zip', filename=f"terraform.tfvars")
157+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
def IaC_template_generator_alb(input) -> str:
2+
3+
aws_alb_create_resources = 'true' if input.alb_resources else 'false'
4+
aws_alb_create_security_group = 'true' if input.security_group else 'false'
5+
6+
tfvars_file = f"""alb_create = {aws_alb_create_resources}
7+
create_security_group = {aws_alb_create_security_group}
8+
"""
9+
return tfvars_file

0 commit comments

Comments
 (0)