CiscoDevNet / terraform-provider-intersight

Cisco Intersight Terraform
Mozilla Public License 2.0
19 stars 26 forks source link

intersight_os_install marks optional arguments as required #26

Closed techBeck03 closed 3 years ago

techBeck03 commented 3 years ago

When attempting to create a intersight_os_install resource, the schema correctly marks certain arguments as Optional however if no value is supplied an Error is thrown saying that those arguments are required. Example error output below:

Inappropriate value for attribute "answers": incorrect list element type:
attributes "additional_properties", "answer_file", "class_id",
"is_answer_file_set", "is_root_password_set", "object_type", and "product_key"
are required.
code-lucidal58 commented 3 years ago

Checked on provider version 0.1.3 - terraform 0.14.4 Used the below configuration:

resource "intersight_os_install" "os1" {
  name = "InstallTemplatee165"
  server {
    object_type = "compute.RackUnit"
    moid = "1234567890"
  }
  image {
    object_type = "softwarerepository.OperatingSystemFile"
    moid = "1234567890"
  }
  osdu_image {
    moid = "1234567890"
    object_type = "firmware.ServerConfigurationUtilityDistributable"
  }
  answers {
    answer_file = "Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempo"
    nr_source = "File"
  }
  description = "Install Template 5"
  install_method = "vMedia"
  organization {
    object_type = "organization.Organization"
    moid = "1234567890"
  }
}

terraform apply is not throwing error:

  # intersight_os_install.os1 will be created
  + resource "intersight_os_install" "os1" {
      + additional_parameters       = (known after apply)
      + answers                     = [
          + {
              + additional_properties    = null
              + answer_file              = "dsafghjkljhgfdsadfghjkljhgfds"
              + class_id                 = (known after apply)
              + hostname                 = null
              + ip_config_type           = "static"
              + ip_configuration         = (known after apply)
              + is_answer_file_set       = (known after apply)
              + is_root_password_crypted = null
              + is_root_password_set     = (known after apply)
              + nameserver               = null
              + nr_source                = "File"
              + object_type              = (known after apply)
              + product_key              = null
              + root_password            = null
            },
        ]
      + class_id                    = (known after apply)
      + configuration_file          = (known after apply)
      + description                 = "Install Template 5"
      + id                          = (known after apply)
      + image                       = [
          + {
              + additional_properties = null
              + class_id              = (known after apply)
              + moid                  = "1234567890"
              + object_type           = "softwarerepository.OperatingSystemFile"
              + selector              = (known after apply)
            },
        ]
      + install_method              = "vMedia"
      + install_target              = (known after apply)
      + moid                        = (known after apply)
      + name                        = "InstallTemplatee165"
      + object_type                 = (known after apply)
      + operating_system_parameters = (known after apply)
      + organization                = [
          + {
              + additional_properties = null
              + class_id              = (known after apply)
              + moid                  = "1234567890"
              + object_type           = "organization.Organization"
              + selector              = (known after apply)
            },
        ]
      + osdu_image                  = [
          + {
              + additional_properties = null
              + class_id              = (known after apply)
              + moid                  = "1234567890"
              + object_type           = "firmware.ServerConfigurationUtilityDistributable"
              + selector              = (known after apply)
            },
        ]
      + server                      = [
          + {
              + additional_properties = null
              + class_id              = (known after apply)
              + moid                  = "1234567890"
              + object_type           = "compute.RackUnit"
              + selector              = (known after apply)
            },
        ]
      + workflow_info               = (known after apply)
    }

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

If you still facing the error, please provide more details like provider version and tf configuration used.

code-lucidal58 commented 3 years ago

Closing this comment as the issue cannot be replicated