import * as core from "@terrascript/core"; export interface RouteArgs extends core.ResourceArgs { /** * (Optional) Identifier of a carrier gateway. This attribute can only be used when the VPC contains a * subnet which is associated with a Wavelength Zone. */ carrierGatewayId?: string | core.StringOut; /** * (Optional) The Amazon Resource Name (ARN) of a core network. */ coreNetworkArn?: string | core.StringOut; /** * (Optional) The destination CIDR block. */ destinationCidrBlock?: string | core.StringOut; /** * (Optional) The destination IPv6 CIDR block. */ destinationIpv6CidrBlock?: string | core.StringOut; /** * (Optional) The ID of a [managed prefix list](ec2_managed_prefix_list.html) destination. */ destinationPrefixListId?: string | core.StringOut; /** * (Optional) Identifier of a VPC Egress Only Internet Gateway. */ egressOnlyGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC internet gateway or a virtual private gateway. */ gatewayId?: string | core.StringOut; /** * (Optional, **Deprecated** use `network_interface_id` instead) Identifier of an EC2 instance. */ instanceId?: string | core.StringOut; /** * (Optional) Identifier of a Outpost local gateway. */ localGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC NAT gateway. */ natGatewayId?: string | core.StringOut; /** * (Optional) Identifier of an EC2 network interface. */ networkInterfaceId?: string | core.StringOut; /** * (Required) The ID of the routing table. */ routeTableId: string | core.StringOut; /** * (Optional) Identifier of an EC2 Transit Gateway. */ transitGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC Endpoint. */ vpcEndpointId?: string | core.StringOut; /** * (Optional) Identifier of a VPC peering connection. */ vpcPeeringConnectionId?: string | core.StringOut; } export class Route extends core.Resource { /** * (Optional) Identifier of a carrier gateway. This attribute can only be used when the VPC contains a * subnet which is associated with a Wavelength Zone. */ @core.attr(String) public carrierGatewayId?: string | core.StringOut; /** * (Optional) The Amazon Resource Name (ARN) of a core network. */ @core.attr(String) public coreNetworkArn?: string | core.StringOut; /** * (Optional) The destination CIDR block. */ @core.attr(String) public destinationCidrBlock?: string | core.StringOut; /** * (Optional) The destination IPv6 CIDR block. */ @core.attr(String) public destinationIpv6CidrBlock?: string | core.StringOut; /** * (Optional) The ID of a [managed prefix list](ec2_managed_prefix_list.html) destination. */ @core.attr(String) public destinationPrefixListId?: string | core.StringOut; /** * (Optional) Identifier of a VPC Egress Only Internet Gateway. */ @core.attr(String) public egressOnlyGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC internet gateway or a virtual private gateway. */ @core.attr(String) public gatewayId?: string | core.StringOut; /** * Route identifier computed from the routing table identifier and route destination. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional, **Deprecated** use `network_interface_id` instead) Identifier of an EC2 instance. */ @core.attr(String, { computed: true }) public instanceId?: string | core.StringOut; /** * The AWS account ID of the owner of the EC2 instance. */ @core.attr(String, { computed: true }) public instanceOwnerId!: string | core.StringOut; /** * (Optional) Identifier of a Outpost local gateway. */ @core.attr(String) public localGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC NAT gateway. */ @core.attr(String) public natGatewayId?: string | core.StringOut; /** * (Optional) Identifier of an EC2 network interface. */ @core.attr(String, { computed: true }) public networkInterfaceId?: string | core.StringOut; /** * How the route was created - `CreateRouteTable`, `CreateRoute` or `EnableVgwRoutePropagation`. */ @core.attr(String, { computed: true }) public origin!: string | core.StringOut; /** * (Required) The ID of the routing table. */ @core.attr(String) public routeTableId!: string | core.StringOut; /** * The state of the route - `active` or `blackhole`. */ @core.attr(String, { computed: true }) public state!: string | core.StringOut; /** * (Optional) Identifier of an EC2 Transit Gateway. */ @core.attr(String) public transitGatewayId?: string | core.StringOut; /** * (Optional) Identifier of a VPC Endpoint. */ @core.attr(String) public vpcEndpointId?: string | core.StringOut; /** * (Optional) Identifier of a VPC peering connection. */ @core.attr(String) public vpcPeeringConnectionId?: string | core.StringOut; constructor(name: string, args?: RouteArgs) { super(name, "aws_route", args); } public override getNamespace(): string { return "aws_vpc"; } }