registerCertificate method
- required String certificateData,
- required String directoryId,
- ClientCertAuthSettings? clientCertAuthSettings,
- CertificateType? type,
Registers a certificate for a secure LDAP or client certificate authentication.
May throw DirectoryUnavailableException. May throw DirectoryDoesNotExistException. May throw InvalidCertificateException. May throw CertificateLimitExceededException. May throw CertificateAlreadyExistsException. May throw UnsupportedOperationException. May throw InvalidParameterException. May throw ClientException. May throw ServiceException.
Parameter certificateData
:
The certificate PEM string that needs to be registered.
Parameter directoryId
:
The identifier of the directory.
Parameter clientCertAuthSettings
:
A ClientCertAuthSettings
object that contains client
certificate authentication settings.
Parameter type
:
The function that the registered certificate performs. Valid values
include ClientLDAPS
or ClientCertAuth
. The
default value is ClientLDAPS
.
Implementation
Future<RegisterCertificateResult> registerCertificate({
required String certificateData,
required String directoryId,
ClientCertAuthSettings? clientCertAuthSettings,
CertificateType? type,
}) async {
ArgumentError.checkNotNull(certificateData, 'certificateData');
_s.validateStringLength(
'certificateData',
certificateData,
1,
8192,
isRequired: true,
);
ArgumentError.checkNotNull(directoryId, 'directoryId');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'DirectoryService_20150416.RegisterCertificate'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'CertificateData': certificateData,
'DirectoryId': directoryId,
if (clientCertAuthSettings != null)
'ClientCertAuthSettings': clientCertAuthSettings,
if (type != null) 'Type': type.toValue(),
},
);
return RegisterCertificateResult.fromJson(jsonResponse.body);
}