Создание переменных Terraform для вложенных объектов

#azure #terraform #terraform-provider-azure

#лазурь #терраформирование #поставщик терраформ-azure

Вопрос:

Ниже приведено объявление переменной для моего модуля terraform, который используется в нашем облаке, и входные данные для этих переменных получены с помощью одного из решений автоматизации. Теперь я хотел бы воспроизвести одну из проблем, для решения которой я хотел бы создать файл tfvars из приведенного ниже определения переменной.

variables.tf:

 variable "docker" {  type = object({  image_name = string  image_location = string  docker_ports = object({  internal = number  external = number  })  rmodelling = object({  lang = object({  version = number  enabled = bool  policy = object({  identification = string  })  })  impl = object({  version = number  enabled = bool  policy = object({  identification = string  })  })  })  }) }  

Я пробовал что-то подобное, но для следующего вложенного возражения я не совсем уверен, как их можно подавить. Может ли кто-нибудь направить или дать несколько советов?

terraform.tfvars:

 docker = {  image_name = "Ubuntu 18.04"  image_location = "https://registry.jd.com/ubuntu/lt;custom_locationgt;"  docker_ports = {  internal = 80  external = 443  } rmodelling = { ?? ???  

Ответ №1:

Примером допустимого значения для вашего var.docker является:

 docker = {  image_name = "Ubuntu 18.04"  image_location = "https://registry.jd.com/ubuntu/lt;custom_locationgt;"  docker_ports = {  internal = 80  external = 443  }  rmodelling = {   lang = {  version = 3  enabled = true  policy = {  identification = "test"  }  }  impl = {  version = 4  enabled = false  policy = {  identification = "test2"  }   }   }   }