AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
VolumeRecommendation.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/VolumeConfiguration.h>
10#include <aws/compute-optimizer/model/EBSFinding.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
14#include <aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.h>
15#include <aws/compute-optimizer/model/EBSUtilizationMetric.h>
16#include <aws/compute-optimizer/model/VolumeRecommendationOption.h>
17#include <aws/compute-optimizer/model/Tag.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace ComputeOptimizer
31{
32namespace Model
33{
34
42 {
43 public:
44 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation() = default;
45 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue);
46 AWS_COMPUTEOPTIMIZER_API VolumeRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
47 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
48
49
51
54 inline const Aws::String& GetVolumeArn() const { return m_volumeArn; }
55 inline bool VolumeArnHasBeenSet() const { return m_volumeArnHasBeenSet; }
56 template<typename VolumeArnT = Aws::String>
57 void SetVolumeArn(VolumeArnT&& value) { m_volumeArnHasBeenSet = true; m_volumeArn = std::forward<VolumeArnT>(value); }
58 template<typename VolumeArnT = Aws::String>
59 VolumeRecommendation& WithVolumeArn(VolumeArnT&& value) { SetVolumeArn(std::forward<VolumeArnT>(value)); return *this;}
61
63
66 inline const Aws::String& GetAccountId() const { return m_accountId; }
67 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
68 template<typename AccountIdT = Aws::String>
69 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
70 template<typename AccountIdT = Aws::String>
71 VolumeRecommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
73
75
79 inline const VolumeConfiguration& GetCurrentConfiguration() const { return m_currentConfiguration; }
80 inline bool CurrentConfigurationHasBeenSet() const { return m_currentConfigurationHasBeenSet; }
81 template<typename CurrentConfigurationT = VolumeConfiguration>
82 void SetCurrentConfiguration(CurrentConfigurationT&& value) { m_currentConfigurationHasBeenSet = true; m_currentConfiguration = std::forward<CurrentConfigurationT>(value); }
83 template<typename CurrentConfigurationT = VolumeConfiguration>
84 VolumeRecommendation& WithCurrentConfiguration(CurrentConfigurationT&& value) { SetCurrentConfiguration(std::forward<CurrentConfigurationT>(value)); return *this;}
86
88
98 inline EBSFinding GetFinding() const { return m_finding; }
99 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
100 inline void SetFinding(EBSFinding value) { m_findingHasBeenSet = true; m_finding = value; }
101 inline VolumeRecommendation& WithFinding(EBSFinding value) { SetFinding(value); return *this;}
103
105
108 inline const Aws::Vector<EBSUtilizationMetric>& GetUtilizationMetrics() const { return m_utilizationMetrics; }
109 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
110 template<typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
111 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
112 template<typename UtilizationMetricsT = Aws::Vector<EBSUtilizationMetric>>
113 VolumeRecommendation& WithUtilizationMetrics(UtilizationMetricsT&& value) { SetUtilizationMetrics(std::forward<UtilizationMetricsT>(value)); return *this;}
114 template<typename UtilizationMetricsT = EBSUtilizationMetric>
115 VolumeRecommendation& AddUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value)); return *this; }
117
119
123 inline double GetLookBackPeriodInDays() const { return m_lookBackPeriodInDays; }
124 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
125 inline void SetLookBackPeriodInDays(double value) { m_lookBackPeriodInDaysHasBeenSet = true; m_lookBackPeriodInDays = value; }
126 inline VolumeRecommendation& WithLookBackPeriodInDays(double value) { SetLookBackPeriodInDays(value); return *this;}
128
130
134 inline const Aws::Vector<VolumeRecommendationOption>& GetVolumeRecommendationOptions() const { return m_volumeRecommendationOptions; }
135 inline bool VolumeRecommendationOptionsHasBeenSet() const { return m_volumeRecommendationOptionsHasBeenSet; }
136 template<typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
137 void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions = std::forward<VolumeRecommendationOptionsT>(value); }
138 template<typename VolumeRecommendationOptionsT = Aws::Vector<VolumeRecommendationOption>>
139 VolumeRecommendation& WithVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) { SetVolumeRecommendationOptions(std::forward<VolumeRecommendationOptionsT>(value)); return *this;}
140 template<typename VolumeRecommendationOptionsT = VolumeRecommendationOption>
141 VolumeRecommendation& AddVolumeRecommendationOptions(VolumeRecommendationOptionsT&& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions.emplace_back(std::forward<VolumeRecommendationOptionsT>(value)); return *this; }
143
145
148 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
149 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
150 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
151 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
152 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
153 VolumeRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
155
157
162 inline CurrentPerformanceRisk GetCurrentPerformanceRisk() const { return m_currentPerformanceRisk; }
163 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
164 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
167
169
173 inline const EBSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const { return m_effectiveRecommendationPreferences; }
174 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
175 template<typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
176 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
177 template<typename EffectiveRecommendationPreferencesT = EBSEffectiveRecommendationPreferences>
178 VolumeRecommendation& WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { SetEffectiveRecommendationPreferences(std::forward<EffectiveRecommendationPreferencesT>(value)); return *this;}
180
182
185 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
186 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
187 template<typename TagsT = Aws::Vector<Tag>>
188 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
189 template<typename TagsT = Aws::Vector<Tag>>
190 VolumeRecommendation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
191 template<typename TagsT = Tag>
192 VolumeRecommendation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
194 private:
195
196 Aws::String m_volumeArn;
197 bool m_volumeArnHasBeenSet = false;
198
199 Aws::String m_accountId;
200 bool m_accountIdHasBeenSet = false;
201
202 VolumeConfiguration m_currentConfiguration;
203 bool m_currentConfigurationHasBeenSet = false;
204
206 bool m_findingHasBeenSet = false;
207
208 Aws::Vector<EBSUtilizationMetric> m_utilizationMetrics;
209 bool m_utilizationMetricsHasBeenSet = false;
210
211 double m_lookBackPeriodInDays{0.0};
212 bool m_lookBackPeriodInDaysHasBeenSet = false;
213
214 Aws::Vector<VolumeRecommendationOption> m_volumeRecommendationOptions;
215 bool m_volumeRecommendationOptionsHasBeenSet = false;
216
217 Aws::Utils::DateTime m_lastRefreshTimestamp{};
218 bool m_lastRefreshTimestampHasBeenSet = false;
219
221 bool m_currentPerformanceRiskHasBeenSet = false;
222
223 EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
224 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
225
226 Aws::Vector<Tag> m_tags;
227 bool m_tagsHasBeenSet = false;
228 };
229
230} // namespace Model
231} // namespace ComputeOptimizer
232} // namespace Aws
const EBSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< VolumeRecommendationOption > & GetVolumeRecommendationOptions() const
VolumeRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
void SetUtilizationMetrics(UtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
VolumeRecommendation & WithAccountId(AccountIdT &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
VolumeRecommendation & WithVolumeArn(VolumeArnT &&value)
VolumeRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
VolumeRecommendation & WithCurrentConfiguration(CurrentConfigurationT &&value)
void SetVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
VolumeRecommendation & WithVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
VolumeRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation()=default
VolumeRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
VolumeRecommendation & WithLookBackPeriodInDays(double value)
VolumeRecommendation & WithFinding(EBSFinding value)
const VolumeConfiguration & GetCurrentConfiguration() const
VolumeRecommendation & AddVolumeRecommendationOptions(VolumeRecommendationOptionsT &&value)
void SetCurrentConfiguration(CurrentConfigurationT &&value)
VolumeRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk value)
const Aws::Vector< EBSUtilizationMetric > & GetUtilizationMetrics() 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