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/BlockPublicAccessStates.h>
12#include <aws/ec2/model/Tag.h>
13#include <aws/ec2/model/Tenancy.h>
14#include <aws/ec2/model/VpcCidrBlockAssociation.h>
15#include <aws/ec2/model/VpcEncryptionControl.h>
16#include <aws/ec2/model/VpcIpv6CidrBlockAssociation.h>
17#include <aws/ec2/model/VpcState.h>
37 AWS_EC2_API
Vpc() =
default;
50 template <
typename OwnerIdT = Aws::String>
52 m_ownerIdHasBeenSet =
true;
53 m_ownerId = std::forward<OwnerIdT>(value);
55 template <
typename OwnerIdT = Aws::String>
69 m_instanceTenancyHasBeenSet =
true;
70 m_instanceTenancy = value;
84 template <
typename Ipv6C
idrBlockAssociationSetT = Aws::Vector<VpcIpv6C
idrBlockAssociation>>
86 m_ipv6CidrBlockAssociationSetHasBeenSet =
true;
87 m_ipv6CidrBlockAssociationSet = std::forward<Ipv6CidrBlockAssociationSetT>(value);
89 template <
typename Ipv6C
idrBlockAssociationSetT = Aws::Vector<VpcIpv6C
idrBlockAssociation>>
94 template <
typename Ipv6C
idrBlockAssociationSetT = VpcIpv6C
idrBlockAssociation>
96 m_ipv6CidrBlockAssociationSetHasBeenSet =
true;
97 m_ipv6CidrBlockAssociationSet.emplace_back(std::forward<Ipv6CidrBlockAssociationSetT>(value));
108 template <
typename C
idrBlockAssociationSetT = Aws::Vector<VpcC
idrBlockAssociation>>
110 m_cidrBlockAssociationSetHasBeenSet =
true;
111 m_cidrBlockAssociationSet = std::forward<CidrBlockAssociationSetT>(value);
113 template <
typename C
idrBlockAssociationSetT = Aws::Vector<VpcC
idrBlockAssociation>>
118 template <
typename C
idrBlockAssociationSetT = VpcC
idrBlockAssociation>
120 m_cidrBlockAssociationSetHasBeenSet =
true;
121 m_cidrBlockAssociationSet.emplace_back(std::forward<CidrBlockAssociationSetT>(value));
133 m_isDefaultHasBeenSet =
true;
146 template <
typename EncryptionControlT = VpcEncryptionControl>
148 m_encryptionControlHasBeenSet =
true;
149 m_encryptionControl = std::forward<EncryptionControlT>(value);
151 template <
typename EncryptionControlT = VpcEncryptionControl>
164 template <
typename TagsT = Aws::Vector<Tag>>
166 m_tagsHasBeenSet =
true;
167 m_tags = std::forward<TagsT>(value);
169 template <
typename TagsT = Aws::Vector<Tag>>
171 SetTags(std::forward<TagsT>(value));
174 template <
typename TagsT = Tag>
176 m_tagsHasBeenSet =
true;
177 m_tags.emplace_back(std::forward<TagsT>(value));
188 template <
typename BlockPublicAccessStatesT = BlockPublicAccessStates>
190 m_blockPublicAccessStatesHasBeenSet =
true;
191 m_blockPublicAccessStates = std::forward<BlockPublicAccessStatesT>(value);
193 template <
typename BlockPublicAccessStatesT = BlockPublicAccessStates>
206 template <
typename VpcIdT = Aws::String>
208 m_vpcIdHasBeenSet =
true;
209 m_vpcId = std::forward<VpcIdT>(value);
211 template <
typename VpcIdT = Aws::String>
213 SetVpcId(std::forward<VpcIdT>(value));
225 m_stateHasBeenSet =
true;
240 template <
typename C
idrBlockT = Aws::String>
242 m_cidrBlockHasBeenSet =
true;
243 m_cidrBlock = std::forward<CidrBlockT>(value);
245 template <
typename C
idrBlockT = Aws::String>
258 template <
typename DhcpOptionsIdT = Aws::String>
260 m_dhcpOptionsIdHasBeenSet =
true;
261 m_dhcpOptionsId = std::forward<DhcpOptionsIdT>(value);
263 template <
typename DhcpOptionsIdT = Aws::String>
278 bool m_isDefault{
false};
280 VpcEncryptionControl m_encryptionControl;
284 BlockPublicAccessStates m_blockPublicAccessStates;
293 bool m_ownerIdHasBeenSet =
false;
294 bool m_instanceTenancyHasBeenSet =
false;
295 bool m_ipv6CidrBlockAssociationSetHasBeenSet =
false;
296 bool m_cidrBlockAssociationSetHasBeenSet =
false;
297 bool m_isDefaultHasBeenSet =
false;
298 bool m_encryptionControlHasBeenSet =
false;
299 bool m_tagsHasBeenSet =
false;
300 bool m_blockPublicAccessStatesHasBeenSet =
false;
301 bool m_vpcIdHasBeenSet =
false;
302 bool m_stateHasBeenSet =
false;
303 bool m_cidrBlockHasBeenSet =
false;
304 bool m_dhcpOptionsIdHasBeenSet =
false;
void SetVpcId(VpcIdT &&value)
const Aws::String & GetVpcId() const
Vpc & WithEncryptionControl(EncryptionControlT &&value)
void SetTags(TagsT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetCidrBlock() const
Vpc & WithIsDefault(bool value)
bool IsDefaultHasBeenSet() const
const VpcEncryptionControl & GetEncryptionControl() const
void SetIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociationSetT &&value)
void SetState(VpcState value)
Vpc & WithCidrBlockAssociationSet(CidrBlockAssociationSetT &&value)
const Aws::Vector< VpcIpv6CidrBlockAssociation > & GetIpv6CidrBlockAssociationSet() const
VpcState GetState() const
bool OwnerIdHasBeenSet() const
void SetIsDefault(bool value)
bool CidrBlockAssociationSetHasBeenSet() const
bool VpcIdHasBeenSet() const
const Aws::String & GetDhcpOptionsId() const
Tenancy GetInstanceTenancy() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCidrBlock(CidrBlockT &&value)
void SetEncryptionControl(EncryptionControlT &&value)
Vpc & WithCidrBlock(CidrBlockT &&value)
Vpc & WithDhcpOptionsId(DhcpOptionsIdT &&value)
const Aws::Vector< VpcCidrBlockAssociation > & GetCidrBlockAssociationSet() const
Vpc & WithBlockPublicAccessStates(BlockPublicAccessStatesT &&value)
Vpc & AddIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociationSetT &&value)
AWS_EC2_API Vpc & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API Vpc(const Aws::Utils::Xml::XmlNode &xmlNode)
Vpc & WithTags(TagsT &&value)
bool CidrBlockHasBeenSet() const
Vpc & AddCidrBlockAssociationSet(CidrBlockAssociationSetT &&value)
Vpc & AddTags(TagsT &&value)
Vpc & WithInstanceTenancy(Tenancy value)
Vpc & WithState(VpcState value)
Vpc & WithOwnerId(OwnerIdT &&value)
const BlockPublicAccessStates & GetBlockPublicAccessStates() const
bool Ipv6CidrBlockAssociationSetHasBeenSet() const
bool StateHasBeenSet() const
bool EncryptionControlHasBeenSet() const
const Aws::String & GetOwnerId() const
void SetCidrBlockAssociationSet(CidrBlockAssociationSetT &&value)
void SetDhcpOptionsId(DhcpOptionsIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool GetIsDefault() const
Vpc & WithIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociationSetT &&value)
bool InstanceTenancyHasBeenSet() const
AWS_EC2_API Vpc()=default
bool BlockPublicAccessStatesHasBeenSet() const
Vpc & WithVpcId(VpcIdT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetOwnerId(OwnerIdT &&value)
void SetBlockPublicAccessStates(BlockPublicAccessStatesT &&value)
void SetInstanceTenancy(Tenancy value)
bool DhcpOptionsIdHasBeenSet() 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