AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
GetCostAndUsageResult.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/DimensionValuesWithAttributes.h>
9#include <aws/ce/model/GroupDefinition.h>
10#include <aws/ce/model/ResultByTime.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17template <typename RESULT_TYPE>
18class AmazonWebServiceResult;
19
20namespace Utils {
21namespace Json {
22class JsonValue;
23} // namespace Json
24} // namespace Utils
25namespace CostExplorer {
26namespace Model {
28 public:
29 AWS_COSTEXPLORER_API GetCostAndUsageResult() = default;
32
34
39 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
40 template <typename NextPageTokenT = Aws::String>
41 void SetNextPageToken(NextPageTokenT&& value) {
42 m_nextPageTokenHasBeenSet = true;
43 m_nextPageToken = std::forward<NextPageTokenT>(value);
44 }
45 template <typename NextPageTokenT = Aws::String>
46 GetCostAndUsageResult& WithNextPageToken(NextPageTokenT&& value) {
47 SetNextPageToken(std::forward<NextPageTokenT>(value));
48 return *this;
49 }
51
53
57 inline const Aws::Vector<GroupDefinition>& GetGroupDefinitions() const { return m_groupDefinitions; }
58 template <typename GroupDefinitionsT = Aws::Vector<GroupDefinition>>
59 void SetGroupDefinitions(GroupDefinitionsT&& value) {
60 m_groupDefinitionsHasBeenSet = true;
61 m_groupDefinitions = std::forward<GroupDefinitionsT>(value);
62 }
63 template <typename GroupDefinitionsT = Aws::Vector<GroupDefinition>>
64 GetCostAndUsageResult& WithGroupDefinitions(GroupDefinitionsT&& value) {
65 SetGroupDefinitions(std::forward<GroupDefinitionsT>(value));
66 return *this;
67 }
68 template <typename GroupDefinitionsT = GroupDefinition>
69 GetCostAndUsageResult& AddGroupDefinitions(GroupDefinitionsT&& value) {
70 m_groupDefinitionsHasBeenSet = true;
71 m_groupDefinitions.emplace_back(std::forward<GroupDefinitionsT>(value));
72 return *this;
73 }
75
77
80 inline const Aws::Vector<ResultByTime>& GetResultsByTime() const { return m_resultsByTime; }
81 template <typename ResultsByTimeT = Aws::Vector<ResultByTime>>
82 void SetResultsByTime(ResultsByTimeT&& value) {
83 m_resultsByTimeHasBeenSet = true;
84 m_resultsByTime = std::forward<ResultsByTimeT>(value);
85 }
86 template <typename ResultsByTimeT = Aws::Vector<ResultByTime>>
87 GetCostAndUsageResult& WithResultsByTime(ResultsByTimeT&& value) {
88 SetResultsByTime(std::forward<ResultsByTimeT>(value));
89 return *this;
90 }
91 template <typename ResultsByTimeT = ResultByTime>
92 GetCostAndUsageResult& AddResultsByTime(ResultsByTimeT&& value) {
93 m_resultsByTimeHasBeenSet = true;
94 m_resultsByTime.emplace_back(std::forward<ResultsByTimeT>(value));
95 return *this;
96 }
98
100
104 inline const Aws::Vector<DimensionValuesWithAttributes>& GetDimensionValueAttributes() const { return m_dimensionValueAttributes; }
105 template <typename DimensionValueAttributesT = Aws::Vector<DimensionValuesWithAttributes>>
106 void SetDimensionValueAttributes(DimensionValueAttributesT&& value) {
107 m_dimensionValueAttributesHasBeenSet = true;
108 m_dimensionValueAttributes = std::forward<DimensionValueAttributesT>(value);
109 }
110 template <typename DimensionValueAttributesT = Aws::Vector<DimensionValuesWithAttributes>>
111 GetCostAndUsageResult& WithDimensionValueAttributes(DimensionValueAttributesT&& value) {
112 SetDimensionValueAttributes(std::forward<DimensionValueAttributesT>(value));
113 return *this;
114 }
115 template <typename DimensionValueAttributesT = DimensionValuesWithAttributes>
116 GetCostAndUsageResult& AddDimensionValueAttributes(DimensionValueAttributesT&& value) {
117 m_dimensionValueAttributesHasBeenSet = true;
118 m_dimensionValueAttributes.emplace_back(std::forward<DimensionValueAttributesT>(value));
119 return *this;
120 }
122
124
125 inline const Aws::String& GetRequestId() const { return m_requestId; }
126 template <typename RequestIdT = Aws::String>
127 void SetRequestId(RequestIdT&& value) {
128 m_requestIdHasBeenSet = true;
129 m_requestId = std::forward<RequestIdT>(value);
130 }
131 template <typename RequestIdT = Aws::String>
133 SetRequestId(std::forward<RequestIdT>(value));
134 return *this;
135 }
137 private:
138 Aws::String m_nextPageToken;
139
140 Aws::Vector<GroupDefinition> m_groupDefinitions;
141
142 Aws::Vector<ResultByTime> m_resultsByTime;
143
144 Aws::Vector<DimensionValuesWithAttributes> m_dimensionValueAttributes;
145
146 Aws::String m_requestId;
147 bool m_nextPageTokenHasBeenSet = false;
148 bool m_groupDefinitionsHasBeenSet = false;
149 bool m_resultsByTimeHasBeenSet = false;
150 bool m_dimensionValueAttributesHasBeenSet = false;
151 bool m_requestIdHasBeenSet = false;
152};
153
154} // namespace Model
155} // namespace CostExplorer
156} // namespace Aws
GetCostAndUsageResult & AddGroupDefinitions(GroupDefinitionsT &&value)
GetCostAndUsageResult & AddDimensionValueAttributes(DimensionValueAttributesT &&value)
GetCostAndUsageResult & WithNextPageToken(NextPageTokenT &&value)
AWS_COSTEXPLORER_API GetCostAndUsageResult & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
const Aws::Vector< GroupDefinition > & GetGroupDefinitions() const
GetCostAndUsageResult & WithResultsByTime(ResultsByTimeT &&value)
AWS_COSTEXPLORER_API GetCostAndUsageResult(const Aws::AmazonWebServiceResult< Aws::Utils::Json::JsonValue > &result)
const Aws::Vector< ResultByTime > & GetResultsByTime() const
GetCostAndUsageResult & WithGroupDefinitions(GroupDefinitionsT &&value)
void SetDimensionValueAttributes(DimensionValueAttributesT &&value)
GetCostAndUsageResult & AddResultsByTime(ResultsByTimeT &&value)
GetCostAndUsageResult & WithRequestId(RequestIdT &&value)
GetCostAndUsageResult & WithDimensionValueAttributes(DimensionValueAttributesT &&value)
AWS_COSTEXPLORER_API GetCostAndUsageResult()=default
const Aws::Vector< DimensionValuesWithAttributes > & GetDimensionValueAttributes() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue