registerCertificate method

Future<RegisterCertificateResponse> registerCertificate({
  1. required String certificatePem,
  2. String? caCertificatePem,
  3. bool? setAsActive,
  4. CertificateStatus? status,
})

Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

May throw ResourceAlreadyExistsException. May throw InvalidRequestException. May throw CertificateValidationException. May throw CertificateStateException. May throw CertificateConflictException. May throw ThrottlingException. May throw UnauthorizedException. May throw ServiceUnavailableException. May throw InternalFailureException.

Parameter certificatePem : The certificate data, in PEM format.

Parameter caCertificatePem : The CA certificate used to sign the device certificate being registered.

Parameter setAsActive : A boolean value that specifies if the certificate is set to active.

Parameter status : The status of the register certificate request.

Implementation

Future<RegisterCertificateResponse> registerCertificate({
  required String certificatePem,
  String? caCertificatePem,
  bool? setAsActive,
  CertificateStatus? status,
}) async {
  ArgumentError.checkNotNull(certificatePem, 'certificatePem');
  _s.validateStringLength(
    'certificatePem',
    certificatePem,
    1,
    65536,
    isRequired: true,
  );
  _s.validateStringLength(
    'caCertificatePem',
    caCertificatePem,
    1,
    65536,
  );
  final $query = <String, List<String>>{
    if (setAsActive != null) 'setAsActive': [setAsActive.toString()],
  };
  final $payload = <String, dynamic>{
    'certificatePem': certificatePem,
    if (caCertificatePem != null) 'caCertificatePem': caCertificatePem,
    if (status != null) 'status': status.toValue(),
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/certificate/register',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return RegisterCertificateResponse.fromJson(response);
}