deleteDeliveryStream method
Deletes a delivery stream and its data.
To check the state of a delivery stream, use
DescribeDeliveryStream. You can delete a delivery stream only if it
is in one of the following states: ACTIVE
,
DELETING
, CREATING_FAILED
, or
DELETING_FAILED
. You can't delete a delivery stream that is
in the CREATING
state. While the deletion request is in
process, the delivery stream is in the DELETING
state.
While the delivery stream is in the DELETING
state, the
service might continue to accept records, but it doesn't make any
guarantees with respect to delivering the data. Therefore, as a best
practice, first stop any applications that are sending records before you
delete a delivery stream.
May throw ResourceInUseException. May throw ResourceNotFoundException.
Parameter deliveryStreamName
:
The name of the delivery stream.
Parameter allowForceDelete
:
Set this to true if you want to delete the delivery stream even if Kinesis
Data Firehose is unable to retire the grant for the CMK. Kinesis Data
Firehose might be unable to retire the grant due to a customer error, such
as when the CMK or the grant are in an invalid state. If you force
deletion, you can then use the RevokeGrant
operation to revoke the grant you gave to Kinesis Data Firehose. If a
failure to retire the grant happens due to an AWS KMS issue, Kinesis Data
Firehose keeps retrying the delete operation.
The default value is false.
Implementation
Future<void> deleteDeliveryStream({
required String deliveryStreamName,
bool? allowForceDelete,
}) async {
ArgumentError.checkNotNull(deliveryStreamName, 'deliveryStreamName');
_s.validateStringLength(
'deliveryStreamName',
deliveryStreamName,
1,
64,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Firehose_20150804.DeleteDeliveryStream'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'DeliveryStreamName': deliveryStreamName,
if (allowForceDelete != null) 'AllowForceDelete': allowForceDelete,
},
);
}