createServiceSpecificCredential method
Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.
You can have a maximum of two sets of service-specific credentials for each supported service per user.
You can create service-specific credentials for Amazon Bedrock, Amazon CloudWatch Logs, CodeCommit and Amazon Keyspaces (for Apache Cassandra).
You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.
For more information about service-specific credentials, see Service-specific credentials for IAM users in the IAM User Guide.
May throw LimitExceededException.
May throw NoSuchEntityException.
May throw ServiceNotSupportedException.
Parameter serviceName :
The name of the Amazon Web Services service that is to be associated with
the credentials. The service you specify here is the only service that can
be accessed using these credentials.
Parameter userName :
The name of the IAM user that is to be associated with the credentials.
The new service-specific credentials have the same permissions as the
associated user except that they can be used only to access the specified
service.
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: _+=,.@-
Parameter credentialAgeDays :
The number of days until the service specific credential expires. This
field is only valid for Bedrock and CloudWatch Logs API keys and must be a
positive integer. When not specified, the credential will not expire.
Implementation
Future<CreateServiceSpecificCredentialResponse>
createServiceSpecificCredential({
required String serviceName,
required String userName,
int? credentialAgeDays,
}) async {
_s.validateNumRange(
'credentialAgeDays',
credentialAgeDays,
1,
36600,
);
final $request = <String, String>{
'ServiceName': serviceName,
'UserName': userName,
if (credentialAgeDays != null)
'CredentialAgeDays': credentialAgeDays.toString(),
};
final $result = await _protocol.send(
$request,
action: 'CreateServiceSpecificCredential',
version: '2010-05-08',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'CreateServiceSpecificCredentialResult',
);
return CreateServiceSpecificCredentialResponse.fromXml($result);
}