View a markdown version of this page

UpdateHostKey - AWS Transfer Family

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 AWSServiceRoleForTransfer service-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 specify SECRETS_MANAGER, AWS Transfer Family stores the private host key material in an AWS Secrets Manager secret.

Type: String

Valid Values: SERVICE_MANAGED | SECRETS_MANAGER

Required: 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: