mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat(coderd): add endpoint to list provisioner daemons (#16028)
Updates #15190 Updates #15084 Supersedes #15940
This commit is contained in:
@@ -1209,6 +1209,68 @@ func AllPortShareProtocolValues() []PortShareProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
// The status of a provisioner daemon.
|
||||
type ProvisionerDaemonStatus string
|
||||
|
||||
const (
|
||||
ProvisionerDaemonStatusOffline ProvisionerDaemonStatus = "offline"
|
||||
ProvisionerDaemonStatusIdle ProvisionerDaemonStatus = "idle"
|
||||
ProvisionerDaemonStatusBusy ProvisionerDaemonStatus = "busy"
|
||||
)
|
||||
|
||||
func (e *ProvisionerDaemonStatus) Scan(src interface{}) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = ProvisionerDaemonStatus(s)
|
||||
case string:
|
||||
*e = ProvisionerDaemonStatus(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for ProvisionerDaemonStatus: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullProvisionerDaemonStatus struct {
|
||||
ProvisionerDaemonStatus ProvisionerDaemonStatus `json:"provisioner_daemon_status"`
|
||||
Valid bool `json:"valid"` // Valid is true if ProvisionerDaemonStatus is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullProvisionerDaemonStatus) Scan(value interface{}) error {
|
||||
if value == nil {
|
||||
ns.ProvisionerDaemonStatus, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.ProvisionerDaemonStatus.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullProvisionerDaemonStatus) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.ProvisionerDaemonStatus), nil
|
||||
}
|
||||
|
||||
func (e ProvisionerDaemonStatus) Valid() bool {
|
||||
switch e {
|
||||
case ProvisionerDaemonStatusOffline,
|
||||
ProvisionerDaemonStatusIdle,
|
||||
ProvisionerDaemonStatusBusy:
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func AllProvisionerDaemonStatusValues() []ProvisionerDaemonStatus {
|
||||
return []ProvisionerDaemonStatus{
|
||||
ProvisionerDaemonStatusOffline,
|
||||
ProvisionerDaemonStatusIdle,
|
||||
ProvisionerDaemonStatusBusy,
|
||||
}
|
||||
}
|
||||
|
||||
// Computed status of a provisioner job. Jobs could be stuck in a hung state, these states do not guarantee any transition to another state.
|
||||
type ProvisionerJobStatus string
|
||||
|
||||
|
||||
Reference in New Issue
Block a user