Terraform 0.11 - Command: state mv

आदेश: राज्य एम.वी.




terraform

आदेश: राज्य एम.वी.

terraform state mv कमांड का उपयोग टेराफॉर्म राज्य में वस्तुओं को स्थानांतरित करने के लिए किया जाता है। यह कमांड एकल संसाधन, संसाधन के एकल उदाहरण, संपूर्ण मॉड्यूल, और बहुत कुछ ले जा सकता है। यह कमांड आइटम को पूरी तरह से अलग राज्य फ़ाइल में भी स्थानांतरित कर सकता है, जिससे सक्षम रीफैक्टरिंग हो सकती है।

प्रयोग

उपयोग: terraform state mv [options] SOURCE DESTINATION

यह कमांड गंतव्य पते को दिए गए पते से मेल खाते आइटम को स्थानांतरित करेगा। यह कमांड पूरी तरह से अलग राज्य फ़ाइल में गंतव्य पते पर भी जा सकती है।

इसका उपयोग सरल संसाधन के नामकरण के लिए किया जा सकता है, एक मॉड्यूल से आइटम को स्थानांतरित करना, पूरे मॉड्यूल को स्थानांतरित करना, और बहुत कुछ। और क्योंकि यह कमांड डेटा को पूरी तरह से नई स्थिति में भी स्थानांतरित कर सकता है, इसका उपयोग एक कॉन्फ़िगरेशन को कई अलग-अलग प्रबंधित टेराफॉर्म कॉन्फ़िगरेशनों में रिफैक्ट करने के लिए भी किया जा सकता है।

यह आदेश किसी भी परिवर्तन को सहेजने से पहले राज्य की एक बैकअप प्रति का उत्पादन करेगा। बैकअप अक्षम नहीं किया जा सकता। इस कमांड की विनाशकारी प्रकृति के कारण, बैकअप की आवश्यकता होती है।

यदि आप किसी आइटम को अलग राज्य फ़ाइल में ले जा रहे हैं, तो प्रत्येक राज्य फ़ाइल के लिए एक बैकअप बनाया जाएगा।

इस कमांड को स्थानांतरित करने के लिए आइटम के स्रोत और गंतव्य पते की आवश्यकता होती है। पते संसाधन पते के प्रारूप में हैं

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

  • -backup=path - पथ जहां टेराफॉर्म को मूल स्थिति के लिए बैकअप लिखना चाहिए। इसे अक्षम नहीं किया जा सकता। यदि सेट नहीं किया जाता है, तो Terraform इसे उसी रास्ते पर लिखेगा, जो स्टेटबैक के साथ ".backup" एक्सटेंशन के साथ होगा।

  • -backup-out=path - वह पथ जहाँ Terraform को गंतव्य स्थिति के लिए बैकअप लिखना चाहिए। इसे अक्षम नहीं किया जा सकता। यदि सेट नहीं किया गया है, तो Terraform इसे उसी पथ पर लिखेगा, जो बैकअप एक्सटेंशन के साथ गंतव्य स्थिति फ़ाइल में है। यह केवल निर्दिष्ट करने की आवश्यकता है अगर -स्टेट-आउट -स्टेट से अलग पथ पर सेट है।

  • -state=path - स्रोत स्थिति फ़ाइल से पढ़ने के लिए पथ। कॉन्फ़िगर बैकएंड, या "terraform.tfstate" के लिए डिफ़ॉल्ट।

  • -state-out=path - लिखने के लिए गंतव्य राज्य फ़ाइल का पथ। यदि यह निर्दिष्ट नहीं है, तो स्रोत स्थिति फ़ाइल का उपयोग किया जाएगा। यह एक नया या मौजूदा रास्ता हो सकता है।

उदाहरण: एक संसाधन का नाम बदलें

नीचे दिया गया उदाहरण एकल संसाधन का नाम बदल देता है:

$ terraform state mv aws_instance.foo aws_instance.bar

उदाहरण: एक मॉड्यूल में एक संसाधन ले जाएँ

नीचे दिया गया उदाहरण एक संसाधन को एक मॉड्यूल में ले जाता है। यदि यह मौजूद नहीं है, तो मॉड्यूल बनाया जाएगा।

$ terraform state mv aws_instance.foo module.web

उदाहरण: एक मॉड्यूल में एक मॉड्यूल ले जाएँ

नीचे दिया गया उदाहरण एक मॉड्यूल को दूसरे मॉड्यूल में ले जाता है।

$ terraform state mv module.foo module.parent.module.foo

उदाहरण: एक मॉड्यूल को दूसरे राज्य में स्थानांतरित करें

नीचे दिया गया उदाहरण एक मॉड्यूल को किसी अन्य राज्य फ़ाइल में ले जाता है। यह मूल स्थिति फ़ाइल से मॉड्यूल को निकालता है और इसे गंतव्य पर जोड़ता है। स्रोत और गंतव्य समान अर्थ हैं हम एक ही नाम रख रहे हैं।

$ terraform state mv -state-out=other.tfstate \
    module.web module.web