import * as core from "@terrascript/core"; export interface EntriesArgs extends core.SchemaArgs { cidr: string | core.StringOut; description: string | core.StringOut; } export class Entries extends core.Schema { @core.attr(String, { computed: true }) public cidr!: string | core.StringOut; @core.attr(String, { computed: true }) public description!: string | core.StringOut; } 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 DsEc2ManagedPrefixListArgs { /** * (Optional) Configuration block(s) for filtering. Detailed below. */ filter?: core.Array | core.ArrayOut; /** * (Optional) The ID of the prefix list to select. */ id?: string | core.StringOut; /** * (Optional) The name of the prefix list to select. */ name?: string | core.StringOut; /** * A map of tags assigned to the resource. */ tags?: core.Map | core.MapOut; } export class DsEc2ManagedPrefixList extends core.Data { /** * The address family of the prefix list. Valid values are `IPv4` and `IPv6`. */ @core.attr(String, { computed: true }) public addressFamily!: string | core.StringOut; /** * The ARN of the selected prefix list. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The set of entries in this prefix list. Each entry is an object with `cidr` and `description`. */ @core.attr(Entries, { computed: true, kind: "array" }) public entries!: core.Array | core.ArrayOut; /** * (Optional) Configuration block(s) for filtering. Detailed below. */ @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; /** * (Optional) The ID of the prefix list to select. */ @core.attr(String, { computed: true }) public id?: string | core.StringOut; /** * When then prefix list is managed, the maximum number of entries it supports, or null otherwise. */ @core.attr(Number, { computed: true }) public maxEntries!: number | core.NumberOut; /** * (Optional) The name of the prefix list to select. */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * The Account ID of the owner of a customer-managed prefix list, or `AWS` otherwise. */ @core.attr(String, { computed: true }) public ownerId!: string | core.StringOut; /** * A map of tags assigned to the resource. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(Number, { computed: true }) public version!: number | core.NumberOut; constructor(name: string, args?: DsEc2ManagedPrefixListArgs) { super(name, "aws_ec2_managed_prefix_list", args); } public override getNamespace(): string { return "aws_vpc"; } }