cloudflare
Version:
The official TypeScript library for the Cloudflare API
376 lines • 11.1 kB
TypeScript
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