मैं टेराफॉर्म सीख रहा हूं और टेराफॉर्म में for_each लूप पुनरावृत्ति को समझने की कोशिश कर रहा हूं।

मैं Azure क्लाउड में RGs बनाने के लिए एक लूप के माध्यम से पुनरावृति कर रहा हूं और जो मैं समझना चाहता हूं वह . या [""]। तो उदाहरण के लिए, नीचे मेरी tfvar फ़ाइल है:

resource_groups = {
  resource_group_1 = {
    name     = "terraform-apply-1"
    location = "eastus2"
    tags = {
      created_by = "vivek89@test.com"
    }
  },
  resource_group_2 = {
    name     = "terraform-apply-2"
    location = "eastus2"
    tags = {
      created_by = "vivek89@test.com"
    }
  },

  resource_group_3 = {
    name     = "terraform-apply-3"
    location = "eastus2"
    tags = {
      created_by = "vivek89@test.com"
      contact_dl = "vivek89@test.com"
    }
  }
}

और नीचे मेरी टेराफॉर्म main.tf फ़ाइल है:

resource "azurerm_resource_group" "terraformRG" {
  for_each = var.resource_groups
  name = each.value.name
  location = each.value.location
  tags = each.value.tags
}

मैं आरजी निर्माण खंड में for_each में अभिव्यक्ति के साथ उलझन में हूँ। नीचे दिए गए दोनों कोड काम करते हैं और RG बनाते हैं:

name = each.value.name
name = each.value["name"]

मैं दोनों के बीच का अंतर समझना चाहता हूं और कौन सा सही है।

2
vivek mishra 22 अक्टूबर 2021, 08:45
1
मैंने यह भी देखा कि आपके लगभग सभी प्रश्नों के उत्तर हैं, फिर भी केवल एक ही उत्तर स्वीकार किया गया है। अच्छे उत्तरों को स्वीकार करना न केवल एक अच्छा अभ्यास है, बल्कि यह डुप्लिकेट की संख्या को कम करता है और आपके प्रश्नों के वास्तव में उत्तर दिए जाने की संभावना को बढ़ाता है।
 – 
Marcin
22 अक्टूबर 2021, 08:46
ज़रूर मार्सिन। धन्यवाद। मैं करूँगा।
 – 
vivek mishra
22 अक्टूबर 2021, 08:56

1 उत्तर

सबसे बढ़िया उत्तर

दस्तावेज़ में बताए अनुसार वे समकक्ष हैं :

मैप/ऑब्जेक्ट एट्रिब्यूट्स को ऐसे नामों के साथ एक्सेस किया जा सकता है जो वैध पहचानकर्ता हैं, जिन्हें डॉट-सेपरेटेड एट्रिब्यूट नोटेशन का उपयोग करके भी एक्सेस किया जा सकता है, जैसे कि local.object.attrname। ऐसे मामलों में जहां किसी मानचित्र में मनमानी उपयोगकर्ता-निर्दिष्ट कुंजियां हो सकती हैं, हम केवल वर्ग-कोष्ठक अनुक्रमणिका संकेतन (local.map["keyname"]) का उपयोग करने की अनुशंसा करते हैं।

मुख्य अंतर यह है कि dot अंकन को मान्य होने के लिए प्रमुख विशेषताओं की आवश्यकता होती है पहचानकर्ता. इसके विपरीत, वर्ग-कोष्ठक संकेतन किसी भी पहचानकर्ता के साथ काम करता है।

2
Marcin 22 अक्टूबर 2021, 08:50