Skip to content
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

chore: Implements extra API Calls for AdvancedCluster TPF #2852

Merged
merged 10 commits into from
Dec 4, 2024

Conversation

EspenAlbert
Copy link
Collaborator

@EspenAlbert EspenAlbert commented Dec 3, 2024

Description

Context. TPF Implementation is still a WIP.

Out of scope for this PR is:

  • TODOs: 62 In the advancedclustertpf
  • Improve error summaries
  • Retain backups enabled sent in delete
  • Fail on projectID & clusterName updates
  • Re-evaluate UseStateForUnknown
  • advanced_configuration.0.oplog_size_mb during create
  • investigate populating spec.*.id, even when new shard is used

In scope

  • reading container id
  • tenant upgrade

Link to any related issue(s): CLOUDP-286480

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. A migration guide must be created or updated if the new feature will go in a major version.
  • Breaking change (fix or feature that would cause existing functionality to not work as expected). Please, add the "breaking change" label to the PR. A migration guide must be created or updated.
  • This change requires a documentation update
  • Documentation fix/enhancement

Required Checklist:

  • I have signed the MongoDB CLA
  • I have read the contributing guides
  • I have checked that this change does not generate any credentials and that they are NOT accidentally logged anywhere.
  • 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
  • If changes include deprecations or removals I have added appropriate changelog entries.
  • If changes include removal or addition of 3rd party GitHub actions, I updated our internal document. Reach out to the APIx Integration slack channel to get access to the internal document.

Further comments

@EspenAlbert EspenAlbert changed the title chore: Implements extra API Calls chore: Implements extra API Calls for AdvancedCluster TPF Dec 4, 2024
@@ -10,7 +10,6 @@ import (
"github.com/hashicorp/terraform-plugin-framework/resource/schema/int64default"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/setdefault"
Copy link
Collaborator Author

@EspenAlbert EspenAlbert Dec 4, 2024

Choose a reason for hiding this comment

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

Changes to the resource_schema.go are due to TPF strictness and using the /tenantUpgrade endpoint, which would raise errors:

  | Error: Provider produced inconsistent result after apply
  | 
  | When applying changes to mongodbatlas_advanced_cluster.test, provider
  | "provider[\"registry.terraform.io/hashicorp/mongodbatlas\"]" produced an
  | unexpected new value: .create_date: was
  | cty.StringVal("2024-12-03T16:54:26Z"), but now
  | cty.StringVal("2024-12-03T16:57:44Z").
  | 
  | This is a bug in the provider, which should be reported in the provider's own
  | issue tracker.
  | 
  | Error: Provider produced inconsistent result after apply
  | 
  | When applying changes to mongodbatlas_advanced_cluster.test, provider
  | "provider[\"registry.terraform.io/hashicorp/mongodbatlas\"]" produced an
  | unexpected new value: .replication_specs[0].zone_name: was
  | cty.StringVal("ZoneName managed by Terraform"), but now cty.StringVal("Zone
  | 1").
  | 
  | This is a bug in the provider, which should be reported in the provider's own
  | issue tracker.
  | 
  | Error: Provider produced inconsistent result after apply
  | 
  | When applying changes to mongodbatlas_advanced_cluster.test, provider
  | "provider[\"registry.terraform.io/hashicorp/mongodbatlas\"]" produced an
  | unexpected new value: .cluster_id: was
  | cty.StringVal("674f37c288864967c85f6b47"), but now
  | cty.StringVal("674f388843ca6e2ab9803e84").

@@ -3,9 +3,11 @@ package tc
import (
"fmt"
"strconv"
"strings"
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file will most likely be deleted during [TF] Adv Cluster TPF Test Coverage and Clenaup


func enableChecksLatestTpf(checkMap map[string]string) map[string]string {
newMap := map[string]string{}
for k, v := range checkMap {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@lantoli prototype of what we were discussing about checks

Copy link
Member

Choose a reason for hiding this comment

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

@EspenAlbert that's great, thanks. ping me when this is merged so i'll use the idea in adv_cluster tests as well

@@ -25,13 +25,18 @@ type LegacySchemaInfo struct {
RootDiskSize *float64
}

func NewTFModel(ctx context.Context, input *admin.ClusterDescription20240805, timeout timeouts.Value, diags *diag.Diagnostics, legacyInfo *LegacySchemaInfo) *TFModel {
type ExtraAPIInfo struct {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Although we could define only containerIDs map[string]string as a parameter, I think this is more "future-proof".
(Couldn't use LegacySchemaInfo, as that is only meant for numShards > 1 configurations)

Copy link
Member

@lantoli lantoli Dec 4, 2024

Choose a reason for hiding this comment

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

i have mixed feelings about anticipating future needs as it can create overcomplexity but it's ok here.

@@ -101,7 +101,24 @@ func (r *rs) Update(ctx context.Context, req resource.UpdateRequest, resp *resou
if diags.HasError() {
return
}
cluster := r.applyClusterChanges(ctx, diags, &state, &plan)
stateReq := normalizeFromTFModel(ctx, &state, diags, false)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

refactored some applyClusterChanges logic here, to have the distinction between tenantUpgrade/ClusterChanges more clear

@EspenAlbert EspenAlbert marked this pull request as ready for review December 4, 2024 08:29
@EspenAlbert EspenAlbert requested a review from a team as a code owner December 4, 2024 08:29
normalizePatchState(stateReq)
patchReq, err := update.PatchPayload(stateReq, planReq)
if err != nil {
diags.AddError("errorPatchPayload", err.Error())
Copy link
Member

Choose a reason for hiding this comment

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

more human-friendly summary

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Will handle as part of next ticket

@@ -128,10 +127,7 @@ func ResourceSchema(ctx context.Context) schema.Schema {
},
},
"create_date": schema.StringAttribute{
Computed: true,
PlanModifiers: []planmodifier.String{
stringplanmodifier.UseStateForUnknown(),
Copy link
Member

Choose a reason for hiding this comment

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

it makes sense to remove UseStateForUnknown as this is intended to use only when we're sure that value won't change

Copy link
Collaborator

@oarbusi oarbusi left a comment

Choose a reason for hiding this comment

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

Left some comments but LGTM overall.
Could you add a bit more details on the description of the PR for future reference?

@EspenAlbert
Copy link
Collaborator Author

Left some comments but LGTM overall. Could you add a bit more details on the description of the PR for future reference?

Good point. Updated this description and will try to provide more context for the next PR 😅

@EspenAlbert EspenAlbert merged commit 9d341b0 into master Dec 4, 2024
43 checks passed
@EspenAlbert EspenAlbert deleted the CLOUDP-286480_extra_api_calls branch December 4, 2024 10:37
AgustinBettati added a commit that referenced this pull request Dec 13, 2024
… branch (#2886)

* chore: Updates Atlas Go SDK (#2805)

* build(deps): bump go.mongodb.org/atlas-sdk

* fix breaking changes

---------

Co-authored-by: wtrocki <[email protected]>
Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Continues with data source schema auto-generation (#2815)

* schema_generation

* resource policy

* plural datasource for resource_policy

* encryption_at_rest_private_endpoint

* extract project resource schema to resource_schema.go

* project

* rename to resource_project_schema.go

* Update docs/data-sources/stream_processor.md

Co-authored-by: carriecwk <[email protected]>

* Update docs/data-sources/stream_processors.md

Co-authored-by: carriecwk <[email protected]>

* Update docs/data-sources/stream_processors.md

Co-authored-by: carriecwk <[email protected]>

* Update internal/service/streamprocessor/data_source_schema.go

Co-authored-by: carriecwk <[email protected]>

* Update internal/service/streamprocessor/data_source_schema.go

Co-authored-by: carriecwk <[email protected]>

* fix schema admin reference

* apply feedback

* stream_instance

* fix project

* remove checks

* project_ip_access timeout as attribute

* project_ip_access_list

* stream_connection

* update templates

* remove checks

* changelog

* apply feedback

---------

Co-authored-by: carriecwk <[email protected]>

* chore: Updates CHANGELOG.md for #2815

* chore: Bump github.com/hashicorp/terraform-plugin-testing (#2809)

Bumps [github.com/hashicorp/terraform-plugin-testing](https://github.com/hashicorp/terraform-plugin-testing) from 1.9.0 to 1.11.0.
- [Release notes](https://github.com/hashicorp/terraform-plugin-testing/releases)
- [Changelog](https://github.com/hashicorp/terraform-plugin-testing/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/terraform-plugin-testing/compare/v1.9.0...v1.11.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/terraform-plugin-testing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Reverts changes to project data source (#2818)

* remove changelog

* revert files

* chore: Updates CHANGELOG.md for #2818

* feat: Adds `mongodbatlas_flex_cluster` resource and data sources (#2816)

* use SDK dev-preview

* chore: Generate Flex Cluster file structure and resource schema  (#2702)

* generate resource and schema

* pr comments

* correct Map

* feat: Implements `mongodbatlas_flex_cluster` resource (#2716)

* create implementation

* read implementation

* update and delete implementation

* Implement model

* schema refactor

* format

* wip: model tests

* initial model test

* test for NewTFModel

* Test NewAtlasCreateReq

* test NewAtlasUpdateReq

* fix tests

* refactor for tags

* fixes

* implement import

* simplify update

* basic acceptance test

* wip: acc tests

* fix model test

* final changes on tests

* changelog entry

* add resource to fallback template

* Update .changelog/2716.txt

Co-authored-by: Agustin Bettati <[email protected]>

* set resource to preview

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Enable mongodbatlas_flex_cluster test in CI (#2720)

* create implementation

* read implementation

* update and delete implementation

* initial model test

* Test NewAtlasCreateReq

* fixes

* changelong and fix to acceptance-tests-runner.yml

* fix to changelog

* removed changelog

* resolve rebase issue

* fix to implementation

* change test to use existing project id

* Adjusting predeployed project id name and added preview enable

* fix the naming convension of env var

---------

Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Generate Flex Cluster data source file and schemas (#2725)

* generate data source file and schema for singular Flex Cluster

* Generate plural data source schema

* Changing type of tags in schema

* Fix to data source schema

* chore: Adds state transition logic to mongodbatlas_flex_cluster resource (#2721)

* implements state transition

* use state transition in create, update and delete

* PR comments

* chore: Update operation improvements for `mongodbatlas_flex_cluster` resource (#2729)

* schema refactors

* revert rename

* implement isUpdateAllowed

* failed update test case

* refactor equal checks

* make more exhaustive the failed update test

* remove UseStateForUnknown in state_name

* wip: use plan modifier for non updatable fields

* wip: use plan modifiers on all non updatable attributes

* use plan modifiers to fail on update of certain attributes

* rename planmodifier

* simplify planmodifier

* PR comments

* remove attribute parameter

* markdowndescription over description

* test: Enable mongodbatlas_flex_cluster tests in QA environment (#2741)

* feat: Implements and tests `mongodbatlas_flex_cluster` data source (#2738)

* Implementing read funciton in data source

* Acc test for data source

* Added changelog

* implementing review suggestions

* fix to rebase

* Adjusting default timeout of `flex_cluster` to 3 hours (#2757)

* chore: Rebase dev_branch onto master_branch (#2764)

* feat: Adds `is_slow_operation_thresholding_enabled` attribute to `mongodbatlas_project` (#2698)

* feat: Initial support for is_slow_operation_thresholding_enabled

* test: fix test cases

* chore: add changelog entry

* test: Add extra check for plural data source

* refactor: only set SetSlowOperationThresholding once during update

* chore: fix lint error

* fix: need to set SetSlowOperationThresholding before reading project props from API

* chore: address PR comment

* doc: Add documentation for `is_slow_operation_thresholding_enabled` to project (#2700)

* chore: Updates CHANGELOG.md for #2698

* chore: Use `qa` for TestSuite on Sundays (#2701)

* build(deps): bump go.mongodb.org/atlas-sdk (#2705)

Co-authored-by: lantoli <[email protected]>

* wait in second test (#2707)

* chore: Supports running Test Suite in QA on sundays (#2711)

* Revert "chore: Use `qa` for TestSuite on Sundays (#2701)"

This reverts commit 942e0977c2d299ccdd3d0d10179ef240e3351871.

* chore: Supports running qa only on Sundays

* address PR comments

* refactor: move job to steps of variables

* chore: Add top level description

* chore: Adds SDK Preview (#2713)

* add client

* SDK update GHA

* simulate Preview update

* example of use for Admin Preview

* Revert "example of use for Admin Preview"

This reverts commit c5edef52847034af8cdb5daf7310743ed630f801.

* rename adminPreview to adminpreview in client

* example of use of SDK Preview

* reverse example

* go mod tidy

* build(deps): bump go.mongodb.org/atlas-sdk (#2715)

Co-authored-by: lantoli <[email protected]>

* ci: fix env-vars for azure QA (#2709)

* doc: Advanced Cluster Differences and TF Core Upgrades  (#2633)

* adv cluster differences doc updates

* Update docs/index.md

* Update index.md

* Update advanced_cluster.md

* Update advanced_cluster.md

* Update advanced_cluster.md

* Update cluster.md

* Update docs/index.md

Co-authored-by: maastha <[email protected]>

* Update docs/resources/cluster.md

Co-authored-by: maastha <[email protected]>

* Update docs/resources/cluster.md

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

* Update advanced_cluster.md

* Update cluster-to-advanced-cluster-migration-guide.md

---------

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

* revert SDK preview changes (#2719)

* fix: Fixes inconsistent result when using a multi-region cluster by always using a single spec (#2685)

* fix: Initial workaround for multiple specs issuing a warning of spec missmatch

* fix: can only use multiple specs in data source (schema limitation)

* test: Add a test to confirm multi-region cluster can be used with search deployment

* chore: changelog file

* chore: fix test enum value

* chore: revert timeout changes

* Update .changelog/2685.txt

Co-authored-by: kanchana-mongodb <[email protected]>

---------

Co-authored-by: Leo Antoli <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>

* chore: Updates CHANGELOG.md for #2685

* chore: Updates examples link in index.md for v1.21.2 release

* chore: Updates CHANGELOG.md header for v1.21.2 release

* fix TestAccBackupSnapshotExportJob_basic (#2723)

* chore: Bump github.com/hashicorp/terraform-plugin-framework-validators (#2727)

Bumps [github.com/hashicorp/terraform-plugin-framework-validators](https://github.com/hashicorp/terraform-plugin-framework-validators) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/hashicorp/terraform-plugin-framework-validators/releases)
- [Changelog](https://github.com/hashicorp/terraform-plugin-framework-validators/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/terraform-plugin-framework-validators/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/terraform-plugin-framework-validators
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Fixes `mongodbatlas_project` when user doesn't have project owner permission  (#2731)

* update doc

* add deprecated message

* changelog

* deprecate params

* initial TestAccProject_slowOperationNotOwner

* update version to 1.24.0

* changeRoles

* Revert "changeRoles"

This reverts commit c8ba3c84c2e419d468be1135b5bf408961f8f92a.

* Revert "initial TestAccProject_slowOperationNotOwner"

This reverts commit d1473711e888887ab5e3991f3cd7314ec52a23e2.

* don't update the value if it's in Create so value is unknown

* pass warnings

* Update internal/service/project/resource_project.go

Co-authored-by: Marco Suma <[email protected]>

* apply feedback in doc

* clarify docs

---------

Co-authored-by: Marco Suma <[email protected]>

* chore: Updates CHANGELOG.md for #2731

* chore: Merging schema generation internal tool PoC into master branch (#2735)

* feat: Adds initial schema and config models for PoC - Model generation  (#2638)

* update computability type (#2668)

* chore: PoC - Model generation - support primitive types at root level (#2673)

* chore: PoC - Schema code generation - Initial support of primitive types (#2682)

* initial commit with schema generation function and test fixture

* small changes wip

* include specific type generators

* handling element types and imports

* remove unrelated file

* extract template logic to separate file

* small revert change

* extract import to const

* follow up adjustments from PR comments and sync with Aastha

* chore: PoC - Schema code generation - Supporting nested attributes  (#2689)

* support nested attribute types

* rebasing changes related to unit testing adjustment

* chore: PoC - Model generation - Supporting nested schema (List, ListNested, Set & SetNested) (#2693)

* chore: PoC - Model generation - Supporting nested schema (objects - Map, MapNested, SingleNested Attributes) (#2704)

* chore: PoC - Schema code generation - Supporting generation of typed model (#2703)

* support typed model generation inlcuding root and nested attributes

* minor fix for type of types map

* add clarifying comment

* improve name of generated object types, refactor function naming for readability

* fix list map and set nested attribute generation (#2708)

* chore: PoC - Model generation - support config aliases, ignores, and description overrides (#2712)

* chore: PoC - Define make command to call code generation logic (#2706)

* wip

* iterating over all resources

* add config for search deployment

* update golden file test with fix in package name

* use xstring implementation for pascal case

* simplify write file logic

* merge fixes

* chore: PoC - Support configuration of timeout in schema (#2717)

* wip

* rebase fixes

* fix logic avoiding adding timeout in nested schemas

* fix generation

* fix enum processing

* fix golden file in timeout test

* comment out unsupported config properties

* simplify interfaces for attribute generation leaving common code in a separate function

* chore: PoC - handle merging computability in nested attributes (#2722)

* adjusting contributing guide (#2732)

---------

Co-authored-by: maastha <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>

* doc: Adds documentation for `replication_specs.*.external_id` computed attribute for `mongodbatlas_advanced_cluster`  (#2734)

* adds M0 (#2730)

* docs: Remove legacy project_id attribute in docs as it has been removed (#2733)

* chore: Updates examples link in index.md for v1.21.3 release

* chore: Updates CHANGELOG.md header for v1.21.3 release

* chore: Unify file name for plural data source schema (#2739)

* change name

* fix name

* rename to plural_data_source.go

* check cluster creation times (#2728)

* fix: Adds new attribute `results` and deprecates `resource_policies` for `mongodbatlas_resource_policies` data source (#2740)

* new attribute results and deprecate resource_policies

* changelog entry

* change test to check new attribute

* fix changelog

* changelog fix

* fix docs

* Update .changelog/2740.txt

Co-authored-by: Leo Antoli <[email protected]>

* migration test

* skip mig test until next version

* fix comment

---------

Co-authored-by: Leo Antoli <[email protected]>

* chore: Updates CHANGELOG.md for #2740

* build(deps): bump go.mongodb.org/atlas-sdk (#2745)

Co-authored-by: wtrocki <[email protected]>

* fix: Fixes change assigments in `mongodbatlas_project_api_key` (#2737)

* fix changed assigments

* fix TestAccProjectAPIKey_updateRole

* changelog

* join configMultiple to configBasic

* don't allow duplicate projectIDs

* fix TestAccProjectAPIKey_dataSources

* refactor Create

* refactor getAPIProjectAssignments and flattenProjectAssignments

* refactor Read

* refactor Delete

* fix TestAccProjectAPIKey_recreateWhenDeletedExternally

* refactor Import

* remove flattenProjectAssignments, flattenProjectAPIKeyRoles and getAPIProjectAssignments

* fix plural ds

* fix basicTestCase

* refactor Update description

* refactor Update

* refactor expandProjectAssignments

* update changelog

* initial checkAggr

* checkExists

* delete redundant TestAccProjectAPIKey_dataSources

* refactor configDuplicatedProject

* refactor configChangingProject

* model file

* more detailed changelog

* revert import

* doc

* refactor checks

* chore: Updates CHANGELOG.md for #2737

* chore: Updates examples link in index.md for v1.21.4 release

* chore: Updates CHANGELOG.md header for v1.21.4 release

* chore: Support computability override in schema generation config (#2743)

* test without parsing config options

* add support for override of computability in config

* refactor tests removing redudant code

* extract common api spec path, handle computed only case

* chore: Bump crazy-max/ghaction-import-gpg from 6.1.0 to 6.2.0 (#2754)

Bumps [crazy-max/ghaction-import-gpg](https://github.com/crazy-max/ghaction-import-gpg) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/crazy-max/ghaction-import-gpg/releases)
- [Commits](https://github.com/crazy-max/ghaction-import-gpg/compare/01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4...cb9bde2e2525e640591a934b1fd28eef1dcaf5e5)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-import-gpg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/setup-go from 5.0.2 to 5.1.0 (#2753)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32...41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/pb33f/libopenapi from 0.18.1 to 0.18.6 (#2750)

Bumps [github.com/pb33f/libopenapi](https://github.com/pb33f/libopenapi) from 0.18.1 to 0.18.6.
- [Release notes](https://github.com/pb33f/libopenapi/releases)
- [Commits](https://github.com/pb33f/libopenapi/compare/v0.18.1...v0.18.6)

---
updated-dependencies:
- dependency-name: github.com/pb33f/libopenapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump tj-actions/verify-changed-files (#2751)

Bumps [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) from 54483a2138ca67989bc40785aa22faee8b085894 to 530d86d0a237225c87beaa000750988f8965ee31.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/compare/54483a2138ca67989bc40785aa22faee8b085894...530d86d0a237225c87beaa000750988f8965ee31)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/checkout from 4.2.1 to 4.2.2 (#2752)

* chore: Bump actions/checkout from 4.2.1 to 4.2.2

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871...11bd71901bbe5b1630ceea73d27597364c9af683)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Trigger Build

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leo Antoli <[email protected]>

* chore: Automatically updates Terraform version used in repository and test-suite (#2755)

* rename workflow (#2761)

* chore: Updates Atlas Go SDK (#2748)

* build(deps): bump go.mongodb.org/atlas-sdk

* Pin cluster POST and PATCH operations to 2024-08-05 avoiding any unintentional shard level autoscaling

* unifying version clarification in comments

* use sdk utility function for checking error code value

* adjust conditional of error checking preserving behaviour

---------

Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Generate Flex Cluster file structure and resource schema  (#2702)

* generate resource and schema

* pr comments

* correct Map

* feat: Implements `mongodbatlas_flex_cluster` resource (#2716)

* create implementation

* read implementation

* update and delete implementation

* Implement model

* schema refactor

* format

* wip: model tests

* initial model test

* test for NewTFModel

* Test NewAtlasCreateReq

* test NewAtlasUpdateReq

* fix tests

* refactor for tags

* fixes

* implement import

* simplify update

* basic acceptance test

* wip: acc tests

* fix model test

* final changes on tests

* changelog entry

* add resource to fallback template

* Update .changelog/2716.txt

Co-authored-by: Agustin Bettati <[email protected]>

* set resource to preview

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Enable mongodbatlas_flex_cluster test in CI (#2720)

* create implementation

* read implementation

* update and delete implementation

* initial model test

* Test NewAtlasCreateReq

* fixes

* changelong and fix to acceptance-tests-runner.yml

* fix to changelog

* removed changelog

* resolve rebase issue

* fix to implementation

* change test to use existing project id

* Adjusting predeployed project id name and added preview enable

* fix the naming convension of env var

---------

Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Generate Flex Cluster data source file and schemas (#2725)

* generate data source file and schema for singular Flex Cluster

* Generate plural data source schema

* Changing type of tags in schema

* Fix to data source schema

* chore: Adds state transition logic to mongodbatlas_flex_cluster resource (#2721)

* implements state transition

* use state transition in create, update and delete

* PR comments

* chore: Update operation improvements for `mongodbatlas_flex_cluster` resource (#2729)

* schema refactors

* revert rename

* implement isUpdateAllowed

* failed update test case

* refactor equal checks

* make more exhaustive the failed update test

* remove UseStateForUnknown in state_name

* wip: use plan modifier for non updatable fields

* wip: use plan modifiers on all non updatable attributes

* use plan modifiers to fail on update of certain attributes

* rename planmodifier

* simplify planmodifier

* PR comments

* remove attribute parameter

* markdowndescription over description

* test: Enable mongodbatlas_flex_cluster tests in QA environment (#2741)

* feat: Implements and tests `mongodbatlas_flex_cluster` data source (#2738)

* Implementing read funciton in data source

* Acc test for data source

* Added changelog

* implementing review suggestions

* fix to rebase

* Adjusting default timeout of `flex_cluster` to 3 hours (#2757)

* fixing imports

* Adopting latest preview SDK version

* fix flex varibale names after bump

* fix atlasuser - set to continue using older SDK version

* Fix to variable type names in flex unit test

* fix duplicate

* fix to api call in atlasUser tests

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: lantoli <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: Oriol <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>

* feat: Implements `mongodbatlas_flex_cluster` plural data source (#2767)

* Fix naming convensions in plural DS schema

* Implementing plural DS read function

* testing and plural ds model

* fixes after rebase

* additional unit testing for model

* changelog

* lint fix

* removing parellel testing

* implemented review feedback

* lint fix

* chore: Improvements to SDK version update (#2770)

* comment use of older API version in atlasUser

* add connv220240805 to factory.go

* doc: Adds documentation and example for mongodbatlas_flex_cluster resource and data source (#2744)

* wip: docs and example (missing data source

* change version to make the CI check successful

* fmt

* regenerate

* data source examples

* readme created - to adjust preview feature note on release of flex to prod

* data source templates

* fix typo

* generate data source documentation

* fix to flex_cluster example

* fix to flex_cluster example

* fix to generated docs

* Added flex to dedicated migration guide

* fix typo

* Implementing feedback and improving flex-dedicated migratoin guide

* adjust flex example README.md

* fix to example

---------

Co-authored-by: Melanija Cvetic <[email protected]>

* deprecate: Deprecates Serverless functionality (#2742)

* deprecates serverless functionality

* documentation

* deprecate attributes in data sources

* set link to migration guide with supported migration paths

* doc: Adds migration guides to transition out of Serverless and Shared-tier clusters (#2746)

* wip: migration guides

* add details on 1.22 guide

* remove guide, will be in resource docs

* wip: correct details on 1.22 guide

* added migration guide for serverless to flex and serverless to dedicated

* added migration guide for shared-tier to flex

* added migration guide for serverless to free

* implementing review feedback

* implementing feedback to guide

* changes to migration guide

* Adjustments to migration guides

* put URL instead of placeholder

* move post before pre autoconversion guides, clarify serverless to dedicated

* pr comment

* pr comments

* Update docs/guides/1.22.0-upgrade-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/1.22.0-upgrade-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: cveticm <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: cveticm <[email protected]>

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>
Co-authored-by: cveticm <[email protected]>

* chore: Removes mentions and examples of Serverless and Shared-tier instances (#2811)

* wip remove mentions of serverless and shared tier

* remove examples from template for serverless privatelink

* change from M5 to M0 for tenant examples of adv cluster

* add note on M0

* chore: Refactor tags attribute schema and conversion logic (#2788)

* Implements tag as common function

* Refactor project and flex cluster to use new common tag functions

* fix to testing and lint

* fix changelog entry

* january or later for shared tier autoconversion

* auto-generate singular data source, temporarily with checks

* remove singular data source check

* update Description in plural data source

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>
Co-authored-by: cveticm <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: lantoli <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>

* chore: Updates CHANGELOG.md for #2816

* fix: Adds changelog for decreased delay in `mongobatlas_privatelink_endpoint_service` (#2819)

* Adds changelog

* Fix to changelog

* Fix to changelog

* chore: Updates CHANGELOG.md for #2819

* chore: Adds initial TPF implementation for advanced_cluster (#2813)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* build(deps): bump go.mongodb.org/atlas-sdk (#2823)

Co-authored-by: wtrocki <[email protected]>

* fix: Fixes tags in `mongodbatlas_flex_cluster` (#2829)

* fix tags

* add tests

* fix

* chore: Updates examples link in index.md for v1.22.0 release

* chore: Updates CHANGELOG.md header for v1.22.0 release

* doc: Add preview notice in `mongodbatlas_flex_cluster` docs (#2830)

* preview notice

* small fix

* chore: Bump github.com/wI2L/jsondiff from 0.6.0 to 0.6.1 (#2835)

Bumps [github.com/wI2L/jsondiff](https://github.com/wI2L/jsondiff) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/wI2L/jsondiff/releases)
- [Changelog](https://github.com/wI2L/jsondiff/blob/master/.goreleaser.yml)
- [Commits](https://github.com/wI2L/jsondiff/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: github.com/wI2L/jsondiff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/checkout from 4.2.1 to 4.2.2 (#2833)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...11bd71901bbe5b1630ceea73d27597364c9af683)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Update tj-actions/verify-changed-files requirement to 530d86d0a237225c87beaa000750988f8965ee31 (#2832)

Updates the requirements on [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) to permit the latest version.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/commits/530d86d0a237225c87beaa000750988f8965ee31)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump srvaroa/labeler from 1.11.1 to 1.12.0 (#2831)

Bumps [srvaroa/labeler](https://github.com/srvaroa/labeler) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/srvaroa/labeler/releases)
- [Commits](https://github.com/srvaroa/labeler/compare/29471ee1118fa4e10b011964e6e8fe2fd243e700...fe4b1c73bb8abf2f14a44a6912a8b4fee835d631)

---
updated-dependencies:
- dependency-name: srvaroa/labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#2834)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump slackapi/slack-github-action from 1.27.0 to 2.0.0 (#2810)

* chore: Bump slackapi/slack-github-action from 1.27.0 to 2.0.0

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.27.0 to 2.0.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/37ebaef184d7626c5f204ab8d3baff4262dd30f0...485a9d42d3a73031f12ec201c457e2162c45d02d)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: Adjusting how webhook-type is provided in new slack-github-action 2.0 version

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Updates repository to use supported Terraform versions (#2838)

Co-authored-by: maastha <[email protected]>

* chore: Test converter for TPF (#2822)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* enable TestAccClusterAdvancedCluster_basicTenant in TPF

* initial unit test

* AssertEqualHCL

* AssertEqualHCL tests

* call ConvertAdvancedClusterToTPF from tests

* update go-cty

* use more complex test

* passing TestConvertAdvancedClusterToTPF

* refactor

* revert go.mod & go.sum

* revertgithub.com/hashicorp/terraform-plugin-testing to v1.11.0

* go mod tidy

* getBlockBody

* enable env var

* test without env

* CheckDestroyCluster for TPF

* don't check exists or data sources yet

* import tests in TPF

---------

Co-authored-by: Espen Albert <[email protected]>

* test: Adds support for mocked-acceptance-tests (#2820)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* test: Add support for mocked acceptance tests

* test: Support maintaining response order with responseIndex

* test: update test data for adv cluster unit tests

* test: mocker use colored diffs and support empty payloads in diffs

* update mocker test data

* test: Add check for AllowReReading

* test: Add labels and tags to mock cluster JSON test data

* update old guides (#2842)

* chore: Includes the rest of blocks in TPF test converter (#2841)

* don't remove double lines

* enable TestAccClusterAdvancedCluster_withTags

* tests for labels and tests

* label and tags converter

* common generateAllAttributeSpecs

* change getVal return type

* simplify generateAllAttrSpecs call

* don't run data source checks for TPF yet

* test for advanced_configuration

* converter for advanced_configuration

* bi_connector_config transform

* test for bi_connector_config

* fix tests

* make explicit dependency from ds

* Fix error message typo (#2843)

When there's an error setting the `private_key`, it should output an error message mentioning `private_key` instead of `public_key`

* chore: Plural data sources in TPF leveraging on resource data source (#2844)

* PluralDataSourceSchemaFromResource

* flexcluster

* flexcluster doc

* overridenFields and overridenRootFields in PluralDataSourceSchemaFromResource

* advancedclustertpf

* encryptionatrestprivateendpoint

* resourcepolicy

* streamconnection

* streaminstance

* fix TestPaginatedDSSchema

* streamprocessor

* remove checks and unneeded code

* doc feedback

* use struct for params

* chore: Environment variable to enable dual schema (#2847)

* LatestAdvancedClusterEnabled

* TEMPORARY check allowLatestAdvancedClusterEnabled is caught

* Revert "TEMPORARY check allowLatestAdvancedClusterEnabled is caught"

This reverts commit 1694766b9884cfc3d501e1c210b2bd6154eccd50.

* configure resource

* make goal

* CI config

* use config.LatestAdvancedClusterEnabled

* TEMPORARY check converter is caught

* Revert "TEMPORARY check converter is caught"

This reverts commit 98c34f37be7beab76f3be7aeb4a1862177497151.

* chore: Adds support for multiple API versions for adv_cluster TPF (#2840)

* feat: Support update.IsEmpty

* initial start of `num_shards` support

* feat: differentiate API Versions used

* chore: formatting

* feat: intial usage of latest admin api

* feat: implement support for num_shards and add legacy compatibility functions for CREATE

* chore: use ordinary diffs instead of colors

* refactor: remove commented-out code

* test: pass static orgID for unit testing

* chore: initial working legacy schema

* minor cleanup before review

* test: Add acceptance test SymmetricShardedOldSchemaDiskSizeGBAtElectableLevel

* feat: enhance disk size handling and normalization in advanced cluster resource

* chore: PatchPayload, support IgnoreInState

* address some PR comments

* chore: Avoid update options (handled in normalize instead)

* test: refresh golden file

* feat: Initial update support using 20240530

* refactor: Always set root disk size

* chore: update to use correct test data

* refactor: always set rootDiskSize

* refactor: update legacy model to include disk size and adjust replication specs handling

* feat: add tests and mock data for symmetric sharded old schema configuration+Handle MongoDBMajor version formatting

* test: fix mock file and remove manual change

* chore: fix broken sharded test

* refactor: minor refactorings

* fix: Address PR comments

* test: Change log message to fatal error for missing steps in request tracker

* address PR comments 2

* wait in each cluster creation (#2848)

* build(deps): bump go.mongodb.org/atlas-sdk (#2849)

Co-authored-by: wtrocki <[email protected]>

* chore: Implements Move State (#2850)

* move state impl

* fix TestAccAdvancedCluster_move_invalid

* TestAccAdvancedCluster_move_not_supported_sdkv2

* apply feedback

* rename env var to MONGODB_ATLAS_ADVANCED_CLUSTER_V2_SCHEMA and associated elements

* rename SkipIfTPFAdvancedCluster to SkipIfAdvancedClusterV2Schema

* parallel tests for move

* add last step so no dangling resources

* chore: Bump tj-actions/verify-changed-files (#2853)

Bumps [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) from 530d86d0a237225c87beaa000750988f8965ee31 to dc57d4518c9e75995e0fff59265333d19a684163.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/compare/530d86d0a237225c87beaa000750988f8965ee31...dc57d4518c9e75995e0fff59265333d19a684163)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/zclconf/go-cty from 1.15.0 to 1.15.1 (#2854)

Bumps [github.com/zclconf/go-cty](https://github.com/zclconf/go-cty) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/zclconf/go-cty/releases)
- [Changelog](https://github.com/zclconf/go-cty/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zclconf/go-cty/compare/v1.15.0...v1.15.1)

---
updated-dependencies:
- dependency-name: github.com/zclconf/go-cty
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Implements extra API Calls for AdvancedCluster TPF (#2852)

* chore: Add support for ExtraAPIInfo in TFModel to find replication_specs.*.container_id

* feat: Initial /tenantUpgrade logic

* refactor: Fix zoneName default for legacy schema

* address PR comments part 1

* use explicit code instead of comments

Co-authored-by: Leo Antoli <[email protected]>

* chore: remove comments and fix suggested change commit

* chore: remove comment

* address PR comments 2

* test: hard code extra container response

---------

Co-authored-by: Leo Antoli <[email protected]>

* build(deps): bump go.mongodb.org/atlas-sdk (#2856)

Co-authored-by: lantoli <[email protected]>

* update Go and linter (#2857)

* chore: Ensures that MoveState works in all supported TF versions (#2858)

* rename adv schema files

* run MoveState matrix in GH

* run MoveState tests only if TF version is at least 1.8.0

* revert change

* clarify doc

* only if above 1.8

* extract acc.CheckExistsCluster and use it in both cluster and adv_cluster (#2860)

* chore: Updates repository to use supported Terraform versions (#2861)

Co-authored-by: maastha <[email protected]>

* chore: Enables all tests for TPF (#2862)

* ConvertToTPFAttrsMap

* use ConvertToTPFAttrsMap

* move TPF test help funcs to the same file

* acc.ConvertToTPFAttrsMap returns the attrs instead of mutating the input

* ConvertToTPFAttrsSet

* delete all SkipIfAdvancedClusterV2Schema except the ones already tried

* adjust datasource checks

* use ConvertAdvancedClusterToTPF(

* refactor attrNameToSchemaV2

* skip some tests

* skip more tests

* add use_replication_spec_per_shard to data source schema

* more tests skipped

* don't use dynamic blocks so it can work in TPF as well

* missing quotes

* fix dynamic block extract

* enable mig tests

* skip specific mig tests

* fix mig tests

* skip TestMigAdvancedCluster_asymmetricShardedNewSchema

* chore: Adds equivalent CRUD logic for Advanced Cluster TPF (#2855)

* chore: remove immediate TODOs from schema

* feat: Support retainBackups usage

* refactor: Update API info handling and remove legacy schema references

* feat: Enhance legacy ID handling in replication specs and update related functions

* feat: Add validation for oplog_size_mb attribute in AdvancedConfigurationSchema

* remove more todos

* test: deleted unused diff files

* feat: Support only updating advanced_configuration in update

* feat: Add validation for MongoDB version compatibility in advanced configuration

* chore: fix comment location

* feat: support partial updates and fix advanced_config updates

* perf: Support re-using /containers response based on cloud provider

* refactor: Remove all UseStateForUnknown

* refactor: Always read advanced_configuration, even when there are no changes. Even though plan has no changes with state, we cannot be sure that something has changed externally, better to ensure state always have the latest values

* refactor: improve schema validation and plan modifiers

* fix: address PR comments

* fix: pause set on create

* fix: set default value for changeStreamOptionsPreAndPostImagesExpireAfterSeconds to -1 when unset by user and handle `null` reponse from API

* Revert "refactor: Always read advanced_configuration, even when there are no changes. Even though plan has no changes with state, we cannot be sure that something has changed externally, better to ensure state always have the latest values"

This reverts commit c73d938542126586ea124431346ad4777c875f1c.

* feat: Adds new `advanced_configuration.0.default_max_time_ms` attribute to `mongodbatlas_advanced_cluster` resource and data sources (#2825)

* chore: Updates CHANGELOG.md for #2825

* chore: Updates Atlas Go SDK (#2870)

* build(deps): bump go.mongodb.org/atlas-sdk

* fix breaking changes

---------

Co-authored-by: lantoli <[email protected]>

* chore: Enables paused on create test (#2867)

* feat: Support `pinned_fcv` attribute in advanced_cluster resource and data sources (#2789)

* wip

* support pinning with and without expiration date

* add support for unpinning on update

* commented code for handling validation

* make expiration date required

* add waiting before continueing with other updates

* handle fcv during creation

* add support for singular data source

* add in plural data source

* add changelog entry

* add in cluster tpf schema

* include docs for fcv

* adding warning to provide reduce possibility of re-applying fcv

* adding acceptance test

* adjust changelog entry file

* specify date format in docs

* add step to verify incorrect format

* add skipping in advanced_cluster tpf

* add tpf limited implementation

* adjust test and fix in plural data source to capture upgrade and downgrade

* handle warning when expiration date has passed

* add knowledge hub article reference

* adding example

* fix example formatting

* add changelog for mongo_db_major_version fix

* applying doc review changes

* adding link to new docs page

* applying doc review changes

* pr review comments

* extract checks into unified function

* minor refactors

* chore: Updates CHANGELOG.md for #2789

* chore: Supports setting `retain_backups_enabled` in adv_cluster TPF (#2866)

* chore: Refactor advanced cluster tests and enhance compatibility handling for RetainBackupsEnabled

* chore: Skip Migration tests and adjust checks to be compatible

* chore: Update disk IOPS attribute handling for TPF compatibility and expose  AttrNameToSchemaV2

* Update internal/testutil/acc/advanced_cluster_schema_v2.go

Co-authored-by: Leo Antoli <[email protected]>

* chore: Fix formatting in AttrNameToSchemaV2 function for consistency

* chore: Rename function to better reflect its purpose in handling attribute state

---------

Co-authored-by: Leo Antoli <[email protected]>

* doc: Updates Terraform Compatibility Matrix documentation (#2837)

Co-authored-by: maastha <[email protected]>

* feat: Support `pinned_fcv` in attribute in cluster resource and data sources (#2817)

* add resource and data source implementations

* apply docs changes

* reuse checks from advanced cluster test for fcv pinning

* simplify if

* chore: Updates CHANGELOG.md for #2817

* chore: Bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#2881)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.29.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Updates repository to use supported Terraform versions (#2883)

Co-authored-by: maastha <[email protected]>

* chore: Makes test checks valid for SDKv2 and TPF (#2882)

* enable data source tests removing calls to AdvancedClusterV2Schema

* schemav2 helper check funcs

* skip data sources checks in tpf

* rename funcs to use schemav2 naming

* implement check funcs for schema v2

* testCheckFuncAlwaysPass

* move ConvertAdvancedClusterToSchemaV2 to config funcs

* avoid relying on resource id and instead on attribute directly

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: Oriol Arbusi <[email protected]>
Co-authored-by: Leo Antoli <[email protected]>
Co-authored-by: carriecwk <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: cveticm <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Sérgio Silva <[email protected]>
AgustinBettati added a commit that referenced this pull request Dec 16, 2024
…uster` (#2891)

* feat: Adjust `mongodbatlas_advanced_cluster` update operation to use latest sdk (#2814)

* change API call version

* removed temporary 20240805 functions and adjust create operation

* added changelog

* adjusted comments

* Implements review feedback

* feat: Ensures asymmetric auto-scaling is not defined in the cluster when using the old sharding configuration in `mongodbatlas_advanced_cluster` (#2836)

* use old API when the old schema structure is used

* changelog

* changelog fix

* add feature to adv_cluster tpf todo

* pr comments

* test: Add tests for `mongodb_advanced_cluster` covering transitions to auto-scaling mode (#2851)

* implement GetIndependentShardScalingMode

* add tests

* add comment on fixed version

* use base url from env variable to make tests work in QA

* chore: Refactor read operation in 'mongodb_advanced_cluster' (#2839)

* Initial implementation

* Removes redundant comments

* Moves old shard config flatten logic to keep generic flatten function

* Removes redundant comments

* Adds testing to GetReplicationSpecAttributesFromOldAPI

* Adds unit testing and fixes comments

* Fixes lint

* Changes names OldShardConfig to OldShardingConfig and removes redundant DS function

* Adds comments

* Changes test name

* move OldShardConfigMeta to model file

---------

Co-authored-by: Oriol Arbusi <[email protected]>

* test: Refactor tests for `mongodb_advanced_cluster` covering transitions to auto-scaling mode  (#2863)

* refactor tests

* cover geo sharded case

* temp: change to run tests in CI

* chore: Refactors read operation of `mongodbatlas_advanced_cluster` data sources (#2859)

* refactor read operation of data sources to be like the resource read operation

* wip:fix test

* Revert "wip:fix test"

This reverts commit 990d88cd0bb0785289b5068be0ea94d6db5903a6.

* small cleanup

* fix

* handle ASYMMETRIC_SHARD_UNSUPPORTED

* fix unit test

* simplify if

* handle ASYMMETRIC_SHARD_UNSUPPORTED in singular data source as was done in previous implementation

* Revert "handle ASYMMETRIC_SHARD_UNSUPPORTED in singular data source as was done in previous implementation"

This reverts commit 439f7fe7d32022f3de510bdcdc4d95a2b3f1e2be.

* fix error handling

* adapt test

* final changes

* pr comments

* pr

* fix test

* typo

* test check

* mig test skip

* doc: Adjusting `advanced_cluster` documentation reflecting changes in how auto scaling properties work (#2873)

* auto_scaling doc improvements

* add mention of independent shard scaling in autoscaling attribute

* add mention for replication_spec id

* unify note on automatic changes to reduce verbosity

* wording change

* clarify that empty string is encountered

* doc: Adjusting new sharding configuration migration guide with auto-scaling considerations + examples (#2879)

* adjust new sharding configuration migration guide with autoscaling considerations, as well as an example

* minor working fix

* fmt fix

* minor edit

* apply doc review changes

* chore: Merge latest changes in master into auto-scaling per shard dev branch (#2886)

* chore: Updates Atlas Go SDK (#2805)

* build(deps): bump go.mongodb.org/atlas-sdk

* fix breaking changes

---------

Co-authored-by: wtrocki <[email protected]>
Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Continues with data source schema auto-generation (#2815)

* schema_generation

* resource policy

* plural datasource for resource_policy

* encryption_at_rest_private_endpoint

* extract project resource schema to resource_schema.go

* project

* rename to resource_project_schema.go

* Update docs/data-sources/stream_processor.md

Co-authored-by: carriecwk <[email protected]>

* Update docs/data-sources/stream_processors.md

Co-authored-by: carriecwk <[email protected]>

* Update docs/data-sources/stream_processors.md

Co-authored-by: carriecwk <[email protected]>

* Update internal/service/streamprocessor/data_source_schema.go

Co-authored-by: carriecwk <[email protected]>

* Update internal/service/streamprocessor/data_source_schema.go

Co-authored-by: carriecwk <[email protected]>

* fix schema admin reference

* apply feedback

* stream_instance

* fix project

* remove checks

* project_ip_access timeout as attribute

* project_ip_access_list

* stream_connection

* update templates

* remove checks

* changelog

* apply feedback

---------

Co-authored-by: carriecwk <[email protected]>

* chore: Updates CHANGELOG.md for #2815

* chore: Bump github.com/hashicorp/terraform-plugin-testing (#2809)

Bumps [github.com/hashicorp/terraform-plugin-testing](https://github.com/hashicorp/terraform-plugin-testing) from 1.9.0 to 1.11.0.
- [Release notes](https://github.com/hashicorp/terraform-plugin-testing/releases)
- [Changelog](https://github.com/hashicorp/terraform-plugin-testing/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/terraform-plugin-testing/compare/v1.9.0...v1.11.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/terraform-plugin-testing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Reverts changes to project data source (#2818)

* remove changelog

* revert files

* chore: Updates CHANGELOG.md for #2818

* feat: Adds `mongodbatlas_flex_cluster` resource and data sources (#2816)

* use SDK dev-preview

* chore: Generate Flex Cluster file structure and resource schema  (#2702)

* generate resource and schema

* pr comments

* correct Map

* feat: Implements `mongodbatlas_flex_cluster` resource (#2716)

* create implementation

* read implementation

* update and delete implementation

* Implement model

* schema refactor

* format

* wip: model tests

* initial model test

* test for NewTFModel

* Test NewAtlasCreateReq

* test NewAtlasUpdateReq

* fix tests

* refactor for tags

* fixes

* implement import

* simplify update

* basic acceptance test

* wip: acc tests

* fix model test

* final changes on tests

* changelog entry

* add resource to fallback template

* Update .changelog/2716.txt

Co-authored-by: Agustin Bettati <[email protected]>

* set resource to preview

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Enable mongodbatlas_flex_cluster test in CI (#2720)

* create implementation

* read implementation

* update and delete implementation

* initial model test

* Test NewAtlasCreateReq

* fixes

* changelong and fix to acceptance-tests-runner.yml

* fix to changelog

* removed changelog

* resolve rebase issue

* fix to implementation

* change test to use existing project id

* Adjusting predeployed project id name and added preview enable

* fix the naming convension of env var

---------

Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Generate Flex Cluster data source file and schemas (#2725)

* generate data source file and schema for singular Flex Cluster

* Generate plural data source schema

* Changing type of tags in schema

* Fix to data source schema

* chore: Adds state transition logic to mongodbatlas_flex_cluster resource (#2721)

* implements state transition

* use state transition in create, update and delete

* PR comments

* chore: Update operation improvements for `mongodbatlas_flex_cluster` resource (#2729)

* schema refactors

* revert rename

* implement isUpdateAllowed

* failed update test case

* refactor equal checks

* make more exhaustive the failed update test

* remove UseStateForUnknown in state_name

* wip: use plan modifier for non updatable fields

* wip: use plan modifiers on all non updatable attributes

* use plan modifiers to fail on update of certain attributes

* rename planmodifier

* simplify planmodifier

* PR comments

* remove attribute parameter

* markdowndescription over description

* test: Enable mongodbatlas_flex_cluster tests in QA environment (#2741)

* feat: Implements and tests `mongodbatlas_flex_cluster` data source (#2738)

* Implementing read funciton in data source

* Acc test for data source

* Added changelog

* implementing review suggestions

* fix to rebase

* Adjusting default timeout of `flex_cluster` to 3 hours (#2757)

* chore: Rebase dev_branch onto master_branch (#2764)

* feat: Adds `is_slow_operation_thresholding_enabled` attribute to `mongodbatlas_project` (#2698)

* feat: Initial support for is_slow_operation_thresholding_enabled

* test: fix test cases

* chore: add changelog entry

* test: Add extra check for plural data source

* refactor: only set SetSlowOperationThresholding once during update

* chore: fix lint error

* fix: need to set SetSlowOperationThresholding before reading project props from API

* chore: address PR comment

* doc: Add documentation for `is_slow_operation_thresholding_enabled` to project (#2700)

* chore: Updates CHANGELOG.md for #2698

* chore: Use `qa` for TestSuite on Sundays (#2701)

* build(deps): bump go.mongodb.org/atlas-sdk (#2705)

Co-authored-by: lantoli <[email protected]>

* wait in second test (#2707)

* chore: Supports running Test Suite in QA on sundays (#2711)

* Revert "chore: Use `qa` for TestSuite on Sundays (#2701)"

This reverts commit 942e0977c2d299ccdd3d0d10179ef240e3351871.

* chore: Supports running qa only on Sundays

* address PR comments

* refactor: move job to steps of variables

* chore: Add top level description

* chore: Adds SDK Preview (#2713)

* add client

* SDK update GHA

* simulate Preview update

* example of use for Admin Preview

* Revert "example of use for Admin Preview"

This reverts commit c5edef52847034af8cdb5daf7310743ed630f801.

* rename adminPreview to adminpreview in client

* example of use of SDK Preview

* reverse example

* go mod tidy

* build(deps): bump go.mongodb.org/atlas-sdk (#2715)

Co-authored-by: lantoli <[email protected]>

* ci: fix env-vars for azure QA (#2709)

* doc: Advanced Cluster Differences and TF Core Upgrades  (#2633)

* adv cluster differences doc updates

* Update docs/index.md

* Update index.md

* Update advanced_cluster.md

* Update advanced_cluster.md

* Update advanced_cluster.md

* Update cluster.md

* Update docs/index.md

Co-authored-by: maastha <[email protected]>

* Update docs/resources/cluster.md

Co-authored-by: maastha <[email protected]>

* Update docs/resources/cluster.md

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

* Update advanced_cluster.md

* Update cluster-to-advanced-cluster-migration-guide.md

---------

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

* revert SDK preview changes (#2719)

* fix: Fixes inconsistent result when using a multi-region cluster by always using a single spec (#2685)

* fix: Initial workaround for multiple specs issuing a warning of spec missmatch

* fix: can only use multiple specs in data source (schema limitation)

* test: Add a test to confirm multi-region cluster can be used with search deployment

* chore: changelog file

* chore: fix test enum value

* chore: revert timeout changes

* Update .changelog/2685.txt

Co-authored-by: kanchana-mongodb <[email protected]>

---------

Co-authored-by: Leo Antoli <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>

* chore: Updates CHANGELOG.md for #2685

* chore: Updates examples link in index.md for v1.21.2 release

* chore: Updates CHANGELOG.md header for v1.21.2 release

* fix TestAccBackupSnapshotExportJob_basic (#2723)

* chore: Bump github.com/hashicorp/terraform-plugin-framework-validators (#2727)

Bumps [github.com/hashicorp/terraform-plugin-framework-validators](https://github.com/hashicorp/terraform-plugin-framework-validators) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/hashicorp/terraform-plugin-framework-validators/releases)
- [Changelog](https://github.com/hashicorp/terraform-plugin-framework-validators/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/terraform-plugin-framework-validators/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/terraform-plugin-framework-validators
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Fixes `mongodbatlas_project` when user doesn't have project owner permission  (#2731)

* update doc

* add deprecated message

* changelog

* deprecate params

* initial TestAccProject_slowOperationNotOwner

* update version to 1.24.0

* changeRoles

* Revert "changeRoles"

This reverts commit c8ba3c84c2e419d468be1135b5bf408961f8f92a.

* Revert "initial TestAccProject_slowOperationNotOwner"

This reverts commit d1473711e888887ab5e3991f3cd7314ec52a23e2.

* don't update the value if it's in Create so value is unknown

* pass warnings

* Update internal/service/project/resource_project.go

Co-authored-by: Marco Suma <[email protected]>

* apply feedback in doc

* clarify docs

---------

Co-authored-by: Marco Suma <[email protected]>

* chore: Updates CHANGELOG.md for #2731

* chore: Merging schema generation internal tool PoC into master branch (#2735)

* feat: Adds initial schema and config models for PoC - Model generation  (#2638)

* update computability type (#2668)

* chore: PoC - Model generation - support primitive types at root level (#2673)

* chore: PoC - Schema code generation - Initial support of primitive types (#2682)

* initial commit with schema generation function and test fixture

* small changes wip

* include specific type generators

* handling element types and imports

* remove unrelated file

* extract template logic to separate file

* small revert change

* extract import to const

* follow up adjustments from PR comments and sync with Aastha

* chore: PoC - Schema code generation - Supporting nested attributes  (#2689)

* support nested attribute types

* rebasing changes related to unit testing adjustment

* chore: PoC - Model generation - Supporting nested schema (List, ListNested, Set & SetNested) (#2693)

* chore: PoC - Model generation - Supporting nested schema (objects - Map, MapNested, SingleNested Attributes) (#2704)

* chore: PoC - Schema code generation - Supporting generation of typed model (#2703)

* support typed model generation inlcuding root and nested attributes

* minor fix for type of types map

* add clarifying comment

* improve name of generated object types, refactor function naming for readability

* fix list map and set nested attribute generation (#2708)

* chore: PoC - Model generation - support config aliases, ignores, and description overrides (#2712)

* chore: PoC - Define make command to call code generation logic (#2706)

* wip

* iterating over all resources

* add config for search deployment

* update golden file test with fix in package name

* use xstring implementation for pascal case

* simplify write file logic

* merge fixes

* chore: PoC - Support configuration of timeout in schema (#2717)

* wip

* rebase fixes

* fix logic avoiding adding timeout in nested schemas

* fix generation

* fix enum processing

* fix golden file in timeout test

* comment out unsupported config properties

* simplify interfaces for attribute generation leaving common code in a separate function

* chore: PoC - handle merging computability in nested attributes (#2722)

* adjusting contributing guide (#2732)

---------

Co-authored-by: maastha <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>

* doc: Adds documentation for `replication_specs.*.external_id` computed attribute for `mongodbatlas_advanced_cluster`  (#2734)

* adds M0 (#2730)

* docs: Remove legacy project_id attribute in docs as it has been removed (#2733)

* chore: Updates examples link in index.md for v1.21.3 release

* chore: Updates CHANGELOG.md header for v1.21.3 release

* chore: Unify file name for plural data source schema (#2739)

* change name

* fix name

* rename to plural_data_source.go

* check cluster creation times (#2728)

* fix: Adds new attribute `results` and deprecates `resource_policies` for `mongodbatlas_resource_policies` data source (#2740)

* new attribute results and deprecate resource_policies

* changelog entry

* change test to check new attribute

* fix changelog

* changelog fix

* fix docs

* Update .changelog/2740.txt

Co-authored-by: Leo Antoli <[email protected]>

* migration test

* skip mig test until next version

* fix comment

---------

Co-authored-by: Leo Antoli <[email protected]>

* chore: Updates CHANGELOG.md for #2740

* build(deps): bump go.mongodb.org/atlas-sdk (#2745)

Co-authored-by: wtrocki <[email protected]>

* fix: Fixes change assigments in `mongodbatlas_project_api_key` (#2737)

* fix changed assigments

* fix TestAccProjectAPIKey_updateRole

* changelog

* join configMultiple to configBasic

* don't allow duplicate projectIDs

* fix TestAccProjectAPIKey_dataSources

* refactor Create

* refactor getAPIProjectAssignments and flattenProjectAssignments

* refactor Read

* refactor Delete

* fix TestAccProjectAPIKey_recreateWhenDeletedExternally

* refactor Import

* remove flattenProjectAssignments, flattenProjectAPIKeyRoles and getAPIProjectAssignments

* fix plural ds

* fix basicTestCase

* refactor Update description

* refactor Update

* refactor expandProjectAssignments

* update changelog

* initial checkAggr

* checkExists

* delete redundant TestAccProjectAPIKey_dataSources

* refactor configDuplicatedProject

* refactor configChangingProject

* model file

* more detailed changelog

* revert import

* doc

* refactor checks

* chore: Updates CHANGELOG.md for #2737

* chore: Updates examples link in index.md for v1.21.4 release

* chore: Updates CHANGELOG.md header for v1.21.4 release

* chore: Support computability override in schema generation config (#2743)

* test without parsing config options

* add support for override of computability in config

* refactor tests removing redudant code

* extract common api spec path, handle computed only case

* chore: Bump crazy-max/ghaction-import-gpg from 6.1.0 to 6.2.0 (#2754)

Bumps [crazy-max/ghaction-import-gpg](https://github.com/crazy-max/ghaction-import-gpg) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/crazy-max/ghaction-import-gpg/releases)
- [Commits](https://github.com/crazy-max/ghaction-import-gpg/compare/01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4...cb9bde2e2525e640591a934b1fd28eef1dcaf5e5)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-import-gpg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/setup-go from 5.0.2 to 5.1.0 (#2753)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32...41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/pb33f/libopenapi from 0.18.1 to 0.18.6 (#2750)

Bumps [github.com/pb33f/libopenapi](https://github.com/pb33f/libopenapi) from 0.18.1 to 0.18.6.
- [Release notes](https://github.com/pb33f/libopenapi/releases)
- [Commits](https://github.com/pb33f/libopenapi/compare/v0.18.1...v0.18.6)

---
updated-dependencies:
- dependency-name: github.com/pb33f/libopenapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump tj-actions/verify-changed-files (#2751)

Bumps [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) from 54483a2138ca67989bc40785aa22faee8b085894 to 530d86d0a237225c87beaa000750988f8965ee31.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/compare/54483a2138ca67989bc40785aa22faee8b085894...530d86d0a237225c87beaa000750988f8965ee31)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/checkout from 4.2.1 to 4.2.2 (#2752)

* chore: Bump actions/checkout from 4.2.1 to 4.2.2

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871...11bd71901bbe5b1630ceea73d27597364c9af683)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Trigger Build

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leo Antoli <[email protected]>

* chore: Automatically updates Terraform version used in repository and test-suite (#2755)

* rename workflow (#2761)

* chore: Updates Atlas Go SDK (#2748)

* build(deps): bump go.mongodb.org/atlas-sdk

* Pin cluster POST and PATCH operations to 2024-08-05 avoiding any unintentional shard level autoscaling

* unifying version clarification in comments

* use sdk utility function for checking error code value

* adjust conditional of error checking preserving behaviour

---------

Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Generate Flex Cluster file structure and resource schema  (#2702)

* generate resource and schema

* pr comments

* correct Map

* feat: Implements `mongodbatlas_flex_cluster` resource (#2716)

* create implementation

* read implementation

* update and delete implementation

* Implement model

* schema refactor

* format

* wip: model tests

* initial model test

* test for NewTFModel

* Test NewAtlasCreateReq

* test NewAtlasUpdateReq

* fix tests

* refactor for tags

* fixes

* implement import

* simplify update

* basic acceptance test

* wip: acc tests

* fix model test

* final changes on tests

* changelog entry

* add resource to fallback template

* Update .changelog/2716.txt

Co-authored-by: Agustin Bettati <[email protected]>

* set resource to preview

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Enable mongodbatlas_flex_cluster test in CI (#2720)

* create implementation

* read implementation

* update and delete implementation

* initial model test

* Test NewAtlasCreateReq

* fixes

* changelong and fix to acceptance-tests-runner.yml

* fix to changelog

* removed changelog

* resolve rebase issue

* fix to implementation

* change test to use existing project id

* Adjusting predeployed project id name and added preview enable

* fix the naming convension of env var

---------

Co-authored-by: Oriol Arbusi <[email protected]>

* chore: Generate Flex Cluster data source file and schemas (#2725)

* generate data source file and schema for singular Flex Cluster

* Generate plural data source schema

* Changing type of tags in schema

* Fix to data source schema

* chore: Adds state transition logic to mongodbatlas_flex_cluster resource (#2721)

* implements state transition

* use state transition in create, update and delete

* PR comments

* chore: Update operation improvements for `mongodbatlas_flex_cluster` resource (#2729)

* schema refactors

* revert rename

* implement isUpdateAllowed

* failed update test case

* refactor equal checks

* make more exhaustive the failed update test

* remove UseStateForUnknown in state_name

* wip: use plan modifier for non updatable fields

* wip: use plan modifiers on all non updatable attributes

* use plan modifiers to fail on update of certain attributes

* rename planmodifier

* simplify planmodifier

* PR comments

* remove attribute parameter

* markdowndescription over description

* test: Enable mongodbatlas_flex_cluster tests in QA environment (#2741)

* feat: Implements and tests `mongodbatlas_flex_cluster` data source (#2738)

* Implementing read funciton in data source

* Acc test for data source

* Added changelog

* implementing review suggestions

* fix to rebase

* Adjusting default timeout of `flex_cluster` to 3 hours (#2757)

* fixing imports

* Adopting latest preview SDK version

* fix flex varibale names after bump

* fix atlasuser - set to continue using older SDK version

* Fix to variable type names in flex unit test

* fix duplicate

* fix to api call in atlasUser tests

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: lantoli <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: Oriol <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>

* feat: Implements `mongodbatlas_flex_cluster` plural data source (#2767)

* Fix naming convensions in plural DS schema

* Implementing plural DS read function

* testing and plural ds model

* fixes after rebase

* additional unit testing for model

* changelog

* lint fix

* removing parellel testing

* implemented review feedback

* lint fix

* chore: Improvements to SDK version update (#2770)

* comment use of older API version in atlasUser

* add connv220240805 to factory.go

* doc: Adds documentation and example for mongodbatlas_flex_cluster resource and data source (#2744)

* wip: docs and example (missing data source

* change version to make the CI check successful

* fmt

* regenerate

* data source examples

* readme created - to adjust preview feature note on release of flex to prod

* data source templates

* fix typo

* generate data source documentation

* fix to flex_cluster example

* fix to flex_cluster example

* fix to generated docs

* Added flex to dedicated migration guide

* fix typo

* Implementing feedback and improving flex-dedicated migratoin guide

* adjust flex example README.md

* fix to example

---------

Co-authored-by: Melanija Cvetic <[email protected]>

* deprecate: Deprecates Serverless functionality (#2742)

* deprecates serverless functionality

* documentation

* deprecate attributes in data sources

* set link to migration guide with supported migration paths

* doc: Adds migration guides to transition out of Serverless and Shared-tier clusters (#2746)

* wip: migration guides

* add details on 1.22 guide

* remove guide, will be in resource docs

* wip: correct details on 1.22 guide

* added migration guide for serverless to flex and serverless to dedicated

* added migration guide for shared-tier to flex

* added migration guide for serverless to free

* implementing review feedback

* implementing feedback to guide

* changes to migration guide

* Adjustments to migration guides

* put URL instead of placeholder

* move post before pre autoconversion guides, clarify serverless to dedicated

* pr comment

* pr comments

* Update docs/guides/1.22.0-upgrade-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/1.22.0-upgrade-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: lmkerbey-mdb <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: cveticm <[email protected]>

* Update docs/guides/serverless-shared-migration-guide.md

Co-authored-by: cveticm <[email protected]>

---------

Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>
Co-authored-by: cveticm <[email protected]>

* chore: Removes mentions and examples of Serverless and Shared-tier instances (#2811)

* wip remove mentions of serverless and shared tier

* remove examples from template for serverless privatelink

* change from M5 to M0 for tenant examples of adv cluster

* add note on M0

* chore: Refactor tags attribute schema and conversion logic (#2788)

* Implements tag as common function

* Refactor project and flex cluster to use new common tag functions

* fix to testing and lint

* fix changelog entry

* january or later for shared tier autoconversion

* auto-generate singular data source, temporarily with checks

* remove singular data source check

* update Description in plural data source

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Agustin Bettati <[email protected]>
Co-authored-by: cveticm <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: lantoli <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>

* chore: Updates CHANGELOG.md for #2816

* fix: Adds changelog for decreased delay in `mongobatlas_privatelink_endpoint_service` (#2819)

* Adds changelog

* Fix to changelog

* Fix to changelog

* chore: Updates CHANGELOG.md for #2819

* chore: Adds initial TPF implementation for advanced_cluster (#2813)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* build(deps): bump go.mongodb.org/atlas-sdk (#2823)

Co-authored-by: wtrocki <[email protected]>

* fix: Fixes tags in `mongodbatlas_flex_cluster` (#2829)

* fix tags

* add tests

* fix

* chore: Updates examples link in index.md for v1.22.0 release

* chore: Updates CHANGELOG.md header for v1.22.0 release

* doc: Add preview notice in `mongodbatlas_flex_cluster` docs (#2830)

* preview notice

* small fix

* chore: Bump github.com/wI2L/jsondiff from 0.6.0 to 0.6.1 (#2835)

Bumps [github.com/wI2L/jsondiff](https://github.com/wI2L/jsondiff) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/wI2L/jsondiff/releases)
- [Changelog](https://github.com/wI2L/jsondiff/blob/master/.goreleaser.yml)
- [Commits](https://github.com/wI2L/jsondiff/compare/v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: github.com/wI2L/jsondiff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump actions/checkout from 4.2.1 to 4.2.2 (#2833)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...11bd71901bbe5b1630ceea73d27597364c9af683)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Update tj-actions/verify-changed-files requirement to 530d86d0a237225c87beaa000750988f8965ee31 (#2832)

Updates the requirements on [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) to permit the latest version.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/commits/530d86d0a237225c87beaa000750988f8965ee31)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump srvaroa/labeler from 1.11.1 to 1.12.0 (#2831)

Bumps [srvaroa/labeler](https://github.com/srvaroa/labeler) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/srvaroa/labeler/releases)
- [Commits](https://github.com/srvaroa/labeler/compare/29471ee1118fa4e10b011964e6e8fe2fd243e700...fe4b1c73bb8abf2f14a44a6912a8b4fee835d631)

---
updated-dependencies:
- dependency-name: srvaroa/labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#2834)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump slackapi/slack-github-action from 1.27.0 to 2.0.0 (#2810)

* chore: Bump slackapi/slack-github-action from 1.27.0 to 2.0.0

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.27.0 to 2.0.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/37ebaef184d7626c5f204ab8d3baff4262dd30f0...485a9d42d3a73031f12ec201c457e2162c45d02d)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: Adjusting how webhook-type is provided in new slack-github-action 2.0 version

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Agustin Bettati <[email protected]>

* chore: Updates repository to use supported Terraform versions (#2838)

Co-authored-by: maastha <[email protected]>

* chore: Test converter for TPF (#2822)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* enable TestAccClusterAdvancedCluster_basicTenant in TPF

* initial unit test

* AssertEqualHCL

* AssertEqualHCL tests

* call ConvertAdvancedClusterToTPF from tests

* update go-cty

* use more complex test

* passing TestConvertAdvancedClusterToTPF

* refactor

* revert go.mod & go.sum

* revertgithub.com/hashicorp/terraform-plugin-testing to v1.11.0

* go mod tidy

* getBlockBody

* enable env var

* test without env

* CheckDestroyCluster for TPF

* don't check exists or data sources yet

* import tests in TPF

---------

Co-authored-by: Espen Albert <[email protected]>

* test: Adds support for mocked-acceptance-tests (#2820)

* initial create operation

* initial resource implementation

* support returning nil when advanced config fields are null

* test: Add support for overriding http round tripper to allow mocking http request/responses

* minor error renaming

* remove mocked responses

* test: initial TestAdvancedCluster_configSharded requests

* chore: use same admin version as existing cluster

* mock: allow re-reading GETs

* test: support raising error when mock variables are not set

* fix: don't dump GroupID in cluster payloads

* test: update test case to match existing

* refactor: use full request.id() to keep aligned with generator format (differentiate requests with the distinct payloads)

* fix: add `computed` to adv_cluster attributes to avoid provider errors

* test: minor mock fixes

* feat: support state transitions and pause logic

* chore: test data updates

* test: Support overriding diff files by using `_manual` suffix

* style: fmt

* test: delete old mock files

* test: rename basic to replicast

* fix: Deleted should support IDLE --> DELETED

* fix: cluster name update requires replace

* test: Add tenant test case

* chore: include provider changes

* fix(move_state): Use ValueString() and do a proper conversion

* test: Support mocking test case

* refactor: use new `unit.MockTestCase` to simplify resource_test.go

* test: Introduce "live" acceptance test for tpf

* refactor: re-use existing retry strategy states

* refactor: introduce constant.error_codes

* refactor: minor cleanups

* test: Refactor MockTestCase to also run and support setting TF_ACC dynamically

* chore: increase unit test timeout to enable tpf unit tests

* minor improvements

* unit test timeout increase. Used 75s locally

* ci: support running mocked acceptance tests as part of advanced_cluster_tpf job

* ci: as of now, advancedclustertpf unit tests cannot run as part of normal unit test since the resource is not added in provider

* test: Skip broken move_state_tests

* minor fix

* chore: fix imports to latest SDK

* estetic change to workflow file

* refactor: Use provider_mock instead of customizing existing provider (revert all changes to client.go and provider.go

* address PR comments

* use `diags` instead of returning summary, detail

* only removeResource in read

* address immediate PR comments

* refactor: Use a higher abstraction level in update

* refactor: Return TFModel to make purpose more explicit

* refactor: Replace awaitChanges method with AwaitChanges function for improved clarity and consistency

* apply suggestion

* chore: Add step count assertion

* refactor: move out all the unit tests and mocked unit test logic

* remove: accidental provider changes

* remove last changes for unit tests

* test: Add support for mocked acceptance tests

* test: Support maintaining response order with responseIndex

* test: update test data for adv cluster unit tests

* test: mocker use colored diffs and support empty payloads in diffs

* update mocker test data

* test: Add check for AllowReReading

* test: Add labels and tags to mock cluster JSON test data

* update old guides (#2842)

* chore: Includes the rest of blocks in TPF test converter (#2841)

* don't remove double lines

* enable TestAccClusterAdvancedCluster_withTags

* tests for labels and tests

* label and tags converter

* common generateAllAttributeSpecs

* change getVal return type

* simplify generateAllAttrSpecs call

* don't run data source checks for TPF yet

* test for advanced_configuration

* converter for advanced_configuration

* bi_connector_config transform

* test for bi_connector_config

* fix tests

* make explicit dependency from ds

* Fix error message typo (#2843)

When there's an error setting the `private_key`, it should output an error message mentioning `private_key` instead of `public_key`

* chore: Plural data sources in TPF leveraging on resource data source (#2844)

* PluralDataSourceSchemaFromResource

* flexcluster

* flexcluster doc

* overridenFields and overridenRootFields in PluralDataSourceSchemaFromResource

* advancedclustertpf

* encryptionatrestprivateendpoint

* resourcepolicy

* streamconnection

* streaminstance

* fix TestPaginatedDSSchema

* streamprocessor

* remove checks and unneeded code

* doc feedback

* use struct for params

* chore: Environment variable to enable dual schema (#2847)

* LatestAdvancedClusterEnabled

* TEMPORARY check allowLatestAdvancedClusterEnabled is caught

* Revert "TEMPORARY check allowLatestAdvancedClusterEnabled is caught"

This reverts commit 1694766b9884cfc3d501e1c210b2bd6154eccd50.

* configure resource

* make goal

* CI config

* use config.LatestAdvancedClusterEnabled

* TEMPORARY check converter is caught

* Revert "TEMPORARY check converter is caught"

This reverts commit 98c34f37be7beab76f3be7aeb4a1862177497151.

* chore: Adds support for multiple API versions for adv_cluster TPF (#2840)

* feat: Support update.IsEmpty

* initial start of `num_shards` support

* feat: differentiate API Versions used

* chore: formatting

* feat: intial usage of latest admin api

* feat: implement support for num_shards and add legacy compatibility functions for CREATE

* chore: use ordinary diffs instead of colors

* refactor: remove commented-out code

* test: pass static orgID for unit testing

* chore: initial working legacy schema

* minor cleanup before review

* test: Add acceptance test SymmetricShardedOldSchemaDiskSizeGBAtElectableLevel

* feat: enhance disk size handling and normalization in advanced cluster resource

* chore: PatchPayload, support IgnoreInState

* address some PR comments

* chore: Avoid update options (handled in normalize instead)

* test: refresh golden file

* feat: Initial update support using 20240530

* refactor: Always set root disk size

* chore: update to use correct test data

* refactor: always set rootDiskSize

* refactor: update legacy model to include disk size and adjust replication specs handling

* feat: add tests and mock data for symmetric sharded old schema configuration+Handle MongoDBMajor version formatting

* test: fix mock file and remove manual change

* chore: fix broken sharded test

* refactor: minor refactorings

* fix: Address PR comments

* test: Change log message to fatal error for missing steps in request tracker

* address PR comments 2

* wait in each cluster creation (#2848)

* build(deps): bump go.mongodb.org/atlas-sdk (#2849)

Co-authored-by: wtrocki <[email protected]>

* chore: Implements Move State (#2850)

* move state impl

* fix TestAccAdvancedCluster_move_invalid

* TestAccAdvancedCluster_move_not_supported_sdkv2

* apply feedback

* rename env var to MONGODB_ATLAS_ADVANCED_CLUSTER_V2_SCHEMA and associated elements

* rename SkipIfTPFAdvancedCluster to SkipIfAdvancedClusterV2Schema

* parallel tests for move

* add last step so no dangling resources

* chore: Bump tj-actions/verify-changed-files (#2853)

Bumps [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) from 530d86d0a237225c87beaa000750988f8965ee31 to dc57d4518c9e75995e0fff59265333d19a684163.
- [Release notes](https://github.com/tj-actions/verify-changed-files/releases)
- [Changelog](https://github.com/tj-actions/verify-changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/verify-changed-files/compare/530d86d0a237225c87beaa000750988f8965ee31...dc57d4518c9e75995e0fff59265333d19a684163)

---
updated-dependencies:
- dependency-name: tj-actions/verify-changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump github.com/zclconf/go-cty from 1.15.0 to 1.15.1 (#2854)

Bumps [github.com/zclconf/go-cty](https://github.com/zclconf/go-cty) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/zclconf/go-cty/releases)
- [Changelog](https://github.com/zclconf/go-cty/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zclconf/go-cty/compare/v1.15.0...v1.15.1)

---
updated-dependencies:
- dependency-name: github.com/zclconf/go-cty
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Implements extra API Calls for AdvancedCluster TPF (#2852)

* chore: Add support for ExtraAPIInfo in TFModel to find replication_specs.*.container_id

* feat: Initial /tenantUpgrade logic

* refactor: Fix zoneName default for legacy schema

* address PR comments part 1

* use explicit code instead of comments

Co-authored-by: Leo Antoli <[email protected]>

* chore: remove comments and fix suggested change commit

* chore: remove comment

* address PR comments 2

* test: hard code extra container response

---------

Co-authored-by: Leo Antoli <[email protected]>

* build(deps): bump go.mongodb.org/atlas-sdk (#2856)

Co-authored-by: lantoli <[email protected]>

* update Go and linter (#2857)

* chore: Ensures that MoveState works in all supported TF versions (#2858)

* rename adv schema files

* run MoveState matrix in GH

* run MoveState tests only if TF version is at least 1.8.0

* revert change

* clarify doc

* only if above 1.8

* extract acc.CheckExistsCluster and use it in both cluster and adv_cluster (#2860)

* chore: Updates repository to use supported Terraform versions (#2861)

Co-authored-by: maastha <[email protected]>

* chore: Enables all tests for TPF (#2862)

* ConvertToTPFAttrsMap

* use ConvertToTPFAttrsMap

* move TPF test help funcs to the same file

* acc.ConvertToTPFAttrsMap returns the attrs instead of mutating the input

* ConvertToTPFAttrsSet

* delete all SkipIfAdvancedClusterV2Schema except the ones already tried

* adjust datasource checks

* use ConvertAdvancedClusterToTPF(

* refactor attrNameToSchemaV2

* skip some tests

* skip more tests

* add use_replication_spec_per_shard to data source schema

* more tests skipped

* don't use dynamic blocks so it can work in TPF as well

* missing quotes

* fix dynamic block extract

* enable mig tests

* skip specific mig tests

* fix mig tests

* skip TestMigAdvancedCluster_asymmetricShardedNewSchema

* chore: Adds equivalent CRUD logic for Advanced Cluster TPF (#2855)

* chore: remove immediate TODOs from schema

* feat: Support retainBackups usage

* refactor: Update API info handling and remove legacy schema references

* feat: Enhance legacy ID handling in replication specs and update related functions

* feat: Add validation for oplog_size_mb attribute in AdvancedConfigurationSchema

* remove more todos

* test: deleted unused diff files

* feat: Support only updating advanced_configuration in update

* feat: Add validation for MongoDB version compatibility in advanced configuration

* chore: fix comment location

* feat: support partial updates and fix advanced_config updates

* perf: Support re-using /containers response based on cloud provider

* refactor: Remove all UseStateForUnknown

* refactor: Always read advanced_configuration, even when there are no changes. Even though plan has no changes with state, we cannot be sure that something has changed externally, better to ensure state always have the latest values

* refactor: improve schema validation and plan modifiers

* fix: address PR comments

* fix: pause set on create

* fix: set default value for changeStreamOptionsPreAndPostImagesExpireAfterSeconds to -1 when unset by user and handle `null` reponse from API

* Revert "refactor: Always read advanced_configuration, even when there are no changes. Even though plan has no changes with state, we cannot be sure that something has changed externally, better to ensure state always have the latest values"

This reverts commit c73d938542126586ea124431346ad4777c875f1c.

* feat: Adds new `advanced_configuration.0.default_max_time_ms` attribute to `mongodbatlas_advanced_cluster` resource and data sources (#2825)

* chore: Updates CHANGELOG.md for #2825

* chore: Updates Atlas Go SDK (#2870)

* build(deps): bump go.mongodb.org/atlas-sdk

* fix breaking changes

---------

Co-authored-by: lantoli <[email protected]>

* chore: Enables paused on create test (#2867)

* feat: Support `pinned_fcv` attribute in advanced_cluster resource and data sources (#2789)

* wip

* support pinning with and without expiration date

* add support for unpinning on update

* commented code for handling validation

* make expiration date required

* add waiting before continueing with other updates

* handle fcv during creation

* add support for singular data source

* add in plural data source

* add changelog entry

* add in cluster tpf schema

* include docs for fcv

* adding warning to provide reduce possibility of re-applying fcv

* adding acceptance test

* adjust changelog entry file

* specify date format in docs

* add step to verify incorrect format

* add skipping in advanced_cluster tpf

* add tpf limited implementation

* adjust test and fix in plural data source to capture upgrade and downgrade

* handle warning when expiration date has passed

* add knowledge hub article reference

* adding example

* fix example formatting

* add changelog for mongo_db_major_version fix

* applying doc review changes

* adding link to new docs page

* applying doc review changes

* pr review comments

* extract checks into unified function

* minor refactors

* chore: Updates CHANGELOG.md for #2789

* chore: Supports setting `retain_backups_enabled` in adv_cluster TPF (#2866)

* chore: Refactor advanced cluster tests and enhance compatibility handling for RetainBackupsEnabled

* chore: Skip Migration tests and adjust checks to be compatible

* chore: Update disk IOPS attribute handling for TPF compatibility and expose  AttrNameToSchemaV2

* Update internal/testutil/acc/advanced_cluster_schema_v2.go

Co-authored-by: Leo Antoli <[email protected]>

* chore: Fix formatting in AttrNameToSchemaV2 function for consistency

* chore: Rename function to better reflect its purpose in handling attribute state

---------

Co-authored-by: Leo Antoli <[email protected]>

* doc: Updates Terraform Compatibility Matrix documentation (#2837)

Co-authored-by: maastha <[email protected]>

* feat: Support `pinned_fcv` in attribute in cluster resource and data sources (#2817)

* add resource and data source implementations

* apply docs changes

* reuse checks from advanced cluster test for fcv pinning

* simplify if

* chore: Updates CHANGELOG.md for #2817

* chore: Bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#2881)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.29.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Updates repository to use supported Terraform versions (#2883)

Co-authored-by: maastha <[email protected]>

* chore: Makes test checks valid for SDKv2 and TPF (#2882)

* enable data source tests removing calls to AdvancedClusterV2Schema

* schemav2 helper check funcs

* skip data sources checks in tpf

* rename funcs to use schemav2 naming

* implement check funcs for schema v2

* testCheckFuncAlwaysPass

* move ConvertAdvancedClusterToSchemaV2 to config funcs

* avoid relying on resource id and instead on attribute directly

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: Oriol Arbusi <[email protected]>
Co-authored-by: Leo Antoli <[email protected]>
Co-authored-by: carriecwk <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: cveticm <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Sérgio Silva <[email protected]>

* include clarifying comments for when older API versions are used

* remove redundant new line

* revert ordering changes in tpf schema model

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: cveticm <[email protected]>
Co-authored-by: Oriol <[email protected]>
Co-authored-by: svc-apix-Bot <[email protected]>
Co-authored-by: wtrocki <[email protected]>
Co-authored-by: Leo Antoli <[email protected]>
Co-authored-by: carriecwk <[email protected]>
Co-authored-by: svc-apix-bot <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Melanija Cvetic <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Zuhair Ahmed <[email protected]>
Co-authored-by: maastha <[email protected]>
Co-authored-by: Melissa Plunkett <[email protected]>
Co-authored-by: kanchana-mongodb <[email protected]>
Co-authored-by: Marco Suma <[email protected]>
Co-authored-by: Aastha Mahendru <[email protected]>
Co-authored-by: AgustinBettati <[email protected]>
Co-authored-by: lmkerbey-mdb <[email protected]>
Co-authored-by: Espen Albert <[email protected]>
Co-authored-by: Sérgio Silva <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants