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