CertMaster

🏗️ Built-in Functions & Expressions

String, numeric, collection, encoding functions va type constraints

Terraform Associate · TF-Associate · ⏱️ 22 min · ❓ 4 savol

🔧 String Functions

`format("Hello, %s!", var.name)` — string interpolation. `tostring()`, `lower()`, `upper()`, `trimspace()`, `replace()`, `split()`, `join()`. `substr(str, offset, length)` — substring. Terraform da string interpolation: `"${var.env}-server"`.

📋 Collection Functions

`length(list)` — element soni. `toset()` — listni set ga. `tolist()` — sett ni list ga. `flatten([[a,b],[c]])` → `[a,b,c]`. `distinct()` — takrorlanishlarni olib tashlash. `merge(map1, map2)` — maplarni birlashtirish. `keys()`, `values()` — map elements. `lookup(map, key, default)` — xavfsiz qidirish.

🔢 Numeric & Type Functions

`max(a,b,c)`, `min(a,b,c)`, `abs(n)`, `ceil(n)`, `floor(n)`. `tonumber()`, `tobool()`. Type constraints: `string`, `number`, `bool`, `list(type)`, `set(type)`, `map(type)`, `object({key=type})`, `tuple([type,...])`. `any` — istalgan tip.

🧩 Conditional & Dynamic Expressions

Ternary: `condition ? true_val : false_val`. For expression: `[for s in var.list : upper(s)]`. Map for: `{for k, v in var.map : k => v * 2}`. `for_each` + `for` kombinatsiya. Splat operator: `aws_instance.web[*].id` — list dan attribute olish.
💡 Asosiy nuqtalar
📋 Kod misoli
# String functions
locals {
  env     = "production"
  prefix  = format("%s-%s", var.project, local.env)
  tags    = join(", ", ["web", "api", "db"])
  parts   = split("-", "us-east-1")  # ["us","east","1"]
}

# Collection functions
variable "instance_names" {
  default = ["web", "api", "api", "db"]
}

locals {
  unique_names = toset(var.instance_names)  # {"api","db","web"}
  upper_names  = [for n in var.instance_names : upper(n)]
  name_map     = {for n in toset(var.instance_names) : n => "t3.micro"}
}

# Conditional
locals {
  instance_type = var.env == "prod" ? "t3.large" : "t3.micro"
}

# Lookup with default
locals {
  ami = lookup(var.ami_map, var.region, "ami-default")
🎯 Imtihon maslahatlari
⚠️ Ko'p adashadigan
🧠 Eslab qolish: "SCNF" = String (format/join/split), Collection (merge/flatten/toset), Numeric (max/min/ceil), For-expression — Terraform 4 asosiy function kategoriyasi

Built-in Functions & Expressions bo'yicha o'zingizni sinab ko'ring

Bepul interaktiv quiz, mock imtihon va to'liq darslar — CertMaster platformasida.

Bepul boshlash →