import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleZeroTrustGatewayPolicy = cloudflare.getZeroTrustGatewayPolicy({ * accountId: "699d98642c564d2e855e9661899b7252", * ruleId: "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", * }); * ``` */ export declare function getZeroTrustGatewayPolicy(args: GetZeroTrustGatewayPolicyArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getZeroTrustGatewayPolicy. */ export interface GetZeroTrustGatewayPolicyArgs { accountId: string; /** * Identify the API resource with a UUID. */ ruleId: string; } /** * A collection of values returned by getZeroTrustGatewayPolicy. */ export interface GetZeroTrustGatewayPolicyResult { readonly accountId: string; /** * Specify the action to perform when the associated traffic, identity, and device posture expressions either absent or evaluate to `true`. * Available values: "on", "off", "allow", "block", "scan", "noscan", "safesearch", "ytrestricted", "isolate", "noisolate", "override", "l4Override", "egress", "resolve", "quarantine", "redirect". */ readonly action: string; readonly createdAt: string; /** * Indicate the date of deletion, if any. */ readonly deletedAt: string; /** * Specify the rule description. */ readonly description: string; /** * Specify the wirefilter expression used for device posture check. The API automatically formats and sanitizes expressions before storing them. To prevent Terraform state drift, use the formatted expression returned in the API response. */ readonly devicePosture: string; /** * Specify whether the rule is enabled. */ readonly enabled: boolean; /** * Defines the expiration time stamp and default duration of a DNS policy. Takes precedence over the policy's `schedule` configuration, if any. This does not apply to HTTP or network policies. Settable only for `dns` rules. */ readonly expiration: outputs.GetZeroTrustGatewayPolicyExpiration; /** * Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value. */ readonly filters: string[]; /** * Identify the API resource with a UUID. */ readonly id: string; /** * Specify the wirefilter expression used for identity matching. The API automatically formats and sanitizes expressions before storing them. To prevent Terraform state drift, use the formatted expression returned in the API response. */ readonly identity: string; /** * Specify the rule name. */ readonly name: string; /** * Set the order of your rules. Lower values indicate higher precedence. At each processing phase, evaluate applicable rules in ascending order of this value. Refer to Order of enforcement to manage precedence via Terraform. */ readonly precedence: number; /** * Indicate that this rule is shared via the Orgs API and read only. */ readonly readOnly: boolean; /** * Identify the API resource with a UUID. */ readonly ruleId: string; /** * Defines settings for this rule. Settings apply only to specific rule types and must use compatible selectors. If Terraform detects drift, confirm the setting supports your rule type and check whether the API modifies the value. Use API-returned values in your configuration to prevent drift. */ readonly ruleSettings: outputs.GetZeroTrustGatewayPolicyRuleSettings; /** * Defines the schedule for activating DNS policies. Settable only for `dns` and `dnsResolver` rules. */ readonly schedule: outputs.GetZeroTrustGatewayPolicySchedule; /** * Indicate that this rule is sharable via the Orgs API. */ readonly sharable: boolean; /** * Provide the account tag of the account that created the rule. */ readonly sourceAccount: string; /** * Specify the wirefilter expression used for traffic matching. The API automatically formats and sanitizes expressions before storing them. To prevent Terraform state drift, use the formatted expression returned in the API response. */ readonly traffic: string; readonly updatedAt: string; /** * Indicate the version number of the rule(read-only). */ readonly version: number; /** * Indicate a warning for a misconfigured rule, if any. */ readonly warningStatus: string; } /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleZeroTrustGatewayPolicy = cloudflare.getZeroTrustGatewayPolicy({ * accountId: "699d98642c564d2e855e9661899b7252", * ruleId: "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", * }); * ``` */ export declare function getZeroTrustGatewayPolicyOutput(args: GetZeroTrustGatewayPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getZeroTrustGatewayPolicy. */ export interface GetZeroTrustGatewayPolicyOutputArgs { accountId: pulumi.Input; /** * Identify the API resource with a UUID. */ ruleId: pulumi.Input; }