Hcl2 input variables, local variables and functions (#8588)
Mainly redefine or reused what Terraform did.
* allow to used `variables`, `variable` and `local` blocks
* import the following functions and their docs from Terraform: abs, abspath, basename, base64decode, base64encode, bcrypt, can, ceil, chomp, chunklist, cidrhost, cidrnetmask, cidrsubnet, cidrsubnets, coalesce, coalescelist, compact, concat, contains, convert, csvdecode, dirname, distinct, element, file, fileexists, fileset, flatten, floor, format, formatdate, formatlist, indent, index, join, jsondecode, jsonencode, keys, length, log, lookup, lower, max, md5, merge, min, parseint, pathexpand, pow, range, reverse, rsadecrypt, setintersection, setproduct, setunion, sha1, sha256, sha512, signum, slice, sort, split, strrev, substr, timestamp, timeadd, title, trim, trimprefix, trimspace, trimsuffix, try, upper, urlencode, uuidv4, uuidv5, values, yamldecode, yamlencode, zipmap.
2020-02-06 05:49:21 -05:00
|
|
|
|
|
|
|
variables {
|
|
|
|
foo = "value"
|
|
|
|
// my_secret = "foo"
|
|
|
|
// image_name = "foo-image-{{user `my_secret`}}"
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "image_id" {
|
|
|
|
type = string
|
|
|
|
default = "image-id-default"
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "port" {
|
|
|
|
type = number
|
|
|
|
default = 42
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "availability_zone_names" {
|
|
|
|
type = list(string)
|
2020-02-20 04:51:34 -05:00
|
|
|
default = ["A", "B", "C"]
|
Hcl2 input variables, local variables and functions (#8588)
Mainly redefine or reused what Terraform did.
* allow to used `variables`, `variable` and `local` blocks
* import the following functions and their docs from Terraform: abs, abspath, basename, base64decode, base64encode, bcrypt, can, ceil, chomp, chunklist, cidrhost, cidrnetmask, cidrsubnet, cidrsubnets, coalesce, coalescelist, compact, concat, contains, convert, csvdecode, dirname, distinct, element, file, fileexists, fileset, flatten, floor, format, formatdate, formatlist, indent, index, join, jsondecode, jsonencode, keys, length, log, lookup, lower, max, md5, merge, min, parseint, pathexpand, pow, range, reverse, rsadecrypt, setintersection, setproduct, setunion, sha1, sha256, sha512, signum, slice, sort, split, strrev, substr, timestamp, timeadd, title, trim, trimprefix, trimspace, trimsuffix, try, upper, urlencode, uuidv4, uuidv5, values, yamldecode, yamlencode, zipmap.
2020-02-06 05:49:21 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
locals {
|
|
|
|
feefoo = "${var.foo}_${var.image_id}"
|
|
|
|
}
|
2020-02-20 04:51:34 -05:00
|
|
|
|
|
|
|
|
|
|
|
locals {
|
|
|
|
standard_tags = {
|
|
|
|
Component = "user-service"
|
|
|
|
Environment = "production"
|
|
|
|
}
|
|
|
|
|
|
|
|
abc_map = [
|
|
|
|
{id = "a"},
|
|
|
|
{id = "b"},
|
|
|
|
{id = "c"},
|
|
|
|
]
|
|
|
|
}
|