import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Provides a Cloudflare IP Firewall Access Rule resource. Access control can be applied on basis of IP addresses, IP ranges, AS numbers or countries. * * ## Import * * Records can be imported using a composite ID formed of access rule type, access rule type identifier and identifer value, e.g. * * ```sh * $ pulumi import cloudflare:index/accessRule:AccessRule default zone/cb029e245cfdd66dc8d2e570d5dd3322/d41d8cd98f00b204e9800998ecf8427e * ``` * * where* `zone` - access rule type (`account`, `zone` or `user`) * `cb029e245cfdd66dc8d2e570d5dd3322` - access rule type ID (i.e the zone ID * * or account ID you wish to target) * `d41d8cd98f00b204e9800998ecf8427e` - access rule ID as returned by * * respective API endpoint for the type you are attempting to import. */ export declare class AccessRule extends pulumi.CustomResource { /** * Get an existing AccessRule 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?: AccessRuleState, opts?: pulumi.CustomResourceOptions): AccessRule; /** * Returns true if the given object is an instance of AccessRule. 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 AccessRule; /** * Rule configuration to apply to a matched request. It's a complex value. See description below. */ readonly configuration: pulumi.Output; /** * The action to apply to a matched request. Allowed values: "block", "challenge", "whitelist", "jsChallenge", "managedChallenge" */ readonly mode: pulumi.Output; /** * A personal note about the rule. Typically used as a reminder or explanation for the rule. */ readonly notes: pulumi.Output; /** * The DNS zone to which the access rule should be added. */ readonly zoneId: pulumi.Output; /** * Create a AccessRule 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: AccessRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AccessRule resources. */ export interface AccessRuleState { /** * Rule configuration to apply to a matched request. It's a complex value. See description below. */ configuration?: pulumi.Input; /** * The action to apply to a matched request. Allowed values: "block", "challenge", "whitelist", "jsChallenge", "managedChallenge" */ mode?: pulumi.Input; /** * A personal note about the rule. Typically used as a reminder or explanation for the rule. */ notes?: pulumi.Input; /** * The DNS zone to which the access rule should be added. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a AccessRule resource. */ export interface AccessRuleArgs { /** * Rule configuration to apply to a matched request. It's a complex value. See description below. */ configuration: pulumi.Input; /** * The action to apply to a matched request. Allowed values: "block", "challenge", "whitelist", "jsChallenge", "managedChallenge" */ mode: pulumi.Input; /** * A personal note about the rule. Typically used as a reminder or explanation for the rule. */ notes?: pulumi.Input; /** * The DNS zone to which the access rule should be added. */ zoneId?: pulumi.Input; }