/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a channel.See Also:
AWS API
* Reference
The name of the channel.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the channel.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the channel.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the channel.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the channel.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the channel.
*/ inline Channel& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the channel.
*/ inline Channel& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the channel.
*/ inline Channel& WithName(const char* value) { SetName(value); return *this;} /** *The ARN of the channel.
*/ inline const Aws::String& GetChannelArn() const{ return m_channelArn; } /** *The ARN of the channel.
*/ inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; } /** *The ARN of the channel.
*/ inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; } /** *The ARN of the channel.
*/ inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); } /** *The ARN of the channel.
*/ inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); } /** *The ARN of the channel.
*/ inline Channel& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;} /** *The ARN of the channel.
*/ inline Channel& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;} /** *The ARN of the channel.
*/ inline Channel& WithChannelArn(const char* value) { SetChannelArn(value); return *this;} /** *The mode of the channel.
*/ inline const ChannelMode& GetMode() const{ return m_mode; } /** *The mode of the channel.
*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *The mode of the channel.
*/ inline void SetMode(const ChannelMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *The mode of the channel.
*/ inline void SetMode(ChannelMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *The mode of the channel.
*/ inline Channel& WithMode(const ChannelMode& value) { SetMode(value); return *this;} /** *The mode of the channel.
*/ inline Channel& WithMode(ChannelMode&& value) { SetMode(std::move(value)); return *this;} /** *The channel's privacy setting.
*/ inline const ChannelPrivacy& GetPrivacy() const{ return m_privacy; } /** *The channel's privacy setting.
*/ inline bool PrivacyHasBeenSet() const { return m_privacyHasBeenSet; } /** *The channel's privacy setting.
*/ inline void SetPrivacy(const ChannelPrivacy& value) { m_privacyHasBeenSet = true; m_privacy = value; } /** *The channel's privacy setting.
*/ inline void SetPrivacy(ChannelPrivacy&& value) { m_privacyHasBeenSet = true; m_privacy = std::move(value); } /** *The channel's privacy setting.
*/ inline Channel& WithPrivacy(const ChannelPrivacy& value) { SetPrivacy(value); return *this;} /** *The channel's privacy setting.
*/ inline Channel& WithPrivacy(ChannelPrivacy&& value) { SetPrivacy(std::move(value)); return *this;} /** *The channel's metadata.
*/ inline const Aws::String& GetMetadata() const{ return m_metadata; } /** *The channel's metadata.
*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *The channel's metadata.
*/ inline void SetMetadata(const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *The channel's metadata.
*/ inline void SetMetadata(Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *The channel's metadata.
*/ inline void SetMetadata(const char* value) { m_metadataHasBeenSet = true; m_metadata.assign(value); } /** *The channel's metadata.
*/ inline Channel& WithMetadata(const Aws::String& value) { SetMetadata(value); return *this;} /** *The channel's metadata.
*/ inline Channel& WithMetadata(Aws::String&& value) { SetMetadata(std::move(value)); return *this;} /** *The channel's metadata.
*/ inline Channel& WithMetadata(const char* value) { SetMetadata(value); return *this;} /** *The AppInstanceUser
who created the channel.
The AppInstanceUser
who created the channel.
The AppInstanceUser
who created the channel.
The AppInstanceUser
who created the channel.
The AppInstanceUser
who created the channel.
The AppInstanceUser
who created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which the AppInstanceUser
created the channel.
The time at which a member sent the last message in the channel.
*/ inline const Aws::Utils::DateTime& GetLastMessageTimestamp() const{ return m_lastMessageTimestamp; } /** *The time at which a member sent the last message in the channel.
*/ inline bool LastMessageTimestampHasBeenSet() const { return m_lastMessageTimestampHasBeenSet; } /** *The time at which a member sent the last message in the channel.
*/ inline void SetLastMessageTimestamp(const Aws::Utils::DateTime& value) { m_lastMessageTimestampHasBeenSet = true; m_lastMessageTimestamp = value; } /** *The time at which a member sent the last message in the channel.
*/ inline void SetLastMessageTimestamp(Aws::Utils::DateTime&& value) { m_lastMessageTimestampHasBeenSet = true; m_lastMessageTimestamp = std::move(value); } /** *The time at which a member sent the last message in the channel.
*/ inline Channel& WithLastMessageTimestamp(const Aws::Utils::DateTime& value) { SetLastMessageTimestamp(value); return *this;} /** *The time at which a member sent the last message in the channel.
*/ inline Channel& WithLastMessageTimestamp(Aws::Utils::DateTime&& value) { SetLastMessageTimestamp(std::move(value)); return *this;} /** *The time at which a channel was last updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } /** *The time at which a channel was last updated.
*/ inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } /** *The time at which a channel was last updated.
*/ inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } /** *The time at which a channel was last updated.
*/ inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } /** *The time at which a channel was last updated.
*/ inline Channel& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} /** *The time at which a channel was last updated.
*/ inline Channel& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_channelArn; bool m_channelArnHasBeenSet = false; ChannelMode m_mode; bool m_modeHasBeenSet = false; ChannelPrivacy m_privacy; bool m_privacyHasBeenSet = false; Aws::String m_metadata; bool m_metadataHasBeenSet = false; Identity m_createdBy; bool m_createdByHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastMessageTimestamp; bool m_lastMessageTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTimestamp; bool m_lastUpdatedTimestampHasBeenSet = false; }; } // namespace Model } // namespace Chime } // namespace Aws