listNotifyCountries method

Future<ListNotifyCountriesResult> listNotifyCountries({
  1. List<NumberCapability>? channels,
  2. int? maxResults,
  3. String? nextToken,
  4. NotifyConfigurationTier? tier,
  5. List<NotifyConfigurationUseCase>? useCases,
})

Lists countries that support notify messaging. You can optionally filter by channel, use case, or tier.

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

Parameter channels : An array of channels to filter the results by.

Parameter maxResults : The maximum number of results to return per each request.

Parameter nextToken : The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

Parameter tier : The tier to filter the results by.

Parameter useCases : An array of use cases to filter the results by.

Implementation

Future<ListNotifyCountriesResult> listNotifyCountries({
  List<NumberCapability>? channels,
  int? maxResults,
  String? nextToken,
  NotifyConfigurationTier? tier,
  List<NotifyConfigurationUseCase>? useCases,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    100,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target': 'PinpointSMSVoiceV2.ListNotifyCountries'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (channels != null) 'Channels': channels.map((e) => e.value).toList(),
      if (maxResults != null) 'MaxResults': maxResults,
      if (nextToken != null) 'NextToken': nextToken,
      if (tier != null) 'Tier': tier.value,
      if (useCases != null) 'UseCases': useCases.map((e) => e.value).toList(),
    },
  );

  return ListNotifyCountriesResult.fromJson(jsonResponse.body);
}