AWS SDK for C++

AWS SDK for C++ Version 1.11.644

Loading...
Searching...
No Matches
EbsInfo.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/EbsOptimizedSupport.h>
10#include <aws/ec2/model/EbsEncryptionSupport.h>
11#include <aws/ec2/model/EbsOptimizedInfo.h>
12#include <aws/ec2/model/EbsNvmeSupport.h>
13#include <aws/ec2/model/AttachmentLimitType.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2
26{
27namespace Model
28{
29
36 class EbsInfo
37 {
38 public:
39 AWS_EC2_API EbsInfo() = default;
40 AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_EC2_API EbsInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42
43 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
45
46
48
54 inline EbsOptimizedSupport GetEbsOptimizedSupport() const { return m_ebsOptimizedSupport; }
55 inline bool EbsOptimizedSupportHasBeenSet() const { return m_ebsOptimizedSupportHasBeenSet; }
56 inline void SetEbsOptimizedSupport(EbsOptimizedSupport value) { m_ebsOptimizedSupportHasBeenSet = true; m_ebsOptimizedSupport = value; }
59
61
64 inline EbsEncryptionSupport GetEncryptionSupport() const { return m_encryptionSupport; }
65 inline bool EncryptionSupportHasBeenSet() const { return m_encryptionSupportHasBeenSet; }
66 inline void SetEncryptionSupport(EbsEncryptionSupport value) { m_encryptionSupportHasBeenSet = true; m_encryptionSupport = value; }
69
71
74 inline const EbsOptimizedInfo& GetEbsOptimizedInfo() const { return m_ebsOptimizedInfo; }
75 inline bool EbsOptimizedInfoHasBeenSet() const { return m_ebsOptimizedInfoHasBeenSet; }
76 template<typename EbsOptimizedInfoT = EbsOptimizedInfo>
77 void SetEbsOptimizedInfo(EbsOptimizedInfoT&& value) { m_ebsOptimizedInfoHasBeenSet = true; m_ebsOptimizedInfo = std::forward<EbsOptimizedInfoT>(value); }
78 template<typename EbsOptimizedInfoT = EbsOptimizedInfo>
79 EbsInfo& WithEbsOptimizedInfo(EbsOptimizedInfoT&& value) { SetEbsOptimizedInfo(std::forward<EbsOptimizedInfoT>(value)); return *this;}
81
83
86 inline EbsNvmeSupport GetNvmeSupport() const { return m_nvmeSupport; }
87 inline bool NvmeSupportHasBeenSet() const { return m_nvmeSupportHasBeenSet; }
88 inline void SetNvmeSupport(EbsNvmeSupport value) { m_nvmeSupportHasBeenSet = true; m_nvmeSupport = value; }
89 inline EbsInfo& WithNvmeSupport(EbsNvmeSupport value) { SetNvmeSupport(value); return *this;}
91
93
100 inline int GetMaximumEbsAttachments() const { return m_maximumEbsAttachments; }
101 inline bool MaximumEbsAttachmentsHasBeenSet() const { return m_maximumEbsAttachmentsHasBeenSet; }
102 inline void SetMaximumEbsAttachments(int value) { m_maximumEbsAttachmentsHasBeenSet = true; m_maximumEbsAttachments = value; }
103 inline EbsInfo& WithMaximumEbsAttachments(int value) { SetMaximumEbsAttachments(value); return *this;}
105
107
114 inline AttachmentLimitType GetAttachmentLimitType() const { return m_attachmentLimitType; }
115 inline bool AttachmentLimitTypeHasBeenSet() const { return m_attachmentLimitTypeHasBeenSet; }
116 inline void SetAttachmentLimitType(AttachmentLimitType value) { m_attachmentLimitTypeHasBeenSet = true; m_attachmentLimitType = value; }
119 private:
120
122 bool m_ebsOptimizedSupportHasBeenSet = false;
123
125 bool m_encryptionSupportHasBeenSet = false;
126
127 EbsOptimizedInfo m_ebsOptimizedInfo;
128 bool m_ebsOptimizedInfoHasBeenSet = false;
129
131 bool m_nvmeSupportHasBeenSet = false;
132
133 int m_maximumEbsAttachments{0};
134 bool m_maximumEbsAttachmentsHasBeenSet = false;
135
137 bool m_attachmentLimitTypeHasBeenSet = false;
138 };
139
140} // namespace Model
141} // namespace EC2
142} // namespace Aws
EbsNvmeSupport GetNvmeSupport() const
Definition EbsInfo.h:86
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool EbsOptimizedInfoHasBeenSet() const
Definition EbsInfo.h:75
bool NvmeSupportHasBeenSet() const
Definition EbsInfo.h:87
EbsInfo & WithEncryptionSupport(EbsEncryptionSupport value)
Definition EbsInfo.h:67
bool EbsOptimizedSupportHasBeenSet() const
Definition EbsInfo.h:55
AttachmentLimitType GetAttachmentLimitType() const
Definition EbsInfo.h:114
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetMaximumEbsAttachments(int value)
Definition EbsInfo.h:102
void SetEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:77
AWS_EC2_API EbsInfo & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
EbsInfo & WithEbsOptimizedInfo(EbsOptimizedInfoT &&value)
Definition EbsInfo.h:79
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:117
void SetAttachmentLimitType(AttachmentLimitType value)
Definition EbsInfo.h:116
void SetEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:56
EbsOptimizedSupport GetEbsOptimizedSupport() const
Definition EbsInfo.h:54
bool MaximumEbsAttachmentsHasBeenSet() const
Definition EbsInfo.h:101
EbsInfo & WithNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:89
void SetNvmeSupport(EbsNvmeSupport value)
Definition EbsInfo.h:88
int GetMaximumEbsAttachments() const
Definition EbsInfo.h:100
EbsInfo & WithEbsOptimizedSupport(EbsOptimizedSupport value)
Definition EbsInfo.h:57
AWS_EC2_API EbsInfo(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachmentLimitTypeHasBeenSet() const
Definition EbsInfo.h:115
const EbsOptimizedInfo & GetEbsOptimizedInfo() const
Definition EbsInfo.h:74
EbsEncryptionSupport GetEncryptionSupport() const
Definition EbsInfo.h:64
EbsInfo & WithMaximumEbsAttachments(int value)
Definition EbsInfo.h:103
std::basic_ostream< char, std::char_traits< char > > OStream