provider/aws: Add support for Skipping Final Snapshot in RDS Cluster (#6795)
* provider/aws: Add support for Skipping Final Snapshot in RDS Cluster
This commit is contained in:
parent
890eebabc4
commit
ec8c242ebf
|
@ -103,6 +103,12 @@ func resourceAwsRDSCluster() *schema.Resource {
|
|||
},
|
||||
},
|
||||
|
||||
"skip_final_snapshot": &schema.Schema{
|
||||
Type: schema.TypeBool,
|
||||
Optional: true,
|
||||
Default: true,
|
||||
},
|
||||
|
||||
"master_username": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Required: true,
|
||||
|
@ -372,12 +378,15 @@ func resourceAwsRDSClusterDelete(d *schema.ResourceData, meta interface{}) error
|
|||
DBClusterIdentifier: aws.String(d.Id()),
|
||||
}
|
||||
|
||||
finalSnapshot := d.Get("final_snapshot_identifier").(string)
|
||||
if finalSnapshot == "" {
|
||||
deleteOpts.SkipFinalSnapshot = aws.Bool(true)
|
||||
} else {
|
||||
deleteOpts.FinalDBSnapshotIdentifier = aws.String(finalSnapshot)
|
||||
deleteOpts.SkipFinalSnapshot = aws.Bool(false)
|
||||
skipFinalSnapshot := d.Get("skip_final_snapshot").(bool)
|
||||
deleteOpts.SkipFinalSnapshot = aws.Bool(skipFinalSnapshot)
|
||||
|
||||
if skipFinalSnapshot == false {
|
||||
if name, present := d.GetOk("final_snapshot_identifier"); present {
|
||||
deleteOpts.FinalDBSnapshotIdentifier = aws.String(name.(string))
|
||||
} else {
|
||||
return fmt.Errorf("RDS Cluster FinalSnapshotIdentifier is required when a final snapshot is required")
|
||||
}
|
||||
}
|
||||
|
||||
log.Printf("[DEBUG] RDS Cluster delete options: %s", deleteOpts)
|
||||
|
|
|
@ -61,6 +61,7 @@ string.
|
|||
* `final_snapshot_identifier` - (Optional) The name of your final DB snapshot
|
||||
when this DB cluster is deleted. If omitted, no final snapshot will be
|
||||
made.
|
||||
* `skip_final_snapshot` - (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `final_snapshot_identifier`. Default is true.
|
||||
* `availability_zones` - (Optional) A list of EC2 Availability Zones that
|
||||
instances in the DB cluster can be created in
|
||||
* `backup_retention_period` - (Optional) The days to retain backups for. Default
|
||||
|
|
Loading…
Reference in New Issue