/** * 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 on protections for your subscription.

See * Also:

AWS * API Reference

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

The maximum number of resource types that you can specify in a * protection.

*/ inline const Aws::Vector& GetProtectedResourceTypeLimits() const{ return m_protectedResourceTypeLimits; } /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline bool ProtectedResourceTypeLimitsHasBeenSet() const { return m_protectedResourceTypeLimitsHasBeenSet; } /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline void SetProtectedResourceTypeLimits(const Aws::Vector& value) { m_protectedResourceTypeLimitsHasBeenSet = true; m_protectedResourceTypeLimits = value; } /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline void SetProtectedResourceTypeLimits(Aws::Vector&& value) { m_protectedResourceTypeLimitsHasBeenSet = true; m_protectedResourceTypeLimits = std::move(value); } /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline ProtectionLimits& WithProtectedResourceTypeLimits(const Aws::Vector& value) { SetProtectedResourceTypeLimits(value); return *this;} /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline ProtectionLimits& WithProtectedResourceTypeLimits(Aws::Vector&& value) { SetProtectedResourceTypeLimits(std::move(value)); return *this;} /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline ProtectionLimits& AddProtectedResourceTypeLimits(const Limit& value) { m_protectedResourceTypeLimitsHasBeenSet = true; m_protectedResourceTypeLimits.push_back(value); return *this; } /** *

The maximum number of resource types that you can specify in a * protection.

*/ inline ProtectionLimits& AddProtectedResourceTypeLimits(Limit&& value) { m_protectedResourceTypeLimitsHasBeenSet = true; m_protectedResourceTypeLimits.push_back(std::move(value)); return *this; } private: Aws::Vector m_protectedResourceTypeLimits; bool m_protectedResourceTypeLimitsHasBeenSet = false; }; } // namespace Model } // namespace Shield } // namespace Aws