/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Transfer { namespace Model { /** */ class UpdateConnectorRequest : public TransferRequest { public: AWS_TRANSFER_API UpdateConnectorRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateConnector"; } AWS_TRANSFER_API Aws::String SerializePayload() const override; AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 UpdateConnectorRequest& WithConnectorId(const Aws::String& value) { SetConnectorId(value); return *this;} /** *

The unique identifier for the connector.

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

The unique identifier for the connector.

*/ inline UpdateConnectorRequest& 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 UpdateConnectorRequest& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

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

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

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

*/ inline UpdateConnectorRequest& 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 UpdateConnectorRequest& WithAs2Config(const As2ConnectorConfig& value) { SetAs2Config(value); return *this;} /** *

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

*/ inline UpdateConnectorRequest& 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 UpdateConnectorRequest& 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 UpdateConnectorRequest& 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 UpdateConnectorRequest& 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 UpdateConnectorRequest& 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 UpdateConnectorRequest& 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 UpdateConnectorRequest& WithLoggingRole(const char* value) { SetLoggingRole(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 UpdateConnectorRequest& WithSftpConfig(const SftpConnectorConfig& value) { SetSftpConfig(value); return *this;} /** *

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

*/ inline UpdateConnectorRequest& WithSftpConfig(SftpConnectorConfig&& value) { SetSftpConfig(std::move(value)); return *this;} private: 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; SftpConnectorConfig m_sftpConfig; bool m_sftpConfigHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws