v1alpha1

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2020 License: Apache-2.0 Imports: 6 Imported by: 12

Documentation

Overview

+k8s:openapi-gen=true +kubebuilder:object:generate=true +groupName=vmoperator.vmware.com

Index

Constants

View Source
const GroupName = "vmoperator.vmware.com"

GroupName specifies the group name used to register the objects.

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &runtime.SchemeBuilder{}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func RegisterTypeWithScheme added in v0.1.3

func RegisterTypeWithScheme(object ...runtime.Object)

RegisterTypeWithScheme adds objects to the SchemeBuilder

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ClusterModuleSpec

type ClusterModuleSpec struct {
	// GroupName describes the name of the ClusterModule Group.
	GroupName string `json:"groupname"`
}

ClusterModuleSpec defines a grouping of VirtualMachines that are to be grouped together as a logical unit by the infrastructure provider. Within vSphere, the ClusterModuleSpec maps directly to a vSphere ClusterModule.

func (*ClusterModuleSpec) DeepCopy

func (in *ClusterModuleSpec) DeepCopy() *ClusterModuleSpec

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

func (*ClusterModuleSpec) DeepCopyInto

func (in *ClusterModuleSpec) DeepCopyInto(out *ClusterModuleSpec)

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

type ClusterModuleStatus

type ClusterModuleStatus struct {
	GroupName  string `json:"groupname"`
	ModuleUuid string `json:"moduleUUID"`
}

func (*ClusterModuleStatus) DeepCopy

func (in *ClusterModuleStatus) DeepCopy() *ClusterModuleStatus

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

func (*ClusterModuleStatus) DeepCopyInto

func (in *ClusterModuleStatus) DeepCopyInto(out *ClusterModuleStatus)

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

type FolderSpec

type FolderSpec struct {
	// Name describes the name of the Folder
	// +optional
	Name string `json:"name,omitempty"`
}

Folder defines a Folder

func (*FolderSpec) DeepCopy

func (in *FolderSpec) DeepCopy() *FolderSpec

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

func (*FolderSpec) DeepCopyInto

func (in *FolderSpec) DeepCopyInto(out *FolderSpec)

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

type LoadBalancerIngress

type LoadBalancerIngress struct {
	// IP is set for Load Balancer ingress points that are specified by an IP address.
	// +optional
	IP string `json:"ip,omitempty"`

	// Hostname is set for Load Balancer ingress points that are specified by a DNS address.
	// +optional
	Hostname string `json:"hostname,omitempty"`
}

LoadBalancerIngress represents the status of a Load Balancer ingress point. Traffic intended for the service should be sent to network endpoints specified by the endpoints in the LoadBalancerStatus. IP or Hostname may both be set in this structure. It is up to the consumer to determine which field should be used when accessing this LoadBalancer.

func (*LoadBalancerIngress) DeepCopy

func (in *LoadBalancerIngress) DeepCopy() *LoadBalancerIngress

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

func (*LoadBalancerIngress) DeepCopyInto

func (in *LoadBalancerIngress) DeepCopyInto(out *LoadBalancerIngress)

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

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// Ingress is a list containing ingress addresses for the Load Balancer.
	// Traffic intended for the service should be sent to any of these ingress points.
	// +optional
	Ingress []LoadBalancerIngress `json:"ingress,omitempty"`
}

LoadBalancerStatus represents the status of a Load Balancer instance.

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

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

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

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

type Probe

type Probe struct {
	// TCPSocket specifies an action involving a TCP port.
	// +optional
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`

	// TimeoutSeconds specifies a number of seconds after which the probe times out.
	// Defaults to 10 seconds. Minimum value is 1.
	// +optional
	TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
}

Probe describes a health check to be performed against a VirtualMachine to determine whether it is alive or ready to receive traffic.

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

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

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

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

type ResourcePoolSpec

type ResourcePoolSpec struct {
	// Name describes the name of the ResourcePool grouping.
	// +optional
	Name string `json:"name,omitempty"`

	// Reservations describes the guaranteed resources reserved for the ResourcePool.
	// +optional
	Reservations VirtualMachineResourceSpec `json:"reservations,omitempty"`

	// Limits describes the limit to resources available to the ResourcePool.
	// +optional
	Limits VirtualMachineResourceSpec `json:"limits,omitempty"`
}

ResourcePoolSpec defines a Logical Grouping of workloads that share resource policies.

func (*ResourcePoolSpec) DeepCopy

func (in *ResourcePoolSpec) DeepCopy() *ResourcePoolSpec

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

func (*ResourcePoolSpec) DeepCopyInto

func (in *ResourcePoolSpec) DeepCopyInto(out *ResourcePoolSpec)

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

type TCPSocketAction

type TCPSocketAction struct {
	// Port specifies a number or name of the port to access on the VirtualMachine.
	// If the format of port is a number, it must be in the range 1 to 65535.
	// If the format of name is a string, it must be an IANA_SVC_NAME.
	Port intstr.IntOrString `json:"port"`

	// Host is an optional host name to connect to.  Host defaults to the VirtualMachine IP.
	// +optional
	Host string `json:"host,omitempty"`
}

TCPSocketAction describes an action based on opening a socket.

func (*TCPSocketAction) DeepCopy

func (in *TCPSocketAction) DeepCopy() *TCPSocketAction

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

func (*TCPSocketAction) DeepCopyInto

func (in *TCPSocketAction) DeepCopyInto(out *TCPSocketAction)

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

type VMStatusPhase

type VMStatusPhase string

VMStatusPhase is used to indicate the phase of a VirtualMachine's lifecycle.

const (
	// The Created phase indicates that the VirtualMachine has been already been created by the backing infrastructure
	// provider.
	Created VMStatusPhase = "Created"

	// The Deleted phase indicates that the VirtualMachine has been deleted by the backing infrastructure provider.
	Deleted VMStatusPhase = "Deleted"
)

type VirtualMachine

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

	Spec   VirtualMachineSpec   `json:"spec,omitempty"`
	Status VirtualMachineStatus `json:"status,omitempty"`
}

VirtualMachine is the Schema for the virtualmachines API. A VirtualMachine represents the desired specification and the observed status of a VirtualMachine instance. A VirtualMachine is realized by the VirtualMachine controller on a backing Virtual Infrastructure provider such as vSphere.

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.

func (*VirtualMachine) DeepCopyObject

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

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

func (VirtualMachine) NamespacedName

func (vm VirtualMachine) NamespacedName() string

type VirtualMachineClass

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

	Spec   VirtualMachineClassSpec   `json:"spec,omitempty"`
	Status VirtualMachineClassStatus `json:"status,omitempty"`
}

VirtualMachineClass is the Schema for the virtualmachineclasses API. A VirtualMachineClass represents the desired specification and the observed status of a VirtualMachineClass instance. A VirtualMachineClass represents a policy and configuration resource which defines a set of attributes to be used in the configuration of a VirtualMachine instance. A VirtualMachine resource references a VirtualMachineClass as a required input.

func (*VirtualMachineClass) DeepCopy

func (in *VirtualMachineClass) DeepCopy() *VirtualMachineClass

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

func (*VirtualMachineClass) DeepCopyInto

func (in *VirtualMachineClass) DeepCopyInto(out *VirtualMachineClass)

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

func (*VirtualMachineClass) DeepCopyObject

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

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

type VirtualMachineClassHardware

type VirtualMachineClassHardware struct {
	Cpus   int64             `json:"cpus,omitempty"`
	Memory resource.Quantity `json:"memory,omitempty"`
}

VirtualMachineClassHardware describes a virtual hardware resource specification.

func (*VirtualMachineClassHardware) DeepCopy

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

func (*VirtualMachineClassHardware) DeepCopyInto

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

type VirtualMachineClassList

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

VirtualMachineClassList contains a list of VirtualMachineClass.

func (*VirtualMachineClassList) DeepCopy

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

func (*VirtualMachineClassList) DeepCopyInto

func (in *VirtualMachineClassList) DeepCopyInto(out *VirtualMachineClassList)

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

func (*VirtualMachineClassList) DeepCopyObject

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

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

type VirtualMachineClassPolicies

type VirtualMachineClassPolicies struct {
	Resources VirtualMachineClassResources `json:"resources,omitempty"`
}

VirtualMachineClassPolicies describes the policy configuration to be used by a VirtualMachineClass.

func (*VirtualMachineClassPolicies) DeepCopy

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

func (*VirtualMachineClassPolicies) DeepCopyInto

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

type VirtualMachineClassResources

type VirtualMachineClassResources struct {
	Requests VirtualMachineResourceSpec `json:"requests,omitempty"`
	Limits   VirtualMachineResourceSpec `json:"limits,omitempty"`
}

VirtualMachineClassResources describes the virtual hardware resource reservations and limits configuration to be used by a VirtualMachineClass.

func (*VirtualMachineClassResources) DeepCopy

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

func (*VirtualMachineClassResources) DeepCopyInto

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

type VirtualMachineClassSpec

type VirtualMachineClassSpec struct {
	// Hardware describes the configuration of the VirtualMachineClass attributes related to virtual hardware.  The
	// configuration specified in this field is used to customize the virtual hardware characteristics of any VirtualMachine
	// associated with this VirtualMachineClass.
	Hardware VirtualMachineClassHardware `json:"hardware,omitempty"`

	// Policies describes the configuration of the VirtualMachineClass attributes related to virtual infrastructure
	// policy.  The configuration specified in this field is used to customize various policies related to
	// infrastructure resource consumption.
	Policies VirtualMachineClassPolicies `json:"policies,omitempty"`
}

VirtualMachineClassSpec defines the desired state of VirtualMachineClass

func (*VirtualMachineClassSpec) DeepCopy

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

func (*VirtualMachineClassSpec) DeepCopyInto

func (in *VirtualMachineClassSpec) DeepCopyInto(out *VirtualMachineClassSpec)

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

type VirtualMachineClassStatus

type VirtualMachineClassStatus struct {
}

VirtualMachineClassStatus defines the observed state of VirtualMachineClass. VirtualMachineClasses are immutable, non-dynamic resources, so this status is currently unused.

func (*VirtualMachineClassStatus) DeepCopy

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

func (*VirtualMachineClassStatus) DeepCopyInto

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

type VirtualMachineImage

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

	Spec   VirtualMachineImageSpec   `json:"spec,omitempty"`
	Status VirtualMachineImageStatus `json:"status,omitempty"`
}

VirtualMachineImage is the Schema for the virtualmachineimages API A VirtualMachineImage represents a VirtualMachine image (e.g. VM template) that can be used as the base image for creating a VirtualMachine instance. The VirtualMachineImage is a required field of the VirtualMachine spec. Currently, VirtualMachineImages are immutable to end users. They are created and managed by a VirtualMachineImage controller whose role is to discover available images in the backing infrastructure provider that should be surfaced as consumable VirtualMachineImage resources.

func (*VirtualMachineImage) DeepCopy

func (in *VirtualMachineImage) DeepCopy() *VirtualMachineImage

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

func (*VirtualMachineImage) DeepCopyInto

func (in *VirtualMachineImage) DeepCopyInto(out *VirtualMachineImage)

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

func (*VirtualMachineImage) DeepCopyObject

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

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

type VirtualMachineImageList

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

VirtualMachineImageList contains a list of VirtualMachineImage

func (*VirtualMachineImageList) DeepCopy

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

func (*VirtualMachineImageList) DeepCopyInto

func (in *VirtualMachineImageList) DeepCopyInto(out *VirtualMachineImageList)

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

func (*VirtualMachineImageList) DeepCopyObject

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

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

type VirtualMachineImageOSInfo

type VirtualMachineImageOSInfo struct {
	// Version typically describes the version of the guest operating system.
	// +optional
	Version string `json:"version,omitempty"`

	// Type typically describes the type of the guest operating system.
	// +optional
	Type string `json:"type,omitempty"`
}

VirtualMachineImageOSInfo describes optional information related to the image operating system that can be added to an image template. This information can be used by the image author to communicate details of the operating system associated with the image.

func (*VirtualMachineImageOSInfo) DeepCopy

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

func (*VirtualMachineImageOSInfo) DeepCopyInto

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

type VirtualMachineImageProductInfo

type VirtualMachineImageProductInfo struct {
	// Product typically describes the type of product contained in the image.
	// +optional
	Product string `json:"product,omitempty"`

	// Vendor typically describes the name of the vendor that is producing the image.
	// +optional
	Vendor string `json:"vendor,omitempty"`

	// Version typically describes a short-form version of the image.
	// +optional
	Version string `json:"version,omitempty"`

	// FullVersion typically describes a long-form version of the image.
	// +optional
	FullVersion string `json:"fullVersion,omitempty"`
}

VirtualMachineImageProductInfo describes optional product-related information that can be added to an image template. This information can be used by the image author to communicate details of the product contained in the image.

func (*VirtualMachineImageProductInfo) DeepCopy

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

func (*VirtualMachineImageProductInfo) DeepCopyInto

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

type VirtualMachineImageSpec

type VirtualMachineImageSpec struct {
	// Type describes the type of the VirtualMachineImage. Currently, the only supported image is "OVF"
	Type string `json:"type"`

	// ImageSourceType describes the type of content source of the VirtualMachineImage.  The only Content Source
	// supported currently is the vSphere Content Library.
	// +optional
	ImageSourceType string `json:"imageSourceType,omitempty"`

	// ProductInfo describes the attributes of the VirtualMachineImage relating to the product contained in the
	// image.
	// +optional
	ProductInfo VirtualMachineImageProductInfo `json:"productInfo,omitempty"`

	// OSInfo describes the attributes of the VirtualMachineImage relating to the Operating System contained in the
	// image.
	// +optional
	OSInfo VirtualMachineImageOSInfo `json:"osInfo,omitempty"`
}

VirtualMachineImageSpec defines the desired state of VirtualMachineImage

func (*VirtualMachineImageSpec) DeepCopy

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

func (*VirtualMachineImageSpec) DeepCopyInto

func (in *VirtualMachineImageSpec) DeepCopyInto(out *VirtualMachineImageSpec)

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

type VirtualMachineImageStatus

type VirtualMachineImageStatus struct {
	Uuid       string `json:"uuid,omitempty"`
	InternalId string `json:"internalId"`
	PowerState string `json:"powerState,omitempty"`
}

VirtualMachineImageStatus defines the observed state of VirtualMachineImage

func (*VirtualMachineImageStatus) DeepCopy

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

func (*VirtualMachineImageStatus) DeepCopyInto

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

type VirtualMachineList

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

VirtualMachineList contains a list of VirtualMachine.

+kubebuilder:object:root=true

func (*VirtualMachineList) DeepCopy

func (in *VirtualMachineList) DeepCopy() *VirtualMachineList

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

func (*VirtualMachineList) DeepCopyInto

func (in *VirtualMachineList) DeepCopyInto(out *VirtualMachineList)

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

func (*VirtualMachineList) DeepCopyObject

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

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

type VirtualMachineMetadata

type VirtualMachineMetadata struct {
	// ConfigMapName describes the name of the ConfigMap, in the same Namespace as the VirtualMachine, that should be
	// used for VirtualMachine metadata.  The contents of the Data field of the ConfigMap is used as the VM Metadata.
	// The format of the contents of the VM Metadata are not parsed or interpreted by the VirtualMachine controller.
	ConfigMapName string `json:"configMapName,omitempty"`

	// Transport describes the name of a supported VirtualMachineMetadata transport "protocol".  Currently, the only supported
	// transport prototocol is "ExtraConfig".  The ExtraConfig protocol places the VM Metadata as "ExtraConfig" on the
	// vSphere VM ConfigSpec when creating the VirtualMachine.
	Transport string `json:"transport,omitempty"`
}

VirtualMachineMetadata defines any metadata that should be passed to the VirtualMachine instance. A typical use case is for this metadata to be used for Guest Customization, however the intended use of the metadata is agnostic to the VirtualMachine controller. VirtualMachineMetadata is read from a configured ConfigMap and then propagated to the VirtualMachine instance using a desired "Transport" mechanism.

func (*VirtualMachineMetadata) DeepCopy

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

func (*VirtualMachineMetadata) DeepCopyInto

func (in *VirtualMachineMetadata) DeepCopyInto(out *VirtualMachineMetadata)

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

type VirtualMachineNetworkInterface

type VirtualMachineNetworkInterface struct {
	// NetworkType describes the type of VIrtualNetwork that is referenced by the NetworkName.  Currently, the only
	// supported NetworkType is "nsx-t".
	NetworkType string `json:"networkType,omitempty"`

	// NetworkName describes the name of an existing virtual network that this interface should be added to.  For
	// NSX-T networks, this is the name of a pre-existing NSX-T VirtualNetwork.
	NetworkName string `json:"networkName"`

	// EthernetCardType describes an optional ethernet card that should be used by the VirtualNetworkInterface (vNIC)
	// associated with this network integration.  The default is "vmxnet3".
	EthernetCardType string `json:"ethernetCardType,omitempty"`
}

VirtualMachineNetworkInterface defines the properties of a network interface to attach to a VirtualMachine instance. A VirtualMachineNetworkInterface describes network integration configuration that is to be used by the VirtualMachine controller when integrating the VirtualMachine into a VirtualNetwork. Currently, only integration with NSX-T network integration is supported using this VirtualMachineNetworkInterface structure.

func (*VirtualMachineNetworkInterface) DeepCopy

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

func (*VirtualMachineNetworkInterface) DeepCopyInto

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

type VirtualMachinePort

type VirtualMachinePort struct {
	Port     int             `json:"port"`
	Ip       string          `json:"ip"`
	Name     string          `json:"name"`
	Protocol corev1.Protocol `json:"protocol"`
}

VirtualMachinePort is unused and can be considered deprecated.

func (*VirtualMachinePort) DeepCopy

func (in *VirtualMachinePort) DeepCopy() *VirtualMachinePort

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

func (*VirtualMachinePort) DeepCopyInto

func (in *VirtualMachinePort) DeepCopyInto(out *VirtualMachinePort)

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

type VirtualMachinePowerState

type VirtualMachinePowerState string
const (
	VirtualMachinePoweredOff VirtualMachinePowerState = "poweredOff"
	VirtualMachinePoweredOn  VirtualMachinePowerState = "poweredOn"
)

See govmomi.vim25.types.VirtualMachinePowerState

type VirtualMachineResourceSpec

type VirtualMachineResourceSpec struct {
	Cpu    resource.Quantity `json:"cpu,omitempty"`
	Memory resource.Quantity `json:"memory,omitempty"`
}

VirtualMachineResourceSpec describes a virtual hardware policy specification.

func (*VirtualMachineResourceSpec) DeepCopy

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

func (*VirtualMachineResourceSpec) DeepCopyInto

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

type VirtualMachineService

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

	Spec   VirtualMachineServiceSpec   `json:"spec,omitempty"`
	Status VirtualMachineServiceStatus `json:"status,omitempty"`
}

VirtualMachineService is the Schema for the virtualmachineservices API. A VirtualMachineService represents the desired specification and the observed status of a VirtualMachineService instance. A VirtualMachineService represents a network service, provided by one or more VirtualMachines, that is desired to be exposed to other workloads both internal and external to the cluster.

func (*VirtualMachineService) DeepCopy

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

func (*VirtualMachineService) DeepCopyInto

func (in *VirtualMachineService) DeepCopyInto(out *VirtualMachineService)

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

func (*VirtualMachineService) DeepCopyObject

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

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

func (*VirtualMachineService) NamespacedName

func (s *VirtualMachineService) NamespacedName() string

type VirtualMachineServiceList

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

VirtualMachineServiceList contains a list of VirtualMachineService.

func (*VirtualMachineServiceList) DeepCopy

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

func (*VirtualMachineServiceList) DeepCopyInto

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

func (*VirtualMachineServiceList) DeepCopyObject

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

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

type VirtualMachineServicePort

type VirtualMachineServicePort struct {
	// Name describes the name to be used to identify this VirtualMachineServicePort
	Name string `json:"name"`

	// Protocol describes the Layer 4 transport protocol for this port.  Supports "TCP", "UDP", and "SCTP".
	Protocol string `json:"protocol"`

	// Port describes the external port that will be exposed by the service.
	Port int32 `json:"port"`

	// TargetPort describes the internal port open on a VirtualMachine that should be mapped to the external Port.
	TargetPort int32 `json:"targetPort"`
}

VirtualMachineServicePort describes the specification of a service port to be exposed by a VirtualMachineService. This VirtualMachineServicePort specification includes attributes that define the external and internal representation of the service port.

func (*VirtualMachineServicePort) DeepCopy

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

func (*VirtualMachineServicePort) DeepCopyInto

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

type VirtualMachineServiceSpec

type VirtualMachineServiceSpec struct {
	// Type specifies a desired VirtualMachineServiceType for this VirtualMachineService.  The supported types
	// are VirtualMachineServiceTypeClusterIP and VirtualMachineServiceTypeLoadBalancer.
	Type VirtualMachineServiceType `json:"type"`

	// Ports specifies a list of VirtualMachineServicePort to expose with this VirtualMachineService.  Each of these ports
	// will be an accessible network entry point to access this service by.
	Ports []VirtualMachineServicePort `json:"ports"`

	// Selector specifies a map of key-value pairs, also known as a Label Selector, that is used to match this
	// VirtualMachineService with the set of VirtualMachines that should back this VirtualMachineService.
	Selector map[string]string `json:"selector"`

	// Just support cluster IP for now
	ClusterIP    string `json:"clusterIp,omitempty"`
	ExternalName string `json:"externalName,omitempty"`
}

VirtualMachineServiceSpec defines the desired state of VirtualMachineService. Each VirtualMachineService exposes a set of TargetPorts on a set of VirtualMachine instances as a network endpoint within or outside of the Kubernetes cluster. The VirtualMachineService is loosely coupled to the VirtualMachines that are backing it through the use of a Label Selector. In Kubernetes, a Label Selector enables matching of a resource using a set of key-value pairs, aka Labels. By using a Label Selector, the VirtualMachineService can be generically defined to apply to any VirtualMachine that has the appropriate set of labels.

func (*VirtualMachineServiceSpec) DeepCopy

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

func (*VirtualMachineServiceSpec) DeepCopyInto

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

type VirtualMachineServiceStatus

type VirtualMachineServiceStatus struct {
	// LoadBalancer contains the current status of the Load Balancer.  The LoadBalancer status can be used to introspect
	// the state and attributes of any LoadBalancer instances that are fulfilling the VirtualmachineService.
	// +optional
	LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty"`
}

VirtualMachineServiceStatus defines the observed state of VirtualMachineService

func (*VirtualMachineServiceStatus) DeepCopy

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

func (*VirtualMachineServiceStatus) DeepCopyInto

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

type VirtualMachineServiceType

type VirtualMachineServiceType string

VirtualMachineService Type string describes ingress methods for a service

const (
	// VirtualMachineServiceTypeClusterIP means a service will only be accessible inside the
	// cluster, via the cluster IP.
	VirtualMachineServiceTypeClusterIP VirtualMachineServiceType = "ClusterIP"

	// VirtualMachineServiceTypeLoadBalancer means a service will be exposed via an
	// external load balancer (if the cloud provider supports it), in addition
	// to 'NodePort' type.
	VirtualMachineServiceTypeLoadBalancer VirtualMachineServiceType = "LoadBalancer"

	// VirtualMachineServiceTypeExternalName means a service consists of only a reference to
	// an external name that kubedns or equivalent will return as a CNAME
	// record, with no exposing or proxying of any pods involved.
	VirtualMachineServiceTypeExternalName VirtualMachineServiceType = "ExternalName"
)

These types correspond to a subset of the core Service Types

type VirtualMachineSetResourcePolicy

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

	Spec   VirtualMachineSetResourcePolicySpec   `json:"spec,omitempty"`
	Status VirtualMachineSetResourcePolicyStatus `json:"status,omitempty"`
}

VirtualMachineSetResourcePolicy is the Schema for the virtualmachinesetresourcepolicies API.

func (*VirtualMachineSetResourcePolicy) DeepCopy

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

func (*VirtualMachineSetResourcePolicy) DeepCopyInto

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

func (*VirtualMachineSetResourcePolicy) DeepCopyObject

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

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

func (VirtualMachineSetResourcePolicy) NamespacedName

func (res VirtualMachineSetResourcePolicy) NamespacedName() string

type VirtualMachineSetResourcePolicyList

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

VirtualMachineSetResourcePolicyList contains a list of VirtualMachineSetResourcePolicy.

func (*VirtualMachineSetResourcePolicyList) DeepCopy

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

func (*VirtualMachineSetResourcePolicyList) DeepCopyInto

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

func (*VirtualMachineSetResourcePolicyList) DeepCopyObject

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

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

type VirtualMachineSetResourcePolicySpec

type VirtualMachineSetResourcePolicySpec struct {
	ResourcePool   ResourcePoolSpec    `json:"resourcepool,omitempty"`
	Folder         FolderSpec          `json:"folder,omitempty"`
	ClusterModules []ClusterModuleSpec `json:"clustermodules,omitempty"`
}

VirtualMachineSetResourcePolicySpec defines the desired state of VirtualMachineSetResourcePolicy

func (*VirtualMachineSetResourcePolicySpec) DeepCopy

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

func (*VirtualMachineSetResourcePolicySpec) DeepCopyInto

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

type VirtualMachineSetResourcePolicyStatus

type VirtualMachineSetResourcePolicyStatus struct {
	ClusterModules []ClusterModuleStatus `json:"clustermodules,omitempty"`
}

VirtualMachineSetResourcePolicyStatus defines the observed state of VirtualMachineSetResourcePolicy

func (*VirtualMachineSetResourcePolicyStatus) DeepCopy

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

func (*VirtualMachineSetResourcePolicyStatus) DeepCopyInto

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

type VirtualMachineSpec

type VirtualMachineSpec struct {
	// ImageName describes the name of a VirtualMachineImage that is to be used as the base Operating System image of
	// the desired VirtualMachine instances.  The VirtualMachineImage resources can be introspected to discover identifying
	// attributes that may help users to identify the desired image to use.
	ImageName string `json:"imageName"`

	// ClassName describes the name of a VirtualMachineClass that is to be used as the overlayed resource configuration
	// of VirtualMachine.  A VirtualMachineClass is used to further customize the attributes of the VirtualMachine
	// instance.  See VirtualMachineClass for more description.
	ClassName string `json:"className"`

	// PowerState describes the desired power state of a VirtualMachine.  Valid power states are "poweredOff" and "poweredOn".
	PowerState VirtualMachinePowerState `json:"powerState"`

	// Ports is currently unused and can be considered deprecated.
	// +optional
	Ports []VirtualMachinePort `json:"ports,omitempty"`

	// VmMetadata describes any optional metadata that should be passed to the Guest OS.
	// +optional
	VmMetadata *VirtualMachineMetadata `json:"vmMetadata,omitempty"`

	// StorageClass describes the name of a StorageClass that should be used to configure storage-related attributes of the VirtualMachine
	// instance.
	// +optional
	StorageClass string `json:"storageClass,omitempty"`

	// NetworkInterfaces describes a list of VirtualMachineNetworkInterfaces to be configured on the VirtualMachine instance.
	// Each of these VirtualMachineNetworkInterfaces describes external network integration configurations that are to be
	// used by the VirtualMachine controller when integrating the VirtualMachine into one or more external networks.
	// +optional
	NetworkInterfaces []VirtualMachineNetworkInterface `json:"networkInterfaces,omitempty"`

	// ResourcePolicyName describes the name of a VirtualMachineSetResourcePolicy to be used when creating the
	// VirtualMachine instance.
	// +optional
	ResourcePolicyName string `json:"resourcePolicyName"`

	// Volumes describes the list of VirtualMachineVolumes that are desired to be attached to the VirtualMachine.  Each of
	// these volumes specifies a volume identity that the VirtualMachine controller will attempt to satisfy, potentially
	// with an external Volume Management service.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	Volumes []VirtualMachineVolume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name"`

	// ReadinessProbe describes a network probe that can be used to determine if the VirtualMachine is available and
	// responding to the probe.
	// +optional
	ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
}

VirtualMachineSpec defines the desired state of a VirtualMachine

func (*VirtualMachineSpec) DeepCopy

func (in *VirtualMachineSpec) DeepCopy() *VirtualMachineSpec

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

func (*VirtualMachineSpec) DeepCopyInto

func (in *VirtualMachineSpec) DeepCopyInto(out *VirtualMachineSpec)

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

type VirtualMachineStatus

type VirtualMachineStatus struct {
	// Host describes the hostname or IP address of the infrastructure host that the VirtualMachine is executing on.
	Host string `json:"host"`

	// PowerState describes the current power state of the VirtualMachine.
	PowerState VirtualMachinePowerState `json:"powerState"`

	// Phase describes the current phase information of the VirtualMachine.
	Phase VMStatusPhase `json:"phase"`

	// VmIp describes the IP address of the VirtualMachine.  Currently, a VirtualMachine only supports a single
	// network interface and interface address.
	VmIp string `json:"vmIp"`

	// UniqueID describes a unique identifier that is provided by the underlying infrastructure provider, such as
	// vSphere.
	UniqueID string `json:"uniqueID"`

	// BiosUUID describes a unique identifier provided by the underlying infrastructure provider that is exposed to the
	// Guest OS BIOS as a unique hardware identifier.
	BiosUUID string `json:"biosUUID"`

	// Volumes describes a list of current status information for each Volume that is desired to be attached to the
	// VirtualMachine.
	Volumes []VirtualMachineVolumeStatus `json:"volumes,omitempty"`
}

VirtualMachineStatus defines the observed state of a VirtualMachine instance.

func (*VirtualMachineStatus) DeepCopy

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

func (*VirtualMachineStatus) DeepCopyInto

func (in *VirtualMachineStatus) DeepCopyInto(out *VirtualMachineStatus)

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

type VirtualMachineVolume

type VirtualMachineVolume struct {
	// Name specifies the name of the VirtualMachineVolume.  Each volume within the scope of a VirtualMachine must
	// have a unique name.
	Name string `json:"name"`

	// PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. The PersistentVolumeClaim
	// must match a persistent volume provisioned (either statically or dynamically) by the cluster's CSI provider.
	PersistentVolumeClaim *corev1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
}

VirtualMachineVolume describes a Volume that should be attached to a specific VirtualMachine. Currently, only PersistentVolumes are supported.

func (*VirtualMachineVolume) DeepCopy

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

func (*VirtualMachineVolume) DeepCopyInto

func (in *VirtualMachineVolume) DeepCopyInto(out *VirtualMachineVolume)

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

type VirtualMachineVolumeStatus

type VirtualMachineVolumeStatus struct {
	// Name is the the name of the volume in a VirtualMachine.
	Name string `json:"name"`

	// Attached represents whether a volume has been successfully attached to the VirtualMachine or not.
	Attached bool `json:"attached"`

	// DiskUuid represents the underlying virtual disk UUID and is present when attachment succeeds.
	DiskUuid string `json:"diskUUID"`

	// Error represents the last error seen when attaching or detaching a volume.  Error will be empty if attachment succeeds.
	Error string `json:"error"`
}

VirtualMachineVolumeStatus defines the observed state of a VirtualMachineVolume instance.

func (*VirtualMachineVolumeStatus) DeepCopy

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

func (*VirtualMachineVolumeStatus) DeepCopyInto

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

Directories

Path Synopsis
Package install installs the API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the API group, making it available as an option to all of the API encoding/decoding machinery.

Jump to

Keyboard shortcuts

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