/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace ChimeSDKMessaging { namespace Model { /** */ class CreateChannelMembershipRequest : public ChimeSDKMessagingRequest { public: AWS_CHIMESDKMESSAGING_API CreateChannelMembershipRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateChannelMembership"; } AWS_CHIMESDKMESSAGING_API Aws::String SerializePayload() const override; AWS_CHIMESDKMESSAGING_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ARN of the channel to which you're adding users.

*/ inline const Aws::String& GetChannelArn() const{ return m_channelArn; } /** *

The ARN of the channel to which you're adding users.

*/ inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; } /** *

The ARN of the channel to which you're adding users.

*/ inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; } /** *

The ARN of the channel to which you're adding users.

*/ inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); } /** *

The ARN of the channel to which you're adding users.

*/ inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); } /** *

The ARN of the channel to which you're adding users.

*/ inline CreateChannelMembershipRequest& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;} /** *

The ARN of the channel to which you're adding users.

*/ inline CreateChannelMembershipRequest& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;} /** *

The ARN of the channel to which you're adding users.

*/ inline CreateChannelMembershipRequest& WithChannelArn(const char* value) { SetChannelArn(value); return *this;} /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline const Aws::String& GetMemberArn() const{ return m_memberArn; } /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline bool MemberArnHasBeenSet() const { return m_memberArnHasBeenSet; } /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline void SetMemberArn(const Aws::String& value) { m_memberArnHasBeenSet = true; m_memberArn = value; } /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline void SetMemberArn(Aws::String&& value) { m_memberArnHasBeenSet = true; m_memberArn = std::move(value); } /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline void SetMemberArn(const char* value) { m_memberArnHasBeenSet = true; m_memberArn.assign(value); } /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline CreateChannelMembershipRequest& WithMemberArn(const Aws::String& value) { SetMemberArn(value); return *this;} /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline CreateChannelMembershipRequest& WithMemberArn(Aws::String&& value) { SetMemberArn(std::move(value)); return *this;} /** *

The AppInstanceUserArn of the member you want to add to the * channel.

*/ inline CreateChannelMembershipRequest& WithMemberArn(const char* value) { SetMemberArn(value); return *this;} /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline const ChannelMembershipType& GetType() const{ return m_type; } /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline void SetType(const ChannelMembershipType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline void SetType(ChannelMembershipType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline CreateChannelMembershipRequest& WithType(const ChannelMembershipType& value) { SetType(value); return *this;} /** *

The membership type of a user, DEFAULT or HIDDEN. * Default members are always returned as part of * ListChannelMemberships. Hidden members are only returned if the * type filter in ListChannelMemberships equals HIDDEN. * Otherwise hidden members are not returned. This is only supported by * moderators.

*/ inline CreateChannelMembershipRequest& WithType(ChannelMembershipType&& value) { SetType(std::move(value)); return *this;} /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline const Aws::String& GetChimeBearer() const{ return m_chimeBearer; } /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline bool ChimeBearerHasBeenSet() const { return m_chimeBearerHasBeenSet; } /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline void SetChimeBearer(const Aws::String& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = value; } /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline void SetChimeBearer(Aws::String&& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = std::move(value); } /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline void SetChimeBearer(const char* value) { m_chimeBearerHasBeenSet = true; m_chimeBearer.assign(value); } /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline CreateChannelMembershipRequest& WithChimeBearer(const Aws::String& value) { SetChimeBearer(value); return *this;} /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline CreateChannelMembershipRequest& WithChimeBearer(Aws::String&& value) { SetChimeBearer(std::move(value)); return *this;} /** *

The ARN of the AppInstanceUser or AppInstanceBot * that makes the API call.

*/ inline CreateChannelMembershipRequest& WithChimeBearer(const char* value) { SetChimeBearer(value); return *this;} /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline const Aws::String& GetSubChannelId() const{ return m_subChannelId; } /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline bool SubChannelIdHasBeenSet() const { return m_subChannelIdHasBeenSet; } /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline void SetSubChannelId(const Aws::String& value) { m_subChannelIdHasBeenSet = true; m_subChannelId = value; } /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline void SetSubChannelId(Aws::String&& value) { m_subChannelIdHasBeenSet = true; m_subChannelId = std::move(value); } /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline void SetSubChannelId(const char* value) { m_subChannelIdHasBeenSet = true; m_subChannelId.assign(value); } /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline CreateChannelMembershipRequest& WithSubChannelId(const Aws::String& value) { SetSubChannelId(value); return *this;} /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline CreateChannelMembershipRequest& WithSubChannelId(Aws::String&& value) { SetSubChannelId(std::move(value)); return *this;} /** *

The ID of the SubChannel in the request.

Only required when * creating membership in a SubChannel for a moderator in an elastic channel.

* */ inline CreateChannelMembershipRequest& WithSubChannelId(const char* value) { SetSubChannelId(value); return *this;} private: Aws::String m_channelArn; bool m_channelArnHasBeenSet = false; Aws::String m_memberArn; bool m_memberArnHasBeenSet = false; ChannelMembershipType m_type; bool m_typeHasBeenSet = false; Aws::String m_chimeBearer; bool m_chimeBearerHasBeenSet = false; Aws::String m_subChannelId; bool m_subChannelIdHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMessaging } // namespace Aws