diff --git a/src/content/docs/en/pages/devtools/cli/azion-cli/commands/config/config.mdx b/src/content/docs/en/pages/devtools/cli/azion-cli/commands/config/config.mdx index 413a622293..ea01a690fa 100644 --- a/src/content/docs/en/pages/devtools/cli/azion-cli/commands/config/config.mdx +++ b/src/content/docs/en/pages/devtools/cli/azion-cli/commands/config/config.mdx @@ -15,6 +15,15 @@ Manage Azion configuration resources from manifest files. The `config` command p --- +:::note +**API Versions:** Accounts created after 2026-01-01 automatically use API v4, while older accounts may use API v3. The CLI automatically detects the correct version. + +To check which account is being used, run `azion whoami`. + +::: + +--- + ## Usage ```sh diff --git a/src/content/docs/pt-br/homes/dev-tools.mdx b/src/content/docs/pt-br/homes/dev-tools.mdx index c0e4a60d6f..0b6f7ed25c 100644 --- a/src/content/docs/pt-br/homes/dev-tools.mdx +++ b/src/content/docs/pt-br/homes/dev-tools.mdx @@ -42,7 +42,7 @@ product_cards: link: /pt-br/documentacao/devtools/sdk/go/ - icon: /assets/docs/images/uploads/vector.svg title: Terraform - description: Gerencie sua estrutura como código com o Azion Terraform Provider. + description: Gerencie sua infraestrutura como código com o Azion Terraform Provider. link: /pt-br/documentacao/produtos/terraform-provider/ --- diff --git a/src/content/docs/pt-br/pages/build-jornada/desenvolva-com-azion/devtools/tools-terraform.mdx b/src/content/docs/pt-br/pages/build-jornada/desenvolva-com-azion/devtools/tools-terraform.mdx index 2fc2c95790..d7c3f6b9df 100644 --- a/src/content/docs/pt-br/pages/build-jornada/desenvolva-com-azion/devtools/tools-terraform.mdx +++ b/src/content/docs/pt-br/pages/build-jornada/desenvolva-com-azion/devtools/tools-terraform.mdx @@ -14,7 +14,7 @@ namespace: documentation_dev_with_azion_terraform import LinkButton from 'azion-webkit/linkbutton' - + **Azion Terraform Provider** é uma ferramenta poderosa que se integra perfeitamente ao Terraform, a principal plataforma de infraestrutura como código (IaC). diff --git a/src/content/docs/pt-br/pages/devtools/cli/azion-cli/comandos/config/config.mdx b/src/content/docs/pt-br/pages/devtools/cli/azion-cli/comandos/config/config.mdx index dfad1f4c83..7cfb07be46 100644 --- a/src/content/docs/pt-br/pages/devtools/cli/azion-cli/comandos/config/config.mdx +++ b/src/content/docs/pt-br/pages/devtools/cli/azion-cli/comandos/config/config.mdx @@ -15,6 +15,14 @@ Gerencie recursos de configuração do Azion a partir de arquivos manifest. O co --- +:::note +**Versões da API: Contas criadas após 2026-01-01 usam automaticamente a API v4, enquanto contas mais antigas podem usar a API v3. A CLI detecta automaticamente a versão correta. + +Para verificar qual conta está sendo utilizada, execute `azion whoami`. +::: + +--- + ## Uso ```sh diff --git a/src/content/docs/pt-br/pages/devtools/terraform/examples.mdx b/src/content/docs/pt-br/pages/devtools/terraform/examples.mdx new file mode 100644 index 0000000000..115df3118c --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/examples.mdx @@ -0,0 +1,423 @@ +--- +title: Exemplos de Resources e Data Sources - Terraform Provider +description: >- + Exemplos práticos de uso do Azion Terraform Provider v2.0. Aprenda a usar + Resources e Data Sources para gerenciar sua infraestrutura como código. +meta_tags: 'terraform, examples, resources, data sources, api v4' +namespace: documentation_terraform_examples +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/examples/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Esta página fornece exemplos práticos de uso do Azion Terraform Provider v2.0, incluindo Resources e Data Sources. + +--- + + +O Azion Terraform Provider oferece dois tipos principais de configurações: + +- **Resources**: Criam, atualizam e deletam recursos na Azion +- **Data Sources**: Consultam informações sobre recursos existentes + +--- + +## Resources Disponíveis + +### Workloads + +| Resource | Descrição | +|----------|-----------| +| [`azion_workload`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload) | Gerencia workloads | +| [`azion_workload_deployment`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload_deployment) | Gerencia deployments de workload | + +### Connectors + +| Resource | Descrição | +|----------|-----------| +| [`azion_connector`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/connector) | Gerencia connectors | + +### Applications + +| Resource | Descrição | +|----------|-----------| +| [`azion_application_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_main_setting) | Configurações principais de Application | +| [`azion_application_cache_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/application_cache_setting) | Configurações de cache | +| [`azion_application_device_group`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/application_device_group) | Grupos de dispositivos | +| [`azion_application_rule_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_rule_engine) | Rules Engine | +| [`azion_application_function_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_edge_functions_instance) | Instâncias de Functions em aplicações | + +### Firewall + +| Resource | Descrição | +|----------|-----------| +| [`azion_firewall_main_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_main_setting) | Configurações principais de Firewall | +| [`azion_firewall_rule_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_rule_engine) | Rules Engine do Firewall | +| [`azion_firewall_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_edge_functions_instance) | Instâncias de Functions em firewalls | + +### Intelligent DNS + +| Resource | Descrição | +|----------|-----------| +| [`azion_intelligent_dns_zone`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_zone) | Zonas DNS | +| [`azion_intelligent_dns_record`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_record) | Registros DNS | +| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_dnssec) | Configurações DNSSEC | + +### Security + +| Resource | Descrição | +|----------|-----------| +| [`azion_network_list`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/network_list) | Network Lists | +| [`azion_waf`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/waf) | Web Application Firewall | +| [`azion_waf_rule_set`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/waf_rule_set) | Conjuntos de regras WAF | + +### Certificates + +| Resource | Descrição | +|----------|-----------| +| [`azion_digital_certificate`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/digital_certificate) | Certificados digitais | + +### Functions + +| Resource | Descrição | +|----------|-----------| +| [`azion_function`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/function) | Functions | + +### Other + +| Resource | Descrição | +|----------|-----------| +| [`azion_custom_page`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/custom_page) | Páginas personalizadas | + +--- + +## Data Sources Disponíveis + +### Workloads + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_workloads`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/workloads) | Lista workloads | +| [`azion_workload`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/workload) | Consulta um workload específico | +| [`azion_workload_deployments`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/workload_deployments) | Lista deployments de workload | +| [`azion_workload_deployment`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/workload_deployment) | Consulta um deployment específico | + +### Connectors + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_connectors`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/connectors) | Lista connectors | +| [`azion_connector`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/connector) | Consulta um connector específico | + +### Applications + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_applications_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/applications_main_settings) | Lista Applications | +| [`azion_application_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/application_main_settings) | Consulta uma Application específica | +| [`azion_application_cache_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/application_cache_settings) | Lista configurações de cache | +| [`azion_application_cache_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/application_cache_setting) | Consulta uma configuração de cache específica | +| [`azion_application_device_groups`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/application_device_groups) | Lista grupos de dispositivos | +| [`azion_application_device_group`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/application_device_group) | Consulta um grupo de dispositivos específico | +| [`azion_application_rules_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_rules_engine) | Lista Rules Engines | +| [`azion_application_rule_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_rule_engine) | Consulta uma Rule Engine específica | +| [`azion_application_functions_instances`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_edge_functions_instances) | Lista instâncias de Functions | +| [`azion_application_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_edge_functions_instance) | Consulta uma instância de Function específica | + +### Firewall + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_firewall_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_main_settings) | Lista Firewalls | +| [`azion_firewall_main_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_main_setting) | Consulta um Firewall específico | +| [`azion_firewall_rules_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_rules_engine) | Lista Rules Engines do Firewall | +| [`azion_firewall_rule_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_rule_engine) | Consulta uma Rule Engine do Firewall específica | +| [`azion_firewall_functions_instances`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_firewall_edge_functions_instances) | Lista instâncias de Functions no Firewall | +| [`azion_firewall_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_firewall_edge_functions_instance) | Consulta uma instância de Function no Firewall específica | + +### Intelligent DNS + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_intelligent_dns_zones`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_zones) | Lista zonas DNS | +| [`azion_intelligent_dns_zone`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_zone) | Consulta uma zona DNS específica | +| [`azion_intelligent_dns_records`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_records) | Lista registros DNS | +| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_dnssec) | Consulta configurações DNSSEC | + +### Security + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_network_lists`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/network_lists) | Lista Network Lists | +| [`azion_network_list`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/network_list) | Consulta uma Network List específica | +| [`azion_wafs`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/wafs) | Lista WAFs | +| [`azion_waf`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/waf) | Consulta um WAF específico | +| [`azion_waf_rule_sets`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/waf_rule_sets) | Lista conjuntos de regras WAF | +| [`azion_waf_rule_set`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/waf_rule_set) | Consulta um conjunto de regras WAF específico | + +### Certificates + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_digital_certificates`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/digital_certificates) | Lista certificados digitais | +| [`azion_digital_certificate`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/digital_certificate) | Consulta um certificado específico | + +### Functions + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_functions`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/functions) | Lista Functions | +| [`azion_function`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/function) | Consulta uma Function específica | + +### Other + +| Data Source | Descrição | +|-------------|-----------| +| [`azion_custom_pages`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/custom_pages) | Lista páginas personalizadas | +| [`azion_custom_page`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/custom_page) | Consulta uma página personalizada específica | + +--- + +## Exemplos por Categoria + +### Workloads + +Gerencie workloads e deployments na Azion. + +[Ver documentação de Workloads →](/pt-br/documentacao/produtos/terraform-provider/resources/workloads/) + +```hcl +# Criar um workload +resource "azion_workload" "example" { + name = "meu-workload" + + eapplication_id = azion_application_main_setting.app.id + + active = true +} + +# Criar um deployment +resource "azion_workload_deployment" "example" { + workload_id = azion_workload.example.id + + active = true +} + +# Consultar workloads existentes +data "azion_workloads" "all" {} +``` + +### Connectors + +Gerencie connectors para integração com origins externas. + +[Ver documentação de Connectors →](/pt-br/documentacao/produtos/terraform-provider/resources/connectors/) + +```hcl +# Criar um connector +resource "azion_connector" "example" { + name = "meu-connector" + + origin = { + address = "origin.exemplo.com" + protocol = "https" + } +} + +# Consultar connectors existentes +data "azion_connectors" "all" {} +``` + +### Applications + +Gerencie Applications e suas configurações. + +[Ver documentação de Applications →](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) + +```hcl +# Criar uma Application +resource "azion_application_main_settings" "app" { + name = "minha-aplicacao" + + active = true +} + +# Configurar cache +resource "azion_application_cache_setting" "cache" { + application_id = azion_application_main_settings.app.id + name = "cache-default" + + browser_cache_settings = "honor" + cdn_cache_settings = "honor" +} + +# Consultar aplicações existentes +data "azion_applications" "all" {} +``` + +### Security + +Gerencie Firewall, WAF e Network Lists. + +[Ver documentação de Security →](/pt-br/documentacao/produtos/terraform-provider/resources/security/) + +```hcl +# Criar um Firewall +resource "azion_firewall_main_setting" "firewall" { + name = "meu-firewall" + + active = true + mode = "waf" +} + +# Criar uma Network List +resource "azion_network_list" "whitelist" { + name = "whitelist-ips" + list_type = "ip_cidr" + + items = [ + "192.168.1.0/24", + "10.0.0.0/8" + ] +} + +# Consultar firewalls existentes +data "azion_firewalls" "all" {} +``` + +### DNS + +Gerencie zonas e registros DNS. + +[Ver documentação de DNS →](/pt-br/documentacao/produtos/terraform-provider/resources/dns/) + +```hcl +# Criar uma zona DNS +resource "azion_intelligent_dns_zone" "zone" { + name = "exemplo.com" + domain = "exemplo.com" + + active = true +} + +# Criar um registro DNS +resource "azion_intelligent_dns_record" "www" { + zone_id = azion_intelligent_dns_zone.zone.id + name = "www" + type = "A" + ttl = 3600 + + entries = ["192.168.1.1"] +} + +# Consultar zonas DNS existentes +data "azion_intelligent_dns_zones" "all" {} +``` + +### Certificates + +Gerencie certificados digitais. + +[Ver documentação de Certificates →](/pt-br/documentacao/produtos/terraform-provider/resources/certificates/) + +```hcl +# Criar um certificado +resource "azion_digital_certificate" "cert" { + name = "meu-certificado" + + certificate = file("${path.module}/cert.pem") + private_key = file("${path.module}/key.pem") +} + +# Consultar certificados existentes +data "azion_digital_certificates" "all" {} +``` + +--- + +## Exemplo Completo + +Aqui está um exemplo completo que cria uma infraestrutura básica: + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Application +resource "azion_application_main_settings" "app" { + name = "minha-aplicacao" + active = true +} + +# Cache Setting +resource "azion_application_cache_setting" "cache" { + application_id = azion_application_main_settings.app.id + name = "cache-default" + browser_cache_settings = "honor" + cdn_cache_settings = "honor" +} + +# Connector +resource "azion_connector" "origin" { + name = "meu-origin" + origin = { + address = "origin.exemplo.com" + protocol = "https" + } +} + +# Workload +resource "azion_workload" "main" { + name = "meu-workload" + application_id = azion_application_main_settings.app.id + active = true +} + +# Workload Deployment +resource "azion_workload_deployment" "main" { + workload_id = azion_workload.main.id + active = true +} + +# Firewall +resource "azion_firewall_main_setting" "firewall" { + name = "meu-firewall" + active = true + mode = "waf" +} + +# Outputs +output "application_id" { + value = azion_application_main_settings.app.id +} + +output "workload_id" { + value = azion_workload.main.id +} + +output "connector_id" { + value = azion_connector.origin.id +} +``` + +--- + +## Ver Também + +- [Primeiros passos](/pt-br/documentacao/produtos/terraform-provider/getting-started/) - Guia de início rápido +- [Melhores práticas](/pt-br/documentacao/produtos/terraform-provider/best-practices/) - Boas práticas de uso +- [Migração V3 para V4](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Guia de migração +- [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs) - Documentação oficial \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/guides/best-practices.mdx b/src/content/docs/pt-br/pages/devtools/terraform/guides/best-practices.mdx new file mode 100644 index 0000000000..23fc5f79d7 --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/guides/best-practices.mdx @@ -0,0 +1,352 @@ +--- +title: Boas Práticas - Terraform Provider +description: >- + Aprenda as melhores práticas para usar o Azion Terraform Provider. Organize + seu código, gerencie estados e implemente CI/CD de forma eficiente. +meta_tags: 'terraform, best practices, infraestrutura como código, CI/CD, api v4' +namespace: documentation_terraform_best_practices +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/best-practices/ +--- + +Aprenda as melhores práticas para usar o Azion Terraform Provider de forma eficiente e segura. + +--- + +## Organização do Código + +### Estrutura de Diretórios + +Organize seus arquivos Terraform de forma lógica: + +``` +terraform/ +├── main.tf # Provider e configurações principais +├── variables.tf # Variáveis de entrada +├── outputs.tf # Outputs +├── providers.tf # Configuração de providers +├── backend.tf # Configuração de backend +├── modules/ +│ ├── workload/ +│ │ ├── main.tf +│ │ ├── variables.tf +│ │ └── outputs.tf +│ └── application/ +│ ├── main.tf +│ ├── variables.tf +│ └── outputs.tf +└── environments/ + ├── dev/ + │ ├── main.tf + │ └── terraform.tfvars + ├── staging/ + └── prod/ +``` + +### Nomenclatura + +Use nomes descritivos e consistentes: + +```hcl +# Bom +resource "azion_workload" "api_gateway" { + name = "api-gateway-prod" +} + +# Evite +resource "azion_workload" "w1" { + name = "w1" +} +``` + +--- + +## Gerenciamento de Estado + +### Backend Remoto + +Sempre use um backend remoto para armazenar o estado: + +```hcl +# backend.tf +terraform { + backend "s3" { + bucket = "meu-terraform-state" + key = "azion/terraform.tfstate" + region = "us-east-1" + encrypt = true + dynamodb_table = "terraform-locks" + } +} +``` + +### Locking + +Use locking para evitar conflitos: + +```hcl +# Com S3 + DynamoDB +terraform { + backend "s3" { + bucket = "meu-terraform-state" + key = "azion/terraform.tfstate" + region = "us-east-1" + encrypt = true + dynamodb_table = "terraform-locks" + } +} +``` + +--- + +## Segurança + +### Variáveis Sensíveis + +Marque variáveis sensíveis como `sensitive`: + +```hcl +variable "api_token" { + type = string + description = "Personal Token da Azion" + sensitive = true +} +``` + +### Não Commite Segredos + +Adicione ao `.gitignore`: + +```gitignore +# Terraform +*.tfstate +*.tfstate.backup +*.tfvars +.terraform/ +terraform.tfvars +secrets.tf +``` + +### Use Variáveis de Ambiente + +```bash +export TF_VAR_api_token="seu-token" +``` + +--- + +## Modularização + +### Criando Módulos + +Crie módulos reutilizáveis: + +```hcl +# modules/workload/main.tf +variable "name" { + type = string +} + +variable "environment" { + type = string +} + +resource "azion_workload" "this" { + name = "${var.name}-${var.environment}" +} + +output "workload_id" { + value = azion_workload.this.id +} +``` + +### Usando Módulos + +```hcl +# main.tf +module "api_workload" { + source = "./modules/workload" + name = "api" + environment = "prod" +} +``` + +--- + +## CI/CD + +### Pipeline Básico + +Exemplo com GitHub Actions: + +```yaml +# .github/workflows/terraform.yml +name: Terraform + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + terraform: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: hashicorp/setup-terraform@v2 + + - name: Terraform Init + run: terraform init + + - name: Terraform Plan + run: terraform plan + env: + AZION_API_TOKEN: ${{ secrets.AZION_API_TOKEN }} + + - name: Terraform Apply + if: github.ref == 'refs/heads/main' + run: terraform apply -auto-approve + env: + AZION_API_TOKEN: ${{ secrets.AZION_API_TOKEN }} +``` + +--- + +## Versionamento + +### Fixe Versões + +Sempre fixe a versão do provider: + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" # Fixe a versão + } + } +} +``` + +### Use `.terraform-version` + +Para projetos com múltiplas versões: + +``` +1.41.0 +``` + +--- + +## Outputs + +### Exporte IDs Importantes + +```hcl +output "workload_id" { + description = "ID do workload criado" + value = azion_workload.main.id +} + +output "application_id" { + description = "ID da aplicação criada" + value = azion_application_main_setting.main.id +} +``` + +### Use Outputs em Módulos + +```hcl +# modules/application/outputs.tf +output "application_id" { + value = azion_application_main_setting.this.id +} + +output "application_name" { + value = azion_application_main_setting.this.name +} +``` + +--- + +## Dependências + +### Depends_On + +Use `depends_on` para dependências implícitas: + +```hcl +resource "azion_workload" "main" { + name = "meu-workload" +} + +resource "azion_workload_deployment" "main" { + workload_id = azion_workload.main.id + depends_on = [azion_workload.main] +} +``` + +### Referências Implícitas + +Prefira referências diretas: + +```hcl +# Bom +resource "azion_application_rule_engine" "example" { + application_id = azion_application_main_setting.example.id +} + +# Evite +resource "azion_application_rule_engine" "example" { + application_id = "12345" # Hardcoded +} +``` + +--- + +## Documentação + +### Comente Seu Código + +```hcl +# Workload para a API principal +# Este workload gerencia a API de produção +resource "azion_workload" "api" { + name = "api-prod" +} +``` + +### README + +Crie um `README.md` para cada módulo: + +```markdown +# Módulo Workload + +## Uso + +\`\`\`hcl +module "workload" { + source = "./modules/workload" + name = "api" +} +\`\`\` + +## Inputs + +| Nome | Descrição | Tipo | Padrão | +|------|-----------|------|--------| +| name | Nome do workload | string | n/a | + +## Outputs + +| Nome | Descrição | +|------|-----------| +| workload_id | ID do workload | +``` + +--- + diff --git a/src/content/docs/pt-br/pages/devtools/terraform/guides/getting-started.mdx b/src/content/docs/pt-br/pages/devtools/terraform/guides/getting-started.mdx new file mode 100644 index 0000000000..19751892ea --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/guides/getting-started.mdx @@ -0,0 +1,263 @@ +--- +title: Guia de Início Rápido - Terraform Provider +description: >- + Comece a usar o Azion Terraform Provider em minutos. Este guia mostra como + configurar o provider, criar recursos básicos e aplicar sua primeira + infraestrutura como código. +meta_tags: 'terraform, getting started, quickstart, infraestrutura como código, api v4' +namespace: documentation_terraform_getting_started +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/getting-started/ +--- + +Este guia mostra como começar a usar o Azion Terraform Provider para gerenciar sua infraestrutura como código. + +--- + +## Pré-requisitos + +Antes de começar, certifique-se de ter: + +- [Terraform](https://developer.hashicorp.com/terraform/downloads) versão 1.0 ou superior instalado +- Uma [conta Azion](https://www.azion.com/) ativa +- Um [Personal Token](/pt-br/documentacao/produtos/accounts/personal-tokens/) com permissões adequadas + +--- + +## Passo 1: Instalar o Terraform + +Você deve ter o Terraform Core instalado em seu ambiente. [Veja como instalar](https://developer.hashicorp.com/terraform/downloads). + +Verifique a instalação: + +```bash +terraform version +``` + +--- + +## Passo 2: Configurar o Provider + +Crie um novo diretório para seu projeto Terraform: + +```bash +mkdir azion-terraform +cd azion-terraform +``` + +Crie o arquivo `main.tf`: + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + # Recomendado: use variável de ambiente AZION_API_TOKEN + # api_token = var.api_token +} +``` + +--- + +## Passo 3: Configurar Autenticação + +### Opção 1: Variável de Ambiente (Recomendado) + +```bash +export AZION_API_TOKEN="seu-token-pessoal" +``` + +### Opção 2: Arquivo de Variáveis + +Crie `variables.tf`: + +```hcl +variable "api_token" { + type = string + description = "Personal Token da Azion" + sensitive = true +} +``` + +Crie `terraform.tfvars` (adicione ao `.gitignore`): + +```hcl +api_token = "seu-token-pessoal" +``` + +Atualize `main.tf`: + +```hcl +provider "azion" { + api_token = var.api_token +} +``` + +--- + +## Passo 4: Criar Sua Primeira Infraestrutura + +Crie `resources.tf`: + +```hcl +# Criar um workload +resource "azion_workload" "my_workload" { + name = "meu-primeiro-workload" +} + +# Criar um connector +resource "azion_connector" "my_connector" { + name = "meu-connector" +} + +# Criar uma application +resource "azion_application_main_settings" "my_app" { + name = "minha-aplicacao" +} + +# Criar uma zona DNS +resource "azion_intelligent_dns_zone" "my_zone" { + name = "exemplo.com" + active = true +} +``` + +--- + +## Passo 5: Inicializar e Aplicar + +### Inicializar o Terraform + +```bash +terraform init +``` + +### Verificar o Plano + +```bash +terraform plan +``` + +### Aplicar as Mudanças + +```bash +terraform apply +``` + +Digite `yes` quando solicitado para confirmar. + +--- + +## Passo 6: Verificar os Recursos + +```bash +# Listar todos os recursos +terraform state list + +# Ver detalhes de um recurso específico +terraform state show azion_workload.my_workload +``` + +--- + +## Exemplo de Início Rápido + +Aqui está um exemplo completo para começar com o Azion Terraform Provider v2.0: + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar um workload +resource "azion_workload" "example" { + name = "meu-workload" + # Configurações adicionais... +} + +# Criar um connector +resource "azion_connector" "example" { + name = "meu-connector" + # Configurações adicionais... +} + +# Criar uma application +resource "azion_application_main_settings" "example" { + name = "minha-aplicacao" + # Configurações adicionais... +} +``` + +--- + +## Estrutura do Projeto + +Uma estrutura recomendada para projetos maiores: + +``` +azion-terraform/ +├── main.tf # Provider e configurações gerais +├── variables.tf # Variáveis de entrada +├── outputs.tf # Outputs +├── terraform.tfvars # Valores das variáveis (não versionar) +├── modules/ +│ ├── workload/ +│ ├── application/ +│ └── security/ +└── environments/ + ├── dev/ + ├── staging/ + └── prod/ +``` + +--- + +## Próximos Passos + +- [Workloads](/pt-br/documentacao/produtos/terraform-provider/resources/workloads/) - Aprenda sobre workloads +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Configure aplicações +- [Security](/pt-br/documentacao/produtos/terraform-provider/resources/security/) - Configure firewall e WAF +- [Best Practices](/pt-br/documentacao/produtos/terraform-provider/best-practices/) - Boas práticas de uso + +--- + +## Solução de Problemas + +### Erro de Autenticação + +``` +Error: error configuring Terraform Azion Provider: personal token is required +``` + +**Solução**: Verifique se o token está configurado corretamente via variável de ambiente ou arquivo de configuração. + +### Versão Incompatível + +``` +Error: provider registry.terraform.io/aziontech/azion: no compatible versions +``` + +**Solução**: Verifique se você está usando Terraform 1.0 ou superior. + +### Recursos Não Encontrados + +``` +Error: resource not found +``` + +**Solução**: Verifique se o recurso existe na API v4. Alguns recursos da v3 foram removidos ou renomeados. Consulte o [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/). \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/guias/terraform-migration/terraform-migration-v3-to-v4.mdx b/src/content/docs/pt-br/pages/devtools/terraform/guides/migration-v3-to-v4.mdx similarity index 87% rename from src/content/docs/pt-br/pages/guias/terraform-migration/terraform-migration-v3-to-v4.mdx rename to src/content/docs/pt-br/pages/devtools/terraform/guides/migration-v3-to-v4.mdx index c9099595fc..e7dbb2605b 100644 --- a/src/content/docs/pt-br/pages/guias/terraform-migration/terraform-migration-v3-to-v4.mdx +++ b/src/content/docs/pt-br/pages/devtools/terraform/guides/migration-v3-to-v4.mdx @@ -7,7 +7,7 @@ description: >- meta_tags: 'terraform, migração, api v4, atualização, breaking changes' namespace: documentation_terraform_migration_v3_v4 menu_namespace: devtoolsMenu -permalink: /documentacao/produtos/guias/terraform-migration-v3-to-v4/ +permalink: /documentacao/produtos/terraform-provider/migration-v3-to-v4/ --- Este guia fornece instruções detalhadas para migrar do Azion Terraform Provider v1.x (API v3) para v2.0 (API v4). Siga os passos abaixo para garantir uma transição suave. @@ -124,12 +124,6 @@ Os seguintes recursos permanecem disponíveis com seus nomes originais: | Recurso | Descrição | | --- | --- | -| `azion_edge_application_main_setting` | Configurações principais da aplicação | -| `azion_edge_application_cache_setting` | Configurações de cache | -| `azion_edge_application_rule_engine` | Rules Engine | -| `azion_edge_application_edge_functions_instance` | Instâncias de função para aplicações | -| `azion_edge_firewall_main_setting` | Configurações principais do firewall | -| `azion_edge_firewall_edge_functions_instance` | Instâncias de função para firewall | | `azion_intelligent_dns_zone` | Zonas DNS | | `azion_intelligent_dns_record` | Registros DNS | | `azion_intelligent_dns_dnssec` | Configurações DNSSEC | @@ -169,7 +163,7 @@ O gerenciamento de origins foi substituído por connectors: **Diferenças Principais:** -- **v1.x**: Origins eram definidos dentro do contexto de Edge Applications +- **v1.x**: Origins eram definidos dentro do contexto de Applications - **v2.0**: Connectors são recursos independentes que fornecem opções de integração mais flexíveis ### Mapeamento de Edge Function para Function @@ -294,7 +288,7 @@ resource "azion_connector" "example" { } ``` -### Migração de Edge Function +### Migração de Function #### Configuração v1.x @@ -390,8 +384,8 @@ provider "azion" { api_token = var.api_token } -# Edge Application (inalterada) -resource "azion_edge_application_main_setting" "app" { +# Application +resource "azion_application_main_setting" "app" { name = "minha-aplicacao" } @@ -460,7 +454,7 @@ terraform state rm azion_domain.example # Remover recursos de origin terraform state rm azion_edge_application_origin.example -# Remover recursos de edge function (serão recriados como azion_function) +# Remover recursos da function (serão recriados como azion_function) terraform state rm azion_edge_function.example ``` @@ -539,14 +533,14 @@ The provider aziontech/azion does not support resource type "azion_domain". #### Erro: Falha na Migração de Estado ``` -Error: Error refreshing state: azion_edge_application_origin.example: +Error: Error refreshing state: azion_application_origin.example: resource not found ``` **Solução**: O recurso já foi removido ou não existe. Remova-o do estado: ```bash -terraform state rm azion_edge_application_origin.example +terraform state rm azion_application_origin.example ``` #### Erro: Importação Não Encontrada @@ -571,4 +565,47 @@ Se você encontrar problemas durante a migração: 1. Revise a seção [Solução de Problemas](#solução-de-problemas) 2. Consulte a [documentação do Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs) 3. Entre em contato com o Suporte Azion através do [Portal de Suporte](https://tickets.azion.com/) -4. Visite a [Comunidade Azion](https://www.azion.com/pt-br/documentacao/) para recursos adicionais \ No newline at end of file +4. Visite a [Comunidade Azion](https://www.azion.com/pt-br/documentacao/) para recursos adicionais + +--- + +## Checklist de Migração + +Use este checklist para acompanhar o progresso da sua migração: + +### Preparação + +- [ ] Verificar se a conta está habilitada para API v4 +- [ ] Fazer backup do estado Terraform atual +- [ ] Fazer backup dos arquivos de configuração `.tf` +- [ ] Fixar a versão do provider para 1.41.0 (última versão v1.x) +- [ ] Documentar os recursos atuais em uso +- [ ] Identificar recursos que serão removidos ou renomeados + +### Migração + +- [ ] Atualizar a versão do provider para 2.0.0 +- [ ] Executar `terraform init -upgrade` +- [ ] Remover recursos descontinuados do estado (`azion_domain`, `azion_edge_application_origin`, etc.) +- [ ] Atualizar arquivos de configuração `.tf` +- [ ] Substituir `azion_domain` por `azion_workload` + `azion_workload_deployment` +- [ ] Substituir `azion_edge_application_origin` por `azion_connector` +- [ ] Substituir `azion_edge_function` por `azion_function` +- [ ] Importar novos recursos para o estado +- [ ] Executar `terraform plan` e revisar mudanças + +### Validação + +- [ ] Verificar se nenhum recurso será destruído inesperadamente +- [ ] Verificar se novos recursos serão criados corretamente +- [ ] Confirmar que atributos estão mapeados corretamente +- [ ] Executar `terraform apply` em ambiente de teste +- [ ] Validar funcionamento dos recursos migrados +- [ ] Atualizar pipelines de CI/CD se necessário + +### Pós-Migração + +- [ ] Remover código legado não utilizado +- [ ] Atualizar documentação do projeto +- [ ] Comunicar equipe sobre mudanças +- [ ] Arquivar backups após confirmação de sucesso \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/applications.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/applications.mdx new file mode 100644 index 0000000000..5d31cb633f --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/applications.mdx @@ -0,0 +1,153 @@ +--- +title: Applications - Terraform Resources +description: >- + Gerencie Applications da Azion com Terraform. Configure cache, rules engine, device groups + e instâncias de functions usando os recursos azion_application. +meta_tags: 'terraform, applications, cache, rules engine, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_applications +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/applications/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Applications são o núcleo da entrega de conteúdo na Azion Platform. Elas permitem configurar cache, regras de processamento e integrar functions. + +--- + + +Os recursos de Applications permitem gerenciar todos os aspectos de suas aplicações através do Terraform. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_application_main_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_main_setting) | Configurações principais da aplicação | +| [`azion_application_cache_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_cache_setting) | Configurações de cache | +| [`azion_application_rule_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_rule_engine) | Rules Engine | +| [`azion_application_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_edge_functions_instance) | Instâncias de function | +| [`azion_application`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/application) | Aplicações | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_application_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_main_settings) | Consulta configurações principais | +| [`azion_application_cache_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_cache_settings) | Consulta configurações de cache | +| [`azion_application_rules_engine`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_application_rules_engine) | Consulta regras | + +--- + +## azion_application_main_setting + +### Exemplo Básico + +```hcl +resource "azion_application_main_setting" "example" { + name = "minha-aplicacao" + + # Configurações principais +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome da aplicação | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_main_setting). + +--- + +## azion_application_cache_setting + +### Exemplo Básico + +```hcl +resource "azion_application_cache_setting" "example" { + application_id = azion_application_main_setting.example.id + name = "minha-config-cache" + + # Configurações de cache +} +``` + +--- + +## azion_application_rule_engine + +### Exemplo Básico + +```hcl +resource "azion_application_rule_engine" "example" { + application_id = azion_application_main_setting.example.id + name = "minha-regra" + phase = "request" + + # Critérios e comportamentos +} +``` + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar aplicação principal +resource "azion_application_main_setting" "my_app" { + name = "minha-aplicacao" +} + +# Configurar cache +resource "azion_application_cache_setting" "my_cache" { + application_id = azion_application_main_setting.my_app.id + name = "cache-estatico" + + # Configurações de cache +} + +# Criar regra no Rules Engine +resource "azion_application_rule_engine" "my_rule" { + application_id = azion_application_main_setting.my_app.id + name = "regra-redirect" + phase = "request" + + # Critérios e comportamentos +} + +# Instanciar uma function +resource "azion_application_functions_instance" "my_function" { + application_id = azion_application_main_setting.my_app.id + function_id = azion_function.my_function.id + + # Configurações da instância +} + +output "application_id" { + value = azion_application_main_setting.my_app.id +} +``` + +--- + +## Recursos Relacionados + +- [Workloads](/pt-br/documentacao/produtos/terraform-provider/resources/workloads/) - Gerencie workloads +- [Connectors](/pt-br/documentacao/produtos/terraform-provider/resources/connectors/) - Gerencie conectores +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/certificates.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/certificates.mdx new file mode 100644 index 0000000000..52c8963174 --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/certificates.mdx @@ -0,0 +1,133 @@ +--- +title: Certificates - Terraform Resources +description: >- + Gerencie certificados digitais da Azion com Terraform. Configure SSL/TLS + certificates para suas aplicações usando azion_digital_certificate. +meta_tags: 'terraform, certificates, ssl, tls, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_certificates +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/certificates/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Gerencie certificados digitais SSL/TLS para proteger suas aplicações com HTTPS. + +--- + + +Os recursos de certificados permitem gerenciar certificados digitais para suas aplicações. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_digital_certificate`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/digital_certificate) | Certificados digitais | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_digital_certificates`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/digital_certificates) | Consulta certificados existentes | + +--- + +## azion_digital_certificate + +### Exemplo Básico + +```hcl +resource "azion_digital_certificate" "example" { + name = "meu-certificado" + + # Certificado e chave privada + certificate = file("${path.module}/cert.pem") + private_key = file("${path.module}/key.pem") +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome do certificado | +| `certificate` | string | Sim | Certificado SSL/TLS em formato PEM | +| `private_key` | string | Sim | Chave privada em formato PEM | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/digital_certificate). + +### Atributos Exportados + +| Atributo | Tipo | Descrição | +|----------|------|-----------| +| `id` | string | ID único do certificado | + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar certificado digital +resource "azion_digital_certificate" "my_cert" { + name = "certificado-meudominio" + certificate = file("${path.module}/certificates/meudominio.pem") + private_key = file("${path.module}/certificates/meudominio-key.pem") +} + +# Consultar certificados existentes +data "azion_digital_certificates" "all" {} + +output "certificate_id" { + value = azion_digital_certificate.my_cert.id +} +``` + +--- + +## Usando Variáveis para Certificados + +Para evitar expor certificados no código, use variáveis: + +```hcl +variable "ssl_certificate" { + type = string + description = "Certificado SSL em formato PEM" + sensitive = true +} + +variable "ssl_private_key" { + type = string + description = "Chave privada SSL em formato PEM" + sensitive = true +} + +resource "azion_digital_certificate" "my_cert" { + name = "meu-certificado" + certificate = var.ssl_certificate + private_key = var.ssl_private_key +} +``` + +--- + +## Recursos Relacionados + +- [DNS](/pt-br/documentacao/produtos/terraform-provider/resources/dns/) - Gerencie zonas DNS +- [Security](/pt-br/documentacao/produtos/terraform-provider/resources/security/) - Gerencie firewall e WAF +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie suas aplicações +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/connectors.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/connectors.mdx new file mode 100644 index 0000000000..17eeab0855 --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/connectors.mdx @@ -0,0 +1,132 @@ +--- +title: Connectors - Terraform Resources +description: >- + Gerencie connectors da Azion com Terraform. Aprenda a criar e configurar + conectores de origem usando azion_connector para suas aplicações. +meta_tags: 'terraform, connectors, origins, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_connectors +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/connectors/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Connectors substituem o conceito de origins na API v4. Eles fornecem uma maneira flexível de configurar origens para suas aplicações. + +--- + + +O recurso `azion_connector` permite gerenciar conectores de origem através do Terraform. Os conectores definem como suas aplicações se comunicam com as origens de conteúdo. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_connector`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/connector) | Cria e gerencia conectores | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_connectors`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/connectors) | Consulta conectores existentes | + +--- + +## azion_connector + +### Exemplo Básico + +```hcl +resource "azion_connector" "example" { + name = "meu-connector" + + # Configurações do conector +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome único do conector | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/connector). + +### Atributos Exportados + +| Atributo | Tipo | Descrição | +|----------|------|-----------| +| `id` | string | ID único do conector | + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar um conector +resource "azion_connector" "my_origin" { + name = "minha-origem" + + # Configurações de origem +} + +# Consultar conectores existentes +data "azion_connectors" "all" {} + +output "connector_id" { + value = azion_connector.my_origin.id +} +``` + +--- + +## Migração de Origins (V3 para V4) + +Se você está migrando da API v3, o recurso `azion_application_origin` foi substituído por `azion_connector`. + +### Antes (V3) + +```hcl +resource "azion_application_origin" "example" { + application_id = azion_application_main_setting.example.id + name = "minha-origin" + origin_type = "single_origin" + origin_address = "origin.exemplo.com" + origin_protocol = "https" +} +``` + +### Depois (V4) + +```hcl +resource "azion_connector" "example" { + name = "meu-connector" + + # Configurações do conector +} +``` + +Consulte o [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) para mais detalhes. + +--- + +## Próximos Passos + +- [Workloads](/pt-br/documentacao/produtos/terraform-provider/resources/workloads/) - Gerencie workloads +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie aplicações +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/dns.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/dns.mdx new file mode 100644 index 0000000000..1610a8e81f --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/dns.mdx @@ -0,0 +1,159 @@ +--- +title: Edge DNS - Terraform Resources +description: >- + Gerencie DNS da Azion com Terraform. Configure zonas DNS, registros e + DNSSEC usando os recursos azion_intelligent_dns. +meta_tags: 'terraform, dns, dnssec, zonas dns, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_dns +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/dns/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +DNS permite gerenciar suas zonas DNS e registros através do Terraform, com suporte a DNSSEC para segurança adicional. + +--- + + +Os recursos de DNS permitem gerenciar zonas DNS, registros e configurações de DNSSEC. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_intelligent_dns_zone`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_zone) | Zonas DNS | +| [`azion_intelligent_dns_record`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_record) | Registros DNS | +| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_dnssec) | Configurações DNSSEC | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_intelligent_dns_zones`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_zones) | Consulta zonas DNS | +| [`azion_intelligent_dns_dnssec`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/intelligent_dns_dnssec) | Consulta DNSSEC | + +--- + +## azion_intelligent_dns_zone + +### Exemplo Básico + +```hcl +resource "azion_intelligent_dns_zone" "example" { + name = "exemplo.com" + active = true + + # Configurações da zona +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome da zona DNS | +| `active` | bool | Não | Se a zona está ativa | + +--- + +## azion_intelligent_dns_record + +### Exemplo Básico + +```hcl +resource "azion_intelligent_dns_record" "example" { + zone_id = azion_intelligent_dns_zone.example.id + name = "www" + type = "A" + value = "192.168.1.1" + ttl = 3600 +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `zone_id` | string | Sim | ID da zona DNS | +| `name` | string | Sim | Nome do registro | +| `type` | string | Sim | Tipo do registro (A, AAAA, CNAME, etc.) | +| `value` | string | Sim | Valor do registro | +| `ttl` | number | Não | TTL do registro | + +--- + +## azion_intelligent_dns_dnssec + +### Exemplo Básico + +```hcl +resource "azion_intelligent_dns_dnssec" "example" { + zone_id = azion_intelligent_dns_zone.example.id + active = true +} +``` + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar zona DNS +resource "azion_intelligent_dns_zone" "my_zone" { + name = "meudominio.com" + active = true +} + +# Criar registro A +resource "azion_intelligent_dns_record" "www" { + zone_id = azion_intelligent_dns_zone.my_zone.id + name = "www" + type = "A" + value = "192.168.1.1" + ttl = 3600 +} + +# Criar registro CNAME +resource "azion_intelligent_dns_record" "alias" { + zone_id = azion_intelligent_dns_zone.my_zone.id + name = "alias" + type = "CNAME" + value = "www.meudominio.com" + ttl = 3600 +} + +# Ativar DNSSEC +resource "azion_intelligent_dns_dnssec" "my_dnssec" { + zone_id = azion_intelligent_dns_zone.my_zone.id + active = true +} + +output "zone_id" { + value = azion_intelligent_dns_zone.my_zone.id +} +``` + +--- + +## Recursos Relacionados + +- [Security](/pt-br/documentacao/produtos/terraform-provider/resources/security/) - Gerencie firewall e WAF +- [Certificates](/pt-br/documentacao/produtos/terraform-provider/resources/certificates/) - Gerencie certificados +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie suas aplicações +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/security.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/security.mdx new file mode 100644 index 0000000000..00a48d88d4 --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/security.mdx @@ -0,0 +1,152 @@ +--- +title: Security - Terraform Resources +description: >- + Gerencie recursos de segurança da Azion com Terraform. Configure firewall, + WAF, network lists e mais usando os recursos azion_firewall. +meta_tags: 'terraform, firewall, WAF, security, network lists, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_security +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/security/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Proteja suas aplicações com os recursos de segurança da Azion. Gerencie firewall, WAF e network lists através do Terraform. + +--- + + +Os recursos de segurança permitem configurar proteção contra ameaças, bloqueio por geolocalização, rate limiting e muito mais. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_firewall_main_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_main_setting) | Configurações principais do firewall | +| [`azion_firewall_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_edge_functions_instance) | Instâncias de function no firewall | +| [`azion_waf_rule_set`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/waf_rule_set) | Conjuntos de regras WAF | +| [`azion_network_list`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/network_list) | Listas de rede (IPs, CIDRs, países) | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_firewall_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_firewall_main_settings) | Consulta configurações do firewall | +| [`azion_firewall_function_instances`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/edge_firewall_edge_function_instances) | Consulta instâncias de function | +| [`azion_network_lists`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/network_lists) | Consulta network lists | +| [`azion_waf_rule_sets`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/waf_rule_sets) | Consulta conjuntos de regras WAF | + +--- + +## azion_firewall_main_setting + +### Exemplo Básico + +```hcl +resource "azion_firewall_main_setting" "example" { + name = "meu-firewall" + active = true + + # Módulos ativados +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome do firewall | +| `active` | bool | Não | Se o firewall está ativo | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_main_setting). + +--- + +## azion_network_list + +### Exemplo Básico + +```hcl +resource "azion_network_list" "blocked_ips" { + name = "ips-bloqueados" + list_type = "ip_cidr" + + # Lista de IPs/CIDRs +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome da lista | +| `list_type` | string | Sim | Tipo da lista (ip_cidr, countries, asns) | + +--- + +## azion_waf_rule_set + +### Exemplo Básico + +```hcl +resource "azion_waf_rule_set" "example" { + name = "meu-waf-rules" + + # Configurações do WAF +} +``` + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar network list para IPs bloqueados +resource "azion_network_list" "blocked_ips" { + name = "ips-bloqueados" + list_type = "ip_cidr" +} + +# Criar firewall +resource "azion_firewall_main_setting" "my_firewall" { + name = "meu-firewall" + active = true + + # Vincular ao workload/application +} + +# Criar WAF rule set +resource "azion_waf_rule_set" "my_waf" { + name = "meu-waf" + + # Configurações do WAF +} + +output "firewall_id" { + value = azion_firewall_main_setting.my_firewall.id +} +``` + +--- + +## Recursos Relacionados + +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie aplicações +- [DNS](/pt-br/documentacao/produtos/terraform-provider/resources/dns/) - Gerencie DNS +- [Certificates](/pt-br/documentacao/produtos/terraform-provider/resources/certificates/) - Gerencie certificados +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/resources/workloads.mdx b/src/content/docs/pt-br/pages/devtools/terraform/resources/workloads.mdx new file mode 100644 index 0000000000..8c325be0ab --- /dev/null +++ b/src/content/docs/pt-br/pages/devtools/terraform/resources/workloads.mdx @@ -0,0 +1,165 @@ +--- +title: Workloads - Terraform Resources +description: >- + Gerencie workloads da Azion com Terraform. Aprenda a criar, atualizar e + gerenciar deployments de workloads usando azion_workload e + azion_workload_deployment. +meta_tags: 'terraform, workloads, infraestrutura como código, api v4' +namespace: documentation_terraform_resources_workloads +menu_namespace: devtoolsMenu +permalink: /documentacao/produtos/terraform-provider/resources/workloads/ +--- + +import LinkButton from 'azion-webkit/linkbutton' + + + +Workloads são a unidade fundamental de deploy na Azion Platform. Eles representam suas aplicações e serviços que são entregues através da rede global de edge nodes. + +--- + + +O recurso `azion_workload` permite gerenciar workloads através do Terraform. Cada workload pode ter múltiplos deployments, gerenciados pelo recurso `azion_workload_deployment`. + +### Recursos Disponíveis + +| Recurso | Descrição | +|---------|-----------| +| [`azion_workload`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload) | Cria e gerencia workloads | +| [`azion_workload_deployment`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload_deployment) | Cria e gerencia deployments de workloads | + +### Data Sources Disponíveis + +| Data Source | Descrição | +|--------------|-----------| +| [`azion_workloads`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/workloads) | Consulta workloads existentes | + +--- + +## azion_workload + +### Exemplo Básico + +```hcl +resource "azion_workload" "example" { + name = "meu-workload" + + # Configurações do workload +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `name` | string | Sim | Nome único do workload | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload). + +### Atributos Exportados + +| Atributo | Tipo | Descrição | +|----------|------|-----------| +| `id` | string | ID único do workload | + +--- + +## azion_workload_deployment + +### Exemplo Básico + +```hcl +resource "azion_workload" "example" { + name = "meu-workload" +} + +resource "azion_workload_deployment" "example" { + workload_id = azion_workload.example.id + + # Configurações do deployment +} +``` + +### Argumentos Principais + +| Argumento | Tipo | Obrigatório | Descrição | +|-----------|------|--------------|-----------| +| `workload_id` | string | Sim | ID do workload associado | + +Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload_deployment). + +--- + +## Exemplo Completo + +```hcl +terraform { + required_providers { + azion = { + source = "aziontech/azion" + version = "2.0.0" + } + } +} + +provider "azion" { + api_token = var.api_token +} + +# Criar um workload +resource "azion_workload" "my_app" { + name = "minha-aplicacao" +} + +# Criar um deployment para o workload +resource "azion_workload_deployment" "my_app_deployment" { + workload_id = azion_workload.my_app.id + + # Configurações adicionais do deployment +} + +# Consultar workloads existentes +data "azion_workloads" "all" {} + +output "workload_id" { + value = azion_workload.my_app.id +} +``` + +--- + +## Migração de Domains (V3 para V4) + +Se você está migrando da API v3, o recurso `azion_domain` foi substituído por `azion_workload` e `azion_workload_deployment`. + +### Antes (V3) + +```hcl +resource "azion_domain" "example" { + name = "meu-dominio" + application = 12345 + domain_name = "exemplo.com" +} +``` + +### Depois (V4) + +```hcl +resource "azion_workload" "example" { + name = "meu-workload" +} + +resource "azion_workload_deployment" "example" { + workload_id = azion_workload.example.id +} +``` + +Consulte o [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) para mais detalhes. + +--- + +## Próximos Passos + +- [Connectors](/pt-br/documentacao/produtos/terraform-provider/resources/connectors/) - Gerencie conectores de origem +- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie aplicações +- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0 \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/terraform.mdx b/src/content/docs/pt-br/pages/devtools/terraform/terraform.mdx index 5b8800e9bb..b1cf263d86 100644 --- a/src/content/docs/pt-br/pages/devtools/terraform/terraform.mdx +++ b/src/content/docs/pt-br/pages/devtools/terraform/terraform.mdx @@ -4,12 +4,14 @@ description: >- O Azion Terraform Provider v2.0 é um projeto de código aberto que permite gerenciar infraestrutura como código para Azion API v4. Gerencie workloads, connectors, aplicações e mais através de configurações Terraform. -meta_tags: 'edge, terraform, infraestrutura como código, api v4' +meta_tags: 'IaC, terraform, infraestrutura como código, api v4' namespace: documentation_terraform_provider menu_namespace: devtoolsMenu permalink: /documentacao/produtos/terraform-provider/ --- +import LinkButton from 'azion-webkit/linkbutton' + [Terraform](https://developer.hashicorp.com/terraform/docs) é uma ferramenta de infraestrutura como código que permite gerenciar sua infraestrutura de forma eficiente através de código. Os arquivos criados para gerenciar sua infraestrutura podem ser reutilizados, versionados e compartilhados, ajudando você a ter um fluxo de trabalho consistente para provisionar e gerenciar toda sua infraestrutura ao longo de seu ciclo de vida. --- @@ -24,7 +26,7 @@ permalink: /documentacao/produtos/terraform-provider/ O **Terraform** funciona com base [em providers](https://developer.hashicorp.com/terraform/registry/providers). Um provider é responsável por gerenciar o ciclo de vida de um tipo específico de recurso. Eles são implementados como plugins, que são arquivos executáveis separados que podem ser carregados no Terraform em tempo de execução. -O [Azion Terraform Provider](https://github.com/aziontech/terraform-provider-azion) é um projeto de código aberto, registrado no [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest) que utiliza o [Azion SDK (Go)](https://github.com/aziontech/azionapi-go-sdk) para se comunicar com as APIs da Azion, permitindo que você gerencie sua infraestrutura hospedada na plataforma Azion, localmente, como código. +O [Azion Terraform Provider](https://github.com/aziontech/terraform-provider-azion) é um projeto de código aberto, registrado no [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs) que utiliza o [Azion SDK (Go)](https://github.com/aziontech/azionapi-go-sdk) para se comunicar com as APIs da Azion, permitindo que você gerencie sua infraestrutura hospedada na plataforma Azion, localmente, como código. --- @@ -34,145 +36,12 @@ O [Azion Terraform Provider](https://github.com/aziontech/terraform-provider-azi **Terraform Core**: se comunica com o Azion Terraform Provider. -> **Nota**: você deve ter o Terraform Core instalado em seu ambiente. [Veja como instalar](https://developer.hashicorp.com/terraform/downloads). - **Azion Terraform Provider**: construído em Go, se comunica com o Azion SDK (Go). **Azion SDK (Go)**: se comunica com as APIs da Azion. --- -## Primeiros passos - -Em seu arquivo `.tf`, você deve configurar o **Azion Terraform Provider** como provider e definir sua versão, como por exemplo: - -```hcl -terraform { - required_providers { - azion = { - source = "aziontech/azion" - version = "2.0.0" - } - } -} -``` - -Com o provider configurado, é recomendado configurar um [token pessoal](/pt-br/documentacao/produtos/accounts/personal-tokens/): - -```hcl -provider "azion" { - api_token = "seu-token-pessoal" -} -``` - -> **Nota**: se o token pessoal não for fornecido como apresentado acima, um prompt solicitará que você o informe quando tentar executar qualquer comando Terraform. - -Após esses passos, você está pronto para começar a gerenciar sua infraestrutura usando o Azion Terraform Provider. - ---- - -## Exemplo de Início Rápido - -Aqui está um exemplo completo para começar com o Azion Terraform Provider v2.0: - -```hcl -terraform { - required_providers { - azion = { - source = "aziontech/azion" - version = "2.0.0" - } - } -} - -provider "azion" { - api_token = var.api_token -} - -# Criar um workload -resource "azion_workload" "example" { - name = "meu-workload" - # Configurações adicionais... -} - -# Criar um connector -resource "azion_connector" "example" { - name = "meu-connector" - # Configurações adicionais... -} - -# Criar uma edge application -resource "azion_edge_application_main_setting" "example" { - name = "minha-aplicacao" - # Configurações adicionais... -} -``` - ---- - -## Recursos por Categoria - -### Workloads - -| Recurso | Descrição | -| --- | --- | -| [azion_workload](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload) | Gerenciar workloads da Azion | -| [azion_workload_deployment](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/workload_deployment) | Gerenciar deployments de workload | - -### Connectors - -| Recurso | Descrição | -| --- | --- | -| [azion_connector](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/connector) | Gerenciar connectors da Azion | - -### Applications - -| Recurso | Descrição | -| --- | --- | -| [azion_edge_application_main_setting](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_main_setting) | Gerenciar configurações principais da aplicação | -| [azion_edge_application_origin](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_origin) | Gerenciar origens da aplicação | -| [azion_edge_application_cache_setting](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_cache_setting) | Gerenciar configurações de cache da aplicação | -| [azion_edge_application_rule_engine](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_rule_engine) | Gerenciar regras da aplicação | -| [azion_edge_application_edge_functions_instance](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_application_edge_functions_instance) | Gerenciar instâncias de função da aplicação | -| [azion_application](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/application) | Gerenciar aplicações | - -### Custom Pages - -| Recurso | Descrição | -| --- | --- | -| [azion_custom_page](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/custom_page) | Gerenciar páginas personalizadas | - -### Edge Functions - -| Recurso | Descrição | -| --- | --- | -| [azion_function](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/function) | Gerenciar Edge Functions | - -### Edge DNS - -| Recurso | Descrição | -| --- | --- | -| [azion_intelligent_dns_zone](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_zone) | Gerenciar zonas DNS | -| [azion_intelligent_dns_record](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_record) | Gerenciar registros DNS | -| [azion_intelligent_dns_dnssec](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/intelligent_dns_dnssec) | Gerenciar configurações DNSSEC | - -### Security - -| Recurso | Descrição | -| --- | --- | -| [azion_edge_firewall_main_setting](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_main_setting) | Gerenciar configurações principais do firewall | -| [azion_edge_firewall_edge_functions_instance](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/edge_firewall_edge_functions_instance) | Gerenciar instâncias de função do firewall | -| [azion_waf_rule_set](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/waf_rule_set) | Gerenciar conjuntos de regras WAF | -| [azion_network_list](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/network_list) | Gerenciar listas de rede | - -### Certificates - -| Recurso | Descrição | -| --- | --- | -| [azion_digital_certificate](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/digital_certificate) | Gerenciar certificados digitais | - ---- - ## Migrando da v1.x -Se você está atualizando do Terraform Provider v1.x (API v3), consulte o [Guia de Migração do Terraform Provider](/pt-br/documentacao/produtos/guias/terraform-migration-v3-to-v4/) para instruções detalhadas sobre como migrar suas configurações para a v2.0. \ No newline at end of file +Se você está atualizando do Terraform Provider v1.x (API v3), consulte o [Guia de Migração do Terraform Provider](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) para instruções detalhadas sobre como migrar suas configurações para a v2.0. \ No newline at end of file diff --git a/src/content/docs/pt-br/pages/devtools/terraform/terraformV3.mdx b/src/content/docs/pt-br/pages/devtools/terraform/terraformV3.mdx index a8f39917ca..54e66da703 100644 --- a/src/content/docs/pt-br/pages/devtools/terraform/terraformV3.mdx +++ b/src/content/docs/pt-br/pages/devtools/terraform/terraformV3.mdx @@ -3,7 +3,7 @@ title: Azion Terraform Provider v1.x (API v3) description: >- Documentação legado para Azion Terraform Provider v1.x, compatível com Azion API v3. Para novos projetos, use Terraform Provider v2.0 com API v4. -meta_tags: 'edge, javascript' +meta_tags: 'terraform, javascript' namespace: documentation_terraform_provider_v3 menu_namespace: devtoolsMenu permalink: /documentacao/produtos/terraform-provider-v3/ @@ -12,7 +12,7 @@ permalink: /documentacao/produtos/terraform-provider-v3/ :::warning **Versão 1.x está obsoleta.** Esta documentação é para Terraform Provider v1.x (API v3), que não recebe mais atualizações. Para novos projetos ou para acessar os recursos mais recentes, use [Terraform Provider v2.0](/pt-br/documentacao/produtos/terraform-provider/) com API v4. -Consulte o [Guia de Migração](/pt-br/documentacao/produtos/guias/terraform-migration-v3-to-v4/) para atualizar da v1.x para v2.0. +Consulte o [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) para atualizar da v1.x para v2.0. ::: O [Terraform](https://developer.hashicorp.com/terraform/docs) é uma ferramenta de infraestrutura como código que possibilita gerenciar sua infraestrutura de forma eficiente por meio de código. Os arquivos criados para gerenciar sua infraestrutura podem ser reutilizados, versionados e compartilhados, ajudando você a ter um fluxo de trabalho consistente para provisionar e gerenciar toda a sua infraestrutura ao longo de seu ciclo de vida. @@ -103,6 +103,6 @@ Seu arquivo `.tf` deverá estar como apresentado abaixo: ## Migração para v2.0 -Para migrar suas configurações Terraform para v2.0 (API v4), consulte o [Guia de Migração do Terraform Provider](/pt-br/documentacao/produtos/guias/terraform-migration-v3-to-v4/). +Para migrar suas configurações Terraform para v2.0 (API v4), consulte o [Guia de Migração do Terraform Provider](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/). --- diff --git a/src/content/docs/pt-br/pages/guias/guides.mdx b/src/content/docs/pt-br/pages/guias/guides.mdx index e8d7129e26..5e91a735b8 100644 --- a/src/content/docs/pt-br/pages/guias/guides.mdx +++ b/src/content/docs/pt-br/pages/guias/guides.mdx @@ -246,7 +246,7 @@ permalink: /documentacao/produtos/guias/ ### Terraform -- [Como migrar do Azion Terraform Provider 1.x para 2.0](/pt-br/documentacao/produtos/guias/terraform-migration-v3-to-v4/) +- [Como migrar do Azion Terraform Provider 1.x para 2.0](/pt-br/documentacao/produtos/terraform-provider/guides/migration-v3-to-v4/) ### DNS diff --git a/src/content/docs/pt-br/pages/secure-jornada/automatizar/terraform.mdx b/src/content/docs/pt-br/pages/secure-jornada/automatizar/terraform.mdx index 9854441a0a..24a5889db2 100644 --- a/src/content/docs/pt-br/pages/secure-jornada/automatizar/terraform.mdx +++ b/src/content/docs/pt-br/pages/secure-jornada/automatizar/terraform.mdx @@ -10,6 +10,9 @@ namespace: documentation_secure_automate_terraform permalink: /documentacao/produtos/secure/automatizar/terraform/ --- +import LinkButton from 'azion-webkit/linkbutton' + + O [Azion Terraform provider](https://registry.terraform.io/providers/aziontech/azion/latest/docs) é uma ferramenta robusta que se integra perfeitamente ao Terraform, a plataforma líder do setor de Infraestrutura como Código (IaC). diff --git a/src/i18n/pt-br/devtoolsMenu.ts b/src/i18n/pt-br/devtoolsMenu.ts index 18fcebd1e2..de0305f286 100644 --- a/src/i18n/pt-br/devtoolsMenu.ts +++ b/src/i18n/pt-br/devtoolsMenu.ts @@ -7,7 +7,7 @@ * - Heading entries MUST include `header: true` and `type` * - Link entries MUST include `slug` (which excludes the language code) */ - export default [ +export default [ { text: 'Documentação', header: true, onlyMobile: true, anchor: true, slug: '/documentacao/', key: 'documentation' }, { text: 'Guias',header: true, onlyMobile: true, anchor: true, slug: '/documentacao/produtos/guias/', key: 'guides' }, { text: 'Dev Tools',header: true, onlyMobile: true, anchor: true, slug: '/documentacao/produtos/dev-tools/', key: 'devTools' }, @@ -19,7 +19,20 @@ { text: 'CLI', header: true, anchor: true, type: 'learn', key: 'devtools/cli', slug: 'documentacao/produtos/azion-cli/visao-geral' }, { text: 'Console Kit', header: true, anchor: true, type: 'learn', slug: '/documentacao/devtools/console-kit/', key: 'devtools/consoleKit' }, { text: 'SDK',header: true, anchor: true, type: 'learn', slug: '/documentacao/devtools/sdk/go/', key: 'devtools/sdk' }, - { text: 'Terraform', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/', key: 'devtools/terraform' }, - + { text: 'Terraform', header: true, anchor: true, type: 'learn', key: 'devtools/terraform', items: [ + { text: 'Visão geral', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/', key: 'devtools/terraform/overview' }, + { text: 'Primeiros passos', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/getting-started/', key: 'devtools/terraform/getting-started' }, + { text: 'Exemplos', header: true, anchor: true, type: 'learn', key: 'devtools/terraform/examples', items: [ + { text: 'Explorando recursos', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/examples/', key: 'devtools/terraform/examples/overview' }, + { text: 'Workloads', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/workloads/', key: 'devtools/terraform/examples/workloads' }, + { text: 'Connectors', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/connectors/', key: 'devtools/terraform/examples/connectors' }, + { text: 'Applications', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/applications/', key: 'devtools/terraform/examples/applications' }, + { text: 'Security', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/security/', key: 'devtools/terraform/examples/security' }, + { text: 'DNS', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/dns/', key: 'devtools/terraform/examples/dns' }, + { text: 'Certificates', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/resources/certificates/', key: 'devtools/terraform/examples/certificates' }, + ]}, + { text: 'Melhores práticas', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/best-practices/', key: 'devtools/terraform/best-practices' }, + { text: 'Migração V3 para V4', header: true, anchor: true, type: 'learn', slug: '/documentacao/produtos/terraform-provider/migration-v3-to-v4/', key: 'devtools/terraform/migration' }, + ]}, ] as const;