CiscoDevNet / terraform-provider-fmc

Terraform Provider for FMC
https://registry.terraform.io/providers/CiscoDevNet/fmc/latest/docs
Mozilla Public License 2.0
16 stars 30 forks source link

terraform import fmc_devices fails #155

Open mmaciejc opened 10 months ago

mmaciejc commented 10 months ago

We are trying to import an already registered device as a resource:

resource "fmc_devices" "DeviceVar1" {
  regkey = "fakekey"
  access_policy {
    id = fmc_access_policies.AccessPolicyVar1.id
  }
  hostname = "10.62.158.85"
  license_caps = [
    "BASE",
    "THREAT",
  ]
  name = "MyDevice1"
}

part of the JSON of the device:

    {
        "id": "05edadf4-628b-11ee-89e6-9e7c8bc2f790",
        "type": "Device",
        "name": "MyDevice1",
        "accessPolicy": {
            "name": "MyAccessPolicy1",
            "id": "005056b0-b67d-0ed3-0000-004294967810",
            "type": "AccessPolicy"
        },
        "hostName": "10.62.158.85",
        "license_caps": [
            "BASE",
            "THREAT"
        ],
        }

We have ACP:

$ terraform state list                                                                     
fmc_access_policies.AccessPolicyVar1

We do:

terraform import -input=false fmc_devices.DeviceVar1 05EDADF4-628B-11EE-89E6-9E7C8BC2F790

The result:

│ Error: unable to read device
│ 
│ getting device2: https://10.62.158.75/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords/05EDADF4-628B-11EE-89E6-9E7C8BC2F790 - wrong status code: 500, error category: OTHER, error severity: ERROR, error
│ messages: [{}] - id: 05EDADF4-628B-11EE-89E6-9E7C8BC2F790
mmaciejc commented 10 months ago

ID is case sensitive - This is API issue not TF - issue can be closed

API provides:

        "type": "AccessPolicy",
        "name": "MyAccessPolicy1",
        "id": "005056B0-B67D-0ed3-0000-004294967810", <<< ID of ACP

but in device JSON:

        "id": "05edadf4-628b-11ee-89e6-9e7c8bc2f790",
        "type": "Device",
        "name": "MyDevice1",
        "accessPolicy": {
            "name": "MyAccessPolicy1",
            "id": "005056b0-b67d-0ed3-0000-004294967810",   <<< ID is lower case
            "type": "AccessPolicy"
        }