hashicorp / terraform-provider-google

Terraform Provider for Google Cloud Platform
https://registry.terraform.io/providers/hashicorp/google/latest/docs
Mozilla Public License 2.0
2.34k stars 1.74k forks source link

Create the "reverse and resume" function within the google provider #20224

Open bones108 opened 6 days ago

bones108 commented 6 days ago

Community Note

Description

At this time, the google_netapp_volume_replication resource does not allow for the reversal of replication via the provider. At this time, NetApp posted that this should be done via the console.

Since reverse and resume can be done via gcloud, this would suggest that the APIs are available to instrument against via the provider. Can this feature be added to the provider so that we perform this function via PR to our Terraform IaC repository?

New or Affected Resource(s)

Potential Terraform Configuration

References

No response

b/378507740

SarahFrench commented 1 day ago

Note from triage: we'd be happy to support 'promote' actions in Terraform, but are unsure about supporting 'reverse and resume'. That action is too imperative to fit into Terraform's declarative way of managing resources. We'd be open to seeing proposed config for that user flow though.

SarahFrench commented 1 day ago

Forwarding to the service team for their input on the request. If we proceeded with this we'd expect some design docs describing the approach.

okrause commented 1 day ago

An API for reverse and resume is available and could theoretically be used by TF. The problem is that the resource model and the way the API works if pretty imperative and doesn't lend very well to the declarative way TF manages resources. Just a few examples:

Due to these reasons (and likely more I forgot meanwhile), we decided to make reverse resume a very explicit user action (drop replication resource state and import replication resource from destination volume) to unmistakably express the users intend. Since this is a very rare action, we consider this a fair trade-off.