import * as pulumi from "@pulumi/pulumi"; /** * Filter expressions that can be referenced across multiple features, e.g. Firewall Rule. The expression format is similar to [Wireshark Display Filter](https://www.wireshark.org/docs/man-pages/wireshark-filter.html). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const wordpress = new cloudflare.Filter("wordpress", { * description: "Wordpress break-in attempts that are outside of the office", * expression: "(http.request.uri.path ~ \".*wp-login.php\" or http.request.uri.path ~ \".*xmlrpc.php\") and ip.src ne 192.0.2.1", * zoneId: "d41d8cd98f00b204e9800998ecf8427e", * }); * ``` * * ## Import * * Filter can be imported using a composite ID formed of zone ID and filter ID, e.g. * * ```sh * $ pulumi import cloudflare:index/filter:Filter default d41d8cd98f00b204e9800998ecf8427e/9e107d9d372bb6826bd81d3542a419d6 * ``` * * where* `d41d8cd98f00b204e9800998ecf8427e` - zone ID * `9e107d9d372bb6826bd81d3542a419d6` - filter ID as returned by [API](https://api.cloudflare.com/#zone-firewall-filters) */ export declare class Filter extends pulumi.CustomResource { /** * Get an existing Filter 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FilterState, opts?: pulumi.CustomResourceOptions): Filter; /** * Returns true if the given object is an instance of Filter. 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 Filter; /** * A note that you can use to describe the purpose of the filter. */ readonly description: pulumi.Output; /** * The filter expression to be used. */ readonly expression: pulumi.Output; /** * Whether this filter is currently paused. Boolean value. */ readonly paused: pulumi.Output; /** * Short reference tag to quickly select related rules. */ readonly ref: pulumi.Output; /** * The DNS zone to which the Filter should be added. */ readonly zoneId: pulumi.Output; /** * Create a Filter 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: FilterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Filter resources. */ export interface FilterState { /** * A note that you can use to describe the purpose of the filter. */ description?: pulumi.Input; /** * The filter expression to be used. */ expression?: pulumi.Input; /** * Whether this filter is currently paused. Boolean value. */ paused?: pulumi.Input; /** * Short reference tag to quickly select related rules. */ ref?: pulumi.Input; /** * The DNS zone to which the Filter should be added. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Filter resource. */ export interface FilterArgs { /** * A note that you can use to describe the purpose of the filter. */ description?: pulumi.Input; /** * The filter expression to be used. */ expression: pulumi.Input; /** * Whether this filter is currently paused. Boolean value. */ paused?: pulumi.Input; /** * Short reference tag to quickly select related rules. */ ref?: pulumi.Input; /** * The DNS zone to which the Filter should be added. */ zoneId: pulumi.Input; }