Могу ли я передать значения выходных данных / resources.id Terraform в любую переменную, присутствующую в файле variable.tf?

Мне нужно иметь выходное значение "client_secret" в качестве входных данных для "tenant_app_password"

переменные.tf

variable "tenant_app_password" {
  description = ""
}

Создать-сервис-principal.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
}

Есть ли у нас какой-либо возможный способ ???


person swetank soni    schedule 06.02.2020    source источник
comment
Это два отдельных модуля?   -  person Matt Schuchard    schedule 06.02.2020


Ответы (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
  }

}

Также проверьте этот вопрос.

person Rutger de Knijf    schedule 06.02.2020