cloudflare
Version:
The official TypeScript library for the Cloudflare API
158 lines (135 loc) • 3.52 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import * as Core from "../../../../core";
import { APIResource } from "../../../../resource";
import * as PredefinedAPI from "./predefined";
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<PredefinedProfile> {
const { account_id, ...body } = params;
return this._client.put(`/accounts/${account_id}/dlp/profiles/predefined/${profileId}`, {
body,
...options,
});
}
/**
* Fetches a predefined DLP profile.
*/
get(
profileId: string,
params: PredefinedGetParams,
options?: Core.RequestOptions,
): Core.APIPromise<PredefinedProfile> {
const { account_id } = params;
return (
this._client.get(
`/accounts/${account_id}/dlp/profiles/predefined/${profileId}`,
options,
) as Core.APIPromise<{ result: PredefinedProfile }>
)._thenUnwrap((obj) => obj.result);
}
}
export interface PredefinedProfile {
/**
* 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?: ProfilesAPI.ContextAwareness;
/**
* The entries for this profile.
*/
entries?: Array<PredefinedProfile.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?: 'predefined';
}
export namespace PredefinedProfile {
/**
* A predefined entry that matches a profile
*/
export interface Entry {
/**
* The ID for this entry
*/
id?: string;
/**
* Whether the entry is enabled or not.
*/
enabled?: boolean;
/**
* The name of the entry.
*/
name?: string;
/**
* ID of the parent profile
*/
profile_id?: unknown;
}
}
export interface PredefinedUpdateParams {
/**
* 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?: ProfilesAPI.ContextAwareness;
/**
* Body param: The entries for this profile.
*/
entries?: Array<PredefinedUpdateParams.Entry>;
/**
* Body param: If true, scan images via OCR to determine if any text present
* matches filters.
*/
ocr_enabled?: boolean;
}
export namespace PredefinedUpdateParams {
export interface Entry {
/**
* Whether the entry is enabled or not.
*/
enabled?: boolean;
}
}
export interface PredefinedGetParams {
/**
* Identifier
*/
account_id: string;
}
export namespace Predefined {
export import PredefinedProfile = PredefinedAPI.PredefinedProfile;
export import PredefinedUpdateParams = PredefinedAPI.PredefinedUpdateParams;
export import PredefinedGetParams = PredefinedAPI.PredefinedGetParams;
}