Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the vsphereproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-vsphere/pkg/apis/vsphereproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=vsphereproviderconfig.sigs.k8s.io
Package v1alpha1 contains API Schema definitions for the vsphereproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-vsphere/pkg/apis/vsphereproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=vsphereproviderconfig.sigs.k8s.io
Index ¶
- Variables
- func EncodeClusterSpec(spec *VsphereClusterProviderConfig) (*runtime.RawExtension, error)
- func EncodeClusterStatus(status *VsphereClusterProviderStatus) (*runtime.RawExtension, error)
- func EncodeMachineSpec(spec *VsphereMachineProviderConfig) (*runtime.RawExtension, error)
- func EncodeMachineStatus(status *VsphereMachineProviderStatus) (*runtime.RawExtension, error)
- type DiskSpec
- type KeyPair
- type KubeadmConfiguration
- type NetworkDeviceSpec
- type NetworkRouteSpec
- type NetworkSpec
- type NetworkStatus
- type VsphereClusterProviderConfig
- type VsphereClusterProviderConfigList
- type VsphereClusterProviderStatus
- type VsphereMachineProviderConfig
- type VsphereMachineProviderConfigList
- type VsphereMachineProviderStatus
- type VsphereMachineSpec
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "vsphereproviderconfig.sigs.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
func EncodeClusterSpec ¶ added in v0.3.0
func EncodeClusterSpec(spec *VsphereClusterProviderConfig) (*runtime.RawExtension, error)
EncodeClusterSpec marshals the cluster provider spec.
func EncodeClusterStatus ¶ added in v0.3.0
func EncodeClusterStatus(status *VsphereClusterProviderStatus) (*runtime.RawExtension, error)
EncodeClusterStatus marshals the cluster status.
func EncodeMachineSpec ¶ added in v0.3.0
func EncodeMachineSpec(spec *VsphereMachineProviderConfig) (*runtime.RawExtension, error)
EncodeMachineSpec marshals the machine provider spec.
func EncodeMachineStatus ¶ added in v0.3.0
func EncodeMachineStatus(status *VsphereMachineProviderStatus) (*runtime.RawExtension, error)
EncodeMachineStatus marshals the machine status
Types ¶
type DiskSpec ¶
type DiskSpec struct { DiskSizeGB int64 `json:"diskSizeGB,omitempty"` DiskLabel string `json:"diskLabel,omitempty"` }
func (*DiskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSpec.
func (*DiskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyPair ¶ added in v0.3.0
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 ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyPair.
func (*KeyPair) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KeyPair) HasCertAndKey ¶ added in v0.3.0
HasCertAndKey returns whether a keypair contains cert and key of non-zero length.
type KubeadmConfiguration ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *KubeadmConfiguration) DeepCopy() *KubeadmConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfiguration.
func (*KubeadmConfiguration) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *NetworkDeviceSpec) DeepCopy() *NetworkDeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSpec.
func (*NetworkDeviceSpec) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *NetworkRouteSpec) DeepCopy() *NetworkRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRouteSpec.
func (*NetworkRouteSpec) DeepCopyInto ¶ added in v0.3.0
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 ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶ added in v0.3.0
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VsphereClusterProviderConfig ¶
type VsphereClusterProviderConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` VsphereUser string `json:"vsphereUser,omitempty"` VspherePassword string `json:"vspherePassword,omitempty"` VsphereServer string `json:"vsphereServer"` VsphereCredentialSecret string `json:"vsphereCredentialSecret,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"` }
VsphereClusterProviderConfig is the Schema for the vsphereclusterproviderconfigs API +k8s:openapi-gen=true
func ClusterConfigFromCluster ¶ added in v0.3.0
func ClusterConfigFromCluster(in *clusterv1.Cluster) (*VsphereClusterProviderConfig, error)
ClusterConfigFromCluster unmarshals a provider config into an vSphere Cluster type
func ClusterConfigFromProviderSpec ¶ added in v0.3.0
func ClusterConfigFromProviderSpec(in *clusterv1.ProviderSpec) (*VsphereClusterProviderConfig, error)
ClusterConfigFromProviderSpec unmarshals a provider config into an vSphere Cluster type
func (*VsphereClusterProviderConfig) DeepCopy ¶
func (in *VsphereClusterProviderConfig) DeepCopy() *VsphereClusterProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereClusterProviderConfig.
func (*VsphereClusterProviderConfig) DeepCopyInto ¶
func (in *VsphereClusterProviderConfig) DeepCopyInto(out *VsphereClusterProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereClusterProviderConfig) DeepCopyObject ¶
func (in *VsphereClusterProviderConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereClusterProviderConfigList ¶
type VsphereClusterProviderConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VsphereClusterProviderConfig `json:"items"` }
VsphereClusterProviderConfigList contains a list of VsphereClusterProviderConfig
func (*VsphereClusterProviderConfigList) DeepCopy ¶
func (in *VsphereClusterProviderConfigList) DeepCopy() *VsphereClusterProviderConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereClusterProviderConfigList.
func (*VsphereClusterProviderConfigList) DeepCopyInto ¶
func (in *VsphereClusterProviderConfigList) DeepCopyInto(out *VsphereClusterProviderConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereClusterProviderConfigList) DeepCopyObject ¶
func (in *VsphereClusterProviderConfigList) 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 defines the observed state of VsphereClusterProviderConfig +k8s:openapi-gen=true
func ClusterStatusFromCluster ¶ added in v0.3.0
func ClusterStatusFromCluster(in *clusterv1.Cluster) (*VsphereClusterProviderStatus, error)
ClusterStatusFromCluster unmarshals a provider status into an vSphere Cluster type
func ClusterStatusFromProviderStatus ¶ added in v0.3.0
func ClusterStatusFromProviderStatus(in *clusterv1.ClusterStatus) (*VsphereClusterProviderStatus, error)
ClusterStatusFromProviderStatus unmarshals a raw extension into an vSphere Cluster type
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 ¶ added in v0.3.0
func (in *VsphereClusterProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereMachineProviderConfig ¶
type VsphereMachineProviderConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` MachineRef string `json:"machineRef,omitempty"` MachineSpec VsphereMachineSpec `json:"machineSpec,omitempty"` // KubeadmConfiguration holds the kubeadm configuration options // +optional KubeadmConfiguration KubeadmConfiguration `json:"kubeadmConfiguration,omitempty"` }
VsphereMachineProviderConfig is the Schema for the vspheremachineproviderconfigs API +k8s:openapi-gen=true
func MachineConfigFromMachine ¶ added in v0.3.0
func MachineConfigFromMachine(in *clusterv1.Machine) (*VsphereMachineProviderConfig, error)
MachineConfigFromMachine unmarshals a provider config into an vSphere Machine type
func MachineConfigFromProviderSpec ¶ added in v0.3.0
func MachineConfigFromProviderSpec(in *clusterv1.ProviderSpec) (*VsphereMachineProviderConfig, error)
MachineConfigFromProviderSpec unmarshals a provider config into an vSphere Machine type
func (*VsphereMachineProviderConfig) DeepCopy ¶
func (in *VsphereMachineProviderConfig) DeepCopy() *VsphereMachineProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereMachineProviderConfig.
func (*VsphereMachineProviderConfig) DeepCopyInto ¶
func (in *VsphereMachineProviderConfig) DeepCopyInto(out *VsphereMachineProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereMachineProviderConfig) DeepCopyObject ¶
func (in *VsphereMachineProviderConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereMachineProviderConfigList ¶
type VsphereMachineProviderConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VsphereMachineProviderConfig `json:"items"` }
VsphereMachineProviderConfigList contains a list of VsphereMachineProviderConfig
func (*VsphereMachineProviderConfigList) DeepCopy ¶
func (in *VsphereMachineProviderConfigList) DeepCopy() *VsphereMachineProviderConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereMachineProviderConfigList.
func (*VsphereMachineProviderConfigList) DeepCopyInto ¶
func (in *VsphereMachineProviderConfigList) DeepCopyInto(out *VsphereMachineProviderConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VsphereMachineProviderConfigList) DeepCopyObject ¶
func (in *VsphereMachineProviderConfigList) 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. // +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 defines the observed state of VsphereMachineProviderConfig +k8s:openapi-gen=true
func MachineStatusFromMachine ¶ added in v0.3.0
func MachineStatusFromMachine(in *clusterv1.Machine) (*VsphereMachineProviderStatus, error)
MachineStatusFromMachine unmarshals a provider status into an vSphere Machine type
func MachineStatusFromProviderStatus ¶ added in v0.3.0
func MachineStatusFromProviderStatus(in *clusterv1.MachineStatus) (*VsphereMachineProviderStatus, error)
MachineStatusFromProviderStatus unmarshals a raw extension 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 ¶ added in v0.3.0
func (in *VsphereMachineProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VsphereMachineSpec ¶
type VsphereMachineSpec struct { Datacenter string `json:"datacenter"` Datastore string `json:"datastore"` ResourcePool string `json:"resourcePool,omitempty"` VMFolder string `json:"vmFolder,omitempty"` Network NetworkSpec `json:"network"` NumCPUs int32 `json:"numCPUs,omitempty"` MemoryMB int64 `json:"memoryMB,omitempty"` VMTemplate string `json:"template" yaml:"template"` Disks []DiskSpec `json:"disks"` DiskGiB int32 `json:"diskGiB,omitempty"` Preloaded bool `json:"preloaded,omitempty"` VsphereCloudInit bool `json:"vsphereCloudInit,omitempty"` TrustedCerts []string `json:"trustedCerts,omitempty"` NTPServers []string `json:"ntpServers,omitempty"` }
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.