AWS SDK for C++

AWS SDK for C++ Version 1.11.782

Loading...
Searching...
No Matches
GetEstimatedCarbonEmissionsRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/sustainability/SustainabilityRequest.h>
10#include <aws/sustainability/Sustainability_EXPORTS.h>
11#include <aws/sustainability/model/Dimension.h>
12#include <aws/sustainability/model/EmissionsType.h>
13#include <aws/sustainability/model/FilterExpression.h>
14#include <aws/sustainability/model/GranularityConfiguration.h>
15#include <aws/sustainability/model/TimeGranularity.h>
16#include <aws/sustainability/model/TimePeriod.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Sustainability {
22namespace Model {
23
27 public:
28 AWS_SUSTAINABILITY_API GetEstimatedCarbonEmissionsRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "GetEstimatedCarbonEmissions"; }
35
36 AWS_SUSTAINABILITY_API Aws::String SerializePayload() const override;
37
39
42 inline const TimePeriod& GetTimePeriod() const { return m_timePeriod; }
43 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
44 template <typename TimePeriodT = TimePeriod>
45 void SetTimePeriod(TimePeriodT&& value) {
46 m_timePeriodHasBeenSet = true;
47 m_timePeriod = std::forward<TimePeriodT>(value);
48 }
49 template <typename TimePeriodT = TimePeriod>
51 SetTimePeriod(std::forward<TimePeriodT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::Vector<Dimension>& GetGroupBy() const { return m_groupBy; }
61 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
62 template <typename GroupByT = Aws::Vector<Dimension>>
63 void SetGroupBy(GroupByT&& value) {
64 m_groupByHasBeenSet = true;
65 m_groupBy = std::forward<GroupByT>(value);
66 }
67 template <typename GroupByT = Aws::Vector<Dimension>>
69 SetGroupBy(std::forward<GroupByT>(value));
70 return *this;
71 }
73 m_groupByHasBeenSet = true;
74 m_groupBy.push_back(value);
75 return *this;
76 }
78
80
83 inline const FilterExpression& GetFilterBy() const { return m_filterBy; }
84 inline bool FilterByHasBeenSet() const { return m_filterByHasBeenSet; }
85 template <typename FilterByT = FilterExpression>
86 void SetFilterBy(FilterByT&& value) {
87 m_filterByHasBeenSet = true;
88 m_filterBy = std::forward<FilterByT>(value);
89 }
90 template <typename FilterByT = FilterExpression>
92 SetFilterBy(std::forward<FilterByT>(value));
93 return *this;
94 }
96
98
103 inline const Aws::Vector<EmissionsType>& GetEmissionsTypes() const { return m_emissionsTypes; }
104 inline bool EmissionsTypesHasBeenSet() const { return m_emissionsTypesHasBeenSet; }
105 template <typename EmissionsTypesT = Aws::Vector<EmissionsType>>
106 void SetEmissionsTypes(EmissionsTypesT&& value) {
107 m_emissionsTypesHasBeenSet = true;
108 m_emissionsTypes = std::forward<EmissionsTypesT>(value);
109 }
110 template <typename EmissionsTypesT = Aws::Vector<EmissionsType>>
112 SetEmissionsTypes(std::forward<EmissionsTypesT>(value));
113 return *this;
114 }
116 m_emissionsTypesHasBeenSet = true;
117 m_emissionsTypes.push_back(value);
118 return *this;
119 }
121
123
127 inline TimeGranularity GetGranularity() const { return m_granularity; }
128 inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
129 inline void SetGranularity(TimeGranularity value) {
130 m_granularityHasBeenSet = true;
131 m_granularity = value;
132 }
134 SetGranularity(value);
135 return *this;
136 }
138
140
144 inline const GranularityConfiguration& GetGranularityConfiguration() const { return m_granularityConfiguration; }
145 inline bool GranularityConfigurationHasBeenSet() const { return m_granularityConfigurationHasBeenSet; }
146 template <typename GranularityConfigurationT = GranularityConfiguration>
147 void SetGranularityConfiguration(GranularityConfigurationT&& value) {
148 m_granularityConfigurationHasBeenSet = true;
149 m_granularityConfiguration = std::forward<GranularityConfigurationT>(value);
150 }
151 template <typename GranularityConfigurationT = GranularityConfiguration>
153 SetGranularityConfiguration(std::forward<GranularityConfigurationT>(value));
154 return *this;
155 }
157
159
162 inline int GetMaxResults() const { return m_maxResults; }
163 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
164 inline void SetMaxResults(int value) {
165 m_maxResultsHasBeenSet = true;
166 m_maxResults = value;
167 }
169 SetMaxResults(value);
170 return *this;
171 }
173
175
179 inline const Aws::String& GetNextToken() const { return m_nextToken; }
180 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
181 template <typename NextTokenT = Aws::String>
182 void SetNextToken(NextTokenT&& value) {
183 m_nextTokenHasBeenSet = true;
184 m_nextToken = std::forward<NextTokenT>(value);
185 }
186 template <typename NextTokenT = Aws::String>
188 SetNextToken(std::forward<NextTokenT>(value));
189 return *this;
190 }
192 private:
193 TimePeriod m_timePeriod;
194
195 Aws::Vector<Dimension> m_groupBy;
196
197 FilterExpression m_filterBy;
198
199 Aws::Vector<EmissionsType> m_emissionsTypes;
200
202
203 GranularityConfiguration m_granularityConfiguration;
204
205 int m_maxResults{0};
206
207 Aws::String m_nextToken;
208 bool m_timePeriodHasBeenSet = false;
209 bool m_groupByHasBeenSet = false;
210 bool m_filterByHasBeenSet = false;
211 bool m_emissionsTypesHasBeenSet = false;
212 bool m_granularityHasBeenSet = false;
213 bool m_granularityConfigurationHasBeenSet = false;
214 bool m_maxResultsHasBeenSet = false;
215 bool m_nextTokenHasBeenSet = false;
216};
217
218} // namespace Model
219} // namespace Sustainability
220} // namespace Aws
AWS_SUSTAINABILITY_API GetEstimatedCarbonEmissionsRequest()=default
GetEstimatedCarbonEmissionsRequest & AddEmissionsTypes(EmissionsType value)
GetEstimatedCarbonEmissionsRequest & WithFilterBy(FilterByT &&value)
GetEstimatedCarbonEmissionsRequest & WithTimePeriod(TimePeriodT &&value)
GetEstimatedCarbonEmissionsRequest & WithGranularity(TimeGranularity value)
GetEstimatedCarbonEmissionsRequest & WithNextToken(NextTokenT &&value)
AWS_SUSTAINABILITY_API Aws::String SerializePayload() const override
GetEstimatedCarbonEmissionsRequest & WithEmissionsTypes(EmissionsTypesT &&value)
GetEstimatedCarbonEmissionsRequest & WithGranularityConfiguration(GranularityConfigurationT &&value)
GetEstimatedCarbonEmissionsRequest & WithGroupBy(GroupByT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector