From 69f9fbc1cd611a735f2f3837aa5da341313e1358 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 16 Jun 2026 16:25:10 -0600 Subject: [PATCH 01/17] doc: DOCSP-60307 -- Document wave_assignment attributes for maintenance_window and add org_maintenance_settings resource and data source docs --- docs/data-sources/maintenance_window.md | 4 ++ docs/data-sources/org_maintenance_settings.md | 35 ++++++++++++ docs/resources/maintenance_window.md | 5 ++ docs/resources/org_maintenance_settings.md | 55 +++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 docs/data-sources/org_maintenance_settings.md create mode 100644 docs/resources/org_maintenance_settings.md diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index 78a0214254..b9baf04ed6 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -50,6 +50,10 @@ In addition to all arguments above, the following attributes are exported: * `auto_defer_once_enabled` - When `true`, enables automatic deferral of all scheduled maintenance for the given project by one week. * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). * `time_zone_id` - Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. +* `wave_assignment` - Maintenance wave explicitly assigned to this project. Returns `null` when no explicit wave has been assigned. +* `effective_wave_assignment` - Maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: + - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](../resources/org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. + - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** A linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md new file mode 100644 index 0000000000..fcd3fea3c4 --- /dev/null +++ b/docs/data-sources/org_maintenance_settings.md @@ -0,0 +1,35 @@ +--- +subcategory: "Organizations" +--- + +# Data Source: mongodbatlas_org_maintenance_settings + +`mongodbatlas_org_maintenance_settings` provides a data source to read the organization-level [maintenance wave settings](https://www.mongodb.com/docs/atlas/tutorial/cluster-maintenance-window/) for a MongoDB Atlas organization. + +## Example Usage + +```terraform +data "mongodbatlas_org_maintenance_settings" "example" { + org_id = var.org_id +} + +output "maintenance_settings" { + value = { + wave_assignment_mode = data.mongodbatlas_org_maintenance_settings.example.wave_assignment_mode + effective_wave_assignment_mode = data.mongodbatlas_org_maintenance_settings.example.effective_wave_assignment_mode + } +} +``` + +## Argument Reference + +* `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `wave_assignment_mode` - The configured wave assignment mode for the organization, if set. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. +* `effective_wave_assignment_mode` - The wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see [`mongodbatlas_org_maintenance_settings` data source](../data-sources/org_maintenance_settings.md#attributes-reference). + +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) \ No newline at end of file diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index f63f2f33d7..a4f471f6e1 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,6 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). +* `wave_assignment` - (Optional) Maintenance wave explicitly assigned to this project. Valid values are `1`, `2`, and `3`. Only editable when the organization's wave assignment mode is `MANUAL`. Set to `null` to clear the assignment and return to automatic wave derivation. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. @@ -86,6 +87,10 @@ In addition to all arguments above, the following attributes are exported: -> **NOTE:** The `start_asap` attribute can only be enabled via API. +- `effective_wave_assignment` - The maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: + - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. + - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** A linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. + ## Import Maintenance Window entries can be imported using project project_id, in the format `PROJECTID`, e.g. diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md new file mode 100644 index 0000000000..8f4dd4e4db --- /dev/null +++ b/docs/resources/org_maintenance_settings.md @@ -0,0 +1,55 @@ +--- +subcategory: "Organizations" +--- + +# Resource: mongodbatlas_org_maintenance_settings + +`mongodbatlas_org_maintenance_settings` provides a resource to manage organization-level maintenance wave settings for a MongoDB Atlas organization. Use this resource to control how [Atlas assigns projects to maintenance waves](https://www.mongodb.com/docs/atlas/tutorial/cluster-maintenance-window/), either explicitly by project (`MANUAL` mode) or automatically based on each project's environment tag (`ENV_TAG_MAPPING` mode). + +-> **NOTE:** Only one `mongodbatlas_org_maintenance_settings` resource can be defined per organization. + +## Example Usage + +### Manual wave assignment + +Set the organization to `MANUAL` mode so you can assign each project to a specific maintenance wave using the `wave_assignment` attribute on [`mongodbatlas_maintenance_window`](maintenance_window.md). + +```terraform +resource "mongodbatlas_org_maintenance_settings" "example" { + org_id = var.org_id + wave_assignment_mode = "MANUAL" +} +``` + +### Automatic wave assignment based on environment tags + +Set the organization to `ENV_TAG_MAPPING` mode to have Atlas derive the maintenance wave from each project's environment tag. + +```terraform +resource "mongodbatlas_org_maintenance_settings" "example" { + org_id = var.org_id + wave_assignment_mode = "ENV_TAG_MAPPING" +} +``` + +### Further Examples + + +- [Configure Organization Maintenance Settings](https://github.com/mongodb/terraform-provider-mongodbatlas/tree/[version]/examples/mongodbatlas_org_maintenance_settings) + +## Argument Reference + +`mongodbatlas_org_maintenance_settings` supports the following arguments: + +* `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. This attribute cannot be changed after the resource is created. +* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Set to `null` to reset the mode to `MANUAL`. Omitting this field leaves the current value in Atlas unchanged. + +## Import + +Organization maintenance settings can be imported using the organization ID, in the format `ORG_ID`, e.g. + +``` +$ terraform import mongodbatlas_org_maintenance_settings.example 5d09d6a59ccf6445652a444a +``` + +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) From 5d3ec4e434717c7bd0b7a9af6ab4e45ea43ef14c Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 16 Jun 2026 16:45:47 -0600 Subject: [PATCH 02/17] doc: DOCSP-60307 -- updates link --- docs/data-sources/org_maintenance_settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index fcd3fea3c4..06f1b6c0ca 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -30,6 +30,6 @@ output "maintenance_settings" { In addition to all arguments above, the following attributes are exported: * `wave_assignment_mode` - The configured wave assignment mode for the organization, if set. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. -* `effective_wave_assignment_mode` - The wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see [`mongodbatlas_org_maintenance_settings` data source](../data-sources/org_maintenance_settings.md#attributes-reference). +* `effective_wave_assignment_mode` - The wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) \ No newline at end of file From 20c1ce5d79497e623ed216c3519f1d182a654daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Armend=C3=A1riz?= <136641722+xargom@users.noreply.github.com> Date: Wed, 17 Jun 2026 10:42:01 -0600 Subject: [PATCH 03/17] Apply suggestions from code review Co-authored-by: corryroot <72401712+corryroot@users.noreply.github.com> --- docs/data-sources/org_maintenance_settings.md | 4 ++-- docs/resources/maintenance_window.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index 06f1b6c0ca..cbace32302 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -29,7 +29,7 @@ output "maintenance_settings" { In addition to all arguments above, the following attributes are exported: -* `wave_assignment_mode` - The configured wave assignment mode for the organization, if set. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. -* `effective_wave_assignment_mode` - The wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). +* `wave_assignment_mode` - Configured wave assignment mode for the organization, if set. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. +* `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) \ No newline at end of file diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index a4f471f6e1..be975c0ee7 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -87,9 +87,9 @@ In addition to all arguments above, the following attributes are exported: -> **NOTE:** The `start_asap` attribute can only be enabled via API. -- `effective_wave_assignment` - The maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: +- `effective_wave_assignment` - Maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** A linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. + - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** Linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. ## Import From 013cde18d670a1a40e3a8b9f4dd76db9386918bf Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Wed, 17 Jun 2026 12:56:34 -0600 Subject: [PATCH 04/17] doc: DOCSP-60307 -- Address PR feedback: remove effective_wave_assignment from resource doc, deletes explicit values for wave:assignment, and fix null-assignment language --- docs/resources/maintenance_window.md | 6 +----- docs/resources/org_maintenance_settings.md | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index be975c0ee7..18c46a9cb9 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Maintenance wave explicitly assigned to this project. Valid values are `1`, `2`, and `3`. Only editable when the organization's wave assignment mode is `MANUAL`. Set to `null` to clear the assignment and return to automatic wave derivation. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Only editable when the organization's wave assignment mode is `MANUAL`. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment and return to automatic wave derivation. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. @@ -87,10 +87,6 @@ In addition to all arguments above, the following attributes are exported: -> **NOTE:** The `start_asap` attribute can only be enabled via API. -- `effective_wave_assignment` - Maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** Linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. - ## Import Maintenance Window entries can be imported using project project_id, in the format `PROJECTID`, e.g. diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 8f4dd4e4db..fa21c1e376 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -42,7 +42,7 @@ resource "mongodbatlas_org_maintenance_settings" "example" { `mongodbatlas_org_maintenance_settings` supports the following arguments: * `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. This attribute cannot be changed after the resource is created. -* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Set to `null` to reset the mode to `MANUAL`. Omitting this field leaves the current value in Atlas unchanged. +* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to reset the mode to `MANUAL`. ## Import From 778e8026f7c666e41e5ec52764a159451a2a162d Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Wed, 17 Jun 2026 13:13:17 -0600 Subject: [PATCH 05/17] doc: DOCSP-60307 -- Replaces link for plaintext in docs/resources/org_maintenance_settings.md --- docs/resources/org_maintenance_settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index fa21c1e376..5a558873dc 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -34,8 +34,8 @@ resource "mongodbatlas_org_maintenance_settings" "example" { ### Further Examples - -- [Configure Organization Maintenance Settings](https://github.com/mongodb/terraform-provider-mongodbatlas/tree/[version]/examples/mongodbatlas_org_maintenance_settings) + +Configure Organization Maintenance Settings ## Argument Reference From 2c9980800478fc08925e8c454a0c75a89f4fcb90 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 18 Jun 2026 13:28:03 -0600 Subject: [PATCH 06/17] doc: DOCSP-60307 -- Updates field descriptions to align with upstream changes in CLOUDP-414939 --- docs/data-sources/maintenance_window.md | 4 ++-- docs/data-sources/org_maintenance_settings.md | 2 +- docs/resources/maintenance_window.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index b9baf04ed6..f727c0a551 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -50,8 +50,8 @@ In addition to all arguments above, the following attributes are exported: * `auto_defer_once_enabled` - When `true`, enables automatic deferral of all scheduled maintenance for the given project by one week. * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). * `time_zone_id` - Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. -* `wave_assignment` - Maintenance wave explicitly assigned to this project. Returns `null` when no explicit wave has been assigned. -* `effective_wave_assignment` - Maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: +* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the stored value is preserved but not used for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `null` when no explicit wave has been assigned. +* `effective_wave_assignment` - Read-only maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](../resources/org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** A linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index cbace32302..0cc6adbf87 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -29,7 +29,7 @@ output "maintenance_settings" { In addition to all arguments above, the following attributes are exported: -* `wave_assignment_mode` - Configured wave assignment mode for the organization, if set. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. +* `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Defaults to `MANUAL` when unset. Atlas uses `effective_wave_assignment_mode` (not this field) for scheduling. In a cross-organization billing hierarchy, a linked non-paying organization's `effective_wave_assignment_mode` inherits from the paying organization's `wave_assignment_mode` and cannot be updated independently, so the two fields may differ. * `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) \ No newline at end of file diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index 18c46a9cb9..d00528d210 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Only editable when the organization's wave assignment mode is `MANUAL`. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment and return to automatic wave derivation. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. When the mode is `ENV_TAG_MAPPING`, the stored value is preserved but not used for scheduling — the effective wave is derived from environment tags instead. Switching back to `MANUAL` restores this stored value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. From 188ff38f607692209555bba05fbe142dc7c3e510 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 18 Jun 2026 13:51:10 -0600 Subject: [PATCH 07/17] doc: DOCSP-60307 -- Copy changes. Updates broken links --- docs/data-sources/maintenance_window.md | 2 +- docs/data-sources/org_maintenance_settings.md | 4 ++-- docs/resources/maintenance_window.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index f727c0a551..ed2f59324d 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -60,4 +60,4 @@ In addition to all arguments above, the following attributes are exported: * `end_hour_of_day` - Zero-based integer that represents the end hour of the day for the protected hours window. -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index 0cc6adbf87..d341ad8d71 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -29,7 +29,7 @@ output "maintenance_settings" { In addition to all arguments above, the following attributes are exported: -* `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Defaults to `MANUAL` when unset. Atlas uses `effective_wave_assignment_mode` (not this field) for scheduling. In a cross-organization billing hierarchy, a linked non-paying organization's `effective_wave_assignment_mode` inherits from the paying organization's `wave_assignment_mode` and cannot be updated independently, so the two fields may differ. +* `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Defaults to `MANUAL` when unset. * `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) \ No newline at end of file +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) \ No newline at end of file diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index d00528d210..6dee898ea7 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. When the mode is `ENV_TAG_MAPPING`, the stored value is preserved but not used for scheduling — the effective wave is derived from environment tags instead. Switching back to `MANUAL` restores this stored value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the stored value is preserved but not used for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. @@ -95,4 +95,4 @@ Maintenance Window entries can be imported using project project_id, in the form $ terraform import mongodbatlas_maintenance_window.test 5d0f1f73cf09a29120e173cf ``` -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) From 4c5c40588c9b568b106a5779deeb57cd56aa36d8 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 18 Jun 2026 14:10:51 -0600 Subject: [PATCH 08/17] doc: DOCSP-60307 -- Copy changes --- docs/data-sources/maintenance_window.md | 5 ++--- docs/resources/maintenance_window.md | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index ed2f59324d..c0f3443654 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -50,14 +50,13 @@ In addition to all arguments above, the following attributes are exported: * `auto_defer_once_enabled` - When `true`, enables automatic deferral of all scheduled maintenance for the given project by one week. * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). * `time_zone_id` - Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. -* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the stored value is preserved but not used for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `null` when no explicit wave has been assigned. +* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the system preserves the stored value but does not uses it for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `null` when no explicit wave has been assigned. * `effective_wave_assignment` - Read-only maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](../resources/org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** A linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. + - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** When a linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. * `end_hour_of_day` - Zero-based integer that represents the end hour of the day for the protected hours window. - For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index 6dee898ea7..3b03a770f4 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the stored value is preserved but not used for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the system preserves the stored value but does not uses it for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md#attributes-reference) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. From c43e22ad890c029d35d6887a068c5daa73092e19 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 18 Jun 2026 14:14:26 -0600 Subject: [PATCH 09/17] doc: DOCSP-60307 -- Fixes broken link --- docs/resources/maintenance_window.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index 3b03a770f4..b0373bd581 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the system preserves the stored value but does not uses it for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md#attributes-reference) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the system preserves the stored value but does not uses it for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md#argument-reference) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. From 94f92d8a8c70030029cb9c619230e90c36b34bdd Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Fri, 19 Jun 2026 12:20:19 -0600 Subject: [PATCH 10/17] doc: DOCSP-60307 -- Fixes broken link. Raplaces null for 0. In commands, drops $ and specifies shell language --- docs/data-sources/maintenance_window.md | 2 +- docs/resources/maintenance_window.md | 4 ++-- docs/resources/org_maintenance_settings.md | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index c0f3443654..4d96ed3d48 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -50,7 +50,7 @@ In addition to all arguments above, the following attributes are exported: * `auto_defer_once_enabled` - When `true`, enables automatic deferral of all scheduled maintenance for the given project by one week. * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). * `time_zone_id` - Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. -* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the system preserves the stored value but does not uses it for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `null` when no explicit wave has been assigned. +* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the system preserves the stored value but does not uses it for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `0` when no explicit wave has been assigned. * `effective_wave_assignment` - Read-only maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](../resources/org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** When a linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index b0373bd581..8b85b9ee50 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -91,8 +91,8 @@ In addition to all arguments above, the following attributes are exported: Maintenance Window entries can be imported using project project_id, in the format `PROJECTID`, e.g. -``` -$ terraform import mongodbatlas_maintenance_window.test 5d0f1f73cf09a29120e173cf +```shell +terraform import mongodbatlas_maintenance_window.test 5d0f1f73cf09a29120e173cf ``` For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 5a558873dc..429798a841 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -48,8 +48,8 @@ Configure Organization Maintenance Settings Organization maintenance settings can be imported using the organization ID, in the format `ORG_ID`, e.g. -``` -$ terraform import mongodbatlas_org_maintenance_settings.example 5d09d6a59ccf6445652a444a +```shell +terraform import mongodbatlas_org_maintenance_settings.example 5d09d6a59ccf6445652a444a ``` -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/) +For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) From 7a641871c1ef28ccc3aa291233b62d6c409880cd Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 23 Jun 2026 12:12:16 -0600 Subject: [PATCH 11/17] doc: DOCSP-60307 -- Fixes typos and improves copy --- docs/data-sources/maintenance_window.md | 4 ++-- docs/resources/maintenance_window.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/data-sources/maintenance_window.md b/docs/data-sources/maintenance_window.md index 4d96ed3d48..e8a2ebd100 100644 --- a/docs/data-sources/maintenance_window.md +++ b/docs/data-sources/maintenance_window.md @@ -50,7 +50,7 @@ In addition to all arguments above, the following attributes are exported: * `auto_defer_once_enabled` - When `true`, enables automatic deferral of all scheduled maintenance for the given project by one week. * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). * `time_zone_id` - Identifier for the current time zone of the maintenance window. This can only be updated via the Project Settings UI. -* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the system preserves the stored value but does not uses it for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `0` when no explicit wave has been assigned. +* `wave_assignment` - Maintenance wave explicitly assigned to this project. Always returned when a value has been set, regardless of the organization's [`wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). When the mode is `ENV_TAG_MAPPING`, the system preserves the stored value but does not use it for scheduling. Switching back to `MANUAL` restores this value as the effective wave. Returns `0` when no explicit wave has been assigned. * `effective_wave_assignment` - Read-only maintenance wave Atlas uses when scheduling maintenance for this project. This value can differ from `wave_assignment` in the following scenarios: - **`ENV_TAG_MAPPING` mode is active at the organization level.** When the organization's `wave_assignment_mode` is set to `ENV_TAG_MAPPING` (see [`mongodbatlas_org_maintenance_settings`](../resources/org_maintenance_settings.md)), Atlas ignores any explicit `wave_assignment` and derives the effective wave from the project's environment tag. A project can have `wave_assignment = 1` in state while `effective_wave_assignment` returns a different value. - **Cross-organization billing (`MAINTENANCE_SEQUENCE_CROSS_ORG`).** When a linked non-paying organization inherits the paying organization's wave assignment mode. If the paying organization switches to `ENV_TAG_MAPPING`, all linked projects follow regardless of any explicit `wave_assignment` set on them. @@ -59,4 +59,4 @@ In addition to all arguments above, the following attributes are exported: * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. * `end_hour_of_day` - Zero-based integer that represents the end hour of the day for the protected hours window. -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) +For more information on Maintenance Windows, see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) diff --git a/docs/resources/maintenance_window.md b/docs/resources/maintenance_window.md index 8b85b9ee50..b2b087b389 100644 --- a/docs/resources/maintenance_window.md +++ b/docs/resources/maintenance_window.md @@ -71,7 +71,7 @@ Use `defer` to defer the next scheduled maintenance event by one week. This only * `auto_defer_once_enabled` - (Optional) **Recommended** field to enable or disable automatic deferral of all scheduled maintenance for the given project by one week. Achieves the same outcome as `auto_defer`, but by directly setting the value to `true` or `false`, which is idempotent and keeps Terraform state aligned with Atlas. If `auto_defer` is used to toggle the underlying flag, it will also affect the value of this attribute. * `auto_defer` - (Optional) Boolean flag to **toggle** automatic deferral on/off. Each change flips the current state (ON → OFF or OFF → ON). Achieves the same outcome as `auto_defer_once_enabled` but through a toggle operation, which can make the current state opaque to Terraform and introduce state drift. **For most use cases, prefer `auto_defer_once_enabled` instead.** * `protected_hours` - (Optional) Defines the time period during which there will be no standard updates to the clusters. See [Protected Hours](#protected-hours). -* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the system preserves the stored value but does not uses it for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md#argument-reference) to configure the organization-level wave assignment mode. +* `wave_assignment` - (Optional) Integer that identifies the maintenance wave explicitly assigned to this project. Not editable when the organization's wave assignment mode is `ENV_TAG_MAPPING`. In this case, the system preserves the stored value but does not use it for scheduling; environment tags determine the effective wave instead. Switching back to `MANUAL` restores the `wave_assignment` value as the effective wave. Remove this attribute from your configuration and run `terraform apply` to clear the explicit assignment. See [`mongodbatlas_org_maintenance_settings`](org_maintenance_settings.md#argument-reference) to configure the organization-level wave assignment mode. ### Protected Hours * `start_hour_of_day` - Zero-based integer that represents the beginning hour of the day for the protected hours window. @@ -95,4 +95,4 @@ Maintenance Window entries can be imported using project project_id, in the form terraform import mongodbatlas_maintenance_window.test 5d0f1f73cf09a29120e173cf ``` -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) +For more information on Maintenance Windows, see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) From 9f93ba93ec655bd8b3353210b54bfe21d108ca39 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 23 Jun 2026 12:13:15 -0600 Subject: [PATCH 12/17] doc: DOCSP-60307 -- Addresses wave_assignment_mode behaviour according to CLOUDP-415703 --- docs/resources/org_maintenance_settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 429798a841..1e85bc92da 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -42,7 +42,7 @@ Configure Organization Maintenance Settings `mongodbatlas_org_maintenance_settings` supports the following arguments: * `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. This attribute cannot be changed after the resource is created. -* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to reset the mode to `MANUAL`. +* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to unset the field in Atlas. If no explicit wave assignment mode is configured, Atlas defaults to `MANUAL` as the [`effective_wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). ## Import @@ -52,4 +52,4 @@ Organization maintenance settings can be imported using the organization ID, in terraform import mongodbatlas_org_maintenance_settings.example 5d09d6a59ccf6445652a444a ``` -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) +For more information, see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) From 41b6ef06032ea8fa54cdc28a63b2cef7fae3f060 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 23 Jun 2026 12:14:20 -0600 Subject: [PATCH 13/17] doc: DOCSP-60307 -- Small copy change --- docs/resources/org_maintenance_settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 1e85bc92da..65a279243d 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -42,7 +42,7 @@ Configure Organization Maintenance Settings `mongodbatlas_org_maintenance_settings` supports the following arguments: * `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. This attribute cannot be changed after the resource is created. -* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to unset the field in Atlas. If no explicit wave assignment mode is configured, Atlas defaults to `MANUAL` as the [`effective_wave_assignment_mode`](../data-sources/org_maintenance_settings.md#attributes-reference). +* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to unset the field in Atlas. If no explicit wave assignment mode is configured, Atlas defaults to `MANUAL` as the [effective wave_assignment mode`](../data-sources/org_maintenance_settings.md#attributes-reference). ## Import From 6dedf22f8a12789760f22180c823050d5ee1b4b2 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Tue, 23 Jun 2026 12:28:28 -0600 Subject: [PATCH 14/17] doc: DOCSP-60307 -- Adds newline --- docs/data-sources/org_maintenance_settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index d341ad8d71..d4809875c9 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -32,4 +32,4 @@ In addition to all arguments above, the following attributes are exported: * `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Defaults to `MANUAL` when unset. * `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). -For more information see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) \ No newline at end of file +For more information, see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) From 932eabc8223d898aee025a34e8ddccf21429af8e Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Wed, 24 Jun 2026 16:34:23 -0600 Subject: [PATCH 15/17] DOCSP-60307 -- Drops default to manual for wave assignment mode field. Adds details on when effective wave assignment mode differs from wave assignment mode --- docs/data-sources/org_maintenance_settings.md | 4 ++-- docs/resources/org_maintenance_settings.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/data-sources/org_maintenance_settings.md b/docs/data-sources/org_maintenance_settings.md index d4809875c9..a8bdaf8694 100644 --- a/docs/data-sources/org_maintenance_settings.md +++ b/docs/data-sources/org_maintenance_settings.md @@ -29,7 +29,7 @@ output "maintenance_settings" { In addition to all arguments above, the following attributes are exported: -* `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Defaults to `MANUAL` when unset. -* `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Its value can differ from `wave_assignment_mode` in some cases. For more details, see the [`mongodbatlas_maintenance_window` data source](../data-sources/maintenance_window.md). +* `wave_assignment_mode` - Configured wave assignment mode for the organization. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. +* `effective_wave_assignment_mode` - Wave assignment mode Atlas actually uses for scheduling. Matches `wave_assignment_mode`, except in a cross-organization billing hierarchy where the organization is a linked non-paying organization. In that case, `effective_wave_assignment_mode` inherits from the paying organization's `wave_assignment_mode` and the two values might differ. For more information, see: [MongoDB Atlas API Reference.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-maintenance-windows) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 65a279243d..cca14dc2c1 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -42,7 +42,7 @@ Configure Organization Maintenance Settings `mongodbatlas_org_maintenance_settings` supports the following arguments: * `org_id` - (Required) Unique 24-hexadecimal digit string that identifies the Atlas organization. This attribute cannot be changed after the resource is created. -* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to unset the field in Atlas. If no explicit wave assignment mode is configured, Atlas defaults to `MANUAL` as the [effective wave_assignment mode`](../data-sources/org_maintenance_settings.md#attributes-reference). +* `wave_assignment_mode` - (Optional) Controls how Atlas assigns projects to maintenance waves. Accepted values are `MANUAL` and `ENV_TAG_MAPPING`. Remove this attribute from your configuration and run `terraform apply` to unset the field in Atlas. ## Import From 14e3a238b6508f1e72f8a488de96192b76b63497 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 25 Jun 2026 12:33:10 -0600 Subject: [PATCH 16/17] doc: DOCSP-60307 -- Adds tag key information for ENV_TAG_MAPPING mode --- docs/resources/org_maintenance_settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index cca14dc2c1..1d4da899da 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -23,7 +23,7 @@ resource "mongodbatlas_org_maintenance_settings" "example" { ### Automatic wave assignment based on environment tags -Set the organization to `ENV_TAG_MAPPING` mode to have Atlas derive the maintenance wave from each project's environment tag. +Set the organization to `ENV_TAG_MAPPING` mode to have Atlas derive the maintenance wave from each project's environment tag. The tag key must be `environment`. The tag value determines the wave: `development` or `test` maps to Wave 1, `staging` maps to Wave 2, and `production` maps to Wave 3. ```terraform resource "mongodbatlas_org_maintenance_settings" "example" { From ee210f9fe5bf68b11de589d4836d081bb9094293 Mon Sep 17 00:00:00 2001 From: Javier Armendariz Date: Thu, 25 Jun 2026 12:41:12 -0600 Subject: [PATCH 17/17] doc: DOCSP--60307 -- Adds examples in org maintenance settings resource --- docs/resources/org_maintenance_settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/org_maintenance_settings.md b/docs/resources/org_maintenance_settings.md index 1d4da899da..0e78c6d178 100644 --- a/docs/resources/org_maintenance_settings.md +++ b/docs/resources/org_maintenance_settings.md @@ -34,8 +34,8 @@ resource "mongodbatlas_org_maintenance_settings" "example" { ### Further Examples - -Configure Organization Maintenance Settings +- [Configure Organization Maintenance Settings: Manual Wave Assignment](https://github.com/mongodb/terraform-provider-mongodbatlas/tree/v2.12.0/examples/mongodbatlas_org_maintenance_settings/manual) +- [Configure Organization Maintenance Settings: Automatic Wave Assignment](https://github.com/mongodb/terraform-provider-mongodbatlas/tree/v2.12.0/examples/mongodbatlas_org_maintenance_settings/env-tag-mapping) ## Argument Reference