AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
EbsVolumeConfiguration.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/StorageConfiguration.h>
9#include <aws/cost-optimization-hub/model/BlockStoragePerformanceConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace CostOptimizationHub
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration() = default;
38 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COSTOPTIMIZATIONHUB_API EbsVolumeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const StorageConfiguration& GetStorage() const { return m_storage; }
48 inline bool StorageHasBeenSet() const { return m_storageHasBeenSet; }
49 template<typename StorageT = StorageConfiguration>
50 void SetStorage(StorageT&& value) { m_storageHasBeenSet = true; m_storage = std::forward<StorageT>(value); }
51 template<typename StorageT = StorageConfiguration>
52 EbsVolumeConfiguration& WithStorage(StorageT&& value) { SetStorage(std::forward<StorageT>(value)); return *this;}
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) { m_performanceHasBeenSet = true; m_performance = std::forward<PerformanceT>(value); }
63 template<typename PerformanceT = BlockStoragePerformanceConfiguration>
64 EbsVolumeConfiguration& WithPerformance(PerformanceT&& value) { SetPerformance(std::forward<PerformanceT>(value)); return *this;}
66
68
71 inline const Aws::String& GetAttachmentState() const { return m_attachmentState; }
72 inline bool AttachmentStateHasBeenSet() const { return m_attachmentStateHasBeenSet; }
73 template<typename AttachmentStateT = Aws::String>
74 void SetAttachmentState(AttachmentStateT&& value) { m_attachmentStateHasBeenSet = true; m_attachmentState = std::forward<AttachmentStateT>(value); }
75 template<typename AttachmentStateT = Aws::String>
76 EbsVolumeConfiguration& WithAttachmentState(AttachmentStateT&& value) { SetAttachmentState(std::forward<AttachmentStateT>(value)); return *this;}
78 private:
79
80 StorageConfiguration m_storage;
81 bool m_storageHasBeenSet = false;
82
84 bool m_performanceHasBeenSet = false;
85
86 Aws::String m_attachmentState;
87 bool m_attachmentStateHasBeenSet = false;
88 };
89
90} // namespace Model
91} // namespace CostOptimizationHub
92} // 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