AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
LicenseRecommendation.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/LicenseConfiguration.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/compute-optimizer/model/LicenseFinding.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/compute-optimizer/model/LicenseFindingReasonCode.h>
14#include <aws/compute-optimizer/model/LicenseRecommendationOption.h>
15#include <aws/compute-optimizer/model/Tag.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace ComputeOptimizer
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation() = default;
43 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation(Aws::Utils::Json::JsonView jsonValue);
44 AWS_COMPUTEOPTIMIZER_API LicenseRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
53 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
54 template<typename ResourceArnT = Aws::String>
55 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
56 template<typename ResourceArnT = Aws::String>
57 LicenseRecommendation& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
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) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
68 template<typename AccountIdT = Aws::String>
69 LicenseRecommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
71
73
77 inline const LicenseConfiguration& GetCurrentLicenseConfiguration() const { return m_currentLicenseConfiguration; }
78 inline bool CurrentLicenseConfigurationHasBeenSet() const { return m_currentLicenseConfigurationHasBeenSet; }
79 template<typename CurrentLicenseConfigurationT = LicenseConfiguration>
80 void SetCurrentLicenseConfiguration(CurrentLicenseConfigurationT&& value) { m_currentLicenseConfigurationHasBeenSet = true; m_currentLicenseConfiguration = std::forward<CurrentLicenseConfigurationT>(value); }
81 template<typename CurrentLicenseConfigurationT = LicenseConfiguration>
82 LicenseRecommendation& WithCurrentLicenseConfiguration(CurrentLicenseConfigurationT&& value) { SetCurrentLicenseConfiguration(std::forward<CurrentLicenseConfigurationT>(value)); return *this;}
84
86
90 inline double GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
91 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
92 inline void SetLookbackPeriodInDays(double value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; }
93 inline LicenseRecommendation& WithLookbackPeriodInDays(double value) { SetLookbackPeriodInDays(value); return *this;}
95
97
100 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
101 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
102 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
103 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
104 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
105 LicenseRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
107
109
121 inline LicenseFinding GetFinding() const { return m_finding; }
122 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
123 inline void SetFinding(LicenseFinding value) { m_findingHasBeenSet = true; m_finding = value; }
124 inline LicenseRecommendation& WithFinding(LicenseFinding value) { SetFinding(value); return *this;}
126
128
141 inline const Aws::Vector<LicenseFindingReasonCode>& GetFindingReasonCodes() const { return m_findingReasonCodes; }
142 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
143 template<typename FindingReasonCodesT = Aws::Vector<LicenseFindingReasonCode>>
144 void SetFindingReasonCodes(FindingReasonCodesT&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = std::forward<FindingReasonCodesT>(value); }
145 template<typename FindingReasonCodesT = Aws::Vector<LicenseFindingReasonCode>>
146 LicenseRecommendation& WithFindingReasonCodes(FindingReasonCodesT&& value) { SetFindingReasonCodes(std::forward<FindingReasonCodesT>(value)); return *this;}
147 inline LicenseRecommendation& AddFindingReasonCodes(LicenseFindingReasonCode value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(value); return *this; }
149
151
154 inline const Aws::Vector<LicenseRecommendationOption>& GetLicenseRecommendationOptions() const { return m_licenseRecommendationOptions; }
155 inline bool LicenseRecommendationOptionsHasBeenSet() const { return m_licenseRecommendationOptionsHasBeenSet; }
156 template<typename LicenseRecommendationOptionsT = Aws::Vector<LicenseRecommendationOption>>
157 void SetLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) { m_licenseRecommendationOptionsHasBeenSet = true; m_licenseRecommendationOptions = std::forward<LicenseRecommendationOptionsT>(value); }
158 template<typename LicenseRecommendationOptionsT = Aws::Vector<LicenseRecommendationOption>>
159 LicenseRecommendation& WithLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) { SetLicenseRecommendationOptions(std::forward<LicenseRecommendationOptionsT>(value)); return *this;}
160 template<typename LicenseRecommendationOptionsT = LicenseRecommendationOption>
161 LicenseRecommendation& AddLicenseRecommendationOptions(LicenseRecommendationOptionsT&& value) { m_licenseRecommendationOptionsHasBeenSet = true; m_licenseRecommendationOptions.emplace_back(std::forward<LicenseRecommendationOptionsT>(value)); return *this; }
163
165
168 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
169 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
170 template<typename TagsT = Aws::Vector<Tag>>
171 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
172 template<typename TagsT = Aws::Vector<Tag>>
173 LicenseRecommendation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
174 template<typename TagsT = Tag>
175 LicenseRecommendation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
177 private:
178
179 Aws::String m_resourceArn;
180 bool m_resourceArnHasBeenSet = false;
181
182 Aws::String m_accountId;
183 bool m_accountIdHasBeenSet = false;
184
185 LicenseConfiguration m_currentLicenseConfiguration;
186 bool m_currentLicenseConfigurationHasBeenSet = false;
187
188 double m_lookbackPeriodInDays{0.0};
189 bool m_lookbackPeriodInDaysHasBeenSet = false;
190
191 Aws::Utils::DateTime m_lastRefreshTimestamp{};
192 bool m_lastRefreshTimestampHasBeenSet = false;
193
195 bool m_findingHasBeenSet = false;
196
197 Aws::Vector<LicenseFindingReasonCode> m_findingReasonCodes;
198 bool m_findingReasonCodesHasBeenSet = false;
199
200 Aws::Vector<LicenseRecommendationOption> m_licenseRecommendationOptions;
201 bool m_licenseRecommendationOptionsHasBeenSet = false;
202
203 Aws::Vector<Tag> m_tags;
204 bool m_tagsHasBeenSet = false;
205 };
206
207} // namespace Model
208} // namespace ComputeOptimizer
209} // 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