vsphere

package
v1.4.21-pre Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2025 License: Apache-2.0 Imports: 1 Imported by: 310

Documentation

Overview

Package vsphere contains vSphere-specific structures for installer configuration and management. +k8s:deepcopy-gen=package

Index

Constants

View Source
const (
	// ControlPlaneRole represents control-plane nodes.
	ControlPlaneRole = "control-plane"
	// ComputeRole represents worker nodes.
	ComputeRole = "compute"
	// BootstrapRole represents bootstrap nodes.
	BootstrapRole = "bootstrap"
)
View Source
const Name string = "vsphere"

Name is name for the vsphere platform.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataDisk

type DataDisk struct {
	// name is used to identify the disk definition. name is required needs to be unique so that it can be used to
	// clearly identify purpose of the disk.
	// +kubebuilder:example=images_1
	// +kubebuilder:validation:MaxLength=80
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])?$"
	// +required
	Name string `json:"name"`
	// sizeGiB is the size of the disk in GiB.
	// The maximum supported size is 16384 GiB.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=16384
	// +required
	SizeGiB int32 `json:"sizeGiB"`
	// provisioningMode is an optional field that specifies the provisioning type to be used by this vSphere data disk.
	// Allowed values are "Thin", "Thick", "EagerlyZeroed", and omitted.
	// When set to Thin, the disk will be made using thin provisioning allocating the bare minimum space.
	// When set to Thick, the full disk size will be allocated when disk is created.
	// When set to EagerlyZeroed, the disk will be created using eager zero provisioning. An eager zeroed thick disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. Such disks may take longer time during creation compared to other disk formats.
	// When omitted, no setting will be applied to the data disk and the provisioning mode for the disk will be determined by the default storage policy configured for the datastore in vSphere.
	// +optional
	ProvisioningMode ProvisioningMode `json:"provisioningMode,omitempty"`
}

DataDisk defines a data disk to add to the VM that is not part of the VM OVA template.

func (*DataDisk) DeepCopy

func (in *DataDisk) DeepCopy() *DataDisk

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

func (*DataDisk) DeepCopyInto

func (in *DataDisk) DeepCopyInto(out *DataDisk)

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

type DiskType

type DiskType string

DiskType is a disk provisioning type for vsphere. +kubebuilder:validation:Enum="";thin;thick;eagerZeroedThick

const (
	// DiskTypeThin uses Thin disk provisioning type for vsphere in the cluster.
	DiskTypeThin DiskType = "thin"

	// DiskTypeThick uses Thick disk provisioning type for vsphere in the cluster.
	DiskTypeThick DiskType = "thick"

	// DiskTypeEagerZeroedThick uses EagerZeroedThick disk provisioning type for vsphere in the cluster.
	DiskTypeEagerZeroedThick DiskType = "eagerZeroedThick"

	// TagCategoryRegion the tag category associated with regions.
	TagCategoryRegion = "openshift-region"

	// TagCategoryZone the tag category associated with zones.
	TagCategoryZone = "openshift-zone"
)

type FailureDomain

type FailureDomain struct {
	// name defines the name of the FailureDomain
	// This name is arbitrary but will be used
	// in VSpherePlatformDeploymentZone for association.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Name string `json:"name"`

	// The region is the name of the tag in vCenter that is associated with the
	// tag category `openshift-region`. The region name must match the tag name
	// and must exist prior to installation. When the regionType is Datacenter
	// the tag must be attached to the toplogy.datacenter object in vCenter.
	// When the regionType is ComputeCluster the tag must be attached to the topology.computeCluster
	// object in vCenter.
	// +kubebuilder:validation:Required
	Region string `json:"region"`
	// The zone is the name of the tag in vCenter that is associated with
	// the tag category `openshift-zone`. The zone name must match the tag name
	// and must exist prior to installation. When zoneType is HostGroup the
	// ESXi hosts defined in the provided in the topology.hostGroup field must be tagged.
	// When the zoneType is ComputeCluster the tag must be attached to the topology.computeCluster
	// object in vCenter.
	// +kubebuilder:validation:Required
	Zone string `json:"zone"`
	// server is the fully-qualified domain name or the IP address of the vCenter server.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Server string `json:"server"`
	// Topology describes a given failure domain using vSphere constructs
	// +kubebuilder:validation:Required
	Topology Topology `json:"topology"`

	// regionType is the type of failure domain region, the current values are "Datacenter" and "ComputeCluster"
	// +kubebuilder:validation:Enum=Datacenter;ComputeCluster
	// When regionType is Datacenter the zoneType must be ComputeCluster.
	// When regionType is ComputeCluster the zoneType must be HostGroup
	// +optional
	RegionType FailureDomainType `json:"regionType,omitempty"`

	// When zoneType is ComputeCluster the regionType must be Datacenter
	// When zoneType is HostGroup the regionType must be ComputeCluster
	// If the zoneType is HostGroup topology.hostGroup must be defined and exist in vCenter
	// prior to installation.
	// +kubebuilder:validation:Enum=ComputeCluster;HostGroup
	// +optional
	ZoneType FailureDomainType `json:"zoneType,omitempty"`
}

FailureDomain holds the region and zone failure domain and the vCenter topology of that failure domain.

func (*FailureDomain) DeepCopy

func (in *FailureDomain) DeepCopy() *FailureDomain

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

func (*FailureDomain) DeepCopyInto

func (in *FailureDomain) DeepCopyInto(out *FailureDomain)

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

type FailureDomainType

type FailureDomainType string

FailureDomainType is the string representation name of the failure domain type. There are three defined failure domains types currently, Datacenter, ComputeCluster and HostGroup. Each represents a vCenter object type within a vSphere environment. +kubebuilder:validation:Enum=HostGroup;Datacenter;ComputeCluster

const (
	// HostGroupFailureDomain is a failure domain for a vCenter vm-host group.
	HostGroupFailureDomain FailureDomainType = "HostGroup"
	// ComputeClusterFailureDomain is a failure domain for a vCenter compute cluster.
	ComputeClusterFailureDomain FailureDomainType = "ComputeCluster"
	// DatacenterFailureDomain is a failure domain for a vCenter datacenter.
	DatacenterFailureDomain FailureDomainType = "Datacenter"
)

type Host

type Host struct {
	// FailureDomain refers to the name of a FailureDomain as described in https://github.com/openshift/enhancements/blob/master/enhancements/installer/vsphere-ipi-zonal.md
	// +optional
	FailureDomain string `json:"failureDomain"`
	// NetworkDeviceSpec to be applied to the host
	// +kubebuilder:validation:Required
	NetworkDevice *NetworkDeviceSpec `json:"networkDevice"`
	// Role defines the role of the node
	// +kubebuilder:validation:Enum="";bootstrap;control-plane;compute
	// +kubebuilder:validation:Required
	Role string `json:"role"`
}

Host defines host VMs to generate as part of the installation.

func (*Host) DeepCopy

func (in *Host) DeepCopy() *Host

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

func (*Host) DeepCopyInto

func (in *Host) DeepCopyInto(out *Host)

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

func (*Host) IsBootstrap

func (h *Host) IsBootstrap() bool

IsBootstrap checks if the current host is a bootstrap.

func (*Host) IsCompute

func (h *Host) IsCompute() bool

IsCompute checks if the current host is a worker.

func (*Host) IsControlPlane

func (h *Host) IsControlPlane() bool

IsControlPlane checks if the current host is a master.

type MachinePool

type MachinePool struct {
	// NumCPUs is the total number of virtual processor cores to assign a vm.
	//
	// +optional
	NumCPUs int32 `json:"cpus"`

	// NumCoresPerSocket is the number of cores per socket in a vm. The number
	// of vCPUs on the vm will be NumCPUs/NumCoresPerSocket.
	//
	// +optional
	NumCoresPerSocket int32 `json:"coresPerSocket"`

	// Memory is the size of a VM's memory in MB.
	//
	// +optional
	MemoryMiB int64 `json:"memoryMB"`

	// OSDisk defines the storage for instance.
	//
	// +optional
	OSDisk `json:"osDisk"`

	// DataDisks are additional disks to add to the VM that are not part of the VM's OVA template.
	//
	// +optional
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MaxItems=29
	DataDisks []DataDisk `json:"dataDisks"`

	// Zones defines available zones
	// Zones is available in TechPreview.
	//
	// +omitempty
	Zones []string `json:"zones,omitempty"`
}

MachinePool stores the configuration for a machine pool installed on vSphere.

func (*MachinePool) DeepCopy

func (in *MachinePool) DeepCopy() *MachinePool

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

func (*MachinePool) DeepCopyInto

func (in *MachinePool) DeepCopyInto(out *MachinePool)

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

func (*MachinePool) Set

func (p *MachinePool) Set(required *MachinePool)

Set sets the values from `required` to `p`.

type Metadata

type Metadata struct {
	// VCenter is the domain name or IP address of the vCenter.
	VCenter string `json:"vCenter,omitempty"`
	// Username is the name of the user to use to connect to the vCenter.
	Username string `json:"username,omitempty"`
	// Password is the password for the user to use to connect to the vCenter.
	Password string `json:"password,omitempty"`
	// TerraformPlatform is the type...
	TerraformPlatform string `json:"terraform_platform"`
	// VCenters collection of vcenters when multi vcenter support is enabled
	VCenters []VCenters
}

Metadata contains vSphere metadata (e.g. for uninstalling the cluster).

func (*Metadata) DeepCopy

func (in *Metadata) DeepCopy() *Metadata

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

func (*Metadata) DeepCopyInto

func (in *Metadata) DeepCopyInto(out *Metadata)

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

type NetworkDeviceSpec

type NetworkDeviceSpec struct {
	// gateway is an IPv4 or IPv6 address which represents the subnet gateway,
	// for example, 192.168.1.1.
	// +kubebuilder:validation:Format=ipv4
	// +kubebuilder:validation:Format=ipv6
	Gateway string `json:"gateway,omitempty"`

	// ipAddrs is a list of one or more IPv4 and/or IPv6 addresses and CIDR to assign to
	// this device, for example, 192.168.1.100/24. IP addresses provided via ipAddrs are
	// intended to allow explicit assignment of a machine's IP address.
	// +kubebuilder:validation:Format=ipv4
	// +kubebuilder:validation:Format=ipv6
	// +kubebuilder:example=`192.168.1.100/24`
	// +kubebuilder:example=`2001:DB8:0000:0000:244:17FF:FEB6:D37D/64`
	// +kubebuilder:validation:Required
	IPAddrs []string `json:"ipAddrs"`

	// nameservers is a list of IPv4 and/or IPv6 addresses used as DNS nameservers, for example,
	// 8.8.8.8. a nameserver is not provided by a fulfilled IPAddressClaim. If DHCP is not the
	// source of IP addresses for this network device, nameservers should include a valid nameserver.
	// +kubebuilder:validation:Format=ipv4
	// +kubebuilder:validation:Format=ipv6
	// +kubebuilder:example=`8.8.8.8`
	Nameservers []string `json:"nameservers,omitempty"`
}

NetworkDeviceSpec defines network config for static IP assignment.

func (*NetworkDeviceSpec) DeepCopy

func (in *NetworkDeviceSpec) DeepCopy() *NetworkDeviceSpec

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

func (*NetworkDeviceSpec) DeepCopyInto

func (in *NetworkDeviceSpec) DeepCopyInto(out *NetworkDeviceSpec)

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

type OSDisk

type OSDisk struct {
	// DiskSizeGB defines the size of disk in GB.
	//
	// +optional
	DiskSizeGB int32 `json:"diskSizeGB"`
}

OSDisk defines the disk for a virtual machine.

func (*OSDisk) DeepCopy

func (in *OSDisk) DeepCopy() *OSDisk

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

func (*OSDisk) DeepCopyInto

func (in *OSDisk) DeepCopyInto(out *OSDisk)

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

type Platform

type Platform struct {
	// VCenter is the domain name or IP address of the vCenter.
	// Deprecated: Use VCenters.Server
	DeprecatedVCenter string `json:"vCenter,omitempty"`
	// Username is the name of the user to use to connect to the vCenter.
	// Deprecated: Use VCenters.Username
	DeprecatedUsername string `json:"username,omitempty"`
	// Password is the password for the user to use to connect to the vCenter.
	// Deprecated: Use VCenters.Password
	DeprecatedPassword string `json:"password,omitempty"`
	// Datacenter is the name of the datacenter to use in the vCenter.
	// Deprecated: Use FailureDomains.Topology.Datacenter
	DeprecatedDatacenter string `json:"datacenter,omitempty"`
	// DefaultDatastore is the default datastore to use for provisioning volumes.
	// Deprecated: Use FailureDomains.Topology.Datastore
	DeprecatedDefaultDatastore string `json:"defaultDatastore,omitempty"`
	// Folder is the absolute path of the folder that will be used and/or created for
	// virtual machines. The absolute path is of the form /<datacenter>/vm/<folder>/<subfolder>.
	// +kubebuilder:validation:Pattern=`^/.*?/vm/.*?`
	// +optional
	// Deprecated: Use FailureDomains.Topology.Folder
	DeprecatedFolder string `json:"folder,omitempty"`
	// Cluster is the name of the cluster virtual machines will be cloned into.
	// Deprecated: Use FailureDomains.Topology.Cluster
	DeprecatedCluster string `json:"cluster,omitempty"`
	// ResourcePool is the absolute path of the resource pool where virtual machines will be
	// created. The absolute path is of the form /<datacenter>/host/<cluster>/Resources/<resourcepool>.
	// Deprecated: Use FailureDomains.Topology.ResourcePool
	DeprecatedResourcePool string `json:"resourcePool,omitempty"`
	// ClusterOSImage overrides the url provided in rhcos.json to download the RHCOS OVA
	ClusterOSImage string `json:"clusterOSImage,omitempty"`

	// DeprecatedAPIVIP is the virtual IP address for the api endpoint
	// Deprecated: Use APIVIPs
	//
	// +kubebuilder:validation:format=ip
	// +optional
	DeprecatedAPIVIP string `json:"apiVIP,omitempty"`

	// APIVIPs contains the VIP(s) for the api endpoint. In dual stack clusters
	// it contains an IPv4 and IPv6 address, otherwise only one VIP
	//
	// +kubebuilder:validation:MaxItems=2
	// +kubebuilder:validation:Format=ip
	// +optional
	APIVIPs []string `json:"apiVIPs,omitempty"`

	// DeprecatedIngressVIP is the virtual IP address for ingress
	// Deprecated: Use IngressVIPs
	//
	// +kubebuilder:validation:format=ip
	// +optional
	DeprecatedIngressVIP string `json:"ingressVIP,omitempty"`

	// IngressVIPs contains the VIP(s) for ingress. In dual stack clusters it
	// contains an IPv4 and IPv6 address, otherwise only one VIP
	//
	// +kubebuilder:validation:MaxItems=2
	// +kubebuilder:validation:Format=ip
	// +optional
	IngressVIPs []string `json:"ingressVIPs,omitempty"`

	// DefaultMachinePlatform is the default configuration used when
	// installing on VSphere for machine pools which do not define their own
	// platform configuration.
	// +optional
	DefaultMachinePlatform *MachinePool `json:"defaultMachinePlatform,omitempty"`
	// Network specifies the name of the network to be used by the cluster.
	// Deprecated: Use FailureDomains.Topology.Network
	DeprecatedNetwork string `json:"network,omitempty"`
	// DiskType is the name of the disk provisioning type,
	// valid values are thin, thick, and eagerZeroedThick. When not
	// specified, it will be set according to the default storage policy
	// of vsphere.
	DiskType DiskType `json:"diskType,omitempty"`
	// VCenters holds the connection details for services to communicate with vCenter.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxItems=3
	// +kubebuilder:validation:MinItems=1
	VCenters []VCenter `json:"vcenters,omitempty"`
	// FailureDomains holds the VSpherePlatformFailureDomainSpec which contains
	// the definition of region, zone and the vCenter topology.
	// If this is omitted failure domains (regions and zones) will not be used.
	// +kubebuilder:validation:Optional
	FailureDomains []FailureDomain `json:"failureDomains,omitempty"`

	// nodeNetworking contains the definition of internal and external network constraints for
	// assigning the node's networking.
	// If this field is omitted, networking defaults to the legacy
	// address selection behavior which is to only support a single address and
	// return the first one found.
	// +optional
	NodeNetworking *configv1.VSpherePlatformNodeNetworking `json:"nodeNetworking,omitempty"`

	// LoadBalancer defines how the load balancer used by the cluster is configured.
	// LoadBalancer is available in TechPreview.
	// +optional
	LoadBalancer *configv1.VSpherePlatformLoadBalancer `json:"loadBalancer,omitempty"`
	// Hosts defines network configurations to be applied by the installer. Hosts is available in TechPreview.
	Hosts []*Host `json:"hosts,omitempty"`
}

Platform stores any global configuration used for vsphere platforms.

func (*Platform) DeepCopy

func (in *Platform) DeepCopy() *Platform

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

func (*Platform) DeepCopyInto

func (in *Platform) DeepCopyInto(out *Platform)

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

type ProvisioningMode

type ProvisioningMode string

ProvisioningMode represents the various provisioning types available to a VMs disk. +kubebuilder:validation:Enum=Thin;Thick;EagerlyZeroed

const (
	// ProvisioningModeThin creates the disk using thin provisioning. This means a sparse (allocate on demand)
	// format with additional space optimizations.
	ProvisioningModeThin ProvisioningMode = "Thin"

	// ProvisioningModeThick creates the disk with all space allocated.
	ProvisioningModeThick ProvisioningMode = "Thick"

	// ProvisioningModeEagerlyZeroed creates the disk using eager zero provisioning. An eager zeroed thick disk
	// has all space allocated and wiped clean of any previous contents on the physical media at
	// creation time. Such disks may take longer time during creation compared to other disk formats.
	ProvisioningModeEagerlyZeroed ProvisioningMode = "EagerlyZeroed"
)

type Topology

type Topology struct {
	// datacenter is the vCenter datacenter in which virtual machines will be located
	// and defined as the failure domain.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=80
	Datacenter string `json:"datacenter"`
	// computeCluster as the failure domain
	// This is required to be a path
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	ComputeCluster string `json:"computeCluster"`
	// networks is the list of networks within this failure domain
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=10
	Networks []string `json:"networks,omitempty"`
	// datastore is the name or inventory path of the datastore in which the
	// virtual machine is created/located.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	Datastore string `json:"datastore"`
	// resourcePool is the absolute path of the resource pool where virtual machines will be
	// created. The absolute path is of the form /<datacenter>/host/<cluster>/Resources/<resourcepool>.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:Pattern=`^/.*?/host/.*?/Resources.*`
	// +optional
	ResourcePool string `json:"resourcePool,omitempty"`
	// folder is the inventory path of the folder in which the
	// virtual machine is created/located.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:Pattern=`^/.*?/vm/.*?`
	// +optional
	Folder string `json:"folder,omitempty"`
	// template is the inventory path of the virtual machine or template
	// that will be used for cloning.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:Pattern=`^/.*?/vm/.*?`
	// +optional
	Template string `json:"template,omitempty"`
	// tagIDs is an optional set of tags to add to an instance. Specified tagIDs
	// must use URN-notation instead of display names. A maximum of 10 tag IDs may be specified.
	// +kubebuilder:example=`urn:vmomi:InventoryServiceTag:5736bf56-49f5-4667-b38c-b97e09dc9578:GLOBAL`
	// +optional
	TagIDs []string `json:"tagIDs,omitempty"`

	// hostGroup is the name of the vm-host group of type host within vCenter for this failure domain.
	// hostGroup is limited to 80 characters.
	// This field is required when the ZoneType is HostGroup
	// +kubebuilder:validation:MaxLength=80
	// +optional
	HostGroup string `json:"hostGroup,omitempty"`
}

Topology holds the required and optional vCenter objects - datacenter, computeCluster, networks, datastore and resourcePool - to provision virtual machines.

func (*Topology) DeepCopy

func (in *Topology) DeepCopy() *Topology

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

func (*Topology) DeepCopyInto

func (in *Topology) DeepCopyInto(out *Topology)

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

type VCenter

type VCenter struct {
	// server is the fully-qualified domain name or the IP address of the vCenter server.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=255
	Server string `json:"server"`
	// port is the TCP port that will be used to communicate to
	// the vCenter endpoint. This is typically unchanged from
	// the default of HTTPS TCP/443.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=32767
	// +kubebuilder:default=443
	Port int32 `json:"port,omitempty"`
	// Username is the username that will be used to connect to vCenter
	// +kubebuilder:validation:Required
	Username string `json:"user"`
	// Password is the password for the user to use to connect to the vCenter.
	// +kubebuilder:validation:Required
	Password string `json:"password"`
	// Datacenter in which VMs are located.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Datacenters []string `json:"datacenters"`
}

VCenter stores the vCenter connection fields https://github.com/kubernetes/cloud-provider-vsphere/blob/master/pkg/common/config/types_yaml.go

func (*VCenter) DeepCopy

func (in *VCenter) DeepCopy() *VCenter

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

func (*VCenter) DeepCopyInto

func (in *VCenter) DeepCopyInto(out *VCenter)

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

type VCenters added in v0.90.17

type VCenters struct {
	// VCenter is the domain name or IP address of the vCenter.
	VCenter string `json:"vCenter"`
	// Username is the name of the user to use to connect to the vCenter.
	Username string `json:"username"`
	// Password is the password for the user to use to connect to the vCenter.
	Password string `json:"password"`
}

VCenters contains information on individual vcenter.

func (*VCenters) DeepCopy

func (in *VCenters) DeepCopy() *VCenters

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

func (*VCenters) DeepCopyInto

func (in *VCenters) DeepCopyInto(out *VCenters)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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