UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

239 lines (177 loc) 4.59 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../../resource'; import * as Core from '../../../../core'; import * as CustomAPI from './custom'; import * as ProfilesAPI from './profiles'; export class Predefined extends APIResource { /** * Updates a DLP predefined profile. Only supports enabling/disabling entries. */ update( profileId: string, params: PredefinedUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<ProfilesAPI.Profile> { const { account_id, ...body } = params; return ( this._client.put(`/accounts/${account_id}/dlp/profiles/predefined/${profileId}`, { body, ...options, }) as Core.APIPromise<{ result: ProfilesAPI.Profile }> )._thenUnwrap((obj) => obj.result); } /** * Fetches a predefined DLP profile by id. */ get( profileId: string, params: PredefinedGetParams, options?: Core.RequestOptions, ): Core.APIPromise<ProfilesAPI.Profile> { const { account_id } = params; return ( this._client.get( `/accounts/${account_id}/dlp/profiles/predefined/${profileId}`, options, ) as Core.APIPromise<{ result: ProfilesAPI.Profile }> )._thenUnwrap((obj) => obj.result); } } export interface PredefinedProfile { /** * The id of the predefined profile (uuid) */ id: string; allowed_match_count: number; entries: Array< | PredefinedProfile.CustomEntry | PredefinedProfile.PredefinedEntry | PredefinedProfile.IntegrationEntry | PredefinedProfile.ExactDataEntry | PredefinedProfile.WordListEntry >; /** * The name of the predefined profile */ name: string; ai_context_enabled?: boolean; confidence_threshold?: 'low' | 'medium' | 'high' | 'very_high'; /** * Scan the context of predefined entries to only return matches surrounded by * keywords. */ context_awareness?: ProfilesAPI.ContextAwareness; ocr_enabled?: boolean; /** * Whether this profile can be accessed by anyone */ open_access?: boolean; } export namespace PredefinedProfile { export interface CustomEntry { id: string; created_at: string; enabled: boolean; name: string; pattern: CustomAPI.Pattern; type: 'custom'; updated_at: string; profile_id?: string | null; } export interface PredefinedEntry { id: string; confidence: PredefinedEntry.Confidence; enabled: boolean; name: string; type: 'predefined'; profile_id?: string | null; } export namespace PredefinedEntry { export interface Confidence { /** * Indicates whether this entry has AI remote service validation */ ai_context_available: boolean; /** * Indicates whether this entry has any form of validation that is not an AI remote * service */ available: boolean; } } export interface IntegrationEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'integration'; updated_at: string; profile_id?: string | null; } export interface ExactDataEntry { id: string; created_at: string; enabled: boolean; name: string; secret: boolean; type: 'exact_data'; updated_at: string; } export interface WordListEntry { id: string; created_at: string; enabled: boolean; name: string; type: 'word_list'; updated_at: string; word_list: unknown; profile_id?: string | null; } } export interface PredefinedUpdateParams { /** * Path param: */ account_id: string; /** * Body param: */ entries: Array<PredefinedUpdateParams.Entry>; /** * Body param: */ ai_context_enabled?: boolean; /** * Body param: */ allowed_match_count?: number | null; /** * Body param: */ confidence_threshold?: string | null; /** * Body param: Scan the context of predefined entries to only return matches * surrounded by keywords. */ context_awareness?: ProfilesAPI.ContextAwarenessParam; /** * Body param: */ ocr_enabled?: boolean; } export namespace PredefinedUpdateParams { export interface Entry { id: string; enabled: boolean; } } export interface PredefinedGetParams { account_id: string; } export declare namespace Predefined { export { type PredefinedProfile as PredefinedProfile, type PredefinedUpdateParams as PredefinedUpdateParams, type PredefinedGetParams as PredefinedGetParams, }; }