7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/GatewayAssociationState.h>
11#include <aws/ec2/model/VpnConnectionOptions.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ec2/model/VpnState.h>
14#include <aws/ec2/model/GatewayType.h>
15#include <aws/ec2/model/VpnStaticRoute.h>
16#include <aws/ec2/model/Tag.h>
17#include <aws/ec2/model/VgwTelemetry.h>
58 template<
typename CategoryT = Aws::String>
59 void SetCategory(CategoryT&& value) { m_categoryHasBeenSet =
true; m_category = std::forward<CategoryT>(value); }
60 template<
typename CategoryT = Aws::String>
70 template<
typename TransitGatewayIdT = Aws::String>
71 void SetTransitGatewayId(TransitGatewayIdT&& value) { m_transitGatewayIdHasBeenSet =
true; m_transitGatewayId = std::forward<TransitGatewayIdT>(value); }
72 template<
typename TransitGatewayIdT = Aws::String>
82 template<
typename CoreNetworkArnT = Aws::String>
83 void SetCoreNetworkArn(CoreNetworkArnT&& value) { m_coreNetworkArnHasBeenSet =
true; m_coreNetworkArn = std::forward<CoreNetworkArnT>(value); }
84 template<
typename CoreNetworkArnT = Aws::String>
94 template<
typename CoreNetworkAttachmentArnT = Aws::String>
95 void SetCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT&& value) { m_coreNetworkAttachmentArnHasBeenSet =
true; m_coreNetworkAttachmentArn = std::forward<CoreNetworkAttachmentArnT>(value); }
96 template<
typename CoreNetworkAttachmentArnT = Aws::String>
116 template<
typename OptionsT = VpnConnectionOptions>
117 void SetOptions(OptionsT&& value) { m_optionsHasBeenSet =
true; m_options = std::forward<OptionsT>(value); }
118 template<
typename OptionsT = VpnConnectionOptions>
128 template<
typename RoutesT = Aws::Vector<VpnStaticRoute>>
129 void SetRoutes(RoutesT&& value) { m_routesHasBeenSet =
true; m_routes = std::forward<RoutesT>(value); }
130 template<
typename RoutesT = Aws::Vector<VpnStaticRoute>>
132 template<
typename RoutesT = VpnStaticRoute>
133 VpnConnection&
AddRoutes(RoutesT&& value) { m_routesHasBeenSet =
true; m_routes.emplace_back(std::forward<RoutesT>(value));
return *
this; }
142 template<
typename TagsT = Aws::Vector<Tag>>
143 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
144 template<
typename TagsT = Aws::Vector<Tag>>
146 template<
typename TagsT = Tag>
147 VpnConnection&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
156 template<
typename VgwTelemetryT = Aws::Vector<VgwTelemetry>>
157 void SetVgwTelemetry(VgwTelemetryT&& value) { m_vgwTelemetryHasBeenSet =
true; m_vgwTelemetry = std::forward<VgwTelemetryT>(value); }
158 template<
typename VgwTelemetryT = Aws::Vector<VgwTelemetry>>
160 template<
typename VgwTelemetryT = VgwTelemetry>
161 VpnConnection&
AddVgwTelemetry(VgwTelemetryT&& value) { m_vgwTelemetryHasBeenSet =
true; m_vgwTelemetry.emplace_back(std::forward<VgwTelemetryT>(value));
return *
this; }
171 template<
typename PreSharedKeyArnT = Aws::String>
172 void SetPreSharedKeyArn(PreSharedKeyArnT&& value) { m_preSharedKeyArnHasBeenSet =
true; m_preSharedKeyArn = std::forward<PreSharedKeyArnT>(value); }
173 template<
typename PreSharedKeyArnT = Aws::String>
183 template<
typename VpnConnectionIdT = Aws::String>
184 void SetVpnConnectionId(VpnConnectionIdT&& value) { m_vpnConnectionIdHasBeenSet =
true; m_vpnConnectionId = std::forward<VpnConnectionIdT>(value); }
185 template<
typename VpnConnectionIdT = Aws::String>
209 template<
typename CustomerGatewayConfigurationT = Aws::String>
210 void SetCustomerGatewayConfiguration(CustomerGatewayConfigurationT&& value) { m_customerGatewayConfigurationHasBeenSet =
true; m_customerGatewayConfiguration = std::forward<CustomerGatewayConfigurationT>(value); }
211 template<
typename CustomerGatewayConfigurationT = Aws::String>
231 template<
typename CustomerGatewayIdT = Aws::String>
232 void SetCustomerGatewayId(CustomerGatewayIdT&& value) { m_customerGatewayIdHasBeenSet =
true; m_customerGatewayId = std::forward<CustomerGatewayIdT>(value); }
233 template<
typename CustomerGatewayIdT = Aws::String>
244 template<
typename VpnGatewayIdT = Aws::String>
245 void SetVpnGatewayId(VpnGatewayIdT&& value) { m_vpnGatewayIdHasBeenSet =
true; m_vpnGatewayId = std::forward<VpnGatewayIdT>(value); }
246 template<
typename VpnGatewayIdT = Aws::String>
252 bool m_categoryHasBeenSet =
false;
255 bool m_transitGatewayIdHasBeenSet =
false;
258 bool m_coreNetworkArnHasBeenSet =
false;
261 bool m_coreNetworkAttachmentArnHasBeenSet =
false;
264 bool m_gatewayAssociationStateHasBeenSet =
false;
266 VpnConnectionOptions m_options;
267 bool m_optionsHasBeenSet =
false;
270 bool m_routesHasBeenSet =
false;
273 bool m_tagsHasBeenSet =
false;
276 bool m_vgwTelemetryHasBeenSet =
false;
279 bool m_preSharedKeyArnHasBeenSet =
false;
282 bool m_vpnConnectionIdHasBeenSet =
false;
285 bool m_stateHasBeenSet =
false;
288 bool m_customerGatewayConfigurationHasBeenSet =
false;
291 bool m_typeHasBeenSet =
false;
294 bool m_customerGatewayIdHasBeenSet =
false;
297 bool m_vpnGatewayIdHasBeenSet =
false;
const Aws::String & GetCoreNetworkAttachmentArn() const
void SetPreSharedKeyArn(PreSharedKeyArnT &&value)
bool CustomerGatewayIdHasBeenSet() const
void SetCustomerGatewayConfiguration(CustomerGatewayConfigurationT &&value)
VpnConnection & WithCategory(CategoryT &&value)
VpnConnection & WithType(GatewayType value)
const Aws::String & GetCustomerGatewayConfiguration() const
const Aws::String & GetVpnGatewayId() const
bool TransitGatewayIdHasBeenSet() const
VpnState GetState() const
void SetCoreNetworkArn(CoreNetworkArnT &&value)
bool VgwTelemetryHasBeenSet() const
void SetVpnConnectionId(VpnConnectionIdT &&value)
void SetTags(TagsT &&value)
const VpnConnectionOptions & GetOptions() const
VpnConnection & WithPreSharedKeyArn(PreSharedKeyArnT &&value)
GatewayType GetType() const
GatewayAssociationState GetGatewayAssociationState() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool OptionsHasBeenSet() const
VpnConnection & WithCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT &&value)
void SetVgwTelemetry(VgwTelemetryT &&value)
void SetOptions(OptionsT &&value)
bool CustomerGatewayConfigurationHasBeenSet() const
VpnConnection & WithCustomerGatewayId(CustomerGatewayIdT &&value)
const Aws::String & GetTransitGatewayId() const
bool RoutesHasBeenSet() const
VpnConnection & WithVpnConnectionId(VpnConnectionIdT &&value)
VpnConnection & AddVgwTelemetry(VgwTelemetryT &&value)
bool CategoryHasBeenSet() const
void SetCustomerGatewayId(CustomerGatewayIdT &&value)
bool CoreNetworkAttachmentArnHasBeenSet() const
bool PreSharedKeyArnHasBeenSet() const
VpnConnection & WithVgwTelemetry(VgwTelemetryT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetCategory() const
void SetGatewayAssociationState(GatewayAssociationState value)
bool VpnGatewayIdHasBeenSet() const
void SetType(GatewayType value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCategory(CategoryT &&value)
VpnConnection & AddTags(TagsT &&value)
VpnConnection & WithRoutes(RoutesT &&value)
VpnConnection & WithOptions(OptionsT &&value)
void SetTransitGatewayId(TransitGatewayIdT &&value)
void SetRoutes(RoutesT &&value)
const Aws::String & GetCoreNetworkArn() const
const Aws::String & GetPreSharedKeyArn() const
VpnConnection & WithCustomerGatewayConfiguration(CustomerGatewayConfigurationT &&value)
VpnConnection & WithVpnGatewayId(VpnGatewayIdT &&value)
bool CoreNetworkArnHasBeenSet() const
bool GatewayAssociationStateHasBeenSet() const
VpnConnection & AddRoutes(RoutesT &&value)
const Aws::String & GetCustomerGatewayId() const
const Aws::Vector< VgwTelemetry > & GetVgwTelemetry() const
VpnConnection & WithState(VpnState value)
bool TypeHasBeenSet() const
VpnConnection & WithCoreNetworkArn(CoreNetworkArnT &&value)
VpnConnection & WithGatewayAssociationState(GatewayAssociationState value)
VpnConnection & WithTransitGatewayId(TransitGatewayIdT &&value)
AWS_EC2_API VpnConnection(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API VpnConnection()=default
bool VpnConnectionIdHasBeenSet() const
void SetVpnGatewayId(VpnGatewayIdT &&value)
const Aws::String & GetVpnConnectionId() const
AWS_EC2_API VpnConnection & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetState(VpnState value)
const Aws::Vector< Tag > & GetTags() const
void SetCoreNetworkAttachmentArn(CoreNetworkAttachmentArnT &&value)
bool StateHasBeenSet() const
VpnConnection & WithTags(TagsT &&value)
const Aws::Vector< VpnStaticRoute > & GetRoutes() const
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