- Support multiple group by fields in SLOs (#870)
- Use the auto-generated OAS schema from elastic/kibana for the Fleet API. (#834)
- Support description in
elasticstack_elasticsearch_security_role
data sources. (#884) - Prevent spurious recreation of
elasticstack_fleet_agent_policy
resources due to 'changing' policy ids (#885) - Support
elasticstack_kibana_alerting_rule
resources with only one ofkql
ortimeframe
attributes set (#886)
0.11.11 - 2024-10-25
- Allow
elasticstack_kibana_alerting_rule
to 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_key
when supported by the backing cluster (#843) - Fix validation of
throttle
, andinterval
attributes inelasticstack_kibana_alerting_rule
allowing all Elastic duration values (#846) - Fix boolean setting parsing for
elasticstack_elasticsearch_indices
data 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_name
from theelasticstack_elasticsearch_index
resource. 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_output
fordefault_integrations
anddefault_monitoring
. (#841) - Fix secret handling
elasticstack_fleet_integration_policy
resource. (#821) - Fix merge values for
elasticstack_kibana_synthetics_monitor
monitor locations (#823) - Migrate to a v8 Elasticsearch client (#832)
- Add support for the
.gemini
connector type for Kibana action connectors (#819) - Add
aliases
attribute toelasticstack_elasticsearch_transform
resource. (#825) - Add
description
attribute toelasticstack_elasticsearch_security_role
resource. (#824) - Fix merge values for
elasticstack_kibana_synthetics_monitor
monitor locations (#823 - Add
elasticstack_elasticsearch_index_template
data source (#828)
0.11.8 - 2024-10-02
- Add key_id to the
elasticstack_elasticsearch_api_key
resource. (#789) - Fix handling of
sys_monitoring
inelasticstack_fleet_agent_policy
(#792) - Migrate
elasticstack_fleet_agent_policy
,elasticstack_fleet_integration
(both), andelasticstack_fleet_server_host
to terraform-plugin-framework (#785) - Fix for synthetics http/tcp monitor produces inconsistent result after apply (#801)
- Migrate
elasticstack_fleet_integration_policy
to terraform-plugin-framework. Fix drift in integration policy secrets. (#797) - Migrate
elasticstack_fleet_output
to terraform-plugin-framework. (#811)
0.11.7 - 2024-09-20
- Add the
alerts_filter
field to theactions
in the Create Rule API (#774) - Add the
alert_delay
field to the Create Rule API (#715) - Add support for data_stream
lifecycle
template settings (#724) - Fix a provider panic when
elasticstack_kibana_action_connector
reads a non-existant connector (#729) - Add support for
remote_indicies
toelasticstack_elasticsearch_security_role
&elasticstack_kibana_security_role
(#723)[#723] - Fix error handling in
elasticstack_kibana_import_saved_objects
(#738) - Remove
space_id
parameter from private locations to fix inconsistent state forelasticstack_kibana_synthetics_private_location
space_id
(#733) - Add the
Frequency
field to the Create Rule API (#753) - Prevent a provider panic when the repository referenced in an
elasticstack_elasticsearch_snapshot_repository
does not exist (#758) - Add support for
remote_indicies
toelasticstack_elasticsearch_security_api_key
(#766)[#766] - Add support for
icmp
andbrowser
monitor types toelasticstack_kibana_synthetics_monitor
resource (#772)[#772] - Migrate
elasticstack_fleet_enrollment_tokens
to 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_spaces
data source (#682)
0.11.5 - 2024-08-12
- Fix setting
id
for Fleet outputs and servers (#666) - Fix
elasticstack_fleet_enrollment_tokens
returning empty tokens in some case (#683) - Add support for Kibana synthetics private locations (#696)
- Support setting
restriction
inelasticstack_elasticsearch_security_api_key
role definitions (#577) - Fix type of
group_by
attribute in thekibana_slo
resource to be compatible with versions 8.14+ (#701)
0.11.4 - 2024-06-13
- The
title
attribute 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
id
and 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_template
orelasticstack_elasticsearch_component_template
includes an emptytemplate
(template {}
) block. (#598) - Prevent
elasticstack_kibana_space
to attempt the space recreation ifinitials
andcolor
are not provided. (#606) - Prevent a provider panic in
elasticstack_kibana_data_view
when afield_format
does not include apattern
. (#619) - Fixed a bug where the
id
attribute forelasticstack_kibana_slo
resources was ignored by renaming the attribute toslo_id
. (#622) - Fixed a bug where the
rule_id
attribute forelasticstack_kibana_alerting_rule
was 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_certs
value. (#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_certs
attribute for Kibana (#507) - Support API key authentication in
elasticstack_kibana_data_view
resource (#549)
- Handle nil LastExecutionDate's in Kibana alerting rules. (#508)
- Import all relevant attributes during
elasticstack_fleet_output
import (#522) - Fix issue when setting
override
inelasticstack_kibana_data_view
resource (#550) - Fixup typos in
elasticstack_elasticsearch_transform
andelasticstack_kibana_security_role
docs (#551) - Fix issue when setting
field_attrs
inelasticstack_kibana_data_view
resource (#552) - Fixup support for managing
elasticstack_kibana_data_view
resources in non-default spaces (#559) - Add an example resource and import command to the
elasticstack_kibana_data_view
docs (#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
tags
option 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_integration
andelasticstack_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_objects
resource 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_info
data source. (#467) - Add
elasticstack_fleet_package
andelasticstack_fleet_package_policy
resources (#454)
0.9.0 - 2023-10-09
- Update
elasticstack_fleet_output
to 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_api
connector type for Kibana action connectors (#419) - resource
elasticstack_kibana_slo
: Updatehistogram_custom_indicator
from
andto
fields 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_destroy
flag toelasticstack_fleet_agent_policy
resource (#357)
0.6.1 - 2023-05-30
- Add
path_style_access
setting toelasticstack_elasticsearch_snapshot_repository
on s3 repositories to enable path style access pattern (#331) - Add
transform
field toelasticstack_elasticsearch_watch
to allow for payload transforms to be defined (#340)
- Fix error presented by incorrect handling of
disabled_features
field inelasticstack_kibana_space
resource (#340)
0.6.0 - 2023-05-24
-
New resource
elasticstack_elasticsearch_enrich_policy
to manage enrich policies (#286) (Enrich API) -
New data source
elasticstack_elasticsearch_enrich_policy
to 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 = false
as 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_space
for managing Kibana spaces (#272) -
Add
elasticstack_elasticsearch_transform
for managing Elasticsearch transforms (#284) -
Add
elasticstack_elasticsearch_watch
for managing Elasticsearch Watches (#155) -
Add
elasticstack_kibana_alerting_rule
for managing Kibana alerting rules (#292) -
Add client for communicating with the Fleet APIs (#311])
-
Add
elasticstack_fleet_enrollment_tokens
andelasticstack_fleet_agent_policy
for managing Fleet enrollment tokens and agent policies (#322) -
Add
elasticstack_fleet_output
andelasticstack_fleet_server_host
for managing Fleet outputs and server hosts (#327]) -
Add
elasticstack_kibana_action_connector
for managing Kibana action connectors (#306)
-
Updated unsupported queue_max_bytes_number and queue_max_bytes_units with queue.max_bytes (#266)
-
Respect
ignore_unavailable
andinclude_global_state
values 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_metadata
type 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_metadata
field, 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 rm
against your logstash pipelines (https://developer.hashicorp.com/terraform/cli/commands/state/rm) - Ensure any definitions of the
pipeline_metadata
field 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
indices
field in SLM (#326)
0.5.0 - 2022-12-07
- New resource
elasticstack_elasticsearch_logstash_pipeline
to manage Logstash pipelines (Centralized Pipeline Management) (#151) - Add
elasticstack_elasticsearch_script
resource (#173) - Add
elasticstack_elasticsearch_security_role
data source (#177) - Add
elasticstack_elasticsearch_security_role_mapping
data source (#178) - Apply
total_shards_per_node
setting inallocate
action in ILM. Supported from Elasticsearch version 7.16 (#112) - Add
elasticstack_elasticsearch_security_api_key
resource (#193) - Add
elasticstack_elasticsearch_security_system_user
resource to manage built-in user (#188) - Add
unassigned_node_left_delayed_timeout
to index resource (#196) - Add support for Client certificate based authentication (#191)
- Deprecate
elasticsearch_connection
blocks 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_key
instead ofusername
/password
for authentication (#130) - Add
allow_restricted_indices
setting to security role (#125) - Add conditional to only set
password
andpassword_hash
when a new value is defined (#127) - Add support for ELASTICSEARCH_INSECURE environment variable as the default of the
insecure
config 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_type
attribute in the Append processor (#118)
0.3.3 - 2022-03-22
- Make sure it is possible to set priority to
0
in 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_replicas
setting inallocate
action in ILM (#80)
0.3.1 - 2022-02-24
- Add new field
allow_custom_routing
indata_stream
section ofindex_template
, which appears only in Elasticsearch version 8.0.0. Make sureindex_template
resource can work with both 7.x and 8.x versions (#72) - Panic using
elasticstack_elasticsearch_security_user_data_source
when 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_stream
to manage Elasticsearch data streams (#45) - New resource
elasticstack_elasticsearch_ingest_pipeline
to manage Elasticsearch ingest pipelines (#56) - New resource
elasticstack_elasticsearch_component_template
to 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
allocate
action 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
insecure
option to the Elasticsearch provider configuration to ignore certificate verification (#36) - The
ca_file
option 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
aliases
configuration option inelasticstack_elasticsearch_index_template
resource 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