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/TrackingOptions.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace SES
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Represents a request to create an open and click tracking option object in a
22    * configuration set. </p><p><h3>See Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptionsRequest">AWS
24    * API Reference</a></p>
25    */
26   class AWS_SES_API CreateConfigurationSetTrackingOptionsRequest : public SESRequest
27   {
28   public:
29     CreateConfigurationSetTrackingOptionsRequest();
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 "CreateConfigurationSetTrackingOptions"; }
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 the tracking options should be
46      * associated with.</p>
47      */
GetConfigurationSetName()48     inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; }
49 
50     /**
51      * <p>The name of the configuration set that the tracking options should be
52      * associated with.</p>
53      */
ConfigurationSetNameHasBeenSet()54     inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; }
55 
56     /**
57      * <p>The name of the configuration set that the tracking options should be
58      * associated with.</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 the tracking options should be
64      * associated with.</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 the tracking options should be
70      * associated with.</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 the tracking options should be
76      * associated with.</p>
77      */
WithConfigurationSetName(const Aws::String & value)78     inline CreateConfigurationSetTrackingOptionsRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;}
79 
80     /**
81      * <p>The name of the configuration set that the tracking options should be
82      * associated with.</p>
83      */
WithConfigurationSetName(Aws::String && value)84     inline CreateConfigurationSetTrackingOptionsRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;}
85 
86     /**
87      * <p>The name of the configuration set that the tracking options should be
88      * associated with.</p>
89      */
WithConfigurationSetName(const char * value)90     inline CreateConfigurationSetTrackingOptionsRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;}
91 
92 
93 
GetTrackingOptions()94     inline const TrackingOptions& GetTrackingOptions() const{ return m_trackingOptions; }
95 
96 
TrackingOptionsHasBeenSet()97     inline bool TrackingOptionsHasBeenSet() const { return m_trackingOptionsHasBeenSet; }
98 
99 
SetTrackingOptions(const TrackingOptions & value)100     inline void SetTrackingOptions(const TrackingOptions& value) { m_trackingOptionsHasBeenSet = true; m_trackingOptions = value; }
101 
102 
SetTrackingOptions(TrackingOptions && value)103     inline void SetTrackingOptions(TrackingOptions&& value) { m_trackingOptionsHasBeenSet = true; m_trackingOptions = std::move(value); }
104 
105 
WithTrackingOptions(const TrackingOptions & value)106     inline CreateConfigurationSetTrackingOptionsRequest& WithTrackingOptions(const TrackingOptions& value) { SetTrackingOptions(value); return *this;}
107 
108 
WithTrackingOptions(TrackingOptions && value)109     inline CreateConfigurationSetTrackingOptionsRequest& WithTrackingOptions(TrackingOptions&& value) { SetTrackingOptions(std::move(value)); return *this;}
110 
111   private:
112 
113     Aws::String m_configurationSetName;
114     bool m_configurationSetNameHasBeenSet;
115 
116     TrackingOptions m_trackingOptions;
117     bool m_trackingOptionsHasBeenSet;
118   };
119 
120 } // namespace Model
121 } // namespace SES
122 } // namespace Aws
123