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/chime/Chime_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/chime/model/ChannelMode.h> 10 #include <aws/chime/model/ChannelPrivacy.h> 11 #include <aws/core/utils/DateTime.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace Chime 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Summary of the details of a <code>Channel</code>.</p><p><h3>See Also:</h3> 31 * <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/ChannelSummary">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_CHIME_API ChannelSummary 36 { 37 public: 38 ChannelSummary(); 39 ChannelSummary(Aws::Utils::Json::JsonView jsonValue); 40 ChannelSummary& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The name of the channel.</p> 46 */ GetName()47 inline const Aws::String& GetName() const{ return m_name; } 48 49 /** 50 * <p>The name of the channel.</p> 51 */ NameHasBeenSet()52 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 53 54 /** 55 * <p>The name of the channel.</p> 56 */ SetName(const Aws::String & value)57 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 58 59 /** 60 * <p>The name of the channel.</p> 61 */ SetName(Aws::String && value)62 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 63 64 /** 65 * <p>The name of the channel.</p> 66 */ SetName(const char * value)67 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 68 69 /** 70 * <p>The name of the channel.</p> 71 */ WithName(const Aws::String & value)72 inline ChannelSummary& WithName(const Aws::String& value) { SetName(value); return *this;} 73 74 /** 75 * <p>The name of the channel.</p> 76 */ WithName(Aws::String && value)77 inline ChannelSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 78 79 /** 80 * <p>The name of the channel.</p> 81 */ WithName(const char * value)82 inline ChannelSummary& WithName(const char* value) { SetName(value); return *this;} 83 84 85 /** 86 * <p>The ARN of the channel.</p> 87 */ GetChannelArn()88 inline const Aws::String& GetChannelArn() const{ return m_channelArn; } 89 90 /** 91 * <p>The ARN of the channel.</p> 92 */ ChannelArnHasBeenSet()93 inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; } 94 95 /** 96 * <p>The ARN of the channel.</p> 97 */ SetChannelArn(const Aws::String & value)98 inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; } 99 100 /** 101 * <p>The ARN of the channel.</p> 102 */ SetChannelArn(Aws::String && value)103 inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); } 104 105 /** 106 * <p>The ARN of the channel.</p> 107 */ SetChannelArn(const char * value)108 inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); } 109 110 /** 111 * <p>The ARN of the channel.</p> 112 */ WithChannelArn(const Aws::String & value)113 inline ChannelSummary& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;} 114 115 /** 116 * <p>The ARN of the channel.</p> 117 */ WithChannelArn(Aws::String && value)118 inline ChannelSummary& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;} 119 120 /** 121 * <p>The ARN of the channel.</p> 122 */ WithChannelArn(const char * value)123 inline ChannelSummary& WithChannelArn(const char* value) { SetChannelArn(value); return *this;} 124 125 126 /** 127 * <p>The mode of the channel.</p> 128 */ GetMode()129 inline const ChannelMode& GetMode() const{ return m_mode; } 130 131 /** 132 * <p>The mode of the channel.</p> 133 */ ModeHasBeenSet()134 inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } 135 136 /** 137 * <p>The mode of the channel.</p> 138 */ SetMode(const ChannelMode & value)139 inline void SetMode(const ChannelMode& value) { m_modeHasBeenSet = true; m_mode = value; } 140 141 /** 142 * <p>The mode of the channel.</p> 143 */ SetMode(ChannelMode && value)144 inline void SetMode(ChannelMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } 145 146 /** 147 * <p>The mode of the channel.</p> 148 */ WithMode(const ChannelMode & value)149 inline ChannelSummary& WithMode(const ChannelMode& value) { SetMode(value); return *this;} 150 151 /** 152 * <p>The mode of the channel.</p> 153 */ WithMode(ChannelMode && value)154 inline ChannelSummary& WithMode(ChannelMode&& value) { SetMode(std::move(value)); return *this;} 155 156 157 /** 158 * <p>The privacy setting of the channel.</p> 159 */ GetPrivacy()160 inline const ChannelPrivacy& GetPrivacy() const{ return m_privacy; } 161 162 /** 163 * <p>The privacy setting of the channel.</p> 164 */ PrivacyHasBeenSet()165 inline bool PrivacyHasBeenSet() const { return m_privacyHasBeenSet; } 166 167 /** 168 * <p>The privacy setting of the channel.</p> 169 */ SetPrivacy(const ChannelPrivacy & value)170 inline void SetPrivacy(const ChannelPrivacy& value) { m_privacyHasBeenSet = true; m_privacy = value; } 171 172 /** 173 * <p>The privacy setting of the channel.</p> 174 */ SetPrivacy(ChannelPrivacy && value)175 inline void SetPrivacy(ChannelPrivacy&& value) { m_privacyHasBeenSet = true; m_privacy = std::move(value); } 176 177 /** 178 * <p>The privacy setting of the channel.</p> 179 */ WithPrivacy(const ChannelPrivacy & value)180 inline ChannelSummary& WithPrivacy(const ChannelPrivacy& value) { SetPrivacy(value); return *this;} 181 182 /** 183 * <p>The privacy setting of the channel.</p> 184 */ WithPrivacy(ChannelPrivacy && value)185 inline ChannelSummary& WithPrivacy(ChannelPrivacy&& value) { SetPrivacy(std::move(value)); return *this;} 186 187 188 /** 189 * <p>The metadata of the channel.</p> 190 */ GetMetadata()191 inline const Aws::String& GetMetadata() const{ return m_metadata; } 192 193 /** 194 * <p>The metadata of the channel.</p> 195 */ MetadataHasBeenSet()196 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } 197 198 /** 199 * <p>The metadata of the channel.</p> 200 */ SetMetadata(const Aws::String & value)201 inline void SetMetadata(const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata = value; } 202 203 /** 204 * <p>The metadata of the channel.</p> 205 */ SetMetadata(Aws::String && value)206 inline void SetMetadata(Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } 207 208 /** 209 * <p>The metadata of the channel.</p> 210 */ SetMetadata(const char * value)211 inline void SetMetadata(const char* value) { m_metadataHasBeenSet = true; m_metadata.assign(value); } 212 213 /** 214 * <p>The metadata of the channel.</p> 215 */ WithMetadata(const Aws::String & value)216 inline ChannelSummary& WithMetadata(const Aws::String& value) { SetMetadata(value); return *this;} 217 218 /** 219 * <p>The metadata of the channel.</p> 220 */ WithMetadata(Aws::String && value)221 inline ChannelSummary& WithMetadata(Aws::String&& value) { SetMetadata(std::move(value)); return *this;} 222 223 /** 224 * <p>The metadata of the channel.</p> 225 */ WithMetadata(const char * value)226 inline ChannelSummary& WithMetadata(const char* value) { SetMetadata(value); return *this;} 227 228 229 /** 230 * <p>The time at which the last message in a channel was sent.</p> 231 */ GetLastMessageTimestamp()232 inline const Aws::Utils::DateTime& GetLastMessageTimestamp() const{ return m_lastMessageTimestamp; } 233 234 /** 235 * <p>The time at which the last message in a channel was sent.</p> 236 */ LastMessageTimestampHasBeenSet()237 inline bool LastMessageTimestampHasBeenSet() const { return m_lastMessageTimestampHasBeenSet; } 238 239 /** 240 * <p>The time at which the last message in a channel was sent.</p> 241 */ SetLastMessageTimestamp(const Aws::Utils::DateTime & value)242 inline void SetLastMessageTimestamp(const Aws::Utils::DateTime& value) { m_lastMessageTimestampHasBeenSet = true; m_lastMessageTimestamp = value; } 243 244 /** 245 * <p>The time at which the last message in a channel was sent.</p> 246 */ SetLastMessageTimestamp(Aws::Utils::DateTime && value)247 inline void SetLastMessageTimestamp(Aws::Utils::DateTime&& value) { m_lastMessageTimestampHasBeenSet = true; m_lastMessageTimestamp = std::move(value); } 248 249 /** 250 * <p>The time at which the last message in a channel was sent.</p> 251 */ WithLastMessageTimestamp(const Aws::Utils::DateTime & value)252 inline ChannelSummary& WithLastMessageTimestamp(const Aws::Utils::DateTime& value) { SetLastMessageTimestamp(value); return *this;} 253 254 /** 255 * <p>The time at which the last message in a channel was sent.</p> 256 */ WithLastMessageTimestamp(Aws::Utils::DateTime && value)257 inline ChannelSummary& WithLastMessageTimestamp(Aws::Utils::DateTime&& value) { SetLastMessageTimestamp(std::move(value)); return *this;} 258 259 private: 260 261 Aws::String m_name; 262 bool m_nameHasBeenSet; 263 264 Aws::String m_channelArn; 265 bool m_channelArnHasBeenSet; 266 267 ChannelMode m_mode; 268 bool m_modeHasBeenSet; 269 270 ChannelPrivacy m_privacy; 271 bool m_privacyHasBeenSet; 272 273 Aws::String m_metadata; 274 bool m_metadataHasBeenSet; 275 276 Aws::Utils::DateTime m_lastMessageTimestamp; 277 bool m_lastMessageTimestampHasBeenSet; 278 }; 279 280 } // namespace Model 281 } // namespace Chime 282 } // namespace Aws 283