AwsVpcEndpointArgs
interface AwsVpcEndpointArgs extends Omit<aws.ec2.VpcEndpointArgs, 'policy' | 'privateDnsEnabled' | 'routeTableIds' | 'securityGroupIds' | 'serviceName' | 'subnetIds' | 'tags' | 'vpcEndpointType' | 'vpcId'> {
autoAccept?: Input<boolean | undefined>;
dnsOptions?: Input<VpcEndpointDnsOptions | undefined>;
ipAddressType?: Input<string | undefined>;
policy: JsonFileTemplateArgs;
region?: Input<string | undefined>;
resourceConfigurationArn?: Input<string | undefined>;
routeTableIds?: Input<Input<string>[]>;
securityGroupIds?: Input<Input<string>[]>;
serviceName: Input<string>;
serviceNetworkArn?: Input<string | undefined>;
serviceRegion?: Input<string | undefined>;
subnetConfigurations?: Input<Input<VpcEndpointSubnetConfiguration>[] | undefined>;
subnetIds?: Input<Input<string>[]>;
tags?: Input<Record<string, Input<string>>>;
type: 'gateway' | 'interface';
vpc: AwsVpcReference;
}Input arguments for the VPC endpoint capability.
Remarks
gateway endpoints require routeTableIds. interface endpoints require both subnetIds and securityGroupIds, use private DNS unconditionally, and never fall back to the VPC default security group. An endpoint policy is mandatory so the provider's unrestricted full-access default is never used.
Example
import type { AwsVpcEndpointArgs } from '@jobcloud/aws-vpc';
const endpoint: AwsVpcEndpointArgs = {
vpc: { vpcId: 'vpc-0123456789abcdef0' },
type: 'interface',
serviceName: 'com.amazonaws.eu-west-1.ecr.api',
subnetIds: ['subnet-0123456789abcdef0'],
securityGroupIds: ['sg-0123456789abcdef0'],
policy: { path: 'policies/ecr-endpoint.json' },
};Hierarchy
VpcEndpointArgs, "policy" | "privateDnsEnabled" | "routeTableIds" | "securityGroupIds" | "serviceName" | "subnetIds" | "tags" | "vpcEndpointType" | "vpcId">AwsVpcEndpointArgs
Properties
autoAccept: Input<boolean | undefined>
Inherited from autoAccept
Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
dnsOptions: Input<VpcEndpointDnsOptions | undefined>
Inherited from dnsOptions
The DNS options for the endpoint. See dnsOptions below.
ipAddressType: Input<string | undefined>
Inherited from ipAddressType
The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
policy: JsonFileTemplateArgs
Required JSON policy template; an omitted policy would grant unrestricted provider-default access.
region: Input<string | undefined>
Inherited from region
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
resourceConfigurationArn: Input<string | undefined>
Inherited from resourceConfigurationArn
The ARN of a Resource Configuration to connect this VPC Endpoint to. Exactly one of resourceConfigurationArn, serviceName or serviceNetworkArn is required.
routeTableIds: Input<Input<string>[]>
Route tables for a gateway endpoint.
securityGroupIds: Input<Input<string>[]>
Explicit security groups for an interface endpoint.
serviceName: Input<string>
AWS endpoint service name, forwarded unchanged.
serviceNetworkArn: Input<string | undefined>
Inherited from serviceNetworkArn
The ARN of a Service Network to connect this VPC Endpoint to. Exactly one of resourceConfigurationArn, serviceName or serviceNetworkArn is required.
serviceRegion: Input<string | undefined>
Inherited from serviceRegion
The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type Interface.
subnetConfigurations: Input<Input<VpcEndpointSubnetConfiguration>[] | undefined>
Inherited from subnetConfigurations
Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnetConfiguration below.
subnetIds: Input<Input<string>[]>
Subnets for an interface endpoint.
tags: Input<Record<string, Input<string>>>
Optional tags merged with the mandatory JobCloud default tags.
type: 'gateway' | 'interface'
Supported private endpoint type.
vpc: AwsVpcReference
VPC reference hosting the endpoint.