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

Restore SQL instance from snapshot #2446

Closed
aclowkey opened this issue Nov 12, 2018 · 4 comments · Fixed by GoogleCloudPlatform/magic-modules#4336, hashicorp/terraform-provider-google-beta#2843 or #8138

Comments

@aclowkey
Copy link

aclowkey commented Nov 12, 2018

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment. If the issue is assigned to the "modular-magician" user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If the issue is assigned to a user, that user is claiming responsibility for the issue. If the issue is assigned to "hashibot", a community member has claimed the issue already.

Description

Google Cloud provisions automatic backups for SQL instances, and allows to restore from those backups. In order to do so, you must create backups, either manually or schedule an automatic backup, then delete the instance, and use the backup to restore the instance.

https://cloud.google.com/sql/docs/mysql/backup-recovery/restoring#restorebackups

I think introducing a field of backup to google_sql_database_instance would be very useful. Similar to the snapshot field at google_compute_disk

New or Affected Resource(s)

  • google_sql_database_instance

Potential Terraform Configuration

resource "google_sql_database_instance" "master" {
  name = "master-instance"
  database_version = "MYSQL_5_6"
  # First-generation instance regions are not the conventional
  # Google Compute Engine regions. See argument reference below.
  region = "us-central"

  backup = "123456789"
}

References

@rileykarson
Copy link
Collaborator

Note that https://www.terraform.io/docs/providers/aws/r/rds_cluster.html#snapshot_identifier is the AWS equivalent for context.

@jhuntoo
Copy link

jhuntoo commented Sep 17, 2019

Also something else to consider, a companion data source to address a common use case, similar to aws_db_snapshot.

e.g.

data "google_sql_database_backup" "latest_prod_backup" {
  instance_id = "production"
  most_recent            = true
}

which returns something similar to the output of gcloud sql backups list --instance=<instance id>

@paddycarver paddycarver added this to the Goals milestone Dec 12, 2019
@danawillow danawillow modified the milestones: Goals, Near-Term Goals Mar 20, 2020
@rileykarson
Copy link
Collaborator

rileykarson commented Oct 12, 2020

Note that backups need to be restored on an already-existing instance using https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/instances/restoreBackup.

This may not make much sense as a declarative operation.

@ghost
Copy link

ghost commented Feb 7, 2021

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 hashibot-feedback@hashicorp.com. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Feb 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.