Skip to content

[Bug] elasticstack_kibana_action_connector webhook config not stored correctly in state #388

@eloo-abi

Description

@eloo-abi

Describe the bug
Using the new elasticstack_kibana_action_connector object ends in endloop reconcile loops because the config parameter is not stored correctly and thus produces a diff everytime.

To Reproduce
Steps to reproduce the behavior:

resource "elasticstack_kibana_action_connector" "webhook" {
  name = "webhook"
  config = jsonencode({
    url     = "https://some-webhook"
    method  = "post"
    hasAuth = false
    headers = {
      Content-Type = "application/json"
    }
  })
  secrets           = jsonencode({})
  connector_type_id = ".webhook"
}

First apply is fine but another plan will show this

  # elasticstack_kibana_action_connector.webhook will be updated in-place
  ~ resource "elasticstack_kibana_action_connector" "webhook" {
      ~ config             = jsonencode(
          ~ {
              + hasAuth = false
              + headers = {
                  + Content-Type = "application/json"
                }
              + method  = "post"
                # (1 unchanged attribute hidden)
            }
        )
        id                 = "default/some-id"
        name               = "webhook"
        # (7 unchanged attributes hidden)
    }

Checking the state we see only this:

resource "elasticstack_kibana_action_connector" "webhook" {
    config             = jsonencode(
        {
            url     = "https://some-webhook"
        }
    )
    connector_id       = "some-id"
    connector_type_id  = ".webhook"
    id                 = "default/some-id"
    is_deprecated      = false
    is_missing_secrets = false
    is_preconfigured   = false
    name               = "webhook"
    secrets            = jsonencode({})
    space_id           = "default"
}

Expected behavior
The whole config is stored in the state and another plan without changes will not show any diff

Versions (please complete the following information):

  • Terraform Version v1.5.2
  • Provider version 0.6.2
  • Elasticsearch Version 8.8.2

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions