import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Provides a Cloudflare Teams rule resource. Teams rules comprise secure web gateway policies. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const rule1 = new cloudflare.TeamsRule("rule1", { * accountId: "d57c3de47a013c03ca7e237dd3e61d7d", * action: "block", * description: "desc", * filters: ["http"], * name: "office", * precedence: 1, * ruleSettings: { * blockPageEnabled: true, * blockPageReason: "access not permitted", * }, * traffic: "http.request.uri == \"https://www.example.com/malicious\"", * }); * ``` * * ## Import * * Teams Rules can be imported using a composite ID formed of account ID and teams rule ID. * * ```sh * $ pulumi import cloudflare:index/teamsRule:TeamsRule rule1 cb029e245cfdd66dc8d2e570d5dd3322/d41d8cd98f00b204e9800998ecf8427e * ``` */ export declare class TeamsRule extends pulumi.CustomResource { /** * Get an existing TeamsRule 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?: TeamsRuleState, opts?: pulumi.CustomResourceOptions): TeamsRule; /** * Returns true if the given object is an instance of TeamsRule. 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 TeamsRule; /** * The account to which the teams rule should be added. */ readonly accountId: pulumi.Output; /** * The action executed by matched teams rule. */ readonly action: pulumi.Output; /** * The description of the teams rule. */ readonly description: pulumi.Output; /** * The wirefilter expression to be used for devicePosture check matching. */ readonly devicePosture: pulumi.Output; /** * Indicator of rule enablement. */ readonly enabled: pulumi.Output; /** * The protocol or layer to evaluate the traffic and identity expressions. */ readonly filters: pulumi.Output; /** * The wirefilter expression to be used for identity matching. */ readonly identity: pulumi.Output; /** * The name of the teams rule. */ readonly name: pulumi.Output; /** * The evaluation precedence of the teams rule. */ readonly precedence: pulumi.Output; /** * Additional rule settings (refer to the nested schema). */ readonly ruleSettings: pulumi.Output; /** * The wirefilter expression to be used for traffic matching. */ readonly traffic: pulumi.Output; readonly version: pulumi.Output; /** * Create a TeamsRule 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: TeamsRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TeamsRule resources. */ export interface TeamsRuleState { /** * The account to which the teams rule should be added. */ accountId?: pulumi.Input; /** * The action executed by matched teams rule. */ action?: pulumi.Input; /** * The description of the teams rule. */ description?: pulumi.Input; /** * The wirefilter expression to be used for devicePosture check matching. */ devicePosture?: pulumi.Input; /** * Indicator of rule enablement. */ enabled?: pulumi.Input; /** * The protocol or layer to evaluate the traffic and identity expressions. */ filters?: pulumi.Input[]>; /** * The wirefilter expression to be used for identity matching. */ identity?: pulumi.Input; /** * The name of the teams rule. */ name?: pulumi.Input; /** * The evaluation precedence of the teams rule. */ precedence?: pulumi.Input; /** * Additional rule settings (refer to the nested schema). */ ruleSettings?: pulumi.Input; /** * The wirefilter expression to be used for traffic matching. */ traffic?: pulumi.Input; version?: pulumi.Input; } /** * The set of arguments for constructing a TeamsRule resource. */ export interface TeamsRuleArgs { /** * The account to which the teams rule should be added. */ accountId: pulumi.Input; /** * The action executed by matched teams rule. */ action: pulumi.Input; /** * The description of the teams rule. */ description: pulumi.Input; /** * The wirefilter expression to be used for devicePosture check matching. */ devicePosture?: pulumi.Input; /** * Indicator of rule enablement. */ enabled?: pulumi.Input; /** * The protocol or layer to evaluate the traffic and identity expressions. */ filters?: pulumi.Input[]>; /** * The wirefilter expression to be used for identity matching. */ identity?: pulumi.Input; /** * The name of the teams rule. */ name: pulumi.Input; /** * The evaluation precedence of the teams rule. */ precedence: pulumi.Input; /** * Additional rule settings (refer to the nested schema). */ ruleSettings?: pulumi.Input; /** * The wirefilter expression to be used for traffic matching. */ traffic?: pulumi.Input; }