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 reset the password to a new service-generated value by calling ResetServiceSpecificCredential.
For more information about using service-specific credentials to authenticate to an Amazon Web Services service, refer to the following docs:
- For service-specific credentials with CodeCommit, refer to IAM credentials for CodeCommit: Git credentials, SSH keys, and Amazon Web Services access keys in the IAM User Guide.
- For service-specific credentials with Amazon Keyspaces (for Apache Cassandra), refer to Use IAM with Amazon Keyspaces (for Apache Cassandra) in the IAM User Guide.
- For services that support long-term API keys, refer to API keys for Amazon Web Services services 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 services that support long-term API keys and must
be a positive integer. When not specified, the credential will not expire.
To see which services support long-term API keys, refer to API keys for Amazon Web Services services in the IAM User Guide.
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);
}