地形。访问提供商指定的当前 Oracle Cloud 租户
Terraform. Access the current Oracle Cloud tenancy specified by provider
我的 Terraform 脚本有一个 OCI 提供程序:
provider "oci" {
region = "eu-frankfurt-1"
}
其中所有属性都是通过环境变量定义的 as specified by Oracle。
export TF_VAR_tenancy_ocid=...
export TF_VAR_user_ocid=...
脚本的其他元素需要租户的 ID。有没有办法在不再次读取环境变量的情况下获取 ID 或当前租户?
Terraform 的 AWS 提供商允许将当前帐户引用为:
data "aws_caller_identity" "current" {}
output "account_id" {
value = data.aws_caller_identity.current.account_id
}
OCI 有类似的东西吗?
由于租户 ID 已经在环境变量 TF_VAR_tenancy_ocid 中设置,您只需声明一个变量:
variable "tenancy_ocid" {
description = "Tenancy OCID"
}
确保上面的变量名与 TF_VAR_
之后的任何内容完全匹配
Terraform 使用 TF_VAR_variable-name
设置的环境变量自动设置这些变量的值
然后您可以使用如下值:
output "account_id" {
value = var.tenancy_ocid
}
您还可以在 terraform oci 提供程序文档中查找数据源 docs
我的 Terraform 脚本有一个 OCI 提供程序:
provider "oci" {
region = "eu-frankfurt-1"
}
其中所有属性都是通过环境变量定义的 as specified by Oracle。
export TF_VAR_tenancy_ocid=...
export TF_VAR_user_ocid=...
脚本的其他元素需要租户的 ID。有没有办法在不再次读取环境变量的情况下获取 ID 或当前租户?
Terraform 的 AWS 提供商允许将当前帐户引用为:
data "aws_caller_identity" "current" {}
output "account_id" {
value = data.aws_caller_identity.current.account_id
}
OCI 有类似的东西吗?
由于租户 ID 已经在环境变量 TF_VAR_tenancy_ocid 中设置,您只需声明一个变量:
variable "tenancy_ocid" {
description = "Tenancy OCID"
}
确保上面的变量名与 TF_VAR_
之后的任何内容完全匹配Terraform 使用 TF_VAR_variable-name
设置的环境变量自动设置这些变量的值然后您可以使用如下值:
output "account_id" {
value = var.tenancy_ocid
}
您还可以在 terraform oci 提供程序文档中查找数据源 docs