Terraform 0.11

packet_precreated_ip_block




terraform

packet_precreated_ip_block

पैकेट में पहले से मौजूद IPv6 और IPv4 ब्लॉक के लिए CIDR अभिव्यक्ति प्राप्त करने के लिए इस डेटा स्रोत का उपयोग करें। फिर आप सबनेट को प्राप्त करने के लिए cidrsubnet TF बिल्टिन फ़ंक्शन का उपयोग कर सकते हैं।

उदाहरण उपयोग

# Create project, device in it, and then assign /64 subnet from precreated block
# to the new device

resource "packet_project" "test" {
    name = "testpro"
}


resource "packet_device" "web1" {
  hostname         = "tftest"
  plan             = "baremetal_0"
  facility         = "ewr1"
  operating_system = "ubuntu_16_04"
  billing_cycle    = "hourly"
  project_id       = "${packet_project.test.id}"
}

# we have to make the datasource depend on the device. Here I do it implicitly
# with the project_id param, because an explicity "depends_on" attribute in
# a datasource taints the state:
# https://github.com/hashicorp/terraform/issues/11806
data "packet_precreated_ip_block" "test" {
    facility         = "ewr1"
    project_id       = "${packet_device.test.project_id}"
    address_family   = 6
    public           = true
}

# The precreated IPv6 blocks are /56, so to get /64, we specify 8 more bits for network.
# The cirdsubnet interpolation will pick second /64 subnet from the precreated block.

resource "packet_ip_attachment" "from_ipv6_block" {
    device_id = "${packet_device.web1.id}"
    cidr_notation = "${cidrsubnet(data.packet_precreated_ip_block.test.cidr_notation,8,2)}"
}

तर्क संदर्भ

  • project_id - (आवश्यक) उस प्रोजेक्ट की आईडी जहां खोजा गया ब्लॉक होना चाहिए।
  • address_family - (आवश्यक) 4 या 6, इस बात पर निर्भर करता है कि आप किस ब्लॉक की तलाश कर रहे हैं।
  • public - (आवश्यक) सार्वजनिक या निजी ब्लॉक देखने के लिए।
  • facility - (आवश्यक) खोज ब्लॉक की सुविधा।

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

  • cidr_notation - देखा हुआ ब्लॉक का CIDR अंकन।