View a markdown version of this page

UpdateHostKey - Amazon Transfer Family
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

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 AWSServiceRoleForTransfer service-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 specify SECRETS_MANAGER, Amazon Transfer Family stores the private host key material in an Amazon 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 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: