cloudflare
Version:
The official TypeScript library for the Cloudflare API
460 lines • 13.8 kB
text/typescript
import { APIResource } from "../../../../core/resource.mjs";
import { APIPromise } from "../../../../core/api-promise.mjs";
import { PagePromise, V4PagePaginationArray, type V4PagePaginationArrayParams } from "../../../../core/pagination.mjs";
import { RequestOptions } from "../../../../internal/request-options.mjs";
export declare class BaseContent extends APIResource {
static readonly _key: readonly ['zeroTrust', 'casb', 'posture', 'content'];
/**
* List DLP content findings
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const contentListResponse of client.zeroTrust.casb.posture.content.list(
* { account_id: '46148281d8a93d002ef242d8b0d5f9f6' },
* )) {
* // ...
* }
* ```
*/
list(params: ContentListParams, options?: RequestOptions): PagePromise<ContentListResponsesV4PagePaginationArray, ContentListResponse>;
/**
* Creates a CSV export for content and accepts optional filters in the payload.
*
* @example
* ```ts
* const response =
* await client.zeroTrust.casb.posture.content.export({
* account_id: '46148281d8a93d002ef242d8b0d5f9f6',
* dlp_profile_information: [
* {
* id: 'e91a2360-da51-4fdf-9711-bcdecd462614',
* entries: [
* {
* id: '55ba2c6c-8ef4-4b2e-9148-e75e8b6ccac1',
* name: 'Credit Card Numbers',
* profile_id:
* 'e91a2360-da51-4fdf-9711-bcdecd462614',
* },
* ],
* name: 'Financial Information',
* },
* ],
* });
* ```
*/
export(params: ContentExportParams, options?: RequestOptions): APIPromise<ContentExportResponse>;
}
export declare class Content extends BaseContent {
}
export type ContentListResponsesV4PagePaginationArray = V4PagePaginationArray<ContentListResponse>;
/**
* Content asset with DLP information.
*/
export interface ContentListResponse {
/**
* Unique identifier for the asset.
*/
asset_id: string;
/**
* Name of the asset.
*/
asset_name: string;
/**
* DLP context information for this asset.
*/
dlp_contexts: Array<ContentListResponse.DLPContext>;
/**
* Number of DLP profiles that flagged this asset.
*/
dlp_profile_count: number;
/**
* IDs of DLP profiles that flagged this asset.
*/
dlp_profile_ids: Array<string>;
/**
* Summary information about an integration.
*/
integration: ContentListResponse.Integration;
/**
* Most recent date this asset was flagged.
*/
latest_affliction_date: string;
}
export declare namespace ContentListResponse {
/**
* DLP context information for a finding.
*/
interface DLPContext {
/**
* When the DLP context was created.
*/
created: string;
/**
* DLP Entry IDs.
*/
entry_ids: Array<string>;
/**
* DLP Profile ID.
*/
profile_id: string;
/**
* When the DLP context was last updated.
*/
updated: string;
/**
* Unique identifier for the DLP context.
*/
id?: string;
/**
* When the DLP context was deleted.
*/
deleted?: string | null;
/**
* DLP Right Boundary of match context.
*/
match_context_max_extent?: number | null;
/**
* DLP Left Boundary of match context.
*/
match_context_min_extent?: number | null;
/**
* DLP Match context payload that matched the profile in question.
*/
match_context_payload?: {
[]: unknown;
} | null;
}
/**
* Summary information about an integration.
*/
interface Integration {
/**
* When entity was created.
*/
created: string;
/**
* When were the integration credentials last updated.
*/
last_hydrated: string;
/**
* Name of the integration.
*/
name: string;
/**
* The vendor-specific permissions associated with the integration.
*/
permissions: Array<string>;
/**
* Policy configuration for an integration.
*/
policy: Integration.Policy;
/**
* Current status of the integration.
*/
status: string;
/**
* Last entity was updated.
*/
updated: string;
/**
* Whether the integrations permissions can be updated.
*/
upgradable: boolean;
/**
* Information about a vendor/service provider.
*/
vendor: Integration.Vendor;
/**
* Zero Trust products associated with this integration.
*/
zt_enrollments: Array<Integration.ZtEnrollment>;
/**
* Integration ID.
*/
id?: string;
/**
* Health status of integration credentials.
*/
credential_health_status?: 'Initializing' | 'Healthy' | 'Unhealthy';
/**
* The date and time when the integration credentials will expire.
*/
credentials_expiry?: string | null;
/**
* Whether the given integration is paused by the user.
*/
is_paused?: boolean;
/**
* UI State as to whether a potential permissions upgrade has been dismissed.
*/
upgrade_dismissed?: boolean;
}
namespace Integration {
/**
* Policy configuration for an integration.
*/
interface Policy {
/**
* Policy identifier.
*/
id?: string;
/**
* OAuth client ID for the policy.
*/
client_id?: string | null;
/**
* Compliance level for the policy.
*/
compliance_level?: string;
/**
* Whether DLP is enabled for this policy.
*/
dlp_enabled?: boolean;
/**
* Link to policy documentation.
*/
link?: string | null;
/**
* Policy name.
*/
name?: string;
/**
* List of permissions included in the policy.
*/
permissions?: Array<string>;
}
/**
* Information about a vendor/service provider.
*/
interface Vendor {
/**
* The id of the vendor.
*/
id: string;
/**
* Detailed information about what kinds of issues are detected for this vendor.
*/
description: string | null;
/**
* The display name of the vendor.
*/
display_name: string;
/**
* Logo URL for the vendor.
*/
logo: string;
/**
* The name of the vendor.
*/
name: string;
/**
* Static logo URL for the vendor.
*/
static_logo: string;
/**
* The vendor's compatible Zero Trust products.
*/
zt_enrollments: Array<string>;
/**
* The policies related to the vendor.
*/
policies?: Array<{
[]: unknown;
}>;
}
/**
* Information about a Zero Trust product integration.
*/
interface ZtEnrollment {
/**
* The internal identifier of the Zero Trust Product.
*/
id?: string;
/**
* Brief description of the Zero Trust Product.
*/
description?: string;
/**
* The verbose name of the Zero Trust Product.
*/
display_name?: string;
/**
* Flag to enable/disable access to the listed integration from the corresponding
* Cloudflare product.
*/
enabled?: boolean;
}
}
}
/**
* Information about an export job.
*/
export interface ContentExportResponse {
/**
* Unique identifier for the export job.
*/
id: string;
/**
* Status of an export job.
*/
status: 'Pending' | 'Success' | 'Failure' | 'Rescheduled' | 'In-Progress';
/**
* Type of export job.
*/
type: 'finding' | 'findingInstance' | 'content' | 'remediationJob';
/**
* ID of the export-requesting user.
*/
user_id: string;
/**
* The URL by which the successfully created export can be downloaded by the end
* users.
*/
download_url?: string | null;
/**
* Contains information on errors which may have occurred during export creation.
*/
errors?: string | null;
/**
* The base name of the file that is/was generated by the export job.
*/
file_name?: string | null;
/**
* The full path of the file that is stored within external storage (currently R2).
*/
file_path?: string | null;
}
export interface ContentListParams extends V4PagePaginationArrayParams {
/**
* Path param: Cloudflare account ID for the user making the request.
*/
account_id: string;
/**
* Query param: Direction to order results.
*/
direction?: 'asc' | 'desc';
/**
* Query param: Filter by an DLP profile ID
*/
dlp_profile_id?: string;
/**
* Query param: Filter by an integration ID
*/
integration_id?: string;
/**
* Query param: Filter to view findings that occurred on or before the affliction
* date. Can be a date-time in ISO 8601 format or an epoch timestamp.
*/
max_affliction_date?: string;
/**
* Query param: Filter to view findings that occurred on or after the affliction
* date. Can be a date-time in ISO 8601 format or an epoch timestamp.
*/
min_affliction_date?: string;
/**
* Query param: Which field to use when ordering content assets.
*/
order?: 'asset_name' | 'dlp_profile_count' | 'integration_name' | 'latest_affliction_date';
/**
* Query param: A search term.
*/
search?: string;
/**
* Query param: Filter by vendor
*/
vendor?: 'ANTHROPIC' | 'AWS' | 'BITBUCKET' | 'BOX' | 'CONFLUENCE' | 'DROPBOX' | 'GITHUB' | 'GOOGLE_CLOUD_PLATFORM' | 'GOOGLE_WORKSPACE' | 'JIRA' | 'MICROSOFT' | 'MICROSOFT_INTERNAL' | 'OPENAI' | 'SALESFORCE' | 'SERVICENOW' | 'SLACK' | 'ZOOM';
}
export interface ContentExportParams {
/**
* Path param: Cloudflare account ID for the user making the request.
*/
account_id: string;
/**
* Body param: DLP profile metadata for the export.
*/
dlp_profile_information: Array<ContentExportParams.DLPProfileInformation>;
/**
* Body param: Filter by DLP profile IDs.
*/
dlp_profile_id?: Array<string>;
/**
* Body param: Filter by integration IDs.
*/
integration_id?: Array<string>;
/**
* Body param: Filter to view content flagged on or before this date.
*/
max_affliction_date?: string;
/**
* Body param: Filter to view content flagged on or after this date.
*/
min_affliction_date?: string;
/**
* Body param: Ordering specifications for the export.
*/
orders?: Array<ContentExportParams.Order>;
/**
* Body param: Search term to filter content.
*/
search?: string;
/**
* Body param: Filter by vendor types.
*/
vendors?: Array<'ANTHROPIC' | 'AWS' | 'BITBUCKET' | 'BOX' | 'CONFLUENCE' | 'DROPBOX' | 'GITHUB' | 'GOOGLE_CLOUD_PLATFORM' | 'GOOGLE_WORKSPACE' | 'JIRA' | 'MICROSOFT' | 'MICROSOFT_INTERNAL' | 'OPENAI' | 'SALESFORCE' | 'SERVICENOW' | 'SLACK' | 'ZOOM'>;
}
export declare namespace ContentExportParams {
/**
* DLP profile configuration.
*/
interface DLPProfileInformation {
/**
* Unique identifier for the DLP profile.
*/
id: string;
/**
* Entries contained within this DLP profile.
*/
entries: Array<DLPProfileInformation.Entry>;
/**
* Name of the DLP profile.
*/
name: string;
}
namespace DLPProfileInformation {
/**
* Entry within a DLP profile.
*/
interface Entry {
/**
* Unique identifier for the DLP profile entry.
*/
id: string;
/**
* Name of the DLP profile entry.
*/
name: string;
/**
* ID of the parent DLP profile.
*/
profile_id: string;
}
}
/**
* Generic ordering specification.
*/
interface Order {
/**
* Sort direction.
*/
direction: 'asc' | 'desc';
/**
* Content-specific field names for ordering.
*/
name: 'asset_name' | 'dlp_profile_count' | 'integration_name' | 'latest_affliction_date';
}
}
export declare namespace Content {
export { type ContentListResponse as ContentListResponse, type ContentExportResponse as ContentExportResponse, type ContentListResponsesV4PagePaginationArray as ContentListResponsesV4PagePaginationArray, type ContentListParams as ContentListParams, type ContentExportParams as ContentExportParams, };
}
//# sourceMappingURL=content.d.mts.map