UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

163 lines (132 loc) 3.18 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../resource'; import * as Core from '../../core'; export class Slots extends APIResource { /** * Retrieve a list of all slots matching the specified parameters * * @example * ```ts * const slots = await client.networkInterconnects.slots.list({ * account_id: 'account_id', * }); * ``` */ list(params: SlotListParams, options?: Core.RequestOptions): Core.APIPromise<SlotListResponse> { const { account_id, ...query } = params; return this._client.get(`/accounts/${account_id}/cni/slots`, { query, ...options }); } /** * Get information about the specified slot * * @example * ```ts * const slot = await client.networkInterconnects.slots.get( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { account_id: 'account_id' }, * ); * ``` */ get(slot: string, params: SlotGetParams, options?: Core.RequestOptions): Core.APIPromise<SlotGetResponse> { const { account_id } = params; return this._client.get(`/accounts/${account_id}/cni/slots/${slot}`, options); } } export interface SlotListResponse { items: Array<SlotListResponse.Item>; next?: number | null; } export namespace SlotListResponse { export interface Item { /** * Slot ID */ id: string; facility: Item.Facility; /** * Whether the slot is occupied or not */ occupied: boolean; site: string; speed: string; /** * Customer account tag */ account?: string; } export namespace Item { export interface Facility { address: Array<string>; name: string; } } } export interface SlotGetResponse { /** * Slot ID */ id: string; facility: SlotGetResponse.Facility; /** * Whether the slot is occupied or not */ occupied: boolean; site: string; speed: string; /** * Customer account tag */ account?: string; } export namespace SlotGetResponse { export interface Facility { address: Array<string>; name: string; } } export interface SlotListParams { /** * Path param: Customer account tag */ account_id: string; /** * Query param: If specified, only show slots with the given text in their address * field */ address_contains?: string | null; /** * Query param: */ cursor?: number | null; /** * Query param: */ limit?: number | null; /** * Query param: If specified, only show slots with a specific occupied/unoccupied * state */ occupied?: boolean | null; /** * Query param: If specified, only show slots located at the given site */ site?: string | null; /** * Query param: If specified, only show slots that support the given speed */ speed?: string | null; } export interface SlotGetParams { /** * Customer account tag */ account_id: string; } export declare namespace Slots { export { type SlotListResponse as SlotListResponse, type SlotGetResponse as SlotGetResponse, type SlotListParams as SlotListParams, type SlotGetParams as SlotGetParams, }; }