AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
RightsizingRecommendation.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/CurrentInstance.h>
9#include <aws/ce/model/FindingReasonCode.h>
10#include <aws/ce/model/ModifyRecommendationDetail.h>
11#include <aws/ce/model/RightsizingType.h>
12#include <aws/ce/model/TerminateRecommendationDetail.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace CostExplorer {
26namespace Model {
27
34 public:
35 AWS_COSTEXPLORER_API RightsizingRecommendation() = default;
38 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetAccountId() const { return m_accountId; }
45 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
46 template <typename AccountIdT = Aws::String>
47 void SetAccountId(AccountIdT&& value) {
48 m_accountIdHasBeenSet = true;
49 m_accountId = std::forward<AccountIdT>(value);
50 }
51 template <typename AccountIdT = Aws::String>
53 SetAccountId(std::forward<AccountIdT>(value));
54 return *this;
55 }
57
59
62 inline const CurrentInstance& GetCurrentInstance() const { return m_currentInstance; }
63 inline bool CurrentInstanceHasBeenSet() const { return m_currentInstanceHasBeenSet; }
64 template <typename CurrentInstanceT = CurrentInstance>
65 void SetCurrentInstance(CurrentInstanceT&& value) {
66 m_currentInstanceHasBeenSet = true;
67 m_currentInstance = std::forward<CurrentInstanceT>(value);
68 }
69 template <typename CurrentInstanceT = CurrentInstance>
71 SetCurrentInstance(std::forward<CurrentInstanceT>(value));
72 return *this;
73 }
75
77
80 inline RightsizingType GetRightsizingType() const { return m_rightsizingType; }
81 inline bool RightsizingTypeHasBeenSet() const { return m_rightsizingTypeHasBeenSet; }
83 m_rightsizingTypeHasBeenSet = true;
84 m_rightsizingType = value;
85 }
87 SetRightsizingType(value);
88 return *this;
89 }
91
93
96 inline const ModifyRecommendationDetail& GetModifyRecommendationDetail() const { return m_modifyRecommendationDetail; }
97 inline bool ModifyRecommendationDetailHasBeenSet() const { return m_modifyRecommendationDetailHasBeenSet; }
98 template <typename ModifyRecommendationDetailT = ModifyRecommendationDetail>
99 void SetModifyRecommendationDetail(ModifyRecommendationDetailT&& value) {
100 m_modifyRecommendationDetailHasBeenSet = true;
101 m_modifyRecommendationDetail = std::forward<ModifyRecommendationDetailT>(value);
102 }
103 template <typename ModifyRecommendationDetailT = ModifyRecommendationDetail>
104 RightsizingRecommendation& WithModifyRecommendationDetail(ModifyRecommendationDetailT&& value) {
105 SetModifyRecommendationDetail(std::forward<ModifyRecommendationDetailT>(value));
106 return *this;
107 }
109
111
114 inline const TerminateRecommendationDetail& GetTerminateRecommendationDetail() const { return m_terminateRecommendationDetail; }
115 inline bool TerminateRecommendationDetailHasBeenSet() const { return m_terminateRecommendationDetailHasBeenSet; }
116 template <typename TerminateRecommendationDetailT = TerminateRecommendationDetail>
117 void SetTerminateRecommendationDetail(TerminateRecommendationDetailT&& value) {
118 m_terminateRecommendationDetailHasBeenSet = true;
119 m_terminateRecommendationDetail = std::forward<TerminateRecommendationDetailT>(value);
120 }
121 template <typename TerminateRecommendationDetailT = TerminateRecommendationDetail>
122 RightsizingRecommendation& WithTerminateRecommendationDetail(TerminateRecommendationDetailT&& value) {
123 SetTerminateRecommendationDetail(std::forward<TerminateRecommendationDetailT>(value));
124 return *this;
125 }
127
129
134 inline const Aws::Vector<FindingReasonCode>& GetFindingReasonCodes() const { return m_findingReasonCodes; }
135 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
136 template <typename FindingReasonCodesT = Aws::Vector<FindingReasonCode>>
137 void SetFindingReasonCodes(FindingReasonCodesT&& value) {
138 m_findingReasonCodesHasBeenSet = true;
139 m_findingReasonCodes = std::forward<FindingReasonCodesT>(value);
140 }
141 template <typename FindingReasonCodesT = Aws::Vector<FindingReasonCode>>
142 RightsizingRecommendation& WithFindingReasonCodes(FindingReasonCodesT&& value) {
143 SetFindingReasonCodes(std::forward<FindingReasonCodesT>(value));
144 return *this;
145 }
147 m_findingReasonCodesHasBeenSet = true;
148 m_findingReasonCodes.push_back(value);
149 return *this;
150 }
152 private:
153 Aws::String m_accountId;
154
155 CurrentInstance m_currentInstance;
156
157 RightsizingType m_rightsizingType{RightsizingType::NOT_SET};
158
159 ModifyRecommendationDetail m_modifyRecommendationDetail;
160
161 TerminateRecommendationDetail m_terminateRecommendationDetail;
162
163 Aws::Vector<FindingReasonCode> m_findingReasonCodes;
164 bool m_accountIdHasBeenSet = false;
165 bool m_currentInstanceHasBeenSet = false;
166 bool m_rightsizingTypeHasBeenSet = false;
167 bool m_modifyRecommendationDetailHasBeenSet = false;
168 bool m_terminateRecommendationDetailHasBeenSet = false;
169 bool m_findingReasonCodesHasBeenSet = false;
170};
171
172} // namespace Model
173} // namespace CostExplorer
174} // namespace Aws
const ModifyRecommendationDetail & GetModifyRecommendationDetail() const
RightsizingRecommendation & AddFindingReasonCodes(FindingReasonCode value)
void SetTerminateRecommendationDetail(TerminateRecommendationDetailT &&value)
RightsizingRecommendation & WithModifyRecommendationDetail(ModifyRecommendationDetailT &&value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
RightsizingRecommendation & WithFindingReasonCodes(FindingReasonCodesT &&value)
RightsizingRecommendation & WithAccountId(AccountIdT &&value)
AWS_COSTEXPLORER_API RightsizingRecommendation()=default
RightsizingRecommendation & WithCurrentInstance(CurrentInstanceT &&value)
AWS_COSTEXPLORER_API RightsizingRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< FindingReasonCode > & GetFindingReasonCodes() const
RightsizingRecommendation & WithRightsizingType(RightsizingType value)
const TerminateRecommendationDetail & GetTerminateRecommendationDetail() const
AWS_COSTEXPLORER_API RightsizingRecommendation(Aws::Utils::Json::JsonView jsonValue)
RightsizingRecommendation & WithTerminateRecommendationDetail(TerminateRecommendationDetailT &&value)
void SetModifyRecommendationDetail(ModifyRecommendationDetailT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue