Skip to content

Provider produced invalid object #622

@timdeluxe

Description

@timdeluxe

Version information

  • terraform: 1.13.3
  • terraform provider: 1.21.1

Describe the bug

On terraform plan we get this output:

07:40:53.855 STDOUT terraform: Terraform used the selected providers to generate the following execution
07:40:53.855 STDOUT terraform: plan. Resource actions are indicated with the following symbols:
07:40:53.855 STDOUT terraform:   ~ update in-place
07:40:53.855 STDOUT terraform: Terraform planned the following actions, but then encountered a problem:
07:40:53.855 STDOUT terraform:   # module.commercetools-mod.commercetools_api_extension.order-state-change-extension will be updated in-place
07:40:53.855 STDOUT terraform:   ~ resource "commercetools_api_extension" "order-state-change-extension" {
07:40:53.855 STDOUT terraform:         id            = "ad837a9e-137b-4c62-a449-ab67064b8ce0"
07:40:53.855 STDOUT terraform:       ~ timeout_in_ms = 0 -> 2000
07:40:53.855 STDOUT terraform:         # (2 unchanged attributes hidden)
07:40:53.855 STDOUT terraform:         # (2 unchanged blocks hidden)
07:40:53.855 STDOUT terraform:     }
07:40:53.855 STDOUT terraform:   # module.commercetools-mod.commercetools_subscription.ct-order-repository-events-distribution-subscription will be updated in-place
07:40:53.855 STDOUT terraform:   ~ resource "commercetools_subscription" "ct-order-repository-events-distribution-subscription" {
07:40:53.858 STDOUT terraform:       ~ id      = "8635a5dd-b9c3-442a-81d9-e0ace2e038a2" -> (known after apply)
07:40:53.858 STDOUT terraform:       ~ version = 1 -> (known after apply)
07:40:53.858 STDOUT terraform:         # (1 unchanged attribute hidden)
07:40:53.858 STDOUT terraform:       - message {
07:40:53.858 STDOUT terraform:           - resource_type_id = "order" -> null
07:40:53.858 STDOUT terraform:           - types            = [
07:40:53.858 STDOUT terraform:               - "OrderCreated",
07:40:53.858 STDOUT terraform:               - "OrderStateTransition",
07:40:53.858 STDOUT terraform:               - "LineItemStateTransition",
07:40:53.858 STDOUT terraform:               - "OrderShipmentStateChanged",
07:40:53.858 STDOUT terraform:               - "OrderCustomFieldAdded",
07:40:53.859 STDOUT terraform:               - "OrderCustomFieldChanged",
07:40:53.859 STDOUT terraform:               - "OrderShippingAddressSet",
07:40:53.859 STDOUT terraform:               - "OrderBillingAddressSet",
07:40:53.859 STDOUT terraform:               - "DeliveryAdded",
07:40:53.859 STDOUT terraform:             ] -> null
07:40:53.859 STDOUT terraform:         }
07:40:53.859 STDOUT terraform:       + message {
07:40:53.859 STDOUT terraform:           + resource_type_id = "order"
07:40:53.859 STDOUT terraform:           + types            = [
07:40:53.859 STDOUT terraform:               + "OrderCreated",
07:40:53.859 STDOUT terraform:               + "OrderStateTransition",
07:40:53.859 STDOUT terraform:               + "LineItemStateTransition",
07:40:53.859 STDOUT terraform:               + "OrderShipmentStateChanged",
07:40:53.859 STDOUT terraform:               + "OrderCustomFieldAdded",
07:40:53.859 STDOUT terraform:               + "OrderCustomFieldChanged",
07:40:53.859 STDOUT terraform:               + "OrderShippingAddressSet",
07:40:53.859 STDOUT terraform:               + "OrderBillingAddressSet",
07:40:53.859 STDOUT terraform:               + "DeliveryAdded",
07:40:53.859 STDOUT terraform:               + "OrderCustomerSet",
07:40:53.859 STDOUT terraform:             ]
07:40:53.859 STDOUT terraform:         }
07:40:53.859 STDOUT terraform:         # (1 unchanged block hidden)
07:40:53.859 STDOUT terraform:     }
07:40:53.859 STDOUT terraform:   # module.commercetools-mod.commercetools_type.customer will be updated in-place
07:40:53.859 STDOUT terraform:   ~ resource "commercetools_type" "customer" {
07:40:53.859 STDOUT terraform:         id                = "dc6de7c2-48fc-4173-8282-4420b6ae2cb7"
07:40:53.859 STDOUT terraform:         name              = {
07:40:53.859 STDOUT terraform:             "de" = "Custom Customer Type"
07:40:53.859 STDOUT terraform:             "en" = "Custom Customer Type"
07:40:53.859 STDOUT terraform:         }
07:40:53.859 STDOUT terraform:         # (4 unchanged attributes hidden)
07:40:53.859 STDOUT terraform:       + field {
07:40:53.859 STDOUT terraform:           + input_hint = "SingleLine"
07:40:53.859 STDOUT terraform:           + label      = {
07:40:53.859 STDOUT terraform:               + "de" = "Alte CT Customer ID"
07:40:53.859 STDOUT terraform:               + "en" = "Old CT Customer ID"
07:40:53.859 STDOUT terraform:             }
07:40:53.859 STDOUT terraform:           + name       = "oldCtCustomerId"
07:40:53.859 STDOUT terraform:           + required   = false
07:40:53.859 STDOUT terraform:           + type {
07:40:53.859 STDOUT terraform:               + name = "String"
07:40:53.859 STDOUT terraform:             }
07:40:53.859 STDOUT terraform:         }
07:40:53.859 STDOUT terraform:         # (15 unchanged blocks hidden)
07:40:53.859 STDOUT terraform:     }
07:40:53.860 STDOUT terraform:   # module.commercetools-mod.commercetools_type.order will be updated in-place
07:40:53.860 STDOUT terraform:   ~ resource "commercetools_type" "order" {
07:40:53.860 STDOUT terraform:         id                = "e14cfffa-1196-46b2-837b-e5bc9f4a91f1"
07:40:53.860 STDOUT terraform:         name              = {
07:40:53.860 STDOUT terraform:             "de" = "Benutzerdefinierte Auftragsart"
07:40:53.860 STDOUT terraform:         }
07:40:53.860 STDOUT terraform:         # (4 unchanged attributes hidden)
07:40:53.860 STDOUT terraform:       ~ field {
07:40:53.860 STDOUT terraform:           ~ label      = {
07:40:53.860 STDOUT terraform:               ~ "de" = "Angepasstes Total " -> "Angepasstes SubTotal"
07:40:53.860 STDOUT terraform:               ~ "en" = "Adjusted Total" -> "Adjusted SubTotal"
07:40:53.860 STDOUT terraform:             }
07:40:53.860 STDOUT terraform:           ~ name       = "adjustedOrderTotal" -> "adjustedOrderSubTotal"
07:40:53.860 STDOUT terraform:             # (2 unchanged attributes hidden)
07:40:53.860 STDOUT terraform:             # (1 unchanged block hidden)
07:40:53.860 STDOUT terraform:         }
07:40:53.860 STDOUT terraform:       ~ field {
07:40:53.860 STDOUT terraform:           ~ label      = {
07:40:53.860 STDOUT terraform:               ~ "de" = "Angepasster Discount auf das Total " -> "Angepasstes Total "
07:40:53.860 STDOUT terraform:               ~ "en" = "Adjusted Discount on Total" -> "Adjusted Total"
07:40:53.860 STDOUT terraform:             }
07:40:53.860 STDOUT terraform:           ~ name       = "adjustedDiscountOnOrderTotal" -> "adjustedOrderTotal"
07:40:53.860 STDOUT terraform:             # (2 unchanged attributes hidden)
07:40:53.860 STDOUT terraform:             # (1 unchanged block hidden)
07:40:53.860 STDOUT terraform:         }
07:40:53.860 STDOUT terraform:       ~ field {
07:40:53.860 STDOUT terraform:           ~ label      = {
07:40:53.860 STDOUT terraform:               + "de" = "Angepasster Discount auf das Total "
07:40:53.860 STDOUT terraform:               ~ "en" = "Total order taxed price gross" -> "Adjusted Discount on Total"
07:40:53.860 STDOUT terraform:             }
07:40:53.860 STDOUT terraform:           ~ name       = "taxedPriceTotalGross" -> "adjustedDiscountOnOrderTotal"
07:40:53.860 STDOUT terraform:             # (2 unchanged attributes hidden)
07:40:53.860 STDOUT terraform:             # (1 unchanged block hidden)
07:40:53.860 STDOUT terraform:         }
07:40:53.860 STDOUT terraform:       ~ field {
07:40:53.860 STDOUT terraform:           ~ input_hint = "MultiLine" -> "SingleLine"
07:40:53.860 STDOUT terraform:           ~ label      = {
07:40:53.860 STDOUT terraform:               ~ "en" = "Order Export Request" -> "Total order taxed price gross"
07:40:53.860 STDOUT terraform:             }
07:40:53.860 STDOUT terraform:           ~ name       = "orderExportRequest" -> "taxedPriceTotalGross"
07:40:53.860 STDOUT terraform:             # (1 unchanged attribute hidden)
07:40:53.860 STDOUT terraform:           ~ type {
07:40:53.860 STDOUT terraform:               ~ name              = "String" -> "Money"
07:40:53.860 STDOUT terraform:                 # (1 unchanged attribute hidden)
07:40:53.860 STDOUT terraform:             }
07:40:53.860 STDOUT terraform:         }
07:40:53.860 STDOUT terraform:       ~ field {
07:40:53.860 STDOUT terraform:           ~ input_hint = "SingleLine" -> "MultiLine"
07:40:53.860 STDOUT terraform:           ~ label      = {
07:40:53.860 STDOUT terraform:               - "de" = "Bestellfrist" -> null
07:40:53.861 STDOUT terraform:               + "en" = "Order Export Request"
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:           ~ name       = "orderDeadline" -> "orderExportRequest"
07:40:53.861 STDOUT terraform:             # (1 unchanged attribute hidden)
07:40:53.861 STDOUT terraform:           ~ type {
07:40:53.861 STDOUT terraform:               ~ name              = "DateTime" -> "String"
07:40:53.861 STDOUT terraform:                 # (1 unchanged attribute hidden)
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:         }
07:40:53.861 STDOUT terraform:       ~ field {
07:40:53.861 STDOUT terraform:           ~ label      = {
07:40:53.861 STDOUT terraform:               + "de" = "Bestellfrist"
07:40:53.861 STDOUT terraform:               - "en" = "Sub total excluding line item discounts" -> null
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:           ~ name       = "subTotalExLineItemDiscounts" -> "orderDeadline"
07:40:53.861 STDOUT terraform:             # (2 unchanged attributes hidden)
07:40:53.861 STDOUT terraform:           ~ type {
07:40:53.861 STDOUT terraform:               ~ name              = "Money" -> "DateTime"
07:40:53.861 STDOUT terraform:                 # (1 unchanged attribute hidden)
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:         }
07:40:53.861 STDOUT terraform:       ~ field {
07:40:53.861 STDOUT terraform:           ~ label      = {
07:40:53.861 STDOUT terraform:               - "de" = "Vorbestellung" -> null
07:40:53.861 STDOUT terraform:               ~ "en" = "Pre-order" -> "Sub total excluding line item discounts"
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:           ~ name       = "preorder" -> "subTotalExLineItemDiscounts"
07:40:53.861 STDOUT terraform:             # (2 unchanged attributes hidden)
07:40:53.861 STDOUT terraform:           ~ type {
07:40:53.861 STDOUT terraform:               ~ name              = "Boolean" -> "Money"
07:40:53.861 STDOUT terraform:                 # (1 unchanged attribute hidden)
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:         }
07:40:53.861 STDOUT terraform:       + field {
07:40:53.861 STDOUT terraform:           + input_hint = "SingleLine"
07:40:53.861 STDOUT terraform:           + label      = {
07:40:53.861 STDOUT terraform:               + "de" = "Vorbestellung"
07:40:53.861 STDOUT terraform:               + "en" = "Pre-order"
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:           + name       = "preorder"
07:40:53.861 STDOUT terraform:           + required   = false
07:40:53.861 STDOUT terraform:           + type {
07:40:53.861 STDOUT terraform:               + name = "Boolean"
07:40:53.861 STDOUT terraform:             }
07:40:53.861 STDOUT terraform:         }
07:40:53.861 STDOUT terraform:         # (11 unchanged blocks hidden)
07:40:53.861 STDOUT terraform:     }
07:40:53.861 STDOUT terraform: Plan: 0 to add, 4 to change, 0 to destroy.
07:40:53.861 STDOUT terraform:
07:40:53.861 STDERR terraform: ╷
07:40:53.861 STDERR terraform: │ Error: Provider produced invalid object
07:40:53.861 STDERR terraform: │
07:40:53.861 STDERR terraform: │ Provider "registry.terraform.io/labd/commercetools" planned an invalid
07:40:53.861 STDERR terraform: │ value for module.commercetools-mod.commercetools_project_settings.settings
07:40:53.861 STDERR terraform: │ during refresh: The returned state contains unknown values.
07:40:53.862 STDERR terraform: │
07:40:53.862 STDERR terraform: │ This is a bug in the provider, which should be reported in the provider's
07:40:53.862 STDERR terraform: │ own issue tracker.
07:40:53.862 STDERR terraform: ╵

To Reproduce

Use our code and do a terraform plan against a valid commercetools project. Please see if you can spot the problem already with the help of the output in previous section. We want to hand out as less code as possible. If really required i can try to provide the responsible snippets

Expected behavior

A terraform plan run without errors

Screenshots

n/a, see log output on previous answers

Additional context

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions