import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually
 */
export declare class IpSet extends pulumi.CustomResource {
    /**
     * Get an existing IpSet resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): IpSet;
    /**
     * Returns true if the given object is an instance of IpSet.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is IpSet;
    /**
     * List of IPAddresses.
     */
    readonly addresses: pulumi.Output<string[]>;
    /**
     * The Amazon Resource Name (ARN) of the IP set.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The ID of the IP set.
     */
    readonly awsId: pulumi.Output<string>;
    /**
     * A description of the IP set that helps with identification.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The version of the IP addresses, either `IPV4` or `IPV6` .
     */
    readonly ipAddressVersion: pulumi.Output<enums.wafv2.IpSetIpAddressVersion>;
    /**
     * The name of the IP set. You cannot change the name of an `IPSet` after you create it.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an  REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are `CLOUDFRONT` and `REGIONAL` .
     *
     * > For `CLOUDFRONT` , you must create your WAFv2 resources in the US East (N. Virginia) Region, `us-east-1` .
     */
    readonly scope: pulumi.Output<enums.wafv2.IpSetScope>;
    /**
     * Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource.
     *
     * > To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a IpSet resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: IpSetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a IpSet resource.
 */
export interface IpSetArgs {
    /**
     * List of IPAddresses.
     */
    addresses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A description of the IP set that helps with identification.
     */
    description?: pulumi.Input<string>;
    /**
     * The version of the IP addresses, either `IPV4` or `IPV6` .
     */
    ipAddressVersion: pulumi.Input<enums.wafv2.IpSetIpAddressVersion>;
    /**
     * The name of the IP set. You cannot change the name of an `IPSet` after you create it.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an  REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are `CLOUDFRONT` and `REGIONAL` .
     *
     * > For `CLOUDFRONT` , you must create your WAFv2 resources in the US East (N. Virginia) Region, `us-east-1` .
     */
    scope: pulumi.Input<enums.wafv2.IpSetScope>;
    /**
     * Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource.
     *
     * > To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
