Documentation
¶
Index ¶
- type AgentAttributes
- type BIOS
- type BMCMachine
- type Baseboard
- type Block
- type CPU
- type Chassis
- type Ec2Instance
- type GPU
- type HackInstance
- type HardwareFilter
- type LicenseActivation
- type Memory
- type Metadata
- type Network
- type OperatingSystem
- type PCI
- type Processor
- type Product
- type UpdateOptions
- type WorkflowFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentAttributes ¶ added in v0.18.0
type AgentAttributes struct {
CPU *CPU `json:"cpu,omitempty" yaml:"cpu,omitempty"`
Memory *Memory `json:"memory,omitempty" yaml:"memory,omitempty"`
BlockDevices []*Block `json:"blockDevices,omitempty" yaml:"blockDevices,omitempty"`
NetworkInterfaces []*Network `json:"networkInterfaces,omitempty" yaml:"networkInterfaces,omitempty"`
PCIDevices []*PCI `json:"pciDevices,omitempty" yaml:"pciDevices,omitempty"`
GPUDevices []*GPU `json:"gpuDevices,omitempty" yaml:"gpuDevices,omitempty"`
Chassis *Chassis `json:"chassis,omitempty" yaml:"chassis,omitempty"`
BIOS *BIOS `json:"bios,omitempty" yaml:"bios,omitempty"`
Baseboard *Baseboard `json:"baseboard,omitempty" yaml:"baseboard,omitempty"`
Product *Product `json:"product,omitempty" yaml:"product,omitempty"`
}
AgentAttributes are attributes of an Agent.
func NewAgentAttributes ¶ added in v0.18.0
func NewAgentAttributes() *AgentAttributes
NewAgentAttributes initializes a new AgentAttributes struct.
type BMCMachine ¶
type Baseboard ¶ added in v0.18.0
type Baseboard struct {
Vendor *string `json:"vendor,omitempty" yaml:"vendor,omitempty"`
Product *string `json:"product,omitempty" yaml:"product,omitempty"`
Version *string `json:"version,omitempty" yaml:"version,omitempty"`
SerialNumber *string `json:"serialNumber,omitempty" yaml:"serialNumber,omitempty"`
}
type Block ¶ added in v0.18.0
type Block struct {
Name *string `json:"name,omitempty" yaml:"name,omitempty"`
ControllerType *string `json:"controllerType,omitempty" yaml:"controllerType,omitempty"`
DriveType *string `json:"driveType,omitempty" yaml:"driveType,omitempty"`
Size *string `json:"size,omitempty" yaml:"size,omitempty"`
PhysicalBlockSize *string `json:"physicalBlockSize,omitempty" yaml:"physicalBlockSize,omitempty"`
Vendor *string `json:"vendor,omitempty" yaml:"vendor,omitempty"`
Model *string `json:"model,omitempty" yaml:"model,omitempty"`
WWN *string `json:"wwn,omitempty" yaml:"wwn,omitempty"`
SerialNumber *string `json:"serialNumber,omitempty" yaml:"serialNumber,omitempty"`
}
type Ec2Instance ¶
Ec2Instance is a struct that contains the hardware data exposed from the EC2 API endpoints. For an explanation of the endpoints refer to the AWS EC2 Ec2Instance Metadata documentation.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html
Note not all AWS EC2 Ec2Instance Metadata categories are supported as some are not applicable. Deviations from the AWS EC2 Ec2Instance Metadata should be documented here.
type HackInstance ¶
type HackInstance struct {
Metadata struct {
Instance struct {
Storage struct {
Disks []struct {
Device string `json:"device"`
Partitions []struct {
Label string `json:"label"`
Number int `json:"number"`
Size uint64 `json:"size"`
} `json:"partitions"`
WipeTable bool `json:"wipe_table"`
} `json:"disks"`
Filesystems []struct {
Mount struct {
Create struct {
Options []string `json:"options"`
} `json:"create"`
Device string `json:"device"`
Format string `json:"format"`
Point string `json:"point"`
} `json:"mount"`
} `json:"filesystems"`
} `json:"storage"`
} `json:"instance"`
} `json:"metadata"`
}
Instance is a representation of the instance metadata. Its based on the rooitio hub action and should have just enough information for it to work.
type HardwareFilter ¶ added in v0.23.0
type HardwareFilter struct {
InNamespace string
ByName string
ByAgentID string
ByMACAddress string
ByIPAddress string
ByInstanceID string
}
HardwareFilter holds selectors for finding Hardware objects. Multiple selectors can be set and are AND-ed. InNamespace optionally scopes any selector.
type LicenseActivation ¶
type LicenseActivation struct {
State string
}
LicenseActivation is part of OperatingSystem.
type Metadata ¶
type Metadata struct {
InstanceID string
Hostname string
LocalHostname string
IQN string
Plan string
Facility string
Tags []string
PublicKeys []string
PublicIPv4 string
PublicIPv6 string
LocalIPv4 string
OperatingSystem OperatingSystem
}
Metadata is a part of Instance.
type Network ¶ added in v0.18.0
type Network struct {
Name *string `json:"name,omitempty" yaml:"name,omitempty"`
Mac *string `json:"mac,omitempty" yaml:"mac,omitempty"`
Speed *string `json:"speed,omitempty" yaml:"speed,omitempty"`
EnabledCapabilities []string `json:"enabledCapabilities,omitempty" yaml:"enabledCapabilities,omitempty"`
}
type OperatingSystem ¶
type OperatingSystem struct {
Slug string
Distro string
Version string
ImageTag string
LicenseActivation LicenseActivation
}
OperatingSystem is part of Metadata.
type Processor ¶ added in v0.18.0
type Processor struct {
ID *uint32 `json:"id,omitempty" yaml:"id,omitempty"`
Cores *uint32 `json:"cores,omitempty" yaml:"cores,omitempty"`
Threads *uint32 `json:"threads,omitempty" yaml:"threads,omitempty"`
Vendor *string `json:"vendor,omitempty" yaml:"vendor,omitempty"`
Model *string `json:"model,omitempty" yaml:"model,omitempty"`
Capabilities []string `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`
}
type UpdateOptions ¶ added in v0.23.0
type UpdateOptions struct {
StatusOnly bool
// PatchFrom, when non-nil, signals that the backend should compute a merge-patch
// between this original object and the modified object passed to the Update call.
// The caller is expected to pass a DeepCopy taken before any mutations.
// The concrete type must be compatible with the backend (e.g. client.Object for the kube backend).
PatchFrom any
// RawPatch, when non-nil, signals that the backend should apply a raw patch.
RawPatch []byte
// RawPatchType specifies the patch strategy. Supported Kubernetes patch types:
// - "application/json-patch+json" (JSON Patch, RFC 6902: array of {op, path, value} operations)
// - "application/merge-patch+json" (JSON Merge Patch, RFC 7386: partial JSON merged into the object)
// - "application/strategic-merge-patch+json" (Strategic Merge Patch: Kubernetes-specific, merges arrays by key)
// - "application/apply-patch+yaml" (Server-Side Apply: field ownership tracking, requires fieldManager)
RawPatchType string
}
UpdateOptions holds all the parameters that can be used to update an object.
type WorkflowFilter ¶ added in v0.23.0
WorkflowFilter holds selectors for listing Workflows.