// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import { PagePromise, V4PagePagination, type V4PagePaginationParams } from '../../core/pagination'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; export class BaseDNS extends APIResource { static override readonly _key: readonly ['intel', 'dns'] = Object.freeze(['intel', 'dns'] as const); /** * Gets a list of all the domains that have resolved to a specific IP address. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const dns of client.intel.dns.list({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * })) { * // ... * } * ``` */ list(params: DNSListParams, options?: RequestOptions): PagePromise { const { account_id, ...query } = params; return this._client.getAPIList(path`/accounts/${account_id}/intel/dns`, V4PagePagination, { query, ...options, }); } } export class DNS extends BaseDNS {} export type DNSV4PagePagination = V4PagePagination; export interface DNS { /** * Total results returned based on your search parameters. */ count?: number; /** * Current page within paginated list of results. */ page?: number; /** * Number of results per page of results. */ per_page?: number; /** * Reverse DNS look-ups observed during the time period. */ reverse_records?: Array; } export namespace DNS { export interface ReverseRecord { /** * First seen date of the DNS record during the time period. */ first_seen?: string; /** * Hostname that the IP was observed resolving to. */ hostname?: string; /** * Last seen date of the DNS record during the time period. */ last_seen?: string; } } export interface DNSListParams extends V4PagePaginationParams { /** * Path param: Identifier. */ account_id: string; /** * Query param */ ipv4?: string; /** * Query param */ start_end_params?: DNSListParams.StartEndParams; } export namespace DNSListParams { export interface StartEndParams { /** * Defaults to the current date. */ end?: string; /** * Defaults to 30 days before the end parameter value. */ start?: string; } } export declare namespace DNS { export { type DNS as DNS, type DNSV4PagePagination as DNSV4PagePagination, type DNSListParams as DNSListParams, }; }