UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

376 lines 11.1 kB
import * as Core from 'cloudflare/core'; import { APIResource } from 'cloudflare/resource'; import * as CustomAPI from 'cloudflare/resources/zero-trust/dlp/profiles/custom'; export declare class Custom extends APIResource { /** * Creates a set of DLP custom profiles. */ create(params: CustomCreateParams, options?: Core.RequestOptions): Core.APIPromise<CustomCreateResponse | null>; /** * Updates a DLP custom profile. */ update(profileId: string, params: CustomUpdateParams, options?: Core.RequestOptions): Core.APIPromise<DLPCustomProfile>; /** * Deletes a DLP custom profile. */ delete(profileId: string, params: CustomDeleteParams, options?: Core.RequestOptions): Core.APIPromise<CustomDeleteResponse>; /** * Fetches a custom DLP profile. */ get(profileId: string, params: CustomGetParams, options?: Core.RequestOptions): Core.APIPromise<DLPCustomProfile>; } export interface DLPCustomProfile { /** * The ID for this profile */ id?: string; /** * Related DLP policies will trigger when the match count exceeds the number set. */ allowed_match_count?: number; /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ context_awareness?: DLPCustomProfile.ContextAwareness; created_at?: string; /** * The description of the profile. */ description?: string; /** * The entries for this profile. */ entries?: Array<DLPCustomProfile.Entry>; /** * The name of the profile. */ name?: string; /** * If true, scan images via OCR to determine if any text present matches filters. */ ocr_enabled?: boolean; /** * The type of the profile. */ type?: 'custom'; updated_at?: string; } export declare namespace DLPCustomProfile { /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ interface ContextAwareness { /** * If true, scan the context of predefined entries to only return matches * surrounded by keywords. */ enabled: boolean; /** * Content types to exclude from context analysis and return all matches. */ skip: ContextAwareness.Skip; } namespace ContextAwareness { /** * Content types to exclude from context analysis and return all matches. */ interface Skip { /** * If the content type is a file, skip context analysis and return all matches. */ files: boolean; } } /** * A custom entry that matches a profile */ interface Entry { /** * The ID for this entry */ id?: string; created_at?: string; /** * Whether the entry is enabled or not. */ enabled?: boolean; /** * The name of the entry. */ name?: string; /** * A pattern that matches an entry */ pattern?: Entry.Pattern; /** * ID of the parent profile */ profile_id?: unknown; updated_at?: string; } namespace Entry { /** * A pattern that matches an entry */ interface Pattern { /** * The regex pattern. */ regex: string; /** * Validation algorithm for the pattern. This algorithm will get run on potential * matches, and if it returns false, the entry will not be matched. */ validation?: 'luhn'; } } } export type CustomCreateResponse = Array<DLPCustomProfile>; export type CustomDeleteResponse = unknown | string | null; export interface CustomCreateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: */ profiles: Array<CustomCreateParams.Profile>; } export declare namespace CustomCreateParams { interface Profile { /** * Related DLP policies will trigger when the match count exceeds the number set. */ allowed_match_count?: number; /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ context_awareness?: Profile.ContextAwareness; /** * The description of the profile. */ description?: string; /** * The entries for this profile. */ entries?: Array<Profile.Entry>; /** * The name of the profile. */ name?: string; /** * If true, scan images via OCR to determine if any text present matches filters. */ ocr_enabled?: boolean; } namespace Profile { /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ interface ContextAwareness { /** * If true, scan the context of predefined entries to only return matches * surrounded by keywords. */ enabled: boolean; /** * Content types to exclude from context analysis and return all matches. */ skip: ContextAwareness.Skip; } namespace ContextAwareness { /** * Content types to exclude from context analysis and return all matches. */ interface Skip { /** * If the content type is a file, skip context analysis and return all matches. */ files: boolean; } } /** * A custom entry create payload */ interface Entry { /** * Whether the entry is enabled or not. */ enabled: boolean; /** * The name of the entry. */ name: string; /** * A pattern that matches an entry */ pattern: Entry.Pattern; } namespace Entry { /** * A pattern that matches an entry */ interface Pattern { /** * The regex pattern. */ regex: string; /** * Validation algorithm for the pattern. This algorithm will get run on potential * matches, and if it returns false, the entry will not be matched. */ validation?: 'luhn'; } } } } export interface CustomUpdateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: Related DLP policies will trigger when the match count exceeds the * number set. */ allowed_match_count?: number; /** * Body param: Scan the context of predefined entries to only return matches * surrounded by keywords. */ context_awareness?: CustomUpdateParams.ContextAwareness; /** * Body param: The description of the profile. */ description?: string; /** * Body param: The custom entries for this profile. Array elements with IDs are * modifying the existing entry with that ID. Elements without ID will create new * entries. Any entry not in the list will be deleted. */ entries?: Array<CustomUpdateParams.Entry>; /** * Body param: The name of the profile. */ name?: string; /** * Body param: If true, scan images via OCR to determine if any text present * matches filters. */ ocr_enabled?: boolean; /** * Body param: Entries from other profiles (e.g. pre-defined Cloudflare profiles, * or your Microsoft Information Protection profiles). */ shared_entries?: Array<CustomUpdateParams.DLPSharedEntryUpdatePredefined | CustomUpdateParams.DLPSharedEntryUpdateIntegration>; } export declare namespace CustomUpdateParams { /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ interface ContextAwareness { /** * If true, scan the context of predefined entries to only return matches * surrounded by keywords. */ enabled: boolean; /** * Content types to exclude from context analysis and return all matches. */ skip: ContextAwareness.Skip; } namespace ContextAwareness { /** * Content types to exclude from context analysis and return all matches. */ interface Skip { /** * If the content type is a file, skip context analysis and return all matches. */ files: boolean; } } /** * A custom entry that matches a profile */ interface Entry { /** * Whether the entry is enabled or not. */ enabled?: boolean; /** * The name of the entry. */ name?: string; /** * A pattern that matches an entry */ pattern?: Entry.Pattern; /** * ID of the parent profile */ profile_id?: unknown; } namespace Entry { /** * A pattern that matches an entry */ interface Pattern { /** * The regex pattern. */ regex: string; /** * Validation algorithm for the pattern. This algorithm will get run on potential * matches, and if it returns false, the entry will not be matched. */ validation?: 'luhn'; } } /** * Properties of a predefined entry in a custom profile */ interface DLPSharedEntryUpdatePredefined { /** * Whether the entry is enabled or not. */ enabled?: boolean; } /** * Properties of an integration entry in a custom profile */ interface DLPSharedEntryUpdateIntegration { /** * Whether the entry is enabled or not. */ enabled?: boolean; } } export interface CustomDeleteParams { /** * Identifier */ account_id: string; } export interface CustomGetParams { /** * Identifier */ account_id: string; } export declare namespace Custom { export import DLPCustomProfile = CustomAPI.DLPCustomProfile; export import CustomCreateResponse = CustomAPI.CustomCreateResponse; export import CustomDeleteResponse = CustomAPI.CustomDeleteResponse; export import CustomCreateParams = CustomAPI.CustomCreateParams; export import CustomUpdateParams = CustomAPI.CustomUpdateParams; export import CustomDeleteParams = CustomAPI.CustomDeleteParams; export import CustomGetParams = CustomAPI.CustomGetParams; } //# sourceMappingURL=custom.d.ts.map