import * as core from "@terrascript/core"; export interface RegularExpressionArgs extends core.SchemaArgs { regexString: string | core.StringOut; } export class RegularExpression extends core.Schema { @core.attr(String) public regexString!: string | core.StringOut; } export interface V2RegexPatternSetArgs extends core.ResourceArgs { /** * (Optional) A friendly description of the regular expression pattern set. */ description?: string | core.StringOut; /** * (Required) A friendly name of the regular expression pattern set. */ name: string | core.StringOut; /** * (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, su * ch as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. */ regularExpression?: | core.Array | core.ArrayOut; /** * (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional applicatio * n. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the r * egion `us-east-1` (N. Virginia) on the AWS provider. */ scope: string | core.StringOut; /** * (Optional) An array of key:value pairs to associate with the resource. If configured with a provider * [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/d * ocs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined * at the provider-level. */ 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; } export class V2RegexPatternSet extends core.Resource { /** * The Amazon Resource Name (ARN) that identifies the cluster. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A friendly description of the regular expression pattern set. */ @core.attr(String) public description?: string | core.StringOut; /** * A unique identifier for the set. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String, { computed: true }) public lockToken!: string | core.StringOut; /** * (Required) A friendly name of the regular expression pattern set. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, su * ch as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. */ @core.attr(RegularExpression, { kind: "array" }) public regularExpression?: | core.Array | core.ArrayOut; /** * (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional applicatio * n. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the r * egion `us-east-1` (N. Virginia) on the AWS provider. */ @core.attr(String) public scope!: string | core.StringOut; /** * (Optional) An array of key:value pairs to associate with the resource. If configured with a provider * [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/d * ocs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined * at the provider-level. */ @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; constructor(name: string, args?: V2RegexPatternSetArgs) { super(name, "aws_wafv2_regex_pattern_set", args); } public override getNamespace(): string { return "aws_waf"; } }