/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Amazon S3 on Outposts Access Points simplify managing data access at scale
* for shared datasets in S3 on Outposts. S3 on Outposts uses endpoints to connect
* to Outposts buckets so that you can perform actions within your virtual private
* cloud (VPC). For more information, see
* Accessing S3 on Outposts using VPC-only access points in the Amazon
* Simple Storage Service User Guide.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the endpoint.
*/ inline const Aws::String& GetEndpointArn() const{ return m_endpointArn; } /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline bool EndpointArnHasBeenSet() const { return m_endpointArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline void SetEndpointArn(const Aws::String& value) { m_endpointArnHasBeenSet = true; m_endpointArn = value; } /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline void SetEndpointArn(Aws::String&& value) { m_endpointArnHasBeenSet = true; m_endpointArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline void SetEndpointArn(const char* value) { m_endpointArnHasBeenSet = true; m_endpointArn.assign(value); } /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline Endpoint& WithEndpointArn(const Aws::String& value) { SetEndpointArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline Endpoint& WithEndpointArn(Aws::String&& value) { SetEndpointArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the endpoint.
*/ inline Endpoint& WithEndpointArn(const char* value) { SetEndpointArn(value); return *this;} /** *The ID of the Outposts.
*/ inline const Aws::String& GetOutpostsId() const{ return m_outpostsId; } /** *The ID of the Outposts.
*/ inline bool OutpostsIdHasBeenSet() const { return m_outpostsIdHasBeenSet; } /** *The ID of the Outposts.
*/ inline void SetOutpostsId(const Aws::String& value) { m_outpostsIdHasBeenSet = true; m_outpostsId = value; } /** *The ID of the Outposts.
*/ inline void SetOutpostsId(Aws::String&& value) { m_outpostsIdHasBeenSet = true; m_outpostsId = std::move(value); } /** *The ID of the Outposts.
*/ inline void SetOutpostsId(const char* value) { m_outpostsIdHasBeenSet = true; m_outpostsId.assign(value); } /** *The ID of the Outposts.
*/ inline Endpoint& WithOutpostsId(const Aws::String& value) { SetOutpostsId(value); return *this;} /** *The ID of the Outposts.
*/ inline Endpoint& WithOutpostsId(Aws::String&& value) { SetOutpostsId(std::move(value)); return *this;} /** *The ID of the Outposts.
*/ inline Endpoint& WithOutpostsId(const char* value) { SetOutpostsId(value); return *this;} /** *The VPC CIDR committed by this endpoint.
*/ inline const Aws::String& GetCidrBlock() const{ return m_cidrBlock; } /** *The VPC CIDR committed by this endpoint.
*/ inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; } /** *The VPC CIDR committed by this endpoint.
*/ inline void SetCidrBlock(const Aws::String& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = value; } /** *The VPC CIDR committed by this endpoint.
*/ inline void SetCidrBlock(Aws::String&& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = std::move(value); } /** *The VPC CIDR committed by this endpoint.
*/ inline void SetCidrBlock(const char* value) { m_cidrBlockHasBeenSet = true; m_cidrBlock.assign(value); } /** *The VPC CIDR committed by this endpoint.
*/ inline Endpoint& WithCidrBlock(const Aws::String& value) { SetCidrBlock(value); return *this;} /** *The VPC CIDR committed by this endpoint.
*/ inline Endpoint& WithCidrBlock(Aws::String&& value) { SetCidrBlock(std::move(value)); return *this;} /** *The VPC CIDR committed by this endpoint.
*/ inline Endpoint& WithCidrBlock(const char* value) { SetCidrBlock(value); return *this;} /** *The status of the endpoint.
*/ inline const EndpointStatus& GetStatus() const{ return m_status; } /** *The status of the endpoint.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the endpoint.
*/ inline void SetStatus(const EndpointStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the endpoint.
*/ inline void SetStatus(EndpointStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the endpoint.
*/ inline Endpoint& WithStatus(const EndpointStatus& value) { SetStatus(value); return *this;} /** *The status of the endpoint.
*/ inline Endpoint& WithStatus(EndpointStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The time the endpoint was created.
*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *The time the endpoint was created.
*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *The time the endpoint was created.
*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *The time the endpoint was created.
*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *The time the endpoint was created.
*/ inline Endpoint& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *The time the endpoint was created.
*/ inline Endpoint& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *The network interface of the endpoint.
*/ inline const Aws::VectorThe network interface of the endpoint.
*/ inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } /** *The network interface of the endpoint.
*/ inline void SetNetworkInterfaces(const Aws::VectorThe network interface of the endpoint.
*/ inline void SetNetworkInterfaces(Aws::VectorThe network interface of the endpoint.
*/ inline Endpoint& WithNetworkInterfaces(const Aws::VectorThe network interface of the endpoint.
*/ inline Endpoint& WithNetworkInterfaces(Aws::VectorThe network interface of the endpoint.
*/ inline Endpoint& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } /** *The network interface of the endpoint.
*/ inline Endpoint& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; } /** *The ID of the VPC used for the endpoint.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC used for the endpoint.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC used for the endpoint.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC used for the endpoint.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC used for the endpoint.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC used for the endpoint.
*/ inline Endpoint& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC used for the endpoint.
*/ inline Endpoint& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC used for the endpoint.
*/ inline Endpoint& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The ID of the subnet used for the endpoint.
*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *The ID of the subnet used for the endpoint.
*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *The ID of the subnet used for the endpoint.
*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *The ID of the subnet used for the endpoint.
*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *The ID of the subnet used for the endpoint.
*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *The ID of the subnet used for the endpoint.
*/ inline Endpoint& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *The ID of the subnet used for the endpoint.
*/ inline Endpoint& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *The ID of the subnet used for the endpoint.
*/ inline Endpoint& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *The ID of the security group used for the endpoint.
*/ inline const Aws::String& GetSecurityGroupId() const{ return m_securityGroupId; } /** *The ID of the security group used for the endpoint.
*/ inline bool SecurityGroupIdHasBeenSet() const { return m_securityGroupIdHasBeenSet; } /** *The ID of the security group used for the endpoint.
*/ inline void SetSecurityGroupId(const Aws::String& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = value; } /** *The ID of the security group used for the endpoint.
*/ inline void SetSecurityGroupId(Aws::String&& value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId = std::move(value); } /** *The ID of the security group used for the endpoint.
*/ inline void SetSecurityGroupId(const char* value) { m_securityGroupIdHasBeenSet = true; m_securityGroupId.assign(value); } /** *The ID of the security group used for the endpoint.
*/ inline Endpoint& WithSecurityGroupId(const Aws::String& value) { SetSecurityGroupId(value); return *this;} /** *The ID of the security group used for the endpoint.
*/ inline Endpoint& WithSecurityGroupId(Aws::String&& value) { SetSecurityGroupId(std::move(value)); return *this;} /** *The ID of the security group used for the endpoint.
*/ inline Endpoint& WithSecurityGroupId(const char* value) { SetSecurityGroupId(value); return *this;} /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline const EndpointAccessType& GetAccessType() const{ return m_accessType; } /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline bool AccessTypeHasBeenSet() const { return m_accessTypeHasBeenSet; } /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline void SetAccessType(const EndpointAccessType& value) { m_accessTypeHasBeenSet = true; m_accessType = value; } /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline void SetAccessType(EndpointAccessType&& value) { m_accessTypeHasBeenSet = true; m_accessType = std::move(value); } /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline Endpoint& WithAccessType(const EndpointAccessType& value) { SetAccessType(value); return *this;} /** *The type of connectivity used to access the Amazon S3 on Outposts * endpoint.
*/ inline Endpoint& WithAccessType(EndpointAccessType&& value) { SetAccessType(std::move(value)); return *this;} /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline const Aws::String& GetCustomerOwnedIpv4Pool() const{ return m_customerOwnedIpv4Pool; } /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline bool CustomerOwnedIpv4PoolHasBeenSet() const { return m_customerOwnedIpv4PoolHasBeenSet; } /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline void SetCustomerOwnedIpv4Pool(const Aws::String& value) { m_customerOwnedIpv4PoolHasBeenSet = true; m_customerOwnedIpv4Pool = value; } /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline void SetCustomerOwnedIpv4Pool(Aws::String&& value) { m_customerOwnedIpv4PoolHasBeenSet = true; m_customerOwnedIpv4Pool = std::move(value); } /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline void SetCustomerOwnedIpv4Pool(const char* value) { m_customerOwnedIpv4PoolHasBeenSet = true; m_customerOwnedIpv4Pool.assign(value); } /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline Endpoint& WithCustomerOwnedIpv4Pool(const Aws::String& value) { SetCustomerOwnedIpv4Pool(value); return *this;} /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline Endpoint& WithCustomerOwnedIpv4Pool(Aws::String&& value) { SetCustomerOwnedIpv4Pool(std::move(value)); return *this;} /** *The ID of the customer-owned IPv4 address pool used for the endpoint.
*/ inline Endpoint& WithCustomerOwnedIpv4Pool(const char* value) { SetCustomerOwnedIpv4Pool(value); return *this;} /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline const FailedReason& GetFailedReason() const{ return m_failedReason; } /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline bool FailedReasonHasBeenSet() const { return m_failedReasonHasBeenSet; } /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline void SetFailedReason(const FailedReason& value) { m_failedReasonHasBeenSet = true; m_failedReason = value; } /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline void SetFailedReason(FailedReason&& value) { m_failedReasonHasBeenSet = true; m_failedReason = std::move(value); } /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline Endpoint& WithFailedReason(const FailedReason& value) { SetFailedReason(value); return *this;} /** *The failure reason, if any, for a create or delete endpoint operation.
*/ inline Endpoint& WithFailedReason(FailedReason&& value) { SetFailedReason(std::move(value)); return *this;} private: Aws::String m_endpointArn; bool m_endpointArnHasBeenSet = false; Aws::String m_outpostsId; bool m_outpostsIdHasBeenSet = false; Aws::String m_cidrBlock; bool m_cidrBlockHasBeenSet = false; EndpointStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Vector