AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
EbsInfo.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/ec2/EC2_EXPORTS.h>
9#include <aws/ec2/model/AttachmentLimitType.h>
10#include <aws/ec2/model/EbsEncryptionSupport.h>
11#include <aws/ec2/model/EbsNvmeSupport.h>
12#include <aws/ec2/model/EbsOptimizedInfo.h>
13#include <aws/ec2/model/EbsOptimizedSupport.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2 {
24namespace Model {
25
32class EbsInfo {
33 public:
34 AWS_EC2_API EbsInfo() = default;
35 AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_EC2_API EbsInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
48 inline EbsOptimizedSupport GetEbsOptimizedSupport() const { return m_ebsOptimizedSupport; }
49 inline bool EbsOptimizedSupportHasBeenSet() const { return m_ebsOptimizedSupportHasBeenSet; }
51 m_ebsOptimizedSupportHasBeenSet = true;
52 m_ebsOptimizedSupport = value;
53 }
56 return *this;
57 }
59
61
64 inline EbsEncryptionSupport GetEncryptionSupport() const { return m_encryptionSupport; }
65 inline bool EncryptionSupportHasBeenSet() const { return m_encryptionSupportHasBeenSet; }
67 m_encryptionSupportHasBeenSet = true;
68 m_encryptionSupport = value;
69 }
72 return *this;
73 }
75
77
80 inline const EbsOptimizedInfo& GetEbsOptimizedInfo() const { return m_ebsOptimizedInfo; }
81 inline bool EbsOptimizedInfoHasBeenSet() const { return m_ebsOptimizedInfoHasBeenSet; }
82 template <typename EbsOptimizedInfoT = EbsOptimizedInfo>
83 void SetEbsOptimizedInfo(EbsOptimizedInfoT&& value) {
84 m_ebsOptimizedInfoHasBeenSet = true;
85 m_ebsOptimizedInfo = std::forward<EbsOptimizedInfoT>(value);
86 }
87 template <typename EbsOptimizedInfoT = EbsOptimizedInfo>
88 EbsInfo& WithEbsOptimizedInfo(EbsOptimizedInfoT&& value) {
89 SetEbsOptimizedInfo(std::forward<EbsOptimizedInfoT>(value));
90 return *this;
91 }
93
95
98 inline EbsNvmeSupport GetNvmeSupport() const { return m_nvmeSupport; }
99 inline bool NvmeSupportHasBeenSet() const { return m_nvmeSupportHasBeenSet; }
100 inline void SetNvmeSupport(EbsNvmeSupport value) {
101 m_nvmeSupportHasBeenSet = true;
102 m_nvmeSupport = value;
103 }
105 SetNvmeSupport(value);
106 return *this;
107 }
109
111
118 inline int GetMaximumEbsAttachments() const { return m_maximumEbsAttachments; }
119 inline bool MaximumEbsAttachmentsHasBeenSet() const { return m_maximumEbsAttachmentsHasBeenSet; }
120 inline void SetMaximumEbsAttachments(int value) {
121 m_maximumEbsAttachmentsHasBeenSet = true;
122 m_maximumEbsAttachments = value;
123 }
126 return *this;
127 }
129
131
138 inline AttachmentLimitType GetAttachmentLimitType() const { return m_attachmentLimitType; }
139 inline bool AttachmentLimitTypeHasBeenSet() const { return m_attachmentLimitTypeHasBeenSet; }
141 m_attachmentLimitTypeHasBeenSet = true;
142 m_attachmentLimitType = value;
143 }
146 return *this;
147 }
149 private:
151
153
154 EbsOptimizedInfo m_ebsOptimizedInfo;
155
157
158 int m_maximumEbsAttachments{0};
159
161 bool m_ebsOptimizedSupportHasBeenSet = false;
162 bool m_encryptionSupportHasBeenSet = false;
163 bool m_ebsOptimizedInfoHasBeenSet = false;
164 bool m_nvmeSupportHasBeenSet = false;
165 bool m_maximumEbsAttachmentsHasBeenSet = false;
166 bool m_attachmentLimitTypeHasBeenSet = false;
167};
168
169} // namespace Model
170} // namespace EC2
171} // namespace Aws
EbsNvmeSupport GetNvmeSupport() const
Definition EbsInfo.h:98
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool EbsOptimizedInfoHasBeenSet() const
Definition EbsInfo.h:81
bool NvmeSupportHasBeenSet() const
Definition EbsInfo.h:99
EbsInfo & WithEncryptionSupport(EbsEncryptionSupport value)
Definition EbsInfo.h:70
bool EbsOptimizedSupportHasBeenSet() const
Definition EbsInfo.h:49
AttachmentLimitType GetAttachmentLimitType() const
Definition EbsInfo.h:138
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetMaximumEbsAttachments(int value)
Definition EbsInfo.h:120
void SetEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:83
AWS_EC2_API EbsInfo & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
EbsInfo & WithEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:88
bool EncryptionSupportHasBeenSet() const
Definition EbsInfo.h:65
void SetEncryptionSupport(EbsEncryptionSupport value)
Definition EbsInfo.h:66
AWS_EC2_API EbsInfo()=default
EbsInfo & WithAttachmentLimitType(AttachmentLimitType value)
Definition EbsInfo.h:144
void SetAttachmentLimitType(AttachmentLimitType value)
Definition EbsInfo.h:140
void SetEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:50
EbsOptimizedSupport GetEbsOptimizedSupport() const
Definition EbsInfo.h:48
bool MaximumEbsAttachmentsHasBeenSet() const
Definition EbsInfo.h:119
EbsInfo & WithNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:104
void SetNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:100
int GetMaximumEbsAttachments() const
Definition EbsInfo.h:118
EbsInfo & WithEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:54
AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachmentLimitTypeHasBeenSet() const
Definition EbsInfo.h:139
const EbsOptimizedInfo & GetEbsOptimizedInfo() const
Definition EbsInfo.h:80
EbsEncryptionSupport GetEncryptionSupport() const
Definition EbsInfo.h:64
EbsInfo & WithMaximumEbsAttachments(int value)
Definition EbsInfo.h:124
std::basic_ostream< char, std::char_traits< char > > OStream