deleteProgressUpdateStream method

Future<void> deleteProgressUpdateStream({
  1. required String progressUpdateStreamName,
  2. bool? dryRun,
})

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).
  • The call will return, and a background process will asynchronously delete the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).
  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.
  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs related to the tasks belonging to the stream will throw "InvalidInputException" if the stream of the same name is in the process of being deleted.
  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

May throw AccessDeniedException. May throw ThrottlingException. May throw InternalServerError. May throw ServiceUnavailableException. May throw DryRunOperation. May throw UnauthorizedOperation. May throw InvalidInputException. May throw ResourceNotFoundException. May throw HomeRegionNotSetException.

Parameter progressUpdateStreamName : The name of the ProgressUpdateStream. Do not store personal data in this field.

Parameter dryRun : Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

Implementation

Future<void> deleteProgressUpdateStream({
  required String progressUpdateStreamName,
  bool? dryRun,
}) async {
  ArgumentError.checkNotNull(
      progressUpdateStreamName, 'progressUpdateStreamName');
  _s.validateStringLength(
    'progressUpdateStreamName',
    progressUpdateStreamName,
    1,
    50,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSMigrationHub.DeleteProgressUpdateStream'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ProgressUpdateStreamName': progressUpdateStreamName,
      if (dryRun != null) 'DryRun': dryRun,
    },
  );
}