AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TransitGatewayConnectPeerConfiguration.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/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ProtocolValue.h>
12#include <aws/ec2/model/TransitGatewayAttachmentBgpConfiguration.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2 {
23namespace Model {
24
31 public:
35
36 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetTransitGatewayAddress() const { return m_transitGatewayAddress; }
44 inline bool TransitGatewayAddressHasBeenSet() const { return m_transitGatewayAddressHasBeenSet; }
45 template <typename TransitGatewayAddressT = Aws::String>
46 void SetTransitGatewayAddress(TransitGatewayAddressT&& value) {
47 m_transitGatewayAddressHasBeenSet = true;
48 m_transitGatewayAddress = std::forward<TransitGatewayAddressT>(value);
49 }
50 template <typename TransitGatewayAddressT = Aws::String>
52 SetTransitGatewayAddress(std::forward<TransitGatewayAddressT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetPeerAddress() const { return m_peerAddress; }
62 inline bool PeerAddressHasBeenSet() const { return m_peerAddressHasBeenSet; }
63 template <typename PeerAddressT = Aws::String>
64 void SetPeerAddress(PeerAddressT&& value) {
65 m_peerAddressHasBeenSet = true;
66 m_peerAddress = std::forward<PeerAddressT>(value);
67 }
68 template <typename PeerAddressT = Aws::String>
70 SetPeerAddress(std::forward<PeerAddressT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::Vector<Aws::String>& GetInsideCidrBlocks() const { return m_insideCidrBlocks; }
80 inline bool InsideCidrBlocksHasBeenSet() const { return m_insideCidrBlocksHasBeenSet; }
81 template <typename InsideCidrBlocksT = Aws::Vector<Aws::String>>
82 void SetInsideCidrBlocks(InsideCidrBlocksT&& value) {
83 m_insideCidrBlocksHasBeenSet = true;
84 m_insideCidrBlocks = std::forward<InsideCidrBlocksT>(value);
85 }
86 template <typename InsideCidrBlocksT = Aws::Vector<Aws::String>>
88 SetInsideCidrBlocks(std::forward<InsideCidrBlocksT>(value));
89 return *this;
90 }
91 template <typename InsideCidrBlocksT = Aws::String>
93 m_insideCidrBlocksHasBeenSet = true;
94 m_insideCidrBlocks.emplace_back(std::forward<InsideCidrBlocksT>(value));
95 return *this;
96 }
98
100
103 inline ProtocolValue GetProtocol() const { return m_protocol; }
104 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
105 inline void SetProtocol(ProtocolValue value) {
106 m_protocolHasBeenSet = true;
107 m_protocol = value;
108 }
110 SetProtocol(value);
111 return *this;
112 }
114
116
119 inline const Aws::Vector<TransitGatewayAttachmentBgpConfiguration>& GetBgpConfigurations() const { return m_bgpConfigurations; }
120 inline bool BgpConfigurationsHasBeenSet() const { return m_bgpConfigurationsHasBeenSet; }
121 template <typename BgpConfigurationsT = Aws::Vector<TransitGatewayAttachmentBgpConfiguration>>
122 void SetBgpConfigurations(BgpConfigurationsT&& value) {
123 m_bgpConfigurationsHasBeenSet = true;
124 m_bgpConfigurations = std::forward<BgpConfigurationsT>(value);
125 }
126 template <typename BgpConfigurationsT = Aws::Vector<TransitGatewayAttachmentBgpConfiguration>>
128 SetBgpConfigurations(std::forward<BgpConfigurationsT>(value));
129 return *this;
130 }
131 template <typename BgpConfigurationsT = TransitGatewayAttachmentBgpConfiguration>
133 m_bgpConfigurationsHasBeenSet = true;
134 m_bgpConfigurations.emplace_back(std::forward<BgpConfigurationsT>(value));
135 return *this;
136 }
138 private:
139 Aws::String m_transitGatewayAddress;
140
141 Aws::String m_peerAddress;
142
143 Aws::Vector<Aws::String> m_insideCidrBlocks;
144
146
148 bool m_transitGatewayAddressHasBeenSet = false;
149 bool m_peerAddressHasBeenSet = false;
150 bool m_insideCidrBlocksHasBeenSet = false;
151 bool m_protocolHasBeenSet = false;
152 bool m_bgpConfigurationsHasBeenSet = false;
153};
154
155} // namespace Model
156} // namespace EC2
157} // namespace Aws
AWS_EC2_API TransitGatewayConnectPeerConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayConnectPeerConfiguration & WithInsideCidrBlocks(InsideCidrBlocksT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
TransitGatewayConnectPeerConfiguration & WithProtocol(ProtocolValue value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayConnectPeerConfiguration & AddInsideCidrBlocks(InsideCidrBlocksT &&value)
TransitGatewayConnectPeerConfiguration & WithTransitGatewayAddress(TransitGatewayAddressT &&value)
TransitGatewayConnectPeerConfiguration & WithBgpConfigurations(BgpConfigurationsT &&value)
TransitGatewayConnectPeerConfiguration & WithPeerAddress(PeerAddressT &&value)
const Aws::Vector< TransitGatewayAttachmentBgpConfiguration > & GetBgpConfigurations() const
AWS_EC2_API TransitGatewayConnectPeerConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayConnectPeerConfiguration & AddBgpConfigurations(BgpConfigurationsT &&value)
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