Skip to content

Commit d182782

Browse files
authored
feat(ansible): add nginx template generator to ansible. (#97)
* feat(nginx_ansible): recreate nginx ansible model * fix(nginx_ansible): fix nginx validator * refactor(ansible): refactor ansible function for more flexibility
1 parent 6b07ce3 commit d182782

12 files changed

Lines changed: 28 additions & 489 deletions

File tree

app/media/MyTerraform/main.tf

Lines changed: 0 additions & 17 deletions
This file was deleted.

app/media/MyTerraform/modules/efs/main.tf

Lines changed: 0 additions & 82 deletions
This file was deleted.

app/media/MyTerraform/modules/efs/terraform.tfvars

Lines changed: 0 additions & 28 deletions
This file was deleted.

app/media/MyTerraform/modules/efs/variables.tf

Lines changed: 0 additions & 44 deletions
This file was deleted.

app/media/MyTerraform/modules/efs/versions.tf

Lines changed: 0 additions & 10 deletions
This file was deleted.

app/media/MyTerraform/terraform.tfvars

Lines changed: 0 additions & 28 deletions
This file was deleted.

app/media/MyTerraform/variables.tf

Lines changed: 0 additions & 44 deletions
This file was deleted.

app/media/MyTerraform/versions.tf

Lines changed: 0 additions & 10 deletions
This file was deleted.

app/models/ansible_models.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
from typing import List, Optional
22
from pydantic import BaseModel, validator, ValidationError
33

4-
class AnsibleInstall(BaseModel):
4+
5+
6+
class AnsibleInstallNginx(BaseModel):
57
os: str = 'ubuntu'
6-
tool: str = 'nginx'
8+
hosts:List[str] = ['www.example.com']
9+
version:str = 'latest'
10+
11+
@validator("os")
12+
def validator_os(cls, value):
13+
valid_oss = ['ubuntu']
14+
if value not in valid_oss:
15+
raise ValueError(f"your selected OS must be in {valid_oss}")
16+
return value

app/routes/ansible.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
from app.app_instance import app
22
from app.gpt_services import gpt_service
33
from app.services import (write_installation,edit_directory_generator,execute_pythonfile)
4-
from app.models import (AnsibleInstall,Output)
4+
from app.models import (AnsibleInstallNginx,Output)
55
from app.template_generators.ansible.install.main import ansible_install_template
66
import os
77

8-
@app.post("/ansible-install/")
9-
async def ansible_install_generation(request:AnsibleInstall) -> Output:
8+
@app.post("/ansible-install/nginx/")
9+
async def ansible_install_generation_nginx(request:AnsibleInstallNginx) -> Output:
10+
1011
if os.environ.get("TEST"):
1112
return Output(output='output')
12-
generated_prompt = ansible_install_template(request)
13+
generated_prompt = ansible_install_template(request,"nginx")
1314
output = gpt_service(generated_prompt)
1415
edit_directory_generator("ansible_generator",output)
1516
execute_pythonfile("MyAnsible","ansible_generator")

0 commit comments

Comments
 (0)