AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
RightsizingRecommendation.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ce/model/CurrentInstance.h>
10#include <aws/ce/model/RightsizingType.h>
11#include <aws/ce/model/ModifyRecommendationDetail.h>
12#include <aws/ce/model/TerminateRecommendationDetail.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ce/model/FindingReasonCode.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace CostExplorer
28{
29namespace Model
30{
31
38 {
39 public:
40 AWS_COSTEXPLORER_API RightsizingRecommendation() = default;
43 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetAccountId() const { return m_accountId; }
51 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
52 template<typename AccountIdT = Aws::String>
53 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
54 template<typename AccountIdT = Aws::String>
55 RightsizingRecommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
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) { m_currentInstanceHasBeenSet = true; m_currentInstance = std::forward<CurrentInstanceT>(value); }
66 template<typename CurrentInstanceT = CurrentInstance>
67 RightsizingRecommendation& WithCurrentInstance(CurrentInstanceT&& value) { SetCurrentInstance(std::forward<CurrentInstanceT>(value)); return *this;}
69
71
74 inline RightsizingType GetRightsizingType() const { return m_rightsizingType; }
75 inline bool RightsizingTypeHasBeenSet() const { return m_rightsizingTypeHasBeenSet; }
76 inline void SetRightsizingType(RightsizingType value) { m_rightsizingTypeHasBeenSet = true; m_rightsizingType = value; }
79
81
84 inline const ModifyRecommendationDetail& GetModifyRecommendationDetail() const { return m_modifyRecommendationDetail; }
85 inline bool ModifyRecommendationDetailHasBeenSet() const { return m_modifyRecommendationDetailHasBeenSet; }
86 template<typename ModifyRecommendationDetailT = ModifyRecommendationDetail>
87 void SetModifyRecommendationDetail(ModifyRecommendationDetailT&& value) { m_modifyRecommendationDetailHasBeenSet = true; m_modifyRecommendationDetail = std::forward<ModifyRecommendationDetailT>(value); }
88 template<typename ModifyRecommendationDetailT = ModifyRecommendationDetail>
89 RightsizingRecommendation& WithModifyRecommendationDetail(ModifyRecommendationDetailT&& value) { SetModifyRecommendationDetail(std::forward<ModifyRecommendationDetailT>(value)); return *this;}
91
93
96 inline const TerminateRecommendationDetail& GetTerminateRecommendationDetail() const { return m_terminateRecommendationDetail; }
97 inline bool TerminateRecommendationDetailHasBeenSet() const { return m_terminateRecommendationDetailHasBeenSet; }
98 template<typename TerminateRecommendationDetailT = TerminateRecommendationDetail>
99 void SetTerminateRecommendationDetail(TerminateRecommendationDetailT&& value) { m_terminateRecommendationDetailHasBeenSet = true; m_terminateRecommendationDetail = std::forward<TerminateRecommendationDetailT>(value); }
100 template<typename TerminateRecommendationDetailT = TerminateRecommendationDetail>
101 RightsizingRecommendation& WithTerminateRecommendationDetail(TerminateRecommendationDetailT&& value) { SetTerminateRecommendationDetail(std::forward<TerminateRecommendationDetailT>(value)); return *this;}
103
105
110 inline const Aws::Vector<FindingReasonCode>& GetFindingReasonCodes() const { return m_findingReasonCodes; }
111 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
112 template<typename FindingReasonCodesT = Aws::Vector<FindingReasonCode>>
113 void SetFindingReasonCodes(FindingReasonCodesT&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = std::forward<FindingReasonCodesT>(value); }
114 template<typename FindingReasonCodesT = Aws::Vector<FindingReasonCode>>
115 RightsizingRecommendation& WithFindingReasonCodes(FindingReasonCodesT&& value) { SetFindingReasonCodes(std::forward<FindingReasonCodesT>(value)); return *this;}
116 inline RightsizingRecommendation& AddFindingReasonCodes(FindingReasonCode value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(value); return *this; }
118 private:
119
120 Aws::String m_accountId;
121 bool m_accountIdHasBeenSet = false;
122
123 CurrentInstance m_currentInstance;
124 bool m_currentInstanceHasBeenSet = false;
125
126 RightsizingType m_rightsizingType{RightsizingType::NOT_SET};
127 bool m_rightsizingTypeHasBeenSet = false;
128
129 ModifyRecommendationDetail m_modifyRecommendationDetail;
130 bool m_modifyRecommendationDetailHasBeenSet = false;
131
132 TerminateRecommendationDetail m_terminateRecommendationDetail;
133 bool m_terminateRecommendationDetailHasBeenSet = false;
134
135 Aws::Vector<FindingReasonCode> m_findingReasonCodes;
136 bool m_findingReasonCodesHasBeenSet = false;
137 };
138
139} // namespace Model
140} // namespace CostExplorer
141} // 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