importSshPublicKey method
Adds a Secure Shell (SSH) public key to a user account identified by a
UserName
value assigned to the specific file transfer
protocol-enabled server, identified by ServerId
.
The response returns the UserName
value, the
ServerId
value, and the name of the
SshPublicKeyId
.
May throw ServiceUnavailableException. May throw InternalServiceError. May throw InvalidRequestException. May throw ResourceExistsException. May throw ResourceNotFoundException. May throw ThrottlingException.
Parameter serverId
:
A system-assigned unique identifier for a server.
Parameter sshPublicKeyBody
:
The public key portion of an SSH key pair.
Parameter userName
:
The name of the user account that is assigned to one or more servers.
Implementation
Future<ImportSshPublicKeyResponse> importSshPublicKey({
required String serverId,
required String sshPublicKeyBody,
required String userName,
}) async {
ArgumentError.checkNotNull(serverId, 'serverId');
_s.validateStringLength(
'serverId',
serverId,
19,
19,
isRequired: true,
);
ArgumentError.checkNotNull(sshPublicKeyBody, 'sshPublicKeyBody');
_s.validateStringLength(
'sshPublicKeyBody',
sshPublicKeyBody,
0,
2048,
isRequired: true,
);
ArgumentError.checkNotNull(userName, 'userName');
_s.validateStringLength(
'userName',
userName,
3,
100,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'TransferService.ImportSshPublicKey'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ServerId': serverId,
'SshPublicKeyBody': sshPublicKeyBody,
'UserName': userName,
},
);
return ImportSshPublicKeyResponse.fromJson(jsonResponse.body);
}