Terraform के अंतर्निर्मित फ़ंक्शन
अपने कॉन्फ़िगरेशन को बेहतर बनाने के लिए स्ट्रिंग में बदलाव, सूची प्रसंस्करण, प्रकार रूपांतरण और अन्य कार्यों हेतु Terraform के विभिन्न अंतर्निर्मित फ़ंक्शन का अन्वेषण करें।
Terraform के अंतर्निर्मित फ़ंक्शन, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
गतिशील कॉन्फ़िगरेशन सक्षम करें
Terraform के अंतर्निहित फ़ंक्शन छोटे प्रोग्राम की तरह होते हैं, जो आपकी कॉन्फ़िगरेशन फ़ाइलों के भीतर सीधे मानों को संसाधित और रूपांतरित करने में सहायता करते हैं।
इनकी सहायता से आप गतिशील, पुनः उपयोग योग्य और अधिक बुद्धिमान आधारभूत संरचना परिभाषाएँ बना सकते हैं।
- डेटा रूपांतरित करें: स्ट्रिंग, संख्याएँ या सूचियाँ बदलें।
- मानों की गणना करें: गणनाएँ या तार्किक जाँच करें।
- गतिशील सामग्री उत्पन्न करें: तुरंत संसाधन नाम या टैग बनाएँ।
पाठ रूपांतरण
पाठ में बदलाव करने के लिए स्ट्रिंग फ़ंक्शन आवश्यक हैं। दो बुनियादी फ़ंक्शन upper() और lower() हैं, जो किसी स्ट्रिंग के अक्षरों का केस बदलते हैं।
ये नामकरण परंपराओं को मानकीकृत करने या विशिष्ट आवश्यकताओं से मेल कराने के लिए उपयोगी हैं।
variable "region_code" {
type = string
default = "us-east-1"
}
output "upper_region" {
value = upper(var.region_code)
}
output "lower_example" {
value = lower("AWS_REGION")
}स्ट्रिंग जोड़ना और विभाजित करना
join() फ़ंक्शन किसी सूची के तत्वों को निर्दिष्ट विभाजक का उपयोग करके एक स्ट्रिंग में जोड़ता है। इसके विपरीत, split() किसी विभाजक के आधार पर एक स्ट्रिंग को उप-स्ट्रिंग की सूची में विभाजित करता है।
ये डेटा का विश्लेषण करने या जटिल नाम बनाने के लिए शक्तिशाली फ़ंक्शन हैं।
variable "tags_list" {
type = list(string)
default = ["web", "frontend", "prod"]
}
output "joined_tags" {
value = join(",", var.tags_list)
}
output "split_string" {
value = split("-", "server-01-app")
}अपनी कॉन्फ़िगरेशन में गणित
संख्यात्मक फ़ंक्शन आपको बुनियादी गणितीय क्रियाएँ करने में सहायता करते हैं। ceil() मान को ऊपर की ओर पूर्णांकित करता है, floor() नीचे की ओर पूर्णांकित करता है और min()/max() किसी सेट में सबसे छोटे/बड़े मान ढूँढते हैं।
ये संसाधनों की संख्या या आकार की गणना के लिए बहुत उपयोगी हैं।
variable "instance_ratio" {
type = number
default = 3.7
}
output "rounded_up_instances" {
value = ceil(var.instance_ratio)
}
output "rounded_down_instances" {
value = floor(var.instance_ratio)
}
output "smallest_val" {
value = min(10, 5, 12, 8)
}सूचियों के साथ काम करना
सूचियाँ आइटम का क्रमबद्ध संग्रह होती हैं। length() जैसे फ़ंक्शन बताते हैं कि किसी सूची में कितने आइटम हैं और element() संख्यात्मक इंडेक्स (0 से शुरू) के आधार पर कोई आइटम प्राप्त करता है।
पुनरावृत्ति करने या विशिष्ट आइटम चुनने के लिए यह उपयोगी है।
variable "zones" {
type = list(string)
default = ["us-east-1a", "us-east-1b", "us-east-1c"]
}
output "num_zones" {
value = length(var.zones)
}
output "first_zone" {
value = element(var.zones, 0)
}कुंजी-मान डेटा संभालना
मानचित्र डेटा को कुंजी-मान युग्मों के रूप में संग्रहीत करते हैं। lookup() दी गई कुंजी का मान प्राप्त करता है और कुंजी न मिलने पर वैकल्पिक डिफ़ॉल्ट मान भी स्वीकार करता है। merge() कई मानचित्रों को एक मानचित्र में जोड़ता है।
यह मेटाडेटा या संसाधन टैग प्रबंधित करने के लिए आदर्श है।
variable "server_info" {
type = map(string)
default = {
name = "backend-server"
env = "dev"
}
}
variable "additional_info" {
type = map(string)
default = {
owner = "team-a"
}
}
output "server_name" {
value = lookup(var.server_info, "name", "unknown")
}
output "merged_map" {
value = merge(var.server_info, var.additional_info)
}डेटा प्रकार बदलना
कभी-कभी किसी संसाधन के तर्क के लिए मान का किसी विशिष्ट डेटा प्रकार का होना आवश्यक होता है (जैसे, संख्या के बजाय स्ट्रिंग)। tostring() और tonumber() जैसे प्रकार-रूपांतरण फ़ंक्शन इसमें सहायता करते हैं।
यह आपके कॉन्फ़िगरेशन के अलग-अलग हिस्सों के बीच संगतता सुनिश्चित करता है।
variable "port_number" {
type = number
default = 8080
}
output "port_as_string" {
value = tostring(var.port_number)
}
output "string_to_number" {
value = tonumber("123") + 7
}फ़ंक्शन का प्रयोग
जटिल डेटा रूपांतरण करने के लिए अंतर्निहित फ़ंक्शन को एक साथ जोड़ा या एक-दूसरे के भीतर रखा जा सकता है। यह उदाहरण वेरिएबल को जोड़कर, उनमें से एक को बड़े अक्षरों में बदलकर और प्रकारों की शुद्धता सुनिश्चित करके संसाधन का नाम तैयार करता है।
variable "env" {
type = string
default = "dev"
}
variable "service" {
type = string
default = "app"
}
variable "instance_id" {
type = number
default = 1
}
output "resource_name" {
value = join("-", [
upper(var.env),
var.service,
tostring(var.instance_id)
])
}सर्वोत्तम अभ्यास
फ़ंक्शन का उपयोग करते समय स्पष्टता और रखरखाव में आसानी का लक्ष्य रखें:
- पठनीय रखें: यदि फ़ंक्शन को बहुत अधिक एक-दूसरे के भीतर रखने से कोड समझना कठिन हो जाए, तो ऐसा न करें।
- वेरिएबल का उपयोग करें: बेहतर पठनीयता के लिए जटिल मध्यवर्ती परिणामों को स्थानीय वेरिएबल में संग्रहीत करें।
terraform consoleसे परीक्षण करें: फ़ंक्शन को कॉन्फ़िगरेशन में जोड़ने से पहले उनके आउटपुट को देखने के लिए तुरंत प्रयोग करें।
फ़ंक्शन चुनौती
आइए जाँचते हैं कि Terraform के अंतर्निहित फ़ंक्शन एक साथ कैसे काम करते हैं, इसकी आपकी समझ कैसी है।
फ़ंक्शन में महारत हासिल!
आपने Terraform के शक्तिशाली अंतर्निहित फ़ंक्शन का प्रयोग कर लिया है!
अब आप समझते हैं कि अपने कॉन्फ़िगरेशन को गतिशील और अनुकूलनीय बनाने के लिए स्ट्रिंग, संख्यात्मक, संग्रह और प्रकार-रूपांतरण फ़ंक्शन का उपयोग कैसे किया जाता है। Infrastructure as Code को प्रभावी और पुनः उपयोग योग्य बनाने के लिए ये उपकरण अत्यंत महत्वपूर्ण हैं।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “Terraform के अंतर्निर्मित फ़ंक्शन” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Terraform के अंतर्निर्मित फ़ंक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Terraform के अंतर्निर्मित फ़ंक्शन” में मैं क्या सीखूँगा?
अपने कॉन्फ़िगरेशन को बेहतर बनाने के लिए स्ट्रिंग में बदलाव, सूची प्रसंस्करण, प्रकार रूपांतरण और अन्य कार्यों हेतु Terraform के विभिन्न अंतर्निर्मित फ़ंक्शन का अन्वेषण करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“Terraform के अंतर्निर्मित फ़ंक्शन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- `for_each` और `count` के साथ लूप का उपयोग
- Terraform के अंतर्निर्मित फ़ंक्शन
- सशर्त एक्सप्रेशन और Splat
- नेस्टेड विन्यास के लिए गतिशील ब्लॉक