Skip to content

Commit 2fb898b

Browse files
authored
Prepare 0.13.0 release (#1532)
1 parent 6f2ec51 commit 2fb898b

File tree

8 files changed

+367
-6
lines changed

8 files changed

+367
-6
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## [Unreleased]
22

3+
## [0.13.0] - 2025-12-10
4+
35
### Breaking changes
46

57
#### `elasticstack_elasticsearch_index.alias` block has changed to a set attribute.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.DEFAULT_GOAL = help
22
SHELL := /bin/bash
33

4-
VERSION ?= 0.12.2
4+
VERSION ?= 0.13.0
55

66
NAME = elasticstack
77
BINARY = terraform-provider-${NAME}
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elasticstack_kibana_security_exception_item Resource - terraform-provider-elasticstack"
4+
subcategory: "Kibana"
5+
description: |-
6+
Manages a Kibana Exception Item. Exception items define the specific query conditions used to prevent rules from generating alerts.
7+
See the Kibana Exceptions API documentation https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-exceptions-api for more details.
8+
---
9+
10+
# elasticstack_kibana_security_exception_item (Resource)
11+
12+
Manages a Kibana Exception Item. Exception items define the specific query conditions used to prevent rules from generating alerts.
13+
14+
See the [Kibana Exceptions API documentation](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-exceptions-api) for more details.
15+
16+
## Example Usage
17+
18+
```terraform
19+
resource "elasticstack_kibana_security_exception_list" "example" {
20+
list_id = "my-exception-list"
21+
name = "My Exception List"
22+
description = "List of exceptions"
23+
type = "detection"
24+
namespace_type = "single"
25+
}
26+
27+
resource "elasticstack_kibana_security_exception_item" "complex_entry" {
28+
list_id = elasticstack_kibana_security_exception_list.example.list_id
29+
item_id = "complex-exception"
30+
name = "Complex Exception with Multiple Entries"
31+
description = "Exception with multiple conditions"
32+
type = "simple"
33+
namespace_type = "single"
34+
35+
# Multiple entries with different operators
36+
entries = [
37+
{
38+
type = "match"
39+
field = "host.name"
40+
operator = "included"
41+
value = "trusted-host"
42+
},
43+
{
44+
type = "match_any"
45+
field = "user.name"
46+
operator = "excluded"
47+
values = ["admin", "root"]
48+
}
49+
]
50+
51+
os_types = ["linux"]
52+
tags = ["complex", "multi-condition"]
53+
}
54+
```
55+
56+
<!-- schema generated by tfplugindocs -->
57+
## Schema
58+
59+
### Required
60+
61+
- `description` (String) Describes the exception item.
62+
- `entries` (Attributes List) The exception item entries. This defines the conditions under which the exception applies. (see [below for nested schema](#nestedatt--entries))
63+
- `list_id` (String) The exception list's identifier that this item belongs to.
64+
- `name` (String) The name of the exception item.
65+
- `type` (String) The type of exception item. Must be `simple`.
66+
67+
### Optional
68+
69+
- `comments` (Attributes List) Array of comments about the exception item. (see [below for nested schema](#nestedatt--comments))
70+
- `expire_time` (String) The exception item's expiration date in RFC3339 format. This field is only available for regular exception items, not endpoint exceptions.
71+
- `item_id` (String) The exception item's human readable string identifier.
72+
- `meta` (String) Placeholder for metadata about the exception item as JSON string.
73+
- `namespace_type` (String) Determines whether the exception item is available in all Kibana spaces or just the space in which it is created. Can be `single` (default) or `agnostic`.
74+
- `os_types` (Set of String) Array of OS types for which the exceptions apply. Valid values: `linux`, `macos`, `windows`.
75+
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.
76+
- `tags` (Set of String) String array containing words and phrases to help categorize exception items.
77+
78+
### Read-Only
79+
80+
- `created_at` (String) The timestamp of when the exception item was created.
81+
- `created_by` (String) The user who created the exception item.
82+
- `id` (String) The unique identifier of the exception item (auto-generated by Kibana).
83+
- `tie_breaker_id` (String) Field used in search to ensure all items are sorted and returned correctly.
84+
- `updated_at` (String) The timestamp of when the exception item was last updated.
85+
- `updated_by` (String) The user who last updated the exception item.
86+
87+
<a id="nestedatt--entries"></a>
88+
### Nested Schema for `entries`
89+
90+
Required:
91+
92+
- `field` (String) The field name. Required for all entry types.
93+
- `type` (String) The type of entry. Valid values: `match`, `match_any`, `list`, `exists`, `nested`, `wildcard`.
94+
95+
Optional:
96+
97+
- `entries` (Attributes List) Nested entries (for `nested` type). Only `match`, `match_any`, and `exists` entry types are allowed as nested entries. (see [below for nested schema](#nestedatt--entries--entries))
98+
- `list` (Attributes) Value list reference (for `list` type). (see [below for nested schema](#nestedatt--entries--list))
99+
- `operator` (String) The operator to use. Valid values: `included`, `excluded`. Note: The operator field is not supported for nested entry types and will be ignored if specified.
100+
- `value` (String) The value to match (for `match` and `wildcard` types).
101+
- `values` (List of String) Array of values to match (for `match_any` type).
102+
103+
<a id="nestedatt--entries--entries"></a>
104+
### Nested Schema for `entries.entries`
105+
106+
Required:
107+
108+
- `field` (String) The field name.
109+
- `operator` (String) The operator to use. Valid values: `included`, `excluded`.
110+
- `type` (String) The type of nested entry. Valid values: `match`, `match_any`, `exists`.
111+
112+
Optional:
113+
114+
- `value` (String) The value to match (for `match` type).
115+
- `values` (List of String) Array of values to match (for `match_any` type).
116+
117+
118+
<a id="nestedatt--entries--list"></a>
119+
### Nested Schema for `entries.list`
120+
121+
Required:
122+
123+
- `id` (String) The value list ID.
124+
- `type` (String) The value list type (e.g., `keyword`, `ip`, `ip_range`).
125+
126+
127+
128+
<a id="nestedatt--comments"></a>
129+
### Nested Schema for `comments`
130+
131+
Required:
132+
133+
- `comment` (String) The comment text.
134+
135+
Read-Only:
136+
137+
- `id` (String) The unique identifier of the comment (auto-generated by Kibana).
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elasticstack_kibana_security_exception_list Resource - terraform-provider-elasticstack"
4+
subcategory: "Kibana"
5+
description: |-
6+
Manages a Kibana Exception List. Exception lists are containers for exception items used to prevent security rules from generating alerts.
7+
See the Kibana Exceptions API documentation https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-exceptions-api for more details.
8+
---
9+
10+
# elasticstack_kibana_security_exception_list (Resource)
11+
12+
Manages a Kibana Exception List. Exception lists are containers for exception items used to prevent security rules from generating alerts.
13+
14+
See the [Kibana Exceptions API documentation](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-exceptions-api) for more details.
15+
16+
## Example Usage
17+
18+
```terraform
19+
resource "elasticstack_kibana_security_exception_list" "endpoint" {
20+
list_id = "my-endpoint-exception-list"
21+
name = "My Endpoint Exception List"
22+
description = "List of endpoint exceptions"
23+
type = "endpoint"
24+
namespace_type = "agnostic"
25+
26+
os_types = ["linux", "windows", "macos"]
27+
tags = ["endpoint", "security"]
28+
}
29+
```
30+
31+
<!-- schema generated by tfplugindocs -->
32+
## Schema
33+
34+
### Required
35+
36+
- `description` (String) Describes the exception list.
37+
- `name` (String) The name of the exception list.
38+
- `type` (String) The type of exception list. Can be one of: `detection`, `endpoint`, `endpoint_trusted_apps`, `endpoint_events`, `endpoint_host_isolation_exceptions`, `endpoint_blocklists`.
39+
40+
### Optional
41+
42+
- `list_id` (String) The exception list's human readable string identifier.
43+
- `meta` (String) Placeholder for metadata about the list container as JSON string.
44+
- `namespace_type` (String) Determines whether the exception list is available in all Kibana spaces or just the space in which it is created. Can be `single` (default) or `agnostic`.
45+
- `os_types` (Set of String) Array of OS types for which the exceptions apply. Valid values: `linux`, `macos`, `windows`.
46+
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.
47+
- `tags` (Set of String) String array containing words and phrases to help categorize exception containers.
48+
49+
### Read-Only
50+
51+
- `created_at` (String) The timestamp of when the exception list was created.
52+
- `created_by` (String) The user who created the exception list.
53+
- `id` (String) The unique identifier of the exception list (auto-generated by Kibana).
54+
- `immutable` (Boolean) Whether the exception list is immutable.
55+
- `tie_breaker_id` (String) Field used in search to ensure all containers are sorted and returned correctly.
56+
- `updated_at` (String) The timestamp of when the exception list was last updated.
57+
- `updated_by` (String) The user who last updated the exception list.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elasticstack_kibana_security_list Resource - terraform-provider-elasticstack"
4+
subcategory: "Kibana"
5+
description: |-
6+
Manages Kibana security lists (also known as value lists). Security lists are used by exception items to define sets of values for matching or excluding in security rules.
7+
Relevant Kibana docs can be found here https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-lists-api.
8+
Notes
9+
Security lists define the type of data they can contain via the type attributeOnce created, the type of a list cannot be changedLists can be referenced by exception items to create more sophisticated matching rulesThe list_id is auto-generated if not provided
10+
---
11+
12+
# elasticstack_kibana_security_list (Resource)
13+
14+
Manages Kibana security lists (also known as value lists). Security lists are used by exception items to define sets of values for matching or excluding in security rules.
15+
16+
Relevant Kibana docs can be found [here](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-lists-api).
17+
18+
## Notes
19+
20+
- Security lists define the type of data they can contain via the `type` attribute
21+
- Once created, the `type` of a list cannot be changed
22+
- Lists can be referenced by exception items to create more sophisticated matching rules
23+
- The `list_id` is auto-generated if not provided
24+
25+
## Example Usage
26+
27+
```terraform
28+
resource "elasticstack_kibana_security_list" "ip_list" {
29+
space_id = "default"
30+
name = "Trusted IP Addresses"
31+
description = "List of trusted IP addresses for security rules"
32+
type = "ip"
33+
}
34+
```
35+
36+
<!-- schema generated by tfplugindocs -->
37+
## Schema
38+
39+
### Required
40+
41+
- `description` (String) Describes the security list.
42+
- `name` (String) The name of the security list.
43+
- `type` (String) Specifies the Elasticsearch data type of values the list contains. Valid values include: `binary`, `boolean`, `byte`, `date`, `date_nanos`, `date_range`, `double`, `double_range`, `float`, `float_range`, `geo_point`, `geo_shape`, `half_float`, `integer`, `integer_range`, `ip`, `ip_range`, `keyword`, `long`, `long_range`, `shape`, `short`, `text`.
44+
45+
### Optional
46+
47+
- `deserializer` (String) Determines how retrieved list item values are presented. By default, list items are presented using Handlebars expressions based on the type.
48+
- `id` (String) The unique identifier of the security list (auto-generated by Kibana if not specified).
49+
- `list_id` (String) The value list's human-readable identifier.
50+
- `meta` (String) Placeholder for metadata about the value list as JSON string.
51+
- `serializer` (String) Determines how uploaded list item values are parsed. By default, list items are parsed using named regex groups based on the type.
52+
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.
53+
- `version` (Number) The document version number.
54+
55+
### Read-Only
56+
57+
- `created_at` (String) The timestamp of when the list was created.
58+
- `created_by` (String) The user who created the list.
59+
- `immutable` (Boolean) Whether the list is immutable.
60+
- `tie_breaker_id` (String) Field used in search to ensure all containers are sorted and returned correctly.
61+
- `updated_at` (String) The timestamp of when the list was last updated.
62+
- `updated_by` (String) The user who last updated the list.
63+
- `version_id` (String) The version id, normally returned by the API when the document is retrieved. Use it to ensure updates are done against the latest version.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elasticstack_kibana_security_list_data_streams Resource - terraform-provider-elasticstack"
4+
subcategory: "Kibana"
5+
description: |-
6+
Creates .lists and .items data streams in the relevant Kibana space. These data streams are required before you can start using security lists and exceptions that reference value lists.
7+
Before you can start working with exceptions that use value lists, you must create the .lists and .items data streams for the relevant Kibana space. Once these data streams are created, your role needs privileges to manage rules.
8+
---
9+
10+
# elasticstack_kibana_security_list_data_streams (Resource)
11+
12+
Creates `.lists` and `.items` data streams in the relevant Kibana space. These data streams are required before you can start using security lists and exceptions that reference value lists.
13+
14+
Before you can start working with exceptions that use value lists, you must create the `.lists` and `.items` data streams for the relevant Kibana space. Once these data streams are created, your role needs privileges to manage rules.
15+
16+
## Example Usage
17+
18+
```terraform
19+
# Create list data streams in the default space
20+
resource "elasticstack_kibana_security_list_data_streams" "default" {
21+
}
22+
23+
# Create list data streams in a custom space
24+
resource "elasticstack_kibana_security_list_data_streams" "custom" {
25+
space_id = "my-space"
26+
}
27+
```
28+
29+
<!-- schema generated by tfplugindocs -->
30+
## Schema
31+
32+
### Optional
33+
34+
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.
35+
36+
### Read-Only
37+
38+
- `id` (String) The unique identifier for the data streams in the format `{space_id}`.
39+
- `list_index` (Boolean) Indicates whether the `.lists` data stream exists.
40+
- `list_item_index` (Boolean) Indicates whether the `.items` data stream exists.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "elasticstack_kibana_security_list_item Resource - terraform-provider-elasticstack"
4+
subcategory: "Kibana"
5+
description: |-
6+
Manages items within Kibana security value lists. Value lists are containers for values that can be used within exception lists to define conditions. This resource allows you to add, update, and remove individual values (items) in those lists.
7+
Value list items are used to store data values that match the type of their parent security list (e.g., IP addresses, keywords, etc.). These items can then be referenced in exception list entries to define exception conditions.
8+
Kibana docs can be found here https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-lists-api
9+
---
10+
11+
# elasticstack_kibana_security_list_item (Resource)
12+
13+
Manages items within Kibana security value lists. Value lists are containers for values that can be used within exception lists to define conditions. This resource allows you to add, update, and remove individual values (items) in those lists.
14+
15+
Value list items are used to store data values that match the type of their parent security list (e.g., IP addresses, keywords, etc.). These items can then be referenced in exception list entries to define exception conditions.
16+
17+
Kibana docs can be found [here](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-security-lists-api)
18+
19+
## Example Usage
20+
21+
```terraform
22+
# First create a security list
23+
resource "elasticstack_kibana_security_list" "my_list" {
24+
list_id = "allowed_domains"
25+
name = "Allowed Domains"
26+
description = "List of allowed domains"
27+
type = "keyword"
28+
}
29+
30+
# Add an item to the list
31+
resource "elasticstack_kibana_security_list_item" "domain_example" {
32+
list_id = elasticstack_kibana_security_list.my_list.list_id
33+
value = "example.com"
34+
meta = jsonencode({
35+
category = "internal"
36+
owner = "infrastructure-team"
37+
note = "Primary internal domain"
38+
})
39+
}
40+
```
41+
42+
<!-- schema generated by tfplugindocs -->
43+
## Schema
44+
45+
### Required
46+
47+
- `list_id` (String) The value list's identifier that this item belongs to.
48+
- `value` (String) The value used to evaluate exceptions. The value's data type must match the list's type.
49+
50+
### Optional
51+
52+
- `list_item_id` (String) The value list item's identifier (auto-generated by Kibana if not specified).
53+
- `meta` (String) Placeholder for metadata about the value list item as JSON string.
54+
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.
55+
56+
### Read-Only
57+
58+
- `created_at` (String) The timestamp of when the list item was created.
59+
- `created_by` (String) The user who created the list item.
60+
- `id` (String) Internal identifier for the resource (format: `<space_id>/<list_item_id>`).
61+
- `updated_at` (String) The timestamp of when the list item was last updated.
62+
- `updated_by` (String) The user who last updated the list item.
63+
- `version_id` (String) The version id, normally returned by the API when the document is retrieved. Used to ensure updates are done against the latest version.

0 commit comments

Comments
 (0)