AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
VpnGateway.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/VpnState.h>
12#include <aws/ec2/model/GatewayType.h>
13#include <aws/ec2/model/Tag.h>
14#include <aws/ec2/model/VpcAttachment.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_EC2_API VpnGateway() = default;
40 AWS_EC2_API VpnGateway(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_EC2_API VpnGateway& 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
52 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
53 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
54 inline void SetAmazonSideAsn(long long value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; }
55 inline VpnGateway& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;}
57
59
62 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
63 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
64 template<typename TagsT = Aws::Vector<Tag>>
65 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
66 template<typename TagsT = Aws::Vector<Tag>>
67 VpnGateway& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
68 template<typename TagsT = Tag>
69 VpnGateway& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
71
73
76 inline const Aws::String& GetVpnGatewayId() const { return m_vpnGatewayId; }
77 inline bool VpnGatewayIdHasBeenSet() const { return m_vpnGatewayIdHasBeenSet; }
78 template<typename VpnGatewayIdT = Aws::String>
79 void SetVpnGatewayId(VpnGatewayIdT&& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = std::forward<VpnGatewayIdT>(value); }
80 template<typename VpnGatewayIdT = Aws::String>
81 VpnGateway& WithVpnGatewayId(VpnGatewayIdT&& value) { SetVpnGatewayId(std::forward<VpnGatewayIdT>(value)); return *this;}
83
85
88 inline VpnState GetState() const { return m_state; }
89 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
90 inline void SetState(VpnState value) { m_stateHasBeenSet = true; m_state = value; }
91 inline VpnGateway& WithState(VpnState value) { SetState(value); return *this;}
93
95
98 inline GatewayType GetType() const { return m_type; }
99 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
100 inline void SetType(GatewayType value) { m_typeHasBeenSet = true; m_type = value; }
101 inline VpnGateway& WithType(GatewayType value) { SetType(value); return *this;}
103
105
109 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
110 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
111 template<typename AvailabilityZoneT = Aws::String>
112 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
113 template<typename AvailabilityZoneT = Aws::String>
114 VpnGateway& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
116
118
121 inline const Aws::Vector<VpcAttachment>& GetVpcAttachments() const { return m_vpcAttachments; }
122 inline bool VpcAttachmentsHasBeenSet() const { return m_vpcAttachmentsHasBeenSet; }
123 template<typename VpcAttachmentsT = Aws::Vector<VpcAttachment>>
124 void SetVpcAttachments(VpcAttachmentsT&& value) { m_vpcAttachmentsHasBeenSet = true; m_vpcAttachments = std::forward<VpcAttachmentsT>(value); }
125 template<typename VpcAttachmentsT = Aws::Vector<VpcAttachment>>
126 VpnGateway& WithVpcAttachments(VpcAttachmentsT&& value) { SetVpcAttachments(std::forward<VpcAttachmentsT>(value)); return *this;}
127 template<typename VpcAttachmentsT = VpcAttachment>
128 VpnGateway& AddVpcAttachments(VpcAttachmentsT&& value) { m_vpcAttachmentsHasBeenSet = true; m_vpcAttachments.emplace_back(std::forward<VpcAttachmentsT>(value)); return *this; }
130 private:
131
132 long long m_amazonSideAsn{0};
133 bool m_amazonSideAsnHasBeenSet = false;
134
135 Aws::Vector<Tag> m_tags;
136 bool m_tagsHasBeenSet = false;
137
138 Aws::String m_vpnGatewayId;
139 bool m_vpnGatewayIdHasBeenSet = false;
140
142 bool m_stateHasBeenSet = false;
143
145 bool m_typeHasBeenSet = false;
146
147 Aws::String m_availabilityZone;
148 bool m_availabilityZoneHasBeenSet = false;
149
150 Aws::Vector<VpcAttachment> m_vpcAttachments;
151 bool m_vpcAttachmentsHasBeenSet = false;
152 };
153
154} // namespace Model
155} // namespace EC2
156} // namespace Aws
void SetTags(TagsT &&value)
Definition VpnGateway.h:65
VpnGateway & WithAmazonSideAsn(long long value)
Definition VpnGateway.h:55
AWS_EC2_API VpnGateway & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetVpnGatewayId() const
Definition VpnGateway.h:76
void SetVpnGatewayId(VpnGatewayIdT &&value)
Definition VpnGateway.h:79
AWS_EC2_API VpnGateway()=default
const Aws::String & GetAvailabilityZone() const
Definition VpnGateway.h:109
long long GetAmazonSideAsn() const
Definition VpnGateway.h:52
VpnGateway & AddVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:128
GatewayType GetType() const
Definition VpnGateway.h:98
VpnGateway & WithAvailabilityZone(AvailabilityZoneT &&value)
Definition VpnGateway.h:114
bool VpnGatewayIdHasBeenSet() const
Definition VpnGateway.h:77
const Aws::Vector< Tag > & GetTags() const
Definition VpnGateway.h:62
void SetType(GatewayType value)
Definition VpnGateway.h:100
bool AvailabilityZoneHasBeenSet() const
Definition VpnGateway.h:110
VpnGateway & WithVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:126
const Aws::Vector< VpcAttachment > & GetVpcAttachments() const
Definition VpnGateway.h:121
void SetAvailabilityZone(AvailabilityZoneT &&value)
Definition VpnGateway.h:112
VpnState GetState() const
Definition VpnGateway.h:88
AWS_EC2_API VpnGateway(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetVpcAttachments(VpcAttachmentsT &&value)
Definition VpnGateway.h:124
void SetAmazonSideAsn(long long value)
Definition VpnGateway.h:54
VpnGateway & WithTags(TagsT &&value)
Definition VpnGateway.h:67
VpnGateway & AddTags(TagsT &&value)
Definition VpnGateway.h:69
VpnGateway & WithType(GatewayType value)
Definition VpnGateway.h:101
bool AmazonSideAsnHasBeenSet() const
Definition VpnGateway.h:53
VpnGateway & WithState(VpnState value)
Definition VpnGateway.h:91
void SetState(VpnState value)
Definition VpnGateway.h:90
bool VpcAttachmentsHasBeenSet() const
Definition VpnGateway.h:122
VpnGateway & WithVpnGatewayId(VpnGatewayIdT &&value)
Definition VpnGateway.h:81
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) 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