import * as core from "@terrascript/core"; export interface CriterionArgs extends core.SchemaArgs { eq?: core.Array | core.ArrayOut; eqExactMatch?: core.Array | core.ArrayOut; field: string | core.StringOut; gt?: string | core.StringOut; gte?: string | core.StringOut; lt?: string | core.StringOut; lte?: string | core.StringOut; neq?: core.Array | core.ArrayOut; } export class Criterion extends core.Schema { @core.attr(String, { kind: "array" }) public eq?: core.Array | core.ArrayOut; @core.attr(String, { kind: "array" }) public eqExactMatch?: core.Array | core.ArrayOut; @core.attr(String) public field!: string | core.StringOut; @core.attr(String) public gt?: string | core.StringOut; @core.attr(String) public gte?: string | core.StringOut; @core.attr(String) public lt?: string | core.StringOut; @core.attr(String) public lte?: string | core.StringOut; @core.attr(String, { kind: "array" }) public neq?: core.Array | core.ArrayOut; } export interface FindingCriteriaArgs extends core.SchemaArgs { criterion?: core.Array | core.ArrayOut; } export class FindingCriteria extends core.Schema { @core.attr(Criterion, { kind: "array" }) public criterion?: core.Array | core.ArrayOut; } export interface FindingsFilterArgs extends core.ResourceArgs { /** * (Required) The action to perform on findings that meet the filter criteria (`finding_criteria`). Val * id values are: `ARCHIVE`, suppress (automatically archive) the findings; and, `NOOP`, don't perform * any action on the findings. */ action: string | core.StringOut; /** * (Optional) A custom description of the filter. The description can contain as many as 512 characters * . */ description?: string | core.StringOut; /** * (Required) The criteria to use to filter findings. */ findingCriteria: FindingCriteria; /** * (Optional) A custom name for the filter. The name must contain at least 3 characters and can contain * as many as 64 characters. If omitted, Terraform will assign a random, unique name. Conflicts with ` * name_prefix`. */ name?: string | core.StringOut; /** * (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ namePrefix?: string | core.StringOut; /** * (Optional) The position of the filter in the list of saved filters on the Amazon Macie console. This * value also determines the order in which the filter is applied to findings, relative to other filte * rs that are also applied to the findings. */ position?: number | core.NumberOut; /** * (Optional) A map of key-value pairs that specifies the tags to associate with the filter. */ tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; } export class FindingsFilter extends core.Resource { /** * (Required) The action to perform on findings that meet the filter criteria (`finding_criteria`). Val * id values are: `ARCHIVE`, suppress (automatically archive) the findings; and, `NOOP`, don't perform * any action on the findings. */ @core.attr(String) public action!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of the Findings Filter. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A custom description of the filter. The description can contain as many as 512 characters * . */ @core.attr(String) public description?: string | core.StringOut; /** * (Required) The criteria to use to filter findings. */ @core.attr(FindingCriteria) public findingCriteria!: FindingCriteria; /** * The unique identifier (ID) of the macie Findings Filter. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) A custom name for the filter. The name must contain at least 3 characters and can contain * as many as 64 characters. If omitted, Terraform will assign a random, unique name. Conflicts with ` * name_prefix`. */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ @core.attr(String, { computed: true }) public namePrefix?: string | core.StringOut; /** * (Optional) The position of the filter in the list of saved filters on the Amazon Macie console. This * value also determines the order in which the filter is applied to findings, relative to other filte * rs that are also applied to the findings. */ @core.attr(Number, { computed: true }) public position?: number | core.NumberOut; /** * (Optional) A map of key-value pairs that specifies the tags to associate with the filter. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: FindingsFilterArgs) { super(name, "aws_macie2_findings_filter", args); } public override getNamespace(): string { return "aws_macie2"; } }