39 lines
999 B
Swift
39 lines
999 B
Swift
//
|
|
// AgentMetrics.swift
|
|
// Buildkite
|
|
//
|
|
// Created by Aaron Sky on 6/5/22.
|
|
// Copyright © 2022 Aaron Sky. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
#if canImport(FoundationNetworking)
|
|
import FoundationNetworking
|
|
#endif
|
|
|
|
public struct AgentMetrics: Codable, Equatable, Hashable, Sendable {
|
|
public var agents: AgentTotals
|
|
public var jobs: JobTotals
|
|
public var organization: Organization
|
|
|
|
public struct AgentTotals: Codable, Equatable, Hashable, Sendable {
|
|
public var idle: Int
|
|
public var busy: Int
|
|
public var total: Int
|
|
public var queues: [String: AgentTotals] = [:]
|
|
}
|
|
|
|
public struct JobTotals: Codable, Equatable, Hashable, Sendable {
|
|
public var scheduled: Int
|
|
public var running: Int
|
|
public var waiting: Int
|
|
public var total: Int
|
|
public var queues: [String: JobTotals] = [:]
|
|
}
|
|
|
|
public struct Organization: Codable, Equatable, Hashable, Sendable {
|
|
public var slug: String
|
|
}
|
|
}
|