/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Transfer { namespace Model { /** *

Contains the details for an SFTP connector object. The connector object is * used for transferring files to and from a partner's SFTP server.

See * Also:

AWS * API Reference

*/ class SftpConnectorConfig { public: AWS_TRANSFER_API SftpConnectorConfig(); AWS_TRANSFER_API SftpConnectorConfig(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSFER_API SftpConnectorConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline const Aws::String& GetUserSecretId() const{ return m_userSecretId; } /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline bool UserSecretIdHasBeenSet() const { return m_userSecretIdHasBeenSet; } /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline void SetUserSecretId(const Aws::String& value) { m_userSecretIdHasBeenSet = true; m_userSecretId = value; } /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline void SetUserSecretId(Aws::String&& value) { m_userSecretIdHasBeenSet = true; m_userSecretId = std::move(value); } /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline void SetUserSecretId(const char* value) { m_userSecretIdHasBeenSet = true; m_userSecretId.assign(value); } /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline SftpConnectorConfig& WithUserSecretId(const Aws::String& value) { SetUserSecretId(value); return *this;} /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline SftpConnectorConfig& WithUserSecretId(Aws::String&& value) { SetUserSecretId(std::move(value)); return *this;} /** *

The identifiers for the secrets (in Amazon Web Services Secrets Manager) that * contain the SFTP user's private keys or passwords.

*/ inline SftpConnectorConfig& WithUserSecretId(const char* value) { SetUserSecretId(value); return *this;} /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline const Aws::Vector& GetTrustedHostKeys() const{ return m_trustedHostKeys; } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline bool TrustedHostKeysHasBeenSet() const { return m_trustedHostKeysHasBeenSet; } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline void SetTrustedHostKeys(const Aws::Vector& value) { m_trustedHostKeysHasBeenSet = true; m_trustedHostKeys = value; } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline void SetTrustedHostKeys(Aws::Vector&& value) { m_trustedHostKeysHasBeenSet = true; m_trustedHostKeys = std::move(value); } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline SftpConnectorConfig& WithTrustedHostKeys(const Aws::Vector& value) { SetTrustedHostKeys(value); return *this;} /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline SftpConnectorConfig& WithTrustedHostKeys(Aws::Vector&& value) { SetTrustedHostKeys(std::move(value)); return *this;} /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline SftpConnectorConfig& AddTrustedHostKeys(const Aws::String& value) { m_trustedHostKeysHasBeenSet = true; m_trustedHostKeys.push_back(value); return *this; } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline SftpConnectorConfig& AddTrustedHostKeys(Aws::String&& value) { m_trustedHostKeysHasBeenSet = true; m_trustedHostKeys.push_back(std::move(value)); return *this; } /** *

The public portion of the host key, or keys, that are used to authenticate * the user to the external server to which you are connecting. You can use the * ssh-keyscan command against the SFTP server to retrieve the * necessary key.

The three standard SSH public key format elements are * <key type>, <body base64>, and an optional * <comment>, with spaces between each element.

For the * trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • *

    For RSA keys, the key type is ssh-rsa.

  • For * ECDSA keys, the key type is either ecdsa-sha2-nistp256, * ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending * on the size of the key you generated.

*/ inline SftpConnectorConfig& AddTrustedHostKeys(const char* value) { m_trustedHostKeysHasBeenSet = true; m_trustedHostKeys.push_back(value); return *this; } private: Aws::String m_userSecretId; bool m_userSecretIdHasBeenSet = false; Aws::Vector m_trustedHostKeys; bool m_trustedHostKeysHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws