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/sesv2/SESV2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/sesv2/model/SubscriptionStatus.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace SESV2 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>An interest group, theme, or label within a list. Lists can have multiple 29 * topics.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/Topic">AWS API 31 * Reference</a></p> 32 */ 33 class AWS_SESV2_API Topic 34 { 35 public: 36 Topic(); 37 Topic(Aws::Utils::Json::JsonView jsonValue); 38 Topic& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The name of the topic.</p> 44 */ GetTopicName()45 inline const Aws::String& GetTopicName() const{ return m_topicName; } 46 47 /** 48 * <p>The name of the topic.</p> 49 */ TopicNameHasBeenSet()50 inline bool TopicNameHasBeenSet() const { return m_topicNameHasBeenSet; } 51 52 /** 53 * <p>The name of the topic.</p> 54 */ SetTopicName(const Aws::String & value)55 inline void SetTopicName(const Aws::String& value) { m_topicNameHasBeenSet = true; m_topicName = value; } 56 57 /** 58 * <p>The name of the topic.</p> 59 */ SetTopicName(Aws::String && value)60 inline void SetTopicName(Aws::String&& value) { m_topicNameHasBeenSet = true; m_topicName = std::move(value); } 61 62 /** 63 * <p>The name of the topic.</p> 64 */ SetTopicName(const char * value)65 inline void SetTopicName(const char* value) { m_topicNameHasBeenSet = true; m_topicName.assign(value); } 66 67 /** 68 * <p>The name of the topic.</p> 69 */ WithTopicName(const Aws::String & value)70 inline Topic& WithTopicName(const Aws::String& value) { SetTopicName(value); return *this;} 71 72 /** 73 * <p>The name of the topic.</p> 74 */ WithTopicName(Aws::String && value)75 inline Topic& WithTopicName(Aws::String&& value) { SetTopicName(std::move(value)); return *this;} 76 77 /** 78 * <p>The name of the topic.</p> 79 */ WithTopicName(const char * value)80 inline Topic& WithTopicName(const char* value) { SetTopicName(value); return *this;} 81 82 83 /** 84 * <p>The name of the topic the contact will see.</p> 85 */ GetDisplayName()86 inline const Aws::String& GetDisplayName() const{ return m_displayName; } 87 88 /** 89 * <p>The name of the topic the contact will see.</p> 90 */ DisplayNameHasBeenSet()91 inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } 92 93 /** 94 * <p>The name of the topic the contact will see.</p> 95 */ SetDisplayName(const Aws::String & value)96 inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } 97 98 /** 99 * <p>The name of the topic the contact will see.</p> 100 */ SetDisplayName(Aws::String && value)101 inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } 102 103 /** 104 * <p>The name of the topic the contact will see.</p> 105 */ SetDisplayName(const char * value)106 inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } 107 108 /** 109 * <p>The name of the topic the contact will see.</p> 110 */ WithDisplayName(const Aws::String & value)111 inline Topic& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} 112 113 /** 114 * <p>The name of the topic the contact will see.</p> 115 */ WithDisplayName(Aws::String && value)116 inline Topic& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} 117 118 /** 119 * <p>The name of the topic the contact will see.</p> 120 */ WithDisplayName(const char * value)121 inline Topic& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} 122 123 124 /** 125 * <p>A description of what the topic is about, which the contact will see.</p> 126 */ GetDescription()127 inline const Aws::String& GetDescription() const{ return m_description; } 128 129 /** 130 * <p>A description of what the topic is about, which the contact will see.</p> 131 */ DescriptionHasBeenSet()132 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 133 134 /** 135 * <p>A description of what the topic is about, which the contact will see.</p> 136 */ SetDescription(const Aws::String & value)137 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 138 139 /** 140 * <p>A description of what the topic is about, which the contact will see.</p> 141 */ SetDescription(Aws::String && value)142 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 143 144 /** 145 * <p>A description of what the topic is about, which the contact will see.</p> 146 */ SetDescription(const char * value)147 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 148 149 /** 150 * <p>A description of what the topic is about, which the contact will see.</p> 151 */ WithDescription(const Aws::String & value)152 inline Topic& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 153 154 /** 155 * <p>A description of what the topic is about, which the contact will see.</p> 156 */ WithDescription(Aws::String && value)157 inline Topic& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 158 159 /** 160 * <p>A description of what the topic is about, which the contact will see.</p> 161 */ WithDescription(const char * value)162 inline Topic& WithDescription(const char* value) { SetDescription(value); return *this;} 163 164 165 /** 166 * <p>The default subscription status to be applied to a contact if the contact has 167 * not noted their preference for subscribing to a topic.</p> 168 */ GetDefaultSubscriptionStatus()169 inline const SubscriptionStatus& GetDefaultSubscriptionStatus() const{ return m_defaultSubscriptionStatus; } 170 171 /** 172 * <p>The default subscription status to be applied to a contact if the contact has 173 * not noted their preference for subscribing to a topic.</p> 174 */ DefaultSubscriptionStatusHasBeenSet()175 inline bool DefaultSubscriptionStatusHasBeenSet() const { return m_defaultSubscriptionStatusHasBeenSet; } 176 177 /** 178 * <p>The default subscription status to be applied to a contact if the contact has 179 * not noted their preference for subscribing to a topic.</p> 180 */ SetDefaultSubscriptionStatus(const SubscriptionStatus & value)181 inline void SetDefaultSubscriptionStatus(const SubscriptionStatus& value) { m_defaultSubscriptionStatusHasBeenSet = true; m_defaultSubscriptionStatus = value; } 182 183 /** 184 * <p>The default subscription status to be applied to a contact if the contact has 185 * not noted their preference for subscribing to a topic.</p> 186 */ SetDefaultSubscriptionStatus(SubscriptionStatus && value)187 inline void SetDefaultSubscriptionStatus(SubscriptionStatus&& value) { m_defaultSubscriptionStatusHasBeenSet = true; m_defaultSubscriptionStatus = std::move(value); } 188 189 /** 190 * <p>The default subscription status to be applied to a contact if the contact has 191 * not noted their preference for subscribing to a topic.</p> 192 */ WithDefaultSubscriptionStatus(const SubscriptionStatus & value)193 inline Topic& WithDefaultSubscriptionStatus(const SubscriptionStatus& value) { SetDefaultSubscriptionStatus(value); return *this;} 194 195 /** 196 * <p>The default subscription status to be applied to a contact if the contact has 197 * not noted their preference for subscribing to a topic.</p> 198 */ WithDefaultSubscriptionStatus(SubscriptionStatus && value)199 inline Topic& WithDefaultSubscriptionStatus(SubscriptionStatus&& value) { SetDefaultSubscriptionStatus(std::move(value)); return *this;} 200 201 private: 202 203 Aws::String m_topicName; 204 bool m_topicNameHasBeenSet; 205 206 Aws::String m_displayName; 207 bool m_displayNameHasBeenSet; 208 209 Aws::String m_description; 210 bool m_descriptionHasBeenSet; 211 212 SubscriptionStatus m_defaultSubscriptionStatus; 213 bool m_defaultSubscriptionStatusHasBeenSet; 214 }; 215 216 } // namespace Model 217 } // namespace SESV2 218 } // namespace Aws 219