updateSigningCertificate method

Future<void> updateSigningCertificate({
  1. required String certificateId,
  2. required StatusType status,
  3. String? userName,
})

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

May throw NoSuchEntityException. May throw LimitExceededException. May throw ServiceFailureException.

Parameter certificateId : The ID of the signing certificate you want to update.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

Parameter status : The status you want to assign to the certificate. Active means that the certificate can be used for API calls to AWS Inactive means that the certificate cannot be used.

Parameter userName : The name of the IAM user the signing certificate belongs to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Implementation

Future<void> updateSigningCertificate({
  required String certificateId,
  required StatusType status,
  String? userName,
}) async {
  ArgumentError.checkNotNull(certificateId, 'certificateId');
  _s.validateStringLength(
    'certificateId',
    certificateId,
    24,
    128,
    isRequired: true,
  );
  ArgumentError.checkNotNull(status, 'status');
  _s.validateStringLength(
    'userName',
    userName,
    1,
    128,
  );
  final $request = <String, dynamic>{};
  $request['CertificateId'] = certificateId;
  $request['Status'] = status.toValue();
  userName?.also((arg) => $request['UserName'] = arg);
  await _protocol.send(
    $request,
    action: 'UpdateSigningCertificate',
    version: '2010-05-08',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['UpdateSigningCertificateRequest'],
    shapes: shapes,
  );
}