associateDiscoveredResource method

Future<void> associateDiscoveredResource({
  1. required DiscoveredResource discoveredResource,
  2. required String migrationTaskName,
  3. required String progressUpdateStream,
  4. bool? dryRun,
})

Associates a discovered resource ID from Application Discovery Service with a migration task.

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

Parameter discoveredResource : Object representing a Resource.

Parameter migrationTaskName : The identifier given to the MigrationTask. Do not store personal data in this field.

Parameter progressUpdateStream : The name of the ProgressUpdateStream.

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> associateDiscoveredResource({
  required DiscoveredResource discoveredResource,
  required String migrationTaskName,
  required String progressUpdateStream,
  bool? dryRun,
}) async {
  ArgumentError.checkNotNull(discoveredResource, 'discoveredResource');
  ArgumentError.checkNotNull(migrationTaskName, 'migrationTaskName');
  _s.validateStringLength(
    'migrationTaskName',
    migrationTaskName,
    1,
    256,
    isRequired: true,
  );
  ArgumentError.checkNotNull(progressUpdateStream, 'progressUpdateStream');
  _s.validateStringLength(
    'progressUpdateStream',
    progressUpdateStream,
    1,
    50,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSMigrationHub.AssociateDiscoveredResource'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DiscoveredResource': discoveredResource,
      'MigrationTaskName': migrationTaskName,
      'ProgressUpdateStream': progressUpdateStream,
      if (dryRun != null) 'DryRun': dryRun,
    },
  );
}