cloudflare
Version:
The official TypeScript library for the Cloudflare API
157 lines • 5.9 kB
TypeScript
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as LockdownsAPI from 'cloudflare/resources/firewall/lockdowns';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination';
export declare class Lockdowns extends APIResource {
/**
* Creates a new Zone Lockdown rule.
*/
create(zoneIdentifier: string, body: LockdownCreateParams, options?: Core.RequestOptions): Core.APIPromise<Lockdown>;
/**
* Updates an existing Zone Lockdown rule.
*/
update(zoneIdentifier: string, id: string, body: LockdownUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Lockdown>;
/**
* Fetches Zone Lockdown rules. You can filter the results using several optional
* parameters.
*/
list(zoneIdentifier: string, query?: LockdownListParams, options?: Core.RequestOptions): Core.PagePromise<LockdownsV4PagePaginationArray, Lockdown>;
list(zoneIdentifier: string, options?: Core.RequestOptions): Core.PagePromise<LockdownsV4PagePaginationArray, Lockdown>;
/**
* Deletes an existing Zone Lockdown rule.
*/
delete(zoneIdentifier: string, id: string, body: LockdownDeleteParams, options?: Core.RequestOptions): Core.APIPromise<LockdownDeleteResponse>;
/**
* Fetches the details of a Zone Lockdown rule.
*/
get(zoneIdentifier: string, id: string, options?: Core.RequestOptions): Core.APIPromise<Lockdown>;
}
export declare class LockdownsV4PagePaginationArray extends V4PagePaginationArray<Lockdown> {
}
/**
* A list of IP addresses or CIDR ranges that will be allowed to access the URLs
* specified in the Zone Lockdown rule. You can include any number of `ip` or
* `ip_range` configurations.
*/
export type Configuration = LockdownIPConfiguration | LockdownCIDRConfiguration;
export interface Lockdown {
/**
* The unique identifier of the Zone Lockdown rule.
*/
id: string;
/**
* A list of IP addresses or CIDR ranges that will be allowed to access the URLs
* specified in the Zone Lockdown rule. You can include any number of `ip` or
* `ip_range` configurations.
*/
configurations: Configuration;
/**
* The timestamp of when the rule was created.
*/
created_on: string;
/**
* An informative summary of the rule.
*/
description: string;
/**
* The timestamp of when the rule was last modified.
*/
modified_on: string;
/**
* When true, indicates that the rule is currently paused.
*/
paused: boolean;
/**
* The URLs to include in the rule definition. You can use wildcards. Each entered
* URL will be escaped before use, which means you can only use simple wildcard
* patterns.
*/
urls: Array<LockdownURL>;
}
export interface LockdownCIDRConfiguration {
/**
* The configuration target. You must set the target to `ip_range` when specifying
* an IP address range in the Zone Lockdown rule.
*/
target?: 'ip_range';
/**
* The IP address range to match. You can only use prefix lengths `/16` and `/24`.
*/
value?: string;
}
export interface LockdownIPConfiguration {
/**
* The configuration target. You must set the target to `ip` when specifying an IP
* address in the Zone Lockdown rule.
*/
target?: 'ip';
/**
* The IP address to match. This address will be compared to the IP address of
* incoming requests.
*/
value?: string;
}
export type LockdownURL = string;
export interface LockdownDeleteResponse {
/**
* The unique identifier of the Zone Lockdown rule.
*/
id?: string;
}
export type LockdownCreateParams = unknown;
export type LockdownUpdateParams = unknown;
export interface LockdownListParams extends V4PagePaginationArrayParams {
/**
* The timestamp of when the rule was created.
*/
created_on?: string;
/**
* A string to search for in the description of existing rules.
*/
description?: string;
/**
* A string to search for in the description of existing rules.
*/
description_search?: string;
/**
* A single IP address to search for in existing rules.
*/
ip?: string;
/**
* A single IP address range to search for in existing rules.
*/
ip_range_search?: string;
/**
* A single IP address to search for in existing rules.
*/
ip_search?: string;
/**
* The timestamp of when the rule was last modified.
*/
modified_on?: string;
/**
* The priority of the rule to control the processing order. A lower number
* indicates higher priority. If not provided, any rules with a configured priority
* will be processed before rules without a priority.
*/
priority?: number;
/**
* A single URI to search for in the list of URLs of existing rules.
*/
uri_search?: string;
}
export type LockdownDeleteParams = unknown;
export declare namespace Lockdowns {
export import Configuration = LockdownsAPI.Configuration;
export import Lockdown = LockdownsAPI.Lockdown;
export import LockdownCIDRConfiguration = LockdownsAPI.LockdownCIDRConfiguration;
export import LockdownIPConfiguration = LockdownsAPI.LockdownIPConfiguration;
export import LockdownURL = LockdownsAPI.LockdownURL;
export import LockdownDeleteResponse = LockdownsAPI.LockdownDeleteResponse;
export import LockdownsV4PagePaginationArray = LockdownsAPI.LockdownsV4PagePaginationArray;
export import LockdownCreateParams = LockdownsAPI.LockdownCreateParams;
export import LockdownUpdateParams = LockdownsAPI.LockdownUpdateParams;
export import LockdownListParams = LockdownsAPI.LockdownListParams;
export import LockdownDeleteParams = LockdownsAPI.LockdownDeleteParams;
}
//# sourceMappingURL=lockdowns.d.ts.map