/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a channel member.See Also:
AWS
* API Reference
The identifier of the member who invited another member.
*/ inline const Identity& GetInvitedBy() const{ return m_invitedBy; } /** *The identifier of the member who invited another member.
*/ inline bool InvitedByHasBeenSet() const { return m_invitedByHasBeenSet; } /** *The identifier of the member who invited another member.
*/ inline void SetInvitedBy(const Identity& value) { m_invitedByHasBeenSet = true; m_invitedBy = value; } /** *The identifier of the member who invited another member.
*/ inline void SetInvitedBy(Identity&& value) { m_invitedByHasBeenSet = true; m_invitedBy = std::move(value); } /** *The identifier of the member who invited another member.
*/ inline ChannelMembership& WithInvitedBy(const Identity& value) { SetInvitedBy(value); return *this;} /** *The identifier of the member who invited another member.
*/ inline ChannelMembership& WithInvitedBy(Identity&& value) { SetInvitedBy(std::move(value)); return *this;} /** *The membership type set for the channel member.
*/ inline const ChannelMembershipType& GetType() const{ return m_type; } /** *The membership type set for the channel member.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The membership type set for the channel member.
*/ inline void SetType(const ChannelMembershipType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The membership type set for the channel member.
*/ inline void SetType(ChannelMembershipType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The membership type set for the channel member.
*/ inline ChannelMembership& WithType(const ChannelMembershipType& value) { SetType(value); return *this;} /** *The membership type set for the channel member.
*/ inline ChannelMembership& WithType(ChannelMembershipType&& value) { SetType(std::move(value)); return *this;} /** *The data of the channel member.
*/ inline const Identity& GetMember() const{ return m_member; } /** *The data of the channel member.
*/ inline bool MemberHasBeenSet() const { return m_memberHasBeenSet; } /** *The data of the channel member.
*/ inline void SetMember(const Identity& value) { m_memberHasBeenSet = true; m_member = value; } /** *The data of the channel member.
*/ inline void SetMember(Identity&& value) { m_memberHasBeenSet = true; m_member = std::move(value); } /** *The data of the channel member.
*/ inline ChannelMembership& WithMember(const Identity& value) { SetMember(value); return *this;} /** *The data of the channel member.
*/ inline ChannelMembership& WithMember(Identity&& value) { SetMember(std::move(value)); return *this;} /** *The ARN of the member's channel.
*/ inline const Aws::String& GetChannelArn() const{ return m_channelArn; } /** *The ARN of the member's channel.
*/ inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; } /** *The ARN of the member's channel.
*/ inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; } /** *The ARN of the member's channel.
*/ inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); } /** *The ARN of the member's channel.
*/ inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); } /** *The ARN of the member's channel.
*/ inline ChannelMembership& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;} /** *The ARN of the member's channel.
*/ inline ChannelMembership& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;} /** *The ARN of the member's channel.
*/ inline ChannelMembership& WithChannelArn(const char* value) { SetChannelArn(value); return *this;} /** *The time at which the channel membership was created.
*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *The time at which the channel membership was created.
*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *The time at which the channel membership was created.
*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *The time at which the channel membership was created.
*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *The time at which the channel membership was created.
*/ inline ChannelMembership& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *The time at which the channel membership was created.
*/ inline ChannelMembership& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *The time at which a channel membership was last updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } /** *The time at which a channel membership was last updated.
*/ inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } /** *The time at which a channel membership was last updated.
*/ inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } /** *The time at which a channel membership was last updated.
*/ inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } /** *The time at which a channel membership was last updated.
*/ inline ChannelMembership& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} /** *The time at which a channel membership was last updated.
*/ inline ChannelMembership& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} private: Identity m_invitedBy; bool m_invitedByHasBeenSet = false; ChannelMembershipType m_type; bool m_typeHasBeenSet = false; Identity m_member; bool m_memberHasBeenSet = false; Aws::String m_channelArn; bool m_channelArnHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTimestamp; bool m_lastUpdatedTimestampHasBeenSet = false; }; } // namespace Model } // namespace Chime } // namespace Aws