import * as core from "@terrascript/core"; export interface V2IpSetArgs extends core.ResourceArgs { /** * (Required) Contains an array of strings that specify one or more IP addresses or blocks of IP addres * ses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP ve * rsions IPv4 and IPv6. */ addresses?: core.Array | core.ArrayOut; /** * (Optional) A friendly description of the IP set. */ description?: string | core.StringOut; /** * (Required) Specify IPV4 or IPV6. Valid values are `IPV4` or `IPV6`. */ ipAddressVersion: string | core.StringOut; /** * (Required) A friendly name of the IP set. */ name: string | core.StringOut; /** * (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 (N. Virginia). */ 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 V2IpSet extends core.Resource { /** * (Required) Contains an array of strings that specify one or more IP addresses or blocks of IP addres * ses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP ve * rsions IPv4 and IPv6. */ @core.attr(String, { kind: "array" }) public addresses?: core.Array | core.ArrayOut; /** * 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 IP 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; /** * (Required) Specify IPV4 or IPV6. Valid values are `IPV4` or `IPV6`. */ @core.attr(String) public ipAddressVersion!: string | core.StringOut; @core.attr(String, { computed: true }) public lockToken!: string | core.StringOut; /** * (Required) A friendly name of the IP set. */ @core.attr(String) public name!: string | core.StringOut; /** * (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 (N. Virginia). */ @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?: V2IpSetArgs) { super(name, "aws_wafv2_ip_set", args); } public override getNamespace(): string { return "aws_waf"; } }