UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

215 lines (178 loc) 5.16 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../../../core"; import { APIResource } from "../../../../resource"; import * as ProfilesAPI from "./profiles"; import * as CustomAPI from "./custom"; import * as PredefinedAPI from "./predefined"; import { SinglePage } from "../../../../pagination"; export class Profiles extends APIResource { custom: CustomAPI.Custom = new CustomAPI.Custom(this._client); predefined: PredefinedAPI.Predefined = new PredefinedAPI.Predefined(this._client); /** * Lists all DLP profiles in an account. */ list( params: ProfileListParams, options?: Core.RequestOptions, ): Core.PagePromise<DLPProfilesSinglePage, DLPProfiles> { const { account_id } = params; return this._client.getAPIList(`/accounts/${account_id}/dlp/profiles`, DLPProfilesSinglePage, options); } /** * Fetches a DLP profile by ID. Supports both predefined and custom profiles */ get( profileId: string, params: ProfileGetParams, options?: Core.RequestOptions, ): Core.APIPromise<ProfileGetResponse> { const { account_id } = params; return ( this._client.get(`/accounts/${account_id}/dlp/profiles/${profileId}`, options) as Core.APIPromise<{ result: ProfileGetResponse; }> )._thenUnwrap((obj) => obj.result); } } export class DLPProfilesSinglePage extends SinglePage<DLPProfiles> {} export type DLPProfiles = | PredefinedAPI.DLPPredefinedProfile | CustomAPI.DLPCustomProfile | DLPProfiles.DLPIntegrationProfile; export namespace DLPProfiles { export interface DLPIntegrationProfile { /** * The ID for this profile */ id?: string; created_at?: string; /** * The description of the profile. */ description?: string; /** * The entries for this profile. */ entries?: Array<DLPIntegrationProfile.Entry>; /** * The name of the profile. */ name?: string; /** * The type of the profile. */ type?: 'integration'; updated_at?: string; } export namespace DLPIntegrationProfile { /** * An entry derived from an integration */ export 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; /** * ID of the parent profile */ profile_id?: unknown; updated_at?: string; } } } export type ProfileGetResponse = | PredefinedAPI.DLPPredefinedProfile | CustomAPI.DLPCustomProfile | ProfileGetResponse.DLPIntegrationProfile; export namespace ProfileGetResponse { export interface DLPIntegrationProfile { /** * The ID for this profile */ id?: string; created_at?: string; /** * The description of the profile. */ description?: string; /** * The entries for this profile. */ entries?: Array<DLPIntegrationProfile.Entry>; /** * The name of the profile. */ name?: string; /** * The type of the profile. */ type?: 'integration'; updated_at?: string; } export namespace DLPIntegrationProfile { /** * An entry derived from an integration */ export 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; /** * ID of the parent profile */ profile_id?: unknown; updated_at?: string; } } } export interface ProfileListParams { /** * Identifier */ account_id: string; } export interface ProfileGetParams { /** * Identifier */ account_id: string; } export namespace Profiles { export import DLPProfiles = ProfilesAPI.DLPProfiles; export import ProfileGetResponse = ProfilesAPI.ProfileGetResponse; export import DLPProfilesSinglePage = ProfilesAPI.DLPProfilesSinglePage; export import ProfileListParams = ProfilesAPI.ProfileListParams; export import ProfileGetParams = ProfilesAPI.ProfileGetParams; export import Custom = CustomAPI.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; export import Predefined = PredefinedAPI.Predefined; export import DLPPredefinedProfile = PredefinedAPI.DLPPredefinedProfile; export import PredefinedUpdateParams = PredefinedAPI.PredefinedUpdateParams; export import PredefinedGetParams = PredefinedAPI.PredefinedGetParams; }