/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains the parameters for CreateVpcEndpoint.See Also:
AWS
* API Reference
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
The type of endpoint.
Default: Gateway
*/ inline const VpcEndpointType& GetVpcEndpointType() const{ return m_vpcEndpointType; } /** *The type of endpoint.
Default: Gateway
*/ inline bool VpcEndpointTypeHasBeenSet() const { return m_vpcEndpointTypeHasBeenSet; } /** *The type of endpoint.
Default: Gateway
*/ inline void SetVpcEndpointType(const VpcEndpointType& value) { m_vpcEndpointTypeHasBeenSet = true; m_vpcEndpointType = value; } /** *The type of endpoint.
Default: Gateway
*/ inline void SetVpcEndpointType(VpcEndpointType&& value) { m_vpcEndpointTypeHasBeenSet = true; m_vpcEndpointType = std::move(value); } /** *The type of endpoint.
Default: Gateway
*/ inline CreateVpcEndpointRequest& WithVpcEndpointType(const VpcEndpointType& value) { SetVpcEndpointType(value); return *this;} /** *The type of endpoint.
Default: Gateway
*/ inline CreateVpcEndpointRequest& WithVpcEndpointType(VpcEndpointType&& value) { SetVpcEndpointType(std::move(value)); return *this;} /** *The ID of the VPC in which the endpoint will be used.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC in which the endpoint will be used.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC in which the endpoint will be used.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC in which the endpoint will be used.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC in which the endpoint will be used.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC in which the endpoint will be used.
*/ inline CreateVpcEndpointRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC in which the endpoint will be used.
*/ inline CreateVpcEndpointRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC in which the endpoint will be used.
*/ inline CreateVpcEndpointRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline CreateVpcEndpointRequest& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline CreateVpcEndpointRequest& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *The service name. To get a list of available services, use the * DescribeVpcEndpointServices request, or get the name from the service * provider.
*/ inline CreateVpcEndpointRequest& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline const Aws::String& GetPolicyDocument() const{ return m_policyDocument; } /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline bool PolicyDocumentHasBeenSet() const { return m_policyDocumentHasBeenSet; } /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline void SetPolicyDocument(const Aws::String& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = value; } /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline void SetPolicyDocument(Aws::String&& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = std::move(value); } /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline void SetPolicyDocument(const char* value) { m_policyDocumentHasBeenSet = true; m_policyDocument.assign(value); } /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline CreateVpcEndpointRequest& WithPolicyDocument(const Aws::String& value) { SetPolicyDocument(value); return *this;} /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline CreateVpcEndpointRequest& WithPolicyDocument(Aws::String&& value) { SetPolicyDocument(std::move(value)); return *this;} /** *A policy to attach to the endpoint that controls access to the service. The * policy must be in valid JSON format. If this parameter is not specified, we * attach a default policy that allows full access to the service.
*/ inline CreateVpcEndpointRequest& WithPolicyDocument(const char* value) { SetPolicyDocument(value); return *this;} /** *(Gateway endpoint) One or more route table IDs.
*/ inline const Aws::Vector(Gateway endpoint) One or more route table IDs.
*/ inline bool RouteTableIdsHasBeenSet() const { return m_routeTableIdsHasBeenSet; } /** *(Gateway endpoint) One or more route table IDs.
*/ inline void SetRouteTableIds(const Aws::Vector(Gateway endpoint) One or more route table IDs.
*/ inline void SetRouteTableIds(Aws::Vector(Gateway endpoint) One or more route table IDs.
*/ inline CreateVpcEndpointRequest& WithRouteTableIds(const Aws::Vector(Gateway endpoint) One or more route table IDs.
*/ inline CreateVpcEndpointRequest& WithRouteTableIds(Aws::Vector(Gateway endpoint) One or more route table IDs.
*/ inline CreateVpcEndpointRequest& AddRouteTableIds(const Aws::String& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(value); return *this; } /** *(Gateway endpoint) One or more route table IDs.
*/ inline CreateVpcEndpointRequest& AddRouteTableIds(Aws::String&& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(std::move(value)); return *this; } /** *(Gateway endpoint) One or more route table IDs.
*/ inline CreateVpcEndpointRequest& AddRouteTableIds(const char* value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(value); return *this; } /** *(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline const Aws::Vector(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline void SetSubnetIds(const Aws::Vector(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline void SetSubnetIds(Aws::Vector(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline CreateVpcEndpointRequest& WithSubnetIds(const Aws::Vector(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline CreateVpcEndpointRequest& WithSubnetIds(Aws::Vector(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *(Interface endpoint) The ID of one or more subnets in which to create an * endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline const Aws::Vector(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline void SetSecurityGroupIds(const Aws::Vector(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline void SetSecurityGroupIds(Aws::Vector(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline CreateVpcEndpointRequest& WithSecurityGroupIds(const Aws::Vector(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline CreateVpcEndpointRequest& WithSecurityGroupIds(Aws::Vector(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *(Interface endpoint) The ID of one or more security groups to associate with * the endpoint network interface.
*/ inline CreateVpcEndpointRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline CreateVpcEndpointRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline CreateVpcEndpointRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see How * to Ensure Idempotency.
*/ inline CreateVpcEndpointRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *(Interface endpoint) Indicates whether to associate a private hosted zone
* with the specified VPC. The private hosted zone contains a record set for the
* default public DNS name for the service for the Region (for example,
* kinesis.us-east-1.amazonaws.com), which resolves to the private IP
* addresses of the endpoint network interfaces in the VPC. This enables you to
* make requests to the default public DNS name for the service instead of the
* public DNS names that are automatically generated by the VPC endpoint
* service.
To use a private hosted zone, you must set the following VPC
* attributes to true: enableDnsHostnames and
* enableDnsSupport. Use ModifyVpcAttribute to set the VPC
* attributes.
Default: true
(Interface endpoint) Indicates whether to associate a private hosted zone
* with the specified VPC. The private hosted zone contains a record set for the
* default public DNS name for the service for the Region (for example,
* kinesis.us-east-1.amazonaws.com), which resolves to the private IP
* addresses of the endpoint network interfaces in the VPC. This enables you to
* make requests to the default public DNS name for the service instead of the
* public DNS names that are automatically generated by the VPC endpoint
* service.
To use a private hosted zone, you must set the following VPC
* attributes to true: enableDnsHostnames and
* enableDnsSupport. Use ModifyVpcAttribute to set the VPC
* attributes.
Default: true
(Interface endpoint) Indicates whether to associate a private hosted zone
* with the specified VPC. The private hosted zone contains a record set for the
* default public DNS name for the service for the Region (for example,
* kinesis.us-east-1.amazonaws.com), which resolves to the private IP
* addresses of the endpoint network interfaces in the VPC. This enables you to
* make requests to the default public DNS name for the service instead of the
* public DNS names that are automatically generated by the VPC endpoint
* service.
To use a private hosted zone, you must set the following VPC
* attributes to true: enableDnsHostnames and
* enableDnsSupport. Use ModifyVpcAttribute to set the VPC
* attributes.
Default: true
(Interface endpoint) Indicates whether to associate a private hosted zone
* with the specified VPC. The private hosted zone contains a record set for the
* default public DNS name for the service for the Region (for example,
* kinesis.us-east-1.amazonaws.com), which resolves to the private IP
* addresses of the endpoint network interfaces in the VPC. This enables you to
* make requests to the default public DNS name for the service instead of the
* public DNS names that are automatically generated by the VPC endpoint
* service.
To use a private hosted zone, you must set the following VPC
* attributes to true: enableDnsHostnames and
* enableDnsSupport. Use ModifyVpcAttribute to set the VPC
* attributes.
Default: true
The tags to associate with the endpoint.
*/ inline const Aws::VectorThe tags to associate with the endpoint.
*/ inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } /** *The tags to associate with the endpoint.
*/ inline void SetTagSpecifications(const Aws::VectorThe tags to associate with the endpoint.
*/ inline void SetTagSpecifications(Aws::VectorThe tags to associate with the endpoint.
*/ inline CreateVpcEndpointRequest& WithTagSpecifications(const Aws::VectorThe tags to associate with the endpoint.
*/ inline CreateVpcEndpointRequest& WithTagSpecifications(Aws::VectorThe tags to associate with the endpoint.
*/ inline CreateVpcEndpointRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } /** *The tags to associate with the endpoint.
*/ inline CreateVpcEndpointRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } private: bool m_dryRun; bool m_dryRunHasBeenSet; VpcEndpointType m_vpcEndpointType; bool m_vpcEndpointTypeHasBeenSet; Aws::String m_vpcId; bool m_vpcIdHasBeenSet; Aws::String m_serviceName; bool m_serviceNameHasBeenSet; Aws::String m_policyDocument; bool m_policyDocumentHasBeenSet; Aws::Vector