AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Subnet.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticache/ElastiCache_EXPORTS.h>
11#include <aws/elasticache/model/AvailabilityZone.h>
12#include <aws/elasticache/model/NetworkType.h>
13#include <aws/elasticache/model/SubnetOutpost.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace ElastiCache {
24namespace Model {
25
33class Subnet {
34 public:
35 AWS_ELASTICACHE_API Subnet() = default;
36 AWS_ELASTICACHE_API Subnet(const Aws::Utils::Xml::XmlNode& xmlNode);
37 AWS_ELASTICACHE_API Subnet& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
46 inline const Aws::String& GetSubnetIdentifier() const { return m_subnetIdentifier; }
47 inline bool SubnetIdentifierHasBeenSet() const { return m_subnetIdentifierHasBeenSet; }
48 template <typename SubnetIdentifierT = Aws::String>
49 void SetSubnetIdentifier(SubnetIdentifierT&& value) {
50 m_subnetIdentifierHasBeenSet = true;
51 m_subnetIdentifier = std::forward<SubnetIdentifierT>(value);
52 }
53 template <typename SubnetIdentifierT = Aws::String>
54 Subnet& WithSubnetIdentifier(SubnetIdentifierT&& value) {
55 SetSubnetIdentifier(std::forward<SubnetIdentifierT>(value));
56 return *this;
57 }
59
61
64 inline const AvailabilityZone& GetSubnetAvailabilityZone() const { return m_subnetAvailabilityZone; }
65 inline bool SubnetAvailabilityZoneHasBeenSet() const { return m_subnetAvailabilityZoneHasBeenSet; }
66 template <typename SubnetAvailabilityZoneT = AvailabilityZone>
67 void SetSubnetAvailabilityZone(SubnetAvailabilityZoneT&& value) {
68 m_subnetAvailabilityZoneHasBeenSet = true;
69 m_subnetAvailabilityZone = std::forward<SubnetAvailabilityZoneT>(value);
70 }
71 template <typename SubnetAvailabilityZoneT = AvailabilityZone>
72 Subnet& WithSubnetAvailabilityZone(SubnetAvailabilityZoneT&& value) {
73 SetSubnetAvailabilityZone(std::forward<SubnetAvailabilityZoneT>(value));
74 return *this;
75 }
77
79
82 inline const SubnetOutpost& GetSubnetOutpost() const { return m_subnetOutpost; }
83 inline bool SubnetOutpostHasBeenSet() const { return m_subnetOutpostHasBeenSet; }
84 template <typename SubnetOutpostT = SubnetOutpost>
85 void SetSubnetOutpost(SubnetOutpostT&& value) {
86 m_subnetOutpostHasBeenSet = true;
87 m_subnetOutpost = std::forward<SubnetOutpostT>(value);
88 }
89 template <typename SubnetOutpostT = SubnetOutpost>
90 Subnet& WithSubnetOutpost(SubnetOutpostT&& value) {
91 SetSubnetOutpost(std::forward<SubnetOutpostT>(value));
92 return *this;
93 }
95
97
103 inline const Aws::Vector<NetworkType>& GetSupportedNetworkTypes() const { return m_supportedNetworkTypes; }
104 inline bool SupportedNetworkTypesHasBeenSet() const { return m_supportedNetworkTypesHasBeenSet; }
105 template <typename SupportedNetworkTypesT = Aws::Vector<NetworkType>>
106 void SetSupportedNetworkTypes(SupportedNetworkTypesT&& value) {
107 m_supportedNetworkTypesHasBeenSet = true;
108 m_supportedNetworkTypes = std::forward<SupportedNetworkTypesT>(value);
109 }
110 template <typename SupportedNetworkTypesT = Aws::Vector<NetworkType>>
111 Subnet& WithSupportedNetworkTypes(SupportedNetworkTypesT&& value) {
112 SetSupportedNetworkTypes(std::forward<SupportedNetworkTypesT>(value));
113 return *this;
114 }
116 m_supportedNetworkTypesHasBeenSet = true;
117 m_supportedNetworkTypes.push_back(value);
118 return *this;
119 }
121 private:
122 Aws::String m_subnetIdentifier;
123
124 AvailabilityZone m_subnetAvailabilityZone;
125
126 SubnetOutpost m_subnetOutpost;
127
128 Aws::Vector<NetworkType> m_supportedNetworkTypes;
129 bool m_subnetIdentifierHasBeenSet = false;
130 bool m_subnetAvailabilityZoneHasBeenSet = false;
131 bool m_subnetOutpostHasBeenSet = false;
132 bool m_supportedNetworkTypesHasBeenSet = false;
133};
134
135} // namespace Model
136} // namespace ElastiCache
137} // namespace Aws
bool SubnetOutpostHasBeenSet() const
Definition Subnet.h:83
Subnet & WithSubnetIdentifier(SubnetIdentifierT &&value)
Definition Subnet.h:54
AWS_ELASTICACHE_API Subnet()=default
void SetSubnetIdentifier(SubnetIdentifierT &&value)
Definition Subnet.h:49
AWS_ELASTICACHE_API Subnet & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Subnet & WithSupportedNetworkTypes(SupportedNetworkTypesT &&value)
Definition Subnet.h:111
Subnet & AddSupportedNetworkTypes(NetworkType value)
Definition Subnet.h:115
Subnet & WithSubnetAvailabilityZone(SubnetAvailabilityZoneT &&value)
Definition Subnet.h:72
AWS_ELASTICACHE_API Subnet(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SubnetIdentifierHasBeenSet() const
Definition Subnet.h:47
const Aws::String & GetSubnetIdentifier() const
Definition Subnet.h:46
void SetSupportedNetworkTypes(SupportedNetworkTypesT &&value)
Definition Subnet.h:106
void SetSubnetAvailabilityZone(SubnetAvailabilityZoneT &&value)
Definition Subnet.h:67
const AvailabilityZone & GetSubnetAvailabilityZone() const
Definition Subnet.h:64
const SubnetOutpost & GetSubnetOutpost() const
Definition Subnet.h:82
bool SubnetAvailabilityZoneHasBeenSet() const
Definition Subnet.h:65
void SetSubnetOutpost(SubnetOutpostT &&value)
Definition Subnet.h:85
bool SupportedNetworkTypesHasBeenSet() const
Definition Subnet.h:104
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< NetworkType > & GetSupportedNetworkTypes() const
Definition Subnet.h:103
Subnet & WithSubnetOutpost(SubnetOutpostT &&value)
Definition Subnet.h:90
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream