v1beta1

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 20 Imported by: 9

Documentation

Overview

Package v1beta1 contains API Schema definitions for the metal3 v1beta1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// UnhealthyAnnotation is the annotation that sets unhealthy status of BMH.
	UnhealthyAnnotation = "capi.metal3.io/unhealthy"

	LiveISODiskFormat = "live-iso"
)
View Source
const (
	// BaremetalInfrastructureReadyCondition reports the current status of
	// cluster infrastructure. At the moment this is cosmetic since
	// Metal3Cluster does not contain any infra setup steps.
	BaremetalInfrastructureReadyCondition clusterv1.ConditionType = "BaremetalInfrastructureReady"
	// ControlPlaneEndpointFailedReason is used to indicate that provided ControlPlaneEndpoint is invalid.
	ControlPlaneEndpointFailedReason = "ControlPlaneEndpointFailed"
	// InternalFailureReason is used to indicate that an internal failure
	// occurred. The `Message` field of the Condition should be consluted for
	// details on the failure.
	InternalFailureReason = "InternalFailureOccured"
)

Metal3Cluster Conditions and Reasons.

View Source
const (
	// AssociateBMHCondition documents the status of associated the Metal3Machine with a BaremetalHost.
	AssociateBMHCondition clusterv1.ConditionType = "AssociateBMH"

	// WaitingForClusterInfrastructureReason used when waiting for cluster
	// infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapReadyReason used when waiting for bootstrap to be ready before proceeding.
	WaitingForBootstrapReadyReason = "WaitingForBootstrapReady"
	// AssociateBMHFailedReason documents any errors while associating Metal3Machine with a BaremetalHost.
	AssociateBMHFailedReason = "AssociateBMHFailed"
	// WaitingForMetal3MachineOwnerRefReason is used when Metal3Machine is waiting for OwnerReference to be
	// set before proceeding.
	WaitingForMetal3MachineOwnerRefReason = "WaitingForM3MachineOwnerRef"
	// Metal3MachinePausedReason is used when Metal3Machine or Cluster is paused.
	Metal3MachinePausedReason = "Metal3MachinePaused"
	// WaitingforMetal3ClusterReason is used when Metal3Machine is waiting for Metal3Cluster.
	WaitingforMetal3ClusterReason = "WaitingforMetal3Cluster"
	// PauseAnnotationRemoveFailedReason is used when failed to remove/check pause annotation on associated bmh.
	PauseAnnotationRemoveFailedReason = "PauseAnnotationRemoveFailed"
	// PauseAnnotationSetFailedReason is used when failed to set pause annotation on associated bmh.
	PauseAnnotationSetFailedReason = "PauseAnnotationSetFailedReason"

	// KubernetesNodeReadyCondition documents the transition of a Metal3Machine into a Kubernetes Node.
	KubernetesNodeReadyCondition clusterv1.ConditionType = "KubernetesNodeReady"
	// Could not find the BMH associated with the Metal3Machine.
	MissingBMHReason = "MissingBMH"
	// Could not set the ProviderID on the target cluster's Node object.
	SettingProviderIDOnNodeFailedReason = "SettingProviderIDOnNodeFailed"
	// Metal3DataReadyCondition reports a summary of Metal3Data status.
	Metal3DataReadyCondition clusterv1.ConditionType = "Metal3DataReady"
	// WaitingForMetal3DataReason used when waiting for Metal3Data
	// to be ready before proceeding.
	WaitingForMetal3DataReason = "WaitingForMetal3Data"
	// AssociateM3MetaDataFailedReason is used when failed to associate Metadata to Metal3Machine.
	AssociateM3MetaDataFailedReason = "AssociateM3MetaDataFailed"
	// DisassociateM3MetaDataFailedReason is used when failed to remove OwnerReference of Meta3DataTemplate.
	DisassociateM3MetaDataFailedReason = "DisassociateM3MetaDataFailed"
	// DeletingReason (Severity=Info) documents a condition not in Status=True because the underlying object it is currently being deleted.
	DeletingReason = "Deleting"
	// DeletionFailedReason (Severity=Warning) documents a condition not in Status=True because the underlying object
	// encountered problems during deletion. This is a warning because the reconciler will retry deletion.
	DeletionFailedReason = "DeletionFailed"
)

Metal3Machine Conditions and Reasons.

View Source
const (
	// MachineFinalizer allows ReconcileMetal3Machine to clean up resources associated with Metal3Machine before
	// removing it from the apiserver.
	MachineFinalizer     = "metal3machine.infrastructure.cluster.x-k8s.io"
	CleaningModeDisabled = "disabled"
	CleaningModeMetadata = "metadata"
	ClonedFromGroupKind  = "Metal3MachineTemplate.infrastructure.cluster.x-k8s.io"
	LiveIsoDiskFormat    = "live-iso"
)
View Source
const (
	// PhaseRunning represents the running state during remediation.
	PhaseRunning = "Running"

	// PhaseWaiting represents the state during remediation when the controller has done its job but still waiting for the result of the last remediation step.
	PhaseWaiting = "Waiting"

	// PhaseDeleting represents the state where host remediation has failed and the controller is deleting the unhealthy Machine object from the cluster.
	PhaseDeleting = "Deleting machine"

	// PhaseFailed represents the state where host will not be remediated.
	// Remediation Controller will set the state to PhaseFailed when a user has set bmh.Spec.Online to false.
	PhaseFailed = "Failed"
)
View Source
const (
	// ClusterFinalizer allows Metal3ClusterReconciler to clean up resources associated with Metal3Cluster before
	// removing it from the apiserver.
	ClusterFinalizer = "metal3cluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// DataClaimFinalizer allows Metal3DataReconciler to clean up resources
	// associated with Metal3DataClaim before removing it from the apiserver.
	DataClaimFinalizer = "metal3dataclaim.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// DataFinalizer allows Metal3DataReconciler to clean up resources
	// associated with Metal3Data before removing it from the apiserver.
	DataFinalizer = "metal3data.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// DataTemplateFinalizer allows Metal3DataTemplateReconciler to clean up resources
	// associated with Metal3DataTemplate before removing it from the apiserver.
	DataTemplateFinalizer = "metal3datatemplate.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type APIEndpoint

type APIEndpoint struct {
	// Host is the hostname on which the API server is serving.
	Host string `json:"host"`

	// Port is the port on which the API server is serving.
	Port int `json:"port"`
}

APIEndpoint represents a reachable Kubernetes API endpoint.

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type FromPool

type FromPool struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`

	// Name is the name of the IP pool used to fetch the value to set in the metadata map for cloud-init
	Name string `json:"name"`

	// APIGroup is the api group of the IP pool.
	APIGroup string `json:"apiGroup"`

	// Kind is the kind of the IP pool
	Kind string `json:"kind"`
}

func (*FromPool) DeepCopy

func (in *FromPool) DeepCopy() *FromPool

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

func (*FromPool) DeepCopyInto

func (in *FromPool) DeepCopyInto(out *FromPool)

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

type HostSelector

type HostSelector struct {
	// Key/value pairs of labels that must exist on a chosen BareMetalHost
	// +optional
	MatchLabels map[string]string `json:"matchLabels,omitempty"`

	// Label match expressions that must be true on a chosen BareMetalHost
	// +optional
	MatchExpressions []HostSelectorRequirement `json:"matchExpressions,omitempty"`
}

HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a Machine.

func (*HostSelector) DeepCopy

func (in *HostSelector) DeepCopy() *HostSelector

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

func (*HostSelector) DeepCopyInto

func (in *HostSelector) DeepCopyInto(out *HostSelector)

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

type HostSelectorRequirement

type HostSelectorRequirement struct {
	Key      string             `json:"key"`
	Operator selection.Operator `json:"operator"`
	Values   []string           `json:"values"`
}

func (*HostSelectorRequirement) DeepCopy

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

func (*HostSelectorRequirement) DeepCopyInto

func (in *HostSelectorRequirement) DeepCopyInto(out *HostSelectorRequirement)

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 a md5sum, sha256sum or sha512sum value or a URL to retrieve one.
	Checksum string `json:"checksum"`

	// ChecksumType is the checksum algorithm for the image.
	// e.g md5, sha256, sha512
	// +kubebuilder:validation:Enum=md5;sha256;sha512
	// +optional
	ChecksumType *string `json:"checksumType,omitempty"`

	// DiskFormat contains the image disk format.
	// +kubebuilder:validation:Enum=raw;qcow2;vdi;vmdk;live-iso
	// +optional
	DiskFormat *string `json:"format,omitempty"`
}

Image holds the details of an image to use during provisioning.

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.

func (*Image) Validate

func (i *Image) Validate(base field.Path) field.ErrorList

Validate performs validation on Image, returning a list of field errors using the provided base path. It is intended to be used in the validation webhooks of resources containing Image.

type MetaData

type MetaData struct {
	// Strings is the list of metadata items to be rendered from strings
	// +optional
	Strings []MetaDataString `json:"strings,omitempty"`

	// ObjectNames is the list of metadata items to be rendered from the name
	// of objects.
	// +optional
	ObjectNames []MetaDataObjectName `json:"objectNames,omitempty"`

	// Indexes is the list of metadata items to be rendered from the index of the
	// Metal3Data
	// +optional
	Indexes []MetaDataIndex `json:"indexes,omitempty"`

	// Namespaces is the list of metadata items to be rendered from the namespace
	// +optional
	Namespaces []MetaDataNamespace `json:"namespaces,omitempty"`

	// IPAddressesFromPool is the list of metadata items to be rendered as ip addresses.
	// +optional
	IPAddressesFromPool []FromPool `json:"ipAddressesFromIPPool,omitempty"`

	// PrefixesFromPool is the list of metadata items to be rendered as network prefixes.
	// +optional
	PrefixesFromPool []FromPool `json:"prefixesFromIPPool,omitempty"`

	// GatewaysFromPool is the list of metadata items to be rendered as gateway addresses.
	// +optional
	GatewaysFromPool []FromPool `json:"gatewaysFromIPPool,omitempty"`

	// DNSServersFromPool is the list of metadata items to be rendered as dns servers.
	// +optional
	DNSServersFromPool []FromPool `json:"dnsServersFromIPPool,omitempty"`

	// FromHostInterfaces is the list of metadata items to be rendered as MAC
	// addresses of the host interfaces.
	// +optional
	FromHostInterfaces []MetaDataHostInterface `json:"fromHostInterfaces,omitempty"`

	// FromLabels is the list of metadata items to be fetched from object labels
	// +optional
	FromLabels []MetaDataFromLabel `json:"fromLabels,omitempty"`

	// FromAnnotations is the list of metadata items to be fetched from object
	// Annotations
	// +optional
	FromAnnotations []MetaDataFromAnnotation `json:"fromAnnotations,omitempty"`
}

MetaData represents a keyand value of the metadata.

func (*MetaData) DeepCopy

func (in *MetaData) DeepCopy() *MetaData

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

func (*MetaData) DeepCopyInto

func (in *MetaData) DeepCopyInto(out *MetaData)

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

type MetaDataFromAnnotation

type MetaDataFromAnnotation struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// +kubebuilder:validation:Enum=machine;metal3machine;baremetalhost
	// Object is the type of the object from which we retrieve the name
	Object string `json:"object"`
	// Annotation is the key of the Annotation to fetch
	Annotation string `json:"annotation"`
}

MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string.

func (*MetaDataFromAnnotation) DeepCopy

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

func (*MetaDataFromAnnotation) DeepCopyInto

func (in *MetaDataFromAnnotation) DeepCopyInto(out *MetaDataFromAnnotation)

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

type MetaDataFromLabel

type MetaDataFromLabel struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// +kubebuilder:validation:Enum=machine;metal3machine;baremetalhost
	// Object is the type of the object from which we retrieve the name
	Object string `json:"object"`
	// Label is the key of the label to fetch
	Label string `json:"label"`
}

MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string.

func (*MetaDataFromLabel) DeepCopy

func (in *MetaDataFromLabel) DeepCopy() *MetaDataFromLabel

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

func (*MetaDataFromLabel) DeepCopyInto

func (in *MetaDataFromLabel) DeepCopyInto(out *MetaDataFromLabel)

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

type MetaDataHostInterface

type MetaDataHostInterface struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// Interface is the name of the interface in the BareMetalHost Status Hardware
	// Details list of interfaces from which to fetch the MAC address.
	Interface string `json:"interface"`
}

MetaDataHostInterface contains the information to render the object name.

func (*MetaDataHostInterface) DeepCopy

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

func (*MetaDataHostInterface) DeepCopyInto

func (in *MetaDataHostInterface) DeepCopyInto(out *MetaDataHostInterface)

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

type MetaDataIPAddress

type MetaDataIPAddress struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// Start is the first ip address that can be rendered
	// +optional
	Start *ipamv1.IPAddressStr `json:"start,omitempty"`
	// End is the last IP address that can be rendered. It is used as a validation
	// that the rendered IP is in bound.
	// +optional
	End *ipamv1.IPAddressStr `json:"end,omitempty"`
	// Subnet is used to validate that the rendered IP is in bounds. In case the
	// Start value is not given, it is derived from the subnet ip incremented by 1
	// (`192.168.0.1` for `192.168.0.0/24`)
	// +optional
	Subnet *ipamv1.IPSubnetStr `json:"subnet,omitempty"`
	// +kubebuilder:default=1
	// Step is the step between the IP addresses rendered.
	// +optional
	Step int `json:"step,omitempty"`
}

MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic.

func (*MetaDataIPAddress) DeepCopy

func (in *MetaDataIPAddress) DeepCopy() *MetaDataIPAddress

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

func (*MetaDataIPAddress) DeepCopyInto

func (in *MetaDataIPAddress) DeepCopyInto(out *MetaDataIPAddress)

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

type MetaDataIndex

type MetaDataIndex struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// Offset is the offset to apply to the index when rendering it
	// +optional
	Offset int `json:"offset,omitempty"`
	// +kubebuilder:default=1
	// Step is the multiplier of the index
	// +optional
	Step int `json:"step,omitempty"`
	// Prefix is the prefix string
	// +optional
	Prefix string `json:"prefix,omitempty"`
	// Suffix is the suffix string
	// +optional
	Suffix string `json:"suffix,omitempty"`
}

MetaDataIndex contains the information to render the index.

func (*MetaDataIndex) DeepCopy

func (in *MetaDataIndex) DeepCopy() *MetaDataIndex

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

func (*MetaDataIndex) DeepCopyInto

func (in *MetaDataIndex) DeepCopyInto(out *MetaDataIndex)

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

type MetaDataNamespace

type MetaDataNamespace struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
}

MetaDataNamespace contains the information to render the namespace.

func (*MetaDataNamespace) DeepCopy

func (in *MetaDataNamespace) DeepCopy() *MetaDataNamespace

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

func (*MetaDataNamespace) DeepCopyInto

func (in *MetaDataNamespace) DeepCopyInto(out *MetaDataNamespace)

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

type MetaDataObjectName

type MetaDataObjectName struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// +kubebuilder:validation:Enum=machine;metal3machine;baremetalhost
	// Object is the type of the object from which we retrieve the name
	Object string `json:"object"`
}

MetaDataObjectName contains the information to render the object name.

func (*MetaDataObjectName) DeepCopy

func (in *MetaDataObjectName) DeepCopy() *MetaDataObjectName

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

func (*MetaDataObjectName) DeepCopyInto

func (in *MetaDataObjectName) DeepCopyInto(out *MetaDataObjectName)

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

type MetaDataString

type MetaDataString struct {
	// Key will be used as the key to set in the metadata map for cloud-init
	Key string `json:"key"`
	// Value is the string to render.
	Value string `json:"value"`
}

MetaDataString contains the information to render the string.

func (*MetaDataString) DeepCopy

func (in *MetaDataString) DeepCopy() *MetaDataString

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

func (*MetaDataString) DeepCopyInto

func (in *MetaDataString) DeepCopyInto(out *MetaDataString)

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

type Metal3Cluster

type Metal3Cluster struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +optional
	Spec Metal3ClusterSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3ClusterStatus `json:"status,omitempty"`
}

Metal3Cluster is the Schema for the metal3clusters API.

func (*Metal3Cluster) DeepCopy

func (in *Metal3Cluster) DeepCopy() *Metal3Cluster

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

func (*Metal3Cluster) DeepCopyInto

func (in *Metal3Cluster) DeepCopyInto(out *Metal3Cluster)

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

func (*Metal3Cluster) DeepCopyObject

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

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

func (*Metal3Cluster) Default

func (c *Metal3Cluster) Default()

func (*Metal3Cluster) GetConditions

func (c *Metal3Cluster) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an Metal3Cluster API object.

func (*Metal3Cluster) Hub

func (*Metal3Cluster) Hub()

func (*Metal3Cluster) SetConditions

func (c *Metal3Cluster) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an Metal3Cluster object.

func (*Metal3Cluster) SetupWebhookWithManager

func (c *Metal3Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3Cluster) ValidateCreate

func (c *Metal3Cluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Cluster) ValidateDelete

func (c *Metal3Cluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Cluster) ValidateUpdate

func (c *Metal3Cluster) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3ClusterList

type Metal3ClusterList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3Cluster `json:"items"`
}

Metal3ClusterList contains a list of Metal3Cluster.

func (*Metal3ClusterList) DeepCopy

func (in *Metal3ClusterList) DeepCopy() *Metal3ClusterList

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

func (*Metal3ClusterList) DeepCopyInto

func (in *Metal3ClusterList) DeepCopyInto(out *Metal3ClusterList)

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

func (*Metal3ClusterList) DeepCopyObject

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

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

func (*Metal3ClusterList) Hub

func (*Metal3ClusterList) Hub()

type Metal3ClusterSpec

type Metal3ClusterSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint,omitempty"`
	// Determines if the cluster is not to be deployed with an external cloud provider.
	// If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes.
	// If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource.
	// +optional
	NoCloudProvider bool `json:"noCloudProvider,omitempty"`
}

Metal3ClusterSpec defines the desired state of Metal3Cluster.

func (*Metal3ClusterSpec) DeepCopy

func (in *Metal3ClusterSpec) DeepCopy() *Metal3ClusterSpec

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

func (*Metal3ClusterSpec) DeepCopyInto

func (in *Metal3ClusterSpec) DeepCopyInto(out *Metal3ClusterSpec)

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

func (*Metal3ClusterSpec) IsValid

func (s *Metal3ClusterSpec) IsValid() error

IsValid returns an error if the object is not valid, otherwise nil. The string representation of the error is suitable for human consumption.

type Metal3ClusterStatus

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

	// FailureReason indicates that there is a fatal problem reconciling the
	// state, and will be set to a token value suitable for
	// programmatic interpretation.
	// +optional
	FailureReason *capierrors.ClusterStatusError `json:"failureReason,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Ready denotes that the Metal3 cluster (infrastructure) is ready. In
	// Baremetal case, it does not mean anything for now as no infrastructure
	// steps need to be performed. Required by Cluster API. Set to True by the
	// metal3Cluster controller after creation.
	// +optional
	Ready bool `json:"ready"`
	// Conditions defines current service state of the Metal3Cluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

Metal3ClusterStatus defines the observed state of Metal3Cluster.

func (*Metal3ClusterStatus) DeepCopy

func (in *Metal3ClusterStatus) DeepCopy() *Metal3ClusterStatus

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

func (*Metal3ClusterStatus) DeepCopyInto

func (in *Metal3ClusterStatus) DeepCopyInto(out *Metal3ClusterStatus)

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

type Metal3Data

type Metal3Data struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3DataSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3DataStatus `json:"status,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=metal3datas,scope=Namespaced,categories=cluster-api,shortName=m3d;m3data;m3datas;metal3d;metal3data +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of Metal3Data" Metal3Data is the Schema for the metal3datas API.

func (*Metal3Data) DeepCopy

func (in *Metal3Data) DeepCopy() *Metal3Data

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

func (*Metal3Data) DeepCopyInto

func (in *Metal3Data) DeepCopyInto(out *Metal3Data)

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

func (*Metal3Data) DeepCopyObject

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

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

func (*Metal3Data) Default

func (c *Metal3Data) Default()

func (*Metal3Data) Hub

func (*Metal3Data) Hub()

func (*Metal3Data) SetupWebhookWithManager

func (c *Metal3Data) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3Data) ValidateCreate

func (c *Metal3Data) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Data) ValidateDelete

func (c *Metal3Data) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Data) ValidateUpdate

func (c *Metal3Data) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3DataClaim

type Metal3DataClaim struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3DataClaimSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3DataClaimStatus `json:"status,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=metal3dataclaims,scope=Namespaced,categories=cluster-api,shortName=m3dc;m3dataclaim;m3dataclaims;metal3dc;metal3dataclaim +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of Metal3DataClaim" Metal3DataClaim is the Schema for the metal3datas API.

func (*Metal3DataClaim) DeepCopy

func (in *Metal3DataClaim) DeepCopy() *Metal3DataClaim

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

func (*Metal3DataClaim) DeepCopyInto

func (in *Metal3DataClaim) DeepCopyInto(out *Metal3DataClaim)

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

func (*Metal3DataClaim) DeepCopyObject

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

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

func (*Metal3DataClaim) Default

func (c *Metal3DataClaim) Default()

func (*Metal3DataClaim) Hub

func (*Metal3DataClaim) Hub()

func (*Metal3DataClaim) SetupWebhookWithManager

func (c *Metal3DataClaim) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3DataClaim) ValidateCreate

func (c *Metal3DataClaim) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3DataClaim) ValidateDelete

func (c *Metal3DataClaim) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3DataClaim) ValidateUpdate

func (c *Metal3DataClaim) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3DataClaimList

type Metal3DataClaimList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3DataClaim `json:"items"`
}

Metal3DataClaimList contains a list of Metal3DataClaim.

func (*Metal3DataClaimList) DeepCopy

func (in *Metal3DataClaimList) DeepCopy() *Metal3DataClaimList

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

func (*Metal3DataClaimList) DeepCopyInto

func (in *Metal3DataClaimList) DeepCopyInto(out *Metal3DataClaimList)

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

func (*Metal3DataClaimList) DeepCopyObject

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

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

func (*Metal3DataClaimList) Hub

func (*Metal3DataClaimList) Hub()

type Metal3DataClaimSpec

type Metal3DataClaimSpec struct {
	// Template is the Metal3DataTemplate this was generated for.
	Template corev1.ObjectReference `json:"template"`
}

Metal3DataClaimSpec defines the desired state of Metal3DataClaim.

func (*Metal3DataClaimSpec) DeepCopy

func (in *Metal3DataClaimSpec) DeepCopy() *Metal3DataClaimSpec

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

func (*Metal3DataClaimSpec) DeepCopyInto

func (in *Metal3DataClaimSpec) DeepCopyInto(out *Metal3DataClaimSpec)

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

type Metal3DataClaimStatus

type Metal3DataClaimStatus struct {
	// RenderedData references the Metal3Data when ready
	// +optional
	RenderedData *corev1.ObjectReference `json:"renderedData,omitempty"`

	// ErrorMessage contains the error message
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

Metal3DataClaimStatus defines the observed state of Metal3DataClaim.

func (*Metal3DataClaimStatus) DeepCopy

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

func (*Metal3DataClaimStatus) DeepCopyInto

func (in *Metal3DataClaimStatus) DeepCopyInto(out *Metal3DataClaimStatus)

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

type Metal3DataList

type Metal3DataList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3Data `json:"items"`
}

Metal3DataList contains a list of Metal3Data.

func (*Metal3DataList) DeepCopy

func (in *Metal3DataList) DeepCopy() *Metal3DataList

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

func (*Metal3DataList) DeepCopyInto

func (in *Metal3DataList) DeepCopyInto(out *Metal3DataList)

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

func (*Metal3DataList) DeepCopyObject

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

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

func (*Metal3DataList) Hub

func (*Metal3DataList) Hub()

type Metal3DataSpec

type Metal3DataSpec struct {
	// Index stores the index value of this instance in the Metal3DataTemplate.
	// +optional
	Index int `json:"index,omitempty"`

	// TemplateReference refers to the Template the Metal3MachineTemplate refers to.
	// It can be matched against the key or it may also point to the name of the template
	// Metal3Data refers to
	// +optional
	TemplateReference string `json:"templateReference,omitempty"`

	// MetaData points to the rendered MetaData secret.
	// +optional
	MetaData *corev1.SecretReference `json:"metaData,omitempty"`

	// NetworkData points to the rendered NetworkData secret.
	// +optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// DataClaim points to the Metal3DataClaim the Metal3Data was created for.
	Claim corev1.ObjectReference `json:"claim"`

	// DataTemplate is the Metal3DataTemplate this was generated from.
	Template corev1.ObjectReference `json:"template"`
}

Metal3DataSpec defines the desired state of Metal3Data.

func (*Metal3DataSpec) DeepCopy

func (in *Metal3DataSpec) DeepCopy() *Metal3DataSpec

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

func (*Metal3DataSpec) DeepCopyInto

func (in *Metal3DataSpec) DeepCopyInto(out *Metal3DataSpec)

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

type Metal3DataStatus

type Metal3DataStatus struct {
	// Ready is a flag set to True if the secrets were rendered properly
	// +optional
	Ready bool `json:"ready"`

	// ErrorMessage contains the error message
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

Metal3DataStatus defines the observed state of Metal3Data.

func (*Metal3DataStatus) DeepCopy

func (in *Metal3DataStatus) DeepCopy() *Metal3DataStatus

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

func (*Metal3DataStatus) DeepCopyInto

func (in *Metal3DataStatus) DeepCopyInto(out *Metal3DataStatus)

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

type Metal3DataTemplate

type Metal3DataTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3DataTemplateSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3DataTemplateStatus `json:"status,omitempty"`
}

Metal3DataTemplate is the Schema for the metal3datatemplates API.

func (*Metal3DataTemplate) DeepCopy

func (in *Metal3DataTemplate) DeepCopy() *Metal3DataTemplate

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

func (*Metal3DataTemplate) DeepCopyInto

func (in *Metal3DataTemplate) DeepCopyInto(out *Metal3DataTemplate)

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

func (*Metal3DataTemplate) DeepCopyObject

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

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

func (*Metal3DataTemplate) Default

func (c *Metal3DataTemplate) Default()

func (*Metal3DataTemplate) Hub

func (*Metal3DataTemplate) Hub()

func (*Metal3DataTemplate) SetupWebhookWithManager

func (c *Metal3DataTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3DataTemplate) ValidateCreate

func (c *Metal3DataTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3DataTemplate) ValidateDelete

func (c *Metal3DataTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3DataTemplate) ValidateUpdate

func (c *Metal3DataTemplate) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3DataTemplateList

type Metal3DataTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3DataTemplate `json:"items"`
}

Metal3DataTemplateList contains a list of Metal3DataTemplate.

func (*Metal3DataTemplateList) DeepCopy

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

func (*Metal3DataTemplateList) DeepCopyInto

func (in *Metal3DataTemplateList) DeepCopyInto(out *Metal3DataTemplateList)

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

func (*Metal3DataTemplateList) DeepCopyObject

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

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

func (*Metal3DataTemplateList) Hub

func (*Metal3DataTemplateList) Hub()

type Metal3DataTemplateSpec

type Metal3DataTemplateSpec struct {

	// ClusterName is the name of the Cluster this object belongs to.
	// +kubebuilder:validation:MinLength=1
	ClusterName string `json:"clusterName"`

	// TemplateReference refers to the Template the Metal3MachineTemplate refers to.
	// It can be matched against the key or it may also point to the name of the template
	// Metal3Data refers to
	// +optional
	TemplateReference string `json:"templateReference,omitempty"`

	// MetaData contains the information needed to generate the metadata secret
	// +optional
	MetaData *MetaData `json:"metaData,omitempty"`

	// NetworkData contains the information needed to generate the networkdata
	// secret
	// +optional
	NetworkData *NetworkData `json:"networkData,omitempty"`
}

Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate.

func (*Metal3DataTemplateSpec) DeepCopy

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

func (*Metal3DataTemplateSpec) DeepCopyInto

func (in *Metal3DataTemplateSpec) DeepCopyInto(out *Metal3DataTemplateSpec)

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

type Metal3DataTemplateStatus

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

	// Indexes contains the map of Metal3Machine and index used
	// +optional
	Indexes map[string]int `json:"indexes,omitempty"`
}

Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate.

func (*Metal3DataTemplateStatus) DeepCopy

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

func (*Metal3DataTemplateStatus) DeepCopyInto

func (in *Metal3DataTemplateStatus) DeepCopyInto(out *Metal3DataTemplateStatus)

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

type Metal3Machine

type Metal3Machine struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3MachineSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3MachineStatus `json:"status,omitempty"`
}

Metal3Machine is the Schema for the metal3machines API.

func (*Metal3Machine) DeepCopy

func (in *Metal3Machine) DeepCopy() *Metal3Machine

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

func (*Metal3Machine) DeepCopyInto

func (in *Metal3Machine) DeepCopyInto(out *Metal3Machine)

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

func (*Metal3Machine) DeepCopyObject

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

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

func (*Metal3Machine) Default

func (c *Metal3Machine) Default()

func (*Metal3Machine) GetConditions

func (c *Metal3Machine) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an Metal3Machine API object.

func (*Metal3Machine) Hub

func (*Metal3Machine) Hub()

func (*Metal3Machine) SetConditions

func (c *Metal3Machine) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an Metal3Machine object.

func (*Metal3Machine) SetupWebhookWithManager

func (c *Metal3Machine) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3Machine) ValidateCreate

func (c *Metal3Machine) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Machine) ValidateDelete

func (c *Metal3Machine) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Machine) ValidateUpdate

func (c *Metal3Machine) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3MachineList

type Metal3MachineList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3Machine `json:"items"`
}

Metal3MachineList contains a list of Metal3Machine.

func (*Metal3MachineList) DeepCopy

func (in *Metal3MachineList) DeepCopy() *Metal3MachineList

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

func (*Metal3MachineList) DeepCopyInto

func (in *Metal3MachineList) DeepCopyInto(out *Metal3MachineList)

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

func (*Metal3MachineList) DeepCopyObject

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

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

func (*Metal3MachineList) Hub

func (*Metal3MachineList) Hub()

type Metal3MachineSpec

type Metal3MachineSpec struct {
	// ProviderID will be the Metal3 machine in ProviderID format
	// (metal3://<bmh-uuid>)
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// Image is the image to be provisioned.
	Image Image `json:"image"`

	// UserData references the Secret that holds user data needed by the bare metal
	// operator. The Namespace is optional; it will default to the metal3machine's
	// namespace if not specified.
	// +optional
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// HostSelector specifies matching criteria for labels on BareMetalHosts.
	// This is used to limit the set of BareMetalHost objects considered for
	// claiming for a metal3machine.
	// +optional
	HostSelector HostSelector `json:"hostSelector,omitempty"`

	// MetadataTemplate is a reference to a Metal3DataTemplate object containing
	// a template of metadata to be rendered. Metadata keys defined in the
	// metadataTemplate take precedence over keys defined in metadata field.
	// +optional
	DataTemplate *corev1.ObjectReference `json:"dataTemplate,omitempty"`

	// MetaData is an object storing the reference to the secret containing the
	// Metadata given by the user.
	// +optional
	MetaData *corev1.SecretReference `json:"metaData,omitempty"`

	// NetworkData is an object storing the reference to the secret containing the
	// network data given by the user.
	// +optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`

	// When set to disabled, automated cleaning of host disks will be skipped
	// during provisioning and deprovisioning.
	// +kubebuilder:validation:Enum:=metadata;disabled
	// +optional
	AutomatedCleaningMode *string `json:"automatedCleaningMode,omitempty"`
}

Metal3MachineSpec defines the desired state of Metal3Machine.

func (*Metal3MachineSpec) DeepCopy

func (in *Metal3MachineSpec) DeepCopy() *Metal3MachineSpec

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

func (*Metal3MachineSpec) DeepCopyInto

func (in *Metal3MachineSpec) DeepCopyInto(out *Metal3MachineSpec)

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

type Metal3MachineStatus

type Metal3MachineStatus struct {

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

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the metal3machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the metal3machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of
	// metal3machines can be added as events to the metal3machine object
	// and/or logged in the controller's output.
	// +optional
	FailureReason *capierrors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the metal3machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the metal3machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of
	// metal3machines can be added as events to the metal3machine object
	// and/or logged in the controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Addresses is a list of addresses assigned to the machine.
	// This field is copied from the infrastructure provider reference.
	// +optional
	Addresses clusterv1.MachineAddresses `json:"addresses,omitempty"`

	// Phase represents the current phase of machine actuation.
	// E.g. Pending, Running, Terminating, Failed etc.
	// +optional
	Phase string `json:"phase,omitempty"`

	// Ready is the state of the metal3.
	// TODO : Document the variable :
	// mhrivnak: " it would be good to document what this means, how to interpret
	// it, under what circumstances the value changes, etc."
	// +optional
	Ready bool `json:"ready"`

	// UserData references the Secret that holds user data needed by the bare metal
	// operator. The Namespace is optional; it will default to the metal3machine's
	// namespace if not specified.
	// +optional
	UserData *corev1.SecretReference `json:"userData,omitempty"`

	// RenderedData is a reference to a rendered Metal3Data object containing
	// the references to metaData and networkData secrets.
	// +optional
	RenderedData *corev1.ObjectReference `json:"renderedData,omitempty"`

	// MetaData is an object storing the reference to the secret containing the
	// Metadata used to deploy the BareMetalHost.
	// +optional
	MetaData *corev1.SecretReference `json:"metaData,omitempty"`

	// NetworkData is an object storing the reference to the secret containing the
	// network data used to deploy the BareMetalHost.
	// +optional
	NetworkData *corev1.SecretReference `json:"networkData,omitempty"`
	// Conditions defines current service state of the Metal3Machine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

Metal3MachineStatus defines the observed state of Metal3Machine.

func (*Metal3MachineStatus) DeepCopy

func (in *Metal3MachineStatus) DeepCopy() *Metal3MachineStatus

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

func (*Metal3MachineStatus) DeepCopyInto

func (in *Metal3MachineStatus) DeepCopyInto(out *Metal3MachineStatus)

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

type Metal3MachineTemplate

type Metal3MachineTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3MachineTemplateSpec `json:"spec,omitempty"`
}

Metal3MachineTemplate is the Schema for the metal3machinetemplates API.

func (*Metal3MachineTemplate) DeepCopy

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

func (*Metal3MachineTemplate) DeepCopyInto

func (in *Metal3MachineTemplate) DeepCopyInto(out *Metal3MachineTemplate)

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

func (*Metal3MachineTemplate) DeepCopyObject

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

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

func (*Metal3MachineTemplate) Default

func (c *Metal3MachineTemplate) Default()

func (*Metal3MachineTemplate) Hub

func (*Metal3MachineTemplate) Hub()

func (*Metal3MachineTemplate) SetupWebhookWithManager

func (c *Metal3MachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3MachineTemplate) ValidateCreate

func (c *Metal3MachineTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3MachineTemplate) ValidateDelete

func (c *Metal3MachineTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3MachineTemplate) ValidateUpdate

func (c *Metal3MachineTemplate) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3MachineTemplateList

type Metal3MachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3MachineTemplate `json:"items"`
}

Metal3MachineTemplateList contains a list of Metal3MachineTemplate.

func (*Metal3MachineTemplateList) DeepCopy

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

func (*Metal3MachineTemplateList) DeepCopyInto

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

func (*Metal3MachineTemplateList) DeepCopyObject

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

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

func (*Metal3MachineTemplateList) Hub

type Metal3MachineTemplateResource

type Metal3MachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec Metal3MachineSpec `json:"spec"`
}

Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template.

func (*Metal3MachineTemplateResource) DeepCopy

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

func (*Metal3MachineTemplateResource) DeepCopyInto

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

type Metal3MachineTemplateSpec

type Metal3MachineTemplateSpec struct {
	Template Metal3MachineTemplateResource `json:"template"`

	// When set to True, CAPM3 Machine controller will
	// pick the same pool of BMHs' that were released during the upgrade operation.
	// +kubebuilder:default=false
	// +optional
	NodeReuse bool `json:"nodeReuse"`
}

Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate.

func (*Metal3MachineTemplateSpec) DeepCopy

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

func (*Metal3MachineTemplateSpec) DeepCopyInto

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

type Metal3Remediation

type Metal3Remediation struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3RemediationSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3RemediationStatus `json:"status,omitempty"`
}

Metal3Remediation is the Schema for the metal3remediations API.

func (*Metal3Remediation) DeepCopy

func (in *Metal3Remediation) DeepCopy() *Metal3Remediation

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

func (*Metal3Remediation) DeepCopyInto

func (in *Metal3Remediation) DeepCopyInto(out *Metal3Remediation)

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

func (*Metal3Remediation) DeepCopyObject

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

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

func (*Metal3Remediation) Default

func (r *Metal3Remediation) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*Metal3Remediation) Hub

func (*Metal3Remediation) Hub()

func (*Metal3Remediation) SetupWebhookWithManager

func (r *Metal3Remediation) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3Remediation) ValidateCreate

func (r *Metal3Remediation) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Remediation) ValidateDelete

func (r *Metal3Remediation) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3Remediation) ValidateUpdate

func (r *Metal3Remediation) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3RemediationList

type Metal3RemediationList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3Remediation `json:"items"`
}

Metal3RemediationList contains a list of Metal3Remediation.

func (*Metal3RemediationList) DeepCopy

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

func (*Metal3RemediationList) DeepCopyInto

func (in *Metal3RemediationList) DeepCopyInto(out *Metal3RemediationList)

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

func (*Metal3RemediationList) DeepCopyObject

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

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

func (*Metal3RemediationList) Hub

func (*Metal3RemediationList) Hub()

type Metal3RemediationSpec

type Metal3RemediationSpec struct {
	// Strategy field defines remediation strategy.
	// +optional
	Strategy *RemediationStrategy `json:"strategy,omitempty"`
}

Metal3RemediationSpec defines the desired state of Metal3Remediation.

func (*Metal3RemediationSpec) DeepCopy

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

func (*Metal3RemediationSpec) DeepCopyInto

func (in *Metal3RemediationSpec) DeepCopyInto(out *Metal3RemediationSpec)

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

type Metal3RemediationStatus

type Metal3RemediationStatus struct {
	// Phase represents the current phase of machine remediation.
	// E.g. Pending, Running, Done etc.
	// +optional
	Phase string `json:"phase,omitempty"`

	// RetryCount can be used as a counter during the remediation.
	// Field can hold number of reboots etc.
	// +optional
	RetryCount int `json:"retryCount,omitempty"`

	// LastRemediated identifies when the host was last remediated
	// +optional
	LastRemediated *metav1.Time `json:"lastRemediated,omitempty"`
}

Metal3RemediationStatus defines the observed state of Metal3Remediation.

func (*Metal3RemediationStatus) DeepCopy

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

func (*Metal3RemediationStatus) DeepCopyInto

func (in *Metal3RemediationStatus) DeepCopyInto(out *Metal3RemediationStatus)

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

type Metal3RemediationTemplate

type Metal3RemediationTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec Metal3RemediationTemplateSpec `json:"spec,omitempty"`
	// +optional
	Status Metal3RemediationTemplateStatus `json:"status,omitempty"`
}

Metal3RemediationTemplate is the Schema for the metal3remediationtemplates API.

func (*Metal3RemediationTemplate) DeepCopy

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

func (*Metal3RemediationTemplate) DeepCopyInto

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

func (*Metal3RemediationTemplate) DeepCopyObject

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

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

func (*Metal3RemediationTemplate) Default

func (r *Metal3RemediationTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*Metal3RemediationTemplate) Hub

func (*Metal3RemediationTemplate) SetupWebhookWithManager

func (r *Metal3RemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Metal3RemediationTemplate) ValidateCreate

func (r *Metal3RemediationTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3RemediationTemplate) ValidateDelete

func (r *Metal3RemediationTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Metal3RemediationTemplate) ValidateUpdate

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type Metal3RemediationTemplateList

type Metal3RemediationTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Metal3RemediationTemplate `json:"items"`
}

Metal3RemediationTemplateList contains a list of Metal3RemediationTemplate.

func (*Metal3RemediationTemplateList) DeepCopy

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

func (*Metal3RemediationTemplateList) DeepCopyInto

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

func (*Metal3RemediationTemplateList) DeepCopyObject

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

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

func (*Metal3RemediationTemplateList) Hub

type Metal3RemediationTemplateResource

type Metal3RemediationTemplateResource struct {
	// Spec is the specification of the desired behavior of the Metal3Remediation.
	Spec Metal3RemediationSpec `json:"spec"`
}

Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template.

func (*Metal3RemediationTemplateResource) DeepCopy

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

func (*Metal3RemediationTemplateResource) DeepCopyInto

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

type Metal3RemediationTemplateSpec

type Metal3RemediationTemplateSpec struct {
	Template Metal3RemediationTemplateResource `json:"template"`
}

Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate.

func (*Metal3RemediationTemplateSpec) DeepCopy

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

func (*Metal3RemediationTemplateSpec) DeepCopyInto

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

type Metal3RemediationTemplateStatus

type Metal3RemediationTemplateStatus struct {
	// Metal3RemediationStatus defines the observed state of Metal3Remediation
	Status Metal3RemediationStatus `json:"status"`
}

Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate.

func (*Metal3RemediationTemplateStatus) DeepCopy

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

func (*Metal3RemediationTemplateStatus) DeepCopyInto

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

type NetworkData

type NetworkData struct {
	// Links is a structure containing lists of different types objects
	// +optional
	Links NetworkDataLink `json:"links,omitempty"`

	// Networks  is a structure containing lists of different types objects
	// +optional
	Networks NetworkDataNetwork `json:"networks,omitempty"`

	// Services  is a structure containing lists of different types objects
	// +optional
	Services NetworkDataService `json:"services,omitempty"`
}

NetworkData represents a networkData object.

func (*NetworkData) DeepCopy

func (in *NetworkData) DeepCopy() *NetworkData

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

func (*NetworkData) DeepCopyInto

func (in *NetworkData) DeepCopyInto(out *NetworkData)

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

type NetworkDataIPv4

type NetworkDataIPv4 struct {

	// ID is the network ID (name)
	ID string `json:"id"`

	// Link is the link on which the network applies
	Link string `json:"link"`

	// IPAddressFromIPPool contains the name of the IP pool to use to get an ip address
	IPAddressFromIPPool string `json:"ipAddressFromIPPool,omitempty"`

	// FromPoolRef is a reference to a IP pool to allocate an address from.
	FromPoolRef *corev1.TypedLocalObjectReference `json:"fromPoolRef,omitempty"`

	// Routes contains a list of IPv4 routes
	// +optional
	Routes []NetworkDataRoutev4 `json:"routes,omitempty"`
}

NetworkDataIPv4 represents an ipv4 static network object.

func (*NetworkDataIPv4) DeepCopy

func (in *NetworkDataIPv4) DeepCopy() *NetworkDataIPv4

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

func (*NetworkDataIPv4) DeepCopyInto

func (in *NetworkDataIPv4) DeepCopyInto(out *NetworkDataIPv4)

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

type NetworkDataIPv4DHCP

type NetworkDataIPv4DHCP struct {

	// ID is the network ID (name)
	ID string `json:"id"`

	// Link is the link on which the network applies
	Link string `json:"link"`

	// Routes contains a list of IPv4 routes
	// +optional
	Routes []NetworkDataRoutev4 `json:"routes,omitempty"`
}

NetworkDataIPv4DHCP represents an ipv4 DHCP network object.

func (*NetworkDataIPv4DHCP) DeepCopy

func (in *NetworkDataIPv4DHCP) DeepCopy() *NetworkDataIPv4DHCP

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

func (*NetworkDataIPv4DHCP) DeepCopyInto

func (in *NetworkDataIPv4DHCP) DeepCopyInto(out *NetworkDataIPv4DHCP)

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

type NetworkDataIPv6

type NetworkDataIPv6 struct {

	// ID is the network ID (name)
	ID string `json:"id"`

	// Link is the link on which the network applies
	Link string `json:"link"`

	// IPAddressFromIPPool contains the name of the IPPool to use to get an ip address
	IPAddressFromIPPool string `json:"ipAddressFromIPPool"`

	// FromPoolRef is a reference to a IP pool to allocate an address from.
	FromPoolRef *corev1.TypedLocalObjectReference `json:"fromPoolRef,omitempty"`

	// Routes contains a list of IPv6 routes
	// +optional
	Routes []NetworkDataRoutev6 `json:"routes,omitempty"`
}

NetworkDataIPv6 represents an ipv6 static network object.

func (*NetworkDataIPv6) DeepCopy

func (in *NetworkDataIPv6) DeepCopy() *NetworkDataIPv6

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

func (*NetworkDataIPv6) DeepCopyInto

func (in *NetworkDataIPv6) DeepCopyInto(out *NetworkDataIPv6)

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

type NetworkDataIPv6DHCP

type NetworkDataIPv6DHCP struct {

	// ID is the network ID (name)
	ID string `json:"id"`

	// Link is the link on which the network applies
	Link string `json:"link"`

	// Routes contains a list of IPv6 routes
	// +optional
	Routes []NetworkDataRoutev6 `json:"routes,omitempty"`
}

NetworkDataIPv6DHCP represents an ipv6 DHCP network object.

func (*NetworkDataIPv6DHCP) DeepCopy

func (in *NetworkDataIPv6DHCP) DeepCopy() *NetworkDataIPv6DHCP

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

func (*NetworkDataIPv6DHCP) DeepCopyInto

func (in *NetworkDataIPv6DHCP) DeepCopyInto(out *NetworkDataIPv6DHCP)

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

type NetworkDataLink struct {

	// Ethernets contains a list of Ethernet links
	// +optional
	Ethernets []NetworkDataLinkEthernet `json:"ethernets,omitempty"`

	// Bonds contains a list of Bond links
	// +optional
	Bonds []NetworkDataLinkBond `json:"bonds,omitempty"`

	// Vlans contains a list of Vlan links
	// +optional
	Vlans []NetworkDataLinkVlan `json:"vlans,omitempty"`
}

NetworkDataLink contains list of different link objects.

func (*NetworkDataLink) DeepCopy

func (in *NetworkDataLink) DeepCopy() *NetworkDataLink

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

func (*NetworkDataLink) DeepCopyInto

func (in *NetworkDataLink) DeepCopyInto(out *NetworkDataLink)

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

type NetworkDataLinkBond

type NetworkDataLinkBond struct {
	// +kubebuilder:validation:Enum="balance-rr";"active-backup";"balance-xor";"broadcast";"balance-tlb";"balance-alb";"802.3ad"
	// BondMode is the mode of bond used. It can be one of
	// balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad
	BondMode string `json:"bondMode"`

	// +kubebuilder:validation:Enum="layer2";"layer3+4";"layer2+3"
	// Selects the transmit hash policy used for port selection in balance-xor and 802.3ad modes
	// +optional
	BondXmitHashPolicy string `json:"bondXmitHashPolicy"`

	// Id is the ID of the interface (used for naming)
	Id string `json:"id"` //nolint:revive,stylecheck

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	// +optional
	MTU int `json:"mtu,omitempty"`

	// MACAddress is the MAC address of the interface, containing the object
	// used to render it.
	MACAddress *NetworkLinkEthernetMac `json:"macAddress"`

	// BondLinks is the list of links that are part of the bond.
	// +optional
	BondLinks []string `json:"bondLinks"`
}

NetworkDataLinkBond represents a bond link object.

func (*NetworkDataLinkBond) DeepCopy

func (in *NetworkDataLinkBond) DeepCopy() *NetworkDataLinkBond

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

func (*NetworkDataLinkBond) DeepCopyInto

func (in *NetworkDataLinkBond) DeepCopyInto(out *NetworkDataLinkBond)

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

type NetworkDataLinkEthernet

type NetworkDataLinkEthernet struct {
	// +kubebuilder:validation:Enum=bridge;dvs;hw_veb;hyperv;ovs;tap;vhostuser;vif;phy
	// Type is the type of the ethernet link. It can be one of:
	// bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy
	Type string `json:"type"`

	// Id is the ID of the interface (used for naming)
	Id string `json:"id"` //nolint:revive,stylecheck

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	// +optional
	MTU int `json:"mtu,omitempty"`

	// MACAddress is the MAC address of the interface, containing the object
	// used to render it.
	MACAddress *NetworkLinkEthernetMac `json:"macAddress"`
}

NetworkDataLinkEthernet represents an ethernet link object.

func (*NetworkDataLinkEthernet) DeepCopy

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

func (*NetworkDataLinkEthernet) DeepCopyInto

func (in *NetworkDataLinkEthernet) DeepCopyInto(out *NetworkDataLinkEthernet)

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

type NetworkDataLinkVlan

type NetworkDataLinkVlan struct {
	// +kubebuilder:validation:Maximum=4096
	// VlanID is the Vlan ID
	VlanID int `json:"vlanID"`

	// Id is the ID of the interface (used for naming)
	Id string `json:"id"` //nolint:revive,stylecheck

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	// +optional
	MTU int `json:"mtu,omitempty"`

	// MACAddress is the MAC address of the interface, containing the object
	// used to render it.
	MACAddress *NetworkLinkEthernetMac `json:"macAddress"`

	// VlanLink is the name of the link on which the vlan should be added
	VlanLink string `json:"vlanLink"`
}

NetworkDataLinkVlan represents a vlan link object.

func (*NetworkDataLinkVlan) DeepCopy

func (in *NetworkDataLinkVlan) DeepCopy() *NetworkDataLinkVlan

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

func (*NetworkDataLinkVlan) DeepCopyInto

func (in *NetworkDataLinkVlan) DeepCopyInto(out *NetworkDataLinkVlan)

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

type NetworkDataNetwork

type NetworkDataNetwork struct {

	// IPv4 contains a list of IPv4 static allocations
	// +optional
	IPv4 []NetworkDataIPv4 `json:"ipv4,omitempty"`

	// IPv4 contains a list of IPv6 static allocations
	// +optional
	IPv6 []NetworkDataIPv6 `json:"ipv6,omitempty"`

	// IPv4 contains a list of IPv4 DHCP allocations
	// +optional
	IPv4DHCP []NetworkDataIPv4DHCP `json:"ipv4DHCP,omitempty"`

	// IPv4 contains a list of IPv6 DHCP allocations
	// +optional
	IPv6DHCP []NetworkDataIPv6DHCP `json:"ipv6DHCP,omitempty"`

	// IPv4 contains a list of IPv6 SLAAC allocations
	// +optional
	IPv6SLAAC []NetworkDataIPv6DHCP `json:"ipv6SLAAC,omitempty"`
}

NetworkDataNetwork represents a network object.

func (*NetworkDataNetwork) DeepCopy

func (in *NetworkDataNetwork) DeepCopy() *NetworkDataNetwork

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

func (*NetworkDataNetwork) DeepCopyInto

func (in *NetworkDataNetwork) DeepCopyInto(out *NetworkDataNetwork)

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

type NetworkDataRoutev4

type NetworkDataRoutev4 struct {
	// Network is the IPv4 network address
	Network ipamv1.IPAddressv4Str `json:"network"`

	// +kubebuilder:validation:Maximum=32
	// Prefix is the mask of the network as integer (max 32)
	// +optional
	Prefix int `json:"prefix,omitempty"`

	// Gateway is the IPv4 address of the gateway
	Gateway NetworkGatewayv4 `json:"gateway"`

	// Services is a list of IPv4 services
	// +optional
	Services NetworkDataServicev4 `json:"services,omitempty"`
}

NetworkDataRoutev4 represents an ipv4 route object.

func (*NetworkDataRoutev4) DeepCopy

func (in *NetworkDataRoutev4) DeepCopy() *NetworkDataRoutev4

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

func (*NetworkDataRoutev4) DeepCopyInto

func (in *NetworkDataRoutev4) DeepCopyInto(out *NetworkDataRoutev4)

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

type NetworkDataRoutev6

type NetworkDataRoutev6 struct {
	// Network is the IPv6 network address
	Network ipamv1.IPAddressv6Str `json:"network"`

	// +kubebuilder:validation:Maximum=128
	// Prefix is the mask of the network as integer (max 128)
	// +optional
	Prefix int `json:"prefix,omitempty"`

	// Gateway is the IPv6 address of the gateway
	Gateway NetworkGatewayv6 `json:"gateway"`

	// Services is a list of IPv6 services
	// +optional
	Services NetworkDataServicev6 `json:"services,omitempty"`
}

NetworkDataRoutev6 represents an ipv6 route object.

func (*NetworkDataRoutev6) DeepCopy

func (in *NetworkDataRoutev6) DeepCopy() *NetworkDataRoutev6

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

func (*NetworkDataRoutev6) DeepCopyInto

func (in *NetworkDataRoutev6) DeepCopyInto(out *NetworkDataRoutev6)

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

type NetworkDataService

type NetworkDataService struct {

	// DNS is a list of DNS services
	// +optional
	DNS []ipamv1.IPAddressStr `json:"dns,omitempty"`

	// DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	// +optional
	DNSFromIPPool *string `json:"dnsFromIPPool,omitempty"`
}

NetworkDataService represents a service object.

func (*NetworkDataService) DeepCopy

func (in *NetworkDataService) DeepCopy() *NetworkDataService

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

func (*NetworkDataService) DeepCopyInto

func (in *NetworkDataService) DeepCopyInto(out *NetworkDataService)

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

type NetworkDataServicev4

type NetworkDataServicev4 struct {
	// DNS is a list of IPv4 DNS services
	// +optional
	DNS []ipamv1.IPAddressv4Str `json:"dns,omitempty"`

	// DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	// +optional
	DNSFromIPPool *string `json:"dnsFromIPPool,omitempty"`
}

NetworkDataServicev4 represents a service object.

func (*NetworkDataServicev4) DeepCopy

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

func (*NetworkDataServicev4) DeepCopyInto

func (in *NetworkDataServicev4) DeepCopyInto(out *NetworkDataServicev4)

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

type NetworkDataServicev6

type NetworkDataServicev6 struct {
	// DNS is a list of IPv6 DNS services
	// +optional
	DNS []ipamv1.IPAddressv6Str `json:"dns,omitempty"`

	// DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	// +optional
	DNSFromIPPool *string `json:"dnsFromIPPool,omitempty"`
}

NetworkDataServicev6 represents a service object.

func (*NetworkDataServicev6) DeepCopy

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

func (*NetworkDataServicev6) DeepCopyInto

func (in *NetworkDataServicev6) DeepCopyInto(out *NetworkDataServicev6)

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

type NetworkGatewayv4

type NetworkGatewayv4 struct {

	// String is the gateway given as a string
	// +optional
	String *ipamv1.IPAddressv4Str `json:"string,omitempty"`

	// FromIPPool is the name of the IPPool to fetch the gateway from
	// +optional
	FromIPPool *string `json:"fromIPPool,omitempty"`
}

NetworkGatewayv4 represents a gateway, given as a string or as a reference to a Metal3IPPool.

func (*NetworkGatewayv4) DeepCopy

func (in *NetworkGatewayv4) DeepCopy() *NetworkGatewayv4

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

func (*NetworkGatewayv4) DeepCopyInto

func (in *NetworkGatewayv4) DeepCopyInto(out *NetworkGatewayv4)

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

type NetworkGatewayv6

type NetworkGatewayv6 struct {

	// String is the gateway given as a string
	// +optional
	String *ipamv1.IPAddressv6Str `json:"string,omitempty"`

	// FromIPPool is the name of the IPPool to fetch the gateway from
	// +optional
	FromIPPool *string `json:"fromIPPool,omitempty"`
}

NetworkGatewayv6 represents a gateway, given as a string or as a reference to a Metal3IPPool.

func (*NetworkGatewayv6) DeepCopy

func (in *NetworkGatewayv6) DeepCopy() *NetworkGatewayv6

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

func (*NetworkGatewayv6) DeepCopyInto

func (in *NetworkGatewayv6) DeepCopyInto(out *NetworkGatewayv6)

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

type NetworkLinkEthernetMac

type NetworkLinkEthernetMac struct {
	// String contains the MAC address given as a string
	// +optional
	String *string `json:"string,omitempty"`

	// FromHostInterface contains the name of the interface in the BareMetalHost
	// Introspection details from which to fetch the MAC address
	// +optional
	FromHostInterface *string `json:"fromHostInterface,omitempty"`

	// FromAnnotation references an object Annotation to retrieve the
	// MAC address from
	// +optional
	FromAnnotation *NetworkLinkEthernetMacFromAnnotation `json:"fromAnnotation,omitempty"`
}

NetworkLinkEthernetMac represents the Mac address content.

func (*NetworkLinkEthernetMac) DeepCopy

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

func (*NetworkLinkEthernetMac) DeepCopyInto

func (in *NetworkLinkEthernetMac) DeepCopyInto(out *NetworkLinkEthernetMac)

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

type NetworkLinkEthernetMacFromAnnotation added in v1.6.0

type NetworkLinkEthernetMacFromAnnotation struct {
	// +kubebuilder:validation:Enum=machine;metal3machine;baremetalhost
	// Object is the type of the object from which we retrieve the name
	Object string `json:"object"`
	// Annotation is the key of the Annotation to fetch
	Annotation string `json:"annotation"`
}

NetworkLinkEthernetMacFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string.

func (*NetworkLinkEthernetMacFromAnnotation) DeepCopy added in v1.6.0

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

func (*NetworkLinkEthernetMacFromAnnotation) DeepCopyInto added in v1.6.0

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

type RemediationStrategy

type RemediationStrategy struct {
	// Type of remediation.
	// +optional
	Type RemediationType `json:"type,omitempty"`

	// Sets maximum number of remediation retries.
	// +optional
	RetryLimit int `json:"retryLimit,omitempty"`

	// Sets the timeout between remediation retries.
	// +optional
	Timeout *metav1.Duration `json:"timeout"`
}

RemediationStrategy describes how to remediate machines.

func (*RemediationStrategy) DeepCopy

func (in *RemediationStrategy) DeepCopy() *RemediationStrategy

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

func (*RemediationStrategy) DeepCopyInto

func (in *RemediationStrategy) DeepCopyInto(out *RemediationStrategy)

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

type RemediationType

type RemediationType string
const (
	// RemediationFinalizer allows Metal3RemediationReconciler to clean up resources associated with Metal3Remediation before
	// removing it from the apiserver.
	RemediationFinalizer = "metal3remediation.infrastructure.cluster.x-k8s.io"

	// RebootRemediationStrategy sets RemediationType to Reboot.
	RebootRemediationStrategy RemediationType = "Reboot"
)

Jump to

Keyboard shortcuts

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