AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
EbsInstanceBlockDeviceSpecification.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/imagebuilder/model/EbsVolumeType.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace imagebuilder
23{
24namespace Model
25{
26
34 {
35 public:
36 AWS_IMAGEBUILDER_API EbsInstanceBlockDeviceSpecification() = default;
39 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline bool GetEncrypted() const { return m_encrypted; }
47 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
48 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
49 inline EbsInstanceBlockDeviceSpecification& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
51
53
56 inline bool GetDeleteOnTermination() const { return m_deleteOnTermination; }
57 inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; }
58 inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; }
61
63
66 inline int GetIops() const { return m_iops; }
67 inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; }
68 inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; }
69 inline EbsInstanceBlockDeviceSpecification& WithIops(int value) { SetIops(value); return *this;}
71
73
76 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
77 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
78 template<typename KmsKeyIdT = Aws::String>
79 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
80 template<typename KmsKeyIdT = Aws::String>
81 EbsInstanceBlockDeviceSpecification& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
83
85
88 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
89 inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; }
90 template<typename SnapshotIdT = Aws::String>
91 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::forward<SnapshotIdT>(value); }
92 template<typename SnapshotIdT = Aws::String>
93 EbsInstanceBlockDeviceSpecification& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward<SnapshotIdT>(value)); return *this;}
95
97
100 inline int GetVolumeSize() const { return m_volumeSize; }
101 inline bool VolumeSizeHasBeenSet() const { return m_volumeSizeHasBeenSet; }
102 inline void SetVolumeSize(int value) { m_volumeSizeHasBeenSet = true; m_volumeSize = value; }
103 inline EbsInstanceBlockDeviceSpecification& WithVolumeSize(int value) { SetVolumeSize(value); return *this;}
105
107
110 inline EbsVolumeType GetVolumeType() const { return m_volumeType; }
111 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
112 inline void SetVolumeType(EbsVolumeType value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
115
117
121 inline int GetThroughput() const { return m_throughput; }
122 inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; }
123 inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; }
124 inline EbsInstanceBlockDeviceSpecification& WithThroughput(int value) { SetThroughput(value); return *this;}
126 private:
127
128 bool m_encrypted{false};
129 bool m_encryptedHasBeenSet = false;
130
131 bool m_deleteOnTermination{false};
132 bool m_deleteOnTerminationHasBeenSet = false;
133
134 int m_iops{0};
135 bool m_iopsHasBeenSet = false;
136
137 Aws::String m_kmsKeyId;
138 bool m_kmsKeyIdHasBeenSet = false;
139
140 Aws::String m_snapshotId;
141 bool m_snapshotIdHasBeenSet = false;
142
143 int m_volumeSize{0};
144 bool m_volumeSizeHasBeenSet = false;
145
147 bool m_volumeTypeHasBeenSet = false;
148
149 int m_throughput{0};
150 bool m_throughputHasBeenSet = false;
151 };
152
153} // namespace Model
154} // namespace imagebuilder
155} // namespace Aws
AWS_IMAGEBUILDER_API EbsInstanceBlockDeviceSpecification(Aws::Utils::Json::JsonView jsonValue)
EbsInstanceBlockDeviceSpecification & WithSnapshotId(SnapshotIdT &&value)
EbsInstanceBlockDeviceSpecification & WithKmsKeyId(KmsKeyIdT &&value)
AWS_IMAGEBUILDER_API EbsInstanceBlockDeviceSpecification()=default
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
EbsInstanceBlockDeviceSpecification & WithDeleteOnTermination(bool value)
EbsInstanceBlockDeviceSpecification & WithVolumeType(EbsVolumeType value)
AWS_IMAGEBUILDER_API EbsInstanceBlockDeviceSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue