Describe the bug
removed a table from business central schema, panic occurred on apply
To Reproduce
Provide an example .tf configuration
ran plan with no change 1.0.0 code
no problem
commented out vendor_payment_journal
plan - ok
apply - panic
data "aws_ssm_parameter" "ssm_business_central_connector_id" {
name = "/${local.app_env}/${local.schema_name}/businessCentralConnectorId"
}
resource "fivetran_connector_schema_config" "business_central_schema" {
connector_id = data.aws_ssm_parameter.ssm_business_central_connector_id.value
schema_change_handling = local.default_schema_change_handling_is_allow_all
schema {
name = local.business_central_connector_name
table {
name = "aged_accounts_payable"
enabled = "false"
}
table {
name = "aged_accounts_receivable"
enabled = "false"
}
table {
name = "balance_sheet"
enabled = "false"
}
table {
name = "bank_account"
enabled = "false"
}
table {
name = "cash_flow_statement"
enabled = "false"
}
table {
name = "customer_payment_journal"
enabled = "false"
}
table {
name = "general_ledger_entry"
enabled = "false"
}
table {
name = "income_statement"
enabled = "false"
}
table {
name = "retained_earnings_statement"
enabled = "false"
}
This table causes connector to break
table {
name = "sales_credit_memo"
enabled = "false"
}
table {
name = "trial_balance"
enabled = "false"
}
table {
name = "vendor_payment"
enabled = "false"
}
# table {
# name = "vendor_payment_journal"
# enabled = "false"
# }
}
}
**Expected behavior**
no panic
**Logs & Output**
Provide terraform CLI output on `plan` | `apply`. If it is possible, please, refer to [this guide](https://developer.hashicorp.com/terraform/internals/debugging) to enable debug output.
(.venv) ~tf-fivetran-schemas $ AWS_PROFILE="xxx" terraform plan -var-file="./$ENVIROMENT_LONG_NAME/$CDK_PREFIX.tfvars" -out=.terraform/$CDK_PREFIX.out
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
fivetran_connector_schema_config.business_central_schema will be updated in-place
~ resource "fivetran_connector_schema_config" "business_central_schema" {
~ id = "xxx" -> (known after apply)
To perform exactly these actions, run the following command to apply:
terraform apply ".terraform/xxx.out"
(.venv) ~tf-fivetran-schemas $ AWS_PROFILE="xxx" terraform apply .terraform/$CDK_PREFIX.out
fivetran_connector_schema_config.business_central_schema: Modifying... [id=xxx]
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to fivetran_connector_schema_config.business_central_schema, provider "provider[\"registry.terraform.io/fivetran/fivetran\"]" produced an unexpected new value: .schema: planned set element
│ cty.ObjectVal(map[string]cty.Value{"enabled":cty.UnknownVal(cty.Bool), "name":cty.StringVal("business_central_raw"),
│ "table":cty.SetVal([]cty.Value{cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False,
│ "name":cty.StringVal("aged_accounts_payable"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool,
│ "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("aged_accounts_receivable"), "sync_mode":cty.UnknownVal(cty.String)}),
│ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("balance_sheet"),
│ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False,
│ "name":cty.StringVal("bank_account"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})),
│ "enabled":cty.False, "name":cty.StringVal("cash_flow_statement"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool,
│ "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("customer_payment_journal"), "sync_mode":cty.UnknownVal(cty.String)}),
│ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("general_ledger_entry"),
│ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False,
│ "name":cty.StringVal("income_statement"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool,
│ "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("retained_earnings_statement"), "sync_mode":cty.UnknownVal(cty.String)}),
│ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("sales_credit_memo"),
│ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False,
│ "name":cty.StringVal("trial_balance"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})),
│ "enabled":cty.False, "name":cty.StringVal("vendor_payment"), "sync_mode":cty.UnknownVal(cty.String)})})}) does not correlate with any element in actual.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
**Plugin version:**
v1.1.16
**Additional context**
been trying to upgrade from 1.0.0
attempt to revert change (comment table back in)
terraform apply .terraform/$CDK_PREFIX.out
fivetran_connector_schema_config.business_central_schema: Modifying... [id=xxx]
╷
│ Error: Unable to Create Connector Schema Resource.
│
│ with fivetran_connector_schema_config.business_central_schema,
│ on schema-business-central.tf line 5, in resource "fivetran_connector_schema_config" "business_central_schema":
│ 5: resource "fivetran_connector_schema_config" "business_central_schema" {
│
│ Error wile applying schema config patch. error while patching schema business_central_raw:
│ attempt to patch locked table vendor_payment; Please report this issue to the provider developers.
Describe the bug removed a table from business central schema, panic occurred on apply
To Reproduce Provide an example .tf configuration
resource "fivetran_connector_schema_config" "business_central_schema" { connector_id = data.aws_ssm_parameter.ssm_business_central_connector_id.value schema_change_handling = local.default_schema_change_handling_is_allow_all schema { name = local.business_central_connector_name table { name = "aged_accounts_payable" enabled = "false" } table { name = "aged_accounts_receivable" enabled = "false" } table { name = "balance_sheet" enabled = "false" } table { name = "bank_account" enabled = "false" } table { name = "cash_flow_statement" enabled = "false" } table { name = "customer_payment_journal" enabled = "false" } table { name = "general_ledger_entry" enabled = "false" } table { name = "income_statement" enabled = "false" } table { name = "retained_earnings_statement" enabled = "false" }
This table causes connector to break
} }
(.venv) ~tf-fivetran-schemas $ AWS_PROFILE="xxx" terraform plan -var-file="./$ENVIROMENT_LONG_NAME/$CDK_PREFIX.tfvars" -out=.terraform/$CDK_PREFIX.out
data.external.dynamodb_tables_tagged_for_replication: Reading... data.aws_ssm_parameter.ssm_dynamodb_connector_id: Reading... data.aws_ssm_parameter.fivetran_group_id_external_id: Reading... data.aws_ssm_parameter.ssm_zendesk_sell_connector_id: Reading... data.aws_ssm_parameter.ssm_business_central_connector_id: Reading... data.aws_ssm_parameter.ssm_amplitude_connector_id: Reading... data.aws_ssm_parameter.ssm_dynamodb_connector_id: Read complete after 0s [id=/xxx-datainfra-v2/schema-v2/dynamodbConnectorId] data.aws_ssm_parameter.ssm_zendesk_sell_connector_id: Read complete after 0s [id=/xxx-datainfra-v2/schema-v2/zendeskSellConnectorId] data.aws_ssm_parameter.fivetran_group_id_external_id: Read complete after 0s [id=/xxx-datainfra-v2/schema-v2/fivetranGroupId] fivetran_connector_schema_config.zendesk_sell_schema: Refreshing state... [id=monsieur_articulate] data.aws_ssm_parameter.ssm_amplitude_connector_id: Read complete after 0s [id=/xxx-datainfra-v2/schema-v2/amplitudeConnectorId] fivetran_connector_schema_config.amplitude_schema: Refreshing state... [id=cleansing_mandatory] data.aws_ssm_parameter.ssm_business_central_connector_id: Read complete after 0s [id=/xxx-datainfra-v2/schema-v2/businessCentralConnectorId] fivetran_connector_schema_config.business_central_schema: Refreshing state... [id=xxx] data.external.dynamodb_tables_tagged_for_replication: Read complete after 9s [id=-] data.local_file.input: Reading... data.local_file.input: Read complete after 0s [id=xxx] fivetran_connector_schema_config.dynamodb_schema: Refreshing state... [id=xxx]
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place
Terraform will perform the following actions:
fivetran_connector_schema_config.business_central_schema will be updated in-place
~ resource "fivetran_connector_schema_config" "business_central_schema" { ~ id = "xxx" -> (known after apply)
(2 unchanged attributes hidden)
Plan: 0 to add, 1 to change, 0 to destroy.
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Saved the plan to: .terraform/xxx.out
To perform exactly these actions, run the following command to apply: terraform apply ".terraform/xxx.out" (.venv) ~tf-fivetran-schemas $ AWS_PROFILE="xxx" terraform apply .terraform/$CDK_PREFIX.out
fivetran_connector_schema_config.business_central_schema: Modifying... [id=xxx] ╷ │ Error: Provider produced inconsistent result after apply │ │ When applying changes to fivetran_connector_schema_config.business_central_schema, provider "provider[\"registry.terraform.io/fivetran/fivetran\"]" produced an unexpected new value: .schema: planned set element │ cty.ObjectVal(map[string]cty.Value{"enabled":cty.UnknownVal(cty.Bool), "name":cty.StringVal("business_central_raw"), │ "table":cty.SetVal([]cty.Value{cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, │ "name":cty.StringVal("aged_accounts_payable"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, │ "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("aged_accounts_receivable"), "sync_mode":cty.UnknownVal(cty.String)}), │ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("balance_sheet"), │ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, │ "name":cty.StringVal("bank_account"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), │ "enabled":cty.False, "name":cty.StringVal("cash_flow_statement"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, │ "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("customer_payment_journal"), "sync_mode":cty.UnknownVal(cty.String)}), │ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("general_ledger_entry"), │ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, │ "name":cty.StringVal("income_statement"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, │ "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("retained_earnings_statement"), "sync_mode":cty.UnknownVal(cty.String)}), │ cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, "name":cty.StringVal("sales_credit_memo"), │ "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), "enabled":cty.False, │ "name":cty.StringVal("trial_balance"), "sync_mode":cty.UnknownVal(cty.String)}), cty.ObjectVal(map[string]cty.Value{"column":cty.SetValEmpty(cty.Object(map[string]cty.Type{"enabled":cty.Bool, "hashed":cty.Bool, "name":cty.String})), │ "enabled":cty.False, "name":cty.StringVal("vendor_payment"), "sync_mode":cty.UnknownVal(cty.String)})})}) does not correlate with any element in actual. │ │ This is a bug in the provider, which should be reported in the provider's own issue tracker.
terraform apply .terraform/$CDK_PREFIX.out
fivetran_connector_schema_config.business_central_schema: Modifying... [id=xxx] ╷ │ Error: Unable to Create Connector Schema Resource. │ │ with fivetran_connector_schema_config.business_central_schema, │ on schema-business-central.tf line 5, in resource "fivetran_connector_schema_config" "business_central_schema": │ 5: resource "fivetran_connector_schema_config" "business_central_schema" { │ │ Error wile applying schema config patch. error while patching schema business_central_raw: │ attempt to patch locked table vendor_payment; Please report this issue to the provider developers.