Support Swithcover for MySQL and PostgreSQL #9044
Merged
+1,197
−22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
References
Implementation
main change: adding replication_cluster: just copied corresponding filed from API. https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/instances#resource:-databaseinstance . dr_replica is read only, and failover_dr_replica_name is optionally set by customer. To support "deletion" of optional computed resource, we use "NON_EXISTENT" as placeholder for non-existent failover_dr_replica_name in terraform.
isSwitchoverRequested(): just removed restriction on the database type.
isSwitchoverFromOldPrimarySide() also removed restriction on the database type, and checking
isCascadableReplica
only for SQL server (because this concept is SQL server specific).nit: when handling error from PromoteReplica/Swithcover, we use d.Get("name") instead of instance.Name which returns nullptr error.
Tests
failover_dr_replica_name
to validate that "NON_EXISTENT" works correctly.Docs
Release Note Template for Downstream PRs (will be copied)
Derived from GoogleCloudPlatform/magic-modules#12646