v1alpha1

package
v1.11.1-rc.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for vSphere topology APIs. +kubebuilder:object:generate=true +groupName=topology.tanzu.vmware.com

Index

Constants

This section is empty.

Variables

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

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

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

Functions

This section is empty.

Types

type AvailabilityZone

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

	Spec   AvailabilityZoneSpec   `json:"spec,omitempty"`
	Status AvailabilityZoneStatus `json:"status,omitempty"`
}

AvailabilityZone is the schema for the AvailabilityZone resource for the vSphere topology API.

+kubebuilder:object:root=true +kubebuilder:resource:path=availabilityzones,scope=Cluster,shortName=az +kubebuilder:storageversion +kubebuilder:subresource:status

func (*AvailabilityZone) DeepCopy

func (in *AvailabilityZone) DeepCopy() *AvailabilityZone

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

func (*AvailabilityZone) DeepCopyInto

func (in *AvailabilityZone) DeepCopyInto(out *AvailabilityZone)

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

func (*AvailabilityZone) DeepCopyObject

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

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

type AvailabilityZoneList

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

AvailabilityZoneList contains a list of AvailabilityZone resources.

+kubebuilder:object:root=true

func (*AvailabilityZoneList) DeepCopy

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

func (*AvailabilityZoneList) DeepCopyInto

func (in *AvailabilityZoneList) DeepCopyInto(out *AvailabilityZoneList)

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

func (*AvailabilityZoneList) DeepCopyObject

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

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

type AvailabilityZoneReference

type AvailabilityZoneReference struct {
	// APIVersion defines the versioned schema of this reference to the cluster scoped
	// AvailabilityZone object.
	APIVersion string `json:"apiVersion"`

	// Name is the name of  the cluster scoped AvailabilityZone to refer to.
	Name string `json:"name"`
}

AvailabilityZoneReference describes a reference to the cluster scoped AvailabilityZone object.

func (*AvailabilityZoneReference) DeepCopy

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

func (*AvailabilityZoneReference) DeepCopyInto

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

type AvailabilityZoneSpec

type AvailabilityZoneSpec struct {
	// ClusterComputeResourceMoId is the managed object ID of the vSphere
	// ClusterComputeResource represented by this availability zone.
	ClusterComputeResourceMoId string `json:"clusterComputeResourceMoId,omitempty"`

	// ClusterComputeResourceMoIDs are the managed object IDs of the vSphere
	// ClusterComputeResources represented by this availability zone.
	ClusterComputeResourceMoIDs []string `json:"clusterComputeResourceMoIDs,omitempty"`

	// Namespaces is a map that enables querying information about the vSphere
	// objects that make up a Kubernetes Namespace based on its name.
	Namespaces map[string]NamespaceInfo `json:"namespaces,omitempty"`
}

AvailabilityZoneSpec defines the desired state of AvailabilityZone.

func (*AvailabilityZoneSpec) DeepCopy

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

func (*AvailabilityZoneSpec) DeepCopyInto

func (in *AvailabilityZoneSpec) DeepCopyInto(out *AvailabilityZoneSpec)

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

type AvailabilityZoneStatus

type AvailabilityZoneStatus struct {
}

AvailabilityZoneStatus defines the observed state of AvailabilityZone.

func (*AvailabilityZoneStatus) DeepCopy

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

func (*AvailabilityZoneStatus) DeepCopyInto

func (in *AvailabilityZoneStatus) DeepCopyInto(out *AvailabilityZoneStatus)

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

type NamespaceInfo

type NamespaceInfo struct {
	// PoolMoId is the managed object ID of the vSphere ResourcePool for a
	// Namespace on an individual vSphere Cluster.
	PoolMoId string `json:"poolMoId,omitempty"`

	// PoolMoIDs are the managed object ID of the vSphere ResourcePools for a
	// Namespace in an individual vSphere Zone. A zone may be comprised of
	// multiple ResourcePools.
	PoolMoIDs []string `json:"poolMoIDs,omitempty"`

	// FolderMoId is the managed object ID of the vSphere Folder for a
	// Namespace. Folders are global and not per-vSphere Cluster, but the
	// FolderMoId is stored here, alongside the PoolMoId for convenience.
	FolderMoId string `json:"folderMoId,omitempty"`
}

NamespaceInfo contains identifying information about the vSphere resources used to represent a Kubernetes namespace on individual vSphere Zones.

func (*NamespaceInfo) DeepCopy

func (in *NamespaceInfo) DeepCopy() *NamespaceInfo

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

func (*NamespaceInfo) DeepCopyInto

func (in *NamespaceInfo) DeepCopyInto(out *NamespaceInfo)

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

type VSphereEntityInfo

type VSphereEntityInfo struct {
	// +optional
	// PoolMoIDs are the managed object ID of the vSphere ResourcePools
	// in an individual vSphere Zone. A zone may be comprised of
	// multiple ResourcePools.
	PoolMoIDs []string `json:"poolMoIDs,omitempty"`

	// +optional
	// FolderMoID is the managed object ID of the vSphere Folder for a
	// Namespace.
	FolderMoID string `json:"folderMoID,omitempty"`
}

VSphereEntityInfo contains the managed object IDs associated with a vSphere entity

func (*VSphereEntityInfo) DeepCopy

func (in *VSphereEntityInfo) DeepCopy() *VSphereEntityInfo

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

func (*VSphereEntityInfo) DeepCopyInto

func (in *VSphereEntityInfo) DeepCopyInto(out *VSphereEntityInfo)

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

type VSphereZone

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

	Spec   VSphereZoneSpec   `json:"spec,omitempty"`
	Status VSphereZoneStatus `json:"status,omitempty"`
}

VSphereZone is the schema for the VSphereZone resource for the vSphere Zone.

+kubebuilder:object:root=true +kubebuilder:resource:path=vspherezones,scope=Cluster +kubebuilder:storageversion +kubebuilder:subresource:status

func (*VSphereZone) DeepCopy

func (in *VSphereZone) DeepCopy() *VSphereZone

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

func (*VSphereZone) DeepCopyInto

func (in *VSphereZone) DeepCopyInto(out *VSphereZone)

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

func (*VSphereZone) DeepCopyObject

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

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

type VSphereZoneList

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

VSphereZoneList contains a list of VSphereZone resources.

+kubebuilder:object:root=true

func (*VSphereZoneList) DeepCopy

func (in *VSphereZoneList) DeepCopy() *VSphereZoneList

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

func (*VSphereZoneList) DeepCopyInto

func (in *VSphereZoneList) DeepCopyInto(out *VSphereZoneList)

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

func (*VSphereZoneList) DeepCopyObject

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

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

type VSphereZoneSpec

type VSphereZoneSpec struct {
	// Description is the description of the vSphere Zone.
	Description string `json:"description,omitempty"`
}

VSphereZoneSpec defines the desired state of VSphereZone.

func (*VSphereZoneSpec) DeepCopy

func (in *VSphereZoneSpec) DeepCopy() *VSphereZoneSpec

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

func (*VSphereZoneSpec) DeepCopyInto

func (in *VSphereZoneSpec) DeepCopyInto(out *VSphereZoneSpec)

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

type VSphereZoneStatus

type VSphereZoneStatus struct {
}

VSphereZoneStatus defines the observed state of VSphereZone.

func (*VSphereZoneStatus) DeepCopy

func (in *VSphereZoneStatus) DeepCopy() *VSphereZoneStatus

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

func (*VSphereZoneStatus) DeepCopyInto

func (in *VSphereZoneStatus) DeepCopyInto(out *VSphereZoneStatus)

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

type Zone

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

	Spec   ZoneSpec   `json:"spec,omitempty"`
	Status ZoneStatus `json:"status,omitempty"`
}

Zone is the schema for the Zone resource for the vSphere topology API.

A Zone is the zone the k8s namespace is confined to. That is workloads will be limited to the Zones in the namespace. For more information about availability zones, refer to: https://kubernetes.io/docs/setup/best-practices/multiple-zones/

+kubebuilder:object:root=true +kubebuilder:resource:path=zones,scope=Namespaced +kubebuilder:storageversion +kubebuilder:subresource:status

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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

func (*Zone) DeepCopyObject

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

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

type ZoneList

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

ZoneList contains a list of Zone resources.

+kubebuilder:object:root=true

func (*ZoneList) DeepCopy

func (in *ZoneList) DeepCopy() *ZoneList

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

func (*ZoneList) DeepCopyInto

func (in *ZoneList) DeepCopyInto(out *ZoneList)

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

func (*ZoneList) DeepCopyObject

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

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

type ZoneSpec

type ZoneSpec struct {
	// Namespace contains ResourcePool and folder moIDs to represent the namespace
	Namespace VSphereEntityInfo `json:"namespace,omitempty"`

	// VSpherePods contains ResourcePool and folder moIDs to represent vSpherePods
	// entity within the namespace
	VSpherePods VSphereEntityInfo `json:"vSpherePods,omitempty"`

	// ManagedVMs contains ResourcePool and folder moIDs to represent managedVMs
	// entity within the namespace
	ManagedVMs VSphereEntityInfo `json:"managedVMs,omitempty"`

	// Zone is a reference to the cluster scoped AvailabilityZone this
	// Zone is derived from.
	Zone AvailabilityZoneReference `json:"availabilityZoneReference"`
}

ZoneSpec contains identifying information about the vSphere resources used to represent a Kubernetes namespace on individual vSphere Zones.

func (*ZoneSpec) DeepCopy

func (in *ZoneSpec) DeepCopy() *ZoneSpec

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

func (*ZoneSpec) DeepCopyInto

func (in *ZoneSpec) DeepCopyInto(out *ZoneSpec)

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

type ZoneStatus

type ZoneStatus struct {
	// +optional
	// Conditions describes the observed conditions of the Zone
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ZoneStatus defines the observed state of Zone.

func (*ZoneStatus) DeepCopy

func (in *ZoneStatus) DeepCopy() *ZoneStatus

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

func (*ZoneStatus) DeepCopyInto

func (in *ZoneStatus) DeepCopyInto(out *ZoneStatus)

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