Terraform 0.11 - aws_subnet

डेटा स्रोत: aws_subnet




terraform

डेटा स्रोत: aws_subnet

aws_subnet एक विशिष्ट VPC सबनेट के बारे में विवरण प्रदान करता है।

यह संसाधन उपयोगी साबित हो सकता है जब एक मॉड्यूल एक सबनेट आईडी को इनपुट चर के रूप में स्वीकार करता है और उदाहरण के लिए, उस वीपीसी की आईडी का निर्धारण करता है जो सबनेट से संबंधित है।

उदाहरण उपयोग

निम्न उदाहरण से पता चलता है कि कोई व्यक्ति सबनेट आईडी को एक चर के रूप में कैसे स्वीकार कर सकता है और सुरक्षा समूह बनाने के लिए आवश्यक डेटा प्राप्त करने के लिए इस डेटा स्रोत का उपयोग करता है जो उस सबनेट में मेजबान से कनेक्शन की अनुमति देता है।

variable "subnet_id" {}

data "aws_subnet" "selected" {
  id = "${var.subnet_id}"
}

resource "aws_security_group" "subnet" {
  vpc_id = "${data.aws_subnet.selected.vpc_id}"

  ingress {
    cidr_blocks = ["${data.aws_subnet.selected.cidr_block}"]
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
  }
}

तर्क संदर्भ

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

  • availability_zone - (वैकल्पिक) उपलब्धता क्षेत्र जहां सबनेट का निवास होना चाहिए।

  • cidr_block - (वैकल्पिक) वांछित सबनेट का cidr ब्लॉक।

  • ipv6_cidr_block - (वैकल्पिक) वांछित सबनेट का Ipv6 cidr ब्लॉक

  • default_for_az - (वैकल्पिक) बूलियन बाधा के लिए कि क्या वांछित सबनेट अपने उपलब्धता क्षेत्र के लिए डिफ़ॉल्ट सबनेट होना चाहिए।

  • filter - (वैकल्पिक) कस्टम फ़िल्टर ब्लॉक जैसा कि नीचे वर्णित है।

  • id - (वैकल्पिक) पुनः प्राप्त करने के लिए विशिष्ट सबनेट की आईडी।

  • state - (वैकल्पिक) वांछित सबनेट होना चाहिए कि राज्य।

  • tags - (वैकल्पिक) टैग्स की मैपिंग, जिनमें से प्रत्येक जोड़ी को वांछित सबनेट पर एक जोड़ी से मेल खाना चाहिए।

  • vpc_id - (वैकल्पिक) वांछित सबनेट से संबंधित VPC की आईडी।

एक या अधिक filter सब-ब्लॉक का उपयोग करके अधिक जटिल फिल्टर व्यक्त किए जा सकते हैं, जो निम्नलिखित तर्क लेते हैं:

  • name - (आवश्यक) अंतर्निहित एडब्ल्यूएस एपीआई द्वारा परिभाषित के अनुसार फ़िल्टर करने के लिए फ़ील्ड का नाम। उदाहरण के लिए, यदि टैग Name विरुद्ध मिलान किया जाता है, तो उपयोग करें:
  filter {
    name = "tag:Name"
    values = ...
  }
  • values - (आवश्यक) दिए गए फ़ील्ड के लिए स्वीकृत मानों का सेट। यदि किसी दिए गए मानों में से कोई एक मेल करता है, तो एक सबनेट का चयन किया जाएगा।

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

filter ब्लॉक को छोड़कर सभी तर्क विशेषताओं को परिणाम विशेषताओं के रूप में भी निर्यात किया जाता है। यह डेटा स्रोत चयनित सबनेट के लिए डेटा के साथ कॉन्फ़िगरेशन में शामिल नहीं किए गए किसी भी फ़ील्ड को पॉप करके डेटा को पूरा करेगा।