# VpcLookupOptions

Properties for looking up an existing VPC.

The combination of properties must specify filter down to exactly one
non-default VPC, otherwise an error is raised.

- Source: [`aws-ec2/lib/vpc-lookup.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-ec2/lib/vpc-lookup.ts#L7)
- Type last changed: v2.73.0 · 6 Apr 2023

## Example

```ts
const vpc = ec2.Vpc.fromLookup(this, 'Vpc', {
  isDefault: true,
});
const cluster = new ecs.Cluster(this, 'ECSCluster', { vpc });

const taskDefinition = new ecs.TaskDefinition(this, 'TD', {
  compatibility: ecs.Compatibility.EC2,
});

taskDefinition.addContainer('TheContainer', {
  image: ecs.ContainerImage.fromRegistry('foo/bar'),
  memoryLimitMiB: 256,
});

const runTask = new tasks.EcsRunTask(this, 'Run', {
  integrationPattern: sfn.IntegrationPattern.RUN_JOB,
  cluster,
  taskDefinition,
  launchTarget: new tasks.EcsEc2LaunchTarget(),
  enableExecuteCommand: true,
});
```

## Properties

- `isDefault`: boolean — Whether to match the default VPC.

  **Default:** Don't care whether we return the default VPC

- `ownerAccountId`: string — The ID of the AWS account that owns the VPC.

  **Default:** the account id of the parent stack

- `region`: string — Optional to override inferred region.

  **Default:** Current stack's environment region

- `returnVpnGateways`: boolean = true — Whether to look up whether a VPN Gateway is attached to the looked up VPC.

  You can set this to `false` if you know the VPC does not have a VPN Gateway
  attached, in order to avoid an API call.

  If you change this property from `false` to `true` or undefined, you may
  need to clear the corresponding context entry in `cdk.context.json` in
  order to trigger a new lookup.

- `subnetGroupNameTag`: string = aws-cdk:subnet-name — Optional tag for subnet group name.

  If not provided, we'll look at the aws-cdk:subnet-name tag.
  If the subnet does not have the specified tag,
  we'll use its type as the name.

- `tags`: { [key: string]: string } — Tags on the VPC.

  **Default:** Don't filter on tags

  The VPC must have all of these tags

- `vpcId`: string — The ID of the VPC.

  **Default:** Don't filter on vpcId

  If given, will import exactly this VPC.

- `vpcName`: string — The name of the VPC.

  **Default:** Don't filter on vpcName

  If given, will import the VPC with this name.
