Aquesta és una revisió antiga del document


terraform variables

  • bloque declaración/valor por defecto:
    variable "image_id" {
      type = string
    }
     
    variable "availability_zone_names" {
      type    = list(string)
      default = ["us-west-1a"]
    }
     
    variable "docker_ports" {
      type = list(object({
        internal = number
        external = number
        protocol = string
      }))
      default = [
        {
          internal = 8300
          external = 8300
          protocol = "tcp"
        }
      ]
    }
    • type (constraints) = bool, number, string, list(), set(), map(), object(), tuple([…])
    • default
    • description
    • validation {condition,error_message} → en pruebas
  • uso:
    var.<NOMBRE_DECLARATIVO>
  • mediante parámetro en el cli -var='<KEY>=«<VALUE>»'
  • usando ficheros de definición de variables: *.tfvars o *.tfvars.json
    • que se pueden cargar automáticamente
      image_id = "ami-abc123"
      availability_zone_names = [
        "us-east-1a",
        "us-west-1c",
      ]
      • terraform.tfvars o terraform.tfvars.json
      • *.auto.tfvars o *.auto.tfvars.json
    • o especificado como parámetro en el cli -var-file=«<FILE.TFVARS>»
    • en estos ficheros solo se realiza la asignación de la variable
    • los ficheros acabados en JSON se parsean como objeto
      {
        "image_id": "ami-abc123",
        "availability_zone_names": ["us-west-1a", "us-west-1c"]
      }
  • variables de entorno:
    • cualquier variables que empiece por TF_VAR_
  • orden de preferencia (orden en el cargan, el posterior prevalece al anterior):
    1. terraform.tfvars
    2. terraform.tfvars.json
    3. *.auto.tfvars o *.auto.tfvars, alfabéticamente
    4. -var o -var-file
  • tech/terraform/variables.1585124819.txt.gz
  • Darrera modificació: 25/03/2020 01:26
  • per mate