v1alpha1

package
v0.21.0-dev Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2022 License: Apache-2.0 Imports: 5 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the cpi v1alpha1 API group +kubebuilder:object:generate=true +groupName=cpi.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: "cpi.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 NSXT

type NSXT struct {
	// A flag that enables pod routing
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	PodRoutingEnabled bool `json:"podRoutingEnabled"`

	// Route configuration for NSXT
	// +kubebuilder:validation:Optional
	Routes *NSXTRoute `json:"routes"`

	// A secret reference that contains Nsx-T login credentials to access NSX-T
	// consists of the field username and password
	// +kubebuilder:validation:Optional
	NSXTCredentialsRef *v1.SecretReference `json:"nsxtCredentialsRef"`

	// The NSX-T server
	// +kubebuilder:validation:Optional
	Host string `json:"host"`

	// InsecureFlag is to be set to true if NSX-T uses self-signed cert
	// +kubebuilder:validation:Optional
	InsecureFlag bool `json:"insecureFlag"`

	// RemoteAuth is to be set to true if NSX-T uses remote authentication (authentication done through the vIDM)
	// +kubebuilder:validation:Optional
	RemoteAuth bool `json:"remoteAuth"`

	// VMCAccessToken is VMC access token for token based authentication
	// +kubebuilder:validation:Optional
	VMCAccessToken string `json:"vmcAccessToken"`

	// VMCAuthHost is VMC verification host for token based authentication
	// +kubebuilder:validation:Optional
	VMCAuthHost string `json:"vmcAuthHost"`

	// Client certificate key for NSX-T
	// +kubebuilder:validation:Optional
	ClientCertKeyData string `json:"clientCertKeyData"`

	// Client certificate data for NSX-T
	// +kubebuilder:validation:Optional
	ClientCertData string `json:"clientCertData"`

	// The certificate authority for the server certificate for locally signed certificates
	// +kubebuilder:validation:Optional
	RootCAData string `json:"rootCAData"`

	// The name of secret that stores CPI configuration
	// +kubebuilder:validation:Optional
	SecretName string `json:"secretName"`

	// The namespace of secret that stores CPI configuration
	// +kubebuilder:validation:Optional
	SecretNamespace string `json:"secretNamespace"`
}

func (*NSXT) DeepCopy

func (in *NSXT) DeepCopy() *NSXT

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

func (*NSXT) DeepCopyInto

func (in *NSXT) DeepCopyInto(out *NSXT)

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

type NSXTRoute

type NSXTRoute struct {
	// NSX-T T0/T1 logical router path
	// +kubebuilder:validation:Optional
	RouterPath string `json:"routerPath"`

	// Cluster CIDR
	// +kubebuilder:validation:Optional
	ClusterCidr string `json:"clusterCidr"`
}

func (*NSXTRoute) DeepCopy

func (in *NSXTRoute) DeepCopy() *NSXTRoute

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

func (*NSXTRoute) DeepCopyInto

func (in *NSXTRoute) DeepCopyInto(out *NSXTRoute)

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

type NonParavirtualConfig

type NonParavirtualConfig struct {

	// The IP address or FQDN of the vSphere endpoint
	// +kubebuilder:validation:Optional
	Server string `json:"server"`

	// The datacenter in which VMs are created/located
	// +kubebuilder:validation:Optional
	Datacenter string `json:"datacenter"`

	// A secret reference that contains vSphere login credentials to access a vSphere endpoint
	// consists of the fields username and password
	// +kubebuilder:validation:Optional
	VSphereCredentialRef *v1.SecretReference `json:"vSphereCredentialRef"`

	// The cryptographic thumbprint of the vSphere endpoint's certificate. Default value is "".
	// +kubebuilder:validation:Optional
	TLSThumbprint string `json:"tlsThumbprint"`

	// The region used by vSphere multi-AZ feature
	// +kubebuilder:validation:Optional
	Region string `json:"region"`

	// The zone used by vSphere multi-AZ feature
	// +kubebuilder:validation:Optional
	Zone string `json:"zone"`

	// The flag that disables TLS peer verification
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	InsecureFlag bool `json:"insecureFlag"`

	// The IP family configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum="ipv4";"ipv6";"ipv4,ipv6";"ipv6,ipv4"
	IPFamily string `json:"ipFamily"`

	// Internal VM network name
	// +kubebuilder:validation:Optional
	VMInternalNetwork string `json:"vmInternalNetwork"`

	// External VM network name
	// +kubebuilder:validation:Optional
	VMExternalNetwork string `json:"vmExternalNetwork"`

	// Internal VM network CIDR to be excluded
	// +kubebuilder:validation:Optional
	VMExcludeInternalNetworkSubnetCidr string `json:"vmExcludeInternalNetworkSubnetCidr"`

	// External VM network CIDR to be excluded
	// +kubebuilder:validation:Optional
	VMExcludeExternalNetworkSubnetCidr string `json:"vmExcludeExternalNetworkSubnetCidr"`

	// External arguments for cloud provider
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
	TLSCipherSuites string `json:"tlsCipherSuites"`

	// +kubebuilder:validation:Optional
	NSXT *NSXT `json:"nsxt"`

	// HTTP proxy setting
	// +kubebuilder:validation:Optional
	HTTPProxy string `json:"http_proxy"`

	// HTTPS proxy setting
	// +kubebuilder:validation:Optional
	HTTPSProxy string `json:"https_proxy"`

	// No-proxy setting
	// +kubebuilder:validation:Optional
	NoProxy string `json:"no_proxy"`
}

func (*NonParavirtualConfig) DeepCopy

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

func (*NonParavirtualConfig) DeepCopyInto

func (in *NonParavirtualConfig) DeepCopyInto(out *NonParavirtualConfig)

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

type ParavirtualConfig

type ParavirtualConfig struct {
	// Used in vsphereParavirtual mode, defines the Cluster API versions.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=cluster.x-k8s.io/v1beta1
	ClusterAPIVersion string `json:"clusterAPIVersion"`

	// Used in vsphereParavirtual mode, defines the Cluster kind.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=Cluster
	ClusterKind string `json:"clusterKind"`

	// Used in vsphereParavirtual mode, defines the Cluster name.
	// +kubebuilder:validation:Optional
	ClusterName string `json:"clusterName"`

	// Used in vsphereParavirtual mode, defines the Cluster UID.
	// +kubebuilder:validation:Optional
	ClusterUID string `json:"clusterUID"`

	// Used in vsphereParavirtual mode, the endpoint IP of supervisor cluster's API server.
	// +kubebuilder:validation:Optional
	SupervisorMasterEndpointIP string `json:"supervisorMasterEndpointIP"`

	// Used in vsphereParavirtual mode, the endpoint port of supervisor cluster's API server port.
	// +kubebuilder:validation:Optional
	SupervisorMasterPort string `json:"supervisorMasterPort"`
}

func (*ParavirtualConfig) DeepCopy

func (in *ParavirtualConfig) DeepCopy() *ParavirtualConfig

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

func (*ParavirtualConfig) DeepCopyInto

func (in *ParavirtualConfig) DeepCopyInto(out *ParavirtualConfig)

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

type VSphereCPI

type VSphereCPI struct {
	// The vSphere mode. Either `vsphereCPI` or `vsphereParavirtualCPI`.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=vsphereCPI;vsphereParavirtualCPI
	Mode string `json:"mode"`

	*NonParavirtualConfig `json:""`

	*ParavirtualConfig `json:""`
}

func (*VSphereCPI) DeepCopy

func (in *VSphereCPI) DeepCopy() *VSphereCPI

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

func (*VSphereCPI) DeepCopyInto

func (in *VSphereCPI) DeepCopyInto(out *VSphereCPI)

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

type VSphereCPIConfig

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

	Spec   VSphereCPIConfigSpec   `json:"spec,omitempty"`
	Status VSphereCPIConfigStatus `json:"status,omitempty"`
}

VSphereCPIConfig is the Schema for the VSphereCPIConfig API

func (*VSphereCPIConfig) DeepCopy

func (in *VSphereCPIConfig) DeepCopy() *VSphereCPIConfig

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

func (*VSphereCPIConfig) DeepCopyInto

func (in *VSphereCPIConfig) DeepCopyInto(out *VSphereCPIConfig)

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

func (*VSphereCPIConfig) DeepCopyObject

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

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

type VSphereCPIConfigList

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

VSphereCPIConfigList contains a list of VSphereCPIConfig

func (*VSphereCPIConfigList) DeepCopy

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

func (*VSphereCPIConfigList) DeepCopyInto

func (in *VSphereCPIConfigList) DeepCopyInto(out *VSphereCPIConfigList)

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

func (*VSphereCPIConfigList) DeepCopyObject

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

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

type VSphereCPIConfigSpec

type VSphereCPIConfigSpec struct {
	VSphereCPI VSphereCPI `json:"vsphereCPI"`
}

VSphereCPIConfigSpec defines the desired state of VSphereCPIConfig

func (*VSphereCPIConfigSpec) DeepCopy

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

func (*VSphereCPIConfigSpec) DeepCopyInto

func (in *VSphereCPIConfigSpec) DeepCopyInto(out *VSphereCPIConfigSpec)

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

type VSphereCPIConfigStatus

type VSphereCPIConfigStatus struct {
	// Name of the data value secret created by vSphere CPI controller
	//+ kubebuilder:validation:Optional
	SecretRef string `json:"secretRef,omitempty"`
}

VSphereCPIConfigStatus defines the observed state of VSphereCPIConfig

func (*VSphereCPIConfigStatus) DeepCopy

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

func (*VSphereCPIConfigStatus) DeepCopyInto

func (in *VSphereCPIConfigStatus) DeepCopyInto(out *VSphereCPIConfigStatus)

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