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