Terraform-ai
, desenvolvido por OpenAI ChatGPT, simplifica o processo de aplicação de arquivos Terraform HCL, fornecendo um assistente inteligente e interativo.
terraform-ai
requer uma chave de API OpenAI ou uma chave e ponto de extremidade da API do serviço Azure OpenAI.
Tanto para OpenAI como para Azure OpenAI, pode utilizar as seguintes variáveis ambientais:
export OPENAI_API_KEY= < your OpenAI key >
export OPENAI_DEPLOYMENT_NAME= < your OpenAI deployment/model name. defaults to " gpt-3.5-turbo " >
Os seguintes modelos são suportados:
code-davinci-002
text-davinci-003
gpt-3.5-turbo-0301
(a implantação deve ser denominadagpt-35-turbo-0301
para Azure)gpt-3.5-turbo
gpt-35-turbo-0301
gpt-4-0314
gpt-4-32k-0314
Para o serviço Azure OpenAI, pode utilizar as seguintes variáveis ambientais:
export AZURE_OPENAI_ENDPOINT= < your Azure OpenAI endpoint, like " https://my-aoi-endpoint.openai.azure.com " >
Se a variável AZURE_OPENAI_ENDPOINT
estiver definida, ela usará o serviço Azure OpenAI. Caso contrário, usará a API OpenAI.
Adicione à torneira brew
e instale com:
brew tap hubs-ai/terraform-ai https://github.com/hubs-ai/terraform-ai
brew install terraform-ai
O sinalizador --require-confirmation
ou a variável de ambiente REQUIRE_CONFIRMATION
podem ser definidos para solicitar a confirmação do usuário antes de aplicar o manifesto. O padrão é verdadeiro.
--temperature
flag ou variável de ambiente TEMPERATURE
pode ser definida entre 0 e 1. Temperatura mais alta resultará em mais conclusões criativas. A temperatura mais baixa resultará em conclusões mais determinísticas. O padrão é 0.
Sinalizador --working-dir
ou variável de ambiente WORKING_DIR
que pode ser definida para o caminho do projeto Terraform.
Sinalizador --exec-dir
ou variável de ambiente EXEC_DIR
que pode ser definida para o arquivo binário executável do 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
Encontrei inspiração no repositório hospedado em https://github.com/sozercan/kubectl-ai e gostaria de expressar minha gratidão a @sozercan por sua valiosa criatividade. Além disso, quero agradecer o trabalho de @simongottschlag no fork do Azure OpenAI disponível em https://github.com/simongottschlag/azure-openai-gpt-slack-bot, que é construído sobre as bases estabelecidas por https:// github.com/PullRequestInc/go-gpt3.