Releases: elastic/terraform-provider-elasticstack
v0.6.0
Added
- 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)
Fixed
- 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 }) }
- To use the updated
- Fix order of
indices
field in SLM (#326)
v0.5.0
Added
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 in allocate 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)
Fixed
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)
v0.4.0
Added
- 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)
Fixed
- 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)
v0.3.3
v0.3.2
v0.3.1
Fixed
- 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)
v0.3.0
Added
- 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 processors for ingest pipelines (#67)
Fixed
v0.2.0
Added
- 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 exisiting resources (#32)
Fixed
- Identify missing or deleted resources in the Elasticsearch cluster and make sure Terraform can re-create them (#40)
Changed
- [Breaking] Rename
aliases
configuration option in
elasticstack_elasticsearch_index_template
resource to singularalias
v0.1.0
Version 0.1.0
is an initial beta version of the Elastic Stack terraform provider. It is currently not yet fully supported by Elastic, but will be in subsequent versions.
For this early release, we'd like to get feedback from early adopters. Any modifications made to resources in later versions will be communicated prior to release.