v1alpha3

package
v0.7.4 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

cloudprovider_types contains API types for the vSphere cloud provider. The configuration may be unmarshalled from an INI-style configuration using the "gopkg.in/gcfg.v1" package.

The configuration may be marshalled to an INI-style configuration using a Go template.

The "gopkg.in/go-ini/ini.v1" package was investigated, but it does not support reflecting a struct with a field of type "map[string]TYPE" to INI.

Package v1alpha3 contains API Schema definitions for the infrastructure v1alpha3 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// LoadBalancerAvailableCondition documents the status of the VSphereCluster load balancer.
	LoadBalancerAvailableCondition clusterv1.ConditionType = "LoadBalancerAvailable"

	// LoadBalancerProvisioningReason (Severity=Info) documents a VSphereCluster provisioning a load balancer.
	LoadBalancerProvisioningReason = "LoadBalancerProvisioning"

	// LoadBalancerProvisioningReason (Severity=Warning) documents a VSphereCluster controller detecting
	// while provisioning the load balancer; those kind of errors are usually transient and failed provisioning
	// are automatically re-tried by the controller.
	LoadBalancerProvisioningFailedReason = "LoadBalancerProvisioningFailed"

	// CCMAvailableCondition documents the status of the VSphereCluster cloud controller manager addon.
	CCMAvailableCondition clusterv1.ConditionType = "CCMAvailable"

	// CCMProvisioningFailedReason (Severity=Warning) documents a VSphereCluster controller detecting
	// while installing the cloud controller manager addon; those kind of errors are usually transient
	// the operation is automatically re-tried by the controller.
	CCMProvisioningFailedReason = "CCMProvisioningFailed"

	// CSIAvailableCondition documents the status of the VSphereCluster container storage interface addon.
	CSIAvailableCondition clusterv1.ConditionType = "CSIAvailable"

	// CSIProvisioningFailedReason (Severity=Warning) documents a VSphereCluster controller detecting
	// while installing the container storage interface  addon; those kind of errors are usually transient
	// the operation is automatically re-tried by the controller.
	CSIProvisioningFailedReason = "CSIProvisioningFailed"

	// VCenterAvailableCondition documents the connectivity with vcenter
	// for a given VSphereCluster
	VCenterAvailableCondition clusterv1.ConditionType = "VCenterAvailable"

	// VCenterUnreachableReason (Severity=Error) documents a VSphereCluster controller detecting
	// issues with VCenter reachability;
	VCenterUnreachableReason = "VCenterUnreachable"
)
View Source
const (
	// VMProvisionedCondition documents the status of the provisioning of a VSphereMachine and its underlying VSphereVM.
	VMProvisionedCondition clusterv1.ConditionType = "VMProvisioned"

	// WaitingForClusterInfrastructureReason (Severity=Info) documents a VSphereMachine waiting for the cluster
	// infrastructure to be ready before starting the provisioning process.
	//
	// NOTE: This reason does not apply to VSphereVM (this state happens before the VSphereVM is actually created).
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"

	// WaitingForBootstrapDataReason (Severity=Info) documents a VSphereMachine waiting for the bootstrap
	// script to be ready before starting the provisioning process.
	//
	// NOTE: This reason does not apply to VSphereVM (this state happens before the VSphereVM is actually created).
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"

	// CloningReason documents (Severity=Info) a VSphereMachine/VSphereVM currently executing the clone operation.
	CloningReason = "Cloning"

	// CloningFailedReason (Severity=Warning) documents a VSphereMachine/VSphereVM controller detecting
	// an error while provisioning; those kind of errors are usually transient and failed provisioning
	// are automatically re-tried by the controller.
	CloningFailedReason = "CloningFailed"

	// PoweringOnReason documents (Severity=Info) a VSphereMachine/VSphereVM currently executing the power on sequence.
	PoweringOnReason = "PoweringOn"

	// PoweringOnFailedReason (Severity=Warning) documents a VSphereMachine/VSphereVM controller detecting
	// an error while powering on; those kind of errors are usually transient and failed provisioning
	// are automatically re-tried by the controller.
	PoweringOnFailedReason = "PoweringOnFailed"

	// TaskFailure (Severity=Warning) documents a VSphereMachine/VSphere task failure; the reconcile look will automatically
	// retry the operation, but a user intervention might be required to fix the problem.
	TaskFailure = "TaskFailure"

	// WaitingForNetworkAddressesReason (Severity=Info) documents a VSphereMachine waiting for the the machine network
	// settings to be reported after machine being powered on.
	//
	// NOTE: This reason does not apply to VSphereVM (this state happens after the VSphereVM is in ready state).
	WaitingForNetworkAddressesReason = "WaitingForNetworkAddresses"
)
View Source
const (
	// Version is the API version.
	Version = "v1alpha3"

	// GroupName is the name of the API group.
	GroupName = "infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// AnnotationClusterInfrastructureReady indicates the cluster's
	// infrastructure sources are ready and machines may be created.
	AnnotationClusterInfrastructureReady = "vsphere.infrastructure.cluster.x-k8s.io/infrastructure-ready"

	// AnnotationControlPlaneReady indicates the cluster's control plane is
	// ready.
	AnnotationControlPlaneReady = "vsphere.infrastructure.cluster.x-k8s.io/control-plane-ready"

	// ValueReady is the ready value for *Ready annotations.
	ValueReady = "true"
)
View Source
const (
	// VirtualMachineStateNotFound is the string representing a VM that
	// cannot be located.
	VirtualMachineStateNotFound VirtualMachineState = "notfound"

	// VirtualMachineStatePending is the string representing a VM with an in-flight task.
	VirtualMachineStatePending = "pending"

	// VirtualMachineStateReady is the string representing a powered-on VM with reported IP addresses.
	VirtualMachineStateReady = "ready"
)
View Source
const (
	// VirtualMachinePowerStatePoweredOn is the string representing a VM in powered on state
	VirtualMachinePowerStatePoweredOn VirtualMachinePowerState = "poweredOn"

	// VirtualMachinePowerStatePoweredOff is the string representing a VM in powered off state
	VirtualMachinePowerStatePoweredOff = "poweredOff"

	// VirtualMachinePowerStateSuspended is the string representing a VM in suspended state
	VirtualMachinePowerStateSuspended = "suspended"
)
View Source
const (
	// ClusterFinalizer allows ReconcileVSphereCluster to clean up vSphere
	// resources associated with VSphereCluster before removing it from the
	// API server.
	ClusterFinalizer = "vspherecluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// HAProxyLoadBalancerFinalizer allows a reconciler to clean up
	// resources associated with an HAProxyLoadBalancer before removing
	// it from the API server.
	HAProxyLoadBalancerFinalizer = "haproxyloadbalancer.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileVSphereMachine to clean up VSphere
	// resources associated with VSphereMachine before removing it from the
	// API Server.
	MachineFinalizer = "vspheremachine.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// VMFinalizer allows the reconciler to clean up resources associated
	// with a VSphereVM before removing it from the API Server.
	VMFinalizer = "vspherevm.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}

	// 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

func IsEmpty

func IsEmpty(obj interface{}) bool

IsEmpty returns true if an object is its empty value or if a struct, all of its fields are their empty values.

func IsNotEmpty

func IsNotEmpty(obj interface{}) bool

IsNotEmpty returns true when IsEmpty returns false.

func WarnAsFatal

func WarnAsFatal(opts *UnmarshalINIOptions)

WarnAsFatal sets the option to treat warnings as fatal errors when unmarshalling INI data.

Types

type APIEndpoint

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

	// The port on which the API server is serving.
	Port int32 `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.

func (APIEndpoint) IsZero

func (v APIEndpoint) IsZero() bool

IsZero returns true if either the host or the port are zero values.

func (APIEndpoint) String

func (v APIEndpoint) String() string

String returns a formatted version HOST:PORT of this APIEndpoint.

type CPICloudConfig

type CPICloudConfig struct {
	ControllerImage string `json:"controllerImage,omitempty"`
	// ExtraArgs passes through extra arguments to the cloud provider.
	// The arguments here are passed to the cloud provider daemonset specification
	// +optional
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`
}

func (*CPICloudConfig) DeepCopy

func (in *CPICloudConfig) DeepCopy() *CPICloudConfig

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

func (*CPICloudConfig) DeepCopyInto

func (in *CPICloudConfig) DeepCopyInto(out *CPICloudConfig)

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

func (*CPICloudConfig) MarshalCloudProviderArgs added in v0.6.3

func (cpic *CPICloudConfig) MarshalCloudProviderArgs() []string

MarshalCloudProviderArgs marshals the cloud provider arguments for passing into a pod spec

type CPIConfig

type CPIConfig struct {
	// Global is the vSphere cloud provider's global configuration.
	// +optional
	Global CPIGlobalConfig `gcfg:"Global,omitempty" json:"global,omitempty"`

	// VCenter is a list of vCenter configurations.
	// +optional
	VCenter map[string]CPIVCenterConfig `gcfg:"VirtualCenter,omitempty" json:"virtualCenter,omitempty"`

	// Network is the vSphere cloud provider's network configuration.
	// +optional
	Network CPINetworkConfig `gcfg:"Network,omitempty" json:"network,omitempty"`

	// Disk is the vSphere cloud provider's disk configuration.
	// +optional
	Disk CPIDiskConfig `gcfg:"Disk,omitempty" json:"disk,omitempty"`

	// Workspace is the vSphere cloud provider's workspace configuration.
	// +optional
	Workspace CPIWorkspaceConfig `gcfg:"Workspace,omitempty" json:"workspace,omitempty"`

	// Labels is the vSphere cloud provider's zone and region configuration.
	// +optional
	Labels CPILabelConfig `gcfg:"Labels,omitempty" json:"labels,omitempty"`

	// CPIProviderConfig contains extra information used to configure the
	// vSphere cloud provider.
	ProviderConfig CPIProviderConfig `json:"providerConfig,omitempty"`
}

CPIConfig is the vSphere cloud provider's configuration. DEPRECATED: will be removed in v1alpha4

func (*CPIConfig) DeepCopy

func (in *CPIConfig) DeepCopy() *CPIConfig

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

func (*CPIConfig) DeepCopyInto

func (in *CPIConfig) DeepCopyInto(out *CPIConfig)

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

func (*CPIConfig) MarshalINI

func (c *CPIConfig) MarshalINI() ([]byte, error)

MarshalINI marshals the cloud provider configuration to INI-style configuration data.

func (*CPIConfig) UnmarshalINI

func (c *CPIConfig) UnmarshalINI(data []byte, optFuncs ...UnmarshalINIOptionFunc) error

UnmarshalINI unmarshals the cloud provider configuration from INI-style configuration data.

type CPIDiskConfig

type CPIDiskConfig struct {
	// SCSIControllerType defines SCSI controller to be used.
	// +optional
	SCSIControllerType string `gcfg:"scsicontrollertype,omitempty" json:"scsiControllerType,omitempty"`
}

CPIDiskConfig defines the disk configuration for the vSphere cloud provider.

func (*CPIDiskConfig) DeepCopy

func (in *CPIDiskConfig) DeepCopy() *CPIDiskConfig

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

func (*CPIDiskConfig) DeepCopyInto

func (in *CPIDiskConfig) DeepCopyInto(out *CPIDiskConfig)

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

type CPIGlobalConfig

type CPIGlobalConfig struct {
	// Insecure is a flag that disables TLS peer verification.
	// +optional
	Insecure bool `gcfg:"insecure-flag,omitempty" json:"insecure,omitempty"`

	// RoundTripperCount specifies the SOAP round tripper count
	// (retries = RoundTripper - 1)
	// +optional
	RoundTripperCount int32 `gcfg:"soap-roundtrip-count,omitempty" json:"roundTripperCount,omitempty"`

	// Username is the username used to access a vSphere endpoint.
	// +optional
	Username string `gcfg:"user,omitempty" json:"username,omitempty"`

	// Password is the password used to access a vSphere endpoint.
	// +optional
	Password string `gcfg:"password,omitempty" json:"password,omitempty"`

	// SecretName is the name of the Kubernetes secret in which the vSphere
	// credentials are located.
	// +optional
	SecretName string `gcfg:"secret-name,omitempty" json:"secretName,omitempty"`

	// SecretNamespace is the namespace for SecretName.
	// +optional
	SecretNamespace string `gcfg:"secret-namespace,omitempty" json:"secretNamespace,omitempty"`

	// Port is the port on which the vSphere endpoint is listening.
	// Defaults to 443.
	// +optional
	Port string `gcfg:"port,omitempty" json:"port,omitempty"`

	// CAFile Specifies the path to a CA certificate in PEM format.
	// If not configured, the system's CA certificates will be used.
	// +optional
	CAFile string `gcfg:"ca-file,omitempty" json:"caFile,omitempty"`

	// Thumbprint is the cryptographic thumbprint of the vSphere endpoint's
	// certificate.
	// +optional
	Thumbprint string `gcfg:"thumbprint,omitempty" json:"thumbprint,omitempty"`

	// Datacenters is a CSV string of the datacenters in which VMs are located.
	// +optional
	Datacenters string `gcfg:"datacenters,omitempty" json:"datacenters,omitempty"`

	// ServiceAccount is the Kubernetes service account used to launch the cloud
	// controller manager.
	// Defaults to cloud-controller-manager.
	// +optional
	ServiceAccount string `gcfg:"service-account,omitempty" json:"serviceAccount,omitempty"`

	// SecretsDirectory is a directory in which secrets may be found. This
	// may used in the event that:
	// 1. It is not desirable to use the K8s API to watch changes to secrets
	// 2. The cloud controller manager is not running in a K8s environment,
	//    such as DC/OS. For example, the container storage interface (CSI) is
	//    container orcehstrator (CO) agnostic, and should support non-K8s COs.
	// Defaults to /etc/cloud/credentials.
	// +optional
	SecretsDirectory string `gcfg:"secrets-directory,omitempty" json:"secretsDirectory,omitempty"`

	// APIDisable disables the vSphere cloud controller manager API.
	// Defaults to true.
	// +optional
	APIDisable *bool `gcfg:"api-disable,omitempty" json:"apiDisable,omitempty"`

	// APIBindPort configures the vSphere cloud controller manager API port.
	// Defaults to 43001.
	// +optional
	APIBindPort string `gcfg:"api-binding,omitempty" json:"apiBindPort,omitempty"`

	// ClusterID is a unique identifier for a cluster used by the vSphere CSI driver (CNS)
	// NOTE: This field is set internally by CAPV and should not be set by any other consumer of this API
	ClusterID string `gcfg:"cluster-id,omitempty" json:"-"`
}

CPIGlobalConfig is the vSphere cloud provider's global configuration.

func (*CPIGlobalConfig) DeepCopy

func (in *CPIGlobalConfig) DeepCopy() *CPIGlobalConfig

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

func (*CPIGlobalConfig) DeepCopyInto

func (in *CPIGlobalConfig) DeepCopyInto(out *CPIGlobalConfig)

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

type CPILabelConfig

type CPILabelConfig struct {
	// Zone is the zone in which VMs are created/located.
	// +optional
	Zone string `gcfg:"zone,omitempty" json:"zone,omitempty"`

	// Region is the region in which VMs are created/located.
	// +optional
	Region string `gcfg:"region,omitempty" json:"region,omitempty"`
}

CPILabelConfig defines the categories and tags which correspond to built-in node labels, zone and region.

func (*CPILabelConfig) DeepCopy

func (in *CPILabelConfig) DeepCopy() *CPILabelConfig

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

func (*CPILabelConfig) DeepCopyInto

func (in *CPILabelConfig) DeepCopyInto(out *CPILabelConfig)

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

type CPINetworkConfig

type CPINetworkConfig struct {
	// Name is the name of the network to which VMs are connected.
	// +optional
	Name string `gcfg:"public-network,omitempty" json:"name,omitempty"`
}

CPINetworkConfig is the network configuration for the vSphere cloud provider.

func (*CPINetworkConfig) DeepCopy

func (in *CPINetworkConfig) DeepCopy() *CPINetworkConfig

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

func (*CPINetworkConfig) DeepCopyInto

func (in *CPINetworkConfig) DeepCopyInto(out *CPINetworkConfig)

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

type CPIProviderConfig

type CPIProviderConfig struct {
	Cloud   *CPICloudConfig   `json:"cloud,omitempty"`
	Storage *CPIStorageConfig `json:"storage,omitempty"`
}

CPIProviderConfig defines any extra information used to configure the vSphere external cloud provider

func (*CPIProviderConfig) DeepCopy

func (in *CPIProviderConfig) DeepCopy() *CPIProviderConfig

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

func (*CPIProviderConfig) DeepCopyInto

func (in *CPIProviderConfig) DeepCopyInto(out *CPIProviderConfig)

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

type CPIStorageConfig

type CPIStorageConfig struct {
	ControllerImage     string `json:"controllerImage,omitempty"`
	NodeDriverImage     string `json:"nodeDriverImage,omitempty"`
	AttacherImage       string `json:"attacherImage,omitempty"`
	ProvisionerImage    string `json:"provisionerImage,omitempty"`
	MetadataSyncerImage string `json:"metadataSyncerImage,omitempty"`
	LivenessProbeImage  string `json:"livenessProbeImage,omitempty"`
	RegistrarImage      string `json:"registrarImage,omitempty"`
}

func (*CPIStorageConfig) DeepCopy

func (in *CPIStorageConfig) DeepCopy() *CPIStorageConfig

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

func (*CPIStorageConfig) DeepCopyInto

func (in *CPIStorageConfig) DeepCopyInto(out *CPIStorageConfig)

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

type CPIVCenterConfig

type CPIVCenterConfig struct {
	// Username is the username used to access a vSphere endpoint.
	// +optional
	Username string `gcfg:"user,omitempty" json:"username,omitempty"`

	// Password is the password used to access a vSphere endpoint.
	// +optional
	Password string `gcfg:"password,omitempty" json:"password,omitempty"`

	// Port is the port on which the vSphere endpoint is listening.
	// Defaults to 443.
	// +optional
	Port string `gcfg:"port,omitempty" json:"port,omitempty"`

	// Datacenters is a CSV string of the datacenters in which VMs are located.
	// +optional
	Datacenters string `gcfg:"datacenters,omitempty" json:"datacenters,omitempty"`

	// RoundTripperCount specifies the SOAP round tripper count
	// (retries = RoundTripper - 1)
	// +optional
	RoundTripperCount int32 `gcfg:"soap-roundtrip-count,omitempty" json:"roundTripperCount,omitempty"`

	// Thumbprint is the cryptographic thumbprint of the vSphere endpoint's
	// certificate.
	// +optional
	Thumbprint string `gcfg:"thumbprint,omitempty" json:"thumbprint,omitempty"`
}

CPIVCenterConfig is a vSphere cloud provider's vCenter configuration.

func (*CPIVCenterConfig) DeepCopy

func (in *CPIVCenterConfig) DeepCopy() *CPIVCenterConfig

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

func (*CPIVCenterConfig) DeepCopyInto

func (in *CPIVCenterConfig) DeepCopyInto(out *CPIVCenterConfig)

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

type CPIWorkspaceConfig

type CPIWorkspaceConfig struct {
	// Server is the IP address or FQDN of the vSphere endpoint.
	// +optional
	Server string `gcfg:"server,omitempty" json:"server,omitempty"`

	// Datacenter is the datacenter in which VMs are created/located.
	// +optional
	Datacenter string `gcfg:"datacenter,omitempty" json:"datacenter,omitempty"`

	// Folder is the folder in which VMs are created/located.
	// +optional
	Folder string `gcfg:"folder,omitempty" json:"folder,omitempty"`

	// Datastore is the datastore in which VMs are created/located.
	// +optional
	Datastore string `gcfg:"default-datastore,omitempty" json:"datastore,omitempty"`

	// ResourcePool is the resource pool in which VMs are created/located.
	// +optional
	ResourcePool string `gcfg:"resourcepool-path,omitempty" json:"resourcePool,omitempty"`
}

CPIWorkspaceConfig defines a workspace configuration for the vSphere cloud provider.

func (*CPIWorkspaceConfig) DeepCopy

func (in *CPIWorkspaceConfig) DeepCopy() *CPIWorkspaceConfig

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

func (*CPIWorkspaceConfig) DeepCopyInto

func (in *CPIWorkspaceConfig) DeepCopyInto(out *CPIWorkspaceConfig)

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

type CloneMode

type CloneMode string

CloneMode is the type of clone operation used to clone a VM from a template.

const (
	// FullClone indicates a VM will have no relationship to the source of the
	// clone operation once the operation is complete. This is the safest clone
	// mode, but it is not the fastest.
	FullClone CloneMode = "fullClone"

	// LinkedClone means resulting VMs will be dependent upon the snapshot of
	// the source VM/template from which the VM was cloned. This is the fastest
	// clone mode, but it also prevents expanding a VMs disk beyond the size of
	// the source VM/template.
	LinkedClone CloneMode = "linkedClone"
)

type HAProxyLoadBalancer

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

	Spec   HAProxyLoadBalancerSpec   `json:"spec,omitempty"`
	Status HAProxyLoadBalancerStatus `json:"status,omitempty"`
}

HAProxyLoadBalancer is the Schema for the haproxyloadbalancers API DEPRECATED: will be removed in v1alpha4

func (*HAProxyLoadBalancer) DeepCopy

func (in *HAProxyLoadBalancer) DeepCopy() *HAProxyLoadBalancer

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

func (*HAProxyLoadBalancer) DeepCopyInto

func (in *HAProxyLoadBalancer) DeepCopyInto(out *HAProxyLoadBalancer)

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

func (*HAProxyLoadBalancer) DeepCopyObject

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

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

func (*HAProxyLoadBalancer) Hub

func (*HAProxyLoadBalancer) Hub()

Hub marks HAProxyLoadBalancer as a conversion hub.

func (*HAProxyLoadBalancer) SetupWebhookWithManager

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

type HAProxyLoadBalancerList

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

HAProxyLoadBalancerList contains a list of HAProxyLoadBalancer

func (*HAProxyLoadBalancerList) DeepCopy

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

func (*HAProxyLoadBalancerList) DeepCopyInto

func (in *HAProxyLoadBalancerList) DeepCopyInto(out *HAProxyLoadBalancerList)

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

func (*HAProxyLoadBalancerList) DeepCopyObject

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

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

func (*HAProxyLoadBalancerList) Hub

func (*HAProxyLoadBalancerList) Hub()

Hub marks HAProxyLoadBalancerList as a conversion hub.

func (*HAProxyLoadBalancerList) SetupWebhookWithManager

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

type HAProxyLoadBalancerSpec

type HAProxyLoadBalancerSpec struct {
	// VirtualMachineConfiguration is information used to deploy a load balancer
	// VM.
	VirtualMachineConfiguration VirtualMachineCloneSpec `json:"virtualMachineConfiguration"`

	// SSHUser specifies the name of a user that is granted remote access to the
	// deployed VM.
	// +optional
	User *SSHUser `json:"user,omitempty"`
}

HAProxyLoadBalancerSpec defines the desired state of HAProxyLoadBalancer.

func (*HAProxyLoadBalancerSpec) DeepCopy

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

func (*HAProxyLoadBalancerSpec) DeepCopyInto

func (in *HAProxyLoadBalancerSpec) DeepCopyInto(out *HAProxyLoadBalancerSpec)

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

type HAProxyLoadBalancerStatus

type HAProxyLoadBalancerStatus struct {
	// Ready indicates whether or not the load balancer is ready.
	//
	// This field is required as part of the Portable Load Balancer model and is
	// inspected via an unstructured reader by other controllers to determine
	// the status of the load balancer.
	//
	// +optional
	Ready bool `json:"ready,omitempty"`

	// Address is the IP address or DNS name of the load balancer.
	//
	// This field is required as part of the Portable Load Balancer model and is
	// inspected via an unstructured reader by other controllers to determine
	// the status of the load balancer.
	//
	// +optional
	Address string `json:"address,omitempty"`
}

HAProxyLoadBalancerStatus defines the observed state of HAProxyLoadBalancer.

func (*HAProxyLoadBalancerStatus) DeepCopy

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

func (*HAProxyLoadBalancerStatus) DeepCopyInto

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

type NetworkDeviceSpec

type NetworkDeviceSpec struct {
	// NetworkName is the name of the vSphere network to which the device
	// will be connected.
	NetworkName string `json:"networkName"`

	// DeviceName may be used to explicitly assign a name to the network device
	// as it exists in the guest operating system.
	// +optional
	DeviceName string `json:"deviceName,omitempty"`

	// DHCP4 is a flag that indicates whether or not to use DHCP for IPv4
	// on this device.
	// If true then IPAddrs should not contain any IPv4 addresses.
	// +optional
	DHCP4 bool `json:"dhcp4,omitempty"`

	// DHCP6 is a flag that indicates whether or not to use DHCP for IPv6
	// on this device.
	// If true then IPAddrs should not contain any IPv6 addresses.
	// +optional
	DHCP6 bool `json:"dhcp6,omitempty"`

	// Gateway4 is the IPv4 gateway used by this device.
	// Required when DHCP4 is false.
	// +optional
	Gateway4 string `json:"gateway4,omitempty"`

	// Gateway4 is the IPv4 gateway used by this device.
	// Required when DHCP6 is false.
	// +optional
	Gateway6 string `json:"gateway6,omitempty"`

	// IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign
	// to this device.
	// Required when DHCP4 and DHCP6 are both false.
	// +optional
	IPAddrs []string `json:"ipAddrs,omitempty"`

	// MTU is the device’s Maximum Transmission Unit size in bytes.
	// +optional
	MTU *int64 `json:"mtu,omitempty"`

	// MACAddr is the MAC address used by this device.
	// It is generally a good idea to omit this field and allow a MAC address
	// to be generated.
	// Please note that this value must use the VMware OUI to work with the
	// in-tree vSphere cloud provider.
	// +optional
	MACAddr string `json:"macAddr,omitempty"`

	// Nameservers is a list of IPv4 and/or IPv6 addresses used as DNS
	// nameservers.
	// Please note that Linux allows only three nameservers (https://linux.die.net/man/5/resolv.conf).
	// +optional
	Nameservers []string `json:"nameservers,omitempty"`

	// Routes is a list of optional, static routes applied to the device.
	// +optional
	Routes []NetworkRouteSpec `json:"routes,omitempty"`

	// SearchDomains is a list of search domains used when resolving IP
	// addresses with DNS.
	// +optional
	SearchDomains []string `json:"searchDomains,omitempty"`
}

NetworkDeviceSpec defines the network configuration for a virtual machine's network device.

func (*NetworkDeviceSpec) DeepCopy

func (in *NetworkDeviceSpec) DeepCopy() *NetworkDeviceSpec

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

func (*NetworkDeviceSpec) DeepCopyInto

func (in *NetworkDeviceSpec) DeepCopyInto(out *NetworkDeviceSpec)

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

type NetworkRouteSpec

type NetworkRouteSpec struct {
	// To is an IPv4 or IPv6 address.
	To string `json:"to"`
	// Via is an IPv4 or IPv6 address.
	Via string `json:"via"`
	// Metric is the weight/priority of the route.
	Metric int32 `json:"metric"`
}

NetworkRouteSpec defines a static network route.

func (*NetworkRouteSpec) DeepCopy

func (in *NetworkRouteSpec) DeepCopy() *NetworkRouteSpec

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

func (*NetworkRouteSpec) DeepCopyInto

func (in *NetworkRouteSpec) DeepCopyInto(out *NetworkRouteSpec)

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

type NetworkSpec

type NetworkSpec struct {
	// Devices is the list of network devices used by the virtual machine.
	// TODO(akutz) Make sure at least one network matches the
	//             ClusterSpec.CloudProviderConfiguration.Network.Name
	Devices []NetworkDeviceSpec `json:"devices"`

	// Routes is a list of optional, static routes applied to the virtual
	// machine.
	// +optional
	Routes []NetworkRouteSpec `json:"routes,omitempty"`

	// PreferredAPIServeCIDR is the preferred CIDR for the Kubernetes API
	// server endpoint on this machine
	// +optional
	PreferredAPIServerCIDR string `json:"preferredAPIServerCidr,omitempty"`
}

NetworkSpec defines the virtual machine's network configuration.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type NetworkStatus

type NetworkStatus struct {
	// Connected is a flag that indicates whether this network is currently
	// connected to the VM.
	Connected bool `json:"connected,omitempty"`

	// IPAddrs is one or more IP addresses reported by vm-tools.
	// +optional
	IPAddrs []string `json:"ipAddrs,omitempty"`

	// MACAddr is the MAC address of the network device.
	MACAddr string `json:"macAddr"`

	// NetworkName is the name of the network.
	// +optional
	NetworkName string `json:"networkName,omitempty"`
}

NetworkStatus provides information about one of a VM's networks.

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

type SSHUser

type SSHUser struct {
	// Name is the name of the SSH user.
	Name string `json:"name"`
	// AuthorizedKeys is one or more public SSH keys that grant remote access.
	AuthorizedKeys []string `json:"authorizedKeys"`
}

SSHUser is granted remote access to a system.

func (*SSHUser) DeepCopy

func (in *SSHUser) DeepCopy() *SSHUser

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

func (*SSHUser) DeepCopyInto

func (in *SSHUser) DeepCopyInto(out *SSHUser)

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

type UnmarshalINIOptionFunc

type UnmarshalINIOptionFunc func(*UnmarshalINIOptions)

UnmarshalINIOptionFunc is used to set unmarshal options.

+kubebuilder:object:generate=false

type UnmarshalINIOptions

type UnmarshalINIOptions struct {
	// WarnAsFatal indicates that warnings that occur when unmarshalling INI
	// data should be treated as fatal errors.
	WarnAsFatal bool
}

UnmarshalINIOptions defines the options used to influence how INI data is unmarshalled.

+kubebuilder:object:generate=false

type VSphereCluster

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

	Spec   VSphereClusterSpec   `json:"spec,omitempty"`
	Status VSphereClusterStatus `json:"status,omitempty"`
}

VSphereCluster is the Schema for the vsphereclusters API

func (*VSphereCluster) DeepCopy

func (in *VSphereCluster) DeepCopy() *VSphereCluster

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

func (*VSphereCluster) DeepCopyInto

func (in *VSphereCluster) DeepCopyInto(out *VSphereCluster)

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

func (*VSphereCluster) DeepCopyObject

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

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

func (*VSphereCluster) GetConditions added in v0.7.0

func (m *VSphereCluster) GetConditions() clusterv1.Conditions

func (*VSphereCluster) Hub

func (*VSphereCluster) Hub()

Hub marks VSphereCluster as a conversion hub.

func (*VSphereCluster) SetConditions added in v0.7.0

func (m *VSphereCluster) SetConditions(conditions clusterv1.Conditions)

func (*VSphereCluster) SetupWebhookWithManager

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

func (*VSphereCluster) ValidateCreate added in v0.7.2

func (r *VSphereCluster) ValidateCreate() error

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

func (*VSphereCluster) ValidateDelete added in v0.7.2

func (r *VSphereCluster) ValidateDelete() error

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

func (*VSphereCluster) ValidateUpdate added in v0.7.2

func (r *VSphereCluster) ValidateUpdate(old runtime.Object) error

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

type VSphereClusterList

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

VSphereClusterList contains a list of VSphereCluster

func (*VSphereClusterList) DeepCopy

func (in *VSphereClusterList) DeepCopy() *VSphereClusterList

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

func (*VSphereClusterList) DeepCopyInto

func (in *VSphereClusterList) DeepCopyInto(out *VSphereClusterList)

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

func (*VSphereClusterList) DeepCopyObject

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

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

func (*VSphereClusterList) Hub

func (*VSphereClusterList) Hub()

Hub marks VSphereClusterList as a conversion hub.

func (*VSphereClusterList) SetupWebhookWithManager

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

type VSphereClusterSpec

type VSphereClusterSpec struct {
	// Server is the address of the vSphere endpoint.
	Server string `json:"server,omitempty"`

	// Insecure is a flag that controls whether or not to validate the
	// vSphere server's certificate.
	// DEPRECATED: will be removed in v1alpha4
	// +optional
	Insecure *bool `json:"insecure,omitempty"`

	// Thumbprint is the colon-separated SHA-1 checksum of the given vCenter server's host certificate
	// When provided, Insecure should not be set to true
	// +optional
	Thumbprint string `json:"thumbprint,omitempty"`

	// CloudProviderConfiguration holds the cluster-wide configuration for the
	// DEPRECATED: will be removed in v1alpha4
	// vSphere cloud provider.
	CloudProviderConfiguration CPIConfig `json:"cloudProviderConfiguration,omitempty"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint"`

	// LoadBalancerRef may be used to enable a control plane load balancer
	// for this cluster.
	// When a LoadBalancerRef is provided, the VSphereCluster.Status.Ready field
	// will not be true until the referenced resource is Status.Ready and has a
	// non-empty Status.Address value.
	// DEPRECATED: will be removed in v1alpha4
	// +optional
	LoadBalancerRef *corev1.ObjectReference `json:"loadBalancerRef,omitempty"`
}

VSphereClusterSpec defines the desired state of VSphereCluster

func (*VSphereClusterSpec) DeepCopy

func (in *VSphereClusterSpec) DeepCopy() *VSphereClusterSpec

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

func (*VSphereClusterSpec) DeepCopyInto

func (in *VSphereClusterSpec) DeepCopyInto(out *VSphereClusterSpec)

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

type VSphereClusterStatus

type VSphereClusterStatus struct {
	// +optional
	Ready bool `json:"ready,omitempty"`

	// Conditions defines current service state of the VSphereCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

VSphereClusterStatus defines the observed state of VSphereClusterSpec

func (*VSphereClusterStatus) DeepCopy

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

func (*VSphereClusterStatus) DeepCopyInto

func (in *VSphereClusterStatus) DeepCopyInto(out *VSphereClusterStatus)

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

type VSphereMachine

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

	Spec   VSphereMachineSpec   `json:"spec,omitempty"`
	Status VSphereMachineStatus `json:"status,omitempty"`
}

VSphereMachine is the Schema for the vspheremachines API

func (*VSphereMachine) DeepCopy

func (in *VSphereMachine) DeepCopy() *VSphereMachine

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

func (*VSphereMachine) DeepCopyInto

func (in *VSphereMachine) DeepCopyInto(out *VSphereMachine)

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

func (*VSphereMachine) DeepCopyObject

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

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

func (*VSphereMachine) GetConditions added in v0.7.0

func (m *VSphereMachine) GetConditions() clusterv1.Conditions

func (*VSphereMachine) Hub

func (*VSphereMachine) Hub()

Hub marks VSphereMachine as a conversion hub.

func (*VSphereMachine) SetConditions added in v0.7.0

func (m *VSphereMachine) SetConditions(conditions clusterv1.Conditions)

func (*VSphereMachine) SetupWebhookWithManager

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

func (*VSphereMachine) ValidateCreate added in v0.7.0

func (r *VSphereMachine) ValidateCreate() error

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

func (*VSphereMachine) ValidateDelete added in v0.7.0

func (r *VSphereMachine) ValidateDelete() error

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

func (*VSphereMachine) ValidateUpdate added in v0.7.0

func (r *VSphereMachine) ValidateUpdate(old runtime.Object) error

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

type VSphereMachineList

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

VSphereMachineList contains a list of VSphereMachine

func (*VSphereMachineList) DeepCopy

func (in *VSphereMachineList) DeepCopy() *VSphereMachineList

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

func (*VSphereMachineList) DeepCopyInto

func (in *VSphereMachineList) DeepCopyInto(out *VSphereMachineList)

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

func (*VSphereMachineList) DeepCopyObject

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

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

func (*VSphereMachineList) Hub

func (*VSphereMachineList) Hub()

Hub marks VSphereMachineList as a conversion hub.

func (*VSphereMachineList) SetupWebhookWithManager

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

type VSphereMachineProviderConditionType

type VSphereMachineProviderConditionType string

VSphereMachineProviderConditionType is a valid value for VSphereMachineProviderCondition.Type

const (
	// MachineCreated indicates whether the machine has been created or not. If not,
	// it should include a reason and message for the failure.
	MachineCreated VSphereMachineProviderConditionType = "MachineCreated"
)

Valid conditions for an VSphere machine instance

type VSphereMachineSpec

type VSphereMachineSpec struct {
	VirtualMachineCloneSpec `json:",inline"`

	// ProviderID is the virtual machine's BIOS UUID formated as
	// vsphere://12345678-1234-1234-1234-123456789abc
	// +optional
	ProviderID *string `json:"providerID,omitempty"`
}

VSphereMachineSpec defines the desired state of VSphereMachine

func (*VSphereMachineSpec) DeepCopy

func (in *VSphereMachineSpec) DeepCopy() *VSphereMachineSpec

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

func (*VSphereMachineSpec) DeepCopyInto

func (in *VSphereMachineSpec) DeepCopyInto(out *VSphereMachineSpec)

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

type VSphereMachineStatus

type VSphereMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the VSphere instance associated addresses.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// Network returns the network status for each of the machine's configured
	// network interfaces.
	// +optional
	Network []NetworkStatus `json:"network,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine 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 Machine'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 Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine 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 Machine'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 Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the VSphereMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

VSphereMachineStatus defines the observed state of VSphereMachine

func (*VSphereMachineStatus) DeepCopy

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

func (*VSphereMachineStatus) DeepCopyInto

func (in *VSphereMachineStatus) DeepCopyInto(out *VSphereMachineStatus)

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

type VSphereMachineTemplate

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

	Spec VSphereMachineTemplateSpec `json:"spec,omitempty"`
}

VSphereMachineTemplate is the Schema for the vspheremachinetemplates API

func (*VSphereMachineTemplate) DeepCopy

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

func (*VSphereMachineTemplate) DeepCopyInto

func (in *VSphereMachineTemplate) DeepCopyInto(out *VSphereMachineTemplate)

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

func (*VSphereMachineTemplate) DeepCopyObject

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

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

func (*VSphereMachineTemplate) Hub

func (*VSphereMachineTemplate) Hub()

Hub marks VSphereMachineTemplate as a conversion hub.

func (*VSphereMachineTemplate) SetupWebhookWithManager

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

func (*VSphereMachineTemplate) ValidateCreate added in v0.7.0

func (r *VSphereMachineTemplate) ValidateCreate() error

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

func (*VSphereMachineTemplate) ValidateDelete added in v0.7.0

func (r *VSphereMachineTemplate) ValidateDelete() error

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

func (*VSphereMachineTemplate) ValidateUpdate added in v0.7.0

func (r *VSphereMachineTemplate) ValidateUpdate(old runtime.Object) error

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

type VSphereMachineTemplateList

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

VSphereMachineTemplateList contains a list of VSphereMachineTemplate

func (*VSphereMachineTemplateList) DeepCopy

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

func (*VSphereMachineTemplateList) DeepCopyInto

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

func (*VSphereMachineTemplateList) DeepCopyObject

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

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

func (*VSphereMachineTemplateList) Hub

Hub marks VSphereMachineTemplateList as a conversion hub.

func (*VSphereMachineTemplateList) SetupWebhookWithManager

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

type VSphereMachineTemplateResource

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

VSphereMachineTemplateResource describes the data needed to create a VSphereMachine from a template

func (*VSphereMachineTemplateResource) DeepCopy

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

func (*VSphereMachineTemplateResource) DeepCopyInto

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

type VSphereMachineTemplateSpec

type VSphereMachineTemplateSpec struct {
	Template VSphereMachineTemplateResource `json:"template"`
}

VSphereMachineTemplateSpec defines the desired state of VSphereMachineTemplate

func (*VSphereMachineTemplateSpec) DeepCopy

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

func (*VSphereMachineTemplateSpec) DeepCopyInto

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

type VSphereVM

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

	Spec   VSphereVMSpec   `json:"spec,omitempty"`
	Status VSphereVMStatus `json:"status,omitempty"`
}

VSphereVM is the Schema for the vspherevms API

func (*VSphereVM) DeepCopy

func (in *VSphereVM) DeepCopy() *VSphereVM

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

func (*VSphereVM) DeepCopyInto

func (in *VSphereVM) DeepCopyInto(out *VSphereVM)

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

func (*VSphereVM) DeepCopyObject

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

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

func (*VSphereVM) GetConditions added in v0.7.0

func (m *VSphereVM) GetConditions() clusterv1.Conditions

func (*VSphereVM) Hub

func (*VSphereVM) Hub()

Hub marks VSphereVM as a conversion hub.

func (*VSphereVM) SetConditions added in v0.7.0

func (m *VSphereVM) SetConditions(conditions clusterv1.Conditions)

func (*VSphereVM) SetupWebhookWithManager

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

func (*VSphereVM) ValidateCreate added in v0.7.0

func (r *VSphereVM) ValidateCreate() error

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

func (*VSphereVM) ValidateDelete added in v0.7.0

func (r *VSphereVM) ValidateDelete() error

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

func (*VSphereVM) ValidateUpdate added in v0.7.0

func (r *VSphereVM) ValidateUpdate(old runtime.Object) error

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

type VSphereVMList

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

VSphereVMList contains a list of VSphereVM

func (*VSphereVMList) DeepCopy

func (in *VSphereVMList) DeepCopy() *VSphereVMList

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

func (*VSphereVMList) DeepCopyInto

func (in *VSphereVMList) DeepCopyInto(out *VSphereVMList)

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

func (*VSphereVMList) DeepCopyObject

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

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

func (*VSphereVMList) Hub

func (*VSphereVMList) Hub()

Hub marks VSphereVMList as a conversion hub.

func (*VSphereVMList) SetupWebhookWithManager

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

type VSphereVMSpec

type VSphereVMSpec struct {
	VirtualMachineCloneSpec `json:",inline"`

	// BootstrapRef is a reference to a bootstrap provider-specific resource
	// that holds configuration details.
	// This field is optional in case no bootstrap data is required to create
	// a VM.
	// +optional
	BootstrapRef *corev1.ObjectReference `json:"bootstrapRef,omitempty"`

	// BiosUUID is the the VM's BIOS UUID that is assigned at runtime after
	// the VM has been created.
	// This field is required at runtime for other controllers that read
	// this CRD as unstructured data.
	// +optional
	BiosUUID string `json:"biosUUID,omitempty"`
}

VSphereVMSpec defines the desired state of VSphereVM.

func (*VSphereVMSpec) DeepCopy

func (in *VSphereVMSpec) DeepCopy() *VSphereVMSpec

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

func (*VSphereVMSpec) DeepCopyInto

func (in *VSphereVMSpec) DeepCopyInto(out *VSphereVMSpec)

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

type VSphereVMStatus

type VSphereVMStatus struct {
	// Ready is true when the provider resource is ready.
	// This field is required at runtime for other controllers that read
	// this CRD as unstructured data.
	// +optional
	Ready bool `json:"ready,omitempty"`

	// Addresses is a list of the VM's IP addresses.
	// This field is required at runtime for other controllers that read
	// this CRD as unstructured data.
	// +optional
	Addresses []string `json:"addresses,omitempty"`

	// CloneMode is the type of clone operation used to clone this VM. Since
	// LinkedMode is the default but fails gracefully if the source of the
	// clone has no snapshots, this field may be used to determine the actual
	// type of clone operation used to create this VM.
	// +optional
	CloneMode CloneMode `json:"cloneMode,omitempty"`

	// Snapshot is the name of the snapshot from which the VM was cloned if
	// LinkedMode is enabled.
	// +optional
	Snapshot string `json:"snapshot,omitempty"`

	// TaskRef is a managed object reference to a Task related to the machine.
	// This value is set automatically at runtime and should not be set or
	// modified by users.
	// +optional
	TaskRef string `json:"taskRef,omitempty"`

	// Network returns the network status for each of the machine's configured
	// network interfaces.
	// +optional
	Network []NetworkStatus `json:"network,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the vspherevm and will contain a succinct value suitable
	// for vm 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 vm.
	//
	// Any transient errors that occur during the reconciliation of vspherevms
	// can be added as events to the vspherevm object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the vspherevm 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 vm.
	//
	// Any transient errors that occur during the reconciliation of vspherevms
	// can be added as events to the vspherevm object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the VSphereVM.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

VSphereVMStatus defines the observed state of VSphereVM

func (*VSphereVMStatus) DeepCopy

func (in *VSphereVMStatus) DeepCopy() *VSphereVMStatus

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

func (*VSphereVMStatus) DeepCopyInto

func (in *VSphereVMStatus) DeepCopyInto(out *VSphereVMStatus)

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

type VirtualMachine

type VirtualMachine struct {
	// Name is the VM's name.
	Name string `json:"name"`

	// BiosUUID is the VM's BIOS UUID.
	BiosUUID string `json:"biosUUID"`

	// State is the VM's state.
	State VirtualMachineState `json:"state"`

	// Network is the status of the VM's network devices.
	Network []NetworkStatus `json:"network"`
}

VirtualMachine represents data about a vSphere virtual machine object.

func (*VirtualMachine) DeepCopy

func (in *VirtualMachine) DeepCopy() *VirtualMachine

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

func (*VirtualMachine) DeepCopyInto

func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)

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

type VirtualMachineCloneSpec

type VirtualMachineCloneSpec struct {
	// Template is the name or inventory path of the template used to clone
	// the virtual machine.
	// +kubebuilder:validation:MinLength=1
	Template string `json:"template"`

	// CloneMode specifies the type of clone operation.
	// The LinkedClone mode is only support for templates that have at least
	// one snapshot. If the template has no snapshots, then CloneMode defaults
	// to FullClone.
	// When LinkedClone mode is enabled the DiskGiB field is ignored as it is
	// not possible to expand disks of linked clones.
	// Defaults to LinkedClone, but fails gracefully to FullClone if the source
	// of the clone operation has no snapshots.
	// +optional
	CloneMode CloneMode `json:"cloneMode,omitempty"`

	// Snapshot is the name of the snapshot from which to create a linked clone.
	// This field is ignored if LinkedClone is not enabled.
	// Defaults to the source's current snapshot.
	// +optional
	Snapshot string `json:"snapshot,omitempty"`

	// Server is the IP address or FQDN of the vSphere server on which
	// the virtual machine is created/located.
	// +optional
	Server string `json:"server,omitempty"`

	// Thumbprint is the colon-separated SHA-1 checksum of the given vCenter server's host certificate
	// When this is set to empty, this VirtualMachine would be created
	// without TLS certificate validation of the communication between Cluster API Provider vSphere
	// and the VMware vCenter server.
	// +optional
	Thumbprint string `json:"thumbprint,omitempty"`

	// Datacenter is the name or inventory path of the datacenter in which the
	// virtual machine is created/located.
	// +optional
	Datacenter string `json:"datacenter,omitempty"`

	// Folder is the name or inventory path of the folder in which the
	// virtual machine is created/located.
	// +optional
	Folder string `json:"folder,omitempty"`

	// Datastore is the name or inventory path of the datastore in which the
	// virtual machine is created/located.
	// +optional
	Datastore string `json:"datastore,omitempty"`

	// StoragePolicyName of the storage policy to use with this
	// Virtual Machine
	// +optional
	StoragePolicyName string `json:"storagePolicyName,omitempty"`

	// ResourcePool is the name or inventory path of the resource pool in which
	// the virtual machine is created/located.
	// +optional
	ResourcePool string `json:"resourcePool,omitempty"`

	// Network is the network configuration for this machine's VM.
	Network NetworkSpec `json:"network"`

	// NumCPUs is the number of virtual processors in a virtual machine.
	// Defaults to the eponymous property value in the template from which the
	// virtual machine is cloned.
	// +optional
	NumCPUs int32 `json:"numCPUs,omitempty"`
	// NumCPUs is the number of cores among which to distribute CPUs in this
	// virtual machine.
	// Defaults to the eponymous property value in the template from which the
	// virtual machine is cloned.
	// +optional
	NumCoresPerSocket int32 `json:"numCoresPerSocket,omitempty"`
	// MemoryMiB is the size of a virtual machine's memory, in MiB.
	// Defaults to the eponymous property value in the template from which the
	// virtual machine is cloned.
	// +optional
	MemoryMiB int64 `json:"memoryMiB,omitempty"`
	// DiskGiB is the size of a virtual machine's disk, in GiB.
	// Defaults to the eponymous property value in the template from which the
	// virtual machine is cloned.
	// +optional
	DiskGiB int32 `json:"diskGiB,omitempty"`
	// CustomVMXKeys is a dictionary of advanced VMX options that can be set on VM
	// Defaults to empty map
	// +optional
	CustomVMXKeys map[string]string `json:"customVMXKeys,omitempty"`
}

VirtualMachineCloneSpec is information used to clone a virtual machine.

func (*VirtualMachineCloneSpec) DeepCopy

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

func (*VirtualMachineCloneSpec) DeepCopyInto

func (in *VirtualMachineCloneSpec) DeepCopyInto(out *VirtualMachineCloneSpec)

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

type VirtualMachinePowerState

type VirtualMachinePowerState string

VirtualMachinePowerState describe the power state of a VM

type VirtualMachineState

type VirtualMachineState string

VirtualMachineState describes the state of a VM.

Jump to

Keyboard shortcuts

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