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

Limits settings for your subscription.

See Also:

AWS * API Reference

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

Limits settings on protections for your subscription.

*/ inline const ProtectionLimits& GetProtectionLimits() const{ return m_protectionLimits; } /** *

Limits settings on protections for your subscription.

*/ inline bool ProtectionLimitsHasBeenSet() const { return m_protectionLimitsHasBeenSet; } /** *

Limits settings on protections for your subscription.

*/ inline void SetProtectionLimits(const ProtectionLimits& value) { m_protectionLimitsHasBeenSet = true; m_protectionLimits = value; } /** *

Limits settings on protections for your subscription.

*/ inline void SetProtectionLimits(ProtectionLimits&& value) { m_protectionLimitsHasBeenSet = true; m_protectionLimits = std::move(value); } /** *

Limits settings on protections for your subscription.

*/ inline SubscriptionLimits& WithProtectionLimits(const ProtectionLimits& value) { SetProtectionLimits(value); return *this;} /** *

Limits settings on protections for your subscription.

*/ inline SubscriptionLimits& WithProtectionLimits(ProtectionLimits&& value) { SetProtectionLimits(std::move(value)); return *this;} /** *

Limits settings on protection groups for your subscription.

*/ inline const ProtectionGroupLimits& GetProtectionGroupLimits() const{ return m_protectionGroupLimits; } /** *

Limits settings on protection groups for your subscription.

*/ inline bool ProtectionGroupLimitsHasBeenSet() const { return m_protectionGroupLimitsHasBeenSet; } /** *

Limits settings on protection groups for your subscription.

*/ inline void SetProtectionGroupLimits(const ProtectionGroupLimits& value) { m_protectionGroupLimitsHasBeenSet = true; m_protectionGroupLimits = value; } /** *

Limits settings on protection groups for your subscription.

*/ inline void SetProtectionGroupLimits(ProtectionGroupLimits&& value) { m_protectionGroupLimitsHasBeenSet = true; m_protectionGroupLimits = std::move(value); } /** *

Limits settings on protection groups for your subscription.

*/ inline SubscriptionLimits& WithProtectionGroupLimits(const ProtectionGroupLimits& value) { SetProtectionGroupLimits(value); return *this;} /** *

Limits settings on protection groups for your subscription.

*/ inline SubscriptionLimits& WithProtectionGroupLimits(ProtectionGroupLimits&& value) { SetProtectionGroupLimits(std::move(value)); return *this;} private: ProtectionLimits m_protectionLimits; bool m_protectionLimitsHasBeenSet = false; ProtectionGroupLimits m_protectionGroupLimits; bool m_protectionGroupLimitsHasBeenSet = false; }; } // namespace Model } // namespace Shield } // namespace Aws