describeApplicableIndividualAssessments method

Future<DescribeApplicableIndividualAssessmentsResponse> describeApplicableIndividualAssessments({
  1. String? marker,
  2. int? maxRecords,
  3. MigrationTypeValue? migrationType,
  4. String? replicationInstanceArn,
  5. String? replicationTaskArn,
  6. String? sourceEngineName,
  7. String? targetEngineName,
})

Provides a list of individual assessments that you can specify for a new premigration assessment run, given one or more parameters.

If you specify an existing migration task, this operation provides the default individual assessments you can specify for that task. Otherwise, the specified parameters model elements of a possible migration task on which to base a premigration assessment run.

To use these migration task modeling parameters, you must specify an existing replication instance, a source database engine, a target database engine, and a migration type. This combination of parameters potentially limits the default individual assessments available for an assessment run created for a corresponding migration task.

If you specify no parameters, this operation provides a list of all possible individual assessments that you can specify for an assessment run. If you specify any one of the task modeling parameters, you must specify all of them or the operation cannot provide a list of individual assessments. The only parameter that you can specify alone is for an existing migration task. The specified task definition then determines the default list of individual assessments that you can specify in an assessment run for the task.

May throw AccessDeniedFault. May throw ResourceNotFoundFault. May throw InvalidResourceStateFault.

Parameter marker : Optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Parameter maxRecords : Maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Parameter migrationType : Name of the migration type that each provided individual assessment must support.

Parameter replicationInstanceArn : ARN of a replication instance on which you want to base the default list of individual assessments.

Parameter replicationTaskArn : Amazon Resource Name (ARN) of a migration task on which you want to base the default list of individual assessments.

Parameter sourceEngineName : Name of a database engine that the specified replication instance supports as a source.

Parameter targetEngineName : Name of a database engine that the specified replication instance supports as a target.

Implementation

Future<DescribeApplicableIndividualAssessmentsResponse>
    describeApplicableIndividualAssessments({
  String? marker,
  int? maxRecords,
  MigrationTypeValue? migrationType,
  String? replicationInstanceArn,
  String? replicationTaskArn,
  String? sourceEngineName,
  String? targetEngineName,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'AmazonDMSv20160101.DescribeApplicableIndividualAssessments'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (marker != null) 'Marker': marker,
      if (maxRecords != null) 'MaxRecords': maxRecords,
      if (migrationType != null) 'MigrationType': migrationType.toValue(),
      if (replicationInstanceArn != null)
        'ReplicationInstanceArn': replicationInstanceArn,
      if (replicationTaskArn != null)
        'ReplicationTaskArn': replicationTaskArn,
      if (sourceEngineName != null) 'SourceEngineName': sourceEngineName,
      if (targetEngineName != null) 'TargetEngineName': targetEngineName,
    },
  );

  return DescribeApplicableIndividualAssessmentsResponse.fromJson(
      jsonResponse.body);
}