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

Details about how frequently reports are generated.

See Also:

* AWS * API Reference

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

Number of times within the frequency period that a report is generated. The * only supported value is 1.

*/ inline int GetValue() const{ return m_value; } /** *

Number of times within the frequency period that a report is generated. The * only supported value is 1.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

Number of times within the frequency period that a report is generated. The * only supported value is 1.

*/ inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } /** *

Number of times within the frequency period that a report is generated. The * only supported value is 1.

*/ inline ReportFrequency& WithValue(int value) { SetValue(value); return *this;} /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline const ReportFrequencyType& GetPeriod() const{ return m_period; } /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline void SetPeriod(const ReportFrequencyType& value) { m_periodHasBeenSet = true; m_period = value; } /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline void SetPeriod(ReportFrequencyType&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline ReportFrequency& WithPeriod(const ReportFrequencyType& value) { SetPeriod(value); return *this;} /** *

Time period between each report. The period can be daily, weekly, or * monthly.

*/ inline ReportFrequency& WithPeriod(ReportFrequencyType&& value) { SetPeriod(std::move(value)); return *this;} private: int m_value; bool m_valueHasBeenSet = false; ReportFrequencyType m_period; bool m_periodHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws