AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
GetCostAndUsageResult.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ce/model/GroupDefinition.h>
11#include <aws/ce/model/ResultByTime.h>
12#include <aws/ce/model/DimensionValuesWithAttributes.h>
13#include <utility>
14
15namespace Aws
16{
17template<typename RESULT_TYPE>
18class AmazonWebServiceResult;
19
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25} // namespace Json
26} // namespace Utils
27namespace CostExplorer
28{
29namespace Model
30{
32 {
33 public:
34 AWS_COSTEXPLORER_API GetCostAndUsageResult() = default;
37
38
40
45 inline const Aws::String& GetNextPageToken() const { return m_nextPageToken; }
46 template<typename NextPageTokenT = Aws::String>
47 void SetNextPageToken(NextPageTokenT&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::forward<NextPageTokenT>(value); }
48 template<typename NextPageTokenT = Aws::String>
49 GetCostAndUsageResult& WithNextPageToken(NextPageTokenT&& value) { SetNextPageToken(std::forward<NextPageTokenT>(value)); return *this;}
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) { m_groupDefinitionsHasBeenSet = true; m_groupDefinitions = std::forward<GroupDefinitionsT>(value); }
60 template<typename GroupDefinitionsT = Aws::Vector<GroupDefinition>>
61 GetCostAndUsageResult& WithGroupDefinitions(GroupDefinitionsT&& value) { SetGroupDefinitions(std::forward<GroupDefinitionsT>(value)); return *this;}
62 template<typename GroupDefinitionsT = GroupDefinition>
63 GetCostAndUsageResult& AddGroupDefinitions(GroupDefinitionsT&& value) { m_groupDefinitionsHasBeenSet = true; m_groupDefinitions.emplace_back(std::forward<GroupDefinitionsT>(value)); return *this; }
65
67
70 inline const Aws::Vector<ResultByTime>& GetResultsByTime() const { return m_resultsByTime; }
71 template<typename ResultsByTimeT = Aws::Vector<ResultByTime>>
72 void SetResultsByTime(ResultsByTimeT&& value) { m_resultsByTimeHasBeenSet = true; m_resultsByTime = std::forward<ResultsByTimeT>(value); }
73 template<typename ResultsByTimeT = Aws::Vector<ResultByTime>>
74 GetCostAndUsageResult& WithResultsByTime(ResultsByTimeT&& value) { SetResultsByTime(std::forward<ResultsByTimeT>(value)); return *this;}
75 template<typename ResultsByTimeT = ResultByTime>
76 GetCostAndUsageResult& AddResultsByTime(ResultsByTimeT&& value) { m_resultsByTimeHasBeenSet = true; m_resultsByTime.emplace_back(std::forward<ResultsByTimeT>(value)); return *this; }
78
80
84 inline const Aws::Vector<DimensionValuesWithAttributes>& GetDimensionValueAttributes() const { return m_dimensionValueAttributes; }
85 template<typename DimensionValueAttributesT = Aws::Vector<DimensionValuesWithAttributes>>
86 void SetDimensionValueAttributes(DimensionValueAttributesT&& value) { m_dimensionValueAttributesHasBeenSet = true; m_dimensionValueAttributes = std::forward<DimensionValueAttributesT>(value); }
87 template<typename DimensionValueAttributesT = Aws::Vector<DimensionValuesWithAttributes>>
88 GetCostAndUsageResult& WithDimensionValueAttributes(DimensionValueAttributesT&& value) { SetDimensionValueAttributes(std::forward<DimensionValueAttributesT>(value)); return *this;}
89 template<typename DimensionValueAttributesT = DimensionValuesWithAttributes>
90 GetCostAndUsageResult& AddDimensionValueAttributes(DimensionValueAttributesT&& value) { m_dimensionValueAttributesHasBeenSet = true; m_dimensionValueAttributes.emplace_back(std::forward<DimensionValueAttributesT>(value)); return *this; }
92
94
95 inline const Aws::String& GetRequestId() const { return m_requestId; }
96 template<typename RequestIdT = Aws::String>
97 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward<RequestIdT>(value); }
98 template<typename RequestIdT = Aws::String>
99 GetCostAndUsageResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward<RequestIdT>(value)); return *this;}
101 private:
102
103 Aws::String m_nextPageToken;
104 bool m_nextPageTokenHasBeenSet = false;
105
106 Aws::Vector<GroupDefinition> m_groupDefinitions;
107 bool m_groupDefinitionsHasBeenSet = false;
108
109 Aws::Vector<ResultByTime> m_resultsByTime;
110 bool m_resultsByTimeHasBeenSet = false;
111
112 Aws::Vector<DimensionValuesWithAttributes> m_dimensionValueAttributes;
113 bool m_dimensionValueAttributesHasBeenSet = false;
114
115 Aws::String m_requestId;
116 bool m_requestIdHasBeenSet = false;
117 };
118
119} // namespace Model
120} // namespace CostExplorer
121} // 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