Skip to content

Update Terraform elasticstack to v0.16.1#721

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/elasticstack-0.x
Open

Update Terraform elasticstack to v0.16.1#721
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/elasticstack-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 23, 2026

This PR contains the following updates:

Package Type Update Change
elasticstack (source) required_provider minor 0.14.50.16.1

Release Notes

elastic/terraform-provider-elasticstack (elasticstack)

v0.16.1

Compare Source

Changes
  • Add elasticstack_elasticsearch_connector resource and data source plus elasticstack_elasticsearch_connector_sync_job_create action for Elasticsearch content connectors. (#​3435)
  • Preserve S3 endpoint and path_style_access in snapshot repository PUT bodies (#​3447)
  • Fix inconsistent state when metadata is set to jsonencode({}) on elasticsearch_security_user (#​3448)
  • Make Kibana dashboard panel-level time_range optional so panels can use the dashboard global time range (#​3436)
  • Fix plan-time Value Conversion Error when the whole analysis_config block (or analysis_config.per_partition_categorization) is sourced from a Terraform variable or for_each. (#​3425)
  • Allow elasticstack_kibana_space to manage the default Kibana space without errors and return an actionable import diagnostic on create 409. (#​3423)
  • Fixed false-positive validation error for cluster_settings when persistent/transient blocks are populated via dynamic blocks driven by local values. (#​3411)
  • Fix Provider produced inconsistent result after apply and plan drift on Kibana Lens dashboard panels caused by Kibana-injected server defaults (issue #​3402 and related across every Lens panel type) (#​3404)
  • Fix elasticstack_kibana_dashboard round-trip drift for Lens XY/gauge/heatmap/image panels, ES|QL controls, and empty panels lists; add getting-started, operations, and advanced Kibana dashboard guides with example configs and screenshots. (#​3391)
  • Add elasticsearch_snapshot_create and elasticsearch_snapshot_restore provider-defined actions for on-demand snapshot creation and restore. (#​3376)
  • Add elasticstack_elasticsearch_query_ruleset resource and data source for the Elasticsearch Query Rules API. (#​3365)
  • improve security role documentation and add automated drift detection for Kibana feature privilege docs (#​3339)
  • webhook connector with sensitive config no longer fails with "inconsistent values for sensitive attribute" when method is omitted (#​3358)
  • Hydrate all elasticstack_elasticsearch_index settings fields on import so plans no longer show spurious drift. (#​3360)
  • Surface Kibana Boom error message when import saved objects returns non-200/400 HTTP responses (#​3359)
  • elasticstack_kibana_security_exception_list now accepts type=rule_default, allowing terraform to explicitly manage per-rule exception list containers that were previously expected to auto-create from a detection rule POST (which does not actually happen). (#​3348)
  • Add elasticstack_elasticsearch_synonym_set resource and data source for full CRUD management of Elasticsearch synonym sets via the Synonyms API. (#​3335)
  • Make Elasticsearch resources serverless-aware by routing all version- and flavor-gating through serverless-safe primitives. (#​3325)
  • Prevent panic in elasticstack_fleet_agent_policy when a global_data_tags entry has neither string nor number value set. (#​3322)
  • Add write-only secrets_wo and secrets_wo_version attributes to elasticstack_kibana_action_connector for ephemeral secret sources. (#​3323)
  • Provider with only a fleet block can serve Kibana resources; missing-endpoint errors surface earlier at plan time. (#​3316)

v0.16.0

Compare Source

Breaking changes
  • The lens-dashboard-app panel type is no longer supported in elasticstack_kibana_dashboard. Use type = "vis" instead.

elasticstack_kibana_security_detection_rule actions.alerts_filter is now a structured nested attribute with query (kql, filters_json) and optional timeframe (days, timezone, hours_start, hours_end), replacing the broken map(string) shape.

Changes
  • Add elasticstack_elasticsearch_ml_calendar_job to assign one ML anomaly detection job to a calendar; entry added under Unreleased in CHANGELOG.md. (#​2933)
  • guard nil package list decoding failures in Fleet package listing (#​3275)
  • Allow elasticstack_kibana_space.disabled_features be set when solution is classic, unset, or unknown. (#​3217)
  • Add ephemeral elasticstack_elasticsearch_security_api_key resource for in-memory API key credentials (#​3176)
  • exceptions_list[].type on elasticstack_kibana_security_detection_rule now accepts rule_default and endpoint_trusted_devices, fixing plan-time failures for rules with user-defined rule-local exception lists. (#​3000)
  • Remove lens-dashboard-app panel type from elasticstack_kibana_dashboard; migrate to type = "vis". (#​3209)
  • Reject empty mappings in indexmappings resource at plan time (#​3186)
  • Add elasticstack_elasticsearch_ml_calendar and elasticstack_elasticsearch_ml_calendar_event resources for managing Elasticsearch ML calendars, scheduled events, and job associations in Terraform. (#​1969)
  • Normalise empty-object mappings/settings on read for component templates to prevent inconsistent state after apply (issue #​609). (#​3175)
  • Omit ILM allocate number_of_replicas and total_shards_per_node from API requests when not explicitly configured, so routing-filter-only policies no longer override index template settings. (#​3174)
  • Fix perpetual plan diff on role mapping rules when field values use single-element arrays (e.g. groups = ["project1"]). (#​3172)
  • Fix perpetual plan diff for Fleet input-type integrations (e.g., gcp_pubsub) by extracting package-level variable defaults. (#​3145)
  • Preserve explicit start/end on elasticstack_elasticsearch_ml_datafeed_state and expose ES-effective search bounds via effective_search_start / effective_search_end. (#​3151)
  • elasticstack_kibana_data_view namespace updates now apply correctly for data views in non-default Kibana spaces. (#​3150)
  • Fix "Provider produced inconsistent result after apply" for elasticstack_elasticsearch_index_template and elasticstack_elasticsearch_component_template when template.settings contains keys not modeled by the go-elasticsearch typed client (e.g. index.search.slowlog.include) or string-encoded scalars coerced by typed structs (e.g. index.lifecycle.parse_origination_date). (#​3126)
  • Fix elasticstack_kibana_security_detection_rule actions.alerts_filter with structured nested blocks; migrate actions and frequency to block syntax. (#​3123)
  • Add support for configuring Agent Builder skills (#​3006)
  • Add elasticstack_elasticsearch_index_mappings resource for managing a subset of mappings on an existing index (#​3121)
  • Fix drift in elasticstack_elasticsearch_ingest_pipeline when a processor contains fields not modeled by the go-elasticsearch typed client (e.g. override on rename processor) (#​3122)

v0.15.2

Compare Source

Changes
  • Fix Read and Delete failures on ElasticsearchResource when the state ID is a plain (non-composite) identifier, e.g. after import with only the resource name. (#​3084)
  • Migrate elasticstack_kibana_security_role resource and data source implementation to Terraform Plugin Framework while preserving the existing schema and behavior. (#​3071)
  • Migrate elasticstack_kibana_space to Plugin Framework while preserving the resource schema, defaults, and observable behavior. (#​3073)
  • Fix "Provider produced inconsistent result after apply" when nested list attributes are set to empty lists in detection rules. (#​3074)
  • Migrate elasticstack_kibana_action_connector data source to Terraform Plugin Framework; behavior is preserved for existing configurations. (#​3072)
  • Add allow_auto_create optional attribute to the elasticstack_elasticsearch_index_template resource and data source (#​3059)
  • Fix space-aware URL construction to correctly handle Kibana base path configurations (#​3053)
  • Fix state consistency error when runtime_field_map is omitted from configuration after previously being set (#​2592)
  • Fix serverless version gating for data_stream_options in elasticsearch_index_template and elasticsearch_index_component_template, and for ignore_missing_component_templates in elasticsearch_index_template. (#​3023)
  • Fix spurious plan drift for component/index templates using boolean scalar mappings or null settings after Elasticsearch echoes them as strings (#​3014)
  • Add template.data_stream_options block to elasticstack_elasticsearch_component_template to configure the failure store on data streams composed from this component. Requires Elasticsearch >= 9.1.0. (#​2963)
  • Fix unknown-value handling in the required-if validator for custom SLO metric indicators. (#​3001)
  • Suppress drift from Kibana field popularity counts on elasticstack_kibana_data_view.field_attrs and apply field metadata updates in place instead of replacing the data view. (#​2964)

v0.15.1

Compare Source

Changes
  • Fix plan-time Value Conversion Error regression when analysis_config.detectors is sourced from a Terraform variable or module input (#​2981)
  • Fix "Provider produced inconsistent result after apply" for ingest pipelines when processors use single-string fields that the typed client returns as arrays. (#​2979)
  • increase supported Kibana SLO ID length from 36 to 48 characters (#​2973)
  • Allow duplicate action group IDs in kibana_alerting_rule. This reverts an incorrect new validation from 0.15.0 (#​2969)
  • Fix "Provider produced inconsistent result after apply" for component templates with nested object mappings. (#​2968)

v0.15.0

Compare Source

Breaking changes

Removed top-level enabled from elasticstack_fleet_integration_policy. In practice this field was unusable, causing state consistency issues unless it was true. Kibana doesn't support enabling/disabling an integration policy directly.

The documented minimum supported Elastic Stack version is now 8.0. 7.x is no longer included in the acceptance test matrix or officially supported. Compatibility branches and version gates for pre-8.0 Elasticsearch behavior have been removed from the transform and ILM resources.

elasticstack_kibana_security_detection_rule action params format change

Previously elasticstack_kibana_security_detection_rule used a map of strings for action parameters. This caused issues with actions requiring non-string based parameters (see #​2339 for an example). This has been changed to a single JSON string value which supports arbitrary param values.

Previously

resource "elasticstack_kibana_security_detection_rule" "test" {
...

  actions = [
    {
...
      params = {
        message = "Test state upgrade alert"
      }
...
  ]
}

becomes

resource "elasticstack_kibana_security_detection_rule" "test" {
...

  actions = [
    {
...
      params = jsonencode({
        message = "Test state upgrade alert"
      })
...
  ]
}
Changes
  • Fleet resources now retry on HTTP 409 Conflict with exponential backoff, resolving failures when running terraform apply with parallelism > 1. (#​2911)
  • Add elasticstack_kibana_dashboard resource (#​2902)
  • Add elasticstack_elasticsearch_ml_filter resource for managing Elasticsearch ML filters (used with anomaly detection custom_rules). (#​1970)
  • Improve docs on ML Anomaly job results_index_name (#​2919)
  • Add optional scope on detector custom_rules for ML anomaly detection jobs (map analysis field names to ML filter_id and optional filter_type). (#​2877)
  • Added plan-time validation for kibana_slo time_window.duration based on window type. (#​2914)
  • Remove top-level enabled field from elasticstack_fleet_integration_policy. (#​2773)
  • Adds sort nested block to elasticstack_elasticsearch_index resource with deprecation of sort_field/sort_order and seamless migration (#​2851)
  • Fix crash when role_descriptors is not set in elasticstack_elasticsearch_security_api_key (#​2855)
  • Migrate elasticstack_elasticsearch_security_user data source to Plugin Framework. (#​2854)
  • Migrate elasticsearch_security_role data source from Plugin SDK to Plugin Framework. (#​2847)
  • Migrate elasticstack_elasticsearch_cluster_settings to the Terraform plugin framework (#​2755)
  • Migrate elasticstack_elasticsearch_info data source to Plugin Framework (#​2796)
  • Migrate elasticstack_elasticsearch_snapshot_lifecycle and elasticstack_elasticsearch_snapshot_repository to the Plugin Framework. (#​2752)
  • Migrated the elasticstack_elasticsearch_transform resource to the Plugin Framework. (#​2757)
  • Migrate elasticstack_elasticsearch_component_template to the Terraform plugin framework (#​2749)
  • Migrated elasticstack_elasticsearch_logstash_pipeline resource to the Terraform plugin framework. (#​2750)
  • Migrate the elasticstack_elasticsearch_snapshot_repository data source to the Terraform plugin framework. (#​2761)
  • Store nil watch metadata as JSON null instead of empty object (#​2759)
  • Migrates elasticstack_elasticsearch_ingest_pipeline to the Terraform plugin framework (#​2745)
  • Fix ILM policy delete failures when the policy is still referenced by indices (e.g. Fleet-managed data stream backing indices) (#​2714)
  • Migrated elasticstack_elasticsearch_data_stream resource from Plugin SDK to Plugin Framework (#​2744)
  • Add elasticstack_apm_source_map resource for managing APM source maps via Kibana API (#​2712)
  • Fixed enrich policy resource recreation on every apply when query is not configured, by treating marshaled-null API responses as equivalent to an absent query. (#​2691)
  • Duplicate actions block group values are now rejected at plan time with a clear error instead of failing with an opaque HTTP 400 at apply time. (#​2656)
  • Poll for job closed state before deleting ML anomaly detection job to eliminate HTTP 409 version_conflict_engine_exception on teardown (#​2669)
  • Adds elasticstack_fleet_proxy resource for managing fleet proxies (#​2364)
  • elasticstack_fleet_integration now syncs space_id from Fleet on both create and read, preventing state drift that caused unexpected forced replacements. (#​2582)
  • Add space-aware Kibana asset management for elasticstack_fleet_integration on Kibana >= 8.15.0 (#​2608)
  • Internal migration of ingest processor data sources to Plugin Framework. Add missing common fields to geoip and user_agent processors. (#​2609)
  • Add optional use_existing on elasticstack_elasticsearch_index to adopt an existing index at create instead of failing on duplicate. (#​2589)
  • Fix plan-time params validation in elasticstack_kibana_alerting_rule for xpack.uptime.alerts.monitorStatus by using the correct generated struct and expanding legacy filter fields. (#​2573)
  • Fix perpetual plan diff for indices_options.expand_wildcards = ["all"] in ML datafeed resource (#​2572)
  • add tamper protection option to agent policy ressource (#​2086)
  • Drop Elastic Stack 7.x support floor. The provider now documents and tests against Elastic Stack 8.0+. (#​2554)
  • Fix perpetual plan drift on elasticstack_elasticsearch_index mappings when an index template injects additional mapping content. (#​2542)
  • Align Kibana SLO KQL schema and API mapping with object-form filters, settings, artifacts, and enabled state. (#​2495)
  • elasticstack_kibana_space now correctly clears description, initials, color, and image_url when the configuration sets them to an empty string. Previously those explicit empty-string assignments were silently dropped from the outbound API request and Kibana retained the prior value. (#​2452)
  • elasticstack_fleet_agent_policy no longer errors with "Provider produced inconsistent result" when the Fleet API returns an empty description for a policy whose description is unset in the Terraform configuration. (#​2448)
  • Migrate elasticstack_elasticsearch_index_template resource and data source to the Terraform Plugin Framework. Existing state is upgraded automatically (v0 → v1); attribute names, paths, block syntax, identity, and import behavior are preserved. (#​2515)
  • elasticstack_fleet_integration_policy can now be imported from non-default Kibana spaces using a composite <space_id>/<policy_id> import ID (#​2522)
  • Add template.data_stream_options block to elasticstack_elasticsearch_index_template to configure the failure store for new data streams via Terraform (#​2509)
  • elasticstack_fleet_integration now detects out-of-band package upgrades and downgrades during refresh by consulting InstallationInfo.Version; terraform plan surfaces the drift instead of reporting "No changes". (#​2447)
  • elasticstack_elasticsearch_security_role now detects out-of-band drift on description, metadata, and other attributes during refresh; terraform plan no longer silently returns "No changes" when a role is modified outside Terraform. (#​2446)
  • New elasticstack_fleet_custom_integration resource for uploading and managing locally-built Fleet integration packages via the EPM binary upload API (#​2387)
  • Change elasticstack_kibana_security_detection_rule.actions[].params to a JSON string rather than a map of string values. This allows setting arbitrary, nested param values (#​2340)
  • Add import support to the elasticstack_elasticsearch_enrich_policy resource (#​2427)
  • Add ssl.verification_mode attribute to the elasticstack_fleet_output ssl block (#​2415)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/elasticstack-0.x branch from cfcb5e5 to c4924a9 Compare May 25, 2026 06:05
@renovate renovate Bot changed the title Update Terraform elasticstack to v0.15.2 Update Terraform elasticstack to v0.16.0 May 25, 2026
@renovate renovate Bot force-pushed the renovate/elasticstack-0.x branch from c4924a9 to e95c189 Compare June 1, 2026 03:26
@renovate renovate Bot changed the title Update Terraform elasticstack to v0.16.0 Update Terraform elasticstack to v0.16.1 Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants