AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Expression.h
1
6#pragma once
7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/CostCategoryValues.h>
9#include <aws/billing/model/DimensionValues.h>
10#include <aws/billing/model/TagValues.h>
11#include <aws/billing/model/TimeRange.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Billing {
23namespace Model {
24
34 public:
35 AWS_BILLING_API Expression() = default;
36 AWS_BILLING_API Expression(Aws::Utils::Json::JsonView jsonValue);
37 AWS_BILLING_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const DimensionValues& GetDimensions() const { return m_dimensions; }
45 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
46 template <typename DimensionsT = DimensionValues>
47 void SetDimensions(DimensionsT&& value) {
48 m_dimensionsHasBeenSet = true;
49 m_dimensions = std::forward<DimensionsT>(value);
50 }
51 template <typename DimensionsT = DimensionValues>
52 Expression& WithDimensions(DimensionsT&& value) {
53 SetDimensions(std::forward<DimensionsT>(value));
54 return *this;
55 }
57
59
62 inline const TagValues& GetTags() const { return m_tags; }
63 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
64 template <typename TagsT = TagValues>
65 void SetTags(TagsT&& value) {
66 m_tagsHasBeenSet = true;
67 m_tags = std::forward<TagsT>(value);
68 }
69 template <typename TagsT = TagValues>
70 Expression& WithTags(TagsT&& value) {
71 SetTags(std::forward<TagsT>(value));
72 return *this;
73 }
75
77
80 inline const CostCategoryValues& GetCostCategories() const { return m_costCategories; }
81 inline bool CostCategoriesHasBeenSet() const { return m_costCategoriesHasBeenSet; }
82 template <typename CostCategoriesT = CostCategoryValues>
83 void SetCostCategories(CostCategoriesT&& value) {
84 m_costCategoriesHasBeenSet = true;
85 m_costCategories = std::forward<CostCategoriesT>(value);
86 }
87 template <typename CostCategoriesT = CostCategoryValues>
88 Expression& WithCostCategories(CostCategoriesT&& value) {
89 SetCostCategories(std::forward<CostCategoriesT>(value));
90 return *this;
91 }
93
95
98 inline const TimeRange& GetTimeRange() const { return m_timeRange; }
99 inline bool TimeRangeHasBeenSet() const { return m_timeRangeHasBeenSet; }
100 template <typename TimeRangeT = TimeRange>
101 void SetTimeRange(TimeRangeT&& value) {
102 m_timeRangeHasBeenSet = true;
103 m_timeRange = std::forward<TimeRangeT>(value);
104 }
105 template <typename TimeRangeT = TimeRange>
106 Expression& WithTimeRange(TimeRangeT&& value) {
107 SetTimeRange(std::forward<TimeRangeT>(value));
108 return *this;
109 }
111 private:
112 DimensionValues m_dimensions;
113
114 TagValues m_tags;
115
116 CostCategoryValues m_costCategories;
117
118 TimeRange m_timeRange;
119 bool m_dimensionsHasBeenSet = false;
120 bool m_tagsHasBeenSet = false;
121 bool m_costCategoriesHasBeenSet = false;
122 bool m_timeRangeHasBeenSet = false;
123};
124
125} // namespace Model
126} // namespace Billing
127} // namespace Aws
bool CostCategoriesHasBeenSet() const
Definition Expression.h:81
void SetDimensions(DimensionsT &&value)
Definition Expression.h:47
Expression & WithDimensions(DimensionsT &&value)
Definition Expression.h:52
void SetCostCategories(CostCategoriesT &&value)
Definition Expression.h:83
AWS_BILLING_API Expression()=default
Expression & WithCostCategories(CostCategoriesT &&value)
Definition Expression.h:88
Expression & WithTags(TagsT &&value)
Definition Expression.h:70
AWS_BILLING_API Expression(Aws::Utils::Json::JsonView jsonValue)
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BILLING_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
const TimeRange & GetTimeRange() const
Definition Expression.h:98
void SetTimeRange(TimeRangeT &&value)
Definition Expression.h:101
Expression & WithTimeRange(TimeRangeT &&value)
Definition Expression.h:106
const DimensionValues & GetDimensions() const
Definition Expression.h:44
const CostCategoryValues & GetCostCategories() const
Definition Expression.h:80
const TagValues & GetTags() const
Definition Expression.h:62
void SetTags(TagsT &&value)
Definition Expression.h:65
Aws::Utils::Json::JsonValue JsonValue