/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace SES { namespace Model { /** *

Specifies whether messages that use the configuration set are required to use * Transport Layer Security (TLS).

See Also:

AWS * API Reference

*/ class DeliveryOptions { public: AWS_SES_API DeliveryOptions(); AWS_SES_API DeliveryOptions(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API DeliveryOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) 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;} private: TlsPolicy m_tlsPolicy; bool m_tlsPolicyHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws