AWS SDK for C++

AWS SDK for C++ Version 1.11.851

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
44 inline const TimePeriod& GetTimePeriod() const { return m_timePeriod; }
45 inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; }
46 template <typename TimePeriodT = TimePeriod>
47 void SetTimePeriod(TimePeriodT&& value) {
48 m_timePeriodHasBeenSet = true;
49 m_timePeriod = std::forward<TimePeriodT>(value);
50 }
51 template <typename TimePeriodT = TimePeriod>
53 SetTimePeriod(std::forward<TimePeriodT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::Vector<Dimension>& GetGroupBy() const { return m_groupBy; }
63 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
64 template <typename GroupByT = Aws::Vector<Dimension>>
65 void SetGroupBy(GroupByT&& value) {
66 m_groupByHasBeenSet = true;
67 m_groupBy = std::forward<GroupByT>(value);
68 }
69 template <typename GroupByT = Aws::Vector<Dimension>>
71 SetGroupBy(std::forward<GroupByT>(value));
72 return *this;
73 }
75 m_groupByHasBeenSet = true;
76 m_groupBy.push_back(value);
77 return *this;
78 }
80
82
87 inline const FilterExpression& GetFilterBy() const { return m_filterBy; }
88 inline bool FilterByHasBeenSet() const { return m_filterByHasBeenSet; }
89 template <typename FilterByT = FilterExpression>
90 void SetFilterBy(FilterByT&& value) {
91 m_filterByHasBeenSet = true;
92 m_filterBy = std::forward<FilterByT>(value);
93 }
94 template <typename FilterByT = FilterExpression>
96 SetFilterBy(std::forward<FilterByT>(value));
97 return *this;
98 }
100
102
107 inline const Aws::Vector<EmissionsType>& GetEmissionsTypes() const { return m_emissionsTypes; }
108 inline bool EmissionsTypesHasBeenSet() const { return m_emissionsTypesHasBeenSet; }
109 template <typename EmissionsTypesT = Aws::Vector<EmissionsType>>
110 void SetEmissionsTypes(EmissionsTypesT&& value) {
111 m_emissionsTypesHasBeenSet = true;
112 m_emissionsTypes = std::forward<EmissionsTypesT>(value);
113 }
114 template <typename EmissionsTypesT = Aws::Vector<EmissionsType>>
116 SetEmissionsTypes(std::forward<EmissionsTypesT>(value));
117 return *this;
118 }
120 m_emissionsTypesHasBeenSet = true;
121 m_emissionsTypes.push_back(value);
122 return *this;
123 }
125
127
136 inline TimeGranularity GetGranularity() const { return m_granularity; }
137 inline bool GranularityHasBeenSet() const { return m_granularityHasBeenSet; }
138 inline void SetGranularity(TimeGranularity value) {
139 m_granularityHasBeenSet = true;
140 m_granularity = value;
141 }
143 SetGranularity(value);
144 return *this;
145 }
147
149
153 inline const GranularityConfiguration& GetGranularityConfiguration() const { return m_granularityConfiguration; }
154 inline bool GranularityConfigurationHasBeenSet() const { return m_granularityConfigurationHasBeenSet; }
155 template <typename GranularityConfigurationT = GranularityConfiguration>
156 void SetGranularityConfiguration(GranularityConfigurationT&& value) {
157 m_granularityConfigurationHasBeenSet = true;
158 m_granularityConfiguration = std::forward<GranularityConfigurationT>(value);
159 }
160 template <typename GranularityConfigurationT = GranularityConfiguration>
162 SetGranularityConfiguration(std::forward<GranularityConfigurationT>(value));
163 return *this;
164 }
166
168
172 inline int GetMaxResults() const { return m_maxResults; }
173 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
174 inline void SetMaxResults(int value) {
175 m_maxResultsHasBeenSet = true;
176 m_maxResults = value;
177 }
179 SetMaxResults(value);
180 return *this;
181 }
183
185
189 inline const Aws::String& GetNextToken() const { return m_nextToken; }
190 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
191 template <typename NextTokenT = Aws::String>
192 void SetNextToken(NextTokenT&& value) {
193 m_nextTokenHasBeenSet = true;
194 m_nextToken = std::forward<NextTokenT>(value);
195 }
196 template <typename NextTokenT = Aws::String>
198 SetNextToken(std::forward<NextTokenT>(value));
199 return *this;
200 }
202 private:
203 TimePeriod m_timePeriod;
204
205 Aws::Vector<Dimension> m_groupBy;
206
207 FilterExpression m_filterBy;
208
209 Aws::Vector<EmissionsType> m_emissionsTypes;
210
212
213 GranularityConfiguration m_granularityConfiguration;
214
215 int m_maxResults{0};
216
217 Aws::String m_nextToken;
218 bool m_timePeriodHasBeenSet = false;
219 bool m_groupByHasBeenSet = false;
220 bool m_filterByHasBeenSet = false;
221 bool m_emissionsTypesHasBeenSet = false;
222 bool m_granularityHasBeenSet = false;
223 bool m_granularityConfigurationHasBeenSet = false;
224 bool m_maxResultsHasBeenSet = false;
225 bool m_nextTokenHasBeenSet = false;
226};
227
228} // namespace Model
229} // namespace Sustainability
230} // 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