1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/email/SES_EXPORTS.h> 8 #include <aws/email/SESRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/email/model/DeliveryOptions.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace SES 16 { 17 namespace Model 18 { 19 20 /** 21 * <p>A request to modify the delivery options for a configuration 22 * set.</p><p><h3>See Also:</h3> <a 23 * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutConfigurationSetDeliveryOptionsRequest">AWS 24 * API Reference</a></p> 25 */ 26 class AWS_SES_API PutConfigurationSetDeliveryOptionsRequest : public SESRequest 27 { 28 public: 29 PutConfigurationSetDeliveryOptionsRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "PutConfigurationSetDeliveryOptions"; } 36 37 Aws::String SerializePayload() const override; 38 39 protected: 40 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 41 42 public: 43 44 /** 45 * <p>The name of the configuration set that you want to specify the delivery 46 * options for.</p> 47 */ GetConfigurationSetName()48 inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } 49 50 /** 51 * <p>The name of the configuration set that you want to specify the delivery 52 * options for.</p> 53 */ ConfigurationSetNameHasBeenSet()54 inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } 55 56 /** 57 * <p>The name of the configuration set that you want to specify the delivery 58 * options for.</p> 59 */ SetConfigurationSetName(const Aws::String & value)60 inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } 61 62 /** 63 * <p>The name of the configuration set that you want to specify the delivery 64 * options for.</p> 65 */ SetConfigurationSetName(Aws::String && value)66 inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } 67 68 /** 69 * <p>The name of the configuration set that you want to specify the delivery 70 * options for.</p> 71 */ SetConfigurationSetName(const char * value)72 inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } 73 74 /** 75 * <p>The name of the configuration set that you want to specify the delivery 76 * options for.</p> 77 */ WithConfigurationSetName(const Aws::String & value)78 inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} 79 80 /** 81 * <p>The name of the configuration set that you want to specify the delivery 82 * options for.</p> 83 */ WithConfigurationSetName(Aws::String && value)84 inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} 85 86 /** 87 * <p>The name of the configuration set that you want to specify the delivery 88 * options for.</p> 89 */ WithConfigurationSetName(const char * value)90 inline PutConfigurationSetDeliveryOptionsRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} 91 92 93 /** 94 * <p>Specifies whether messages that use the configuration set are required to use 95 * Transport Layer Security (TLS).</p> 96 */ GetDeliveryOptions()97 inline const DeliveryOptions& GetDeliveryOptions() const{ return m_deliveryOptions; } 98 99 /** 100 * <p>Specifies whether messages that use the configuration set are required to use 101 * Transport Layer Security (TLS).</p> 102 */ DeliveryOptionsHasBeenSet()103 inline bool DeliveryOptionsHasBeenSet() const { return m_deliveryOptionsHasBeenSet; } 104 105 /** 106 * <p>Specifies whether messages that use the configuration set are required to use 107 * Transport Layer Security (TLS).</p> 108 */ SetDeliveryOptions(const DeliveryOptions & value)109 inline void SetDeliveryOptions(const DeliveryOptions& value) { m_deliveryOptionsHasBeenSet = true; m_deliveryOptions = value; } 110 111 /** 112 * <p>Specifies whether messages that use the configuration set are required to use 113 * Transport Layer Security (TLS).</p> 114 */ SetDeliveryOptions(DeliveryOptions && value)115 inline void SetDeliveryOptions(DeliveryOptions&& value) { m_deliveryOptionsHasBeenSet = true; m_deliveryOptions = std::move(value); } 116 117 /** 118 * <p>Specifies whether messages that use the configuration set are required to use 119 * Transport Layer Security (TLS).</p> 120 */ WithDeliveryOptions(const DeliveryOptions & value)121 inline PutConfigurationSetDeliveryOptionsRequest& WithDeliveryOptions(const DeliveryOptions& value) { SetDeliveryOptions(value); return *this;} 122 123 /** 124 * <p>Specifies whether messages that use the configuration set are required to use 125 * Transport Layer Security (TLS).</p> 126 */ WithDeliveryOptions(DeliveryOptions && value)127 inline PutConfigurationSetDeliveryOptionsRequest& WithDeliveryOptions(DeliveryOptions&& value) { SetDeliveryOptions(std::move(value)); return *this;} 128 129 private: 130 131 Aws::String m_configurationSetName; 132 bool m_configurationSetNameHasBeenSet; 133 134 DeliveryOptions m_deliveryOptions; 135 bool m_deliveryOptionsHasBeenSet; 136 }; 137 138 } // namespace Model 139 } // namespace SES 140 } // namespace Aws 141