Terraform 0.11 - aws_availability_zone

डेटा स्रोत: aws_avavour_zone




terraform

डेटा स्रोत: aws_avavour_zone

aws_availability_zone वर्तमान क्षेत्र में एक विशिष्ट उपलब्धता क्षेत्र (AZ) के बारे में विवरण प्रदान करता है।

यह एक चर में दिए गए उपलब्धता क्षेत्र को मान्य करने और AWS क्षेत्र के घटक भागों में AZ नाम और एक AZ पहचानकर्ता पत्र को विभाजित करने के लिए दोनों का उपयोग किया जा सकता है। उत्तरार्द्ध उपयोगी हो सकता है उदाहरण के लिए नेटवर्क क्षेत्रों के लिए क्षेत्र और सबनेट पत्र दोनों को मैप करके कई क्षेत्रों में लगातार सबनेट नंबरिंग योजना को लागू करना।

यह aws_availability_zones (बहुवचन) डेटा स्रोत से अलग है, जो उपलब्ध ज़ोन की सूची प्रदान करता है।

उदाहरण उपयोग

निम्न उदाहरण से पता चलता है कि यह डेटा स्रोत VPC और सबनेट CIDR उपसर्गों को व्यवस्थित रूप से एक उपलब्धता क्षेत्र के लिए कैसे प्राप्त किया जा सकता है।

variable "region_number" {
  # Arbitrary mapping of region name to number to use in
  # a VPC's CIDR prefix.
  default = {
    us-east-1      = 1
    us-west-1      = 2
    us-west-2      = 3
    eu-central-1   = 4
    ap-northeast-1 = 5
  }
}

variable "az_number" {
  # Assign a number to each AZ letter used in our configuration
  default = {
    a = 1
    b = 2
    c = 3
    d = 4
    e = 5
    f = 6
  }
}

# Retrieve the AZ where we want to create network resources
# This must be in the region selected on the AWS provider.
data "aws_availability_zone" "example" {
  name = "eu-central-1a"
}

# Create a VPC for the region associated with the AZ
resource "aws_vpc" "example" {
  cidr_block = "${cidrsubnet("10.0.0.0/8", 4, var.region_number[data.aws_availability_zone.example.region])}"
}

# Create a subnet for the AZ within the regional VPC
resource "aws_subnet" "example" {
  vpc_id     = "${aws_vpc.example.id}"
  cidr_block = "${cidrsubnet(aws_vpc.example.cidr_block, 4, var.az_number[data.aws_availability_zone.example.name_suffix])}"
}

तर्क संदर्भ

इस डेटा स्रोत के तर्क उपलब्ध उपलब्धता क्षेत्रों को क्वेरी करने के लिए फ़िल्टर के रूप में कार्य करते हैं। दिए गए फ़िल्टर ठीक उसी उपलब्धता क्षेत्र से मेल खाने चाहिए, जिसका डेटा विशेषताओं के रूप में निर्यात किया जाएगा।

  • name - (वैकल्पिक) उपलब्धता क्षेत्र का पूरा नाम चयन करने के लिए।

  • state - (वैकल्पिक) आवश्यकता के लिए एक विशिष्ट उपलब्धता क्षेत्र राज्य। "available" , "information" या "impaired" कोई भी हो सकता है।

इस डेटा स्रोत के सभी उचित उपयोग name निर्दिष्ट करेंगे, क्योंकि state अकेले एक ही क्षेत्र में केवल एक ही AZ से मेल खाता होगा।

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • name - चयनित उपलब्धता क्षेत्र का नाम।

  • region - वह क्षेत्र जहाँ चयनित उपलब्धता क्षेत्र रहता है। यह हमेशा प्रदाता पर चयनित क्षेत्र होता है, क्योंकि यह डेटा स्रोत केवल उस क्षेत्र में खोज करता है।

  • name_suffix - AZ नाम का वह भाग जो क्षेत्र के नाम के बाद प्रकट होता है, विशिष्ट रूप से अपने क्षेत्र में AZ की पहचान करता है।

  • state - AZ की वर्तमान स्थिति।