describeMigrationProjects method

Future<DescribeMigrationProjectsResponse> describeMigrationProjects({
  1. List<Filter>? filters,
  2. String? marker,
  3. int? maxRecords,
})

Returns a paginated list of migration projects for your account in the current region.

May throw AccessDeniedFault. May throw FailedDependencyFault. May throw ResourceNotFoundFault.

Parameter filters : Filters applied to the migration projects described in the form of key-value pairs.

Valid filter names and values:

  • instance-profile-identifier, instance profile arn or name
  • data-provider-identifier, data provider arn or name
  • migration-project-identifier, migration project arn or name

Parameter marker : Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Parameter maxRecords : The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Implementation

Future<DescribeMigrationProjectsResponse> describeMigrationProjects({
  List<Filter>? filters,
  String? marker,
  int? maxRecords,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonDMSv20160101.DescribeMigrationProjects'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (filters != null) 'Filters': filters,
      if (marker != null) 'Marker': marker,
      if (maxRecords != null) 'MaxRecords': maxRecords,
    },
  );

  return DescribeMigrationProjectsResponse.fromJson(jsonResponse.body);
}