Terraform-ai
, con tecnología de OpenAI ChatGPT, simplifica el proceso de aplicación de archivos Terraform HCL al proporcionar un asistente inteligente e interactivo.
terraform-ai
requiere una clave API de OpenAI o una clave y un punto final de API del servicio OpenAI de Azure.
Tanto para OpenAI como para Azure OpenAI, puede usar las siguientes variables de entorno:
export OPENAI_API_KEY= < your OpenAI key >
export OPENAI_DEPLOYMENT_NAME= < your OpenAI deployment/model name. defaults to " gpt-3.5-turbo " >
Se admiten los siguientes modelos:
code-davinci-002
text-davinci-003
gpt-3.5-turbo-0301
(la implementación debe denominarsegpt-35-turbo-0301
para Azure)gpt-3.5-turbo
gpt-35-turbo-0301
gpt-4-0314
gpt-4-32k-0314
Para el servicio Azure OpenAI, puede usar las siguientes variables de entorno:
export AZURE_OPENAI_ENDPOINT= < your Azure OpenAI endpoint, like " https://my-aoi-endpoint.openai.azure.com " >
Si se establece la variable AZURE_OPENAI_ENDPOINT
, utilizará el servicio Azure OpenAI. De lo contrario, utilizará la API OpenAI.
Agréguelo al grifo brew
e instálelo con:
brew tap hubs-ai/terraform-ai https://github.com/hubs-ai/terraform-ai
brew install terraform-ai
El indicador --require-confirmation
o la variable de entorno REQUIRE_CONFIRMATION
se pueden configurar para solicitar confirmación al usuario antes de aplicar el manifiesto. El valor predeterminado es verdadero.
--temperature
indicador de temperatura o la variable de entorno TEMPERATURE
se pueden configurar entre 0 y 1. Una temperatura más alta dará como resultado terminaciones más creativas. Una temperatura más baja dará como resultado terminaciones más deterministas. El valor predeterminado es 0.
--working-dir
indicador o variable de entorno WORKING_DIR
que se puede configurar para la ruta del proyecto Terraform.
--exec-dir
indicador o variable de entorno EXEC_DIR
que se puede configurar para el archivo binario ejecutable de 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
Encontré inspiración en el repositorio alojado en https://github.com/sozercan/kubectl-ai y me gustaría expresar mi gratitud a @sozercan por su valiosa creatividad. Además, quiero reconocer el trabajo de @simongottschlag en la bifurcación Azure OpenAI disponible en https://github.com/simongottschlag/azure-openai-gpt-slack-bot, que se basa en la base establecida por https:// github.com/PullRequestInc/go-gpt3.