Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflict between "outscale_nic" and "outscale_nic_private_ip" #137

Open
outscale-mzi opened this issue Jul 6, 2022 · 0 comments
Open

Conflict between "outscale_nic" and "outscale_nic_private_ip" #137

outscale-mzi opened this issue Jul 6, 2022 · 0 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@outscale-mzi
Copy link
Collaborator

Terraform Version

v0.5.3

Terraform Configuration Files

resource "outscale_net" "outscale_net5" {
    ip_range = "10.0.0.0/16"
}

resource "outscale_subnet" "outscale_subnet5" {
    subregion_name = "${var.region}a"
    ip_range       = "10.0.0.0/16"
    net_id         = outscale_net.outscale_net5.net_id
}

resource "outscale_nic" "outscale_nic" {
    subnet_id = outscale_subnet.outscale_subnet5.subnet_id
tags {
        key   = "name"
        value = "Terraform_nic"
      }
tags {
        key   = "owner"
        value = "866464343301"
      }
tags {
        key   = "platform"
        value = "eu-west-2"
      }
private_ips {
   is_primary = true
   private_ip = "10.0.185.85"
  }
}

resource "outscale_nic_private_ip" "outscale_nic_private_ip2" {
    nic_id      = outscale_nic.outscale_nic.nic_id
    secondary_private_ip_count = 2
   }

Debug Output

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # outscale_nic.outscale_nic must be replaced
-/+ resource "outscale_nic" "outscale_nic" {
      ~ account_id             = "108845946057" -> (known after apply)
      + description            = (known after apply)
      ~ id                     = "eni-fb0f3843" -> (known after apply)
      ~ is_source_dest_checked = true -> (known after apply)
      ~ link_nic               = {
          - "delete_on_vm_deletion" = "false"
          - "device_number"         = "0"
          - "link_nic_id"           = ""
          - "state"                 = ""
          - "vm_account_id"         = ""
          - "vm_id"                 = ""
        } -> (known after apply)
      ~ link_public_ip         = {
          - "link_public_ip_id"    = ""
          - "public_dns_name"      = ""
          - "public_ip"            = ""
          - "public_ip_account_id" = ""
          - "public_ip_id"         = ""
        } -> (known after apply)
      ~ mac_address            = "aa:9e:f4:37:17:2b" -> (known after apply)
      ~ net_id                 = "vpc-6162aa3d" -> (known after apply)
      ~ nic_id                 = "eni-fb0f3843" -> (known after apply)
      ~ private_dns_name       = "ip-10-0-185-85.in-west-1.compute.internal" -> (known after apply)
      + private_ip             = (known after apply)
      + request_id             = (known after apply)
      + requester_managed      = (known after apply)
      ~ security_groups        = [
          - {
              - security_group_id   = "sg-f0664add"
              - security_group_name = "default"
            },
        ] -> (known after apply)
      ~ state                  = "available" -> (known after apply)
      ~ subregion_name         = "in-west-1a" -> (known after apply)
        # (1 unchanged attribute hidden)

      - private_ips { # forces replacement
          - is_primary       = false -> null
          - link_public_ip   = {
              - "link_public_ip_id"    = ""
              - "public_dns_name"      = ""
              - "public_ip"            = ""
              - "public_ip_account_id" = ""
              - "public_ip_id"         = ""
            } -> null
          - private_dns_name = "ip-10-0-198-37.in-west-1.compute.internal" -> null
          - private_ip       = "10.0.198.37" -> null
        }
      - private_ips { # forces replacement
          - is_primary       = false -> null
          - link_public_ip   = {
              - "link_public_ip_id"    = ""
              - "public_dns_name"      = ""
              - "public_ip"            = ""
              - "public_ip_account_id" = ""
              - "public_ip_id"         = ""
            } -> null
          - private_dns_name = "ip-10-0-248-228.in-west-1.compute.internal" -> null
          - private_ip       = "10.0.248.228" -> null
        }
      + private_ips { # forces replacement
          + is_primary       = true
          + link_public_ip   = (known after apply)
          + private_dns_name = (known after apply)
          + private_ip       = "10.0.185.85"
        }
      - private_ips { # forces replacement
          - is_primary       = true -> null
          - link_public_ip   = {
              - "link_public_ip_id"    = ""
              - "public_dns_name"      = ""
              - "public_ip"            = ""
              - "public_ip_account_id" = ""
              - "public_ip_id"         = ""
            } -> null
          - private_dns_name = "ip-10-0-185-85.in-west-1.compute.internal" -> null
          - private_ip       = "10.0.185.85" -> null
        }

        # (3 unchanged blocks hidden)
    }

  # outscale_nic_private_ip.outscale_nic_private_ip2 must be replaced
-/+ resource "outscale_nic_private_ip" "outscale_nic_private_ip2" {
      - allow_relink               = false -> null
      ~ id                         = "eni-fb0f3843" -> (known after apply)
      ~ nic_id                     = "eni-fb0f3843" -> (known after apply) # forces replacement
      ~ primary_private_ip         = "10.0.185.85" -> (known after apply)
      - private_ips                = [
          - "10.0.198.37",
          - "10.0.248.228",
        ] -> null # forces replacement
      + request_id                 = (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 2 to add, 0 to change, 2 to destroy.

Crash Output

Expected Behavior

no conflict should be observed on the second apply.

Actual Behavior

Terraform suggests to destroy and recreate the resources.

Steps to Reproduce

  1. terraform init
  2. terraform apply

Additional Context

--

References


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

Successfully merging a pull request may close this issue.

3 participants