// DO NOT EDIT. This file is automatically generated.

export interface MeetingPoint {
	PodName: string;
	Port: number;
	Username: string;
	MachineID: string;
	LastUpdated: string;
}

export interface Pod {
	Name: string;
	LastUpdated: string;
}

export interface SetNoteRequest {
	Message: string;
}

export interface SupplyChromeOSRequest {
	SSHUserIP: string;
	SuppliedDimensions: SwarmingDimensions;
}

export interface SetAttachedDevice {
	AttachedDevice: AttachedDevice;
}

export interface Annotation {
	Message: string;
	User: string;
	Timestamp: string;
}

export interface FrontendDescription {
	Mode: Mode;
	AttachedDevice: AttachedDevice;
	Annotation: Annotation;
	Note: Annotation;
	Version: string;
	PowerCycle: boolean;
	PowerCycleState: PowerCycleState;
	LastUpdated: string;
	Battery: number;
	Temperature: { [key: string]: number };
	RunningSwarmingTask: boolean;
	LaunchedSwarming: boolean;
	DeviceUptime: number;
	SSHUserIP: string;
	Dimensions: SwarmingDimensions;
}

export type SwarmingDimensions = { [key: string]: string[] | null } | null;

export type AttachedDevice = "nodevice" | "adb" | "ios" | "ssh";

export type Mode = "available" | "maintenance" | "recovery";

export type PowerCycleState = "not_available" | "available" | "in_error";

export type ListMachinesResponse = FrontendDescription[];
