Skip to content

Commit

Permalink
feat(terraform-templates): implementing aws-key-pair route
Browse files Browse the repository at this point in the history
  • Loading branch information
mohammadll committed Jan 9, 2025
1 parent f9233b3 commit 13f9356
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 5 deletions.
6 changes: 2 additions & 4 deletions app/media/terraform.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
create_zone = true
create_record = true
create_delegation_set = false
create_resolver_rule_association = false
create = true
create_private_key = false
5 changes: 5 additions & 0 deletions app/models/terraform_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,8 @@ class IaCTemplateGenerationRoute53(BaseModel):
record:bool = True
delegation_set:bool = False
resolver_rule_association:bool = False

class IaCTemplateGenerationKeyPair(BaseModel):

key_pair:bool = True
private_key:bool = False
16 changes: 15 additions & 1 deletion app/routes/terraform.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
IaCTemplateGenerationSNS,
IaCTemplateGenerationAutoScaling,
IaCTemplateGenerationSQS,
IaCTemplateGenerationRoute53
IaCTemplateGenerationRoute53,
IaCTemplateGenerationKeyPair
)

from fastapi import Response
Expand All @@ -42,6 +43,7 @@
from app.template_generators.terraform.aws.AutoScaling import (IaC_template_generator_autoscaling)
from app.template_generators.terraform.aws.SQS import (IaC_template_generator_sqs)
from app.template_generators.terraform.aws.Route53 import (IaC_template_generator_route53)
from app.template_generators.terraform.aws.KeyPair import (IaC_template_generator_key_pair)
from app.template_generators.terraform.Installation.main import (select_install)
import os

Expand Down Expand Up @@ -225,3 +227,15 @@ async def IaC_template_generation_aws_route53(request:IaCTemplateGenerationRoute

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


@app.post("/api/IaC-template/aws/key_pair")
async def IaC_template_generation_aws_key_pair(request:IaCTemplateGenerationKeyPair) -> Output:

dir = 'app/media/terraform.tfvars'

file_response = IaC_template_generator_key_pair(request)
with open(dir,'w')as f:
f.write(file_response)

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

9 changes: 9 additions & 0 deletions app/template_generators/terraform/aws/KeyPair.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
def IaC_template_generator_key_pair(input) -> str:

aws_key_pair_create = 'true' if input.key_pair else 'false'
aws_key_pair_create_private_key = 'true' if input.private_key else 'false'

tfvars_file = f"""create = {aws_key_pair_create}
create_private_key = {aws_key_pair_create_private_key}
"""
return tfvars_file

0 comments on commit 13f9356

Please sign in to comment.