describeDeliveryStream method

Future<DescribeDeliveryStreamOutput> describeDeliveryStream({
  1. required String deliveryStreamName,
  2. String? exclusiveStartDestinationId,
  3. int? limit,
})

Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data to be sent to it.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it. If the status is DELETING_FAILED, you can force deletion by invoking DeleteDeliveryStream again but with DeleteDeliveryStreamInput$AllowForceDelete set to true.

May throw ResourceNotFoundException.

Parameter deliveryStreamName : The name of the delivery stream.

Parameter exclusiveStartDestinationId : The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream.

Parameter limit : The limit on the number of destinations to return. You can have one destination per delivery stream.

Implementation

Future<DescribeDeliveryStreamOutput> describeDeliveryStream({
  required String deliveryStreamName,
  String? exclusiveStartDestinationId,
  int? limit,
}) async {
  ArgumentError.checkNotNull(deliveryStreamName, 'deliveryStreamName');
  _s.validateStringLength(
    'deliveryStreamName',
    deliveryStreamName,
    1,
    64,
    isRequired: true,
  );
  _s.validateStringLength(
    'exclusiveStartDestinationId',
    exclusiveStartDestinationId,
    1,
    100,
  );
  _s.validateNumRange(
    'limit',
    limit,
    1,
    10000,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Firehose_20150804.DescribeDeliveryStream'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DeliveryStreamName': deliveryStreamName,
      if (exclusiveStartDestinationId != null)
        'ExclusiveStartDestinationId': exclusiveStartDestinationId,
      if (limit != null) 'Limit': limit,
    },
  );

  return DescribeDeliveryStreamOutput.fromJson(jsonResponse.body);
}