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/macie2/Macie2_EXPORTS.h> 8 #include <aws/macie2/model/TimeRange.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/macie2/model/UsageTotal.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace Macie2 26 { 27 namespace Model 28 { 29 class AWS_MACIE2_API GetUsageTotalsResult 30 { 31 public: 32 GetUsageTotalsResult(); 33 GetUsageTotalsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 GetUsageTotalsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 /** 38 * <p>The inclusive time period that the usage data applies to. Possible values 39 * are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, 40 * for the preceding 30 days.</p> 41 */ GetTimeRange()42 inline const TimeRange& GetTimeRange() const{ return m_timeRange; } 43 44 /** 45 * <p>The inclusive time period that the usage data applies to. Possible values 46 * are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, 47 * for the preceding 30 days.</p> 48 */ SetTimeRange(const TimeRange & value)49 inline void SetTimeRange(const TimeRange& value) { m_timeRange = value; } 50 51 /** 52 * <p>The inclusive time period that the usage data applies to. Possible values 53 * are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, 54 * for the preceding 30 days.</p> 55 */ SetTimeRange(TimeRange && value)56 inline void SetTimeRange(TimeRange&& value) { m_timeRange = std::move(value); } 57 58 /** 59 * <p>The inclusive time period that the usage data applies to. Possible values 60 * are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, 61 * for the preceding 30 days.</p> 62 */ WithTimeRange(const TimeRange & value)63 inline GetUsageTotalsResult& WithTimeRange(const TimeRange& value) { SetTimeRange(value); return *this;} 64 65 /** 66 * <p>The inclusive time period that the usage data applies to. Possible values 67 * are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, 68 * for the preceding 30 days.</p> 69 */ WithTimeRange(TimeRange && value)70 inline GetUsageTotalsResult& WithTimeRange(TimeRange&& value) { SetTimeRange(std::move(value)); return *this;} 71 72 73 /** 74 * <p>An array of objects that contains the results of the query. Each object 75 * contains the data for a specific usage metric.</p> 76 */ GetUsageTotals()77 inline const Aws::Vector<UsageTotal>& GetUsageTotals() const{ return m_usageTotals; } 78 79 /** 80 * <p>An array of objects that contains the results of the query. Each object 81 * contains the data for a specific usage metric.</p> 82 */ SetUsageTotals(const Aws::Vector<UsageTotal> & value)83 inline void SetUsageTotals(const Aws::Vector<UsageTotal>& value) { m_usageTotals = value; } 84 85 /** 86 * <p>An array of objects that contains the results of the query. Each object 87 * contains the data for a specific usage metric.</p> 88 */ SetUsageTotals(Aws::Vector<UsageTotal> && value)89 inline void SetUsageTotals(Aws::Vector<UsageTotal>&& value) { m_usageTotals = std::move(value); } 90 91 /** 92 * <p>An array of objects that contains the results of the query. Each object 93 * contains the data for a specific usage metric.</p> 94 */ WithUsageTotals(const Aws::Vector<UsageTotal> & value)95 inline GetUsageTotalsResult& WithUsageTotals(const Aws::Vector<UsageTotal>& value) { SetUsageTotals(value); return *this;} 96 97 /** 98 * <p>An array of objects that contains the results of the query. Each object 99 * contains the data for a specific usage metric.</p> 100 */ WithUsageTotals(Aws::Vector<UsageTotal> && value)101 inline GetUsageTotalsResult& WithUsageTotals(Aws::Vector<UsageTotal>&& value) { SetUsageTotals(std::move(value)); return *this;} 102 103 /** 104 * <p>An array of objects that contains the results of the query. Each object 105 * contains the data for a specific usage metric.</p> 106 */ AddUsageTotals(const UsageTotal & value)107 inline GetUsageTotalsResult& AddUsageTotals(const UsageTotal& value) { m_usageTotals.push_back(value); return *this; } 108 109 /** 110 * <p>An array of objects that contains the results of the query. Each object 111 * contains the data for a specific usage metric.</p> 112 */ AddUsageTotals(UsageTotal && value)113 inline GetUsageTotalsResult& AddUsageTotals(UsageTotal&& value) { m_usageTotals.push_back(std::move(value)); return *this; } 114 115 private: 116 117 TimeRange m_timeRange; 118 119 Aws::Vector<UsageTotal> m_usageTotals; 120 }; 121 122 } // namespace Model 123 } // namespace Macie2 124 } // namespace Aws 125