Skip to content

Commit 13f9356

Browse files
committed
feat(terraform-templates): implementing aws-key-pair route
1 parent f9233b3 commit 13f9356

4 files changed

Lines changed: 31 additions & 5 deletions

File tree

app/media/terraform.tfvars

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
create_zone = true
2-
create_record = true
3-
create_delegation_set = false
4-
create_resolver_rule_association = false
1+
create = true
2+
create_private_key = false

app/models/terraform_models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,8 @@ class IaCTemplateGenerationRoute53(BaseModel):
141141
record:bool = True
142142
delegation_set:bool = False
143143
resolver_rule_association:bool = False
144+
145+
class IaCTemplateGenerationKeyPair(BaseModel):
146+
147+
key_pair:bool = True
148+
private_key:bool = False

app/routes/terraform.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
IaCTemplateGenerationSNS,
2121
IaCTemplateGenerationAutoScaling,
2222
IaCTemplateGenerationSQS,
23-
IaCTemplateGenerationRoute53
23+
IaCTemplateGenerationRoute53,
24+
IaCTemplateGenerationKeyPair
2425
)
2526

2627
from fastapi import Response
@@ -42,6 +43,7 @@
4243
from app.template_generators.terraform.aws.AutoScaling import (IaC_template_generator_autoscaling)
4344
from app.template_generators.terraform.aws.SQS import (IaC_template_generator_sqs)
4445
from app.template_generators.terraform.aws.Route53 import (IaC_template_generator_route53)
46+
from app.template_generators.terraform.aws.KeyPair import (IaC_template_generator_key_pair)
4547
from app.template_generators.terraform.Installation.main import (select_install)
4648
import os
4749

@@ -225,3 +227,15 @@ async def IaC_template_generation_aws_route53(request:IaCTemplateGenerationRoute
225227

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

230+
231+
@app.post("/api/IaC-template/aws/key_pair")
232+
async def IaC_template_generation_aws_key_pair(request:IaCTemplateGenerationKeyPair) -> Output:
233+
234+
dir = 'app/media/terraform.tfvars'
235+
236+
file_response = IaC_template_generator_key_pair(request)
237+
with open(dir,'w')as f:
238+
f.write(file_response)
239+
240+
return FileResponse(dir, media_type='application/zip', filename=f"terraform.tfvars")
241+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
def IaC_template_generator_key_pair(input) -> str:
2+
3+
aws_key_pair_create = 'true' if input.key_pair else 'false'
4+
aws_key_pair_create_private_key = 'true' if input.private_key else 'false'
5+
6+
tfvars_file = f"""create = {aws_key_pair_create}
7+
create_private_key = {aws_key_pair_create_private_key}
8+
"""
9+
return tfvars_file

0 commit comments

Comments
 (0)