import * as core from "@terrascript/core"; export interface RouteArgs extends core.SchemaArgs { carrierGatewayId?: string | core.StringOut; cidrBlock?: string | core.StringOut; coreNetworkArn?: string | core.StringOut; destinationPrefixListId?: string | core.StringOut; egressOnlyGatewayId?: string | core.StringOut; gatewayId?: string | core.StringOut; instanceId?: string | core.StringOut; ipv6CidrBlock?: string | core.StringOut; localGatewayId?: string | core.StringOut; natGatewayId?: string | core.StringOut; networkInterfaceId?: string | core.StringOut; transitGatewayId?: string | core.StringOut; vpcEndpointId?: string | core.StringOut; vpcPeeringConnectionId?: string | core.StringOut; } export class Route extends core.Schema { @core.attr(String) public carrierGatewayId?: string | core.StringOut; @core.attr(String) public cidrBlock?: string | core.StringOut; @core.attr(String) public coreNetworkArn?: string | core.StringOut; @core.attr(String) public destinationPrefixListId?: string | core.StringOut; @core.attr(String) public egressOnlyGatewayId?: string | core.StringOut; @core.attr(String) public gatewayId?: string | core.StringOut; @core.attr(String) public instanceId?: string | core.StringOut; @core.attr(String) public ipv6CidrBlock?: string | core.StringOut; @core.attr(String) public localGatewayId?: string | core.StringOut; @core.attr(String) public natGatewayId?: string | core.StringOut; @core.attr(String) public networkInterfaceId?: string | core.StringOut; @core.attr(String) public transitGatewayId?: string | core.StringOut; @core.attr(String) public vpcEndpointId?: string | core.StringOut; @core.attr(String) public vpcPeeringConnectionId?: string | core.StringOut; } export interface RouteTableArgs extends core.ResourceArgs { /** * (Optional) A list of virtual gateways for propagation. */ propagatingVgws?: core.Array | core.ArrayOut; /** * (Optional) A list of route objects. Their keys are documented below. This argument is processed in [ * attribute-as-blocks mode](https://www.terraform.io/docs/configuration/attr-as-blocks.html). */ route?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Required) The VPC ID. */ vpcId: string | core.StringOut; } export class RouteTable extends core.Resource { /** * The ARN of the route table. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The ID of the routing table. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The ID of the AWS account that owns the route table. */ @core.attr(String, { computed: true }) public ownerId!: string | core.StringOut; /** * (Optional) A list of virtual gateways for propagation. */ @core.attr(String, { computed: true, kind: "array" }) public propagatingVgws?: core.Array | core.ArrayOut; /** * (Optional) A list of route objects. Their keys are documented below. This argument is processed in [ * attribute-as-blocks mode](https://www.terraform.io/docs/configuration/attr-as-blocks.html). */ @core.attr(Route, { computed: true, kind: "array" }) public route?: core.Array | core.ArrayOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Required) The VPC ID. */ @core.attr(String) public vpcId!: string | core.StringOut; constructor(name: string, args?: RouteTableArgs) { super(name, "aws_route_table", args); } public override getNamespace(): string { return "aws_vpc"; } }