Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b5fa9c4
Maintenance window resource:
adcoelho Jul 28, 2025
8591335
make docs-generate
adcoelho Aug 1, 2025
60c005b
Change float32s to int32s
adcoelho Aug 2, 2025
f62cdab
Simplify model code.
adcoelho Aug 2, 2025
882ab65
Resource tests
adcoelho Aug 2, 2025
862b870
Update the changelog.
adcoelho Aug 2, 2025
f059ff2
Fix diags and resource tests.
adcoelho Aug 2, 2025
a1bb3bf
Missing tests.
adcoelho Aug 4, 2025
eb56228
error handling
adcoelho Aug 12, 2025
612bfb7
PR fixes
adcoelho Aug 12, 2025
caebd0b
improved documentation
adcoelho Aug 12, 2025
d731442
version and serverless checks
adcoelho Aug 12, 2025
07068c7
Addressing PR comments 1
adcoelho Sep 1, 2025
b57a8dc
Merge remote-tracking branch 'upstream/main' into mw-resource-2.0
adcoelho Sep 1, 2025
22d0f07
Use EnforceMinVersion in maintenance_window/create.go
adcoelho Sep 1, 2025
164e61e
Generating docs
adcoelho Sep 1, 2025
d10d44c
fix linter
adcoelho Sep 1, 2025
6549a9f
Moving validation around.
adcoelho Sep 2, 2025
741a4cf
Merge remote-tracking branch 'upstream/main' into mw-resource-2.0
adcoelho Sep 2, 2025
78afc77
Use terraform-plugin-testing
adcoelho Sep 2, 2025
199d5fa
add iso8601 validation
adcoelho Sep 2, 2025
d623300
restructure maintenance window model code
adcoelho Sep 2, 2025
bd62e01
call read after update/create
adcoelho Sep 2, 2025
ec95b76
fix empty recurring field
adcoelho Sep 2, 2025
0d590bc
fix terraform import
adcoelho Sep 2, 2025
2cc2382
Update internal/kibana/maintenance_window/resource.go
adcoelho Sep 3, 2025
5aad68a
Addressing PR comments 2
adcoelho Sep 3, 2025
ea8e074
change schema description
adcoelho Sep 4, 2025
3c96fec
Addressing PR comments.
adcoelho Sep 5, 2025
cff95ba
fix tests
adcoelho Sep 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ website/node_modules
*.test
*.iml
*.vscode
__debug_*

website/vendor

Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## [Unreleased]

- Create `elasticstack_kibana_maintenance_window` resource. ([#1224](https://github.com/elastic/terraform-provider-elasticstack/pull/1224))
- Add support for `solution` field in `elasticstack_kibana_space` resource and data source ([#1102](https://github.com/elastic/terraform-provider-elasticstack/issues/1102))
- Add `slo_id` validation to `elasticstack_kibana_slo` ([#1221](https://github.com/elastic/terraform-provider-elasticstack/pull/1221))
- Add `ignore_missing_component_templates` to `elasticstack_elasticsearch_index_template` ([#1206](https://github.com/elastic/terraform-provider-elasticstack/pull/1206))
Expand Down
110 changes: 110 additions & 0 deletions docs/resources/kibana_maintenance_window.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
---
subcategory: "Kibana"
layout: ""
page_title: "Elasticstack: elasticstack_kibana_maintenance_window Resource"
description: |-
Manages Kibana maintenance windows.
---

# Resource: elasticstack_kibana_maintenance_window

Creates and manages Kibana [maintenance windows](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-maintenance-window)

## Example Usage

```terraform
provider "elasticstack" {
elasticsearch {}
kibana {}
}

resource "elasticstack_kibana_maintenance_window" "my_maintenance_window" {
title = "UPDATE TEST"
enabled = true

custom_schedule = {
start = "1993-01-01T05:00:00.200Z"
duration = "12d"

recurring = {
every = "21d"
on_week_day = ["MO", "+3TU", "-2FR"]
on_month_day = [1, 2, 4, 6, 7]
on_month = [12]
}
}

scope = {
alerting = {
kql = "_id: '1234'"
}
}
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `custom_schedule` (Attributes) A set schedule over which the maintenance window applies. (see [below for nested schema](#nestedatt--custom_schedule))
- `title` (String) The name of the maintenance window.

### Optional

- `enabled` (Boolean) Whether the current maintenance window is enabled.
- `scope` (Attributes) An object that narrows the scope of what is affected by this maintenance window. (see [below for nested schema](#nestedatt--scope))
- `space_id` (String) An identifier for the space. If space_id is not provided, the default space is used.

### Read-Only

- `id` (String) Generated ID for the maintenance window.

<a id="nestedatt--custom_schedule"></a>
### Nested Schema for `custom_schedule`

Required:

- `duration` (String) The duration of the schedule. It allows values in `<integer><unit>` format. `<unit>` is one of `d`, `h`, `m`, or `s` for days, hours, minutes, seconds. For example: `1d`, `5h`, `30m`, `5000s`.
- `recurring` (Attributes) A set schedule over which the maintenance window applies. (see [below for nested schema](#nestedatt--custom_schedule--recurring))
- `start` (String) The start date and time of the schedule, provided in ISO 8601 format and set to the UTC timezone. For example: `2025-03-12T12:00:00.000Z`.

Optional:

- `timezone` (String) The timezone of the schedule. The default timezone is UTC.

<a id="nestedatt--custom_schedule--recurring"></a>
### Nested Schema for `custom_schedule.recurring`

Optional:

- `end` (String) The end date and time of the schedule, provided in ISO 8601 format and set to the UTC timezone. For example: `2025-03-12T12:00:00.000Z`.
- `every` (String) The duration of the schedule. It allows values in `<integer><unit>` format. `<unit>` is one of `d`, `h`, `m`, or `s` for days, hours, minutes, seconds. For example: `1d`, `5h`, `30m`, `5000s`.
- `occurrences` (Number) The total number of recurrences of the schedule.
- `on_month` (List of Number) The specific months for a recurring schedule. Valid values are 1-12.
- `on_month_day` (List of Number) The specific days of the month for a recurring schedule. Valid values are 1-31.
- `on_week_day` (List of String) The specific days of the week (`[MO,TU,WE,TH,FR,SA,SU]`) or nth day of month (`[+1MO, -3FR, +2WE, -4SA, -5SU]`) for a recurring schedule.



<a id="nestedatt--scope"></a>
### Nested Schema for `scope`

Required:

- `alerting` (Attributes) A set schedule over which the maintenance window applies. (see [below for nested schema](#nestedatt--scope--alerting))

<a id="nestedatt--scope--alerting"></a>
### Nested Schema for `scope.alerting`

Required:

- `kql` (String) A filter written in Kibana Query Language (KQL).

## Import

Import is supported using the following syntax:

```shell
terraform import elasticstack_kibana_maintenance_window.my_maintenance_window <space id>/<maintenance window id>
```
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
terraform import elasticstack_kibana_maintenance_window.my_maintenance_window <space id>/<maintenance window id>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
provider "elasticstack" {
elasticsearch {}
kibana {}
}

resource "elasticstack_kibana_maintenance_window" "my_maintenance_window" {
title = "UPDATE TEST"
enabled = true

custom_schedule = {
start = "1993-01-01T05:00:00.200Z"
duration = "12d"

recurring = {
every = "21d"
on_week_day = ["MO", "+3TU", "-2FR"]
on_month_day = [1, 2, 4, 6, 7]
on_month = [12]
}
}

scope = {
alerting = {
kql = "_id: '1234'"
}
}
}
Loading
Loading