バージョンの指定
Terraform、OCI Terraformプロバイダおよびモジュールのバージョンを指定および固定します。
構成ファイルでコールするTerraform、Oracle Cloud Infrastructure (OCI) TerraformプロバイダおよびTerraformモジュールのすべてに変更が導入されたり、新機能が追加されたりすることがあります。これらの変更が行われると、新しいバージョンがリリースされます。
構成がOCIリソースに一貫して適用されるように、Terraform構成ファイルでこれらのコンポーネントのバージョンを明示的に設定できます。
Terraform CLIのバージョン
Terraform構成で特定のバージョンのTerraform CLIを使用する必要がある場合は、terraform
ブロック内でrequired_version
設定を使用して指定できます。例:
terraform {
required_version = ">= 0.12.16"
}
詳細は、必要なTerraformバージョンの指定を参照してください。
プロバイダ・バージョン
TerraformがOCIリソースと対話する際に使用するOCI Terraformプロバイダのバージョンを制御できます。この機能は、構成が特定のバージョンのプロバイダで導入された機能に依存している場合、または特定のバージョンのプロバイダでのみテストされている場合に特に役立ちます。
ユースケースに応じて、>=
または=
演算子でバージョンを指定できます。
詳細は、プロバイダ要件の指定を参照してください。
Terraform v0.12以前の使用
Terraform v0.12以前では、provider
ブロック内でversion
を指定できました。例:
provider "oci" {
version = ">= 3.27.0"
region = "${var.region}"
…
}
Terraform v0.13の使用
Terraform v0.13では、provider
ブロック内のversion
は非推奨になりました。かわりに、バージョンはrequired_providers
ブロック内で指定する必要があります。例:
terraform {
required_providers {
oci = {
source = "hashicorp/oci"
version = ">= 4.0.0"
}
}
...
}
モジュールのバージョン
Terraform CLIおよびOCI Terraformプロバイダのバージョンの指定に加え、Terraformモジュールのバージョンも指定できます。
新しいバージョンのTerraformコアを使用するようにモジュールがアップグレードされているが、以前のバージョンのTerraformを使用している場合は、互換性のあるバージョンのモジュールを指定できます。特定のバージョンのモジュールでのみ構成がテストされている場合は、そのバージョンを指定して互換性を確保できます。
モジュールではversion
引数を使用できます。例:
module "oke" {
source = "oracle-terraform-modules/oke/oci"
version = "1.0.0"
# insert required variables here
}
詳細は、モジュール・ブロックを参照してください。