v1alpha4

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v1alpha4 contains API Schema definitions for the metal3 v1alpha4 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 v1alpha4 contains API Schema definitions for the infrastructure v1alpha4 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 (
	// 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"
)
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"
)
View Source
const (
	// UnhealthyAnnotation is the annotation that sets unhealthy status of BMH
	UnhealthyAnnotation = "capi.metal3.io/unhealthy"
)

Variables

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

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

	// 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 IPPool used to fetch the value to set in the metadata map for cloud-init
	Name string `json:"name"`
}

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
	MatchLabels map[string]string `json:"matchLabels,omitempty"`

	// Label match expressions that must be true on a chosen BareMetalHost
	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 value or a URL to retrieve one.
	// Not required for live-iso.
	Checksum string `json:"checksum,omitempty"`

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

	//DiskFormat contains the image disk format.
	// +kubebuilder:validation:Enum=raw;qcow2;vdi;vmdk;live-iso
	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.

type MetaData

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

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

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

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

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

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

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

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

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

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

	// FromAnnotations is the list of metadata items to be fetched from object
	// Annotations
	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
	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.
	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`)
	Subnet *ipamv1.IPSubnetStr `json:"subnet,omitempty"`
	// +kubebuilder:default=1
	// Step is the step between the IP addresses rendered.
	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
	Offset int `json:"offset,omitempty"`
	// +kubebuilder:default=1
	// Step is the multiplier of the index
	Step int `json:"step,omitempty"`
	// Prefix is the prefix string
	Prefix string `json:"prefix,omitempty"`
	// Suffix is the suffix string
	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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   Metal3ClusterSpec   `json:"spec,omitempty"`
	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) Hub

func (*Metal3Cluster) Hub()

func (*Metal3Cluster) SetupWebhookWithManager

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

func (*Metal3Cluster) ValidateCreate

func (c *Metal3Cluster) ValidateCreate() error

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

func (*Metal3Cluster) ValidateDelete

func (c *Metal3Cluster) ValidateDelete() error

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

func (*Metal3Cluster) ValidateUpdate

func (c *Metal3Cluster) ValidateUpdate(old runtime.Object) error

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

type Metal3ClusterList

type Metal3ClusterList struct {
	metav1.TypeMeta `json:",inline"`
	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.
	ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint"`
	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.
	Ready bool `json:"ready"`
}

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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   Metal3DataSpec   `json:"spec,omitempty"`
	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 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() error

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

func (*Metal3Data) ValidateDelete

func (c *Metal3Data) ValidateDelete() error

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

func (*Metal3Data) ValidateUpdate

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

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

type Metal3DataClaim

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

	Spec   Metal3DataClaimSpec   `json:"spec,omitempty"`
	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 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() error

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

func (*Metal3DataClaim) ValidateDelete

func (c *Metal3DataClaim) ValidateDelete() error

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

func (*Metal3DataClaim) ValidateUpdate

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

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

type Metal3DataClaimList

type Metal3DataClaimList struct {
	metav1.TypeMeta `json:",inline"`
	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.

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
	RenderedData *corev1.ObjectReference `json:"renderedData,omitempty"`

	// ErrorMessage contains the error message
	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"`
	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.

type Metal3DataSpec

type Metal3DataSpec struct {
	// Index stores the index value of this instance in the Metal3DataTemplate.
	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
	TemplateReference string `json:"templateReference,omitempty"`

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

	// NetworkData points to the rendered NetworkData secret.
	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
	Ready bool `json:"ready,omitempty"`

	// ErrorMessage contains the error message
	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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   Metal3DataTemplateSpec   `json:"spec,omitempty"`
	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() error

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

func (*Metal3DataTemplate) ValidateDelete

func (c *Metal3DataTemplate) ValidateDelete() error

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

func (*Metal3DataTemplate) ValidateUpdate

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

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

type Metal3DataTemplateList

type Metal3DataTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	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.

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
	TemplateReference string `json:"templateReference,omitempty"`

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

	//NetworkData contains the information needed to generate the networkdata
	// secret
	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
	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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   Metal3MachineSpec   `json:"spec,omitempty"`
	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) Hub

func (*Metal3Machine) Hub()

func (*Metal3Machine) SetupWebhookWithManager

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

func (*Metal3Machine) ValidateCreate

func (c *Metal3Machine) ValidateCreate() error

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

func (*Metal3Machine) ValidateDelete

func (c *Metal3Machine) ValidateDelete() error

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

func (*Metal3Machine) ValidateUpdate

func (c *Metal3Machine) ValidateUpdate(old runtime.Object) error

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

type Metal3MachineList

type Metal3MachineList struct {
	metav1.TypeMeta `json:",inline"`
	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.
	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.
	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.
	DataTemplate *corev1.ObjectReference `json:"dataTemplate,omitempty"`

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

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

	// When set to disabled, automated cleaning will be skipped
	// during provisioning and deprovisioning.
	// +kubebuilder:default:=metadata
	// +kubebuilder:validation:Enum:=metadata;disabled
	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.

func (*Metal3MachineSpec) IsValid

func (s *Metal3MachineSpec) 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 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 capi.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.
	UserData *corev1.SecretReference `json:"userData,omitempty"`

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

	// MetaData is an object storing the reference to the secret containing the
	// Metadata used to deploy the BareMetalHost.
	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.
	NetworkData *corev1.SecretReference `json:"networkData,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"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	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() error

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

func (*Metal3MachineTemplate) ValidateDelete

func (c *Metal3MachineTemplate) ValidateDelete() error

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

func (*Metal3MachineTemplate) ValidateUpdate

func (c *Metal3MachineTemplate) ValidateUpdate(old runtime.Object) error

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

type Metal3MachineTemplateList

type Metal3MachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	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 NetworkData

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

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

	//Services  is a structure containing lists of different types objects
	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 IPPool to use to get an ip address
	IPAddressFromIPPool string `json:"ipAddressFromIPPool"`

	// Routes contains a list of IPv4 routes
	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
	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"`

	// Routes contains a list of IPv6 routes
	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
	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
	Ethernets []NetworkDataLinkEthernet `json:"ethernets,omitempty"`

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

	// Vlans contains a list of Vlan links
	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.1ad"
	// BondMode is the mode of bond used. It can be one of
	// balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.1ad
	BondMode string `json:"bondMode"`

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

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	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.
	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"`

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	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"`

	// +kubebuilder:default=1500
	// +kubebuilder:validation:Maximum=9000
	// MTU is the MTU of the interface
	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
	IPv4 []NetworkDataIPv4 `json:"ipv4,omitempty"`

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

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

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

	// IPv4 contains a list of IPv6 SLAAC allocations
	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)
	Prefix int `json:"prefix,omitempty"`

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

	//Services is a list of IPv4 services
	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)
	Prefix int `json:"prefix,omitempty"`

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

	//Services is a list of IPv6 services
	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
	DNS []ipamv1.IPAddressStr `json:"dns,omitempty"`

	//DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	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
	DNS []ipamv1.IPAddressv4Str `json:"dns,omitempty"`

	//DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	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
	DNS []ipamv1.IPAddressv6Str `json:"dns,omitempty"`

	//DNSFromIPPool is the name of the IPPool from which to get the DNS servers
	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
	String *ipamv1.IPAddressv4Str `json:"string,omitempty"`

	// FromIPPool is the name of the IPPool to fetch the gateway from
	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
	String *ipamv1.IPAddressv6Str `json:"string,omitempty"`

	// FromIPPool is the name of the IPPool to fetch the gateway from
	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
	String *string `json:"string,omitempty"`

	// FromHostInterface contains the name of the interface in the BareMetalHost
	// Introspection details from which to fetch the MAC address
	FromHostInterface *string `json:"fromHostInterface,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.

Jump to

Keyboard shortcuts

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