import PropTypes from "prop-types"; import hostUserInterface, { IHostUser } from "./host_users"; import labelInterface, { ILabel } from "./label"; import packInterface, { IPack } from "./pack"; import softwareInterface, { ISoftware } from "./software"; import queryStatsInterface, { IQueryStats } from "./query_stats"; export default PropTypes.shape({ created_at: PropTypes.string, updated_at: PropTypes.string, id: PropTypes.number, detail_updated_at: PropTypes.string, label_updated_at: PropTypes.string, last_enrolled_at: PropTypes.string, seen_time: PropTypes.string, refetch_requested: PropTypes.bool, hostname: PropTypes.string, uuid: PropTypes.string, platform: PropTypes.string, osquery_version: PropTypes.string, os_version: PropTypes.string, build: PropTypes.string, platform_like: PropTypes.string, code_name: PropTypes.string, uptime: PropTypes.number, memory: PropTypes.number, cpu_type: PropTypes.string, cpu_brand: PropTypes.string, cpu_physical_cores: PropTypes.number, cpu_logical_cores: PropTypes.number, hardware_vendor: PropTypes.string, hardware_model: PropTypes.string, hardware_version: PropTypes.string, hardware_serial: PropTypes.string, computer_name: PropTypes.string, primary_ip: PropTypes.string, primary_mac: PropTypes.string, distributed_interval: PropTypes.number, config_tls_refresh: PropTypes.number, logger_tls_period: PropTypes.number, team_id: PropTypes.number, pack_stats: PropTypes.arrayOf( PropTypes.shape({ pack_id: PropTypes.number, pack_name: PropTypes.string, query_stats: PropTypes.arrayOf(queryStatsInterface), }) ), team_name: PropTypes.string, additional: PropTypes.object, // eslint-disable-line react/forbid-prop-types labels: PropTypes.arrayOf(labelInterface), packs: PropTypes.arrayOf(packInterface), software: PropTypes.arrayOf(softwareInterface), status: PropTypes.string, display_text: PropTypes.string, users: PropTypes.arrayOf(hostUserInterface), }); export interface IHost { created_at: string; updated_at: string; id: number; detail_updated_at: string; label_updated_at: string; last_enrolled_at: string; seen_time: string; refetch_requested: boolean; hostname: string; uuid: string; platform: string; osquery_version: string; os_version: string; build: string; platform_like: string; code_name: string; uptime: number; memory: number; cpu_type: string; cpu_brand: string; cpu_physical_cores: number; cpu_logical_cores: number; hardware_vendor: string; hardware_model: string; hardware_version: string; hardware_serial: string; computer_name: string; primary_ip: string; primary_mac: string; distributed_interval: number; config_tls_refresh: number; logger_tls_period: number; team_id: number; pack_stats: { pack_id: number; pack_name: string; query_stats: IQueryStats[]; }[]; team_name: string; additional: object; // eslint-disable-line @typescript-eslint/ban-types labels: ILabel[]; packs: IPack[]; software: ISoftware[]; status: string; display_text: string; users: IHostUser[]; }