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

CODE
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.