Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the vsphere v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-vsphere/pkg/apis/vsphere +k8s:defaulter-gen=TypeMeta +groupName=vsphere.cluster.k8s.io
Package v1alpha1 contains API Schema definitions for the vsphere v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-vsphere/pkg/apis/vsphere +k8s:defaulter-gen=TypeMeta +groupName=vsphere.cluster.sigs.k8s.io
Index ¶
Constants ¶
const (
// Version is API version for this package.
Version = "v1alpha1"
)
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: vsphere.GroupName, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
This section is empty.
Types ¶
type KeyPair ¶
type KeyPair struct { // base64 encoded cert and key Cert []byte `json:"cert"` Key []byte `json:"key"` }
KeyPair is how operators can supply custom keypairs for kubeadm to use.
func (*KeyPair) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyPair.
func (*KeyPair) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KeyPair) HasCertAndKey ¶
HasCertAndKey returns whether a keypair contains cert and key of non-zero length.
type KubeadmConfiguration ¶
type KubeadmConfiguration struct { // JoinConfiguration is used to customize any kubeadm join configuration // parameters. Join kubeadmv1beta1.JoinConfiguration `json:"join,omitempty"` // InitConfiguration is used to customize any kubeadm init configuration // parameters. Init kubeadmv1beta1.InitConfiguration `json:"init,omitempty"` }
KubeadmConfiguration holds the various configurations that kubeadm uses
func (*KubeadmConfiguration) DeepCopy ¶
func (in *KubeadmConfiguration) DeepCopy() *KubeadmConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfiguration.
func (*KubeadmConfiguration) DeepCopyInto ¶
func (in *KubeadmConfiguration) DeepCopyInto(out *KubeadmConfiguration)
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"` // 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. 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 VsphereClusterProviderSpec ¶
type VsphereClusterProviderSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Server is the address of the vSphere endpoint. Server string `json:"server,omitempty"` // Username is the name used to log into the vSphere server. // // This value is optional unless using clusterctl to bootstrap the initial // management cluster. // +optional Username string `json:"username,omitempty"` // Password is the password used to log into the vSphere server. // // This value is optional unless using clusterctl to bootstrap the initial // management cluster. // +optional Password string `json:"password,omitempty"` // Insecure is a flag that controls whether or not to validate the // vSphere server's certificate. // +optional Insecure *bool `json:"insecure,omitempty"` // SSHAuthorizedKeys is a list of SSH public keys authorized to access // deployed machines. // // These keys are added to the default user as determined by cloud-init // in the images from which the machines are deployed. // // The default user for CentOS is "centos". // The default user for Ubuntu is "ubuntu". SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"` // CAKeyPair is the key pair for ca certs. CAKeyPair KeyPair `json:"caKeyPair,omitempty"` //EtcdCAKeyPair is the key pair for etcd. EtcdCAKeyPair KeyPair `json:"etcdCAKeyPair,omitempty"` // FrontProxyCAKeyPair is the key pair for FrontProxyKeyPair. FrontProxyCAKeyPair KeyPair `json:"frontProxyCAKeyPair,omitempty"` // SAKeyPair is the service account key pair. SAKeyPair KeyPair `json:"saKeyPair,omitempty"` // ClusterConfiguration holds the cluster-wide information used during a // kubeadm init call. ClusterConfiguration kubeadmv1beta1.ClusterConfiguration `json:"clusterConfiguration,omitempty"` }
VsphereClusterProviderSpec is the schema for the vsphereclusterproviderspec API +k8s:openapi-gen=true
func GetClusterProviderSpec ¶
func GetClusterProviderSpec(cluster *clusterv1.Cluster) (*VsphereClusterProviderSpec, error)
GetClusterProviderSpec unmarshals a vSphere ClusterProviderSpec from a Cluster object.
func (*VsphereClusterProviderSpec) DeepCopy ¶
func (in *VsphereClusterProviderSpec) DeepCopy() *VsphereClusterProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereClusterProviderSpec.
func (*VsphereClusterProviderSpec) DeepCopyInto ¶
func (in *VsphereClusterProviderSpec) DeepCopyInto(out *VsphereClusterProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereClusterProviderSpec) DeepCopyObject ¶
func (in *VsphereClusterProviderSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereClusterProviderStatus ¶
type VsphereClusterProviderStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Ready bool `json:"ready,omitempty"` }
VsphereClusterProviderStatus is the schema for the vsphereclusterproviderstatus API +k8s:openapi-gen=true
func GetClusterProviderStatus ¶
func GetClusterProviderStatus(cluster *clusterv1.Cluster) (*VsphereClusterProviderStatus, error)
GetClusterProviderStatus unmarshals a vSphere ClusterProviderStatus from a Cluster object.
func (*VsphereClusterProviderStatus) DeepCopy ¶
func (in *VsphereClusterProviderStatus) DeepCopy() *VsphereClusterProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereClusterProviderStatus.
func (*VsphereClusterProviderStatus) DeepCopyInto ¶
func (in *VsphereClusterProviderStatus) DeepCopyInto(out *VsphereClusterProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereClusterProviderStatus) DeepCopyObject ¶
func (in *VsphereClusterProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereMachineProviderSpec ¶
type VsphereMachineProviderSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // This value is set automatically at runtime and should not be set or // modified by users. // MachineRef is used to lookup the VM. // +optional MachineRef string `json:"machineRef,omitempty"` // Template is the name, inventory path, or instance UUID of the template // used to clone new machines. Template string `json:"template"` // Datacenter is the name or inventory path of the datacenter where this // machine's VM is created/located. Datacenter string `json:"datacenter"` // Datastore is the name or inventory path of the datastore where this // machine's VM is created/located. // When omitted, GoVmomi's DatastoreOrDefault method is used to determine // the default datastore. It is recommended to explicitly set this value. // +optional Datastore string `json:"datastore,omitempty"` // ResourcePool is the name or inventory path of the resource pool where this // machine's VM is created/located. // When omitted, GoVmomi's ResourcePoolOrDefault method is used to determine // the default resource pool. It is recommended to explicitly set this value. // +optional ResourcePool string `json:"resourcePool,omitempty"` // Folder is the name or inventory path of the folder where this // machine's VM is created/located. // When omitted, GoVmomi's FolderOrDefault method is used to determine // the default folder. It is recommended to explicitly set this value. // +optional Folder string `json:"folder,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 analogue property value in the template from which this // 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 analogue property value in the template from which this // machine is cloned. // +optional NumCoresPerSocket int32 `json:"numCoresPerSocket,omitempty"` // MemoryMiB is the size of a virtual machine's memory, in MiB. // Defaults to the analogue property value in the template from which this // machine is cloned. // +optional MemoryMiB int64 `json:"memoryMiB,omitempty"` // DiskGiB is the size of a virtual machine's disk, in GiB. // Defaults to the analogue property value in the template from which this // machine is cloned. // +optional DiskGiB int32 `json:"diskGiB,omitempty"` // TrustedCerts is a list of trusted certificates to add to the machine's VM. // +optional TrustedCerts [][]byte `json:"trustedCerts,omitempty"` // NTPServers is a list of NTP servers to use instead of the machine image's // default NTP server list. // +optional NTPServers []string `json:"ntpServers,omitempty"` // KubeadmConfiguration holds the kubeadm configuration options // +optional KubeadmConfiguration KubeadmConfiguration `json:"kubeadmConfiguration,omitempty"` }
VsphereMachineProviderSpec is the schema for the vspheremachineproviderspec API +k8s:openapi-gen=true
func GetMachineProviderSpec ¶
func GetMachineProviderSpec(machine *clusterv1.Machine) (*VsphereMachineProviderSpec, error)
GetMachineProviderSpec unmarshals a vSphere MachineProviderSpec from a Machine object.
func (*VsphereMachineProviderSpec) DeepCopy ¶
func (in *VsphereMachineProviderSpec) DeepCopy() *VsphereMachineProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereMachineProviderSpec.
func (*VsphereMachineProviderSpec) DeepCopyInto ¶
func (in *VsphereMachineProviderSpec) DeepCopyInto(out *VsphereMachineProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereMachineProviderSpec) DeepCopyObject ¶
func (in *VsphereMachineProviderSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereMachineProviderStatus ¶
type VsphereMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,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:"networkStatus,omitempty"` }
VsphereMachineProviderStatus is the schema for the vspheremachineproviderstatus API +k8s:openapi-gen=true
func GetMachineProviderStatus ¶
func GetMachineProviderStatus(machine *clusterv1.Machine) (*VsphereMachineProviderStatus, error)
GetMachineProviderStatus unmarshals a provider status into an vSphere Machine type
func (*VsphereMachineProviderStatus) DeepCopy ¶
func (in *VsphereMachineProviderStatus) DeepCopy() *VsphereMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereMachineProviderStatus.
func (*VsphereMachineProviderStatus) DeepCopyInto ¶
func (in *VsphereMachineProviderStatus) DeepCopyInto(out *VsphereMachineProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereMachineProviderStatus) DeepCopyObject ¶
func (in *VsphereMachineProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.