// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import { PagePromise, SinglePage } from '../../core/pagination'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; export class BaseSinkholes extends APIResource { static override readonly _key: readonly ['intel', 'sinkholes'] = Object.freeze([ 'intel', 'sinkholes', ] as const); /** * Lists sinkholes owned by the account for redirecting malicious traffic. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const sinkhole of client.intel.sinkholes.list({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * })) { * // ... * } * ``` */ list(params: SinkholeListParams, options?: RequestOptions): PagePromise { const { account_id } = params; return this._client.getAPIList( path`/accounts/${account_id}/intel/sinkholes`, SinglePage, options, ); } } export class Sinkholes extends BaseSinkholes {} export type SinkholesSinglePage = SinglePage; export interface Sinkhole { /** * The unique identifier for the sinkhole. */ id?: string; /** * The account tag that owns this sinkhole. */ account_tag?: string; /** * The date and time when the sinkhole was created. */ created_on?: string; /** * The date and time when the sinkhole was last modified. */ modified_on?: string; /** * The name of the sinkhole. */ name?: string; /** * The name of the R2 bucket to store results. */ r2_bucket?: string; /** * The id of the R2 instance. */ r2_id?: string; } export interface SinkholeListParams { /** * Identifier. */ account_id: string; } export declare namespace Sinkholes { export { type Sinkhole as Sinkhole, type SinkholesSinglePage as SinkholesSinglePage, type SinkholeListParams as SinkholeListParams, }; }