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 DsAmiIdsArgs { /** * (Optional) Limit search to users with *explicit* launch */ executableUsers?: core.Array | core.ArrayOut; /** * (Optional) One or more name/value pairs to filter off of. There */ filter?: core.Array | core.ArrayOut; /** * (Optional) A regex string to apply to the AMI list returned */ nameRegex?: string | core.StringOut; /** * (Required) List of AMI owners to limit search. At least 1 value must be specified. Valid values: an * AWS account ID, `self` (the current account), or an AWS owner alias (e.g., `amazon`, `aws-marketplac * e`, `microsoft`). */ owners: core.Array | core.ArrayOut; sortAscending?: boolean | core.BooleanOut; } export class DsAmiIds extends core.Data { /** * (Optional) Limit search to users with *explicit* launch */ @core.attr(String, { kind: "array" }) public executableUsers?: core.Array | core.ArrayOut; /** * (Optional) One or more name/value pairs to filter off of. There */ @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public ids!: core.Array | core.ArrayOut; /** * (Optional) A regex string to apply to the AMI list returned */ @core.attr(String) public nameRegex?: string | core.StringOut; /** * (Required) List of AMI owners to limit search. At least 1 value must be specified. Valid values: an * AWS account ID, `self` (the current account), or an AWS owner alias (e.g., `amazon`, `aws-marketplac * e`, `microsoft`). */ @core.attr(String, { kind: "array" }) public owners!: core.Array | core.ArrayOut; @core.attr(Boolean) public sortAscending?: boolean | core.BooleanOut; constructor(name: string, args?: DsAmiIdsArgs) { super(name, "aws_ami_ids", args); } public override getNamespace(): string { return "aws_ec2"; } }