UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

271 lines (233 loc) 7.05 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 IndicatorFeedsAPI from "./indicator-feeds"; import * as PermissionsAPI from "./permissions"; import { multipartFormRequestOptions } from "../../../core"; import { SinglePage } from "../../../pagination"; export class IndicatorFeeds extends APIResource { permissions: PermissionsAPI.Permissions = new PermissionsAPI.Permissions(this._client); /** * Create new indicator feed */ create( params: IndicatorFeedCreateParams, options?: Core.RequestOptions, ): Core.APIPromise<IndicatorFeedCreateResponse> { const { account_id, ...body } = params; return ( this._client.post(`/accounts/${account_id}/intel/indicator-feeds`, { body, ...options, }) as Core.APIPromise<{ result: IndicatorFeedCreateResponse }> )._thenUnwrap((obj) => obj.result); } /** * Update indicator feed data */ update( feedId: number, params: IndicatorFeedUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<IndicatorFeedUpdateResponse> { const { account_id, ...body } = params; return ( this._client.put( `/accounts/${account_id}/intel/indicator-feeds/${feedId}/snapshot`, multipartFormRequestOptions({ body, ...options }), ) as Core.APIPromise<{ result: IndicatorFeedUpdateResponse }> )._thenUnwrap((obj) => obj.result); } /** * Get indicator feeds owned by this account */ list( params: IndicatorFeedListParams, options?: Core.RequestOptions, ): Core.PagePromise<IndicatorFeedListResponsesSinglePage, IndicatorFeedListResponse> { const { account_id } = params; return this._client.getAPIList( `/accounts/${account_id}/intel/indicator-feeds`, IndicatorFeedListResponsesSinglePage, options, ); } /** * Get indicator feed data */ data( feedId: number, params: IndicatorFeedDataParams, options?: Core.RequestOptions, ): Core.APIPromise<string> { const { account_id } = params; return this._client.get(`/accounts/${account_id}/intel/indicator-feeds/${feedId}/data`, { ...options, headers: { Accept: 'text/csv', ...options?.headers }, }); } /** * Get indicator feed metadata */ get( feedId: number, params: IndicatorFeedGetParams, options?: Core.RequestOptions, ): Core.APIPromise<IndicatorFeedGetResponse> { const { account_id } = params; return ( this._client.get( `/accounts/${account_id}/intel/indicator-feeds/${feedId}`, options, ) as Core.APIPromise<{ result: IndicatorFeedGetResponse }> )._thenUnwrap((obj) => obj.result); } } export class IndicatorFeedListResponsesSinglePage extends SinglePage<IndicatorFeedListResponse> {} export interface IndicatorFeedCreateResponse { /** * The unique identifier for the indicator feed */ id?: number; /** * The date and time when the data entry was created */ created_on?: string; /** * The description of the example test */ description?: string; /** * The date and time when the data entry was last modified */ modified_on?: string; /** * The name of the indicator feed */ name?: string; } export interface IndicatorFeedUpdateResponse { /** * Feed id */ file_id?: number; /** * Name of the file unified in our system */ filename?: string; /** * Current status of upload, should be unified */ status?: string; } export interface IndicatorFeedListResponse { /** * The unique identifier for the indicator feed */ id?: number; /** * The date and time when the data entry was created */ created_on?: string; /** * The description of the example test */ description?: string; /** * The date and time when the data entry was last modified */ modified_on?: string; /** * The name of the indicator feed */ name?: string; } export type IndicatorFeedDataResponse = string; export interface IndicatorFeedGetResponse { /** * The unique identifier for the indicator feed */ id?: number; /** * The date and time when the data entry was created */ created_on?: string; /** * The description of the example test */ description?: string; /** * Status of the latest snapshot uploaded */ latest_upload_status?: 'Mirroring' | 'Unifying' | 'Loading' | 'Provisioning' | 'Complete' | 'Error'; /** * The date and time when the data entry was last modified */ modified_on?: string; /** * The name of the indicator feed */ name?: string; } export interface IndicatorFeedCreateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The description of the example test */ description?: string; /** * Body param: The name of the indicator feed */ name?: string; } export interface IndicatorFeedUpdateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The file to upload */ source?: string; } export interface IndicatorFeedListParams { /** * Identifier */ account_id: string; } export interface IndicatorFeedDataParams { /** * Identifier */ account_id: string; } export interface IndicatorFeedGetParams { /** * Identifier */ account_id: string; } export namespace IndicatorFeeds { export import IndicatorFeedCreateResponse = IndicatorFeedsAPI.IndicatorFeedCreateResponse; export import IndicatorFeedUpdateResponse = IndicatorFeedsAPI.IndicatorFeedUpdateResponse; export import IndicatorFeedListResponse = IndicatorFeedsAPI.IndicatorFeedListResponse; export import IndicatorFeedDataResponse = IndicatorFeedsAPI.IndicatorFeedDataResponse; export import IndicatorFeedGetResponse = IndicatorFeedsAPI.IndicatorFeedGetResponse; export import IndicatorFeedListResponsesSinglePage = IndicatorFeedsAPI.IndicatorFeedListResponsesSinglePage; export import IndicatorFeedCreateParams = IndicatorFeedsAPI.IndicatorFeedCreateParams; export import IndicatorFeedUpdateParams = IndicatorFeedsAPI.IndicatorFeedUpdateParams; export import IndicatorFeedListParams = IndicatorFeedsAPI.IndicatorFeedListParams; export import IndicatorFeedDataParams = IndicatorFeedsAPI.IndicatorFeedDataParams; export import IndicatorFeedGetParams = IndicatorFeedsAPI.IndicatorFeedGetParams; export import Permissions = PermissionsAPI.Permissions; export import PermissionCreateResponse = PermissionsAPI.PermissionCreateResponse; export import PermissionListResponse = PermissionsAPI.PermissionListResponse; export import PermissionDeleteResponse = PermissionsAPI.PermissionDeleteResponse; export import PermissionCreateParams = PermissionsAPI.PermissionCreateParams; export import PermissionListParams = PermissionsAPI.PermissionListParams; export import PermissionDeleteParams = PermissionsAPI.PermissionDeleteParams; }