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
Amazon KMS key used to encrypt the host key when it's stored in Amazon 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 Amazon KMS key used to encrypt the Amazon 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, Amazon Transfer Family uses the Amazon managed key for Amazon 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 Amazon Transfer Family (
SERVICE_MANAGED) or in Amazon Secrets Manager (SECRETS_MANAGER). When you specifySECRETS_MANAGER, Amazon Transfer Family stores the private host key material in an Amazon 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 Amazon 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 AmazonTransfer Family service.
HTTP Status Code: 400
- ServiceUnavailableException
-
The request has failed because the AmazonTransfer 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 Amazon SDKs, see the following: