- Create
elasticstack_kibana_security_detection_ruleresource. (#1290) - Add
elasticstack_kibana_export_saved_objectsdata source (#1293) - Create
elasticstack_kibana_maintenance_windowresource. (#1224) - Add support for
solutionfield inelasticstack_kibana_spaceresource and data source (#1102) - Add
slo_idvalidation toelasticstack_kibana_slo(#1221) - Add
ignore_missing_component_templatestoelasticstack_elasticsearch_index_template(#1206) - Migrate
elasticstack_elasticsearch_enrich_policyresource and data source to Terraform Plugin Framework (#1220) - Prevent provider panic when a script exists in state, but not in Elasticsearch (#1218)
- Add support for managing cross_cluster API keys in
elasticstack_elasticsearch_security_api_key(#1252) - Allow version changes without a destroy/create cycle with
elasticstack_fleet_integration(#1255). This fixes an issue where it was impossible to upgrade integrations which are used by an integration policy. - Add
namespaceattribute toelasticstack_kibana_synthetics_monitorresource to support setting data stream namespace independently fromspace_id(#1247) - Support setting an explit
connector_idinelasticstack_kibana_action_connector. This attribute already existed, but was being ignored by the provider. Setting the attribute will return an error in Elastic Stack v8.8 and lower since creating a connector with an explicit ID is not supported. (1260) - Migrate
elasticstack_kibana_action_connectorto the Terraform plugin framework (#1269) - Migrate
elasticstack_elasticsearch_security_role_mappingresource and data source to Terraform Plugin Framework (#1279) - Add support for
inactivity_timeoutinelasticstack_fleet_agent_policy(#641) - Migrate
elasticstack_elasticsearch_scriptresource to Terraform Plugin Framework (#1297) - Add support for
kafkaoutput types inelasticstack_fleet_output(#1302) - Add support for
prevent_initial_backfilltoelasticstack_kibana_slo(#1071) - [Refactor] Regenerate the SLO client using the current OpenAPI spec (#1303)
- Add support for
data_view_idin theelasticstack_kibana_sloresource (#1305) - Add support for
unenrollment_timeoutinelasticstack_fleet_agent_policy(#1169) - Handle default value for
allow_restricted_indicesinelasticstack_elasticsearch_security_api_key(#1315) - Fixed
nilreference in kibana synthetics API client in case of response errors (#1320)
0.11.17 - 2025-07-21
- Add
elasticstack_apm_agent_configurationresource (#1196) - Add support for
timeslice_metric_indicatorinelasticstack_kibana_slo(#1195) - Add
elasticstack_elasticsearch_ingest_processor_reroutedata source (#678) - Add support for
supports_agentlesstoelasticstack_fleet_agent_policy(#1197) - Ignore
master_timeoutwhen targeting Serverless projects (#1207)
0.11.16 - 2025-07-09
- Add
headersfor the provider connection (#1057) - Migrate
elasticstack_elasticsearch_system_userresource to Terraform plugin framework (#1154) - Add custom
endpointconfiguration support for snapshot repository setup (#1158) - Add
descriptiontoelasticstack_kibana_security_role(#1172) - Add
elasticstack_kibana_synthetics_parameterresource (#1155)
0.11.15 - 2025-04-23
- Add
global_data_tagsto fleet agent policies. (#1044)
0.11.14 - 2025-03-17
- Fix a provider crash when interacting with elasticstack_kibana_data_view resources created with 0.11.0. (#979)
- Add
max_primary_shard_docscondition to ILM rollover (#845) - Add missing entries to
data_view.field_formats.params(#1001) - Fix namespaces inconsistency when creating elasticstack_kibana_data_view resources (#1011)
- Update rule ID documentation. (#1047)
- Mark
elasticstack_kibana_action_connector.secretsas sensitive. (#1045)
0.11.13 - 2025-01-09
- Support 8.15.5 in acc tests (#963).
- Support 8.16.2 in acc tests (#964).
- Support 8.17.0 in acc tests (#969).
- Support 9.0.0 in acc tests (#954).
- Support several ssl fields in
elasticstack_kibana_synthetics_monitor(#967). - HTTP 400 Bad Request When Creating elasticstack_kibana_security_role (933).
0.11.12 - 2024-12-16
- Support multiple group by fields in SLOs (#870). This changes to type of the
group_byattribute of theelasticstack_kibana_sloresource from a String to a list of Strings. Any existing SLO defintions will need to updategroup_by = "field"togroup_by = ["field"].
- Handle NPE in integration policy secrets (#946)
- Use the auto-generated OAS schema from elastic/kibana for the Fleet API. (#834)
- Support description in
elasticstack_elasticsearch_security_roledata sources. (#884) - Prevent spurious recreation of
elasticstack_fleet_agent_policyresources due to 'changing' policy ids (#885) - Support
elasticstack_kibana_alerting_ruleresources with only one ofkqlortimeframeattributes set (#886) - Rename generated/fleet to generated/kibana, add data_view APIs. Keep libs/go-kibana-rest until migration can be completed. Clean and simplify the
elasticstack_kibana_data_viewresource to match the styling of Fleet resources. (#881) - Exposes internal objects needed to build a Crossplane Elasticstack provider (#949)
0.11.11 - 2024-10-25
- Allow
elasticstack_kibana_alerting_ruleto be used without Elasticsearch being configured. (#869) - Add resource
elasticstack_elasticsearch_data_stream_lifecycle(#838) - Ensure API keys are not replaced when upgrading from 0.11.9 or earlier. (#875)
0.11.10 - 2024-10-23
- Fix bug updating alert delay (#859)
- Support updating
elasticstack_elasticsearch_security_api_keywhen supported by the backing cluster (#843) - Fix validation of
throttle, andintervalattributes inelasticstack_kibana_alerting_ruleallowing all Elastic duration values (#846) - Fix boolean setting parsing for
elasticstack_elasticsearch_indicesdata source. (#842) - Update all Fleet and utils/tfsdk instances of diagnostics parameters to pass by pointer instead of pass by value. Added upgrader for fleet_integration_policy v0 to handle empty string vars_json/streams_json. (#855)
- Fix handling of EPM packages when uninstalled outside Terraform, and diags in create/update. (#854)
0.11.9 - 2024-10-14
- Remove support for specifying
include_type_namefrom theelasticstack_elasticsearch_indexresource. This parameter has been deprecated from 7.0, with indices restricted to a single type since 6.0. (#832)
- Fix inconsistent output errors in
elasticstack_fleet_outputfordefault_integrationsanddefault_monitoring. (#841) - Fix secret handling
elasticstack_fleet_integration_policyresource. (#821) - Fix merge values for
elasticstack_kibana_synthetics_monitormonitor locations (#823) - Migrate to a v8 Elasticsearch client (#832)
- Add support for the
.geminiconnector type for Kibana action connectors (#819) - Add
aliasesattribute toelasticstack_elasticsearch_transformresource. (#825) - Add
descriptionattribute toelasticstack_elasticsearch_security_roleresource. (#824) - Fix merge values for
elasticstack_kibana_synthetics_monitormonitor locations (#823 - Add
elasticstack_elasticsearch_index_templatedata source (#828)
0.11.8 - 2024-10-02
- Add key_id to the
elasticstack_elasticsearch_api_keyresource. (#789) - Fix handling of
sys_monitoringinelasticstack_fleet_agent_policy(#792) - Migrate
elasticstack_fleet_agent_policy,elasticstack_fleet_integration(both), andelasticstack_fleet_server_hostto terraform-plugin-framework (#785) - Fix for synthetics http/tcp monitor produces inconsistent result after apply (#801)
- Migrate
elasticstack_fleet_integration_policyto terraform-plugin-framework. Fix drift in integration policy secrets. (#797) - Migrate
elasticstack_fleet_outputto terraform-plugin-framework. (#811)
0.11.7 - 2024-09-20
- Add the
alerts_filterfield to theactionsin the Create Rule API (#774) - Add the
alert_delayfield to the Create Rule API (#715) - Add support for data_stream
lifecycletemplate settings (#724) - Fix a provider panic when
elasticstack_kibana_action_connectorreads a non-existant connector (#729) - Add support for
remote_indiciestoelasticstack_elasticsearch_security_role&elasticstack_kibana_security_role(#723)[elastic#723] - Fix error handling in
elasticstack_kibana_import_saved_objects(#738) - Remove
space_idparameter from private locations to fix inconsistent state forelasticstack_kibana_synthetics_private_locationspace_id(#733) - Add the
Frequencyfield to the Create Rule API (#753) - Prevent a provider panic when the repository referenced in an
elasticstack_elasticsearch_snapshot_repositorydoes not exist (#758) - Add support for
remote_indiciestoelasticstack_elasticsearch_security_api_key(#766)[elastic#766] - Add support for
icmpandbrowsermonitor types toelasticstack_kibana_synthetics_monitorresource (#772)[elastic#772] - Migrate
elasticstack_fleet_enrollment_tokensto terraform-plugin-framework (#778)
0.11.6 - 2024-08-20
- Improve validation for index settings and mappings (#719)
- Add support for Kibana synthetics http and tcp monitors (#699)
- Add
elasticstack_kibana_spacesdata source (#682)
0.11.5 - 2024-08-12
- Fix setting
idfor Fleet outputs and servers (#666) - Fix
elasticstack_fleet_enrollment_tokensreturning empty tokens in some case (#683) - Add support for Kibana synthetics private locations (#696)
- Support setting
restrictioninelasticstack_elasticsearch_security_api_keyrole definitions (#577) - Fix type of
group_byattribute in thekibana_sloresource to be compatible with versions 8.14+ (#701)
0.11.4 - 2024-06-13
- The
titleattribute is now required in the elasticstack_kibana_data_view resource. In practice the resource didn't work without this set, the schema now enforces it's correctly configured.
- Populate policy_id when importing fleet policies and integrations (#646)
- Fix alerting rule update crash when backend responds with HTTP 4xx. (#649)
- Fix the elasticstack_kibana_data_view resource when not specifying an
idand running against Kibana 8.14 (#663) - Support allow_write_after_shrink when managing ILM policies (#662)
- Support managing image_url in Kibana spaces (#664)
0.11.3 - 2024-05-16
- Prevent a provider panic when an
elasticstack_elasticsearch_templateorelasticstack_elasticsearch_component_templateincludes an emptytemplate(template {}) block. (#598) - Prevent
elasticstack_kibana_spaceto attempt the space recreation ifinitialsandcolorare not provided. (#606) - Prevent a provider panic in
elasticstack_kibana_data_viewwhen afield_formatdoes not include apattern. (#619) - Fixed a bug where the
idattribute forelasticstack_kibana_sloresources was ignored by renaming the attribute toslo_id. (#622) - Fixed a bug where the
rule_idattribute forelasticstack_kibana_alerting_rulewas ignored. (#626) - Fixed a bug with incorrect HTTP header name for API key for alerting client. (#633)
- Fix provider crash when running against Serverless projects (#630)
- Added datasource for alerting connectors. (#607)
0.11.2 - 2024-03-13
- Fix authentication for fleet API (using ApiKey instead of Bearer keyword) (#576)
- Ensure all Kibana resources use the supplied
ca_certsvalue. (#585) - Don't panic when SLM indices are specified as a CSV string rather than an array (#593)
0.11.1 - 2024-02-17
- Add downsample section to ILMs #538
- Add new optional
ca_certsattribute for Kibana (#507) - Support API key authentication in
elasticstack_kibana_data_viewresource (#549)
- Handle nil LastExecutionDate's in Kibana alerting rules. (#508)
- Import all relevant attributes during
elasticstack_fleet_outputimport (#522) - Fix issue when setting
overrideinelasticstack_kibana_data_viewresource (#550) - Fixup typos in
elasticstack_elasticsearch_transformandelasticstack_kibana_security_roledocs (#551) - Fix issue when setting
field_attrsinelasticstack_kibana_data_viewresource (#552) - Fixup support for managing
elasticstack_kibana_data_viewresources in non-default spaces (#559) - Add an example resource and import command to the
elasticstack_kibana_data_viewdocs (#560)
0.11.0 - 2023-12-12
- Switch to Terraform protocol version 6 that is compatible with Terraform CLI version 1.0 and later.
- Add 'elasticstack_fleet_package' data source (#469)
- Add
tagsoption to Kibana's SLOs (#495) - Add support for Authorization header - Bearer Token and ES-Client-Authentication fields added.(#500)
- Add support for managing Kibana Data Views (#502)
- Support Logstash SSL fields in Fleet output (#498)
- Support for Kibana API Key authentication (#372)
- Rename fleet package objects to
elasticstack_fleet_integrationandelasticstack_fleet_integration_policy(#476) - Fix a provider crash when managing SLOs outside of the default Kibana space. (#485)
- Make input optional for
elasticstack_fleet_integration_policy(#493) - Sort Fleet integration policy inputs to ensure consistency (#494)
- Updated Elasticsearch role_mapping.go to enforce the replacement/updates of role mapping resources when the name field is altered. (#503)
0.10.0 - 2023-11-02
- Add support for Kibana security role (#435)
- Introduce
elasticstack_kibana_import_saved_objectsresource as an additive only way to manage Kibana saved objects (#343). - Add support for Terraform Plugin Framework (#343).
- Fix fleet resources not having ID set on import (#447)
- Fix Fleet Agent Policy monitoring settings (#448)
- Add
elasticstack_elasticsearch_infodata source. (#467) - Add
elasticstack_fleet_packageandelasticstack_fleet_package_policyresources (#454)
0.9.0 - 2023-10-09
- Update
elasticstack_fleet_outputto use new API schema format (#434)
- Fix mapping of webhook connectors that is stored in tfstate (#433)
0.8.0 - 2023-09-26
- Add support for the
.slack_apiconnector type for Kibana action connectors (#419) - resource
elasticstack_kibana_slo: Updatehistogram_custom_indicatorfromandtofields to float (#430)
0.7.0 - 2023-08-22
0.6.2 - 2023-06-19
- Logging of Kibana action connectors HTTP requests and responses when Terraform logs are enabled.
- Add
skip_destroyflag toelasticstack_fleet_agent_policyresource (#357)
0.6.1 - 2023-05-30
- Add
path_style_accesssetting toelasticstack_elasticsearch_snapshot_repositoryon s3 repositories to enable path style access pattern (#331) - Add
transformfield toelasticstack_elasticsearch_watchto allow for payload transforms to be defined (#340)
- Fix error presented by incorrect handling of
disabled_featuresfield inelasticstack_kibana_spaceresource (#340)
0.6.0 - 2023-05-24
-
New resource
elasticstack_elasticsearch_enrich_policyto manage enrich policies (#286) (Enrich API) -
New data source
elasticstack_elasticsearch_enrich_policyto read enrich policies (#293) (Enrich API) -
Add 'mapping_coerce' field to index resource (#229)
-
Add 'min_*' conditions to ILM rollover (#250)
-
Add support for Kibana connections (#226)
-
[Breaking Change] Add 'deletion_protection' field to index resource to avoid unintentional deletion. (#167)
- To delete index resource, you'll need to explicitly set
deletion_protection = falseas follows.
resource "elasticstack_elasticsearch_index" "example" { name = "example" mappings = jsonencode({ properties = { field1 = { type = "text" } } }) deletion_protection = false }
- To delete index resource, you'll need to explicitly set
-
Add
elasticstack_kibana_spacefor managing Kibana spaces (#272) -
Add
elasticstack_elasticsearch_transformfor managing Elasticsearch transforms (#284) -
Add
elasticstack_elasticsearch_watchfor managing Elasticsearch Watches (#155) -
Add
elasticstack_kibana_alerting_rulefor managing Kibana alerting rules (#292) -
Add client for communicating with the Fleet APIs (#311])
-
Add
elasticstack_fleet_enrollment_tokensandelasticstack_fleet_agent_policyfor managing Fleet enrollment tokens and agent policies (#322) -
Add
elasticstack_fleet_outputandelasticstack_fleet_server_hostfor managing Fleet outputs and server hosts (#327]) -
Add
elasticstack_kibana_action_connectorfor managing Kibana action connectors (#306)
-
Updated unsupported queue_max_bytes_number and queue_max_bytes_units with queue.max_bytes (#266)
-
Respect
ignore_unavailableandinclude_global_statevalues when configuring SLM policies (#224) -
Refactor API client functions and return diagnostics (#220)
-
Fix not to recreate index when field is removed from mapping (#232)
-
Add query params fields to index resource (#244)
-
Properly handle errors which occur during provider execution (#262)
-
Correctly handle empty logstash pipeline metadata in plan diffs (#256)
-
Fix error when logging API requests in debug mode (#259)
-
[Breaking Change] Change
pipeline_metadatatype from schema.TypeMap to schema.TypeString. This is to fix an error caused by updates to Logstash Pipelines outside of TF (#278)-
To use the updated
pipeline_metadatafield, you'll need to encapsulate any Terraform configuration with jsonencode{} as follows:resource "elasticstack_elasticsearch_logstash_pipeline" "example" { name = "example" pipeline = <<-EOF input{} filter{} output{} EOF pipeline_metadata = jsonencode({ type = "logstash_pipeline" version = 1 }) }
-
If migrating existing resources in state from a previous version of the provider, then you will need to remove the reference to the resources in state before reapplying / reimporting:
- Run
terraform state rmagainst your logstash pipelines (https://developer.hashicorp.com/terraform/cli/commands/state/rm) - Ensure any definitions of the
pipeline_metadatafield in your resource definitions have been encapsulated withjsonencode()as mentioned above. - EITHER
- run
terraform plan - run
terraform apply
- run
- OR
- reimport the resources into state using
terraform import(https://developer.hashicorp.com/terraform/cli/import)
- reimport the resources into state using
- Run
-
-
Fix order of
indicesfield in SLM (#326)
0.5.0 - 2022-12-07
- New resource
elasticstack_elasticsearch_logstash_pipelineto manage Logstash pipelines (Centralized Pipeline Management) (#151) - Add
elasticstack_elasticsearch_scriptresource (#173) - Add
elasticstack_elasticsearch_security_roledata source (#177) - Add
elasticstack_elasticsearch_security_role_mappingdata source (#178) - Apply
total_shards_per_nodesetting inallocateaction in ILM. Supported from Elasticsearch version 7.16 (#112) - Add
elasticstack_elasticsearch_security_api_keyresource (#193) - Add
elasticstack_elasticsearch_security_system_userresource to manage built-in user (#188) - Add
unassigned_node_left_delayed_timeoutto index resource (#196) - Add support for Client certificate based authentication (#191)
- Deprecate
elasticsearch_connectionblocks on individual resources/data sources. Connection configuration should be configured directly on the provider with multiple provider instances used to connect to different clusters. (#218)
- Remove unnecessary unsetting id on delete (#174)
- Fix not found handling for snapshot repository (#175)
- Add warn log when to remove resource from state (#185)
- Import snapshot repository name when importing (#187)
0.4.0 - 2022-10-07
- Add ca_data field to provider schema (#145)
- Add individual setting fields (#137)
- Allow use of
api_keyinstead ofusername/passwordfor authentication (#130) - Add
allow_restricted_indicessetting to security role (#125) - Add conditional to only set
passwordandpassword_hashwhen a new value is defined (#127) - Add support for ELASTICSEARCH_INSECURE environment variable as the default of the
insecureconfig value (#127) - Add elasticstack_elasticsearch_security_role_mapping resource (148)
- Refactor main function not to use deprecated debug method (#149)
- Expose provider package (#142)
- Upgrade Go version to 1.19 and sdk version to v2.22.0 (#139)
- Make API calls context aware to be able to handle timeouts (#138)
- Correctly identify a missing security user (#101)
- Support 7.x Elasticsearch < 7.15 by removing the default
media_typeattribute in the Append processor (#118)
0.3.3 - 2022-03-22
- Make sure it is possible to set priority to
0in ILM template (#88) - Set the ILM name on read operation (#87)
- Always use data_stream setting if it's present (#91)
0.3.2 - 2022-02-28
- Properly apply
number_of_replicassetting inallocateaction in ILM (#80)
0.3.1 - 2022-02-24
- Add new field
allow_custom_routingindata_streamsection ofindex_template, which appears only in Elasticsearch version 8.0.0. Make sureindex_templateresource can work with both 7.x and 8.x versions (#72) - Panic using
elasticstack_elasticsearch_security_user_data_sourcewhen the user absent or there is not enough permissions to fetch users from ES API (#73) - Fix typo in the index alias model (#78)
0.3.0 - 2022-02-17
- New resource
elasticstack_elasticsearch_data_streamto manage Elasticsearch data streams (#45) - New resource
elasticstack_elasticsearch_ingest_pipelineto manage Elasticsearch ingest pipelines (#56) - New resource
elasticstack_elasticsearch_component_templateto manage Elasticsearch component templates (#39) - New helper data sources to create processorts for ingest pipelines (#67)
- Update only changed index settings (#52)
- Enable import of index settings (#53)
- Handle
allocateaction in ILM policy (#59) - Send only initialized values to Elasticsearch API when managing the users (#66)
0.2.0 - 2022-01-27
- New resource to manage Elasticsearch indices (#38)
- The
insecureoption to the Elasticsearch provider configuration to ignore certificate verification (#36) - The
ca_fileoption to the Elasticsearch provider configuration to provide path to the custom root certificate file (#35) - Documentation templates for all the existing resources (#32)
- Identify missing or deleted resources in the Elasticsearch cluster and make sure Terraform can re-create them (#40)
- [Breaking] Rename
aliasesconfiguration option inelasticstack_elasticsearch_index_templateresource to singularalias
0.1.0 - 2021-12-20
- Initial set of the resources to gather feedback from the community
- Initial set of docs
- CI integration