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/VpcEndpointType.h>
11#include <aws/ec2/model/State.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ec2/model/IpAddressType.h>
14#include <aws/ec2/model/DnsOptions.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/ec2/model/LastError.h>
17#include <aws/ec2/model/SecurityGroupIdentifier.h>
18#include <aws/ec2/model/DnsEntry.h>
19#include <aws/ec2/model/Tag.h>
20#include <aws/ec2/model/SubnetIpPrefixes.h>
59 template<
typename VpcEndpo
intIdT = Aws::String>
60 void SetVpcEndpointId(VpcEndpointIdT&& value) { m_vpcEndpointIdHasBeenSet =
true; m_vpcEndpointId = std::forward<VpcEndpointIdT>(value); }
61 template<
typename VpcEndpo
intIdT = Aws::String>
81 template<
typename VpcIdT = Aws::String>
82 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
83 template<
typename VpcIdT = Aws::String>
93 template<
typename ServiceNameT = Aws::String>
94 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet =
true; m_serviceName = std::forward<ServiceNameT>(value); }
95 template<
typename ServiceNameT = Aws::String>
105 inline void SetState(
State value) { m_stateHasBeenSet =
true; m_state = value; }
115 template<
typename PolicyDocumentT = Aws::String>
116 void SetPolicyDocument(PolicyDocumentT&& value) { m_policyDocumentHasBeenSet =
true; m_policyDocument = std::forward<PolicyDocumentT>(value); }
117 template<
typename PolicyDocumentT = Aws::String>
128 template<
typename RouteTableIdsT = Aws::Vector<Aws::String>>
129 void SetRouteTableIds(RouteTableIdsT&& value) { m_routeTableIdsHasBeenSet =
true; m_routeTableIds = std::forward<RouteTableIdsT>(value); }
130 template<
typename RouteTableIdsT = Aws::Vector<Aws::String>>
132 template<
typename RouteTableIdsT = Aws::String>
133 VpcEndpoint&
AddRouteTableIds(RouteTableIdsT&& value) { m_routeTableIdsHasBeenSet =
true; m_routeTableIds.emplace_back(std::forward<RouteTableIdsT>(value));
return *
this; }
142 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
143 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds = std::forward<SubnetIdsT>(value); }
144 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
146 template<
typename SubnetIdsT = Aws::String>
147 VpcEndpoint&
AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
return *
this; }
157 template<
typename GroupsT = Aws::Vector<SecurityGroupIdentifier>>
158 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups = std::forward<GroupsT>(value); }
159 template<
typename GroupsT = Aws::Vector<SecurityGroupIdentifier>>
161 template<
typename GroupsT = SecurityGroupIdentifier>
162 VpcEndpoint&
AddGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups.emplace_back(std::forward<GroupsT>(value));
return *
this; }
181 template<
typename DnsOptionsT = DnsOptions>
182 void SetDnsOptions(DnsOptionsT&& value) { m_dnsOptionsHasBeenSet =
true; m_dnsOptions = std::forward<DnsOptionsT>(value); }
183 template<
typename DnsOptionsT = DnsOptions>
194 inline void SetPrivateDnsEnabled(
bool value) { m_privateDnsEnabledHasBeenSet =
true; m_privateDnsEnabled = value; }
204 inline void SetRequesterManaged(
bool value) { m_requesterManagedHasBeenSet =
true; m_requesterManaged = value; }
214 template<
typename NetworkInterfaceIdsT = Aws::Vector<Aws::String>>
215 void SetNetworkInterfaceIds(NetworkInterfaceIdsT&& value) { m_networkInterfaceIdsHasBeenSet =
true; m_networkInterfaceIds = std::forward<NetworkInterfaceIdsT>(value); }
216 template<
typename NetworkInterfaceIdsT = Aws::Vector<Aws::String>>
218 template<
typename NetworkInterfaceIdsT = Aws::String>
219 VpcEndpoint&
AddNetworkInterfaceIds(NetworkInterfaceIdsT&& value) { m_networkInterfaceIdsHasBeenSet =
true; m_networkInterfaceIds.emplace_back(std::forward<NetworkInterfaceIdsT>(value));
return *
this; }
228 template<
typename DnsEntriesT = Aws::Vector<DnsEntry>>
229 void SetDnsEntries(DnsEntriesT&& value) { m_dnsEntriesHasBeenSet =
true; m_dnsEntries = std::forward<DnsEntriesT>(value); }
230 template<
typename DnsEntriesT = Aws::Vector<DnsEntry>>
232 template<
typename DnsEntriesT = DnsEntry>
233 VpcEndpoint&
AddDnsEntries(DnsEntriesT&& value) { m_dnsEntriesHasBeenSet =
true; m_dnsEntries.emplace_back(std::forward<DnsEntriesT>(value));
return *
this; }
242 template<
typename CreationTimestampT = Aws::Utils::DateTime>
243 void SetCreationTimestamp(CreationTimestampT&& value) { m_creationTimestampHasBeenSet =
true; m_creationTimestamp = std::forward<CreationTimestampT>(value); }
244 template<
typename CreationTimestampT = Aws::Utils::DateTime>
254 template<
typename TagsT = Aws::Vector<Tag>>
255 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
256 template<
typename TagsT = Aws::Vector<Tag>>
258 template<
typename TagsT = Tag>
259 VpcEndpoint&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
268 template<
typename OwnerIdT = Aws::String>
269 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
270 template<
typename OwnerIdT = Aws::String>
280 template<
typename LastErrorT = LastError>
281 void SetLastError(LastErrorT&& value) { m_lastErrorHasBeenSet =
true; m_lastError = std::forward<LastErrorT>(value); }
282 template<
typename LastErrorT = LastError>
292 template<
typename Ipv4PrefixesT = Aws::Vector<SubnetIpPrefixes>>
293 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet =
true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
294 template<
typename Ipv4PrefixesT = Aws::Vector<SubnetIpPrefixes>>
296 template<
typename Ipv4PrefixesT = SubnetIpPrefixes>
297 VpcEndpoint&
AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet =
true; m_ipv4Prefixes.emplace_back(std::forward<Ipv4PrefixesT>(value));
return *
this; }
306 template<
typename Ipv6PrefixesT = Aws::Vector<SubnetIpPrefixes>>
307 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet =
true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
308 template<
typename Ipv6PrefixesT = Aws::Vector<SubnetIpPrefixes>>
310 template<
typename Ipv6PrefixesT = SubnetIpPrefixes>
311 VpcEndpoint&
AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet =
true; m_ipv6Prefixes.emplace_back(std::forward<Ipv6PrefixesT>(value));
return *
this; }
320 template<
typename FailureReasonT = Aws::String>
321 void SetFailureReason(FailureReasonT&& value) { m_failureReasonHasBeenSet =
true; m_failureReason = std::forward<FailureReasonT>(value); }
322 template<
typename FailureReasonT = Aws::String>
332 template<
typename ServiceNetworkArnT = Aws::String>
333 void SetServiceNetworkArn(ServiceNetworkArnT&& value) { m_serviceNetworkArnHasBeenSet =
true; m_serviceNetworkArn = std::forward<ServiceNetworkArnT>(value); }
334 template<
typename ServiceNetworkArnT = Aws::String>
344 template<
typename ResourceConfigurationArnT = Aws::String>
345 void SetResourceConfigurationArn(ResourceConfigurationArnT&& value) { m_resourceConfigurationArnHasBeenSet =
true; m_resourceConfigurationArn = std::forward<ResourceConfigurationArnT>(value); }
346 template<
typename ResourceConfigurationArnT = Aws::String>
356 template<
typename ServiceRegionT = Aws::String>
357 void SetServiceRegion(ServiceRegionT&& value) { m_serviceRegionHasBeenSet =
true; m_serviceRegion = std::forward<ServiceRegionT>(value); }
358 template<
typename ServiceRegionT = Aws::String>
364 bool m_vpcEndpointIdHasBeenSet =
false;
367 bool m_vpcEndpointTypeHasBeenSet =
false;
370 bool m_vpcIdHasBeenSet =
false;
373 bool m_serviceNameHasBeenSet =
false;
376 bool m_stateHasBeenSet =
false;
379 bool m_policyDocumentHasBeenSet =
false;
382 bool m_routeTableIdsHasBeenSet =
false;
385 bool m_subnetIdsHasBeenSet =
false;
388 bool m_groupsHasBeenSet =
false;
391 bool m_ipAddressTypeHasBeenSet =
false;
393 DnsOptions m_dnsOptions;
394 bool m_dnsOptionsHasBeenSet =
false;
396 bool m_privateDnsEnabled{
false};
397 bool m_privateDnsEnabledHasBeenSet =
false;
399 bool m_requesterManaged{
false};
400 bool m_requesterManagedHasBeenSet =
false;
403 bool m_networkInterfaceIdsHasBeenSet =
false;
406 bool m_dnsEntriesHasBeenSet =
false;
409 bool m_creationTimestampHasBeenSet =
false;
412 bool m_tagsHasBeenSet =
false;
415 bool m_ownerIdHasBeenSet =
false;
417 LastError m_lastError;
418 bool m_lastErrorHasBeenSet =
false;
421 bool m_ipv4PrefixesHasBeenSet =
false;
424 bool m_ipv6PrefixesHasBeenSet =
false;
427 bool m_failureReasonHasBeenSet =
false;
430 bool m_serviceNetworkArnHasBeenSet =
false;
433 bool m_resourceConfigurationArnHasBeenSet =
false;
436 bool m_serviceRegionHasBeenSet =
false;
void SetServiceName(ServiceNameT &&value)
VpcEndpoint & WithPrivateDnsEnabled(bool value)
const Aws::Vector< Aws::String > & GetRouteTableIds() const
const Aws::String & GetVpcEndpointId() const
bool OwnerIdHasBeenSet() const
VpcEndpoint & WithTags(TagsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetResourceConfigurationArn() const
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
VpcEndpoint & WithVpcEndpointId(VpcEndpointIdT &&value)
void SetServiceRegion(ServiceRegionT &&value)
bool ServiceNetworkArnHasBeenSet() const
void SetRouteTableIds(RouteTableIdsT &&value)
void SetLastError(LastErrorT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
bool Ipv6PrefixesHasBeenSet() const
const Aws::Vector< Aws::String > & GetNetworkInterfaceIds() const
VpcEndpoint & AddGroups(GroupsT &&value)
bool TagsHasBeenSet() const
VpcEndpoint & WithServiceRegion(ServiceRegionT &&value)
const Aws::Vector< SubnetIpPrefixes > & GetIpv6Prefixes() const
void SetPolicyDocument(PolicyDocumentT &&value)
bool SubnetIdsHasBeenSet() const
VpcEndpoint & AddTags(TagsT &&value)
VpcEndpoint & WithCreationTimestamp(CreationTimestampT &&value)
VpcEndpoint & WithPolicyDocument(PolicyDocumentT &&value)
VpcEndpoint & WithServiceName(ServiceNameT &&value)
VpcEndpoint & WithResourceConfigurationArn(ResourceConfigurationArnT &&value)
AWS_EC2_API VpcEndpoint & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetState(State value)
bool VpcIdHasBeenSet() const
VpcEndpoint & WithDnsOptions(DnsOptionsT &&value)
const Aws::String & GetOwnerId() const
bool ServiceNameHasBeenSet() const
bool GetPrivateDnsEnabled() const
VpcEndpoint & WithSubnetIds(SubnetIdsT &&value)
bool PrivateDnsEnabledHasBeenSet() const
const Aws::String & GetServiceRegion() const
AWS_EC2_API VpcEndpoint()=default
VpcEndpointType GetVpcEndpointType() const
void SetPrivateDnsEnabled(bool value)
const Aws::Vector< SecurityGroupIdentifier > & GetGroups() const
bool RouteTableIdsHasBeenSet() const
void SetNetworkInterfaceIds(NetworkInterfaceIdsT &&value)
IpAddressType GetIpAddressType() const
bool ServiceRegionHasBeenSet() const
bool GroupsHasBeenSet() const
VpcEndpoint & AddRouteTableIds(RouteTableIdsT &&value)
const Aws::String & GetServiceName() const
VpcEndpoint & WithState(State value)
VpcEndpoint & WithIpv6Prefixes(Ipv6PrefixesT &&value)
VpcEndpoint & AddDnsEntries(DnsEntriesT &&value)
void SetVpcEndpointId(VpcEndpointIdT &&value)
VpcEndpoint & AddIpv6Prefixes(Ipv6PrefixesT &&value)
bool VpcEndpointTypeHasBeenSet() const
void SetVpcEndpointType(VpcEndpointType value)
const LastError & GetLastError() const
const Aws::Vector< DnsEntry > & GetDnsEntries() const
bool LastErrorHasBeenSet() const
VpcEndpoint & WithIpv4Prefixes(Ipv4PrefixesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
VpcEndpoint & WithIpAddressType(IpAddressType value)
const Aws::Vector< SubnetIpPrefixes > & GetIpv4Prefixes() const
const Aws::Vector< Tag > & GetTags() const
VpcEndpoint & WithVpcId(VpcIdT &&value)
void SetTags(TagsT &&value)
void SetSubnetIds(SubnetIdsT &&value)
VpcEndpoint & WithNetworkInterfaceIds(NetworkInterfaceIdsT &&value)
bool ResourceConfigurationArnHasBeenSet() const
VpcEndpoint & WithRouteTableIds(RouteTableIdsT &&value)
void SetRequesterManaged(bool value)
void SetDnsOptions(DnsOptionsT &&value)
const Aws::Utils::DateTime & GetCreationTimestamp() const
void SetCreationTimestamp(CreationTimestampT &&value)
bool GetRequesterManaged() const
const DnsOptions & GetDnsOptions() const
void SetResourceConfigurationArn(ResourceConfigurationArnT &&value)
const Aws::String & GetServiceNetworkArn() const
bool Ipv4PrefixesHasBeenSet() const
bool DnsEntriesHasBeenSet() const
VpcEndpoint & WithVpcEndpointType(VpcEndpointType value)
VpcEndpoint & WithOwnerId(OwnerIdT &&value)
VpcEndpoint & WithFailureReason(FailureReasonT &&value)
bool NetworkInterfaceIdsHasBeenSet() const
void SetServiceNetworkArn(ServiceNetworkArnT &&value)
bool FailureReasonHasBeenSet() const
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
void SetFailureReason(FailureReasonT &&value)
void SetVpcId(VpcIdT &&value)
bool IpAddressTypeHasBeenSet() const
void SetDnsEntries(DnsEntriesT &&value)
void SetGroups(GroupsT &&value)
VpcEndpoint & WithGroups(GroupsT &&value)
bool RequesterManagedHasBeenSet() const
AWS_EC2_API VpcEndpoint(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetFailureReason() const
VpcEndpoint & AddIpv4Prefixes(Ipv4PrefixesT &&value)
VpcEndpoint & AddNetworkInterfaceIds(NetworkInterfaceIdsT &&value)
VpcEndpoint & WithServiceNetworkArn(ServiceNetworkArnT &&value)
const Aws::String & GetVpcId() const
const Aws::String & GetPolicyDocument() const
VpcEndpoint & AddSubnetIds(SubnetIdsT &&value)
bool CreationTimestampHasBeenSet() const
VpcEndpoint & WithRequesterManaged(bool value)
VpcEndpoint & WithLastError(LastErrorT &&value)
bool VpcEndpointIdHasBeenSet() const
void SetOwnerId(OwnerIdT &&value)
bool StateHasBeenSet() const
void SetIpAddressType(IpAddressType value)
bool PolicyDocumentHasBeenSet() const
VpcEndpoint & WithDnsEntries(DnsEntriesT &&value)
bool DnsOptionsHasBeenSet() 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