v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2019 License: Apache-2.0 Imports: 8 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

func (in *DiskSpec) DeepCopy() *DiskSpec

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

func (*DiskSpec) DeepCopyInto

func (in *DiskSpec) DeepCopyInto(out *DiskSpec)

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

func (in *KeyPair) DeepCopy() *KeyPair

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

func (*KeyPair) DeepCopyInto added in v0.3.0

func (in *KeyPair) DeepCopyInto(out *KeyPair)

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

func (kp KeyPair) HasCertAndKey() bool

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

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

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

func (*VsphereClusterProviderConfig) DeepCopyInto

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

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

func (*VsphereClusterProviderConfigList) DeepCopyInto

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

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

func (*VsphereClusterProviderStatus) DeepCopyInto

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

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

func (*VsphereMachineProviderConfig) DeepCopyInto

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

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

func (*VsphereMachineProviderConfigList) DeepCopyInto

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

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

func (*VsphereMachineProviderStatus) DeepCopyInto

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.

Jump to

Keyboard shortcuts

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