Terraform 0.11 - Command: output

कमान: आउटपुट




terraform

कमान: आउटपुट

राज्य फ़ाइल से आउटपुट चर का मान निकालने के लिए terraform output कमांड का उपयोग किया जाता है।

प्रयोग

उपयोग: terraform output [options] [NAME]

अतिरिक्त तर्कों के साथ, output रूट मॉड्यूल के लिए सभी output प्रदर्शित करेगा। यदि कोई आउटपुट NAME निर्दिष्ट किया जाता है, तो केवल उस आउटपुट का मान मुद्रित किया जाता है।

कमांड-लाइन झंडे सभी वैकल्पिक हैं। उपलब्ध झंडों की सूची इस प्रकार है:

  • -json - यदि निर्दिष्ट किया जाता है, तो आउटपुट JSON ऑब्जेक्ट के रूप में स्वरूपित होता है, जिसमें एक आउटपुट प्रति कुंजी होता है। यदि NAME निर्दिष्ट है, तो केवल निर्दिष्ट आउटपुट वापस किया जाएगा। इसे आगे की प्रक्रिया के लिए jq जैसे टूल में पाइप किया जा सकता है।
  • -state=path - राज्य फ़ाइल का पथ। "Terraform.tfstate" के लिए डिफ़ॉल्ट। दूरस्थ अवस्था का उपयोग करने पर ध्यान नहीं दिया जाता है।
  • -module=module_name - मॉड्यूल पथ जिसे आउटपुट की आवश्यकता होती है। डिफ़ॉल्ट रूप से यह रूट पथ है। अन्य मॉड्यूल को अवधि-अलग-अलग सूची द्वारा निर्दिष्ट किया जा सकता है। उदाहरण: "फू" मॉड्यूल "फू" का संदर्भ देगा लेकिन "फू" शब्द "फू" मॉड्यूल में "बार" मॉड्यूल को संदर्भित करेगा।

उदाहरण

ये उदाहरण निम्नलिखित टेराफॉर्म आउटपुट स्निपेट को मानते हैं।

output "lb_address" {
  value = "${aws_alb.web.public_dns}"
}

output "instance_ips" {
  value = ["${aws_instance.web.*.public_ip}"]
}

सभी आउटपुट को सूचीबद्ध करने के लिए:

$ terraform output

लोड बैलेंसर के DNS पते के लिए क्वेरी करने के लिए:

$ terraform output lb_address
my-app-alb-1657023003.us-east-1.elb.amazonaws.com

सभी उदाहरणों के लिए क्वेरी करने के लिए IP पते:

$ terraform output instance_ips
test = [
    54.43.114.12,
    52.122.13.4,
    52.4.116.53
]

किसी सूची में एक विशेष मूल्य के लिए क्वेरी करने के लिए, -json और JSON कमांड लाइन पार्सर जैसे -json उपयोग करें। उदाहरण के लिए, पहले उदाहरण के IP पते के लिए क्वेरी करने के लिए:

$ terraform output -json instance_ips | jq '.value[0]'