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

Limits settings on protection groups for your subscription.

See * Also:

AWS * API Reference

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

The maximum number of protection groups that you can have at one time.

*/ inline long long GetMaxProtectionGroups() const{ return m_maxProtectionGroups; } /** *

The maximum number of protection groups that you can have at one time.

*/ inline bool MaxProtectionGroupsHasBeenSet() const { return m_maxProtectionGroupsHasBeenSet; } /** *

The maximum number of protection groups that you can have at one time.

*/ inline void SetMaxProtectionGroups(long long value) { m_maxProtectionGroupsHasBeenSet = true; m_maxProtectionGroups = value; } /** *

The maximum number of protection groups that you can have at one time.

*/ inline ProtectionGroupLimits& WithMaxProtectionGroups(long long value) { SetMaxProtectionGroups(value); return *this;} /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline const ProtectionGroupPatternTypeLimits& GetPatternTypeLimits() const{ return m_patternTypeLimits; } /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline bool PatternTypeLimitsHasBeenSet() const { return m_patternTypeLimitsHasBeenSet; } /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline void SetPatternTypeLimits(const ProtectionGroupPatternTypeLimits& value) { m_patternTypeLimitsHasBeenSet = true; m_patternTypeLimits = value; } /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline void SetPatternTypeLimits(ProtectionGroupPatternTypeLimits&& value) { m_patternTypeLimitsHasBeenSet = true; m_patternTypeLimits = std::move(value); } /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline ProtectionGroupLimits& WithPatternTypeLimits(const ProtectionGroupPatternTypeLimits& value) { SetPatternTypeLimits(value); return *this;} /** *

Limits settings by pattern type in the protection groups for your * subscription.

*/ inline ProtectionGroupLimits& WithPatternTypeLimits(ProtectionGroupPatternTypeLimits&& value) { SetPatternTypeLimits(std::move(value)); return *this;} private: long long m_maxProtectionGroups; bool m_maxProtectionGroupsHasBeenSet = false; ProtectionGroupPatternTypeLimits m_patternTypeLimits; bool m_patternTypeLimitsHasBeenSet = false; }; } // namespace Model } // namespace Shield } // namespace Aws