cloudflare
Version:
The official TypeScript library for the Cloudflare API
197 lines • 6.64 kB
text/typescript
import { APIResource } from "../../../../../core/resource.mjs";
import * as TagsAPI from "./tags.mjs";
import { BaseTags, TagListParams, TagListResponse, Tags } from "./tags.mjs";
import { APIPromise } from "../../../../../core/api-promise.mjs";
import { RequestOptions } from "../../../../../internal/request-options.mjs";
export declare class BaseByDataset extends APIResource {
static readonly _key: readonly ['cloudforceOne', 'threatEvents', 'indicators', 'byDataset'];
/**
* This method is deprecated. Please use /events/indicators to retrieve a paginated
* list of indicators.
*
* @deprecated Use indicators.list instead (GET /accounts/{account_id}/cloudforce-one/events/indicators).
*/
list(datasetID: string, params: ByDatasetListParams, options?: RequestOptions): APIPromise<ByDatasetListResponse>;
/**
* Retrieves a specific indicator by its UUID.
*
* @example
* ```ts
* const byDataset =
* await client.cloudforceOne.threatEvents.indicators.byDataset.get(
* 'indicator_id',
* { account_id: 'account_id', dataset_id: 'dataset_id' },
* );
* ```
*/
get(indicatorID: string, params: ByDatasetGetParams, options?: RequestOptions): APIPromise<ByDatasetGetResponse>;
}
export declare class ByDataset extends BaseByDataset {
tags: TagsAPI.Tags;
}
export interface ByDatasetListResponse {
indicators: Array<ByDatasetListResponse.Indicator>;
pagination: ByDatasetListResponse.Pagination;
}
export declare namespace ByDatasetListResponse {
interface Indicator {
createdAt: string;
indicatorType: string;
/**
* RSS article sources from which this indicator was extracted.
*/
sources: Array<Indicator.Source>;
updatedAt: string;
uuid: string;
value: string;
/**
* The dataset ID this indicator belongs to. Included in list responses.
*/
datasetId?: string;
/**
* Related events, capped by `relatedEventsLimit` (default 2). Check
* `relatedEventsHasMore` to detect a capped list; pass `relatedEventsLimit=-1` to
* retrieve all of them.
*/
relatedEvents?: Array<Indicator.RelatedEvent>;
/**
* True when this indicator appears in more events than `relatedEvents` contains
* because `relatedEventsLimit` capped the list. Pass `relatedEventsLimit=-1` to
* retrieve every related event.
*/
relatedEventsHasMore?: boolean;
tags?: Array<Indicator.Tag>;
/**
* Traffic Light Protocol designation. UPPERCASE. Possible values: CLEAR, GREEN,
* AMBER, AMBER-STRICT, RED, PURPLE. Null when not set.
*/
tlp?: string | null;
}
namespace Indicator {
interface Source {
resourceId: string;
resourceType: 'article';
system: 'threat-signals';
/**
* Threat Signals article title; null for historical provenance without a stored
* title.
*/
title: string | null;
}
interface RelatedEvent {
datasetId: string;
eventId: string;
/**
* ISO 8601 date of the related event. Null for legacy relationships created before
* event-date tracking was added.
*/
eventDate?: string | null;
}
interface Tag {
/**
* The UUID of the tag category, or null when the tag is uncategorized.
*/
categoryId?: string | null;
categoryName?: string;
uuid?: string;
value?: string;
}
}
interface Pagination {
page: number;
pageSize: number;
totalCount: number;
totalPages: number;
}
}
export interface ByDatasetGetResponse {
createdAt: string;
indicatorType: string;
updatedAt: string;
uuid: string;
value: string;
/**
* The dataset ID this indicator belongs to. Included in list responses.
*/
datasetId?: string;
/**
* Related events, capped by `relatedEventsLimit` (default 2). Check
* `relatedEventsHasMore` to detect a capped list; pass `relatedEventsLimit=-1` to
* retrieve all of them.
*/
relatedEvents?: Array<ByDatasetGetResponse.RelatedEvent>;
/**
* True when this indicator appears in more events than `relatedEvents` contains
* because `relatedEventsLimit` capped the list. Pass `relatedEventsLimit=-1` to
* retrieve every related event.
*/
relatedEventsHasMore?: boolean;
tags?: Array<ByDatasetGetResponse.Tag>;
/**
* Traffic Light Protocol designation. UPPERCASE. Possible values: CLEAR, GREEN,
* AMBER, AMBER-STRICT, RED, PURPLE. Null when not set.
*/
tlp?: string | null;
}
export declare namespace ByDatasetGetResponse {
interface RelatedEvent {
datasetId: string;
eventId: string;
/**
* ISO 8601 date of the related event. Null for legacy relationships created before
* event-date tracking was added.
*/
eventDate?: string | null;
}
interface Tag {
/**
* The UUID of the tag category, or null when the tag is uncategorized.
*/
categoryId?: string | null;
categoryName?: string;
uuid?: string;
value?: string;
}
}
export interface ByDatasetListParams {
/**
* Path param: Account ID.
*/
account_id: string;
/**
* Query param
*/
indicatorType?: string;
/**
* Query param: Filter by indicator value (substring match)
*/
name?: string;
/**
* Query param
*/
page?: number;
/**
* Query param
*/
pageSize?: number;
/**
* Query param: Filter indicators by related event UUID(s). Multiple UUIDs can be
* provided by repeating the parameter.
*/
relatedEvent?: Array<string>;
}
export interface ByDatasetGetParams {
/**
* Account ID.
*/
account_id: string;
/**
* Dataset ID.
*/
dataset_id: string;
}
export declare namespace ByDataset {
export { type ByDatasetListResponse as ByDatasetListResponse, type ByDatasetGetResponse as ByDatasetGetResponse, type ByDatasetListParams as ByDatasetListParams, type ByDatasetGetParams as ByDatasetGetParams, };
export { Tags as Tags, BaseTags as BaseTags, type TagListResponse as TagListResponse, type TagListParams as TagListParams, };
}
//# sourceMappingURL=by-dataset.d.mts.map