Skip to content

INTMDB-835: Create resource mongodbatlas_cluster_outage_simulation #1188

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Jun 5, 2023

Conversation

maastha
Copy link
Collaborator

@maastha maastha commented May 26, 2023

Description

Changes:
Added mongodbatlas_cluster_outage_simulation

Notes:

  • Resource has been tested locally. Acceptance tests will be added later

  • Data source has been tested locally. Acceptance tests will be added later

Usage:
Resource:

resource "mongodbatlas_cluster_outage_simulation" "outage_simulation" {
  project_id = "...."
  cluster_name = "Cluster0"
 	outage_filters {
     		cloud_provider = "AWS"
     		region_name = "US_EAST_1"
 	}

 outage_filters {
     		cloud_provider = "AWS"
     		region_name = "US_EAST_2"
 	}
}

Data source:

data "mongodbatlas_cluster_outage_simulation" "outage_simulation_data" {
    project_id = "....."
    cluster_name = "Cluster0"
}

Link to any related issue(s):

Type of change:

  • Bug fix (non-breaking change which fixes an issue). Please, add the "bug" label to the PR.
  • New feature (non-breaking change which adds functionality). Please, add the "enhancement" label to the PR.
  • Breaking change (fix or feature that would cause existing functionality to not work as expected). Please, add the "breaking change" label to the PR.
  • This change requires a documentation update
  • Documentation fix/enhancement

Required Checklist:

  • I have signed the MongoDB CLA
  • I have read the contribution guidelines
  • I have added tests that prove my fix is effective or that my feature works per HashiCorp requirements
  • I have added any necessary documentation (if appropriate)
  • I have run make fmt and formatted my code

Further comments

Resource outputs after successful terraform apply:
Screenshot 2023-05-30 at 10 31 01

Data source outputs after successful terraform apply:

output "foo" {
 value = {
  name = "outage_filters"
  outage_filters = data.mongodbatlas_cluster_outage_simulation.outage_simulation_data.outage_filters[*]
 }
}
Screenshot 2023-05-29 at 08 53 42

@maastha maastha changed the title Intmdb 835 INTMDB-835: Create resource mongodbatlas_cluster_outage_simulation May 26, 2023
@maastha maastha changed the base branch from master to release-staging-v.1.10.0 May 26, 2023 11:12
@maastha maastha marked this pull request as ready for review May 26, 2023 11:30
@maastha maastha requested a review from a team as a code owner May 26, 2023 11:30
@maastha maastha requested review from martinstibbe, themantissa, Zuhairahmed and a team and removed request for a team May 26, 2023 11:30
Comment on lines 126 to 129
err = convertOutageSimulationToSchema(outageSimulation, d)
if err != nil {
return diag.FromErr(err)
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not a fan of changing the values of a pointer d inside a function as I think it makes the code less readable (it is not clear you are changing d). The recommended way is to return a new object and set it in the calling function similar to what you are doing with newOutageFilters. (Not a blocker, just something to think about)

@andreaangiolillo andreaangiolillo requested a review from a team May 29, 2023 11:15
Copy link
Collaborator

@andreaangiolillo andreaangiolillo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@Zuhairahmed Zuhairahmed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few minor comments, see latest discussion in Scope doc -
<(removing internal doc link)>

Copy link
Contributor

@martinstibbe martinstibbe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

return diag.FromErr(fmt.Errorf(errorClusterOutageSimulationDelete, projectID, clusterName, err))
}

log.Println("[INFO] Waiting for MongoDB Cluster Outage Simulation to end")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nit] Future improvement here to have helpers to log info,warn, error, rather than including in the message text

Copy link
Collaborator

@colm-quinn colm-quinn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@Zuhairahmed Zuhairahmed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@themantissa themantissa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, TY!

Copy link
Contributor

@zach-carr zach-carr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@andreaangiolillo andreaangiolillo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should change the base branch to master as we do not want to release this resource

@maastha
Copy link
Collaborator Author

maastha commented Jun 2, 2023

We should change the base branch to master as we do not want to release this resource

My understanding is @Zuhairahmed wanted to release this resource in 1.10.0 (that was updated in the example as per him).

@Zuhairahmed please confirm.

@andreaangiolillo This PR contains resource, documentation, example and acceptance tests: (from:

If 1.10.0 is still the plan once Zuhair confirms, please merge accordingly.

@Zuhairahmed
Copy link
Contributor

We should change the base branch to master as we do not want to release this resource

My understanding is @Zuhairahmed wanted to release this resource in 1.10.0 (that was updated in the example as per him).

@Zuhairahmed please confirm.

@andreaangiolillo This PR contains resource, documentation, example and acceptance tests: (from:

If 1.10.0 is still the plan once Zuhair confirms, please merge accordingly.

Yes @maastha is correct, since work is complete here we can move this one up as part of to v1.10.0 release

Copy link
Collaborator

@andreaangiolillo andreaangiolillo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarifications

@andreaangiolillo andreaangiolillo merged commit 93aff47 into release-staging-v.1.10.0 Jun 5, 2023
Zuhairahmed added a commit that referenced this pull request Jun 12, 2023
* fix: microsoft_teams_webhook_url keeps updating on every apply (#1148)

* INTMDB-783: Point in Time Restore is not enabled when should_copy_oplogs is set to true, when copying backups to other regions (#1150)

* Rebase v1.10.0 (#1156)

* INTMDB-710: Serverless Instance wants to do an in-place update on every run (#1152)

* INTMDB-694: Add PrivateEndpoint.srvShardOptimizedConnectionString to cluster (#1157)

* INTMDB-780: analyzer argument in Atlas search index is required (issue #1132) (#1158)

* INTMDB-809: upgrade atlas go-client to v0.26.0 (#1164)

* INTMDB-809: upgrade atlas go-client

* Update go.mod

* remain doc updates

* INTMDB-801: [Terraform] Create new TF Federated Database Instance resources and data sources (#1163)

* INTMDB-408: Remove Deprecated Resources - cloud_provider resources, private_ip_mode, NEW_RELIC and FLOWDOCK in third_party_integration resource (#1159)

* Remove deprecated resources

* Deprecate additional related resource parameters

* Add log message

* Remove mongodbatlas_private_ip_mode

* Add Full deprecation notice to Docs

* more doc updates

---------

Co-authored-by: Zuhair Ahmed <[email protected]>

* INTMDB-466 - Added is_extended_storage_sizes_enabled (#1128)

* Added is_extended_storage_sizes enabled

* Fixed lint complaints

* INTMDB-834: Address Follow Up comments in INTMDB-804 (#1181)

* node_count docs update

* INTMDB-804: [Terraform] Create new TF Data Lake Pipelines resource and data sources. (#1174)

* INTMDB-805: [Terraform] Create new TF Data Lake Pipelines Run data sources only (not resource) (#1177)

* INTMDB-803: [Terraform] Create a new Private Endpoint resource and data sources which supports Federated Database Instance and Online Archive (#1182)

* INTMDB-806: Deprecate "mongodbatlas_data_lake" and "privatelink_endpoint_service_adl" (#1190)

* Make aws field optional in federated_database_instance resource and upgrade aws provider (#1205)

* INTMDB-835: Create resource mongodbatlas_cluster_outage_simulation (#1188)

* Fix typos in docs for network peering resource imports (#1200)

* Remove delete from create update (#1209)

* INTMDB-781: [Terraform] Parameter Add: retainBackups in Cluster and Advanced_Cluster (#1210)

* INTMDB-856: Add cloudProviderConfig to mongodbatlas_federated_database_instance (#1215)

* INTMDB-655: PAK Resource Updates + Doc Cleanup + Deprecation Warnings (#1208)

* Add project_assignment feature to permit assigning multiple projects to an API key

* Add deprecation

* lint

* Add examples for project and org API key

* Add additional multi project example

* Update versions.tf

* Add deprecation message create function to remove duplicated code

* lint

* Add new deprecation message

* Bump terraform version

* Update project_api_key.html.markdown

* Update project.html.markdown

* Update docs

* Add validation of project_assignment parameter

* Create README.md

* Update README.md

* Create PAK-upgrade-guide-1.10.0.html.markdown

* Update PAK-upgrade-guide-1.10.0.html.markdown

* Update project_api_key.html.markdown

* Update website/docs/r/access_list_api_key.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/d/access_list_api_key.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update examples/atlas-api-key/create-and-assign-pak-together/README.md

Co-authored-by: zach-carr <[email protected]>

* Update examples/atlas-api-key/create-api-key-assign-to-multiple-projects/README.md

Co-authored-by: zach-carr <[email protected]>

* Update examples/atlas-api-key/README.md

Co-authored-by: zach-carr <[email protected]>

* Update website/docs/r/project.html.markdown

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/atlas-api-key/create-and-assign-pak-seperately/README.md

Co-authored-by: zach-carr <[email protected]>

* Update examples/atlas-api-key/create-and-assign-pak-seperately/README.md

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/atlas-api-key/create-and-assign-pak-seperately/README.md

Co-authored-by: zach-carr <[email protected]>

* Add additional deprecation note

* Update README.md

* Bump up SDK to v0.29.0

* Update README.md

More details to Readme explaining that all API keys are Organization Keys to help users

---------

Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: zach-carr <[email protected]>

* INTMDB-533: Feature Add: Programmatically Create Organizations (#1176)

* Initial version

* Acceptance testing issue for org creation

* Add initial examples of org creation

* skip tests for moment on organization resource

* Add documentation

* typo

* terraform fmt

* lint

* go mod tidy

* Documentation updates PR feedback

* update TF version

* Update variables.tf

* Add additional Readme to show how to apply 2 step example

* Update docs

* Update examples/atlas-organization/Readme.md

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/atlas-organization/Readme.md

* Update examples/atlas-organization/organization-step-1/Readme.md

* Update examples/atlas-organization/organization-step-2/Readme.md

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/r/organization.html.markdown

* Update website/docs/d/organizations.html.markdown

* Update go SDK add Org Update

* Fix broken tests

* Add isDeleted

* Update go.sum

---------

Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>

* INTMDB-802: Create new TF Data Federation Query Limit resource and data sources (#1173)

* INTMDB-802: Add data_source and resource for Federated Database Query Limit

* INTMDB-802: update provider.go

* INTMDB-802: Add AtlasDataFederation Query Limit resource

* INTMDB-802: Add AtlasDataFederation Query Limit resource

* Update data_source_mongodbatlas_federated_query_limit.go

* Update resource_mongodbatlas_federated_query_limit.go

* INTMDB-802: temp

* INTMDB-802: Add example

* INTMDB-802: Add example

* INTMDB-802: minor

* INTMDB-802: example fix

* Acceptance tests

* Acceptance tests

* Fix docs

* Update main.tf

* Update mongodbatlas/resource_mongodbatlas_federated_query_limit.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update mongodbatlas/resource_mongodbatlas_federated_query_limit.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update mongodbatlas/data_source_mongodbatlas_federated_query_limit.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update mongodbatlas/resource_mongodbatlas_federated_query_limit.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update mongodbatlas/resource_mongodbatlas_federated_query_limit.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update website/docs/d/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/d/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/r/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/r/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/r/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/d/federated_query_limits.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update website/docs/r/federated_query_limit.html.markdown

Co-authored-by: Melissa Plunkett <[email protected]>

* Update federated_query_limit.html.markdown

* Update federated_query_limit.html.markdown

* Address PR comments

* Address PR comments

* Update website/docs/d/federated_query_limit.html.markdown

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update website/docs/d/federated_query_limits.html.markdown

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/federated-database-query-limit/README.md

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/federated-database-query-limit/README.md

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update examples/federated-database-query-limit/README.md

Co-authored-by: Zuhair Ahmed <[email protected]>

* Update federated_query_limit.html.markdown

* Update federated_query_limits.html.markdown

* Update README.md

* Address PR comments

* Address PR comments

* Apply suggestions from code review

Co-authored-by: zach-carr <[email protected]>

* INTMDB-805: [Terraform] Create new TF Data Lake Pipelines Run data sources only (not resource) (#1177)

* INTMDB-803: [Terraform] Create a new Private Endpoint resource and data sources which supports Federated Database Instance and Online Archive (#1182)

* Fix AWS provider version and example

* updated federated instance

* Addressed Comments

* Update mongodbatlas/data_source_mongodbatlas_federated_query_limits.go

Co-authored-by: Andrea Angiolillo <[email protected]>

* Update data_source_mongodbatlas_federated_query_limits.go

---------

Co-authored-by: Andrea Angiolillo <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: zach-carr <[email protected]>

* Update .github_changelog_generator

* Update CHANGELOG.md

---------

Co-authored-by: maastha <[email protected]>
Co-authored-by: Andrea Angiolillo <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: Dosty Everts <[email protected]>
Co-authored-by: Johanna Öjeling <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: zach-carr <[email protected]>
@andreaangiolillo andreaangiolillo deleted the INTMDB-835 branch July 17, 2023 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants