describeExportTasks method

Future<ExportTasksMessage> describeExportTasks({
  1. String? exportTaskIdentifier,
  2. List<Filter>? filters,
  3. String? marker,
  4. int? maxRecords,
  5. String? sourceArn,
  6. ExportSourceType? sourceType,
})

Returns information about a snapshot or cluster export to Amazon S3. This API operation supports pagination.

May throw ExportTaskNotFoundFault.

Parameter exportTaskIdentifier : The identifier of the snapshot or cluster export task to be described.

Parameter filters : Filters specify one or more snapshot or cluster exports to describe. The filters are specified as name-value pairs that define what to include in the output. Filter names and values are case-sensitive.

Supported filters include the following:

  • export-task-identifier - An identifier for the snapshot or cluster export task.
  • s3-bucket - The Amazon S3 bucket the data is exported to.
  • source-arn - The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.
  • status - The status of the export task. Must be lowercase. Valid statuses are the following:
    • canceled
    • canceling
    • complete
    • failed
    • in_progress
    • starting

Parameter marker : An optional pagination token provided by a previous DescribeExportTasks request. If you specify this parameter, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter.

Parameter maxRecords : The maximum number of records to include in the response. If more records exist than the specified value, a pagination token called a marker is included in the response. You can use the marker in a later DescribeExportTasks request to retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Parameter sourceArn : The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.

Parameter sourceType : The type of source for the export.

Implementation

Future<ExportTasksMessage> describeExportTasks({
  String? exportTaskIdentifier,
  List<Filter>? filters,
  String? marker,
  int? maxRecords,
  String? sourceArn,
  ExportSourceType? sourceType,
}) async {
  _s.validateNumRange(
    'maxRecords',
    maxRecords,
    20,
    100,
  );
  final $request = <String, String>{
    if (exportTaskIdentifier != null)
      'ExportTaskIdentifier': exportTaskIdentifier,
    if (filters != null)
      if (filters.isEmpty)
        'Filters': ''
      else
        for (var i1 = 0; i1 < filters.length; i1++)
          for (var e3 in filters[i1].toQueryMap().entries)
            'Filters.Filter.${i1 + 1}.${e3.key}': e3.value,
    if (marker != null) 'Marker': marker,
    if (maxRecords != null) 'MaxRecords': maxRecords.toString(),
    if (sourceArn != null) 'SourceArn': sourceArn,
    if (sourceType != null) 'SourceType': sourceType.value,
  };
  final $result = await _protocol.send(
    $request,
    action: 'DescribeExportTasks',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'DescribeExportTasksResult',
  );
  return ExportTasksMessage.fromXml($result);
}