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/Tenancy.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/VpcEncryptionControl.h>
13#include <aws/ec2/model/BlockPublicAccessStates.h>
14#include <aws/ec2/model/VpcState.h>
15#include <aws/ec2/model/VpcIpv6CidrBlockAssociation.h>
16#include <aws/ec2/model/VpcCidrBlockAssociation.h>
17#include <aws/ec2/model/Tag.h>
42 AWS_EC2_API
Vpc() =
default;
56 template<
typename OwnerIdT = Aws::String>
57 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
58 template<
typename OwnerIdT = Aws::String>
78 template<
typename Ipv6C
idrBlockAssociationSetT = Aws::Vector<VpcIpv6C
idrBlockAssociation>>
79 void SetIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociationSetT&& value) { m_ipv6CidrBlockAssociationSetHasBeenSet =
true; m_ipv6CidrBlockAssociationSet = std::forward<Ipv6CidrBlockAssociationSetT>(value); }
80 template<
typename Ipv6C
idrBlockAssociationSetT = Aws::Vector<VpcIpv6C
idrBlockAssociation>>
82 template<
typename Ipv6C
idrBlockAssociationSetT = VpcIpv6C
idrBlockAssociation>
83 Vpc&
AddIpv6CidrBlockAssociationSet(Ipv6CidrBlockAssociationSetT&& value) { m_ipv6CidrBlockAssociationSetHasBeenSet =
true; m_ipv6CidrBlockAssociationSet.emplace_back(std::forward<Ipv6CidrBlockAssociationSetT>(value));
return *
this; }
92 template<
typename C
idrBlockAssociationSetT = Aws::Vector<VpcC
idrBlockAssociation>>
93 void SetCidrBlockAssociationSet(CidrBlockAssociationSetT&& value) { m_cidrBlockAssociationSetHasBeenSet =
true; m_cidrBlockAssociationSet = std::forward<CidrBlockAssociationSetT>(value); }
94 template<
typename C
idrBlockAssociationSetT = Aws::Vector<VpcC
idrBlockAssociation>>
96 template<
typename C
idrBlockAssociationSetT = VpcC
idrBlockAssociation>
97 Vpc&
AddCidrBlockAssociationSet(CidrBlockAssociationSetT&& value) { m_cidrBlockAssociationSetHasBeenSet =
true; m_cidrBlockAssociationSet.emplace_back(std::forward<CidrBlockAssociationSetT>(value));
return *
this; }
106 inline void SetIsDefault(
bool value) { m_isDefaultHasBeenSet =
true; m_isDefault = value; }
114 template<
typename EncryptionControlT = VpcEncryptionControl>
115 void SetEncryptionControl(EncryptionControlT&& value) { m_encryptionControlHasBeenSet =
true; m_encryptionControl = std::forward<EncryptionControlT>(value); }
116 template<
typename EncryptionControlT = VpcEncryptionControl>
126 template<
typename TagsT = Aws::Vector<Tag>>
127 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
128 template<
typename TagsT = Aws::Vector<Tag>>
130 template<
typename TagsT = Tag>
131 Vpc&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
140 template<
typename BlockPublicAccessStatesT = BlockPublicAccessStates>
141 void SetBlockPublicAccessStates(BlockPublicAccessStatesT&& value) { m_blockPublicAccessStatesHasBeenSet =
true; m_blockPublicAccessStates = std::forward<BlockPublicAccessStatesT>(value); }
142 template<
typename BlockPublicAccessStatesT = BlockPublicAccessStates>
152 template<
typename VpcIdT = Aws::String>
153 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
154 template<
typename VpcIdT = Aws::String>
174 template<
typename C
idrBlockT = Aws::String>
175 void SetCidrBlock(CidrBlockT&& value) { m_cidrBlockHasBeenSet =
true; m_cidrBlock = std::forward<CidrBlockT>(value); }
176 template<
typename C
idrBlockT = Aws::String>
186 template<
typename DhcpOptionsIdT = Aws::String>
187 void SetDhcpOptionsId(DhcpOptionsIdT&& value) { m_dhcpOptionsIdHasBeenSet =
true; m_dhcpOptionsId = std::forward<DhcpOptionsIdT>(value); }
188 template<
typename DhcpOptionsIdT = Aws::String>
194 bool m_ownerIdHasBeenSet =
false;
197 bool m_instanceTenancyHasBeenSet =
false;
200 bool m_ipv6CidrBlockAssociationSetHasBeenSet =
false;
203 bool m_cidrBlockAssociationSetHasBeenSet =
false;
205 bool m_isDefault{
false};
206 bool m_isDefaultHasBeenSet =
false;
208 VpcEncryptionControl m_encryptionControl;
209 bool m_encryptionControlHasBeenSet =
false;
212 bool m_tagsHasBeenSet =
false;
214 BlockPublicAccessStates m_blockPublicAccessStates;
215 bool m_blockPublicAccessStatesHasBeenSet =
false;
218 bool m_vpcIdHasBeenSet =
false;
221 bool m_stateHasBeenSet =
false;
224 bool m_cidrBlockHasBeenSet =
false;
227 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