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/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace ElasticLoadBalancingv2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Information about an Elastic Load Balancing resource limit for your Amazon 28 * Web Services account.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Limit">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_ELASTICLOADBALANCINGV2_API Limit 33 { 34 public: 35 Limit(); 36 Limit(const Aws::Utils::Xml::XmlNode& xmlNode); 37 Limit& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 38 39 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 40 void OutputToStream(Aws::OStream& oStream, const char* location) const; 41 42 43 /** 44 * <p>The name of the limit. The possible values are:</p> <ul> <li> 45 * <p>application-load-balancers</p> </li> <li> 46 * <p>condition-values-per-alb-rule</p> </li> <li> 47 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 48 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 49 * <p>geneve-target-groups</p> </li> <li> 50 * <p>listeners-per-application-load-balancer</p> </li> <li> 51 * <p>listeners-per-network-load-balancer</p> </li> <li> 52 * <p>network-load-balancers</p> </li> <li> 53 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 54 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 55 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 56 * <p>target-groups-per-application-load-balancer</p> </li> <li> 57 * <p>targets-per-application-load-balancer</p> </li> <li> 58 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 59 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 60 * <p>targets-per-network-load-balancer</p> </li> </ul> 61 */ GetName()62 inline const Aws::String& GetName() const{ return m_name; } 63 64 /** 65 * <p>The name of the limit. The possible values are:</p> <ul> <li> 66 * <p>application-load-balancers</p> </li> <li> 67 * <p>condition-values-per-alb-rule</p> </li> <li> 68 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 69 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 70 * <p>geneve-target-groups</p> </li> <li> 71 * <p>listeners-per-application-load-balancer</p> </li> <li> 72 * <p>listeners-per-network-load-balancer</p> </li> <li> 73 * <p>network-load-balancers</p> </li> <li> 74 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 75 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 76 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 77 * <p>target-groups-per-application-load-balancer</p> </li> <li> 78 * <p>targets-per-application-load-balancer</p> </li> <li> 79 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 80 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 81 * <p>targets-per-network-load-balancer</p> </li> </ul> 82 */ NameHasBeenSet()83 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 84 85 /** 86 * <p>The name of the limit. The possible values are:</p> <ul> <li> 87 * <p>application-load-balancers</p> </li> <li> 88 * <p>condition-values-per-alb-rule</p> </li> <li> 89 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 90 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 91 * <p>geneve-target-groups</p> </li> <li> 92 * <p>listeners-per-application-load-balancer</p> </li> <li> 93 * <p>listeners-per-network-load-balancer</p> </li> <li> 94 * <p>network-load-balancers</p> </li> <li> 95 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 96 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 97 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 98 * <p>target-groups-per-application-load-balancer</p> </li> <li> 99 * <p>targets-per-application-load-balancer</p> </li> <li> 100 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 101 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 102 * <p>targets-per-network-load-balancer</p> </li> </ul> 103 */ SetName(const Aws::String & value)104 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 105 106 /** 107 * <p>The name of the limit. The possible values are:</p> <ul> <li> 108 * <p>application-load-balancers</p> </li> <li> 109 * <p>condition-values-per-alb-rule</p> </li> <li> 110 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 111 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 112 * <p>geneve-target-groups</p> </li> <li> 113 * <p>listeners-per-application-load-balancer</p> </li> <li> 114 * <p>listeners-per-network-load-balancer</p> </li> <li> 115 * <p>network-load-balancers</p> </li> <li> 116 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 117 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 118 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 119 * <p>target-groups-per-application-load-balancer</p> </li> <li> 120 * <p>targets-per-application-load-balancer</p> </li> <li> 121 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 122 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 123 * <p>targets-per-network-load-balancer</p> </li> </ul> 124 */ SetName(Aws::String && value)125 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 126 127 /** 128 * <p>The name of the limit. The possible values are:</p> <ul> <li> 129 * <p>application-load-balancers</p> </li> <li> 130 * <p>condition-values-per-alb-rule</p> </li> <li> 131 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 132 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 133 * <p>geneve-target-groups</p> </li> <li> 134 * <p>listeners-per-application-load-balancer</p> </li> <li> 135 * <p>listeners-per-network-load-balancer</p> </li> <li> 136 * <p>network-load-balancers</p> </li> <li> 137 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 138 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 139 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 140 * <p>target-groups-per-application-load-balancer</p> </li> <li> 141 * <p>targets-per-application-load-balancer</p> </li> <li> 142 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 143 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 144 * <p>targets-per-network-load-balancer</p> </li> </ul> 145 */ SetName(const char * value)146 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 147 148 /** 149 * <p>The name of the limit. The possible values are:</p> <ul> <li> 150 * <p>application-load-balancers</p> </li> <li> 151 * <p>condition-values-per-alb-rule</p> </li> <li> 152 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 153 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 154 * <p>geneve-target-groups</p> </li> <li> 155 * <p>listeners-per-application-load-balancer</p> </li> <li> 156 * <p>listeners-per-network-load-balancer</p> </li> <li> 157 * <p>network-load-balancers</p> </li> <li> 158 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 159 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 160 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 161 * <p>target-groups-per-application-load-balancer</p> </li> <li> 162 * <p>targets-per-application-load-balancer</p> </li> <li> 163 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 164 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 165 * <p>targets-per-network-load-balancer</p> </li> </ul> 166 */ WithName(const Aws::String & value)167 inline Limit& WithName(const Aws::String& value) { SetName(value); return *this;} 168 169 /** 170 * <p>The name of the limit. The possible values are:</p> <ul> <li> 171 * <p>application-load-balancers</p> </li> <li> 172 * <p>condition-values-per-alb-rule</p> </li> <li> 173 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 174 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 175 * <p>geneve-target-groups</p> </li> <li> 176 * <p>listeners-per-application-load-balancer</p> </li> <li> 177 * <p>listeners-per-network-load-balancer</p> </li> <li> 178 * <p>network-load-balancers</p> </li> <li> 179 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 180 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 181 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 182 * <p>target-groups-per-application-load-balancer</p> </li> <li> 183 * <p>targets-per-application-load-balancer</p> </li> <li> 184 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 185 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 186 * <p>targets-per-network-load-balancer</p> </li> </ul> 187 */ WithName(Aws::String && value)188 inline Limit& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 189 190 /** 191 * <p>The name of the limit. The possible values are:</p> <ul> <li> 192 * <p>application-load-balancers</p> </li> <li> 193 * <p>condition-values-per-alb-rule</p> </li> <li> 194 * <p>condition-wildcards-per-alb-rule</p> </li> <li> <p>gateway-load-balancers</p> 195 * </li> <li> <p>gateway-load-balancers-per-vpc</p> </li> <li> 196 * <p>geneve-target-groups</p> </li> <li> 197 * <p>listeners-per-application-load-balancer</p> </li> <li> 198 * <p>listeners-per-network-load-balancer</p> </li> <li> 199 * <p>network-load-balancers</p> </li> <li> 200 * <p>rules-per-application-load-balancer</p> </li> <li> <p>target-groups</p> </li> 201 * <li> <p>target-groups-per-action-on-application-load-balancer</p> </li> <li> 202 * <p>target-groups-per-action-on-network-load-balancer</p> </li> <li> 203 * <p>target-groups-per-application-load-balancer</p> </li> <li> 204 * <p>targets-per-application-load-balancer</p> </li> <li> 205 * <p>targets-per-availability-zone-per-gateway-load-balancer</p> </li> <li> 206 * <p>targets-per-availability-zone-per-network-load-balancer</p> </li> <li> 207 * <p>targets-per-network-load-balancer</p> </li> </ul> 208 */ WithName(const char * value)209 inline Limit& WithName(const char* value) { SetName(value); return *this;} 210 211 212 /** 213 * <p>The maximum value of the limit.</p> 214 */ GetMax()215 inline const Aws::String& GetMax() const{ return m_max; } 216 217 /** 218 * <p>The maximum value of the limit.</p> 219 */ MaxHasBeenSet()220 inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } 221 222 /** 223 * <p>The maximum value of the limit.</p> 224 */ SetMax(const Aws::String & value)225 inline void SetMax(const Aws::String& value) { m_maxHasBeenSet = true; m_max = value; } 226 227 /** 228 * <p>The maximum value of the limit.</p> 229 */ SetMax(Aws::String && value)230 inline void SetMax(Aws::String&& value) { m_maxHasBeenSet = true; m_max = std::move(value); } 231 232 /** 233 * <p>The maximum value of the limit.</p> 234 */ SetMax(const char * value)235 inline void SetMax(const char* value) { m_maxHasBeenSet = true; m_max.assign(value); } 236 237 /** 238 * <p>The maximum value of the limit.</p> 239 */ WithMax(const Aws::String & value)240 inline Limit& WithMax(const Aws::String& value) { SetMax(value); return *this;} 241 242 /** 243 * <p>The maximum value of the limit.</p> 244 */ WithMax(Aws::String && value)245 inline Limit& WithMax(Aws::String&& value) { SetMax(std::move(value)); return *this;} 246 247 /** 248 * <p>The maximum value of the limit.</p> 249 */ WithMax(const char * value)250 inline Limit& WithMax(const char* value) { SetMax(value); return *this;} 251 252 private: 253 254 Aws::String m_name; 255 bool m_nameHasBeenSet; 256 257 Aws::String m_max; 258 bool m_maxHasBeenSet; 259 }; 260 261 } // namespace Model 262 } // namespace ElasticLoadBalancingv2 263 } // namespace Aws 264