/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Transfer { namespace Model { /** *

Describes the properties of an agreement.

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 DescribedAgreement& 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 DescribedAgreement& 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 DescribedAgreement& WithAgreementId(const char* value) { SetAgreementId(value); return *this;} /** *

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The name or short description that's used to identify the agreement.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

The current status of the agreement, either ACTIVE or * INACTIVE.

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

A system-assigned unique identifier for a server instance. This identifier * indicates 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 identifier * indicates the specific server that the agreement uses.

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

A system-assigned unique identifier for a server instance. This identifier * indicates 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 identifier * indicates 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 identifier * indicates 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 identifier * indicates the specific server that the agreement uses.

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

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

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

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

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

A unique identifier for the partner profile used in the agreement.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

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

The landing directory (folder) for files that are transferred by using the * AS2 protocol.

*/ inline DescribedAgreement& 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 DescribedAgreement& 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 DescribedAgreement& 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 DescribedAgreement& WithAccessRole(const char* value) { SetAccessRole(value); return *this;} /** *

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

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

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

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

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

*/ 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 agreements.

*/ 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 agreements.

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

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

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

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

*/ inline DescribedAgreement& 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 agreements.

*/ inline DescribedAgreement& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_agreementId; bool m_agreementIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; AgreementStatusType m_status; bool m_statusHasBeenSet = false; Aws::String m_serverId; bool m_serverIdHasBeenSet = 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; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws