import { APIResource } from "../../core/resource.js"; import * as CacheReserveAPI from "./cache-reserve.js"; import { BaseCacheReserveResource, CacheReserve, CacheReserveClear, CacheReserveClearParams, CacheReserveClearResponse, CacheReserveEditParams, CacheReserveEditResponse, CacheReserveGetParams, CacheReserveGetResponse, CacheReserveResource, CacheReserveStatusParams, CacheReserveStatusResponse, State } from "./cache-reserve.js"; import * as OriginCloudRegionsAPI from "./origin-cloud-regions.js"; import { BaseOriginCloudRegions, OriginCloudRegion, OriginCloudRegionBulkDeleteParams, OriginCloudRegionBulkDeleteResponse, OriginCloudRegionBulkUpdateParams, OriginCloudRegionBulkUpdateResponse, OriginCloudRegionDeleteParams, OriginCloudRegionDeleteResponse, OriginCloudRegionGetParams, OriginCloudRegionListParams, OriginCloudRegionSupportedRegionsParams, OriginCloudRegionSupportedRegionsResponse, OriginCloudRegionUpdateParams, OriginCloudRegions, OriginCloudRegionsV4PagePaginationArray } from "./origin-cloud-regions.js"; import * as RegionalTieredCacheAPI from "./regional-tiered-cache.js"; import { BaseRegionalTieredCacheResource, RegionalTieredCache, RegionalTieredCacheEditParams, RegionalTieredCacheEditResponse, RegionalTieredCacheGetParams, RegionalTieredCacheGetResponse, RegionalTieredCacheResource } from "./regional-tiered-cache.js"; import * as SmartTieredCacheAPI from "./smart-tiered-cache.js"; import { BaseSmartTieredCache, SmartTieredCache, SmartTieredCacheCreateParams, SmartTieredCacheCreateResponse, SmartTieredCacheDeleteParams, SmartTieredCacheDeleteResponse, SmartTieredCacheEditParams, SmartTieredCacheEditResponse, SmartTieredCacheGetParams, SmartTieredCacheGetResponse } from "./smart-tiered-cache.js"; import * as VariantsAPI from "./variants.js"; import { BaseVariants, CacheVariant, VariantDeleteParams, VariantDeleteResponse, VariantEditParams, VariantEditResponse, VariantGetParams, VariantGetResponse, Variants } from "./variants.js"; import { APIPromise } from "../../core/api-promise.js"; import { RequestOptions } from "../../internal/request-options.js"; export declare class BaseCache extends APIResource { static readonly _key: readonly ['cache']; /** * ### Purge All Cached Content * * Removes ALL files from Cloudflare's cache. All tiers can purge everything. * * ``` * {"purge_everything": true} * ``` * * ### Purge Cached Content by URL * * Granularly removes one or more files from Cloudflare's cache by specifying URLs. * All tiers can purge by URL. * * To purge files with custom cache keys, include the headers used to compute the * cache key as in the example. If you have a device type or geo in your cache key, * you will need to include the CF-Device-Type or CF-IPCountry headers. If you have * lang in your cache key, you will need to include the Accept-Language header. * * **NB:** When including the Origin header, be sure to include the **scheme** and * **hostname**. The port number can be omitted if it is the default port (80 for * http, 443 for https), but must be included otherwise. * * Single file purge example with files: * * ``` * {"files": ["http://www.example.com/css/styles.css", "http://www.example.com/js/index.js"]} * ``` * * Single file purge example with url and header pairs: * * ``` * {"files": [{"url": "http://www.example.com/cat_picture.jpg", "headers": {"CF-IPCountry": "US", "CF-Device-Type": "desktop", "Accept-Language": "zh-CN"}}, {"url": "http://www.example.com/dog_picture.jpg", "headers": {"CF-IPCountry": "EU", "CF-Device-Type": "mobile", "Accept-Language": "en-US"}}]} * ``` * * ### Purge Cached Content by Tag, Host or Prefix * * Granularly removes one or more files from Cloudflare's cache either by * specifying the host, the associated Cache-Tag, or a Prefix. * * Flex purge with tags: * * ``` * {"tags": ["a-cache-tag", "another-cache-tag"]} * ``` * * Flex purge with hosts: * * ``` * {"hosts": ["www.example.com", "images.example.com"]} * ``` * * Flex purge with prefixes: * * ``` * {"prefixes": ["www.example.com/foo", "images.example.com/bar/baz"]} * ``` * * ### Availability and limits * * Please refer to * [purge cache availability and limits documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/#availability-and-limits). * * @example * ```ts * const response = await client.cache.purge({ * zone_id: '023e105f4ecef8ad9ca31a8372d0c353', * }); * ``` */ purge(params: CachePurgeParams, options?: RequestOptions): APIPromise; /** * Purge cached content scoped to a specific environment. Supports the same purge * types as the zone-level endpoint (purge everything, by URL, by tag, host, or * prefix). * * ### Availability and limits * * Please refer to * [purge cache availability and limits documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/#availability-and-limits). * * @example * ```ts * const response = await client.cache.purgeEnvironment( * '023e105f4ecef8ad9ca31a8372d0c353', * { zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ purgeEnvironment(environmentID: string, params: CachePurgeEnvironmentParams, options?: RequestOptions): APIPromise; } export declare class Cache extends BaseCache { cacheReserve: CacheReserveAPI.CacheReserveResource; smartTieredCache: SmartTieredCacheAPI.SmartTieredCache; variants: VariantsAPI.Variants; regionalTieredCache: RegionalTieredCacheAPI.RegionalTieredCacheResource; originCloudRegions: OriginCloudRegionsAPI.OriginCloudRegions; } export interface CachePurgeResponse { id: string; } export interface CachePurgeEnvironmentResponse { id: string; } export type CachePurgeParams = CachePurgeParams.CachePurgeFlexPurgeByTags | CachePurgeParams.CachePurgeFlexPurgeByHostnames | CachePurgeParams.CachePurgeFlexPurgeByPrefixes | CachePurgeParams.CachePurgeEverything | CachePurgeParams.CachePurgeSingleFile | CachePurgeParams.CachePurgeSingleFileWithURLAndHeaders; export declare namespace CachePurgeParams { interface CachePurgeFlexPurgeByTags { /** * Path param */ zone_id: string; /** * Body param: For more information on cache tags and purging by tags, please refer * to * [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/). */ tags?: Array; } interface CachePurgeFlexPurgeByHostnames { /** * Path param */ zone_id: string; /** * Body param: For more information purging by hostnames, please refer to * [purge by hostname documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-hostname/). */ hosts?: Array; } interface CachePurgeFlexPurgeByPrefixes { /** * Path param */ zone_id: string; /** * Body param: For more information on purging by prefixes, please refer to * [purge by prefix documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge_by_prefix/). */ prefixes?: Array; } interface CachePurgeEverything { /** * Path param */ zone_id: string; /** * Body param: For more information, please refer to * [purge everything documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-everything/). */ purge_everything?: boolean; } interface CachePurgeSingleFile { /** * Path param */ zone_id: string; /** * Body param: For more information on purging files, please refer to * [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/). */ files?: Array; } interface CachePurgeSingleFileWithURLAndHeaders { /** * Path param */ zone_id: string; /** * Body param: For more information on purging files with URL and headers, please * refer to * [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/). */ files?: Array; } namespace CachePurgeSingleFileWithURLAndHeaders { interface File { headers?: { [key: string]: string; }; url?: string; } } } export type CachePurgeEnvironmentParams = CachePurgeEnvironmentParams.CachePurgeFlexPurgeByTags | CachePurgeEnvironmentParams.CachePurgeFlexPurgeByHostnames | CachePurgeEnvironmentParams.CachePurgeFlexPurgeByPrefixes | CachePurgeEnvironmentParams.CachePurgeEverything | CachePurgeEnvironmentParams.CachePurgeSingleFile | CachePurgeEnvironmentParams.CachePurgeSingleFileWithURLAndHeaders; export declare namespace CachePurgeEnvironmentParams { interface CachePurgeFlexPurgeByTags { /** * Path param */ zone_id: string; /** * Body param: For more information on cache tags and purging by tags, please refer * to * [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/). */ tags?: Array; } interface CachePurgeFlexPurgeByHostnames { /** * Path param */ zone_id: string; /** * Body param: For more information purging by hostnames, please refer to * [purge by hostname documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-hostname/). */ hosts?: Array; } interface CachePurgeFlexPurgeByPrefixes { /** * Path param */ zone_id: string; /** * Body param: For more information on purging by prefixes, please refer to * [purge by prefix documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge_by_prefix/). */ prefixes?: Array; } interface CachePurgeEverything { /** * Path param */ zone_id: string; /** * Body param: For more information, please refer to * [purge everything documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-everything/). */ purge_everything?: boolean; } interface CachePurgeSingleFile { /** * Path param */ zone_id: string; /** * Body param: For more information on purging files, please refer to * [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/). */ files?: Array; } interface CachePurgeSingleFileWithURLAndHeaders { /** * Path param */ zone_id: string; /** * Body param: For more information on purging files with URL and headers, please * refer to * [purge by single-file documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/). */ files?: Array; } namespace CachePurgeSingleFileWithURLAndHeaders { interface File { headers?: { [key: string]: string; }; url?: string; } } } export declare namespace Cache { export { type CachePurgeResponse as CachePurgeResponse, type CachePurgeEnvironmentResponse as CachePurgeEnvironmentResponse, type CachePurgeParams as CachePurgeParams, type CachePurgeEnvironmentParams as CachePurgeEnvironmentParams, }; export { CacheReserveResource as CacheReserveResource, BaseCacheReserveResource as BaseCacheReserveResource, type CacheReserve as CacheReserve, type CacheReserveClear as CacheReserveClear, type State as State, type CacheReserveClearResponse as CacheReserveClearResponse, type CacheReserveEditResponse as CacheReserveEditResponse, type CacheReserveGetResponse as CacheReserveGetResponse, type CacheReserveStatusResponse as CacheReserveStatusResponse, type CacheReserveClearParams as CacheReserveClearParams, type CacheReserveEditParams as CacheReserveEditParams, type CacheReserveGetParams as CacheReserveGetParams, type CacheReserveStatusParams as CacheReserveStatusParams, }; export { SmartTieredCache as SmartTieredCache, BaseSmartTieredCache as BaseSmartTieredCache, type SmartTieredCacheCreateResponse as SmartTieredCacheCreateResponse, type SmartTieredCacheDeleteResponse as SmartTieredCacheDeleteResponse, type SmartTieredCacheEditResponse as SmartTieredCacheEditResponse, type SmartTieredCacheGetResponse as SmartTieredCacheGetResponse, type SmartTieredCacheCreateParams as SmartTieredCacheCreateParams, type SmartTieredCacheDeleteParams as SmartTieredCacheDeleteParams, type SmartTieredCacheEditParams as SmartTieredCacheEditParams, type SmartTieredCacheGetParams as SmartTieredCacheGetParams, }; export { Variants as Variants, BaseVariants as BaseVariants, type CacheVariant as CacheVariant, type VariantDeleteResponse as VariantDeleteResponse, type VariantEditResponse as VariantEditResponse, type VariantGetResponse as VariantGetResponse, type VariantDeleteParams as VariantDeleteParams, type VariantEditParams as VariantEditParams, type VariantGetParams as VariantGetParams, }; export { RegionalTieredCacheResource as RegionalTieredCacheResource, BaseRegionalTieredCacheResource as BaseRegionalTieredCacheResource, type RegionalTieredCache as RegionalTieredCache, type RegionalTieredCacheEditResponse as RegionalTieredCacheEditResponse, type RegionalTieredCacheGetResponse as RegionalTieredCacheGetResponse, type RegionalTieredCacheEditParams as RegionalTieredCacheEditParams, type RegionalTieredCacheGetParams as RegionalTieredCacheGetParams, }; export { OriginCloudRegions as OriginCloudRegions, BaseOriginCloudRegions as BaseOriginCloudRegions, type OriginCloudRegion as OriginCloudRegion, type OriginCloudRegionDeleteResponse as OriginCloudRegionDeleteResponse, type OriginCloudRegionBulkDeleteResponse as OriginCloudRegionBulkDeleteResponse, type OriginCloudRegionBulkUpdateResponse as OriginCloudRegionBulkUpdateResponse, type OriginCloudRegionSupportedRegionsResponse as OriginCloudRegionSupportedRegionsResponse, type OriginCloudRegionsV4PagePaginationArray as OriginCloudRegionsV4PagePaginationArray, type OriginCloudRegionUpdateParams as OriginCloudRegionUpdateParams, type OriginCloudRegionListParams as OriginCloudRegionListParams, type OriginCloudRegionDeleteParams as OriginCloudRegionDeleteParams, type OriginCloudRegionBulkDeleteParams as OriginCloudRegionBulkDeleteParams, type OriginCloudRegionBulkUpdateParams as OriginCloudRegionBulkUpdateParams, type OriginCloudRegionGetParams as OriginCloudRegionGetParams, type OriginCloudRegionSupportedRegionsParams as OriginCloudRegionSupportedRegionsParams, }; } //# sourceMappingURL=cache.d.ts.map