vcd

package
v0.0.0-...-a79603b Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2021 License: Apache-2.0, MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const GroupName = "vcd.provider.extensions.gardener.cloud"

GroupName is the group name use in this package

View Source
const (
	LoadBalancerDefaultClassName = "default"
)

Variables

View Source
var (
	// SchemeBuilder used to register the Shoot resource.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a pointer to SchemeBuilder.AddToScheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CPLoadBalancerClass

type CPLoadBalancerClass struct {
	Name string `json:"name"`
	// Edge is the name of Edge Gateway
	Edge *string `json:"edge,omitempty"`
	// ServerEngineGroup is the name of Server Engine Group
	ServerEngineGroup *string `json:"serverEngineGroup, omitempty"`
	// LoadBalancerPool is name of Load Balancer Pool
	LoadBalancerPool *string `json:"loadBalancerPool, omitempty"`
}

CPLoadBalancerClass provides the name of a load balancer

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
}

CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.

type CloudProfileConfig

type CloudProfileConfig struct {
	metav1.TypeMeta `json:",inline"`
	// Constraints is an object containing constraints for certain values in the control plane config.
	Constraints Constraints `json:"constraints"`
	// DNSServers is a list of IPs of DNS servers used while creating subnets.
	DNSServers []string `json:"dnsServers"`
	// DefaultClassStoragePolicyName is the name of the vSphere storage policy to use for the 'default-class' storage class
	DefaultClassStoragePolicyName string `json:"defaultClassStoragePolicyName"`
	// URL is the URL for auth{n,z} in vCloud.
	URL string `json:"URL,omitempty"`
	// MachineImages is the list of machine images that are understood by the controller. It maps
	// logical names and versions to provider-specific identifiers.
	MachineImages []MachineImages `json:"machineImages"`
	// RequestTimeout specifies the HTTP timeout against the vCloud API.
	RequestTimeout *string `json:"requestTimeout,omitempty"`
}

CloudProfileConfig contains provider-specific configuration that is embedded into Gardener's `CloudProfile` resource.

type Constraints

type Constraints struct {
	// LoadBalancerConfig contains constraints regarding allowed values of the 'Lo' block in the control plane config.
	LoadBalancerConfig LoadBalancerConfig `json:"loadBalancerConfig"`
}

Constraints is an object containing constraints for the shoots.

type ControlPlaneConfig

type ControlPlaneConfig struct {
	metav1.TypeMeta `json:",inline"`

	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	CloudControllerManager *CloudControllerManagerConfig `json:"cloudControllerManager,omitempty"`
	// LoadBalancerClasses lists the load balancer classes to be used.
	LoadBalancerClasses []CPLoadBalancerClass `json:"loadBalancerClasses,omitempty"`
}

ControlPlaneConfig contains configuration settings for the control plane.

type EdgeStatus

type EdgeStatus struct {
	// Name is the name of edge gw
	Name string `json:"name"`
}

EdgeStatus contains information about the edge gw.

type Gw

type Gw struct {
	// Purpose is a logical description of the subnet.
	Purpose Purpose `json:"purpose"`
	// IP is the ip of gateway CIDR
	IP string `json:"ip"`
}

type InfrastructureConfig

type InfrastructureConfig struct {
	metav1.TypeMeta `json:",inline"`
	// Edge is the name of Edge Gateway in which LoadBalancer should be created
	Edge *string `json:"edge,omitempty"`
	// Networks is the vCloud specific network configuration
	Networks Networks `json:"networks"`
}

InfrastructureConfig infrastructure configuration resource

type InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta `json:",inline"`
	// Networks contains information about the created Networks and some related resources.
	Networks NetworkStatus `json:"networks"`
}

InfrastructureStatus contains information about created infrastructure resources.

type LoadBalancerClass

type LoadBalancerClass struct {
	// Name is the name of the LB class
	Name string `json:"name"`
	// Edge is the name of Edge Gateway
	Edge *string `json:"edge,omitempty"`
	// ServerEngineGroup is the name of Server Engine Group
	ServerEngineGroup *string `json:"serverEngineGroup, omitempty"`
	// LoadBalancerPool is name of Load Balancer Pool
	LoadBalancerPool *string `json:"loadBalancerPool, omitempty"`
}

LoadBalancerClass defines a restricted network setting for generic LoadBalancer classes.

func (LoadBalancerClass) IsSemanticallyEqual

func (l LoadBalancerClass) IsSemanticallyEqual(e LoadBalancerClass) bool

IsSemanticallyEqual checks if the load balancer class is semantically equal to another given load balancer class. Name and Purpose fields are allowed to be different.

func (LoadBalancerClass) String

func (l LoadBalancerClass) String() string

type LoadBalancerConfig

type LoadBalancerConfig struct {
	// org is the name of organization
	Org *string `json:"org, omitempty"`
	// vdc is the name of virtual Data Center
	Vdc *string `json:"vdc, omitempty"`
	// Classes are the defined load balancer classes
	Classes []LoadBalancerClass `json:"classes"`
}

LoadBalancerConfig contains the constraints for usable load balancer classes

type MachineImage

type MachineImage struct {
	// Name is the logical name of the machine image.
	Name string `json:"name"`
	// template_name is the template name (or vApp name) of the machine image.
	Template_name string `json:"template_name"`
	// catelog_name is the name of the catalog.
	Catalog_name string `json:"catalog_name"`
}

MachineImage is a mapping from logical names and versions to provider-specific machine image data.

type MachineImageVersion

type MachineImageVersion struct {
	// catalog_name is the name of the catalog.
	Catalog_name string `json:"catalog_name"`
	// Image is the name of the image.
	Template_name string `json:"template_name,omitempty"`
}

MachineImageVersion contains a version and a provider-specific identifier.

type MachineImages

type MachineImages struct {
	// Name is the logical name of the machine image.
	Name string `json:"name"`
	// Versions contains versions and a provider-specific identifier.
	Versions []MachineImageVersion `json:"versions"`
}

MachineImages is a mapping from logical names and versions to provider-specific identifiers.

type NetworkStatus

type NetworkStatus struct {
	// Name is the Network name.
	Name string `json:"id"`
	// Edge contains information about the edge gateway.
	Edge EdgeStatus `json:"edge"`
	// gw is a gw CIDR of network that have been created.
	Gw []Gw `json:"subnets"`
}

NetworkStatus contains information about a generated Network or resources created in an existing Network.

type Networks

type Networks struct {
	// Type is type of network (routed or isolated)
	Type string `json:type`
	// Edge is edge gateway to which the network connect
	Edge string `json:edge`
	// Workers is a gateway CIDRs of a worker subnet (private) to create (used for the VMs).
	Workers_gw string `json:"workers_gw"`
	// Name is the name of an existing private network.
	Name *string `json:"name,omitempty"`
}

Networks holds information about the Kubernetes and infrastructure networks.

type Purpose

type Purpose string

Purpose is a purpose of a resource.

const (
	// PurposeNodes is a Purpose for node resources.
	PurposeNodes Purpose = "nodes"
)

type WorkerStatus

type WorkerStatus struct {
	metav1.TypeMeta `json:",inline"`

	// MachineImages is a list of machine images that have been used in this worker. Usually, the extension controller
	// gets the mapping from name/version to the provider-specific machine image data in its componentconfig. However, if
	// a version that is still in use gets removed from this componentconfig it cannot reconcile anymore existing `Worker`
	// resources that are still using this version. Hence, it stores the used versions in the provider status to ensure
	// reconciliation is possible.
	MachineImages []MachineImage `json:"machineImages,omitempty"`
}

WorkerStatus contains information about created worker resources.

Directories

Path Synopsis
Package v1alpha1 contains the vCloud provider API resources.
Package v1alpha1 contains the vCloud provider API resources.

Jump to

Keyboard shortcuts

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