/** * 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 LicenseManager { namespace Model { /** *

Usage associated with an entitlement resource.

See Also:

AWS * API Reference

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

Entitlement usage name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Entitlement usage name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Entitlement usage name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Entitlement usage name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Entitlement usage name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Entitlement usage name.

*/ inline EntitlementUsage& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Entitlement usage name.

*/ inline EntitlementUsage& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Entitlement usage name.

*/ inline EntitlementUsage& WithName(const char* value) { SetName(value); return *this;} /** *

Resource usage consumed.

*/ inline const Aws::String& GetConsumedValue() const{ return m_consumedValue; } /** *

Resource usage consumed.

*/ inline bool ConsumedValueHasBeenSet() const { return m_consumedValueHasBeenSet; } /** *

Resource usage consumed.

*/ inline void SetConsumedValue(const Aws::String& value) { m_consumedValueHasBeenSet = true; m_consumedValue = value; } /** *

Resource usage consumed.

*/ inline void SetConsumedValue(Aws::String&& value) { m_consumedValueHasBeenSet = true; m_consumedValue = std::move(value); } /** *

Resource usage consumed.

*/ inline void SetConsumedValue(const char* value) { m_consumedValueHasBeenSet = true; m_consumedValue.assign(value); } /** *

Resource usage consumed.

*/ inline EntitlementUsage& WithConsumedValue(const Aws::String& value) { SetConsumedValue(value); return *this;} /** *

Resource usage consumed.

*/ inline EntitlementUsage& WithConsumedValue(Aws::String&& value) { SetConsumedValue(std::move(value)); return *this;} /** *

Resource usage consumed.

*/ inline EntitlementUsage& WithConsumedValue(const char* value) { SetConsumedValue(value); return *this;} /** *

Maximum entitlement usage count.

*/ inline const Aws::String& GetMaxCount() const{ return m_maxCount; } /** *

Maximum entitlement usage count.

*/ inline bool MaxCountHasBeenSet() const { return m_maxCountHasBeenSet; } /** *

Maximum entitlement usage count.

*/ inline void SetMaxCount(const Aws::String& value) { m_maxCountHasBeenSet = true; m_maxCount = value; } /** *

Maximum entitlement usage count.

*/ inline void SetMaxCount(Aws::String&& value) { m_maxCountHasBeenSet = true; m_maxCount = std::move(value); } /** *

Maximum entitlement usage count.

*/ inline void SetMaxCount(const char* value) { m_maxCountHasBeenSet = true; m_maxCount.assign(value); } /** *

Maximum entitlement usage count.

*/ inline EntitlementUsage& WithMaxCount(const Aws::String& value) { SetMaxCount(value); return *this;} /** *

Maximum entitlement usage count.

*/ inline EntitlementUsage& WithMaxCount(Aws::String&& value) { SetMaxCount(std::move(value)); return *this;} /** *

Maximum entitlement usage count.

*/ inline EntitlementUsage& WithMaxCount(const char* value) { SetMaxCount(value); return *this;} /** *

Entitlement usage unit.

*/ inline const EntitlementDataUnit& GetUnit() const{ return m_unit; } /** *

Entitlement usage unit.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

Entitlement usage unit.

*/ inline void SetUnit(const EntitlementDataUnit& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

Entitlement usage unit.

*/ inline void SetUnit(EntitlementDataUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

Entitlement usage unit.

*/ inline EntitlementUsage& WithUnit(const EntitlementDataUnit& value) { SetUnit(value); return *this;} /** *

Entitlement usage unit.

*/ inline EntitlementUsage& WithUnit(EntitlementDataUnit&& value) { SetUnit(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_consumedValue; bool m_consumedValueHasBeenSet = false; Aws::String m_maxCount; bool m_maxCountHasBeenSet = false; EntitlementDataUnit m_unit; bool m_unitHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws