UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

116 lines 4.92 kB
import * as Core from 'cloudflare/core'; import { APIResource } from 'cloudflare/resource'; import * as RulesAPI from 'cloudflare/resources/firewall/rules'; import * as FiltersAPI from 'cloudflare/resources/filters'; import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination'; export declare class Rules extends APIResource { /** * Create one or more firewall rules. */ create(zoneIdentifier: string, body: RuleCreateParams, options?: Core.RequestOptions): Core.APIPromise<RuleCreateResponse | null>; /** * Updates an existing firewall rule. */ update(zoneIdentifier: string, id: string, body: RuleUpdateParams, options?: Core.RequestOptions): Core.APIPromise<FirewallFilterRule | null>; /** * Fetches firewall rules in a zone. You can filter the results using several * optional parameters. */ list(zoneIdentifier: string, query?: RuleListParams, options?: Core.RequestOptions): Core.PagePromise<FirewallFilterRulesV4PagePaginationArray, FirewallFilterRule>; list(zoneIdentifier: string, options?: Core.RequestOptions): Core.PagePromise<FirewallFilterRulesV4PagePaginationArray, FirewallFilterRule>; /** * Deletes an existing firewall rule. */ delete(zoneIdentifier: string, id: string, body: RuleDeleteParams, options?: Core.RequestOptions): Core.APIPromise<FirewallFilterRule | null>; /** * Updates the priority of an existing firewall rule. */ edit(zoneIdentifier: string, id: string, body: RuleEditParams, options?: Core.RequestOptions): Core.APIPromise<RuleEditResponse | null>; /** * Fetches the details of a firewall rule. */ get(zoneIdentifier: string, id: string, options?: Core.RequestOptions): Core.APIPromise<FirewallFilterRule | null>; } export declare class FirewallFilterRulesV4PagePaginationArray extends V4PagePaginationArray<FirewallFilterRule> { } export interface FirewallFilterRule { /** * The unique identifier of the firewall rule. */ id?: string; /** * The action to apply to a matched request. The `log` action is only available on * an Enterprise plan. */ action?: 'block' | 'challenge' | 'js_challenge' | 'managed_challenge' | 'allow' | 'log' | 'bypass'; /** * An informative summary of the firewall rule. */ description?: string; filter?: FiltersAPI.FirewallFilter | FirewallFilterRule.LegacyJhsDeletedFilter; /** * When true, indicates that the firewall rule is currently paused. */ paused?: boolean; /** * The priority of the rule. Optional value used to define the processing order. A * lower number indicates a higher priority. If not provided, rules with a defined * priority will be processed before rules without a priority. */ priority?: number; products?: Array<'zoneLockdown' | 'uaBlock' | 'bic' | 'hot' | 'securityLevel' | 'rateLimit' | 'waf'>; /** * A short reference tag. Allows you to select related firewall rules. */ ref?: string; } export declare namespace FirewallFilterRule { interface LegacyJhsDeletedFilter { /** * The unique identifier of the filter. */ id: string; /** * When true, indicates that the firewall rule was deleted. */ deleted: boolean; } } export type RuleCreateResponse = Array<FirewallFilterRule>; export type RuleEditResponse = Array<FirewallFilterRule>; export type RuleCreateParams = unknown; export type RuleUpdateParams = unknown; export interface RuleListParams extends V4PagePaginationArrayParams { /** * The action to search for. Must be an exact match. */ action?: string; /** * A case-insensitive string to find in the description. */ description?: string; /** * When true, indicates that the firewall rule is currently paused. */ paused?: boolean; } export interface RuleDeleteParams { /** * When true, indicates that Cloudflare should also delete the associated filter if * there are no other firewall rules referencing the filter. */ delete_filter_if_unused?: boolean; } export type RuleEditParams = unknown; export declare namespace Rules { export import FirewallFilterRule = RulesAPI.FirewallFilterRule; export import RuleCreateResponse = RulesAPI.RuleCreateResponse; export import RuleEditResponse = RulesAPI.RuleEditResponse; export import FirewallFilterRulesV4PagePaginationArray = RulesAPI.FirewallFilterRulesV4PagePaginationArray; export import RuleCreateParams = RulesAPI.RuleCreateParams; export import RuleUpdateParams = RulesAPI.RuleUpdateParams; export import RuleListParams = RulesAPI.RuleListParams; export import RuleDeleteParams = RulesAPI.RuleDeleteParams; export import RuleEditParams = RulesAPI.RuleEditParams; } //# sourceMappingURL=rules.d.ts.map