describeClientAuthenticationSettings method

Future<DescribeClientAuthenticationSettingsResult> describeClientAuthenticationSettings({
  1. required String directoryId,
  2. int? limit,
  3. String? nextToken,
  4. ClientAuthenticationType? type,
})

Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is supported.

May throw AccessDeniedException. May throw ClientException. May throw DirectoryDoesNotExistException. May throw InvalidParameterException. May throw ServiceException. May throw UnsupportedOperationException.

Parameter directoryId : The identifier of the directory for which to retrieve information.

Parameter limit : The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

Parameter nextToken : The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

Parameter type : The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

Implementation

Future<DescribeClientAuthenticationSettingsResult>
    describeClientAuthenticationSettings({
  required String directoryId,
  int? limit,
  String? nextToken,
  ClientAuthenticationType? type,
}) async {
  _s.validateNumRange(
    'limit',
    limit,
    1,
    50,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'DirectoryService_20150416.DescribeClientAuthenticationSettings'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DirectoryId': directoryId,
      if (limit != null) 'Limit': limit,
      if (nextToken != null) 'NextToken': nextToken,
      if (type != null) 'Type': type.value,
    },
  );

  return DescribeClientAuthenticationSettingsResult.fromJson(
      jsonResponse.body);
}