/** * 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 SESV2 { namespace Model { /** *

A request to associate a configuration set with a dedicated IP * pool.

See Also:

AWS * API Reference

*/ class PutConfigurationSetDeliveryOptionsRequest : public SESV2Request { public: AWS_SESV2_API PutConfigurationSetDeliveryOptionsRequest(); // 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 "PutConfigurationSetDeliveryOptions"; } AWS_SESV2_API Aws::String SerializePayload() const override; /** *

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

*/ inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } /** *

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

*/ inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } /** *

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

*/ inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } /** *

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

*/ inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } /** *

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

*/ inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } /** *

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

*/ inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} /** *

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

*/ inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} /** *

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

*/ inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(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 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 PutConfigurationSetDeliveryOptionsRequest& 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 PutConfigurationSetDeliveryOptionsRequest& 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 PutConfigurationSetDeliveryOptionsRequest& WithSendingPoolName(const Aws::String& value) { SetSendingPoolName(value); return *this;} /** *

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

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

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

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