Versions in this module Expand all Collapse all v2 v2.1.1 Feb 26, 2025 Changes in this version + type ConfigURL url.URL + func (u *ConfigURL) UnmarshalJSON(data []byte) error + func (u ConfigURL) MarshalJSON() ([]byte, error) v2.1.0 Jan 30, 2025 v2.0.0 Nov 12, 2024 Changes in this version + const AcquireServer + const BiosControl + const Broker + const BrokerAcquireServer + const BrokerReleaseServer + const ConditionCreateEvent + const ConditionResourceType + const ConditionStructVersion + const ConditionUpdateEvent + const GetPowerState + const InbandInventory + const Inventory + const LivenessStaleThreshold + const MediaTypeFloppy + const MediaTypeISO + const MountMethodURL + const MountMethodUpload + const OutofbandInventory + const PowerCycleBMC + const PurposeFirmwareInstall + const PxeBootPersistent + const ReleaseServer + const ResetConfig + const ServerControl + const ServerResourceType + const SetConfig + const SetNextBootDevice + const SetPowerState + const StaleThreshold + const StatusStaleThreshold + const StatusValueVersion + const TaskKVRepositoryBucket + const TaskVersion1 + const ValidateFirmware + const VirtualMediaMount + var ErrInvalidStatusRecord = errors.New("invalid status record") + func MustDefaultInventoryJSON(assetID uuid.UUID) []byte + func MustInventoryJSON(assetID uuid.UUID, method InventoryMethod, ...) []byte + func StateIsComplete(s State) bool + func StateIsValid(s State) bool + func StatusValueKVKey(facilityCode, conditionID string) string + func StreamSubject(facilityCode string, conditionKind Kind) string + func TaskKVRepositoryKey(facilityCode string, conditionKind Kind, serverID string) string + type BiosControlAction string + type BiosControlTaskParameters struct + Action BiosControlAction + AssetID uuid.UUID + BiosConfigURL *url.URL + func NewBiosControlParametersFromCondition(condition *Condition) (*BiosControlTaskParameters, error) + func NewBiosControlTaskParameters(assetID uuid.UUID, action BiosControlAction, configURL *url.URL) *BiosControlTaskParameters + func (p *BiosControlTaskParameters) Marshal() (json.RawMessage, error) + func (p *BiosControlTaskParameters) MustJSON() []byte + func (p *BiosControlTaskParameters) Unmarshal(r json.RawMessage) error + type BrokerAction string + type BrokerActionPurpose string + type BrokerTaskParameters struct + Action BrokerAction + AssetID uuid.UUID + Purpose BrokerActionPurpose + ServerAcquire *ServerAcquire + ServerRelease *ServerRelease + func NewBrokerTaskParameters(assetID uuid.UUID, action BrokerAction, purpose BrokerActionPurpose, ...) *BrokerTaskParameters + func (p *BrokerTaskParameters) MapStringInterfaceToStruct(m map[string]interface{}) error + func (p *BrokerTaskParameters) Marshal() (json.RawMessage, error) + func (p *BrokerTaskParameters) MustMarshal() json.RawMessage + func (p *BrokerTaskParameters) Unmarshal(r json.RawMessage) error + type Condition struct + Client string + CreatedAt time.Time + FailOnCheckpointError bool + Fault *Fault + ID uuid.UUID + Kind Kind + Parameters json.RawMessage + SpanID string + State State + Status json.RawMessage + Target uuid.UUID + TraceID string + UpdatedAt time.Time + Version string + func (c *Condition) IsComplete() bool + func (c *Condition) MustBytes() []byte + func (c *Condition) StateValid() bool + func (c *Condition) StreamPublishRequired() bool + func (c *Condition) StreamPublishSubject(facilityCode string) string + type Definition struct + FailOnCheckpointError bool + Kind Kind + type Definitions []*Definition + func (c Definitions) FindByKind(k Kind) *Definition + type ErrQueryStatus struct + func (e *ErrQueryStatus) Error() string + type Fault struct + DelayDuration string + FailAt string + Panic bool + type Firmware struct + Checksum string + Component string + FileName string + ID string + InstallInband bool + Models []string + Oem bool + URL string + Vendor string + Version string + type FirmwareInstallTaskParameters struct + AssetID uuid.UUID + DryRun bool + FirmwareSetID uuid.UUID + Firmwares []Firmware + ForceInstall bool + RequireHostPoweredOff bool + ResetBMCBeforeInstall bool + func (p *FirmwareInstallTaskParameters) MapStringInterfaceToStruct(m map[string]interface{}) error + func (p *FirmwareInstallTaskParameters) Marshal() (json.RawMessage, error) + func (p *FirmwareInstallTaskParameters) MustJSON() []byte + func (p *FirmwareInstallTaskParameters) Unmarshal(r json.RawMessage) error + type InventoryMethod string + type InventoryTaskParameters struct + AssetID uuid.UUID + CollectBiosCfg bool + CollectFirwmareStatus bool + Method InventoryMethod + func NewInventoryTaskParameters(assetID uuid.UUID, method InventoryMethod, ...) *InventoryTaskParameters + type Kind string + const FirmwareInstall + const FirmwareInstallInband + type Parameters interface + Validate func() error + type ServerAcquire struct + CustomIpxe bool + Info string + PersistentCustomIpxe bool + type ServerConditions struct + Conditions []*Condition + ServerID uuid.UUID + type ServerControlAction string + type ServerControlTaskParameters struct + Action ServerControlAction + ActionParameter string + AssetID uuid.UUID + SetNextBootDeviceEFI bool + SetNextBootDevicePersistent bool + ValidateFirmwareID uuid.UUID + ValidateFirmwareTimeout time.Duration + func NewServerControlTaskParameters(assetID uuid.UUID, action ServerControlAction, controlParam string, ...) *ServerControlTaskParameters + func (p *ServerControlTaskParameters) Marshal() (json.RawMessage, error) + func (p *ServerControlTaskParameters) MustJSON() []byte + func (p *ServerControlTaskParameters) Unmarshal(r json.RawMessage) error + type ServerRelease struct + Info string + type State string + const Active + const Failed + const Pending + const Succeeded + func States() []State + func (current State) TransitionValid(next State) bool + type StatusMsg struct + Msg string + Timestamp time.Time + type StatusRecord struct + StatusMsgs []StatusMsg + func NewTaskStatusRecord(s string) StatusRecord + func StatusRecordFromMessage(m json.RawMessage) (*StatusRecord, error) + func (sr *StatusRecord) Append(s string) + func (sr *StatusRecord) Last() string + func (sr *StatusRecord) Marshal() (json.RawMessage, error) + func (sr *StatusRecord) MustMarshal() json.RawMessage + func (sr *StatusRecord) Update(currentMsg, newMsg string) + type StatusValue struct + CreatedAt time.Time + MsgVersion int32 + SpanID string + State string + Status json.RawMessage + Target string + TraceID string + UpdatedAt time.Time + WorkerID string + func UnmarshalStatusValue(b []byte) (*StatusValue, error) + func (v *StatusValue) MustBytes() []byte + type Task struct + CompletedAt time.Time + CreatedAt time.Time + Data D + FacilityCode string + Fault *Fault + ID uuid.UUID + Kind Kind + Parameters P + Server *rtypes.Server + SpanID string + State State + Status StatusRecord + StructVersion string + TraceID string + UpdatedAt time.Time + WorkerID string + func NewTaskFromCondition(cond *Condition) *Task[any, any] + func TaskFromMessage(msg json.RawMessage) (*Task[any, any], error) + func (t *Task[P, D]) Marshal() (json.RawMessage, error) + func (t *Task[P, D]) SetState(state State) + func (t *Task[P, D]) Update(update *Task[P, D]) error + type TaskState int + const Complete + const InProgress + const Indeterminate + const NotStarted + const Orphaned + func CheckConditionInProgress(conditionID, facilityCode, kvBucket string, js nats.JetStreamContext) (TaskState, error) + type VirtualMediaMountMethod string + type VirtualMediaTaskParameters struct + AssetID uuid.UUID + ImageURL string + MediaType VirtualMediaType + MountMethod VirtualMediaMountMethod + func NewVirtualMediaTaskParameters(assetID uuid.UUID, imageURL string, mediaType VirtualMediaType, ...) *VirtualMediaTaskParameters + type VirtualMediaType string Other modules containing this package github.com/metal-toolbox/rivets