AWS SDK for C++

AWS SDK for C++ Version 1.11.749

Loading...
Searching...
No Matches
LicenseRecommendation.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/LicenseConfiguration.h>
9#include <aws/compute-optimizer/model/LicenseFinding.h>
10#include <aws/compute-optimizer/model/LicenseFindingReasonCode.h>
11#include <aws/compute-optimizer/model/LicenseRecommendationOption.h>
12#include <aws/compute-optimizer/model/Tag.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ComputeOptimizer {
27namespace Model {
28
36 public:
37 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation() = default;
38 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
47 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
48 template <typename ResourceArnT = Aws::String>
49 void SetResourceArn(ResourceArnT&& value) {
50 m_resourceArnHasBeenSet = true;
51 m_resourceArn = std::forward<ResourceArnT>(value);
52 }
53 template <typename ResourceArnT = Aws::String>
54 LicenseRecommendation& WithResourceArn(ResourceArnT&& value) {
55 SetResourceArn(std::forward<ResourceArnT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetAccountId() const { return m_accountId; }
65 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
66 template <typename AccountIdT = Aws::String>
67 void SetAccountId(AccountIdT&& value) {
68 m_accountIdHasBeenSet = true;
69 m_accountId = std::forward<AccountIdT>(value);
70 }
71 template <typename AccountIdT = Aws::String>
72 LicenseRecommendation& WithAccountId(AccountIdT&& value) {
73 SetAccountId(std::forward<AccountIdT>(value));
74 return *this;
75 }
77
79
83 inline const LicenseConfiguration& GetCurrentLicenseConfiguration() const { return m_currentLicenseConfiguration; }
84 inline bool CurrentLicenseConfigurationHasBeenSet() const { return m_currentLicenseConfigurationHasBeenSet; }
85 template <typename CurrentLicenseConfigurationT = LicenseConfiguration>
86 void SetCurrentLicenseConfiguration(CurrentLicenseConfigurationT&& value) {
87 m_currentLicenseConfigurationHasBeenSet = true;
88 m_currentLicenseConfiguration = std::forward<CurrentLicenseConfigurationT>(value);
89 }
90 template <typename CurrentLicenseConfigurationT = LicenseConfiguration>
91 LicenseRecommendation& WithCurrentLicenseConfiguration(CurrentLicenseConfigurationT&& value) {
92 SetCurrentLicenseConfiguration(std::forward<CurrentLicenseConfigurationT>(value));
93 return *this;
94 }
96
98
102 inline double GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
103 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
104 inline void SetLookbackPeriodInDays(double value) {
105 m_lookbackPeriodInDaysHasBeenSet = true;
106 m_lookbackPeriodInDays = value;
107 }
110 return *this;
111 }
113
115
118 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
119 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
120 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
121 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) {
122 m_lastRefreshTimestampHasBeenSet = true;
123 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
124 }
125 template <typename LastRefreshTimestampT = Aws::Utils::DateTime>
126 LicenseRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) {
127 SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value));
128 return *this;
129 }
131
133
145 inline LicenseFinding GetFinding() const { return m_finding; }
146 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
147 inline void SetFinding(LicenseFinding value) {
148 m_findingHasBeenSet = true;
149 m_finding = value;
150 }
152 SetFinding(value);
153 return *this;
154 }
156
158
171 inline const Aws::Vector<LicenseFindingReasonCode>& GetFindingReasonCodes() const { return m_findingReasonCodes; }
172 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
173 template <typename FindingReasonCodesT = Aws::Vector<LicenseFindingReasonCode>>
174 void SetFindingReasonCodes(FindingReasonCodesT&& value) {
175 m_findingReasonCodesHasBeenSet = true;
176 m_findingReasonCodes = std::forward<FindingReasonCodesT>(value);
177 }
178 template <typename FindingReasonCodesT = Aws::Vector<LicenseFindingReasonCode>>
179 LicenseRecommendation& WithFindingReasonCodes(FindingReasonCodesT&& value) {
180 SetFindingReasonCodes(std::forward<FindingReasonCodesT>(value));
181 return *this;
182 }
184 m_findingReasonCodesHasBeenSet = true;
185 m_findingReasonCodes.push_back(value);
186 return *this;
187 }
189
191
194 inline const Aws::Vector<LicenseRecommendationOption>& GetLicenseRecommendationOptions() const { return m_licenseRecommendationOptions; }
195 inline bool LicenseRecommendationOptionsHasBeenSet() const { return m_licenseRecommendationOptionsHasBeenSet; }
196 template <typename LicenseRecommendationOptionsT = Aws::Vector<LicenseRecommendationOption>>
197 void SetLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) {
198 m_licenseRecommendationOptionsHasBeenSet = true;
199 m_licenseRecommendationOptions = std::forward<LicenseRecommendationOptionsT>(value);
200 }
201 template <typename LicenseRecommendationOptionsT = Aws::Vector<LicenseRecommendationOption>>
202 LicenseRecommendation& WithLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) {
203 SetLicenseRecommendationOptions(std::forward<LicenseRecommendationOptionsT>(value));
204 return *this;
205 }
206 template <typename LicenseRecommendationOptionsT = LicenseRecommendationOption>
207 LicenseRecommendation& AddLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) {
208 m_licenseRecommendationOptionsHasBeenSet = true;
209 m_licenseRecommendationOptions.emplace_back(std::forward<LicenseRecommendationOptionsT>(value));
210 return *this;
211 }
213
215
218 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
219 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
220 template <typename TagsT = Aws::Vector<Tag>>
221 void SetTags(TagsT&& value) {
222 m_tagsHasBeenSet = true;
223 m_tags = std::forward<TagsT>(value);
224 }
225 template <typename TagsT = Aws::Vector<Tag>>
227 SetTags(std::forward<TagsT>(value));
228 return *this;
229 }
230 template <typename TagsT = Tag>
232 m_tagsHasBeenSet = true;
233 m_tags.emplace_back(std::forward<TagsT>(value));
234 return *this;
235 }
237 private:
238 Aws::String m_resourceArn;
239
240 Aws::String m_accountId;
241
242 LicenseConfiguration m_currentLicenseConfiguration;
243
244 double m_lookbackPeriodInDays{0.0};
245
246 Aws::Utils::DateTime m_lastRefreshTimestamp{};
247
249
250 Aws::Vector<LicenseFindingReasonCode> m_findingReasonCodes;
251
252 Aws::Vector<LicenseRecommendationOption> m_licenseRecommendationOptions;
253
254 Aws::Vector<Tag> m_tags;
255 bool m_resourceArnHasBeenSet = false;
256 bool m_accountIdHasBeenSet = false;
257 bool m_currentLicenseConfigurationHasBeenSet = false;
258 bool m_lookbackPeriodInDaysHasBeenSet = false;
259 bool m_lastRefreshTimestampHasBeenSet = false;
260 bool m_findingHasBeenSet = false;
261 bool m_findingReasonCodesHasBeenSet = false;
262 bool m_licenseRecommendationOptionsHasBeenSet = false;
263 bool m_tagsHasBeenSet = false;
264};
265
266} // namespace Model
267} // namespace ComputeOptimizer
268} // namespace Aws
const Aws::Vector< LicenseFindingReasonCode > & GetFindingReasonCodes() const
AWS_COMPUTEOPTIMIZER_API LicenseRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
LicenseRecommendation & WithLicenseRecommendationOptions(LicenseRecommendationOptionsT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
void SetLicenseRecommendationOptions(LicenseRecommendationOptionsT &&value)
LicenseRecommendation & WithLookbackPeriodInDays(double value)
LicenseRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
LicenseRecommendation & AddLicenseRecommendationOptions(LicenseRecommendationOptionsT &&value)
LicenseRecommendation & WithFindingReasonCodes(FindingReasonCodesT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
LicenseRecommendation & WithAccountId(AccountIdT &&value)
AWS_COMPUTEOPTIMIZER_API LicenseRecommendation(Aws::Utils::Json::JsonView jsonValue)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const LicenseConfiguration & GetCurrentLicenseConfiguration() const
AWS_COMPUTEOPTIMIZER_API LicenseRecommendation()=default
LicenseRecommendation & WithResourceArn(ResourceArnT &&value)
const Aws::Vector< LicenseRecommendationOption > & GetLicenseRecommendationOptions() const
LicenseRecommendation & AddFindingReasonCodes(LicenseFindingReasonCode value)
void SetCurrentLicenseConfiguration(CurrentLicenseConfigurationT &&value)
LicenseRecommendation & WithCurrentLicenseConfiguration(CurrentLicenseConfigurationT &&value)
LicenseRecommendation & WithFinding(LicenseFinding 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