Drop initial code
This commit is contained in:
101
deploy/rig-operator/api/v1alpha1/clusterblueprint_types.go
Normal file
101
deploy/rig-operator/api/v1alpha1/clusterblueprint_types.go
Normal file
@@ -0,0 +1,101 @@
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// GenericPoolReq defines a request for a set of nodes with specific sizing.
|
||||
// This is provider-agnostic.
|
||||
type GenericPoolReq struct {
|
||||
// Name is the identifier for this node pool (e.g. "workers-gpu").
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// Quantity is the number of nodes desired.
|
||||
// +required
|
||||
// +kubebuilder:validation:Minimum=0
|
||||
Quantity int `json:"quantity"`
|
||||
|
||||
// CpuCores is the number of vCPUs per node.
|
||||
// +required
|
||||
// +kubebuilder:validation:Minimum=1
|
||||
CpuCores int `json:"cpuCores"`
|
||||
|
||||
// MemoryGB is the amount of RAM per node in Gigabytes.
|
||||
// +required
|
||||
// +kubebuilder:validation:Minimum=1
|
||||
MemoryGB int `json:"memoryGb"`
|
||||
|
||||
// DiskGB is the root disk size per node in Gigabytes.
|
||||
// +required
|
||||
// +kubebuilder:validation:Minimum=10
|
||||
DiskGB int `json:"diskGb"`
|
||||
}
|
||||
|
||||
// ClusterBlueprintSpec defines the desired state of ClusterBlueprint
|
||||
type ClusterBlueprintSpec struct {
|
||||
// InfraBlueprintRef points to the InfraBlueprint (IBP) that manages
|
||||
// the quotas and provider details for this cluster.
|
||||
// +required
|
||||
InfraBlueprintRef string `json:"infraBlueprintRef"`
|
||||
|
||||
// KubernetesVersion is the target RKE2/K3s version (e.g., v1.28.0+rke2r1).
|
||||
// +required
|
||||
KubernetesVersion string `json:"kubernetesVersion"`
|
||||
|
||||
// ControlPlaneHA determines if we provision 3 CP nodes (true) or 1 (false).
|
||||
// +optional
|
||||
ControlPlaneHA bool `json:"controlPlaneHA"`
|
||||
|
||||
// WorkerPools is the list of worker node groups to provision.
|
||||
// +optional
|
||||
WorkerPools []GenericPoolReq `json:"workerPools,omitempty"`
|
||||
}
|
||||
|
||||
// IdentityStatus tracks the generated cloud provider identity
|
||||
type IdentityStatus struct {
|
||||
// SecretRef is the name of the generated secret used by this cluster.
|
||||
SecretRef string `json:"secretRef,omitempty"`
|
||||
|
||||
// ServiceAccount is the name of the SA created on the provider (if applicable).
|
||||
ServiceAccount string `json:"serviceAccount,omitempty"`
|
||||
}
|
||||
|
||||
// ClusterBlueprintStatus defines the observed state of ClusterBlueprint
|
||||
type ClusterBlueprintStatus struct {
|
||||
// Ready indicates if the Helm Chart has been successfully applied.
|
||||
Ready bool `json:"ready"`
|
||||
|
||||
// Identity tracks the cloud credentials generated for this cluster.
|
||||
// +optional
|
||||
Identity *IdentityStatus `json:"identity,omitempty"`
|
||||
|
||||
// Phase can be "Pending", "Provisioning", "Deployed", or "Failed"
|
||||
// +optional
|
||||
Phase string `json:"phase,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:resource:shortName=cbp
|
||||
// +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase"
|
||||
// +kubebuilder:printcolumn:name="K8s Version",type="string",JSONPath=".spec.kubernetesVersion"
|
||||
// +kubebuilder:printcolumn:name="Infra",type="string",JSONPath=".spec.infraBlueprintRef"
|
||||
type ClusterBlueprint struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec ClusterBlueprintSpec `json:"spec,omitempty"`
|
||||
Status ClusterBlueprintStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
type ClusterBlueprintList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []ClusterBlueprint `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&ClusterBlueprint{}, &ClusterBlueprintList{})
|
||||
}
|
||||
36
deploy/rig-operator/api/v1alpha1/groupversion_info.go
Normal file
36
deploy/rig-operator/api/v1alpha1/groupversion_info.go
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
Copyright 2026.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Package v1alpha1 contains API Schema definitions for the rig v1alpha1 API group.
|
||||
// +kubebuilder:object:generate=true
|
||||
// +groupName=rig.appstack.io
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"sigs.k8s.io/controller-runtime/pkg/scheme"
|
||||
)
|
||||
|
||||
var (
|
||||
// GroupVersion is group version used to register these objects.
|
||||
GroupVersion = schema.GroupVersion{Group: "rig.appstack.io", Version: "v1alpha1"}
|
||||
|
||||
// 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
|
||||
)
|
||||
59
deploy/rig-operator/api/v1alpha1/harvesterblueprint_types.go
Normal file
59
deploy/rig-operator/api/v1alpha1/harvesterblueprint_types.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// HarvesterBlueprintSpec defines the desired state of HarvesterBlueprint
|
||||
type HarvesterBlueprintSpec struct {
|
||||
// HarvesterURL is the endpoint of the Harvester cluster (e.g. https://10.x.x.x:6443).
|
||||
// This replaces the need for auto-discovery.
|
||||
// +required
|
||||
HarvesterURL string `json:"harvesterUrl"`
|
||||
|
||||
// VmNamespace is the namespace in Harvester where VMs will be created.
|
||||
// +required
|
||||
VmNamespace string `json:"vmNamespace"`
|
||||
|
||||
// ImageName is the specific image name in Harvester to clone (e.g. image-abcde).
|
||||
// +required
|
||||
ImageName string `json:"imageName"`
|
||||
|
||||
// NetworkName is the VM Network to attach to the nodes.
|
||||
// +required
|
||||
NetworkName string `json:"networkName"`
|
||||
|
||||
// SshUser is the username to configure on the VM (e.g. ubuntu, rancher).
|
||||
// +required
|
||||
SshUser string `json:"sshUser"`
|
||||
}
|
||||
|
||||
// HarvesterBlueprintStatus defines the observed state of HarvesterBlueprint
|
||||
type HarvesterBlueprintStatus struct {
|
||||
// Ready indicates the configuration is valid (optional future use)
|
||||
Ready bool `json:"ready,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:resource:shortName=hbp
|
||||
type HarvesterBlueprint struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec HarvesterBlueprintSpec `json:"spec,omitempty"`
|
||||
Status HarvesterBlueprintStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
|
||||
// HarvesterBlueprintList contains a list of HarvesterBlueprint
|
||||
type HarvesterBlueprintList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []HarvesterBlueprint `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&HarvesterBlueprint{}, &HarvesterBlueprintList{})
|
||||
}
|
||||
112
deploy/rig-operator/api/v1alpha1/infrablueprint_types.go
Normal file
112
deploy/rig-operator/api/v1alpha1/infrablueprint_types.go
Normal file
@@ -0,0 +1,112 @@
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// InfraQuota defines the resource limits for this infrastructure account
|
||||
type InfraQuota struct {
|
||||
// MaxCPU is the total number of cores allowed across all clusters
|
||||
// +optional
|
||||
MaxCPU int `json:"maxCpu,omitempty"`
|
||||
|
||||
// MaxMemoryGB is the total RAM (in GB) allowed across all clusters
|
||||
// +optional
|
||||
MaxMemoryGB int `json:"maxMemoryGb,omitempty"`
|
||||
|
||||
// MaxDiskGB is the total Storage (in GB) allowed across all clusters
|
||||
// +optional
|
||||
MaxDiskGB int `json:"maxDiskGb,omitempty"`
|
||||
}
|
||||
|
||||
// InfraQuotaStatus tracks current usage
|
||||
type InfraQuotaStatus struct {
|
||||
// UsedCPU is the sum of cores currently provisioned
|
||||
UsedCPU int `json:"usedCpu"`
|
||||
|
||||
// UsedMemoryGB is the sum of RAM currently provisioned
|
||||
UsedMemoryGB int `json:"usedMemoryGb"`
|
||||
|
||||
// UsedDiskGB tracks storage consumption
|
||||
UsedDiskGB int `json:"usedDiskGb"`
|
||||
}
|
||||
|
||||
// ProviderRef points to the specific provider configuration (HBP or VBP)
|
||||
type ProviderRef struct {
|
||||
// Kind is the type of resource being referenced (e.g., HarvesterBlueprint)
|
||||
// +required
|
||||
Kind string `json:"kind"`
|
||||
|
||||
// Name is the name of resource being referenced
|
||||
// +required
|
||||
Name string `json:"name"`
|
||||
|
||||
// APIGroup defaults to rig.appstack.io if not specified
|
||||
// +optional
|
||||
APIGroup string `json:"apiGroup,omitempty"`
|
||||
}
|
||||
|
||||
// InfraBlueprintSpec defines the desired state of InfraBlueprint
|
||||
type InfraBlueprintSpec struct {
|
||||
// RancherURL is the public URL of the Rancher Manager (e.g. https://rancher.example.com)
|
||||
// This is injected into the Helm Chart to register the cluster.
|
||||
// +required
|
||||
RancherURL string `json:"rancherUrl"`
|
||||
|
||||
// CloudCredentialSecret is the name of the Secret containing the
|
||||
// master cloud credentials (e.g., kubeconfig or username/password).
|
||||
// +required
|
||||
CloudCredentialSecret string `json:"cloudCredentialSecret"`
|
||||
|
||||
// ProviderRef points to the technical configuration (HarvesterBlueprint/VsphereBlueprint).
|
||||
// +required
|
||||
ProviderRef ProviderRef `json:"providerRef"`
|
||||
|
||||
// Quota defines the maximum resources allocatable by this Infra.
|
||||
// +optional
|
||||
Quota InfraQuota `json:"quota,omitempty"`
|
||||
|
||||
// UserData is the default cloud-init user data for all clusters in this Infra.
|
||||
// +optional
|
||||
UserData string `json:"userData,omitempty"`
|
||||
}
|
||||
|
||||
// InfraBlueprintStatus defines the observed state of InfraBlueprint
|
||||
type InfraBlueprintStatus struct {
|
||||
// Ready indicates the provider connection is verified
|
||||
Ready bool `json:"ready,omitempty"`
|
||||
|
||||
// Usage tracks the current resource consumption
|
||||
Usage InfraQuotaStatus `json:"usage,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:resource:shortName=ibp
|
||||
// +kubebuilder:printcolumn:name="Ready",type="boolean",JSONPath=".status.ready"
|
||||
// +kubebuilder:printcolumn:name="MaxCPU",type="integer",JSONPath=".spec.quota.maxCpu"
|
||||
// +kubebuilder:printcolumn:name="UsedCPU",type="integer",JSONPath=".status.usage.usedCpu"
|
||||
// +kubebuilder:printcolumn:name="MaxMem(GB)",type="integer",JSONPath=".spec.quota.maxMemoryGb"
|
||||
// +kubebuilder:printcolumn:name="UsedMem(GB)",type="integer",JSONPath=".status.usage.usedMemoryGb"
|
||||
// +kubebuilder:printcolumn:name="MaxDisk(GB)",type="integer",JSONPath=".spec.quota.maxDiskGb"
|
||||
// +kubebuilder:printcolumn:name="UsedDisk(GB)",type="integer",JSONPath=".status.usage.usedDiskGb"
|
||||
type InfraBlueprint struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec InfraBlueprintSpec `json:"spec,omitempty"`
|
||||
Status InfraBlueprintStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
|
||||
// InfraBlueprintList contains a list of InfraBlueprint
|
||||
type InfraBlueprintList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []InfraBlueprint `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&InfraBlueprint{}, &InfraBlueprintList{})
|
||||
}
|
||||
67
deploy/rig-operator/api/v1alpha1/vsphereblueprint_types.go
Normal file
67
deploy/rig-operator/api/v1alpha1/vsphereblueprint_types.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
// VsphereBlueprintSpec defines the desired state of VsphereBlueprint
|
||||
type VsphereBlueprintSpec struct {
|
||||
// vCenter address (e.g. vcenter.example.com)
|
||||
// +required
|
||||
VCenter string `json:"vCenter"`
|
||||
|
||||
// Datacenter name (e.g. NL001)
|
||||
// +required
|
||||
Datacenter string `json:"datacenter"`
|
||||
|
||||
// Folder path where VMs will be organized (e.g. "ICT Digitalisation - Rancher")
|
||||
// +required
|
||||
Folder string `json:"folder"`
|
||||
|
||||
// ResourcePool path (e.g. "NL001 Development - Rancher/Resources")
|
||||
// +required
|
||||
ResourcePool string `json:"resourcePool"`
|
||||
|
||||
// DatastoreCluster or Datastore name (e.g. "NL001 Development - Rancher SDRS")
|
||||
// +required
|
||||
Datastore string `json:"datastore"`
|
||||
|
||||
// Network name to attach to (e.g. "nl001.vDS.Distri.Vlan.1542")
|
||||
// +required
|
||||
Network string `json:"network"`
|
||||
|
||||
// Template is the VM template name to clone from
|
||||
// +required
|
||||
Template string `json:"template"`
|
||||
}
|
||||
|
||||
// VsphereBlueprintStatus defines the observed state
|
||||
type VsphereBlueprintStatus struct {
|
||||
Ready bool `json:"ready,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +kubebuilder:subresource:status
|
||||
// +kubebuilder:resource:shortName=vbp
|
||||
|
||||
// VsphereBlueprint is the Schema for the vsphereblueprints API
|
||||
type VsphereBlueprint struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
Spec VsphereBlueprintSpec `json:"spec,omitempty"`
|
||||
Status VsphereBlueprintStatus `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
|
||||
// VsphereBlueprintList contains a list of VsphereBlueprint
|
||||
type VsphereBlueprintList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []VsphereBlueprint `json:"items"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
SchemeBuilder.Register(&VsphereBlueprint{}, &VsphereBlueprintList{})
|
||||
}
|
||||
469
deploy/rig-operator/api/v1alpha1/zz_generated.deepcopy.go
Normal file
469
deploy/rig-operator/api/v1alpha1/zz_generated.deepcopy.go
Normal file
@@ -0,0 +1,469 @@
|
||||
//go:build !ignore_autogenerated
|
||||
|
||||
/*
|
||||
Copyright 2026.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by controller-gen. DO NOT EDIT.
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ClusterBlueprint) DeepCopyInto(out *ClusterBlueprint) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
in.Spec.DeepCopyInto(&out.Spec)
|
||||
in.Status.DeepCopyInto(&out.Status)
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBlueprint.
|
||||
func (in *ClusterBlueprint) DeepCopy() *ClusterBlueprint {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ClusterBlueprint)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *ClusterBlueprint) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ClusterBlueprintList) DeepCopyInto(out *ClusterBlueprintList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]ClusterBlueprint, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBlueprintList.
|
||||
func (in *ClusterBlueprintList) DeepCopy() *ClusterBlueprintList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ClusterBlueprintList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *ClusterBlueprintList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ClusterBlueprintSpec) DeepCopyInto(out *ClusterBlueprintSpec) {
|
||||
*out = *in
|
||||
if in.WorkerPools != nil {
|
||||
in, out := &in.WorkerPools, &out.WorkerPools
|
||||
*out = make([]GenericPoolReq, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBlueprintSpec.
|
||||
func (in *ClusterBlueprintSpec) DeepCopy() *ClusterBlueprintSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ClusterBlueprintSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ClusterBlueprintStatus) DeepCopyInto(out *ClusterBlueprintStatus) {
|
||||
*out = *in
|
||||
if in.Identity != nil {
|
||||
in, out := &in.Identity, &out.Identity
|
||||
*out = new(IdentityStatus)
|
||||
**out = **in
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBlueprintStatus.
|
||||
func (in *ClusterBlueprintStatus) DeepCopy() *ClusterBlueprintStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ClusterBlueprintStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GenericPoolReq) DeepCopyInto(out *GenericPoolReq) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericPoolReq.
|
||||
func (in *GenericPoolReq) DeepCopy() *GenericPoolReq {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GenericPoolReq)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *HarvesterBlueprint) DeepCopyInto(out *HarvesterBlueprint) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
out.Spec = in.Spec
|
||||
out.Status = in.Status
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterBlueprint.
|
||||
func (in *HarvesterBlueprint) DeepCopy() *HarvesterBlueprint {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(HarvesterBlueprint)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *HarvesterBlueprint) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *HarvesterBlueprintList) DeepCopyInto(out *HarvesterBlueprintList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]HarvesterBlueprint, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterBlueprintList.
|
||||
func (in *HarvesterBlueprintList) DeepCopy() *HarvesterBlueprintList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(HarvesterBlueprintList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *HarvesterBlueprintList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *HarvesterBlueprintSpec) DeepCopyInto(out *HarvesterBlueprintSpec) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterBlueprintSpec.
|
||||
func (in *HarvesterBlueprintSpec) DeepCopy() *HarvesterBlueprintSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(HarvesterBlueprintSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *HarvesterBlueprintStatus) DeepCopyInto(out *HarvesterBlueprintStatus) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarvesterBlueprintStatus.
|
||||
func (in *HarvesterBlueprintStatus) DeepCopy() *HarvesterBlueprintStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(HarvesterBlueprintStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *IdentityStatus) DeepCopyInto(out *IdentityStatus) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityStatus.
|
||||
func (in *IdentityStatus) DeepCopy() *IdentityStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(IdentityStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraBlueprint) DeepCopyInto(out *InfraBlueprint) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
out.Spec = in.Spec
|
||||
out.Status = in.Status
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraBlueprint.
|
||||
func (in *InfraBlueprint) DeepCopy() *InfraBlueprint {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraBlueprint)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *InfraBlueprint) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraBlueprintList) DeepCopyInto(out *InfraBlueprintList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]InfraBlueprint, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraBlueprintList.
|
||||
func (in *InfraBlueprintList) DeepCopy() *InfraBlueprintList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraBlueprintList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *InfraBlueprintList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraBlueprintSpec) DeepCopyInto(out *InfraBlueprintSpec) {
|
||||
*out = *in
|
||||
out.ProviderRef = in.ProviderRef
|
||||
out.Quota = in.Quota
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraBlueprintSpec.
|
||||
func (in *InfraBlueprintSpec) DeepCopy() *InfraBlueprintSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraBlueprintSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraBlueprintStatus) DeepCopyInto(out *InfraBlueprintStatus) {
|
||||
*out = *in
|
||||
out.Usage = in.Usage
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraBlueprintStatus.
|
||||
func (in *InfraBlueprintStatus) DeepCopy() *InfraBlueprintStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraBlueprintStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraQuota) DeepCopyInto(out *InfraQuota) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraQuota.
|
||||
func (in *InfraQuota) DeepCopy() *InfraQuota {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraQuota)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *InfraQuotaStatus) DeepCopyInto(out *InfraQuotaStatus) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraQuotaStatus.
|
||||
func (in *InfraQuotaStatus) DeepCopy() *InfraQuotaStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(InfraQuotaStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ProviderRef) DeepCopyInto(out *ProviderRef) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRef.
|
||||
func (in *ProviderRef) DeepCopy() *ProviderRef {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ProviderRef)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VsphereBlueprint) DeepCopyInto(out *VsphereBlueprint) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
out.Spec = in.Spec
|
||||
out.Status = in.Status
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereBlueprint.
|
||||
func (in *VsphereBlueprint) DeepCopy() *VsphereBlueprint {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(VsphereBlueprint)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *VsphereBlueprint) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VsphereBlueprintList) DeepCopyInto(out *VsphereBlueprintList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]VsphereBlueprint, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereBlueprintList.
|
||||
func (in *VsphereBlueprintList) DeepCopy() *VsphereBlueprintList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(VsphereBlueprintList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *VsphereBlueprintList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VsphereBlueprintSpec) DeepCopyInto(out *VsphereBlueprintSpec) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereBlueprintSpec.
|
||||
func (in *VsphereBlueprintSpec) DeepCopy() *VsphereBlueprintSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(VsphereBlueprintSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VsphereBlueprintStatus) DeepCopyInto(out *VsphereBlueprintStatus) {
|
||||
*out = *in
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereBlueprintStatus.
|
||||
func (in *VsphereBlueprintStatus) DeepCopy() *VsphereBlueprintStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(VsphereBlueprintStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
Reference in New Issue
Block a user