/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Transfer { namespace Model { /** */ class UpdateAgreementRequest : public TransferRequest { public: AWS_TRANSFER_API UpdateAgreementRequest(); // 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 "UpdateAgreement"; } AWS_TRANSFER_API Aws::String SerializePayload() const override; AWS_TRANSFER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline const Aws::String& GetAgreementId() const{ return m_agreementId; } /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline bool AgreementIdHasBeenSet() const { return m_agreementIdHasBeenSet; } /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline void SetAgreementId(const Aws::String& value) { m_agreementIdHasBeenSet = true; m_agreementId = value; } /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline void SetAgreementId(Aws::String&& value) { m_agreementIdHasBeenSet = true; m_agreementId = std::move(value); } /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline void SetAgreementId(const char* value) { m_agreementIdHasBeenSet = true; m_agreementId.assign(value); } /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline UpdateAgreementRequest& WithAgreementId(const Aws::String& value) { SetAgreementId(value); return *this;} /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline UpdateAgreementRequest& WithAgreementId(Aws::String&& value) { SetAgreementId(std::move(value)); return *this;} /** *

A unique identifier for the agreement. This identifier is returned when you * create an agreement.

*/ inline UpdateAgreementRequest& WithAgreementId(const char* value) { SetAgreementId(value); return *this;} /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline const Aws::String& GetServerId() const{ return m_serverId; } /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline bool ServerIdHasBeenSet() const { return m_serverIdHasBeenSet; } /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline void SetServerId(const Aws::String& value) { m_serverIdHasBeenSet = true; m_serverId = value; } /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline void SetServerId(Aws::String&& value) { m_serverIdHasBeenSet = true; m_serverId = std::move(value); } /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline void SetServerId(const char* value) { m_serverIdHasBeenSet = true; m_serverId.assign(value); } /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline UpdateAgreementRequest& WithServerId(const Aws::String& value) { SetServerId(value); return *this;} /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline UpdateAgreementRequest& WithServerId(Aws::String&& value) { SetServerId(std::move(value)); return *this;} /** *

A system-assigned unique identifier for a server instance. This is the * specific server that the agreement uses.

*/ inline UpdateAgreementRequest& WithServerId(const char* value) { SetServerId(value); return *this;} /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline UpdateAgreementRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline UpdateAgreementRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

To replace the existing description, provide a short description for the * agreement.

*/ inline UpdateAgreementRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline const AgreementStatusType& GetStatus() const{ return m_status; } /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline void SetStatus(const AgreementStatusType& value) { m_statusHasBeenSet = true; m_status = value; } /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline void SetStatus(AgreementStatusType&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline UpdateAgreementRequest& WithStatus(const AgreementStatusType& value) { SetStatus(value); return *this;} /** *

You can update the status for the agreement, either activating an inactive * agreement or the reverse.

*/ inline UpdateAgreementRequest& WithStatus(AgreementStatusType&& value) { SetStatus(std::move(value)); return *this;} /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline const Aws::String& GetLocalProfileId() const{ return m_localProfileId; } /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline bool LocalProfileIdHasBeenSet() const { return m_localProfileIdHasBeenSet; } /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline void SetLocalProfileId(const Aws::String& value) { m_localProfileIdHasBeenSet = true; m_localProfileId = value; } /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline void SetLocalProfileId(Aws::String&& value) { m_localProfileIdHasBeenSet = true; m_localProfileId = std::move(value); } /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline void SetLocalProfileId(const char* value) { m_localProfileIdHasBeenSet = true; m_localProfileId.assign(value); } /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithLocalProfileId(const Aws::String& value) { SetLocalProfileId(value); return *this;} /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithLocalProfileId(Aws::String&& value) { SetLocalProfileId(std::move(value)); return *this;} /** *

A unique identifier for the AS2 local profile.

To change the local * profile identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithLocalProfileId(const char* value) { SetLocalProfileId(value); return *this;} /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline const Aws::String& GetPartnerProfileId() const{ return m_partnerProfileId; } /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline bool PartnerProfileIdHasBeenSet() const { return m_partnerProfileIdHasBeenSet; } /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline void SetPartnerProfileId(const Aws::String& value) { m_partnerProfileIdHasBeenSet = true; m_partnerProfileId = value; } /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline void SetPartnerProfileId(Aws::String&& value) { m_partnerProfileIdHasBeenSet = true; m_partnerProfileId = std::move(value); } /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline void SetPartnerProfileId(const char* value) { m_partnerProfileIdHasBeenSet = true; m_partnerProfileId.assign(value); } /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithPartnerProfileId(const Aws::String& value) { SetPartnerProfileId(value); return *this;} /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithPartnerProfileId(Aws::String&& value) { SetPartnerProfileId(std::move(value)); return *this;} /** *

A unique identifier for the partner profile. To change the partner profile * identifier, provide a new value here.

*/ inline UpdateAgreementRequest& WithPartnerProfileId(const char* value) { SetPartnerProfileId(value); return *this;} /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline const Aws::String& GetBaseDirectory() const{ return m_baseDirectory; } /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline bool BaseDirectoryHasBeenSet() const { return m_baseDirectoryHasBeenSet; } /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline void SetBaseDirectory(const Aws::String& value) { m_baseDirectoryHasBeenSet = true; m_baseDirectory = value; } /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline void SetBaseDirectory(Aws::String&& value) { m_baseDirectoryHasBeenSet = true; m_baseDirectory = std::move(value); } /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline void SetBaseDirectory(const char* value) { m_baseDirectoryHasBeenSet = true; m_baseDirectory.assign(value); } /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline UpdateAgreementRequest& WithBaseDirectory(const Aws::String& value) { SetBaseDirectory(value); return *this;} /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline UpdateAgreementRequest& WithBaseDirectory(Aws::String&& value) { SetBaseDirectory(std::move(value)); return *this;} /** *

To change the landing directory (folder) for files that are transferred, * provide the bucket folder that you want to use; for example, * /DOC-EXAMPLE-BUCKET/home/mydirectory .

*/ inline UpdateAgreementRequest& WithBaseDirectory(const char* value) { SetBaseDirectory(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 UpdateAgreementRequest& 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 UpdateAgreementRequest& 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 UpdateAgreementRequest& WithAccessRole(const char* value) { SetAccessRole(value); return *this;} private: Aws::String m_agreementId; bool m_agreementIdHasBeenSet = false; Aws::String m_serverId; bool m_serverIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; AgreementStatusType m_status; bool m_statusHasBeenSet = false; Aws::String m_localProfileId; bool m_localProfileIdHasBeenSet = false; Aws::String m_partnerProfileId; bool m_partnerProfileIdHasBeenSet = false; Aws::String m_baseDirectory; bool m_baseDirectoryHasBeenSet = false; Aws::String m_accessRole; bool m_accessRoleHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws