/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ChimeSDKMessaging { namespace Model { /** *

The attributes required to configure and create an elastic channel. An * elastic channel can support a maximum of 1-million members.

See * Also:

AWS * API Reference

*/ class ElasticChannelConfiguration { public: AWS_CHIMESDKMESSAGING_API ElasticChannelConfiguration(); AWS_CHIMESDKMESSAGING_API ElasticChannelConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKMESSAGING_API ElasticChannelConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKMESSAGING_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The maximum number of SubChannels that you want to allow in the elastic * channel.

*/ inline int GetMaximumSubChannels() const{ return m_maximumSubChannels; } /** *

The maximum number of SubChannels that you want to allow in the elastic * channel.

*/ inline bool MaximumSubChannelsHasBeenSet() const { return m_maximumSubChannelsHasBeenSet; } /** *

The maximum number of SubChannels that you want to allow in the elastic * channel.

*/ inline void SetMaximumSubChannels(int value) { m_maximumSubChannelsHasBeenSet = true; m_maximumSubChannels = value; } /** *

The maximum number of SubChannels that you want to allow in the elastic * channel.

*/ inline ElasticChannelConfiguration& WithMaximumSubChannels(int value) { SetMaximumSubChannels(value); return *this;} /** *

The maximum number of members allowed in a SubChannel.

*/ inline int GetTargetMembershipsPerSubChannel() const{ return m_targetMembershipsPerSubChannel; } /** *

The maximum number of members allowed in a SubChannel.

*/ inline bool TargetMembershipsPerSubChannelHasBeenSet() const { return m_targetMembershipsPerSubChannelHasBeenSet; } /** *

The maximum number of members allowed in a SubChannel.

*/ inline void SetTargetMembershipsPerSubChannel(int value) { m_targetMembershipsPerSubChannelHasBeenSet = true; m_targetMembershipsPerSubChannel = value; } /** *

The maximum number of members allowed in a SubChannel.

*/ inline ElasticChannelConfiguration& WithTargetMembershipsPerSubChannel(int value) { SetTargetMembershipsPerSubChannel(value); return *this;} /** *

The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil * of the calculated value is used in balancing members among SubChannels of the * elastic channel.

*/ inline int GetMinimumMembershipPercentage() const{ return m_minimumMembershipPercentage; } /** *

The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil * of the calculated value is used in balancing members among SubChannels of the * elastic channel.

*/ inline bool MinimumMembershipPercentageHasBeenSet() const { return m_minimumMembershipPercentageHasBeenSet; } /** *

The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil * of the calculated value is used in balancing members among SubChannels of the * elastic channel.

*/ inline void SetMinimumMembershipPercentage(int value) { m_minimumMembershipPercentageHasBeenSet = true; m_minimumMembershipPercentage = value; } /** *

The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil * of the calculated value is used in balancing members among SubChannels of the * elastic channel.

*/ inline ElasticChannelConfiguration& WithMinimumMembershipPercentage(int value) { SetMinimumMembershipPercentage(value); return *this;} private: int m_maximumSubChannels; bool m_maximumSubChannelsHasBeenSet = false; int m_targetMembershipsPerSubChannel; bool m_targetMembershipsPerSubChannelHasBeenSet = false; int m_minimumMembershipPercentage; bool m_minimumMembershipPercentageHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMessaging } // namespace Aws