Autres

Dates

Unités duration acceptées: “ns”, “us” (or “µs”), “ms”, “s”, “m”, and “h”

# formatdate(format, date)
# Formatter date avec le motif donné
> formatdate("DD MMM YYYY hh:mm:ss", "2024-12-31T23:59:59Z")
"31 Dec 2024 23:59:59"

# timestamp()
# Date au moment de l'exécution du bloc en cours
> timestamp()
"2024-03-18T14:54:56Z"

# plantimestamp()
# Date au moment du lancement de la commande terraform
> plantimestamp()
"2024-03-18T14:54:56Z"

# timeadd(date, duration)
# Ajouter une durée donné à la date
> timeadd("2017-11-22T00:00:00Z", "10m")
"2017-11-22T00:10:00Z"

# timecmp(date_ref, date_compare)
# Vérifie si date_ref est plus récent que date_compare
> timecmp("2017-11-22T00:00:00Z", "2017-11-22T00:00:00Z")
0
> timecmp("2017-11-22T00:00:00Z", "2017-11-22T01:00:00Z")
-1
> timecmp("2017-11-22T01:00:00Z", "2017-11-22T00:00:00Z")
1

Logique

Sensitive

IP network

# cidrhost(prefix, hostnum)
# Calcule une adresse IP à partir de l'adresse du réseau au format CIDR et du numéro d'hôte
> cidrhost("127.0.0.1/8", 256)
"127.0.1.0"

# cidrnetmask(prefix)
# Calcule le masque réseau à partir de l'adresse du réseau au format CIDR
> cidrnetmask("172.16.2.140/24")
"255.255.255.0"

# cidrsubnet(prefix, newbits, netnum)
# Calcule l'adresse d'un sous-réseau à partir de l'adresse du réseau, la taille et le numéro du sous-réseau
> cidrsubnet("10.0.0.0/8", 8, 1)
"10.1.0.0/16"

# cidrsubnets(prefix, newbits...)
# Permet de générer la liste des sous-réseaux
> cidrsubnets("10.0.0.0/8", 1, 2, 3)
tolist([
  "10.0.0.0/9",
  "10.128.0.0/10",
  "10.192.0.0/11",
])

Util

Pour afficher la signature de toutes les fonctions supportées par Terraform:

$ terraform metadata functions -json

Documentation: metadata