Especificando Versões

Especifique e fixe versões do Terraform, do provedor Terraform do OCI e dos módulos.

O Terraform, o provedor Terraform do Oracle Cloud Infrastructure (OCI) e os módulos do Terraform que você chama em seus arquivos de configuração introduzem alterações ou adicionam novas funcionalidades de tempos em tempos. Conforme essas alterações são feitas, novas versões são lançadas.

Para garantir que suas configurações sejam aplicadas consistentemente aos recursos do OCI, você pode definir explicitamente a versão desses componentes nos arquivos de configuração do Terraform.

Versão da CLI do Terraform

Se a configuração do Terraform exigir o uso de uma versão específica da CLI do Terraform, você poderá especificar isso no bloco terraform usando a definição required_version. Por exemplo:

terraform {
    required_version = ">= 0.12.16"
}

Para obter mais informações, consulte Especificando uma Versão Obrigatória do Terraform.

Observação

O Gerenciador de Recursos gerencia a versão do Terraform com base na versão da pilha. Qualquer versão da CLI especificada é ignorada pelo serviço Gerenciador de Recursos.

Versão do Provedor

Você pode controlar a versão do provedor Terraform do OCI que o Terraform usa ao interagir com os recursos do OCI. Essa capacidade é especialmente útil quando sua configuração depende de recursos introduzidos com uma versão específica do provedor ou quando ela só foi testada com uma versão específica do provedor.

Você pode usar o operador >= ou = para especificar a versão, dependendo do seu caso de uso.

Para obter mais informações, consulte Especificando Requisitos do Provedor.

Usando o Terraform v0.12 ou anterior

O Terraform v0.12 ou anterior permitia especificar version no bloco provider. Por exemplo:

provider "oci" {
    version          = ">= 3.27.0"
    region           = "${var.region}"
    …
}

Usando o Terraform v0.13

O Terraform v0.13 descontinuou o argumento version nos blocos provider. Em vez disso, as versões devem ser especificadas em um bloco required_providers. Por exemplo:

terraform {
    required_providers {
        oci = {
            source  = "hashicorp/oci"
            version = ">= 4.0.0"
        }
    }
    ...
}

Versão do Módulo

Além de especificar a versão da CLI do Terraform e o provedor Terraform do OCI, você também pode especificar a versão dos módulos do Terraform.

Se um módulo tiver sido atualizado para usar uma versão mais recente do núcleo do Terraform, mas você ainda usar uma versão anterior do Terraform, poderá especificar uma versão compatível do módulo. Se suas configurações só tiverem sido testadas com uma versão específica do módulo, você poderá especificar essa versão para garantir a compatibilidade.

Os módulos aceitam o argumento version. Por exemplo:

module "oke" {
    source  = "oracle-terraform-modules/oke/oci"
    version = "1.0.0"
    # insert required variables here
}

Para obter mais informações, consulte Blocos de Módulos.