v1alpha1

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the CAPI extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=caren.nutanix.com

Index

Constants

View Source
const (
	AddonStrategyClusterResourceSet   AddonStrategy = "ClusterResourceSet"
	AddonStrategyHelmAddon            AddonStrategy = "HelmAddon"
	VolumeBindingImmediate                          = storagev1.VolumeBindingImmediate
	VolumeBindingWaitForFirstConsumer               = storagev1.VolumeBindingWaitForFirstConsumer

	VolumeReclaimRecycle = corev1.PersistentVolumeReclaimRecycle
	VolumeReclaimDelete  = corev1.PersistentVolumeReclaimDelete
	VolumeReclaimRetain  = corev1.PersistentVolumeReclaimRetain
)
View Source
const (
	CNIProviderCalico                     = "Calico"
	CNIProviderCilium                     = "Cilium"
	AWSEBSProvisioner  StorageProvisioner = "ebs.csi.aws.com"
	NutanixProvisioner StorageProvisioner = "csi.nutanix.com"

	CSIProviderAWSEBS  = "aws-ebs"
	CSIProviderNutanix = "nutanix"

	CCMProviderAWS     = "aws"
	CCMProviderNutanix = "nutanix"
)
View Source
const (
	APIServerPort = 6443

	VirtualIPProviderKubeVIP = "KubeVIP"
)
View Source
const (
	// CNIVariableName is the CNI external patch variable name.
	CNIVariableName = "cni"
	// NFDVariableName is the NFD external patch variable name.
	NFDVariableName = "nfd"
	// ClusterAutoscalerVariableName is the cluster-autoscaler external patch variable name.
	ClusterAutoscalerVariableName = "clusterAutoscaler"
	// AWSVariableName is the AWS config patch variable name.
	AWSVariableName = "aws"
	// NutanixVariableName is the Nutanix config patch variable name.
	NutanixVariableName = "nutanix"
)
View Source
const APIGroup = "caren.nutanix.com"
View Source
const (
	DefaultPrismCentralPort = 9440
)

Variables

View Source
var (
	DefaultDockerCertSANs = []string{
		"localhost",
		"127.0.0.1",
		"0.0.0.0",
		"host.docker.internal",
	}

	DefaultNutanixCertSANs = []string{
		"localhost",
		"127.0.0.1",
		"0.0.0.0",
	}
)
View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: APIGroup, 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
)

Functions

This section is empty.

Types

type AMILookup

type AMILookup struct {
	// AMI naming format. Supports substitutions for {{.BaseOS}} and {{.K8sVersion}} with the
	// base OS and kubernetes version.
	// +kubebuilder:example=`capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-*`
	// +optional
	Format string `json:"format,omitempty"`

	// The AWS Organization ID to use for image lookup.
	// +optional
	Org string `json:"org,omitempty"`

	// The name of the base os for image lookup
	// +optional
	BaseOS string `json:"baseOS,omitempty"`
}

func (*AMILookup) DeepCopy

func (in *AMILookup) DeepCopy() *AMILookup

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

func (*AMILookup) DeepCopyInto

func (in *AMILookup) DeepCopyInto(out *AMILookup)

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

type AMISpec

type AMISpec struct {
	// AMI ID is the reference to the AMI from which to create the machine instance.
	// +optional
	ID string `json:"id,omitempty"`

	// Lookup is the lookup arguments for the AMI.
	// +optional
	Lookup *AMILookup `json:"lookup,omitempty"`
}

func (*AMISpec) DeepCopy

func (in *AMISpec) DeepCopy() *AMISpec

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

func (*AMISpec) DeepCopyInto

func (in *AMISpec) DeepCopyInto(out *AMISpec)

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

type AWSClusterConfig added in v0.8.0

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

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

AWSClusterConfig is the Schema for the awsclusterconfigs API.

func (*AWSClusterConfig) DeepCopy added in v0.8.0

func (in *AWSClusterConfig) DeepCopy() *AWSClusterConfig

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

func (*AWSClusterConfig) DeepCopyInto added in v0.8.0

func (in *AWSClusterConfig) DeepCopyInto(out *AWSClusterConfig)

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

func (*AWSClusterConfig) DeepCopyObject added in v0.8.0

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

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

func (AWSClusterConfig) VariableSchema added in v0.8.0

func (s AWSClusterConfig) VariableSchema() clusterv1.VariableSchema

type AWSClusterConfigSpec added in v0.8.0

type AWSClusterConfigSpec struct {
	// AWS cluster configuration.
	// +optional
	AWS *AWSSpec `json:"aws,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +optional
	ControlPlane *AWSControlPlaneNodeConfigSpec `json:"controlPlane,omitempty"`

	// Extra Subject Alternative Names for the API Server signing cert.
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	// +optional
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

AWSClusterConfigSpec defines the desired state of ClusterConfig.

func (*AWSClusterConfigSpec) DeepCopy added in v0.8.0

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

func (*AWSClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *AWSClusterConfigSpec) DeepCopyInto(out *AWSClusterConfigSpec)

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

type AWSControlPlaneNodeConfigSpec added in v0.8.0

type AWSControlPlaneNodeConfigSpec struct {
	// +optional
	AWS *AWSControlPlaneNodeSpec `json:"aws,omitempty"`
}

AWSControlPlaneConfigSpec defines the desired state of AWSNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.

func (*AWSControlPlaneNodeConfigSpec) DeepCopy added in v0.8.0

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

func (*AWSControlPlaneNodeConfigSpec) DeepCopyInto added in v0.8.0

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

type AWSControlPlaneNodeSpec added in v0.8.0

type AWSControlPlaneNodeSpec struct {
	// The IAM instance profile to use for the cluster Machines.
	// +kubebuilder:default=control-plane.cluster-api-provider-aws.sigs.k8s.io
	// +optional
	IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"`

	// +kubebuilder:default=m5.xlarge
	// +optional
	InstanceType string `json:"instanceType,omitempty"`

	AWSGenericNodeSpec `json:",inline"`
}

func (*AWSControlPlaneNodeSpec) DeepCopy added in v0.8.0

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

func (*AWSControlPlaneNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSControlPlaneNodeSpec) DeepCopyInto(out *AWSControlPlaneNodeSpec)

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

type AWSGenericNodeSpec added in v0.8.0

type AWSGenericNodeSpec struct {
	// AMI or AMI Lookup arguments for machine image of a AWS machine.
	// If both AMI ID and AMI lookup arguments are provided then AMI ID takes precedence
	//+optional
	AMISpec *AMISpec `json:"ami,omitempty"`

	//+optional
	AdditionalSecurityGroups AdditionalSecurityGroup `json:"additionalSecurityGroups,omitempty"`
}

func (*AWSGenericNodeSpec) DeepCopy added in v0.8.0

func (in *AWSGenericNodeSpec) DeepCopy() *AWSGenericNodeSpec

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

func (*AWSGenericNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSGenericNodeSpec) DeepCopyInto(out *AWSGenericNodeSpec)

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

type AWSLoadBalancerSpec

type AWSLoadBalancerSpec struct {
	// Scheme sets the scheme of the load balancer.
	// +kubebuilder:default=internet-facing
	// +kubebuilder:validation:Enum=internet-facing;internal
	// +optional
	Scheme *capav1.ELBScheme `json:"scheme,omitempty"`
}

AWSLoadBalancerSpec configures an AWS control-plane LoadBalancer.

func (*AWSLoadBalancerSpec) DeepCopy

func (in *AWSLoadBalancerSpec) DeepCopy() *AWSLoadBalancerSpec

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

func (*AWSLoadBalancerSpec) DeepCopyInto

func (in *AWSLoadBalancerSpec) DeepCopyInto(out *AWSLoadBalancerSpec)

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

type AWSNetwork

type AWSNetwork struct {
	// +optional
	VPC *VPC `json:"vpc,omitempty"`

	// AWS Subnet configuration.
	// +optional
	Subnets Subnets `json:"subnets,omitempty"`
}

func (*AWSNetwork) DeepCopy

func (in *AWSNetwork) DeepCopy() *AWSNetwork

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

func (*AWSNetwork) DeepCopyInto

func (in *AWSNetwork) DeepCopyInto(out *AWSNetwork)

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

type AWSSpec

type AWSSpec struct {
	// AWS region to create cluster in.
	// +optional
	Region *Region `json:"region,omitempty"`
	// AWS network configuration.
	// +optional
	Network *AWSNetwork `json:"network,omitempty"`
	// +optional
	ControlPlaneLoadBalancer *AWSLoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"`
}

func (*AWSSpec) DeepCopy

func (in *AWSSpec) DeepCopy() *AWSSpec

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

func (*AWSSpec) DeepCopyInto

func (in *AWSSpec) DeepCopyInto(out *AWSSpec)

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

type AWSWorkerNodeConfig added in v0.8.0

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

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

AWSWorkerNodeConfig is the Schema for the awsnodeconfigs API.

func (*AWSWorkerNodeConfig) DeepCopy added in v0.8.0

func (in *AWSWorkerNodeConfig) DeepCopy() *AWSWorkerNodeConfig

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

func (*AWSWorkerNodeConfig) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeConfig) DeepCopyInto(out *AWSWorkerNodeConfig)

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

func (*AWSWorkerNodeConfig) DeepCopyObject added in v0.8.0

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

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

func (AWSWorkerNodeConfig) VariableSchema added in v0.8.0

func (s AWSWorkerNodeConfig) VariableSchema() clusterv1.VariableSchema

type AWSWorkerNodeConfigSpec added in v0.8.0

type AWSWorkerNodeConfigSpec struct {
	// +optional
	AWS *AWSWorkerNodeSpec `json:"aws,omitempty"`
}

AWSWorkerNodeConfigSpec defines the desired state of AWSNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.

func (*AWSWorkerNodeConfigSpec) DeepCopy added in v0.8.0

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

func (*AWSWorkerNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeConfigSpec) DeepCopyInto(out *AWSWorkerNodeConfigSpec)

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

type AWSWorkerNodeSpec added in v0.8.0

type AWSWorkerNodeSpec struct {
	// The IAM instance profile to use for the cluster Machines.
	// +kubebuilder:default=nodes.cluster-api-provider-aws.sigs.k8s.io
	// +optional
	IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"`

	// The AWS instance type to use for the cluster Machines.
	// +kubebuilder:default=m5.2xlarge
	// +optional
	InstanceType string `json:"instanceType,omitempty"`

	AWSGenericNodeSpec `json:",inline"`
}

func (*AWSWorkerNodeSpec) DeepCopy added in v0.8.0

func (in *AWSWorkerNodeSpec) DeepCopy() *AWSWorkerNodeSpec

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

func (*AWSWorkerNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeSpec) DeepCopyInto(out *AWSWorkerNodeSpec)

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

type AdditionalSecurityGroup

type AdditionalSecurityGroup []SecurityGroup

func (AdditionalSecurityGroup) DeepCopy

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

func (AdditionalSecurityGroup) DeepCopyInto

func (in AdditionalSecurityGroup) DeepCopyInto(out *AdditionalSecurityGroup)

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

type AddonStrategy

type AddonStrategy string

type Addons

type Addons struct {
	// +optional
	CNI *CNI `json:"cni,omitempty"`

	// +optional
	NFD *NFD `json:"nfd,omitempty"`

	// +optional
	ClusterAutoscaler *ClusterAutoscaler `json:"clusterAutoscaler,omitempty"`

	// +optional
	CCM *CCM `json:"ccm,omitempty"`

	// +optional
	CSIProviders *CSI `json:"csi,omitempty"`
}

func (*Addons) DeepCopy

func (in *Addons) DeepCopy() *Addons

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

func (*Addons) DeepCopyInto

func (in *Addons) DeepCopyInto(out *Addons)

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

type CCM

type CCM struct {
	// A reference to the Secret for credential information for the target Prism Central instance
	// +optional
	Credentials *corev1.LocalObjectReference `json:"credentials,omitempty"`
}

CCM tells us to enable or disable the cloud provider interface.

func (*CCM) DeepCopy

func (in *CCM) DeepCopy() *CCM

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

func (*CCM) DeepCopyInto

func (in *CCM) DeepCopyInto(out *CCM)

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

type CNI

type CNI struct {
	// CNI provider to deploy.
	// +kubebuilder:validation:Enum=Calico;Cilium
	Provider string `json:"provider"`
	// Addon strategy used to deploy the CNI provider to the workload cluster.
	// +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
	Strategy AddonStrategy `json:"strategy"`
}

CNI required for providing CNI configuration.

func (*CNI) DeepCopy

func (in *CNI) DeepCopy() *CNI

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

func (*CNI) DeepCopyInto

func (in *CNI) DeepCopyInto(out *CNI)

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

type CSI

type CSI struct {
	// +optional
	Providers []CSIProvider `json:"providers,omitempty"`
	// +optional
	DefaultStorage *DefaultStorage `json:"defaultStorage,omitempty"`
}

func (*CSI) DeepCopy

func (in *CSI) DeepCopy() *CSI

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

func (*CSI) DeepCopyInto

func (in *CSI) DeepCopyInto(out *CSI)

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

type CSIProvider

type CSIProvider struct {
	// Name of the CSI Provider.
	// +kubebuilder:validation:Enum=aws-ebs;nutanix
	Name string `json:"name"`

	// +optional
	StorageClassConfig []StorageClassConfig `json:"storageClassConfig,omitempty"`

	// Addon strategy used to deploy the CSI provider to the workload cluster.
	// +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
	Strategy AddonStrategy `json:"strategy"`

	// The reference to any secret used by the CSI Provider.
	// +optional
	Credentials *corev1.LocalObjectReference `json:"credentials,omitempty"`
}

func (*CSIProvider) DeepCopy

func (in *CSIProvider) DeepCopy() *CSIProvider

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

func (*CSIProvider) DeepCopyInto

func (in *CSIProvider) DeepCopyInto(out *CSIProvider)

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

type ClusterAutoscaler

type ClusterAutoscaler struct {
	// Addon strategy used to deploy cluster-autoscaler to the management cluster
	// targeting the workload cluster.
	// +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
	Strategy AddonStrategy `json:"strategy"`
}

ClusterAutoscaler tells us to enable or disable the cluster-autoscaler addon.

func (*ClusterAutoscaler) DeepCopy

func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler

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

func (*ClusterAutoscaler) DeepCopyInto

func (in *ClusterAutoscaler) DeepCopyInto(out *ClusterAutoscaler)

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

type ControlPlaneEndpointSpec

type ControlPlaneEndpointSpec struct {
	// The hostname on which the API server is serving.
	// +kubebuilder:validation:MinLength=1
	Host string `json:"host"`

	// The port on which the API server is serving.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Configuration for the virtual IP provider.
	// +optional
	VirtualIPSpec *ControlPlaneVirtualIPSpec `json:"virtualIP,omitempty"`
}

func (*ControlPlaneEndpointSpec) DeepCopy

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

func (*ControlPlaneEndpointSpec) DeepCopyInto

func (in *ControlPlaneEndpointSpec) DeepCopyInto(out *ControlPlaneEndpointSpec)

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

type ControlPlaneVirtualIPSpec added in v0.8.0

type ControlPlaneVirtualIPSpec struct {
	// Virtual IP provider to deploy.
	// +kubebuilder:validation:Enum=KubeVIP
	// +kubebuilder:default=KubeVIP
	// +optional
	Provider string `json:"provider,omitempty"`
}

func (*ControlPlaneVirtualIPSpec) DeepCopy added in v0.8.0

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

func (*ControlPlaneVirtualIPSpec) DeepCopyInto added in v0.8.0

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

type DefaultStorage

type DefaultStorage struct {
	// Name of the CSI Provider for the default storage class.
	// +kubebuilder:validation:Enum=aws-ebs;nutanix
	ProviderName string `json:"providerName"`
	// Name of storage class config in any of the provider objects.
	StorageClassConfigName string `json:"storageClassConfigName"`
}

func (*DefaultStorage) DeepCopy

func (in *DefaultStorage) DeepCopy() *DefaultStorage

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

func (*DefaultStorage) DeepCopyInto

func (in *DefaultStorage) DeepCopyInto(out *DefaultStorage)

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

type DockerClusterConfig added in v0.8.0

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

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

DockerClusterConfig is the Schema for the dockerclusterconfigs API.

func (*DockerClusterConfig) DeepCopy added in v0.8.0

func (in *DockerClusterConfig) DeepCopy() *DockerClusterConfig

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

func (*DockerClusterConfig) DeepCopyInto added in v0.8.0

func (in *DockerClusterConfig) DeepCopyInto(out *DockerClusterConfig)

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

func (*DockerClusterConfig) DeepCopyObject added in v0.8.0

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

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

func (DockerClusterConfig) VariableSchema added in v0.8.0

func (s DockerClusterConfig) VariableSchema() clusterv1.VariableSchema

type DockerClusterConfigSpec added in v0.8.0

type DockerClusterConfigSpec struct {
	// +optional
	Docker *DockerSpec `json:"docker,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +optional
	ControlPlane *DockerNodeConfigSpec `json:"controlPlane,omitempty"`

	// Extra Subject Alternative Names for the API Server signing cert.
	// For the Nutanix provider, the following default SANs will always be added:
	// - localhost
	// - 127.0.0.1
	// - 0.0.0.0
	// - host.docker.internal
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	// +optional
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

DockerClusterConfigSpec defines the desired state of DockerClusterConfig.

func (*DockerClusterConfigSpec) DeepCopy added in v0.8.0

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

func (*DockerClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *DockerClusterConfigSpec) DeepCopyInto(out *DockerClusterConfigSpec)

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

type DockerNodeConfig added in v0.8.0

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

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

DockerNodeConfig is the Schema for the dockernodeconfigs API.

func (*DockerNodeConfig) DeepCopy added in v0.8.0

func (in *DockerNodeConfig) DeepCopy() *DockerNodeConfig

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

func (*DockerNodeConfig) DeepCopyInto added in v0.8.0

func (in *DockerNodeConfig) DeepCopyInto(out *DockerNodeConfig)

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

func (*DockerNodeConfig) DeepCopyObject added in v0.8.0

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

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

func (DockerNodeConfig) VariableSchema added in v0.8.0

func (s DockerNodeConfig) VariableSchema() clusterv1.VariableSchema

type DockerNodeConfigSpec added in v0.8.0

type DockerNodeConfigSpec struct {
	// +optional
	Docker *DockerNodeSpec `json:"docker,omitempty"`
}

DockerNodeConfigSpec defines the desired state of DockerNodeSpec.

func (*DockerNodeConfigSpec) DeepCopy added in v0.8.0

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

func (*DockerNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *DockerNodeConfigSpec) DeepCopyInto(out *DockerNodeConfigSpec)

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

type DockerNodeSpec

type DockerNodeSpec struct {
	// Custom OCI image for control plane and worker Nodes.
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*(:[\w][\w.-]{0,127})?(@[A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][0-9A-Fa-f]{32,})?$`
	// +optional
	CustomImage *string `json:"customImage,omitempty"`
}

func (*DockerNodeSpec) DeepCopy

func (in *DockerNodeSpec) DeepCopy() *DockerNodeSpec

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

func (*DockerNodeSpec) DeepCopyInto

func (in *DockerNodeSpec) DeepCopyInto(out *DockerNodeSpec)

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

type DockerSpec

type DockerSpec struct{}

func (*DockerSpec) DeepCopy

func (in *DockerSpec) DeepCopy() *DockerSpec

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

func (*DockerSpec) DeepCopyInto

func (in *DockerSpec) DeepCopyInto(out *DockerSpec)

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

type Etcd

type Etcd struct {
	// Image required for overriding etcd image details.
	// +optional
	Image *Image `json:"image,omitempty"`
}

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

type GenericClusterConfigSpec added in v0.8.0

type GenericClusterConfigSpec struct {
	// Sets the Kubernetes image repository used for the KubeadmControlPlane.
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*$`
	// +optional
	KubernetesImageRepository *string `json:"kubernetesImageRepository,omitempty"`

	// +optional
	Etcd *Etcd `json:"etcd,omitempty"`

	// +optional
	Proxy *HTTPProxy `json:"proxy,omitempty"`

	// +optional
	ImageRegistries []ImageRegistry `json:"imageRegistries,omitempty"`

	// +optional
	GlobalImageRegistryMirror *GlobalImageRegistryMirror `json:"globalImageRegistryMirror,omitempty"`

	// +optional
	Addons *Addons `json:"addons,omitempty"`

	// +optional
	Users []User `json:"users,omitempty"`
}

GenericClusterConfigSpec defines the desired state of GenericClusterConfig.

func (*GenericClusterConfigSpec) DeepCopy added in v0.8.0

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

func (*GenericClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *GenericClusterConfigSpec) DeepCopyInto(out *GenericClusterConfigSpec)

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

type GlobalImageRegistryMirror

type GlobalImageRegistryMirror struct {
	// Registry mirror URL.
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https?://`
	URL string `json:"url"`

	// Credentials and CA certificate for the image registry mirror
	// +optional
	Credentials *RegistryCredentials `json:"credentials,omitempty"`
}

GlobalImageRegistryMirror sets default mirror configuration for all the image registries.

func (*GlobalImageRegistryMirror) DeepCopy

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

func (*GlobalImageRegistryMirror) DeepCopyInto

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

type HTTPProxy

type HTTPProxy struct {
	// HTTP proxy value.
	HTTP string `json:"http,omitempty"`

	// HTTPS proxy value.
	HTTPS string `json:"https,omitempty"`

	// AdditionalNo Proxy list that will be added to the automatically calculated
	// values that will apply no_proxy configuration for cluster internal network.
	// Default values: localhost,127.0.0.1,<POD_NETWORK>,<SERVICE_NETWORK>,kubernetes
	//   ,kubernetes.default,.svc,.svc.<SERVICE_DOMAIN>
	AdditionalNo []string `json:"additionalNo"`
}

HTTPProxy required for providing proxy configuration.

func (*HTTPProxy) DeepCopy

func (in *HTTPProxy) DeepCopy() *HTTPProxy

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

func (*HTTPProxy) DeepCopyInto

func (in *HTTPProxy) DeepCopyInto(out *HTTPProxy)

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

type Image

type Image struct {
	// Repository is used to override the image repository to pull from.
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*$`
	// +optional
	Repository string `json:"repository,omitempty"`

	// Tag is used to override the default image tag.
	// +kubebuilder:validation:Pattern=`^[\w][\w.-]{0,127}$`
	// +optional
	Tag string `json:"tag,omitempty"`
}

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 ImageRegistry

type ImageRegistry struct {
	// Registry URL.
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https?://`
	URL string `json:"url"`

	// Credentials and CA certificate for the image registry
	// +optional
	Credentials *RegistryCredentials `json:"credentials,omitempty"`
}

func (*ImageRegistry) DeepCopy

func (in *ImageRegistry) DeepCopy() *ImageRegistry

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

func (*ImageRegistry) DeepCopyInto

func (in *ImageRegistry) DeepCopyInto(out *ImageRegistry)

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

type NFD

type NFD struct {
	// Addon strategy used to deploy Node Feature Discovery (NFD) to the workload cluster.
	// +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
	Strategy AddonStrategy `json:"strategy"`
}

NFD tells us to enable or disable the node feature discovery addon.

func (*NFD) DeepCopy

func (in *NFD) DeepCopy() *NFD

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

func (*NFD) DeepCopyInto

func (in *NFD) DeepCopyInto(out *NFD)

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

type NutanixBootType

type NutanixBootType capxv1.NutanixBootType

NutanixBootType is an enumeration of different boot types. +kubebuilder:validation:Required +kubebuilder:validation:Enum:=legacy;uefi

type NutanixCategoryIdentifier added in v0.8.0

type NutanixCategoryIdentifier capxv1.NutanixCategoryIdentifier

func (*NutanixCategoryIdentifier) DeepCopy added in v0.8.0

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

func (*NutanixCategoryIdentifier) DeepCopyInto added in v0.8.0

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

type NutanixClusterConfig added in v0.8.0

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

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

NutanixClusterConfig is the Schema for the nutanixclusterconfigs API.

func (*NutanixClusterConfig) DeepCopy added in v0.8.0

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

func (*NutanixClusterConfig) DeepCopyInto added in v0.8.0

func (in *NutanixClusterConfig) DeepCopyInto(out *NutanixClusterConfig)

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

func (*NutanixClusterConfig) DeepCopyObject added in v0.8.0

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

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

func (NutanixClusterConfig) VariableSchema added in v0.8.0

func (s NutanixClusterConfig) VariableSchema() clusterv1.VariableSchema

type NutanixClusterConfigSpec added in v0.8.0

type NutanixClusterConfigSpec struct {
	// +optional
	Nutanix *NutanixSpec `json:"nutanix,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +optional
	ControlPlane *NutanixNodeConfigSpec `json:"controlPlane,omitempty"`

	// Subject Alternative Names for the API Server signing cert.
	// For the Nutanix provider, the following default SANs will always be added:
	// - localhost
	// - 127.0.0.1
	// - 0.0.0.0
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	// +optional
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

NutanixClusterConfigSpec defines the desired state of NutanixClusterConfig.

func (*NutanixClusterConfigSpec) DeepCopy added in v0.8.0

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

func (*NutanixClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *NutanixClusterConfigSpec) DeepCopyInto(out *NutanixClusterConfigSpec)

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

type NutanixIdentifierType

type NutanixIdentifierType capxv1.NutanixIdentifierType

NutanixIdentifierType is an enumeration of different resource identifier types.

type NutanixMachineDetails

type NutanixMachineDetails struct {
	// vcpusPerSocket is the number of vCPUs per socket of the VM
	VCPUsPerSocket int32 `json:"vcpusPerSocket"`

	// vcpuSockets is the number of vCPU sockets of the VM
	VCPUSockets int32 `json:"vcpuSockets"`

	// memorySize is the memory size (in Quantity format) of the VM
	MemorySize resource.Quantity `json:"memorySize"`

	// image identifies the image uploaded to Prism Central (PC). The identifier
	// (uuid or name) can be obtained from the console or API.
	Image NutanixResourceIdentifier `json:"image"`

	// cluster identifies the Prism Element in which the machine will be created.
	// The identifier (uuid or name) can be obtained from the console or API.
	Cluster NutanixResourceIdentifier `json:"cluster"`

	// subnet identifies the network subnet to use for the machine.
	// The identifier (uuid or name) can be obtained from the console or API.
	Subnets []NutanixResourceIdentifier `json:"subnets"`

	// List of categories that need to be added to the machines. Categories must already
	// exist in Prism Central. One category key can have more than one value.
	// +optional
	AdditionalCategories []NutanixCategoryIdentifier `json:"additionalCategories,omitempty"`

	// Defines the boot type of the virtual machine. Only supports UEFI and Legacy
	BootType NutanixBootType `json:"bootType,omitempty"`

	// systemDiskSize is size (in Quantity format) of the system disk of the VM
	// The minimum systemDiskSize is 20Gi bytes
	SystemDiskSize resource.Quantity `json:"systemDiskSize"`

	// add the virtual machines to the project defined in Prism Central.
	// The project must already be present in the Prism Central.
	// +optional
	Project *NutanixResourceIdentifier `json:"project,omitempty"`
}

func (*NutanixMachineDetails) DeepCopy

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

func (*NutanixMachineDetails) DeepCopyInto

func (in *NutanixMachineDetails) DeepCopyInto(out *NutanixMachineDetails)

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

type NutanixNodeConfig added in v0.8.0

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

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

NutanixNodeConfig is the Schema for the nutanixnodeconfigs API.

func (*NutanixNodeConfig) DeepCopy added in v0.8.0

func (in *NutanixNodeConfig) DeepCopy() *NutanixNodeConfig

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

func (*NutanixNodeConfig) DeepCopyInto added in v0.8.0

func (in *NutanixNodeConfig) DeepCopyInto(out *NutanixNodeConfig)

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

func (*NutanixNodeConfig) DeepCopyObject added in v0.8.0

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

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

func (NutanixNodeConfig) VariableSchema added in v0.8.0

func (s NutanixNodeConfig) VariableSchema() clusterv1.VariableSchema

type NutanixNodeConfigSpec added in v0.8.0

type NutanixNodeConfigSpec struct {
	// +optional
	Nutanix *NutanixNodeSpec `json:"nutanix,omitempty"`
}

NutanixNodeSpec defines the desired state of NutanixNodeSpec.

func (*NutanixNodeConfigSpec) DeepCopy added in v0.8.0

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

func (*NutanixNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *NutanixNodeConfigSpec) DeepCopyInto(out *NutanixNodeConfigSpec)

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

type NutanixNodeSpec

type NutanixNodeSpec struct {
	MachineDetails NutanixMachineDetails `json:"machineDetails"`
}

func (*NutanixNodeSpec) DeepCopy

func (in *NutanixNodeSpec) DeepCopy() *NutanixNodeSpec

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

func (*NutanixNodeSpec) DeepCopyInto

func (in *NutanixNodeSpec) DeepCopyInto(out *NutanixNodeSpec)

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

type NutanixPrismCentralEndpointSpec

type NutanixPrismCentralEndpointSpec struct {
	// The URL of Nutanix Prism Central, can be DNS name or an IP address.
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https://`
	URL string `json:"url"`

	// use insecure connection to Prism Central endpoint
	// +optional
	Insecure bool `json:"insecure"`

	// A base64 PEM encoded x509 cert for the RootCA that was used to create
	// the certificate for a Prism Central that uses certificates that were issued by a non-publicly trusted RootCA.
	// The trust bundle is added to the cert pool used to authenticate the TLS connection to the Prism Central.
	// +kubebuilder:validation:Format=`byte`
	// +optional
	AdditionalTrustBundle *string `json:"additionalTrustBundle,omitempty"`

	// A reference to the Secret for credential information for the target Prism Central instance.
	Credentials *corev1.LocalObjectReference `json:"credentials"`
}

func (*NutanixPrismCentralEndpointSpec) DeepCopy

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

func (*NutanixPrismCentralEndpointSpec) DeepCopyInto

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

func (NutanixPrismCentralEndpointSpec) ParseURL

type NutanixResourceIdentifier

type NutanixResourceIdentifier capxv1.NutanixResourceIdentifier

func (*NutanixResourceIdentifier) DeepCopy

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

func (*NutanixResourceIdentifier) DeepCopyInto

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

type NutanixSpec

type NutanixSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// host can be either DNS name or ip address
	ControlPlaneEndpoint ControlPlaneEndpointSpec `json:"controlPlaneEndpoint"`

	// Nutanix Prism Central endpoint configuration.
	PrismCentralEndpoint NutanixPrismCentralEndpointSpec `json:"prismCentralEndpoint"`
}

NutanixSpec defines the desired state of NutanixCluster.

func (*NutanixSpec) DeepCopy

func (in *NutanixSpec) DeepCopy() *NutanixSpec

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

func (*NutanixSpec) DeepCopyInto

func (in *NutanixSpec) DeepCopyInto(out *NutanixSpec)

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

type ObjectMeta

type ObjectMeta struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: http://kubernetes.io/docs/user-guide/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.

For more details on why this is included instead of using metav1.ObjectMeta directly, see https://github.com/kubernetes-sigs/cluster-api/blob/v1.3.3/api/v1beta1/common_types.go#L175-L195.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type Region

type Region string

type RegistryCredentials

type RegistryCredentials struct {
	// A reference to the Secret containing the registry credentials and optional CA certificate
	// using the keys `username`, `password` and `ca.crt`.
	// This credentials Secret is not required for some registries, e.g. ECR.
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
}

func (*RegistryCredentials) DeepCopy

func (in *RegistryCredentials) DeepCopy() *RegistryCredentials

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

func (*RegistryCredentials) DeepCopyInto

func (in *RegistryCredentials) DeepCopyInto(out *RegistryCredentials)

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

type SecurityGroup

type SecurityGroup struct {
	// ID is the id of the security group
	// +optional
	ID string `json:"id,omitempty"`
}

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

type StorageClassConfig

type StorageClassConfig struct {
	// Name of storage class config.
	Name string `json:"name"`

	// Parameters passed into the storage class object.
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`

	// +kubebuilder:validation:Enum=Delete;Retain;Recycle
	// +kubebuilder:default=Delete
	// +optional
	ReclaimPolicy corev1.PersistentVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`

	// +kubebuilder:validation:Enum=Immediate;WaitForFirstConsumer
	// +kubebuilder:default=WaitForFirstConsumer
	// +optional
	VolumeBindingMode storagev1.VolumeBindingMode `json:"volumeBindingMode,omitempty"`

	// If the storage class should allow volume expanding
	// +kubebuilder:default=false
	// +optional
	AllowExpansion bool `json:"allowExpansion,omitempty"`
}

func (*StorageClassConfig) DeepCopy

func (in *StorageClassConfig) DeepCopy() *StorageClassConfig

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

func (*StorageClassConfig) DeepCopyInto

func (in *StorageClassConfig) DeepCopyInto(out *StorageClassConfig)

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

type StorageProvisioner

type StorageProvisioner string

type SubnetSpec

type SubnetSpec struct {
	// Existing Subnet ID to use for the cluster.
	ID string `json:"id"`
}

SubnetSpec configures an AWS Subnet.

func (*SubnetSpec) DeepCopy

func (in *SubnetSpec) DeepCopy() *SubnetSpec

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

func (*SubnetSpec) DeepCopyInto

func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)

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

type Subnets

type Subnets []SubnetSpec

func (Subnets) DeepCopy

func (in Subnets) DeepCopy() Subnets

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

func (Subnets) DeepCopyInto

func (in Subnets) DeepCopyInto(out *Subnets)

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

type User

type User struct {
	// Name specifies the user name.
	Name string `json:"name"`

	// HashedPassword is a hashed password for the user, formatted as described
	// by the crypt(5) man page. See your distribution's documentation for
	// instructions to create a hashed password.
	// An empty string is not marshalled, because it is not a valid value.
	// +optional
	HashedPassword string `json:"hashedPassword,omitempty"`

	// SSHAuthorizedKeys is a list of public SSH keys to write to the
	// machine. Use the corresponding private SSH keys to authenticate. See SSH
	// documentation for instructions to create a key pair.
	// +optional
	SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"`

	// Sudo is a sudo user specification, formatted as described in the sudo
	// documentation.
	// An empty string is not marshalled, because it is not a valid value.
	// +optional
	Sudo string `json:"sudo,omitempty"`
}

User defines the input for a generated user in cloud-init.

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

type VPC

type VPC struct {
	// Existing VPC ID to use for the cluster.
	ID string `json:"id"`
}

func (*VPC) DeepCopy

func (in *VPC) DeepCopy() *VPC

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

func (*VPC) DeepCopyInto

func (in *VPC) DeepCopyInto(out *VPC)

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