AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
TransitGatewayVpcAttachment.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/AWSString.h>
10#include <aws/ec2/model/TransitGatewayAttachmentState.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/ec2/model/TransitGatewayVpcAttachmentOptions.h>
14#include <aws/ec2/model/Tag.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 TransitGatewayVpcAttachment() = default;
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
51 inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; }
52 inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; }
53 template<typename TransitGatewayAttachmentIdT = Aws::String>
54 void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward<TransitGatewayAttachmentIdT>(value); }
55 template<typename TransitGatewayAttachmentIdT = Aws::String>
56 TransitGatewayVpcAttachment& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward<TransitGatewayAttachmentIdT>(value)); return *this;}
58
60
63 inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; }
64 inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; }
65 template<typename TransitGatewayIdT = Aws::String>
66 void SetTransitGatewayId(TransitGatewayIdT&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::forward<TransitGatewayIdT>(value); }
67 template<typename TransitGatewayIdT = Aws::String>
68 TransitGatewayVpcAttachment& WithTransitGatewayId(TransitGatewayIdT&& value) { SetTransitGatewayId(std::forward<TransitGatewayIdT>(value)); return *this;}
70
72
75 inline const Aws::String& GetVpcId() const { return m_vpcId; }
76 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
77 template<typename VpcIdT = Aws::String>
78 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
79 template<typename VpcIdT = Aws::String>
80 TransitGatewayVpcAttachment& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
82
84
87 inline const Aws::String& GetVpcOwnerId() const { return m_vpcOwnerId; }
88 inline bool VpcOwnerIdHasBeenSet() const { return m_vpcOwnerIdHasBeenSet; }
89 template<typename VpcOwnerIdT = Aws::String>
90 void SetVpcOwnerId(VpcOwnerIdT&& value) { m_vpcOwnerIdHasBeenSet = true; m_vpcOwnerId = std::forward<VpcOwnerIdT>(value); }
91 template<typename VpcOwnerIdT = Aws::String>
92 TransitGatewayVpcAttachment& WithVpcOwnerId(VpcOwnerIdT&& value) { SetVpcOwnerId(std::forward<VpcOwnerIdT>(value)); return *this;}
94
96
100 inline TransitGatewayAttachmentState GetState() const { return m_state; }
101 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
102 inline void SetState(TransitGatewayAttachmentState value) { m_stateHasBeenSet = true; m_state = value; }
105
107
110 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
111 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
112 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
113 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::forward<SubnetIdsT>(value); }
114 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
115 TransitGatewayVpcAttachment& WithSubnetIds(SubnetIdsT&& value) { SetSubnetIds(std::forward<SubnetIdsT>(value)); return *this;}
116 template<typename SubnetIdsT = Aws::String>
117 TransitGatewayVpcAttachment& AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value)); return *this; }
119
121
124 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
125 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
126 template<typename CreationTimeT = Aws::Utils::DateTime>
127 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
128 template<typename CreationTimeT = Aws::Utils::DateTime>
129 TransitGatewayVpcAttachment& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
131
133
136 inline const TransitGatewayVpcAttachmentOptions& GetOptions() const { return m_options; }
137 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
138 template<typename OptionsT = TransitGatewayVpcAttachmentOptions>
139 void SetOptions(OptionsT&& value) { m_optionsHasBeenSet = true; m_options = std::forward<OptionsT>(value); }
140 template<typename OptionsT = TransitGatewayVpcAttachmentOptions>
141 TransitGatewayVpcAttachment& WithOptions(OptionsT&& value) { SetOptions(std::forward<OptionsT>(value)); return *this;}
143
145
148 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
149 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
150 template<typename TagsT = Aws::Vector<Tag>>
151 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
152 template<typename TagsT = Aws::Vector<Tag>>
153 TransitGatewayVpcAttachment& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
154 template<typename TagsT = Tag>
155 TransitGatewayVpcAttachment& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
157 private:
158
159 Aws::String m_transitGatewayAttachmentId;
160 bool m_transitGatewayAttachmentIdHasBeenSet = false;
161
162 Aws::String m_transitGatewayId;
163 bool m_transitGatewayIdHasBeenSet = false;
164
165 Aws::String m_vpcId;
166 bool m_vpcIdHasBeenSet = false;
167
168 Aws::String m_vpcOwnerId;
169 bool m_vpcOwnerIdHasBeenSet = false;
170
172 bool m_stateHasBeenSet = false;
173
174 Aws::Vector<Aws::String> m_subnetIds;
175 bool m_subnetIdsHasBeenSet = false;
176
177 Aws::Utils::DateTime m_creationTime{};
178 bool m_creationTimeHasBeenSet = false;
179
180 TransitGatewayVpcAttachmentOptions m_options;
181 bool m_optionsHasBeenSet = false;
182
183 Aws::Vector<Tag> m_tags;
184 bool m_tagsHasBeenSet = false;
185 };
186
187} // namespace Model
188} // namespace EC2
189} // namespace Aws
TransitGatewayVpcAttachment & WithVpcId(VpcIdT &&value)
void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
void SetState(TransitGatewayAttachmentState value)
TransitGatewayVpcAttachment & WithOptions(OptionsT &&value)
TransitGatewayVpcAttachment & AddSubnetIds(SubnetIdsT &&value)
TransitGatewayVpcAttachment & WithSubnetIds(SubnetIdsT &&value)
TransitGatewayVpcAttachment & WithTags(TagsT &&value)
TransitGatewayVpcAttachment & WithState(TransitGatewayAttachmentState value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayVpcAttachment & WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
TransitGatewayVpcAttachment & WithVpcOwnerId(VpcOwnerIdT &&value)
TransitGatewayVpcAttachment & WithTransitGatewayId(TransitGatewayIdT &&value)
AWS_EC2_API TransitGatewayVpcAttachment & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Utils::DateTime & GetCreationTime() const
const TransitGatewayVpcAttachmentOptions & GetOptions() const
AWS_EC2_API TransitGatewayVpcAttachment(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API TransitGatewayVpcAttachment()=default
TransitGatewayVpcAttachment & WithCreationTime(CreationTimeT &&value)
TransitGatewayVpcAttachment & AddTags(TagsT &&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