cloudflare
Version:
The official TypeScript library for the Cloudflare API
228 lines • 8.53 kB
text/typescript
import { APIResource } from "../../../core/resource.mjs";
import * as IssuesAPI from "../../intel/attack-surface-report/issues.mjs";
import * as AuditLogsAPI from "./audit-logs.mjs";
import { AuditLogListByInsightParams, AuditLogListByInsightResponse, AuditLogListByInsightResponsesCursorPagination, AuditLogListParams, AuditLogListResponse, AuditLogListResponsesCursorPagination, AuditLogs, BaseAuditLogs } from "./audit-logs.mjs";
import * as ClassAPI from "./class.mjs";
import { BaseClass, Class, ClassGetParams, ClassGetResponse } from "./class.mjs";
import * as ClassificationAPI from "./classification.mjs";
import { BaseClassification, Classification, ClassificationUpdateParams, ClassificationUpdateResponse } from "./classification.mjs";
import * as ContextAPI from "./context.mjs";
import { BaseContext, Context, ContextGetParams, ContextGetResponse } from "./context.mjs";
import * as SeverityAPI from "./severity.mjs";
import { BaseSeverity, Severity, SeverityGetParams, SeverityGetResponse } from "./severity.mjs";
import * as TypeAPI from "./type.mjs";
import { BaseType, Type, TypeGetParams, TypeGetResponse } from "./type.mjs";
import { APIPromise } from "../../../core/api-promise.mjs";
import { PagePromise, V4PagePagination, type V4PagePaginationParams } from "../../../core/pagination.mjs";
import { RequestOptions } from "../../../internal/request-options.mjs";
export declare class BaseInsights extends APIResource {
static readonly _key: readonly ['securityCenter', 'insights'];
/**
* Lists all Security Center insights for the account or zone, showing security
* findings and recommendations.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const insightListResponse of client.securityCenter.insights.list(
* { account_id: 'account_id' },
* )) {
* // ...
* }
* ```
*/
list(params?: InsightListParams | null | undefined, options?: RequestOptions): PagePromise<InsightListResponsesV4PagePagination, InsightListResponse>;
/**
* Archives a Security Center insight for an account or zone, removing it from the
* active insights list while preserving historical data.
*
* @example
* ```ts
* const response =
* await client.securityCenter.insights.dismiss('issue_id', {
* account_id: 'account_id',
* });
* ```
*/
dismiss(issueID: string, params: InsightDismissParams, options?: RequestOptions): APIPromise<InsightDismissResponse>;
}
export declare class Insights extends BaseInsights {
class: ClassAPI.Class;
severity: SeverityAPI.Severity;
type: TypeAPI.Type;
auditLogs: AuditLogsAPI.AuditLogs;
classification: ClassificationAPI.Classification;
context: ContextAPI.Context;
}
export type InsightListResponsesV4PagePagination = V4PagePagination<InsightListResponse>;
export interface InsightListResponse {
/**
* Indicates the total number of results.
*/
count?: number;
issues?: Array<InsightListResponse.Issue>;
/**
* Specifies the current page within paginated list of results.
*/
page?: number;
/**
* Sets the number of results per page of results.
*/
per_page?: number;
}
export declare namespace InsightListResponse {
interface Issue {
id?: string;
dismissed?: boolean;
/**
* Indicates whether the insight has a large payload that requires fetching via the
* context endpoint.
*/
has_extended_context?: boolean;
issue_class?: string;
issue_type?: IssuesAPI.IssueType;
payload?: Issue.Payload;
resolve_link?: string;
resolve_text?: string;
severity?: 'Low' | 'Moderate' | 'Critical';
since?: string;
/**
* The current status of the insight.
*/
status?: 'active' | 'resolved';
subject?: string;
timestamp?: string;
/**
* User-defined classification for the insight. Can be 'false_positive',
* 'accept_risk', 'other', or null.
*/
user_classification?: 'false_positive' | 'accept_risk' | 'other' | null;
}
namespace Issue {
interface Payload {
/**
* Describes the method used to detect insight.
*/
detection_method?: string;
zone_tag?: string;
}
}
}
export interface InsightDismissResponse {
errors: Array<InsightDismissResponse.Error>;
messages: Array<InsightDismissResponse.Message>;
/**
* Whether the API call was successful.
*/
success: true;
}
export declare namespace InsightDismissResponse {
interface Error {
code: number;
message: string;
documentation_url?: string;
source?: Error.Source;
}
namespace Error {
interface Source {
pointer?: string;
}
}
interface Message {
code: number;
message: string;
documentation_url?: string;
source?: Message.Source;
}
namespace Message {
interface Source {
pointer?: string;
}
}
}
export interface InsightListParams extends V4PagePaginationParams {
/**
* Path param: The Account ID to use for this endpoint. Mutually exclusive with the
* Zone ID.
*/
account_id?: string;
/**
* Path param: The Zone ID to use for this endpoint. Mutually exclusive with the
* Account ID.
*/
zone_id?: string;
/**
* Query param
*/
dismissed?: boolean;
/**
* Query param
*/
issue_class?: Array<string>;
/**
* Query param
*/
'issue_class~neq'?: Array<string>;
/**
* Query param
*/
issue_type?: Array<IssuesAPI.IssueTypeParam>;
/**
* Query param
*/
'issue_type~neq'?: Array<IssuesAPI.IssueTypeParam>;
/**
* Query param
*/
product?: Array<string>;
/**
* Query param
*/
'product~neq'?: Array<string>;
/**
* Query param
*/
severity?: Array<IssuesAPI.SeverityQueryParamParam>;
/**
* Query param
*/
'severity~neq'?: Array<IssuesAPI.SeverityQueryParamParam>;
/**
* Query param
*/
source?: Array<'cloudflare' | 'riskrecon'>;
/**
* Query param
*/
subject?: Array<string>;
/**
* Query param
*/
'subject~neq'?: Array<string>;
}
export interface InsightDismissParams {
/**
* Path param: The Account ID to use for this endpoint. Mutually exclusive with the
* Zone ID.
*/
account_id?: string;
/**
* Path param: The Zone ID to use for this endpoint. Mutually exclusive with the
* Account ID.
*/
zone_id?: string;
/**
* Body param
*/
dismiss?: boolean;
}
export declare namespace Insights {
export { type InsightListResponse as InsightListResponse, type InsightDismissResponse as InsightDismissResponse, type InsightListResponsesV4PagePagination as InsightListResponsesV4PagePagination, type InsightListParams as InsightListParams, type InsightDismissParams as InsightDismissParams, };
export { Class as Class, BaseClass as BaseClass, type ClassGetResponse as ClassGetResponse, type ClassGetParams as ClassGetParams, };
export { Severity as Severity, BaseSeverity as BaseSeverity, type SeverityGetResponse as SeverityGetResponse, type SeverityGetParams as SeverityGetParams, };
export { Type as Type, BaseType as BaseType, type TypeGetResponse as TypeGetResponse, type TypeGetParams as TypeGetParams, };
export { AuditLogs as AuditLogs, BaseAuditLogs as BaseAuditLogs, type AuditLogListResponse as AuditLogListResponse, type AuditLogListByInsightResponse as AuditLogListByInsightResponse, type AuditLogListResponsesCursorPagination as AuditLogListResponsesCursorPagination, type AuditLogListByInsightResponsesCursorPagination as AuditLogListByInsightResponsesCursorPagination, type AuditLogListParams as AuditLogListParams, type AuditLogListByInsightParams as AuditLogListByInsightParams, };
export { Classification as Classification, BaseClassification as BaseClassification, type ClassificationUpdateResponse as ClassificationUpdateResponse, type ClassificationUpdateParams as ClassificationUpdateParams, };
export { Context as Context, BaseContext as BaseContext, type ContextGetResponse as ContextGetResponse, type ContextGetParams as ContextGetParams, };
}
//# sourceMappingURL=insights.d.mts.map