पैकेज उपनिर्देशिकाओं में संग्रहीत टेराफॉर्म मॉड्यूल को नेविगेट करना

कोड के रूप में इंफ्रास्ट्रक्चर के क्षेत्र में, टेराफॉर्म मॉड्यूल आपके जीवन को आसान बनाने में महत्वपूर्ण भूमिका निभा सकते हैं। हालाँकि, कभी-कभी, ये मॉड्यूल अपने स्रोत पैकेज की मूल निर्देशिका में नहीं रहते हैं। इसके बजाय, वे उप-निर्देशिकाओं में रहते हैं। शुक्र है, टेराफॉर्म के पास इन नेस्टेड मॉड्यूल तक पहुंचने में आपकी मदद करने का एक स्मार्ट तरीका है।

टेराफॉर्म सटीक उप-निर्देशिका को इंगित करने में मदद करने के लिए एक अद्वितीय डबल-स्लैश (//) सिंटैक्स का उपयोग करता है जहां मॉड्यूल स्थित है। इस डबल-स्लैश सिंटैक्स का अनुसरण करने वाले पथ को पैकेज या रिपॉजिटरी के भीतर एक उप-निर्देशिका माना जाता है।

इस अवधारणा को स्पष्ट करने के लिए यहां कुछ उदाहरण दिए गए हैं:

  • AWS में कॉन्सल मॉड्यूल का उपयोग करना: hashicorp/consul/aws//modules/consul-cluster
  • Git रिपॉजिटरी में VPC मॉड्यूल की ओर इशारा करना: git::https://example.com/network.git//modules/vpc
  • ज़िप फ़ाइल से VPC मॉड्यूल तक पहुँचना: https://example.com/network-module.zip//modules/vpc
  • S3 बकेट से VPC मॉड्यूल पुनर्प्राप्त करना: s3::https://s3-eu-west-1.amazonaws.com/examplecorp-terraform-modules/network.zip//modules/vpc

अब, यदि आप संस्करण नियंत्रण स्रोतों के साथ काम कर रहे हैं और आपको किसी विशेष संस्करण को निर्दिष्ट करने के लिए ref जैसे तर्क शामिल करने की आवश्यकता है, तो सुनिश्चित करें कि उप-निर्देशिका पथ इन तर्कों से पहले आता है। उदाहरण के लिए:

  • कोड_ब्लॉक_6

ध्यान देने वाली एक और बात यह है कि जब आप इस सुविधा का उपयोग करते हैं, तो टेराफॉर्म पूरे पैकेज को आपकी स्थानीय मशीन पर डाउनलोड कर देगा। हालाँकि, यह केवल निर्दिष्ट उप-निर्देशिका में मौजूद मॉड्यूल का उपयोग करेगा। इसका मतलब यह भी है कि यदि आपके पास एक ही पैकेज के भीतर एक-दूसरे के साथ बातचीत करने वाले मॉड्यूल हैं, तो वे स्थानीय पथों का उपयोग करके एक-दूसरे को सुरक्षित रूप से संदर्भित कर सकते हैं।

अधिक जानकारी के लिए, आप Modules in Package Subdirectories पर आधिकारिक टेराफ़ॉर्म दस्तावेज़ देख सकते हैं।

उपनिर्देशिकाओं को नेविगेट करना एक मामूली सुविधा की तरह लग सकता है, लेकिन यह एक शक्तिशाली उपकरण है जो बाहरी मॉड्यूल का प्रभावी ढंग से लाभ उठाते हुए आपके कोडबेस को व्यवस्थित रखने में आपकी मदद करता है। हैप्पी कोडिंग!