Home Máy chủLinux Cấu hình tính năng Variable Validation trong Terraform

Cấu hình tính năng Variable Validation trong Terraform

by admincp

Cấu hình tính năng Variable Validation trong Terraform – Cuongquach.com | Chúng ta sẽ thử tính năng mới của Terraform từ phiên bản “0.13.0” mang tên: Variable Validation. Tính năng này sẽ giúp cho bạn kiểm tra điều kiện đầu vào của các variable mà bạn mong muốn sử dụng. Lưu ý: tính năng này chỉ hỗ trợ từ Terraform 0.13.0 trở lên nhé.

variable-validation-terraform

Cấu hình sử dụng Variable Validation trong Terraform

Cú pháp:

variable "name" {
  description = "Something"

  validation {
    condition     = rule
    error_message = "Your message"
  }
}

Lưu ý:
– Ở phần condition bạn có thể kết hợp một hoặc nhiều nội dung kiểm tra lại với nhau. Nếu kết quả kiểm tra là true thì là pass phần kiểm tra điều kiện, nếu kết quả kiểm tra là false thì sẽ xuất thông báo lỗi trong error_message.

Kiểm tra phiên bản Terraform binary.

# terraform --version
Terraform v0.13.5

Code đơn giản nội dung khởi tạo một AWS EC2 Instance.

# main.tf
terraform {
  required_version = ">= 0.13.0"
}

provider "aws" {}

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical
}

resource "aws_instance" "web" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = var.instance_type

  tags = {
    Name = "CuongQuach-Lab"
  }
}
# variables.tf
variable "instance_type" {
  description = "Instance type"
  type        = string

  validation {
    condition     = contains(["t3.micro", "t3.small", "t3.medium"], var.instance_type)
    error_message = "Your input instance type is not allowed."
  }
}
# terraform.auto.tfvars
instance_type = "t3.large"

Bạn có thể thấy trong file variables.tf , ở phần khai báo variable instance_type, mình có set điều kiện cụ thể là chỉ những instance_type nằm trong danh sách: t3.micro, t3.small, t3.medium. Mới được phép sử dụng, còn nếu ngoài sẽ xuất thông báo lỗi như error_message.

Chạy thử nhé.

# terraform init
# terraform plan

Error: Invalid value for variable

on variables.tf line 1:
1: variable "instance_type" {

Your input instance type is not allowed.

This was checked by the validation rule at variables.tf:5,3-13.

Dễ hiểu phải không nào.

Nguồn: https://vinastar.com/

You may also like

Leave a Comment