deleteCluster method
Deletes a previously provisioned cluster without its final snapshot being created. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.
If you want to shut down the cluster and retain it for future use, set
SkipFinalClusterSnapshot to false
and specify a name
for FinalClusterSnapshotIdentifier. You can later restore this
snapshot to resume using the cluster. If a final cluster snapshot is
requested, the status of the cluster will be "final-snapshot" while the
snapshot is being taken, then it's "deleting" once Amazon Redshift begins
deleting the cluster.
For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.
May throw ClusterNotFoundFault. May throw InvalidClusterStateFault. May throw ClusterSnapshotAlreadyExistsFault. May throw ClusterSnapshotQuotaExceededFault. May throw InvalidRetentionPeriodFault.
Parameter clusterIdentifier
:
The identifier of the cluster to be deleted.
Constraints:
- Must contain lowercase characters.
- Must contain from 1 to 63 alphanumeric characters or hyphens.
- First character must be a letter.
- Cannot end with a hyphen or contain two consecutive hyphens.
Parameter finalClusterSnapshotIdentifier
:
The identifier of the final snapshot that is to be created immediately
before deleting the cluster. If this parameter is provided,
SkipFinalClusterSnapshot must be false
.
Constraints:
- Must be 1 to 255 alphanumeric characters.
- First character must be a letter.
- Cannot end with a hyphen or contain two consecutive hyphens.
Parameter finalClusterSnapshotRetentionPeriod
:
The number of days that a manual snapshot is retained. If the value is -1,
the manual snapshot is retained indefinitely.
The value must be either -1 or an integer between 1 and 3,653.
The default value is -1.
Parameter skipFinalClusterSnapshot
:
Determines whether a final snapshot of the cluster is created before
Amazon Redshift deletes the cluster. If true
, a final cluster
snapshot is not created. If false
, a final cluster snapshot
is created before the cluster is deleted.
Default: false
Implementation
Future<DeleteClusterResult> deleteCluster({
required String clusterIdentifier,
String? finalClusterSnapshotIdentifier,
int? finalClusterSnapshotRetentionPeriod,
bool? skipFinalClusterSnapshot,
}) async {
ArgumentError.checkNotNull(clusterIdentifier, 'clusterIdentifier');
_s.validateStringLength(
'clusterIdentifier',
clusterIdentifier,
0,
2147483647,
isRequired: true,
);
_s.validateStringLength(
'finalClusterSnapshotIdentifier',
finalClusterSnapshotIdentifier,
0,
2147483647,
);
final $request = <String, dynamic>{};
$request['ClusterIdentifier'] = clusterIdentifier;
finalClusterSnapshotIdentifier
?.also((arg) => $request['FinalClusterSnapshotIdentifier'] = arg);
finalClusterSnapshotRetentionPeriod
?.also((arg) => $request['FinalClusterSnapshotRetentionPeriod'] = arg);
skipFinalClusterSnapshot
?.also((arg) => $request['SkipFinalClusterSnapshot'] = arg);
final $result = await _protocol.send(
$request,
action: 'DeleteCluster',
version: '2012-12-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['DeleteClusterMessage'],
shapes: shapes,
resultWrapper: 'DeleteClusterResult',
);
return DeleteClusterResult.fromXml($result);
}