UpdateHostKey
Updates the host key that's specified by the ServerId and
HostKeyId parameters. You can update the description of the host key, change
where the host key is stored by specifying the StorageType, and specify the
AWS KMS key used to encrypt the host key when it's stored in AWS Secrets Manager.
To change a host key's storage type from SERVICE_MANAGED to
SECRETS_MANAGER, you must have the
transfer:ExportHostKey permission. transfer:ExportHostKey is a
permission-only action that has no corresponding API operation.
Request Syntax
{
"Description": "string",
"HostKeyId": "string",
"KmsKey": "string",
"ServerId": "string",
"StorageType": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Description
-
An updated description for the host key.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 200.
Pattern:
[\p{Print}]*Required: No
- HostKeyId
-
The identifier of the host key that you are updating.
Type: String
Length Constraints: Fixed length of 25.
Pattern:
hostkey-[0-9a-f]{17}Required: Yes
- KmsKey
-
The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the AWS Secrets Manager secret that stores the host key. If you specify a customer managed key, its key policy must allow the
AWSServiceRoleForTransferservice-linked role to decrypt the secret. If you don't specify a value, AWS Transfer Family uses the AWS managed key for AWS Secrets Manager.Type: String
Length Constraints: Minimum length of 20. Maximum length of 1600.
Pattern:
arn:\S+Required: No
- ServerId
-
The identifier of the server that contains the host key that you are updating.
Type: String
Length Constraints: Fixed length of 19.
Pattern:
s-([0-9a-f]{17})Required: Yes
- StorageType
-
Specifies whether the host key is stored by AWS Transfer Family (
SERVICE_MANAGED) or in AWS Secrets Manager (SECRETS_MANAGER). When you specifySECRETS_MANAGER, AWS Transfer Family stores the private host key material in an AWS Secrets Manager secret.Type: String
Valid Values:
SERVICE_MANAGED | SECRETS_MANAGERRequired: No
Response Syntax
{
"HostKeyId": "string",
"ServerId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- HostKeyId
-
Returns the host key identifier for the updated host key.
Type: String
Length Constraints: Fixed length of 25.
Pattern:
hostkey-[0-9a-f]{17} - ServerId
-
Returns the server identifier for the server that contains the updated host key.
Type: String
Length Constraints: Fixed length of 19.
Pattern:
s-([0-9a-f]{17})
Errors
For information about the errors that are common to all actions, see Common Error Types.
- InternalServiceError
-
This exception is thrown when an error occurs in the AWS Transfer Family service.
HTTP Status Code: 500
- InvalidRequestException
-
This exception is thrown when the client submits a malformed request.
HTTP Status Code: 400
- ResourceNotFoundException
-
This exception is thrown when a resource is not found by the AWSTransfer Family service.
HTTP Status Code: 400
- ServiceUnavailableException
-
The request has failed because the AWSTransfer Family service is not available.
HTTP Status Code: 500
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: