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/NotificationType.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 set whether Amazon SES includes the original email 22 * headers in the Amazon SNS notifications of a specified type. For information 23 * about notifications, see the <a 24 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html">Amazon 25 * SES Developer Guide</a>.</p><p><h3>See Also:</h3> <a 26 * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SetIdentityHeadersInNotificationsEnabledRequest">AWS 27 * API Reference</a></p> 28 */ 29 class AWS_SES_API SetIdentityHeadersInNotificationsEnabledRequest : public SESRequest 30 { 31 public: 32 SetIdentityHeadersInNotificationsEnabledRequest(); 33 34 // Service request name is the Operation name which will send this request out, 35 // each operation should has unique request name, so that we can get operation's name from this request. 36 // Note: this is not true for response, multiple operations may have the same response name, 37 // so we can not get operation's name from response. GetServiceRequestName()38 inline virtual const char* GetServiceRequestName() const override { return "SetIdentityHeadersInNotificationsEnabled"; } 39 40 Aws::String SerializePayload() const override; 41 42 protected: 43 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 44 45 public: 46 47 /** 48 * <p>The identity for which to enable or disable headers in notifications. 49 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 50 */ GetIdentity()51 inline const Aws::String& GetIdentity() const{ return m_identity; } 52 53 /** 54 * <p>The identity for which to enable or disable headers in notifications. 55 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 56 */ IdentityHasBeenSet()57 inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } 58 59 /** 60 * <p>The identity for which to enable or disable headers in notifications. 61 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 62 */ SetIdentity(const Aws::String & value)63 inline void SetIdentity(const Aws::String& value) { m_identityHasBeenSet = true; m_identity = value; } 64 65 /** 66 * <p>The identity for which to enable or disable headers in notifications. 67 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 68 */ SetIdentity(Aws::String && value)69 inline void SetIdentity(Aws::String&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); } 70 71 /** 72 * <p>The identity for which to enable or disable headers in notifications. 73 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 74 */ SetIdentity(const char * value)75 inline void SetIdentity(const char* value) { m_identityHasBeenSet = true; m_identity.assign(value); } 76 77 /** 78 * <p>The identity for which to enable or disable headers in notifications. 79 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 80 */ WithIdentity(const Aws::String & value)81 inline SetIdentityHeadersInNotificationsEnabledRequest& WithIdentity(const Aws::String& value) { SetIdentity(value); return *this;} 82 83 /** 84 * <p>The identity for which to enable or disable headers in notifications. 85 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 86 */ WithIdentity(Aws::String && value)87 inline SetIdentityHeadersInNotificationsEnabledRequest& WithIdentity(Aws::String&& value) { SetIdentity(std::move(value)); return *this;} 88 89 /** 90 * <p>The identity for which to enable or disable headers in notifications. 91 * Examples: <code>user@example.com</code>, <code>example.com</code>.</p> 92 */ WithIdentity(const char * value)93 inline SetIdentityHeadersInNotificationsEnabledRequest& WithIdentity(const char* value) { SetIdentity(value); return *this;} 94 95 96 /** 97 * <p>The notification type for which to enable or disable headers in 98 * notifications. </p> 99 */ GetNotificationType()100 inline const NotificationType& GetNotificationType() const{ return m_notificationType; } 101 102 /** 103 * <p>The notification type for which to enable or disable headers in 104 * notifications. </p> 105 */ NotificationTypeHasBeenSet()106 inline bool NotificationTypeHasBeenSet() const { return m_notificationTypeHasBeenSet; } 107 108 /** 109 * <p>The notification type for which to enable or disable headers in 110 * notifications. </p> 111 */ SetNotificationType(const NotificationType & value)112 inline void SetNotificationType(const NotificationType& value) { m_notificationTypeHasBeenSet = true; m_notificationType = value; } 113 114 /** 115 * <p>The notification type for which to enable or disable headers in 116 * notifications. </p> 117 */ SetNotificationType(NotificationType && value)118 inline void SetNotificationType(NotificationType&& value) { m_notificationTypeHasBeenSet = true; m_notificationType = std::move(value); } 119 120 /** 121 * <p>The notification type for which to enable or disable headers in 122 * notifications. </p> 123 */ WithNotificationType(const NotificationType & value)124 inline SetIdentityHeadersInNotificationsEnabledRequest& WithNotificationType(const NotificationType& value) { SetNotificationType(value); return *this;} 125 126 /** 127 * <p>The notification type for which to enable or disable headers in 128 * notifications. </p> 129 */ WithNotificationType(NotificationType && value)130 inline SetIdentityHeadersInNotificationsEnabledRequest& WithNotificationType(NotificationType&& value) { SetNotificationType(std::move(value)); return *this;} 131 132 133 /** 134 * <p>Sets whether Amazon SES includes the original email headers in Amazon SNS 135 * notifications of the specified notification type. A value of <code>true</code> 136 * specifies that Amazon SES will include headers in notifications, and a value of 137 * <code>false</code> specifies that Amazon SES will not include headers in 138 * notifications.</p> <p>This value can only be set when 139 * <code>NotificationType</code> is already set to use a particular Amazon SNS 140 * topic.</p> 141 */ GetEnabled()142 inline bool GetEnabled() const{ return m_enabled; } 143 144 /** 145 * <p>Sets whether Amazon SES includes the original email headers in Amazon SNS 146 * notifications of the specified notification type. A value of <code>true</code> 147 * specifies that Amazon SES will include headers in notifications, and a value of 148 * <code>false</code> specifies that Amazon SES will not include headers in 149 * notifications.</p> <p>This value can only be set when 150 * <code>NotificationType</code> is already set to use a particular Amazon SNS 151 * topic.</p> 152 */ EnabledHasBeenSet()153 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } 154 155 /** 156 * <p>Sets whether Amazon SES includes the original email headers in Amazon SNS 157 * notifications of the specified notification type. A value of <code>true</code> 158 * specifies that Amazon SES will include headers in notifications, and a value of 159 * <code>false</code> specifies that Amazon SES will not include headers in 160 * notifications.</p> <p>This value can only be set when 161 * <code>NotificationType</code> is already set to use a particular Amazon SNS 162 * topic.</p> 163 */ SetEnabled(bool value)164 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } 165 166 /** 167 * <p>Sets whether Amazon SES includes the original email headers in Amazon SNS 168 * notifications of the specified notification type. A value of <code>true</code> 169 * specifies that Amazon SES will include headers in notifications, and a value of 170 * <code>false</code> specifies that Amazon SES will not include headers in 171 * notifications.</p> <p>This value can only be set when 172 * <code>NotificationType</code> is already set to use a particular Amazon SNS 173 * topic.</p> 174 */ WithEnabled(bool value)175 inline SetIdentityHeadersInNotificationsEnabledRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} 176 177 private: 178 179 Aws::String m_identity; 180 bool m_identityHasBeenSet; 181 182 NotificationType m_notificationType; 183 bool m_notificationTypeHasBeenSet; 184 185 bool m_enabled; 186 bool m_enabledHasBeenSet; 187 }; 188 189 } // namespace Model 190 } // namespace SES 191 } // namespace Aws 192