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

Contains the details for an AS2 connector object. The connector object is * used for AS2 outbound processes, to connect the Transfer Family customer with * the trading partner.

See Also:

AWS * API Reference

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

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 As2ConnectorConfig& WithLocalProfileId(const Aws::String& value) { SetLocalProfileId(value); return *this;} /** *

A unique identifier for the AS2 local profile.

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

A unique identifier for the AS2 local profile.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

A unique identifier for the partner profile for the connector.

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

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline const Aws::String& GetMessageSubject() const{ return m_messageSubject; } /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline bool MessageSubjectHasBeenSet() const { return m_messageSubjectHasBeenSet; } /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline void SetMessageSubject(const Aws::String& value) { m_messageSubjectHasBeenSet = true; m_messageSubject = value; } /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline void SetMessageSubject(Aws::String&& value) { m_messageSubjectHasBeenSet = true; m_messageSubject = std::move(value); } /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline void SetMessageSubject(const char* value) { m_messageSubjectHasBeenSet = true; m_messageSubject.assign(value); } /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline As2ConnectorConfig& WithMessageSubject(const Aws::String& value) { SetMessageSubject(value); return *this;} /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline As2ConnectorConfig& WithMessageSubject(Aws::String&& value) { SetMessageSubject(std::move(value)); return *this;} /** *

Used as the Subject HTTP header attribute in AS2 messages that * are being sent with the connector.

*/ inline As2ConnectorConfig& WithMessageSubject(const char* value) { SetMessageSubject(value); return *this;} /** *

Specifies whether the AS2 file is compressed.

*/ inline const CompressionEnum& GetCompression() const{ return m_compression; } /** *

Specifies whether the AS2 file is compressed.

*/ inline bool CompressionHasBeenSet() const { return m_compressionHasBeenSet; } /** *

Specifies whether the AS2 file is compressed.

*/ inline void SetCompression(const CompressionEnum& value) { m_compressionHasBeenSet = true; m_compression = value; } /** *

Specifies whether the AS2 file is compressed.

*/ inline void SetCompression(CompressionEnum&& value) { m_compressionHasBeenSet = true; m_compression = std::move(value); } /** *

Specifies whether the AS2 file is compressed.

*/ inline As2ConnectorConfig& WithCompression(const CompressionEnum& value) { SetCompression(value); return *this;} /** *

Specifies whether the AS2 file is compressed.

*/ inline As2ConnectorConfig& WithCompression(CompressionEnum&& value) { SetCompression(std::move(value)); return *this;} /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline const EncryptionAlg& GetEncryptionAlgorithm() const{ return m_encryptionAlgorithm; } /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline bool EncryptionAlgorithmHasBeenSet() const { return m_encryptionAlgorithmHasBeenSet; } /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline void SetEncryptionAlgorithm(const EncryptionAlg& value) { m_encryptionAlgorithmHasBeenSet = true; m_encryptionAlgorithm = value; } /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline void SetEncryptionAlgorithm(EncryptionAlg&& value) { m_encryptionAlgorithmHasBeenSet = true; m_encryptionAlgorithm = std::move(value); } /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline As2ConnectorConfig& WithEncryptionAlgorithm(const EncryptionAlg& value) { SetEncryptionAlgorithm(value); return *this;} /** *

The algorithm that is used to encrypt the file.

You can only * specify NONE if the URL for your connector uses HTTPS. This ensures * that no traffic is sent in clear text.

*/ inline As2ConnectorConfig& WithEncryptionAlgorithm(EncryptionAlg&& value) { SetEncryptionAlgorithm(std::move(value)); return *this;} /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline const SigningAlg& GetSigningAlgorithm() const{ return m_signingAlgorithm; } /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline bool SigningAlgorithmHasBeenSet() const { return m_signingAlgorithmHasBeenSet; } /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline void SetSigningAlgorithm(const SigningAlg& value) { m_signingAlgorithmHasBeenSet = true; m_signingAlgorithm = value; } /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline void SetSigningAlgorithm(SigningAlg&& value) { m_signingAlgorithmHasBeenSet = true; m_signingAlgorithm = std::move(value); } /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline As2ConnectorConfig& WithSigningAlgorithm(const SigningAlg& value) { SetSigningAlgorithm(value); return *this;} /** *

The algorithm that is used to sign the AS2 messages sent with the * connector.

*/ inline As2ConnectorConfig& WithSigningAlgorithm(SigningAlg&& value) { SetSigningAlgorithm(std::move(value)); return *this;} /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline const MdnSigningAlg& GetMdnSigningAlgorithm() const{ return m_mdnSigningAlgorithm; } /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline bool MdnSigningAlgorithmHasBeenSet() const { return m_mdnSigningAlgorithmHasBeenSet; } /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline void SetMdnSigningAlgorithm(const MdnSigningAlg& value) { m_mdnSigningAlgorithmHasBeenSet = true; m_mdnSigningAlgorithm = value; } /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline void SetMdnSigningAlgorithm(MdnSigningAlg&& value) { m_mdnSigningAlgorithmHasBeenSet = true; m_mdnSigningAlgorithm = std::move(value); } /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline As2ConnectorConfig& WithMdnSigningAlgorithm(const MdnSigningAlg& value) { SetMdnSigningAlgorithm(value); return *this;} /** *

The signing algorithm for the MDN response.

If set to DEFAULT * (or not set at all), the value for SigningAlgorithm is used.

* */ inline As2ConnectorConfig& WithMdnSigningAlgorithm(MdnSigningAlg&& value) { SetMdnSigningAlgorithm(std::move(value)); return *this;} /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline const MdnResponse& GetMdnResponse() const{ return m_mdnResponse; } /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline bool MdnResponseHasBeenSet() const { return m_mdnResponseHasBeenSet; } /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline void SetMdnResponse(const MdnResponse& value) { m_mdnResponseHasBeenSet = true; m_mdnResponse = value; } /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline void SetMdnResponse(MdnResponse&& value) { m_mdnResponseHasBeenSet = true; m_mdnResponse = std::move(value); } /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline As2ConnectorConfig& WithMdnResponse(const MdnResponse& value) { SetMdnResponse(value); return *this;} /** *

Used for outbound requests (from an Transfer Family server to a partner AS2 * server) to determine whether the partner response for transfers is synchronous * or asynchronous. Specify either of the following values:

  • * SYNC: The system expects a synchronous MDN response, confirming * that the file was transferred successfully (or not).

  • * NONE: Specifies that no MDN response is required.

*/ inline As2ConnectorConfig& WithMdnResponse(MdnResponse&& value) { SetMdnResponse(std::move(value)); return *this;} /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline const Aws::String& GetBasicAuthSecretId() const{ return m_basicAuthSecretId; } /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline bool BasicAuthSecretIdHasBeenSet() const { return m_basicAuthSecretIdHasBeenSet; } /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline void SetBasicAuthSecretId(const Aws::String& value) { m_basicAuthSecretIdHasBeenSet = true; m_basicAuthSecretId = value; } /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline void SetBasicAuthSecretId(Aws::String&& value) { m_basicAuthSecretIdHasBeenSet = true; m_basicAuthSecretId = std::move(value); } /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline void SetBasicAuthSecretId(const char* value) { m_basicAuthSecretIdHasBeenSet = true; m_basicAuthSecretId.assign(value); } /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline As2ConnectorConfig& WithBasicAuthSecretId(const Aws::String& value) { SetBasicAuthSecretId(value); return *this;} /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline As2ConnectorConfig& WithBasicAuthSecretId(Aws::String&& value) { SetBasicAuthSecretId(std::move(value)); return *this;} /** *

Provides Basic authentication support to the AS2 Connectors API. To use Basic * authentication, you must provide the name or Amazon Resource Name (ARN) of a * secret in Secrets Manager.

The default value for this parameter is * null, which indicates that Basic authentication is not enabled for * the connector.

If the connector should use Basic authentication, the * secret needs to be in the following format:

{ "Username": * "user-name", "Password": "user-password" }

Replace * user-name and user-password with the credentials for * the actual user that is being authenticated.

Note the following:

    *
  • You are storing these credentials in Secrets Manager, not passing * them directly into this API.

  • If you are using the API, * SDKs, or CloudFormation to configure your connector, then you must create the * secret before you can enable Basic authentication. However, if you are using the * Amazon Web Services management console, you can have the system create the * secret for you.

If you have previously enabled Basic * authentication for a connector, you can disable it by using the * UpdateConnector API call. For example, if you are using the CLI, * you can run the following command to remove Basic authentication:

* update-connector --connector-id my-connector-id --as2-config * 'BasicAuthSecretId=""'

*/ inline As2ConnectorConfig& WithBasicAuthSecretId(const char* value) { SetBasicAuthSecretId(value); return *this;} private: Aws::String m_localProfileId; bool m_localProfileIdHasBeenSet = false; Aws::String m_partnerProfileId; bool m_partnerProfileIdHasBeenSet = false; Aws::String m_messageSubject; bool m_messageSubjectHasBeenSet = false; CompressionEnum m_compression; bool m_compressionHasBeenSet = false; EncryptionAlg m_encryptionAlgorithm; bool m_encryptionAlgorithmHasBeenSet = false; SigningAlg m_signingAlgorithm; bool m_signingAlgorithmHasBeenSet = false; MdnSigningAlg m_mdnSigningAlgorithm; bool m_mdnSigningAlgorithmHasBeenSet = false; MdnResponse m_mdnResponse; bool m_mdnResponseHasBeenSet = false; Aws::String m_basicAuthSecretId; bool m_basicAuthSecretIdHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws