v1alpha1

package
v0.0.0-...-d5d859e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the metal3 v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=metal3.io

Package v1alpha1 contains API Schema definitions for the metal3 v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=metal3.io

Index

Constants

View Source
const (
	Byte     Capacity = 1
	KibiByte          = Byte * 1024
	KiloByte          = Byte * 1000
	MebiByte          = KibiByte * 1024
	MegaByte          = KiloByte * 1000
	GibiByte          = MebiByte * 1024
	GigaByte          = MegaByte * 1000
	TebiByte          = GibiByte * 1024
	TeraByte          = GigaByte * 1000
)

Capacity multipliers

View Source
const (
	// BareMetalHostFinalizer is the name of the finalizer added to
	// hosts to block delete operations until the physical host can be
	// deprovisioned.
	BareMetalHostFinalizer string = "baremetalhost.metal3.io"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "metal3.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

Types

type BIOS

type BIOS struct {
	// The release/build date for this BIOS
	Date string `json:"date"`

	// The vendor name for this BIOS
	Vendor string `json:"vendor"`

	// The version of the BIOS
	Version string `json:"version"`
}

BIOS describes the BIOS version on the host.

func (*BIOS) DeepCopy

func (in *BIOS) DeepCopy() *BIOS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BIOS.

func (*BIOS) DeepCopyInto

func (in *BIOS) DeepCopyInto(out *BIOS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCDetails

type BMCDetails struct {

	// Address holds the URL for accessing the controller on the
	// network.
	Address string `json:"address"`

	// The name of the secret containing the BMC credentials (requires
	// keys "username" and "password").
	CredentialsName string `json:"credentialsName"`
}

BMCDetails contains the information necessary to communicate with the bare metal controller module on host.

func (*BMCDetails) DeepCopy

func (in *BMCDetails) DeepCopy() *BMCDetails

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCDetails.

func (*BMCDetails) DeepCopyInto

func (in *BMCDetails) DeepCopyInto(out *BMCDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BareMetalHost

type BareMetalHost struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BareMetalHostSpec   `json:"spec,omitempty"`
	Status BareMetalHostStatus `json:"status,omitempty"`
}

BareMetalHost is the Schema for the baremetalhosts API +k8s:openapi-gen=true +kubebuilder:resource:shortName=bmh;bmhost +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.operationalStatus",description="Operational status" +kubebuilder:printcolumn:name="Provisioning Status",type="string",JSONPath=".status.provisioning.state",description="Provisioning status" +kubebuilder:printcolumn:name="Consumer",type="string",JSONPath=".spec.consumerRef.name",description="Consumer using this host" +kubebuilder:printcolumn:name="BMC",type="string",JSONPath=".spec.bmc.address",description="Address of management controller" +kubebuilder:printcolumn:name="Hardware Profile",type="string",JSONPath=".status.hardwareProfile",description="The type of hardware detected" +kubebuilder:printcolumn:name="Online",type="string",JSONPath=".spec.online",description="Whether the host is online or not" +kubebuilder:printcolumn:name="Error",type="string",JSONPath=".status.errorMessage",description="Most recent error"

func (*BareMetalHost) Available

func (host *BareMetalHost) Available() bool

Available returns true if the host is available to be provisioned.

func (*BareMetalHost) ClearError

func (host *BareMetalHost) ClearError() (dirty bool)

ClearError removes any existing error message.

func (*BareMetalHost) CredentialsKey

func (host *BareMetalHost) CredentialsKey() types.NamespacedName

CredentialsKey returns a NamespacedName suitable for loading the Secret containing the credentials associated with the host.

func (*BareMetalHost) DeepCopy

func (in *BareMetalHost) DeepCopy() *BareMetalHost

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BareMetalHost.

func (*BareMetalHost) DeepCopyInto

func (in *BareMetalHost) DeepCopyInto(out *BareMetalHost)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BareMetalHost) DeepCopyObject

func (in *BareMetalHost) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BareMetalHost) HardwareProfile

func (host *BareMetalHost) HardwareProfile() string

HardwareProfile returns the hardware profile name for the host.

func (*BareMetalHost) HasError

func (host *BareMetalHost) HasError() bool

HasError returns a boolean indicating whether there is an error set for the host.

func (*BareMetalHost) NeedsDeprovisioning

func (host *BareMetalHost) NeedsDeprovisioning() bool

NeedsDeprovisioning compares the settings with the provisioning status and returns true when the host should be deprovisioned.

func (*BareMetalHost) NeedsHardwareInspection

func (host *BareMetalHost) NeedsHardwareInspection() bool

NeedsHardwareInspection looks at the state of the host to determine if hardware inspection should be run.

func (*BareMetalHost) NeedsHardwareProfile

func (host *BareMetalHost) NeedsHardwareProfile() bool

NeedsHardwareProfile returns true if the profile is not set

func (*BareMetalHost) NeedsProvisioning

func (host *BareMetalHost) NeedsProvisioning() bool

NeedsProvisioning compares the settings with the provisioning status and returns true when more work is needed or false otherwise.

func (*BareMetalHost) NewEvent

func (host *BareMetalHost) NewEvent(reason, message string) corev1.Event

NewEvent creates a new event associated with the object and ready to be published to the kubernetes API.

func (*BareMetalHost) OperationMetricForState

func (host *BareMetalHost) OperationMetricForState(operation ProvisioningState) (metric *OperationMetric)

OperationMetricForState returns a pointer to the metric for the given provisioning state.

func (*BareMetalHost) OperationalStatus

func (host *BareMetalHost) OperationalStatus() OperationalStatus

OperationalStatus returns the contents of the OperationalStatus field.

func (*BareMetalHost) SetErrorMessage

func (host *BareMetalHost) SetErrorMessage(message string) (dirty bool)

SetErrorMessage updates the ErrorMessage in the host Status struct when necessary and returns true when a change is made or false when no change is made.

func (*BareMetalHost) SetHardwareProfile

func (host *BareMetalHost) SetHardwareProfile(name string) (dirty bool)

SetHardwareProfile updates the hardware profile name and returns true when a change is made or false when no change is made.

func (*BareMetalHost) SetOperationalStatus

func (host *BareMetalHost) SetOperationalStatus(status OperationalStatus) bool

SetOperationalStatus updates the OperationalStatus field and returns true when a change is made or false when no change is made.

func (*BareMetalHost) UpdateGoodCredentials

func (host *BareMetalHost) UpdateGoodCredentials(currentSecret corev1.Secret)

UpdateGoodCredentials modifies the GoodCredentials portion of the Status struct to record the details of the secret containing credentials known to work.

func (*BareMetalHost) UpdateTriedCredentials

func (host *BareMetalHost) UpdateTriedCredentials(currentSecret corev1.Secret)

UpdateTriedCredentials modifies the TriedCredentials portion of the Status struct to record the details of the secret containing credentials known to work.

func (*BareMetalHost) WasProvisioned

func (host *BareMetalHost) WasProvisioned() bool

WasProvisioned returns true when we think we have placed an image on the host.

type BareMetalHostList

type BareMetalHostList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BareMetalHost `json:"items"`
}

BareMetalHostList contains a list of BareMetalHost

func (*BareMetalHostList) DeepCopy

func (in *BareMetalHostList) DeepCopy() *BareMetalHostList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BareMetalHostList.

func (*BareMetalHostList) DeepCopyInto

func (in *BareMetalHostList) DeepCopyInto(out *BareMetalHostList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BareMetalHostList) DeepCopyObject

func (in *BareMetalHostList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BareMetalHostSpec

type BareMetalHostSpec struct {

	// Taints is the full, authoritative list of taints to apply to
	// the corresponding Machine. This list will overwrite any
	// modifications made to the Machine on an ongoing basis.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// How do we connect to the BMC?
	BMC BMCDetails `json:"bmc,omitempty"`

	// What is the name of the hardware profile for this host? It
	// should only be necessary to set this when inspection cannot
	// automatically determine the profile.
	HardwareProfile string `json:"hardwareProfile,omitempty"`

	// Which MAC address will PXE boot? This is optional for some
	// types, but required for libvirt VMs driven by vbmc.
	// +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}`
	BootMACAddress string `json:"bootMACAddress,omitempty"`

	// Should the server be online?
	Online bool `json:"online"`

	// ConsumerRef can be used to store information about something
	// that is using a host. When it is not empty, the host is
	// considered "in use".
	ConsumerRef *corev1.ObjectReference `json:"consumerRef,omitempty"`

	// Image holds the details of the image to be provisioned.
	Image *Image `json:"image,omitempty"`

	// UserData holds the reference to the Secret containing the user
	// data to be passed to the host before it boots.
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// NetworkData holds the reference to the Secret containing content
	// of network_data.json which is passed to Config Drive
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// Description is a human-entered text used to help identify the host
	Description string `json:"description,omitempty"`

	// ExternallyProvisioned means something else is managing the
	// image running on the host and the operator should only manage
	// the power status and hardware inventory inspection. If the
	// Image field is filled in, this field is ignored.
	ExternallyProvisioned bool `json:"externallyProvisioned,omitempty"`
}

BareMetalHostSpec defines the desired state of BareMetalHost

func (*BareMetalHostSpec) DeepCopy

func (in *BareMetalHostSpec) DeepCopy() *BareMetalHostSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BareMetalHostSpec.

func (*BareMetalHostSpec) DeepCopyInto

func (in *BareMetalHostSpec) DeepCopyInto(out *BareMetalHostSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BareMetalHostStatus

type BareMetalHostStatus struct {

	// OperationalStatus holds the status of the host
	OperationalStatus OperationalStatus `json:"operationalStatus"`

	// LastUpdated identifies when this status was last observed.
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// The name of the profile matching the hardware details.
	HardwareProfile string `json:"hardwareProfile"`

	// The hardware discovered to exist on the host.
	HardwareDetails *HardwareDetails `json:"hardware,omitempty"`

	// Information tracked by the provisioner.
	Provisioning ProvisionStatus `json:"provisioning"`

	// the last credentials we were able to validate as working
	GoodCredentials CredentialsStatus `json:"goodCredentials,omitempty"`

	// the last credentials we sent to the provisioning backend
	TriedCredentials CredentialsStatus `json:"triedCredentials,omitempty"`

	// the last error message reported by the provisioning subsystem
	ErrorMessage string `json:"errorMessage"`

	// indicator for whether or not the host is powered on
	PoweredOn bool `json:"poweredOn"`

	// OperationHistory holds information about operations performed
	// on this host.
	OperationHistory OperationHistory `json:"operationHistory"`
}

BareMetalHostStatus defines the observed state of BareMetalHost

func (*BareMetalHostStatus) DeepCopy

func (in *BareMetalHostStatus) DeepCopy() *BareMetalHostStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BareMetalHostStatus.

func (*BareMetalHostStatus) DeepCopyInto

func (in *BareMetalHostStatus) DeepCopyInto(out *BareMetalHostStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPU

type CPU struct {
	Arch           string     `json:"arch"`
	Model          string     `json:"model"`
	ClockMegahertz ClockSpeed `json:"clockMegahertz"`
	Flags          []string   `json:"flags"`
	Count          int        `json:"count"`
}

CPU describes one processor on the host.

func (*CPU) DeepCopy

func (in *CPU) DeepCopy() *CPU

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.

func (*CPU) DeepCopyInto

func (in *CPU) DeepCopyInto(out *CPU)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Capacity

type Capacity int64

Capacity is a disk size in Bytes

type ClockSpeed

type ClockSpeed float64

ClockSpeed is a clock speed in MHz

const (
	MegaHertz ClockSpeed = 1.0
	GigaHertz            = 1000 * MegaHertz
)

ClockSpeed multipliers

type CredentialsStatus

type CredentialsStatus struct {
	Reference *corev1.SecretReference `json:"credentials,omitempty"`
	Version   string                  `json:"credentialsVersion,omitempty"`
}

CredentialsStatus contains the reference and version of the last set of BMC credentials the controller was able to validate.

func (*CredentialsStatus) DeepCopy

func (in *CredentialsStatus) DeepCopy() *CredentialsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsStatus.

func (*CredentialsStatus) DeepCopyInto

func (in *CredentialsStatus) DeepCopyInto(out *CredentialsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CredentialsStatus) Match

func (cs CredentialsStatus) Match(secret corev1.Secret) bool

Match compares the saved status information with the name and content of a secret object.

type Firmware

type Firmware struct {
	// The BIOS for this firmware
	BIOS BIOS `json:"bios"`
}

Firmware describes the firmware on the host.

func (*Firmware) DeepCopy

func (in *Firmware) DeepCopy() *Firmware

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firmware.

func (*Firmware) DeepCopyInto

func (in *Firmware) DeepCopyInto(out *Firmware)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HardwareDetails

type HardwareDetails struct {
	SystemVendor HardwareSystemVendor `json:"systemVendor"`
	Firmware     Firmware             `json:"firmware"`
	RAMMebibytes int                  `json:"ramMebibytes"`
	NIC          []NIC                `json:"nics"`
	Storage      []Storage            `json:"storage"`
	CPU          CPU                  `json:"cpu"`
	Hostname     string               `json:"hostname"`
}

HardwareDetails collects all of the information about hardware discovered on the host.

func (*HardwareDetails) DeepCopy

func (in *HardwareDetails) DeepCopy() *HardwareDetails

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareDetails.

func (*HardwareDetails) DeepCopyInto

func (in *HardwareDetails) DeepCopyInto(out *HardwareDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HardwareSystemVendor

type HardwareSystemVendor struct {
	Manufacturer string `json:"manufacturer"`
	ProductName  string `json:"productName"`
	SerialNumber string `json:"serialNumber"`
}

HardwareSystemVendor stores details about the whole hardware system.

func (*HardwareSystemVendor) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareSystemVendor.

func (*HardwareSystemVendor) DeepCopyInto

func (in *HardwareSystemVendor) DeepCopyInto(out *HardwareSystemVendor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image

type Image struct {
	// URL is a location of an image to deploy.
	URL string `json:"url"`

	// Checksum is the checksum for the image.
	Checksum string `json:"checksum"`
}

Image holds the details of an image either to provisioned or that has been provisioned.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NIC

type NIC struct {
	// The name of the NIC, e.g. "nic-1"
	Name string `json:"name"`

	// The name of the model, e.g. "virt-io"
	Model string `json:"model"`

	// The device MAC addr
	// +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}`
	MAC string `json:"mac"`

	// The IP address of the device
	IP string `json:"ip"`

	// The speed of the device
	SpeedGbps int `json:"speedGbps"`

	// The VLANs available
	VLANs []VLAN `json:"vlans,omitempty"`

	// The untagged VLAN ID
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=4094
	VLANID VLANID `json:"vlanId"`

	// Whether the NIC is PXE Bootable
	PXE bool `json:"pxe"`
}

NIC describes one network interface on the host.

func (*NIC) DeepCopy

func (in *NIC) DeepCopy() *NIC

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NIC.

func (*NIC) DeepCopyInto

func (in *NIC) DeepCopyInto(out *NIC)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperationHistory

type OperationHistory struct {
	Register    OperationMetric `json:"register,omitempty"`
	Inspect     OperationMetric `json:"inspect,omitempty"`
	Provision   OperationMetric `json:"provision,omitempty"`
	Deprovision OperationMetric `json:"deprovision,omitempty"`
}

OperationHistory holds information about operations performed on a host.

func (*OperationHistory) DeepCopy

func (in *OperationHistory) DeepCopy() *OperationHistory

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationHistory.

func (*OperationHistory) DeepCopyInto

func (in *OperationHistory) DeepCopyInto(out *OperationHistory)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OperationMetric

type OperationMetric struct {
	// +nullable
	Start metav1.Time `json:"start,omitempty"`
	// +nullable
	End metav1.Time `json:"end,omitempty"`
}

OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics.

func (*OperationMetric) DeepCopy

func (in *OperationMetric) DeepCopy() *OperationMetric

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationMetric.

func (*OperationMetric) DeepCopyInto

func (in *OperationMetric) DeepCopyInto(out *OperationMetric)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (OperationMetric) Duration

func (om OperationMetric) Duration() time.Duration

Duration returns the length of time that was spent on the operation. If the operation is not finished, it returns 0.

type OperationalStatus

type OperationalStatus string

OperationalStatus represents the state of the host

const (
	// OperationalStatusOK is the status value for when the host is
	// configured correctly and is manageable.
	OperationalStatusOK OperationalStatus = "OK"

	// OperationalStatusDiscovered is the status value for when the
	// host is only partially configured, such as when when the BMC
	// address is known but the login credentials are not.
	OperationalStatusDiscovered OperationalStatus = "discovered"

	// OperationalStatusError is the status value for when the host
	// has any sort of error.
	OperationalStatusError OperationalStatus = "error"
)

type ProvisionStatus

type ProvisionStatus struct {
	// An indiciator for what the provisioner is doing with the host.
	State ProvisioningState `json:"state"`

	// The machine's UUID from the underlying provisioning tool
	ID string `json:"ID"`

	// Image holds the details of the last image successfully
	// provisioned to the host.
	Image Image `json:"image,omitempty"`
}

ProvisionStatus holds the state information for a single target.

func (*ProvisionStatus) DeepCopy

func (in *ProvisionStatus) DeepCopy() *ProvisionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisionStatus.

func (*ProvisionStatus) DeepCopyInto

func (in *ProvisionStatus) DeepCopyInto(out *ProvisionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProvisioningState

type ProvisioningState string

ProvisioningState defines the states the provisioner will report the host has having.

const (
	// StateNone means the state is unknown
	StateNone ProvisioningState = ""

	// StateRegistrationError means there was an error registering the
	// host with the backend
	StateRegistrationError ProvisioningState = "registration error"

	// StateRegistering means we are telling the backend about the host
	StateRegistering ProvisioningState = "registering"

	// StateMatchProfile means we are comparing the discovered details
	// against known hardware profiles
	StateMatchProfile ProvisioningState = "match profile"

	// StateReady means the host can be consumed
	StateReady ProvisioningState = "ready"

	// StateProvisioning means we are writing an image to the host's
	// disk(s)
	StateProvisioning ProvisioningState = "provisioning"

	// StateProvisioningError means we are writing an image to the
	// host's disk(s)
	StateProvisioningError ProvisioningState = "provisioning error"

	// StateProvisioned means we have written an image to the host's
	// disk(s)
	StateProvisioned ProvisioningState = "provisioned"

	// StateExternallyProvisioned means something else is managing the
	// image on the host
	StateExternallyProvisioned ProvisioningState = "externally provisioned"

	// StateDeprovisioning means we are removing an image from the
	// host's disk(s)
	StateDeprovisioning ProvisioningState = "deprovisioning"

	// StateInspecting means we are running the agent on the host to
	// learn about the hardware components available there
	StateInspecting ProvisioningState = "inspecting"

	// StatePowerManagementError means something went wrong trying to
	// power the server on or off.
	StatePowerManagementError ProvisioningState = "power management error"

	// StateDeleting means we are in the process of cleaning up the host
	// ready for deletion
	StateDeleting ProvisioningState = "deleting"
)

type Storage

type Storage struct {
	// A name for the disk, e.g. "disk 1 (boot)"
	Name string `json:"name"`

	// Whether this disk represents rotational storage
	Rotational bool `json:"rotational"`

	// The size of the disk in Bytes
	SizeBytes Capacity `json:"sizeBytes"`

	// The name of the vendor of the device
	Vendor string `json:"vendor,omitempty"`

	// Hardware model
	Model string `json:"model,omitempty"`

	// The serial number of the device
	SerialNumber string `json:"serialNumber"`

	// The WWN of the device
	WWN string `json:"wwn,omitempty"`

	// The WWN Vendor extension of the device
	WWNVendorExtension string `json:"wwnVendorExtension,omitempty"`

	// The WWN with the extension
	WWNWithExtension string `json:"wwnWithExtension,omitempty"`

	// The SCSI location of the device
	HCTL string `json:"hctl,omitempty"`
}

Storage describes one storage device (disk, SSD, etc.) on the host.

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VLAN

type VLAN struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=4094
	ID VLANID `json:"id"`

	Name string `json:"name,omitempty"`
}

VLAN represents the name and ID of a VLAN

func (*VLAN) DeepCopy

func (in *VLAN) DeepCopy() *VLAN

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLAN.

func (*VLAN) DeepCopyInto

func (in *VLAN) DeepCopyInto(out *VLAN)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VLANID

type VLANID int32

VLANID is a 12-bit 802.1Q VLAN identifier

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL