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

112

Cấu hình tính năng Variable Validation trong TerraformCuongquach.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://cuongquach.com/

Previous articleDownload VMware Workstation Pro 16 Full Key – Phần mềm ảo hóa quyền năng nhất
Next articleHashiCorp Certified: Terraform Associate Practice Exam 2020 – Exam 1 (Q1-Q30)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !

LEAVE A REPLY

Please enter your comment!
Please enter your name here