AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetVolumeArn(const Aws::String& value) { m_volumeArnHasBeenSet = true; m_volumeArn = value; }
57 inline void SetVolumeArn(Aws::String&& value) { m_volumeArnHasBeenSet = true; m_volumeArn = std::move(value); }
58 inline void SetVolumeArn(const char* value) { m_volumeArnHasBeenSet = true; m_volumeArn.assign(value); }
59 inline VolumeRecommendation& WithVolumeArn(const Aws::String& value) { SetVolumeArn(value); return *this;}
60 inline VolumeRecommendation& WithVolumeArn(Aws::String&& value) { SetVolumeArn(std::move(value)); return *this;}
61 inline VolumeRecommendation& WithVolumeArn(const char* value) { SetVolumeArn(value); return *this;}
63
65
68 inline const Aws::String& GetAccountId() const{ return m_accountId; }
69 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
70 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
71 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
72 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
73 inline VolumeRecommendation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
74 inline VolumeRecommendation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
75 inline VolumeRecommendation& WithAccountId(const char* value) { SetAccountId(value); return *this;}
77
79
83 inline const VolumeConfiguration& GetCurrentConfiguration() const{ return m_currentConfiguration; }
84 inline bool CurrentConfigurationHasBeenSet() const { return m_currentConfigurationHasBeenSet; }
85 inline void SetCurrentConfiguration(const VolumeConfiguration& value) { m_currentConfigurationHasBeenSet = true; m_currentConfiguration = value; }
86 inline void SetCurrentConfiguration(VolumeConfiguration&& value) { m_currentConfigurationHasBeenSet = true; m_currentConfiguration = std::move(value); }
90
92
102 inline const EBSFinding& GetFinding() const{ return m_finding; }
103 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
104 inline void SetFinding(const EBSFinding& value) { m_findingHasBeenSet = true; m_finding = value; }
105 inline void SetFinding(EBSFinding&& value) { m_findingHasBeenSet = true; m_finding = std::move(value); }
106 inline VolumeRecommendation& WithFinding(const EBSFinding& value) { SetFinding(value); return *this;}
107 inline VolumeRecommendation& WithFinding(EBSFinding&& value) { SetFinding(std::move(value)); return *this;}
109
111
114 inline const Aws::Vector<EBSUtilizationMetric>& GetUtilizationMetrics() const{ return m_utilizationMetrics; }
115 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
116 inline void SetUtilizationMetrics(const Aws::Vector<EBSUtilizationMetric>& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = value; }
117 inline void SetUtilizationMetrics(Aws::Vector<EBSUtilizationMetric>&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::move(value); }
120 inline VolumeRecommendation& AddUtilizationMetrics(const EBSUtilizationMetric& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(value); return *this; }
121 inline VolumeRecommendation& AddUtilizationMetrics(EBSUtilizationMetric&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(std::move(value)); return *this; }
123
125
129 inline double GetLookBackPeriodInDays() const{ return m_lookBackPeriodInDays; }
130 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
131 inline void SetLookBackPeriodInDays(double value) { m_lookBackPeriodInDaysHasBeenSet = true; m_lookBackPeriodInDays = value; }
132 inline VolumeRecommendation& WithLookBackPeriodInDays(double value) { SetLookBackPeriodInDays(value); return *this;}
134
136
140 inline const Aws::Vector<VolumeRecommendationOption>& GetVolumeRecommendationOptions() const{ return m_volumeRecommendationOptions; }
141 inline bool VolumeRecommendationOptionsHasBeenSet() const { return m_volumeRecommendationOptionsHasBeenSet; }
142 inline void SetVolumeRecommendationOptions(const Aws::Vector<VolumeRecommendationOption>& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions = value; }
143 inline void SetVolumeRecommendationOptions(Aws::Vector<VolumeRecommendationOption>&& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions = std::move(value); }
146 inline VolumeRecommendation& AddVolumeRecommendationOptions(const VolumeRecommendationOption& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions.push_back(value); return *this; }
147 inline VolumeRecommendation& AddVolumeRecommendationOptions(VolumeRecommendationOption&& value) { m_volumeRecommendationOptionsHasBeenSet = true; m_volumeRecommendationOptions.push_back(std::move(value)); return *this; }
149
151
154 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; }
155 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
156 inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = value; }
157 inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::move(value); }
161
163
168 inline const CurrentPerformanceRisk& GetCurrentPerformanceRisk() const{ return m_currentPerformanceRisk; }
169 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
170 inline void SetCurrentPerformanceRisk(const CurrentPerformanceRisk& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
171 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk&& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = std::move(value); }
175
177
181 inline const EBSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; }
182 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
183 inline void SetEffectiveRecommendationPreferences(const EBSEffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; }
184 inline void SetEffectiveRecommendationPreferences(EBSEffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); }
188
190
193 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
194 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
195 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
196 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
197 inline VolumeRecommendation& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
198 inline VolumeRecommendation& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
199 inline VolumeRecommendation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
200 inline VolumeRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
202 private:
203
204 Aws::String m_volumeArn;
205 bool m_volumeArnHasBeenSet = false;
206
207 Aws::String m_accountId;
208 bool m_accountIdHasBeenSet = false;
209
210 VolumeConfiguration m_currentConfiguration;
211 bool m_currentConfigurationHasBeenSet = false;
212
213 EBSFinding m_finding;
214 bool m_findingHasBeenSet = false;
215
216 Aws::Vector<EBSUtilizationMetric> m_utilizationMetrics;
217 bool m_utilizationMetricsHasBeenSet = false;
218
219 double m_lookBackPeriodInDays;
220 bool m_lookBackPeriodInDaysHasBeenSet = false;
221
222 Aws::Vector<VolumeRecommendationOption> m_volumeRecommendationOptions;
223 bool m_volumeRecommendationOptionsHasBeenSet = false;
224
225 Aws::Utils::DateTime m_lastRefreshTimestamp;
226 bool m_lastRefreshTimestampHasBeenSet = false;
227
228 CurrentPerformanceRisk m_currentPerformanceRisk;
229 bool m_currentPerformanceRiskHasBeenSet = false;
230
231 EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
232 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
233
234 Aws::Vector<Tag> m_tags;
235 bool m_tagsHasBeenSet = false;
236 };
237
238} // namespace Model
239} // namespace ComputeOptimizer
240} // namespace Aws
VolumeRecommendation & WithVolumeRecommendationOptions(const Aws::Vector< VolumeRecommendationOption > &value)
const EBSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< VolumeRecommendationOption > & GetVolumeRecommendationOptions() const
void SetVolumeRecommendationOptions(Aws::Vector< VolumeRecommendationOption > &&value)
void SetUtilizationMetrics(const Aws::Vector< EBSUtilizationMetric > &value)
VolumeRecommendation & WithCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
VolumeRecommendation & AddVolumeRecommendationOptions(VolumeRecommendationOption &&value)
VolumeRecommendation & AddUtilizationMetrics(EBSUtilizationMetric &&value)
VolumeRecommendation & WithCurrentConfiguration(VolumeConfiguration &&value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const CurrentPerformanceRisk & GetCurrentPerformanceRisk() const
VolumeRecommendation & AddUtilizationMetrics(const EBSUtilizationMetric &value)
VolumeRecommendation & AddTags(const Tag &value)
VolumeRecommendation & WithAccountId(const char *value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
VolumeRecommendation & WithFinding(EBSFinding &&value)
VolumeRecommendation & WithVolumeArn(const char *value)
VolumeRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
void SetEffectiveRecommendationPreferences(EBSEffectiveRecommendationPreferences &&value)
VolumeRecommendation & WithFinding(const EBSFinding &value)
VolumeRecommendation & WithEffectiveRecommendationPreferences(const EBSEffectiveRecommendationPreferences &value)
VolumeRecommendation & WithLastRefreshTimestamp(Aws::Utils::DateTime &&value)
VolumeRecommendation & WithUtilizationMetrics(const Aws::Vector< EBSUtilizationMetric > &value)
VolumeRecommendation & WithCurrentConfiguration(const VolumeConfiguration &value)
VolumeRecommendation & WithVolumeArn(Aws::String &&value)
void SetLastRefreshTimestamp(const Aws::Utils::DateTime &value)
void SetVolumeRecommendationOptions(const Aws::Vector< VolumeRecommendationOption > &value)
VolumeRecommendation & WithAccountId(const Aws::String &value)
VolumeRecommendation & WithAccountId(Aws::String &&value)
VolumeRecommendation & WithTags(Aws::Vector< Tag > &&value)
void SetCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
void SetLastRefreshTimestamp(Aws::Utils::DateTime &&value)
VolumeRecommendation & WithVolumeArn(const Aws::String &value)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
VolumeRecommendation & WithVolumeRecommendationOptions(Aws::Vector< VolumeRecommendationOption > &&value)
VolumeRecommendation & WithLookBackPeriodInDays(double value)
VolumeRecommendation & WithLastRefreshTimestamp(const Aws::Utils::DateTime &value)
const VolumeConfiguration & GetCurrentConfiguration() const
VolumeRecommendation & WithEffectiveRecommendationPreferences(EBSEffectiveRecommendationPreferences &&value)
void SetCurrentConfiguration(const VolumeConfiguration &value)
VolumeRecommendation & WithUtilizationMetrics(Aws::Vector< EBSUtilizationMetric > &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
void SetUtilizationMetrics(Aws::Vector< EBSUtilizationMetric > &&value)
AWS_COMPUTEOPTIMIZER_API VolumeRecommendation(Aws::Utils::Json::JsonView jsonValue)
void SetCurrentConfiguration(VolumeConfiguration &&value)
VolumeRecommendation & AddVolumeRecommendationOptions(const VolumeRecommendationOption &value)
VolumeRecommendation & WithTags(const Aws::Vector< Tag > &value)
void SetEffectiveRecommendationPreferences(const EBSEffectiveRecommendationPreferences &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