Terraform-ai
, optimisé par OpenAI ChatGPT, simplifie le processus d'application des fichiers Terraform HCL en fournissant un assistant intelligent et interactif.
terraform-ai
nécessite une clé API OpenAI ou une clé API et un point de terminaison Azure OpenAI Service.
Pour OpenAI et Azure OpenAI, vous pouvez utiliser les variables d'environnement suivantes :
export OPENAI_API_KEY= < your OpenAI key >
export OPENAI_DEPLOYMENT_NAME= < your OpenAI deployment/model name. defaults to " gpt-3.5-turbo " >
Les modèles suivants sont pris en charge :
code-davinci-002
text-davinci-003
gpt-3.5-turbo-0301
(le déploiement doit être nommégpt-35-turbo-0301
pour Azure)gpt-3.5-turbo
gpt-35-turbo-0301
gpt-4-0314
gpt-4-32k-0314
Pour Azure OpenAI Service, vous pouvez utiliser les variables d'environnement suivantes :
export AZURE_OPENAI_ENDPOINT= < your Azure OpenAI endpoint, like " https://my-aoi-endpoint.openai.azure.com " >
Si la variable AZURE_OPENAI_ENDPOINT
est définie, elle utilisera le service Azure OpenAI. Sinon, il utilisera l'API OpenAI.
Ajoutez au robinet brew
et installez avec :
brew tap hubs-ai/terraform-ai https://github.com/hubs-ai/terraform-ai
brew install terraform-ai
L'indicateur --require-confirmation
ou la variable d'environnement REQUIRE_CONFIRMATION
peut être défini pour demander à l'utilisateur une confirmation avant d'appliquer le manifeste. La valeur par défaut est vrai.
--temperature
ou la variable d'environnement TEMPERATURE
peut être défini entre 0 et 1. Une température plus élevée entraînera des réalisations plus créatives. Une température plus basse entraînera des complétions plus déterministes. La valeur par défaut est 0.
Indicateur --working-dir
ou variable d'environnement WORKING_DIR
qui peut être définie pour le chemin du projet Terraform.
Indicateur --exec-dir
ou variable d'environnement EXEC_DIR
qui peut être définie pour le fichier binaire exécutable Terraform.
terraform-ai " create micro ec2 ubuntu image 20.04 with name hello-future "
? Attempting to store the following template:
resource " aws_instance " " hello_future " {
ami = " ami-0f65671a86f061fcd "
instance_type = " t2.micro "
tags = {
Name = " hello-future "
}
}
Use the arrow keys to navigate: ↓ ↑ → ←
? Would you like to apply this ? [Reprompt/Apply/Don ' t Apply]:
+ Reprompt
▸ Apply
Don ' t Apply
terraform-ai init " create aws provider in ohio "
? Attempting to apply the following template:
provider " aws " {
region = " us-east-2 "
alias = " Ohio "
}
Use the arrow keys to navigate: ↓ ↑ → ←
? Would you like to apply this ? [Reprompt/Apply/Don ' t Apply]:
+ Reprompt
▸ Apply
Don ' t Apply
--require-confirmation
J'ai trouvé l'inspiration dans le référentiel hébergé sur https://github.com/sozercan/kubectl-ai, et je voudrais exprimer ma gratitude à @sozercan pour sa précieuse créativité. De plus, je tiens à reconnaître le travail de @simongottschlag sur le fork Azure OpenAI disponible sur https://github.com/simongottschlag/azure-openai-gpt-slack-bot, qui repose sur les fondations posées par https:// github.com/PullRequestInc/go-gpt3.