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

Describes the parameters for the connector, as identified by the * ConnectorId.

See Also:

AWS * API Reference

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

The unique Amazon Resource Name (ARN) for the connector.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline DescribedConnector& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline DescribedConnector& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The unique Amazon Resource Name (ARN) for the connector.

*/ inline DescribedConnector& WithArn(const char* value) { SetArn(value); return *this;} /** *

The unique identifier for the connector.

*/ inline const Aws::String& GetConnectorId() const{ return m_connectorId; } /** *

The unique identifier for the connector.

*/ inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } /** *

The unique identifier for the connector.

*/ inline void SetConnectorId(const Aws::String& value) { m_connectorIdHasBeenSet = true; m_connectorId = value; } /** *

The unique identifier for the connector.

*/ inline void SetConnectorId(Aws::String&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::move(value); } /** *

The unique identifier for the connector.

*/ inline void SetConnectorId(const char* value) { m_connectorIdHasBeenSet = true; m_connectorId.assign(value); } /** *

The unique identifier for the connector.

*/ inline DescribedConnector& WithConnectorId(const Aws::String& value) { SetConnectorId(value); return *this;} /** *

The unique identifier for the connector.

*/ inline DescribedConnector& WithConnectorId(Aws::String&& value) { SetConnectorId(std::move(value)); return *this;} /** *

The unique identifier for the connector.

*/ inline DescribedConnector& WithConnectorId(const char* value) { SetConnectorId(value); return *this;} /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline DescribedConnector& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline DescribedConnector& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

The URL of the partner's AS2 or SFTP endpoint.

*/ inline DescribedConnector& WithUrl(const char* value) { SetUrl(value); return *this;} /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline const As2ConnectorConfig& GetAs2Config() const{ return m_as2Config; } /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline bool As2ConfigHasBeenSet() const { return m_as2ConfigHasBeenSet; } /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline void SetAs2Config(const As2ConnectorConfig& value) { m_as2ConfigHasBeenSet = true; m_as2Config = value; } /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline void SetAs2Config(As2ConnectorConfig&& value) { m_as2ConfigHasBeenSet = true; m_as2Config = std::move(value); } /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline DescribedConnector& WithAs2Config(const As2ConnectorConfig& value) { SetAs2Config(value); return *this;} /** *

A structure that contains the parameters for an AS2 connector object.

*/ inline DescribedConnector& WithAs2Config(As2ConnectorConfig&& value) { SetAs2Config(std::move(value)); return *this;} /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline const Aws::String& GetAccessRole() const{ return m_accessRole; } /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline bool AccessRoleHasBeenSet() const { return m_accessRoleHasBeenSet; } /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline void SetAccessRole(const Aws::String& value) { m_accessRoleHasBeenSet = true; m_accessRole = value; } /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline void SetAccessRole(Aws::String&& value) { m_accessRoleHasBeenSet = true; m_accessRole = std::move(value); } /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline void SetAccessRole(const char* value) { m_accessRoleHasBeenSet = true; m_accessRole.assign(value); } /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline DescribedConnector& WithAccessRole(const Aws::String& value) { SetAccessRole(value); return *this;} /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline DescribedConnector& WithAccessRole(Aws::String&& value) { SetAccessRole(std::move(value)); return *this;} /** *

With AS2, you can send files by calling StartFileTransfer and * specifying the file paths in the request parameter, SendFilePaths. * We use the file’s parent directory (for example, for --send-file-paths * /bucket/dir/file.txt, parent directory is /bucket/dir/) to * temporarily store a processed AS2 message file, store the MDN when we receive * them from the partner, and write a final JSON file containing relevant metadata * of the transmission. So, the AccessRole needs to provide read and * write access to the parent directory of the file location used in the * StartFileTransfer request. Additionally, you need to provide read * and write access to the parent directory of the files that you intend to send * with StartFileTransfer.

If you are using Basic * authentication for your AS2 connector, the access role requires the * secretsmanager:GetSecretValue permission for the secret. If the * secret is encrypted using a customer-managed key instead of the Amazon Web * Services managed key in Secrets Manager, then the role also needs the * kms:Decrypt permission for that key.

*/ inline DescribedConnector& WithAccessRole(const char* value) { SetAccessRole(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline const Aws::String& GetLoggingRole() const{ return m_loggingRole; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline bool LoggingRoleHasBeenSet() const { return m_loggingRoleHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline void SetLoggingRole(const Aws::String& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = value; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline void SetLoggingRole(Aws::String&& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline void SetLoggingRole(const char* value) { m_loggingRoleHasBeenSet = true; m_loggingRole.assign(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline DescribedConnector& WithLoggingRole(const Aws::String& value) { SetLoggingRole(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline DescribedConnector& WithLoggingRole(Aws::String&& value) { SetLoggingRole(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role that allows a connector to turn on CloudWatch logging for Amazon S3 events. * When set, you can view connector activity in your CloudWatch logs.

*/ inline DescribedConnector& WithLoggingRole(const char* value) { SetLoggingRole(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

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

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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

*/ inline DescribedConnector& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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

*/ inline DescribedConnector& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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

*/ inline DescribedConnector& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

*/ inline DescribedConnector& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline const SftpConnectorConfig& GetSftpConfig() const{ return m_sftpConfig; } /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline bool SftpConfigHasBeenSet() const { return m_sftpConfigHasBeenSet; } /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline void SetSftpConfig(const SftpConnectorConfig& value) { m_sftpConfigHasBeenSet = true; m_sftpConfig = value; } /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline void SetSftpConfig(SftpConnectorConfig&& value) { m_sftpConfigHasBeenSet = true; m_sftpConfig = std::move(value); } /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline DescribedConnector& WithSftpConfig(const SftpConnectorConfig& value) { SetSftpConfig(value); return *this;} /** *

A structure that contains the parameters for an SFTP connector object.

*/ inline DescribedConnector& WithSftpConfig(SftpConnectorConfig&& value) { SetSftpConfig(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_connectorId; bool m_connectorIdHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; As2ConnectorConfig m_as2Config; bool m_as2ConfigHasBeenSet = false; Aws::String m_accessRole; bool m_accessRoleHasBeenSet = false; Aws::String m_loggingRole; bool m_loggingRoleHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; SftpConnectorConfig m_sftpConfig; bool m_sftpConfigHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws