PaloAltoNetworks / terraform-provider-scm

The Terraform provider for Strata Cloud Manager
Apache License 2.0
7 stars 2 forks source link

Re-Applying IPSec Tunnel configuration fails with Invalid Request Payload Error #2

Closed kaisero closed 7 months ago

kaisero commented 8 months ago

Describe the bug

When re-applying configuration of a previously created ipsec tunnel execution fails with the following error

scm_ike_gateway.at-vie-1120-ike: Refreshing state... [id=c95bc774-3196-4f2d-9cfc-3fff21fb5849]
scm_ipsec_tunnel.at-vie-1120: Refreshing state... [id=fe592103-aa9e-43cc-8c46-c5fb4cb17c58]

Planning failed. Terraform encountered an error while generating this plan.

╷
│ Error: Error reading config
│ 
│   with scm_ipsec_tunnel.at-vie-1120,
│   on scm.tf line 31, in resource "scm_ipsec_tunnel" "at-vie-1120":
│   31: resource "scm_ipsec_tunnel" "at-vie-1120" {
│ 
│ [HTTP 400] API_I00035 Invalid Request Payload [object Object] - ["folder" is required]

Expected behavior

References are resolved without error that folder is required, since folder is already specified

Current behavior

Execution fails with the provided error

Steps to reproduce

Execute (terraform apply) the following code twice to reproduce (assumes an IKE Profile named IKEv2-BCP-POLICY and IPSec profile named IPSEC-BCP-PROFILE exists)

resource "scm_ike_gateway" "at-vie-1120-ike" {
  folder = "Remote Networks"
  name = "at-vie-1120-ike"
  local_id = {
    id = "at-vie-1120@example.com"
    type = "ufqdn"
  }
  peer_id = {
    id = "prisma@example.com"
    type = "ufqdn"
  }
  peer_address = {
    dynamic_address = true
  }
  protocol = {
    version = "ikev2"
    ikev2 = {
      ike_crypto_profile = "IKEv2-BCP-POLICY"
      dpd = {
        enable = false
      }
    }
  }
  authentication = {
    pre_shared_key = {
      key = "terraform-test-placeholder"
    }
  }
}

resource "scm_ipsec_tunnel" "at-vie-1120" {
  folder = "Remote Networks"
  name = "at-vie-1120"
  auto_key = {
    ipsec_crypto_profile = "IPSEC-BCP-PROFILE"
    ike_gateways = [
      {
        name = "at-vie-1120-ike"
        folder = "Remote Networks"
      }
    ]
  }
  depends_on = [scm_ike_gateway.at-vie-1120-ike]
}

resource "scm_remote_network" "at-vie-1120" {
  folder = "Remote Networks"
  name = "at-vie-1120"
  region = "austria"
  spn_name = "europe-central-walnut"
  ipsec_tunnel = "at-vie-1120"
  subnets = [
    "198.18.6.0/24"
  ]
  depends_on = [scm_ipsec_tunnel.at-vie-1120]
}

Your Environment

Terraform v1.6.6 MacOS 13.6.3 (darwin_arm64) Provider registry.terraform.io/paloaltonetworks/scm v0.1.1

shinmog commented 7 months ago

fixed in v0.1.2