1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/shield/Shield_EXPORTS.h> 8 #include <aws/shield/model/ProtectionGroupPatternTypeLimits.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace Shield 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Limits settings on protection groups for your subscription. </p><p><h3>See 28 * Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ProtectionGroupLimits">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_SHIELD_API ProtectionGroupLimits 33 { 34 public: 35 ProtectionGroupLimits(); 36 ProtectionGroupLimits(Aws::Utils::Json::JsonView jsonValue); 37 ProtectionGroupLimits& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The maximum number of protection groups that you can have at one time. </p> 43 */ GetMaxProtectionGroups()44 inline long long GetMaxProtectionGroups() const{ return m_maxProtectionGroups; } 45 46 /** 47 * <p>The maximum number of protection groups that you can have at one time. </p> 48 */ MaxProtectionGroupsHasBeenSet()49 inline bool MaxProtectionGroupsHasBeenSet() const { return m_maxProtectionGroupsHasBeenSet; } 50 51 /** 52 * <p>The maximum number of protection groups that you can have at one time. </p> 53 */ SetMaxProtectionGroups(long long value)54 inline void SetMaxProtectionGroups(long long value) { m_maxProtectionGroupsHasBeenSet = true; m_maxProtectionGroups = value; } 55 56 /** 57 * <p>The maximum number of protection groups that you can have at one time. </p> 58 */ WithMaxProtectionGroups(long long value)59 inline ProtectionGroupLimits& WithMaxProtectionGroups(long long value) { SetMaxProtectionGroups(value); return *this;} 60 61 62 /** 63 * <p>Limits settings by pattern type in the protection groups for your 64 * subscription. </p> 65 */ GetPatternTypeLimits()66 inline const ProtectionGroupPatternTypeLimits& GetPatternTypeLimits() const{ return m_patternTypeLimits; } 67 68 /** 69 * <p>Limits settings by pattern type in the protection groups for your 70 * subscription. </p> 71 */ PatternTypeLimitsHasBeenSet()72 inline bool PatternTypeLimitsHasBeenSet() const { return m_patternTypeLimitsHasBeenSet; } 73 74 /** 75 * <p>Limits settings by pattern type in the protection groups for your 76 * subscription. </p> 77 */ SetPatternTypeLimits(const ProtectionGroupPatternTypeLimits & value)78 inline void SetPatternTypeLimits(const ProtectionGroupPatternTypeLimits& value) { m_patternTypeLimitsHasBeenSet = true; m_patternTypeLimits = value; } 79 80 /** 81 * <p>Limits settings by pattern type in the protection groups for your 82 * subscription. </p> 83 */ SetPatternTypeLimits(ProtectionGroupPatternTypeLimits && value)84 inline void SetPatternTypeLimits(ProtectionGroupPatternTypeLimits&& value) { m_patternTypeLimitsHasBeenSet = true; m_patternTypeLimits = std::move(value); } 85 86 /** 87 * <p>Limits settings by pattern type in the protection groups for your 88 * subscription. </p> 89 */ WithPatternTypeLimits(const ProtectionGroupPatternTypeLimits & value)90 inline ProtectionGroupLimits& WithPatternTypeLimits(const ProtectionGroupPatternTypeLimits& value) { SetPatternTypeLimits(value); return *this;} 91 92 /** 93 * <p>Limits settings by pattern type in the protection groups for your 94 * subscription. </p> 95 */ WithPatternTypeLimits(ProtectionGroupPatternTypeLimits && value)96 inline ProtectionGroupLimits& WithPatternTypeLimits(ProtectionGroupPatternTypeLimits&& value) { SetPatternTypeLimits(std::move(value)); return *this;} 97 98 private: 99 100 long long m_maxProtectionGroups; 101 bool m_maxProtectionGroupsHasBeenSet; 102 103 ProtectionGroupPatternTypeLimits m_patternTypeLimits; 104 bool m_patternTypeLimitsHasBeenSet; 105 }; 106 107 } // namespace Model 108 } // namespace Shield 109 } // namespace Aws 110