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/license-manager/LicenseManager_EXPORTS.h> 8 #include <aws/license-manager/model/ReportFrequencyType.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace LicenseManager 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Details about how frequently reports are generated.</p><p><h3>See Also:</h3> 28 * <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ReportFrequency">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_LICENSEMANAGER_API ReportFrequency 33 { 34 public: 35 ReportFrequency(); 36 ReportFrequency(Aws::Utils::Json::JsonView jsonValue); 37 ReportFrequency& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>Number of times within the frequency period that a report is generated. The 43 * only supported value is <code>1</code>.</p> 44 */ GetValue()45 inline int GetValue() const{ return m_value; } 46 47 /** 48 * <p>Number of times within the frequency period that a report is generated. The 49 * only supported value is <code>1</code>.</p> 50 */ ValueHasBeenSet()51 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } 52 53 /** 54 * <p>Number of times within the frequency period that a report is generated. The 55 * only supported value is <code>1</code>.</p> 56 */ SetValue(int value)57 inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } 58 59 /** 60 * <p>Number of times within the frequency period that a report is generated. The 61 * only supported value is <code>1</code>.</p> 62 */ WithValue(int value)63 inline ReportFrequency& WithValue(int value) { SetValue(value); return *this;} 64 65 66 /** 67 * <p>Time period between each report. The period can be daily, weekly, or 68 * monthly.</p> 69 */ GetPeriod()70 inline const ReportFrequencyType& GetPeriod() const{ return m_period; } 71 72 /** 73 * <p>Time period between each report. The period can be daily, weekly, or 74 * monthly.</p> 75 */ PeriodHasBeenSet()76 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } 77 78 /** 79 * <p>Time period between each report. The period can be daily, weekly, or 80 * monthly.</p> 81 */ SetPeriod(const ReportFrequencyType & value)82 inline void SetPeriod(const ReportFrequencyType& value) { m_periodHasBeenSet = true; m_period = value; } 83 84 /** 85 * <p>Time period between each report. The period can be daily, weekly, or 86 * monthly.</p> 87 */ SetPeriod(ReportFrequencyType && value)88 inline void SetPeriod(ReportFrequencyType&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } 89 90 /** 91 * <p>Time period between each report. The period can be daily, weekly, or 92 * monthly.</p> 93 */ WithPeriod(const ReportFrequencyType & value)94 inline ReportFrequency& WithPeriod(const ReportFrequencyType& value) { SetPeriod(value); return *this;} 95 96 /** 97 * <p>Time period between each report. The period can be daily, weekly, or 98 * monthly.</p> 99 */ WithPeriod(ReportFrequencyType && value)100 inline ReportFrequency& WithPeriod(ReportFrequencyType&& value) { SetPeriod(std::move(value)); return *this;} 101 102 private: 103 104 int m_value; 105 bool m_valueHasBeenSet; 106 107 ReportFrequencyType m_period; 108 bool m_periodHasBeenSet; 109 }; 110 111 } // namespace Model 112 } // namespace LicenseManager 113 } // namespace Aws 114