View a markdown version of this page

ImportHostKey - AWS Transfer Family

ImportHostKey

Adds a host key to the server that's specified by the ServerId parameter.

Request Syntax

{ "Description": "string", "HostKeyBody": "string", "KmsKey": "string", "ServerId": "string", "StorageType": "string", "Tags": [ { "Key": "string", "Value": "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

The text description that identifies this host key.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 200.

Pattern: [\p{Print}]*

Required: No

HostKeyBody

The private key portion of an SSH key pair.

AWS Transfer Family accepts RSA, ECDSA, and ED25519 keys.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 4096.

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 importing.

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

Tags

Key-value pairs that can be used to group and search for host keys.

Type: Array of Tag objects

Array Members: Minimum number of 1 item. Maximum number of 50 items.

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 imported key.

Type: String

Length Constraints: Fixed length of 25.

Pattern: hostkey-[0-9a-f]{17}

ServerId

Returns the server identifier that contains the imported 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

ResourceExistsException

The requested resource does not exist, or exists in a region other than the one specified for the command.

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: