diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7ddd2f4..204378a95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Prevent a provider panic when an `elasticstack_elasticsearch_template` or `elasticstack_elasticsearch_component_template` includes an empty `template` (`template {}`) block. ([#598](https://github.com/elastic/terraform-provider-elasticstack/pull/598)) - Prevent `elasticstack_kibana_space` to attempt the space recreation if `initials` and `color` are not provided. ([#606](https://github.com/elastic/terraform-provider-elasticstack/pull/606)) +- Prevent a provider panic in `elasticstack_kibana_data_view` when a `field_format` does not include a `pattern`. ([#619](https://github.com/elastic/terraform-provider-elasticstack/pull/619/files)) ### Added diff --git a/internal/kibana/data_view/schema.go b/internal/kibana/data_view/schema.go index c12bab8b6..e6e484bbb 100644 --- a/internal/kibana/data_view/schema.go +++ b/internal/kibana/data_view/schema.go @@ -342,9 +342,11 @@ func dataViewFromResponse(resp data_views.DataViewResponseObjectDataView) apiDat ID: formatMap["id"].(string), } - if params, ok := formatMap["params"].(map[string]interface{}); ok { - apiFormat.Params = &apiFieldFormatParams{ - Pattern: params["pattern"].(string), + if params, ok := formatMap["params"]; ok { + if paramsMap, ok := params.(map[string]interface{}); ok { + if pattern, ok := paramsMap["pattern"]; ok { + apiFormat.Params = &apiFieldFormatParams{Pattern: pattern.(string)} + } } }