listChannelHandshakes method

Future<ListChannelHandshakesResponse> listChannelHandshakes({
  1. required String catalog,
  2. required HandshakeType handshakeType,
  3. required ParticipantType participantType,
  4. List<String>? associatedResourceIdentifiers,
  5. ListChannelHandshakesTypeFilters? handshakeTypeFilters,
  6. ListChannelHandshakesTypeSort? handshakeTypeSort,
  7. int? maxResults,
  8. String? nextToken,
  9. List<HandshakeStatus>? statuses,
})

Lists channel handshakes based on specified criteria.

May throw AccessDeniedException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter catalog : The catalog identifier to filter handshakes.

Parameter handshakeType : Filter results by handshake type.

Parameter participantType : Filter by participant type (sender or receiver).

Parameter associatedResourceIdentifiers : Filter by associated resource identifiers.

Parameter handshakeTypeFilters : Type-specific filters for handshakes.

Parameter handshakeTypeSort : Type-specific sorting options for handshakes.

Parameter maxResults : The maximum number of results to return in a single call.

Parameter nextToken : Token for retrieving the next page of results.

Parameter statuses : Filter results by handshake status.

Implementation

Future<ListChannelHandshakesResponse> listChannelHandshakes({
  required String catalog,
  required HandshakeType handshakeType,
  required ParticipantType participantType,
  List<String>? associatedResourceIdentifiers,
  ListChannelHandshakesTypeFilters? handshakeTypeFilters,
  ListChannelHandshakesTypeSort? handshakeTypeSort,
  int? maxResults,
  String? nextToken,
  List<HandshakeStatus>? statuses,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target': 'PartnerCentralChannel.ListChannelHandshakes'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'catalog': catalog,
      'handshakeType': handshakeType.value,
      'participantType': participantType.value,
      if (associatedResourceIdentifiers != null)
        'associatedResourceIdentifiers': associatedResourceIdentifiers,
      if (handshakeTypeFilters != null)
        'handshakeTypeFilters': handshakeTypeFilters,
      if (handshakeTypeSort != null) 'handshakeTypeSort': handshakeTypeSort,
      if (maxResults != null) 'maxResults': maxResults,
      if (nextToken != null) 'nextToken': nextToken,
      if (statuses != null) 'statuses': statuses.map((e) => e.value).toList(),
    },
  );

  return ListChannelHandshakesResponse.fromJson(jsonResponse.body);
}