equinix / terraform-provider-metal

DEPRECATED Equinix Metal standalone TF provider. Use the unified Equinix Terraform Provider.
https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_equinix_metal
Mozilla Public License 2.0
14 stars 11 forks source link

Multiple uses of metal_vlan data source result in duplicates of one vlan #187

Closed odacombe-bc closed 3 years ago

odacombe-bc commented 3 years ago

Terraform Version

v1.0.6

Affected Resource(s)

Terraform Configuration Files

terraform {
  required_providers {
    metal = {
      source  = "equinix/metal"
      version = "3.2.0-alpha.3"
    }
  }
}

variable "auth_token" {
  type = string
}

variable "project_id" {
  # please supply a project with vlans 500 and 550 in am metro
  type = string
}

provider "metal" {
  auth_token = var.auth_token
}

data "metal_vlan" "vlan_500" {
  project_id = var.project_id
  vxlan      = 500
  metro      = "am"
}

data "metal_vlan" "vlan_550" {
  project_id = var.project_id
  vxlan      = 550
  metro      = "am"
}

output "vlan_500" {
  value = {
    vxlan = data.metal_vlan.vlan_500.vxlan
    id    = data.metal_vlan.vlan_500.id
  }
}

output "vlan_550" {
  value = {
    vxlan = data.metal_vlan.vlan_550.vxlan
    id    = data.metal_vlan.vlan_550.id
  }
}

Expected Behavior

Changes to Outputs:
  + vlan_500 = {
      + id    = "abc"
      + vxlan = 500
    }
  + vlan_550 = {
      + id    = "xyz"
      + vxlan = 550
    }

Actual Behavior

Changes to Outputs:
  + vlan_500 = {
      + id    = "xyz"
      + vxlan = 550
    }
  + vlan_550 = {
      + id    = "xyz"
      + vxlan = 550
    }

Steps to Reproduce

  1. Create a project and 2 vlans (500 and 550) in am metro
  2. terraform plan, supplying the necessary project id