AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
EbsVolumeConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
9#include <aws/cost-optimization-hub/model/BlockStoragePerformanceConfiguration.h>
10#include <aws/cost-optimization-hub/model/StorageConfiguration.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace CostOptimizationHub {
22namespace Model {
23
31 public:
32 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration() = default;
33 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration(Aws::Utils::Json::JsonView jsonValue);
34 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const StorageConfiguration& GetStorage() const { return m_storage; }
42 inline bool StorageHasBeenSet() const { return m_storageHasBeenSet; }
43 template <typename StorageT = StorageConfiguration>
44 void SetStorage(StorageT&& value) {
45 m_storageHasBeenSet = true;
46 m_storage = std::forward<StorageT>(value);
47 }
48 template <typename StorageT = StorageConfiguration>
50 SetStorage(std::forward<StorageT>(value));
51 return *this;
52 }
54
56
59 inline const BlockStoragePerformanceConfiguration& GetPerformance() const { return m_performance; }
60 inline bool PerformanceHasBeenSet() const { return m_performanceHasBeenSet; }
61 template <typename PerformanceT = BlockStoragePerformanceConfiguration>
62 void SetPerformance(PerformanceT&& value) {
63 m_performanceHasBeenSet = true;
64 m_performance = std::forward<PerformanceT>(value);
65 }
66 template <typename PerformanceT = BlockStoragePerformanceConfiguration>
67 EbsVolumeConfiguration& WithPerformance(PerformanceT&& value) {
68 SetPerformance(std::forward<PerformanceT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetAttachmentState() const { return m_attachmentState; }
78 inline bool AttachmentStateHasBeenSet() const { return m_attachmentStateHasBeenSet; }
79 template <typename AttachmentStateT = Aws::String>
80 void SetAttachmentState(AttachmentStateT&& value) {
81 m_attachmentStateHasBeenSet = true;
82 m_attachmentState = std::forward<AttachmentStateT>(value);
83 }
84 template <typename AttachmentStateT = Aws::String>
85 EbsVolumeConfiguration& WithAttachmentState(AttachmentStateT&& value) {
86 SetAttachmentState(std::forward<AttachmentStateT>(value));
87 return *this;
88 }
90 private:
91 StorageConfiguration m_storage;
92
94
95 Aws::String m_attachmentState;
96 bool m_storageHasBeenSet = false;
97 bool m_performanceHasBeenSet = false;
98 bool m_attachmentStateHasBeenSet = false;
99};
100
101} // namespace Model
102} // namespace CostOptimizationHub
103} // namespace Aws
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
EbsVolumeConfiguration & WithAttachmentState(AttachmentStateT &&value)
AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration()=default
EbsVolumeConfiguration & WithStorage(StorageT &&value)
EbsVolumeConfiguration & WithPerformance(PerformanceT &&value)
AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration(Aws::Utils::Json::JsonView jsonValue)
const BlockStoragePerformanceConfiguration & GetPerformance() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue