import * as core from "@terrascript/core"; export interface FilterArgs extends core.SchemaArgs { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export class Filter extends core.Schema { @core.attr(String) public name!: string | core.StringOut; @core.attr(String, { kind: "array" }) public values!: core.Array | core.ArrayOut; } export interface DsEc2TransitGatewayArgs { /** * (Optional) One or more configuration blocks containing name-values filters. Detailed below. */ filter?: core.Array | core.ArrayOut; /** * (Optional) Identifier of the EC2 Transit Gateway. */ id?: string | core.StringOut; /** * Key-value tags for the EC2 Transit Gateway */ tags?: core.Map | core.MapOut; } export class DsEc2TransitGateway extends core.Data { /** * Private Autonomous System Number (ASN) for the Amazon side of a BGP session */ @core.attr(Number, { computed: true }) public amazonSideAsn!: number | core.NumberOut; /** * EC2 Transit Gateway Amazon Resource Name (ARN) */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Identifier of the default association route table */ @core.attr(String, { computed: true }) public associationDefaultRouteTableId!: string | core.StringOut; /** * Whether resource attachment requests are automatically accepted */ @core.attr(String, { computed: true }) public autoAcceptSharedAttachments!: string | core.StringOut; /** * Whether resource attachments are automatically associated with the default association route table */ @core.attr(String, { computed: true }) public defaultRouteTableAssociation!: string | core.StringOut; /** * Whether resource attachments automatically propagate routes to the default propagation route table */ @core.attr(String, { computed: true }) public defaultRouteTablePropagation!: string | core.StringOut; /** * Description of the EC2 Transit Gateway */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * Whether DNS support is enabled */ @core.attr(String, { computed: true }) public dnsSupport!: string | core.StringOut; /** * (Optional) One or more configuration blocks containing name-values filters. Detailed below. */ @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; /** * (Optional) Identifier of the EC2 Transit Gateway. */ @core.attr(String, { computed: true }) public id?: string | core.StringOut; /** * Whether Multicast support is enabled */ @core.attr(String, { computed: true }) public multicastSupport!: string | core.StringOut; /** * Identifier of the AWS account that owns the EC2 Transit Gateway */ @core.attr(String, { computed: true }) public ownerId!: string | core.StringOut; /** * Identifier of the default propagation route table */ @core.attr(String, { computed: true }) public propagationDefaultRouteTableId!: string | core.StringOut; /** * Key-value tags for the EC2 Transit Gateway */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * The list of associated CIDR blocks */ @core.attr(String, { computed: true, kind: "array" }) public transitGatewayCidrBlocks!: | core.Array | core.ArrayOut; /** * Whether VPN Equal Cost Multipath Protocol support is enabled */ @core.attr(String, { computed: true }) public vpnEcmpSupport!: string | core.StringOut; constructor(name: string, args?: DsEc2TransitGatewayArgs) { super(name, "aws_ec2_transit_gateway", args); } public override getNamespace(): string { return "aws_transit_gateway"; } }