cloudflare
Version:
The official TypeScript library for the Cloudflare API
158 lines (128 loc) • 3.81 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import * as Core from "../../../../core";
import { APIResource } from "../../../../resource";
import * as FleetStatusAPI from "./fleet-status";
import * as DevicesAPI from "./devices";
export class FleetStatus extends APIResource {
devices: DevicesAPI.Devices = new DevicesAPI.Devices(this._client);
/**
* List details for live (up to 60 minutes) devices using WARP
*/
live(
params: FleetStatusLiveParams,
options?: Core.RequestOptions,
): Core.APIPromise<FleetStatusLiveResponse> {
const { account_id, ...query } = params;
return (
this._client.get(`/accounts/${account_id}/dex/fleet-status/live`, {
query,
...options,
}) as Core.APIPromise<{ result: FleetStatusLiveResponse }>
)._thenUnwrap((obj) => obj.result);
}
/**
* List details for devices using WARP, up to 7 days
*/
overTime(params: FleetStatusOverTimeParams, options?: Core.RequestOptions): Core.APIPromise<void> {
const { account_id, ...query } = params;
return this._client.get(`/accounts/${account_id}/dex/fleet-status/over-time`, {
query,
...options,
headers: { Accept: '*/*', ...options?.headers },
});
}
}
export interface FleetStatusLiveResponse {
deviceStats?: FleetStatusLiveResponse.DeviceStats;
}
export namespace FleetStatusLiveResponse {
export interface DeviceStats {
byColo?: Array<DeviceStats.ByColo> | null;
byMode?: Array<DeviceStats.ByMode> | null;
byPlatform?: Array<DeviceStats.ByPlatform> | null;
byStatus?: Array<DeviceStats.ByStatus> | null;
byVersion?: Array<DeviceStats.ByVersion> | null;
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
}
export namespace DeviceStats {
export interface ByColo {
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
value?: string;
}
export interface ByMode {
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
value?: string;
}
export interface ByPlatform {
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
value?: string;
}
export interface ByStatus {
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
value?: string;
}
export interface ByVersion {
/**
* Number of unique devices
*/
uniqueDevicesTotal?: number;
value?: string;
}
}
}
export interface FleetStatusLiveParams {
/**
* Path param:
*/
account_id: string;
/**
* Query param: Number of minutes before current time
*/
since_minutes: number;
}
export interface FleetStatusOverTimeParams {
/**
* Path param:
*/
account_id: string;
/**
* Query param: Timestamp in ISO format
*/
time_end: string;
/**
* Query param: Timestamp in ISO format
*/
time_start: string;
/**
* Query param: Cloudflare colo
*/
colo?: string;
/**
* Query param: Device-specific ID, given as UUID v4
*/
device_id?: string;
}
export namespace FleetStatus {
export import FleetStatusLiveResponse = FleetStatusAPI.FleetStatusLiveResponse;
export import FleetStatusLiveParams = FleetStatusAPI.FleetStatusLiveParams;
export import FleetStatusOverTimeParams = FleetStatusAPI.FleetStatusOverTimeParams;
export import Devices = DevicesAPI.Devices;
export import DigitalExperienceMonitoringDevice = DevicesAPI.DigitalExperienceMonitoringDevice;
export import DigitalExperienceMonitoringDevicesV4PagePaginationArray = DevicesAPI.DigitalExperienceMonitoringDevicesV4PagePaginationArray;
export import DeviceListParams = DevicesAPI.DeviceListParams;
}