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

Used to associate a configuration set with a dedicated IP pool.

See * Also:

AWS * API Reference

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

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline const TlsPolicy& GetTlsPolicy() const{ return m_tlsPolicy; } /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline bool TlsPolicyHasBeenSet() const { return m_tlsPolicyHasBeenSet; } /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline void SetTlsPolicy(const TlsPolicy& value) { m_tlsPolicyHasBeenSet = true; m_tlsPolicy = value; } /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline void SetTlsPolicy(TlsPolicy&& value) { m_tlsPolicyHasBeenSet = true; m_tlsPolicy = std::move(value); } /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline DeliveryOptions& WithTlsPolicy(const TlsPolicy& value) { SetTlsPolicy(value); return *this;} /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS). If the value is Require, messages * are only delivered if a TLS connection can be established. If the value is * Optional, messages can be delivered in plain text if a TLS * connection can't be established.

*/ inline DeliveryOptions& WithTlsPolicy(TlsPolicy&& value) { SetTlsPolicy(std::move(value)); return *this;} /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline const Aws::String& GetSendingPoolName() const{ return m_sendingPoolName; } /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline bool SendingPoolNameHasBeenSet() const { return m_sendingPoolNameHasBeenSet; } /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline void SetSendingPoolName(const Aws::String& value) { m_sendingPoolNameHasBeenSet = true; m_sendingPoolName = value; } /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline void SetSendingPoolName(Aws::String&& value) { m_sendingPoolNameHasBeenSet = true; m_sendingPoolName = std::move(value); } /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline void SetSendingPoolName(const char* value) { m_sendingPoolNameHasBeenSet = true; m_sendingPoolName.assign(value); } /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline DeliveryOptions& WithSendingPoolName(const Aws::String& value) { SetSendingPoolName(value); return *this;} /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline DeliveryOptions& WithSendingPoolName(Aws::String&& value) { SetSendingPoolName(std::move(value)); return *this;} /** *

The name of the dedicated IP pool to associate with the configuration * set.

*/ inline DeliveryOptions& WithSendingPoolName(const char* value) { SetSendingPoolName(value); return *this;} private: TlsPolicy m_tlsPolicy; bool m_tlsPolicyHasBeenSet = false; Aws::String m_sendingPoolName; bool m_sendingPoolNameHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws