0

我需要将“client_secret”输出值作为“tenant_app_password”的输入

变量.tf

variable "tenant_app_password" {
  description = ""
}

创建服务主体.tf

resource "random_string" "password" {
  length  = 32
  special = true
}

# Create Service Principal Password
 resource "azuread_service_principal_password" "test_sp_pwd" {
 service_principal_id =  azuread_service_principal.test_sp.id
 value                = random_string.password.result
 end_date       = "2020-01-12T07:10:53+00:00" 
}

输出

output "client_secret" {
  value     = "${azuread_service_principal_password.wvd_sp_pwd.value}"
  sensitive = true
}

我们有什么办法吗???

4

1 回答 1

1

我假设您想在另一个 Terraform 中使用一个运行的输出。您可以通过使用远程状态数据源提供程序来做到这一点。

您不能将原始输出放在变量中,但您可以将远程输出直接用作另一个模板中的变量。例如,在您的第二个模板中:

// set up the remote state data source

data "terraform_remote_state" "foo" {
  backend = "s3"

  config = {
    bucket  = "<your bucket name>"
    key     = "<your statefile name.tfstate"
    region  = "<your region>"
  }
}


// use it 

resource "kubernetes_secret" "bar" {
  metadata {
    name = "bar"
  }

  data = {
    client_secret = data.terraform_remote_state.foo.outputs.client_secret
  }

}

也看看这个问题

于 2020-02-06T12:39:43.620 回答