Terraform 0.11

openstack_compute_volume_attach_v2




terraform

openstack_compute_volume_attach_v2

OpenStack Compute (Nova) v2 API का उपयोग करके एक इंस्टालेशन के लिए ब्लॉक स्टोरेज वॉल्यूम देता है।

उदाहरण उपयोग

एक एकल उदाहरण के लिए एकल वॉल्यूम का मूल लगाव

resource "openstack_blockstorage_volume_v2" "volume_1" {
  name = "volume_1"
  size = 1
}

resource "openstack_compute_instance_v2" "instance_1" {
  name            = "instance_1"
  security_groups = ["default"]
}

resource "openstack_compute_volume_attach_v2" "va_1" {
  instance_id = "${openstack_compute_instance_v2.instance_1.id}"
  volume_id   = "${openstack_blockstorage_volume_v2.volume_1.id}"
}

एक उदाहरण के लिए कई संस्करणों को संलग्न करना

resource "openstack_blockstorage_volume_v2" "volumes" {
  count = 2
  name  = "${format("vol-%02d", count.index + 1)}"
  size  = 1
}

resource "openstack_compute_instance_v2" "instance_1" {
  name            = "instance_1"
  security_groups = ["default"]
}

resource "openstack_compute_volume_attach_v2" "attachments" {
  count       = 2
  instance_id = "${openstack_compute_instance_v2.instance_1.id}"
  volume_id   = "${element(openstack_blockstorage_volume_v2.volumes.*.id, count.index)}"
}

output "volume devices" {
  value = "${openstack_compute_volume_attach_v2.attachments.*.device}"
}

ध्यान दें कि उपरोक्त उदाहरण यह गारंटी नहीं देगा कि वॉल्यूम एक निर्धारक तरीके से जुड़े हुए हैं। वॉल्यूम को एक यादृच्छिक क्रम में संलग्न किया जाएगा।

यदि आप यह सुनिश्चित करना चाहते हैं कि वॉल्यूम दिए गए क्रम में संलग्न हैं, तो वॉल्यूम के बीच स्पष्ट निर्भरता बनाएं, जैसे:

resource "openstack_blockstorage_volume_v2" "volumes" {
  count = 2
  name  = "${format("vol-%02d", count.index + 1)}"
  size  = 1
}

resource "openstack_compute_instance_v2" "instance_1" {
  name            = "instance_1"
  security_groups = ["default"]
}

resource "openstack_compute_volume_attach_v2" "attach_1" {
  instance_id = "${openstack_compute_instance_v2.instance_1.id}"
  volume_id   = "${openstack_blockstorage_volume_v2.volumes.0.id}"
}

resource "openstack_compute_volume_attach_v2" "attach_2" {
  instance_id = "${openstack_compute_instance_v2.instance_1.id}"
  volume_id   = "${openstack_blockstorage_volume_v2.volumes.1.id}"

  depends_on  = ["openstack_compute_volume_attach_v2.attach_1"]
}

output "volume devices" {
  value = "${openstack_compute_volume_attach_v2.attachments.*.device}"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • region - (वैकल्पिक) वह क्षेत्र जिसमें V2 कम्प्यूट क्लाइंट प्राप्त करना है। वॉल्यूम अनुलग्नक बनाने के लिए एक कंप्यूट क्लाइंट की आवश्यकता होती है। यदि छोड़ दिया जाता है, तो प्रदाता के region तर्क का उपयोग किया जाता है। इसे बदलने से एक नया आयतन लगाव पैदा होता है।

  • instance_id - (आवश्यक) वॉल्यूम को संलग्न करने के लिए इंस्टेंस की आईडी।

  • volume_id - (आवश्यक) एक इंस्टेंस से संलग्न करने के लिए वॉल्यूम की आईडी।

  • device - (वैकल्पिक) वॉल्यूम अटैचमेंट का उपकरण (उदा: /dev/vdc )। नोट : एक डिवाइस निर्दिष्ट करने में सक्षम होने के नाते उपयोग में हाइपरविजर पर निर्भर है। एक मौका है कि Terraform में निर्दिष्ट डिवाइस वही डिवाइस नहीं होगा जिसे हाइपरविजर ने चुना था। यदि ऐसा होता है, तो Terraform बाद में आवेदन करने पर डिवाइस को अपडेट करना चाहेगा जिससे वॉल्यूम अलग हो जाएगा और अनिश्चित काल के लिए पुन: सेट किया जाएगा। कृपया सावधानी के साथ उपयोग करें।

संदर्भ संदर्भित करता है

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • region - उपर्युक्त तर्क देखें।
  • instance_id - उपर्युक्त तर्क देखें।
  • volume_id - उपर्युक्त तर्क देखें।
  • device - उपर्युक्त तर्क देखें। नोट : इस जानकारी की शुद्धता उपयोग में हाइपरविजर पर निर्भर है। कुछ मामलों में, इसे सूचना के आधिकारिक टुकड़े के रूप में उपयोग नहीं किया जाना चाहिए।

आयात

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

$ terraform import openstack_compute_volume_attach_v2.va_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666