v1alpha1

package
v0.0.0-...-2b5eab5 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=networking.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "networking.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	VSphereDistributedPortGroup_Kind             = "VSphereDistributedPortGroup"
	VSphereDistributedPortGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VSphereDistributedPortGroup_Kind}.String()
	VSphereDistributedPortGroup_KindAPIVersion   = VSphereDistributedPortGroup_Kind + "." + CRDGroupVersion.String()
	VSphereDistributedPortGroup_GroupVersionKind = CRDGroupVersion.WithKind(VSphereDistributedPortGroup_Kind)
)

Repository type metadata.

View Source
var (
	VSphereDistributedVirtualSwitch_Kind             = "VSphereDistributedVirtualSwitch"
	VSphereDistributedVirtualSwitch_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VSphereDistributedVirtualSwitch_Kind}.String()
	VSphereDistributedVirtualSwitch_KindAPIVersion   = VSphereDistributedVirtualSwitch_Kind + "." + CRDGroupVersion.String()
	VSphereDistributedVirtualSwitch_GroupVersionKind = CRDGroupVersion.WithKind(VSphereDistributedVirtualSwitch_Kind)
)

Repository type metadata.

View Source
var (
	VSphereHostPortGroup_Kind             = "VSphereHostPortGroup"
	VSphereHostPortGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VSphereHostPortGroup_Kind}.String()
	VSphereHostPortGroup_KindAPIVersion   = VSphereHostPortGroup_Kind + "." + CRDGroupVersion.String()
	VSphereHostPortGroup_GroupVersionKind = CRDGroupVersion.WithKind(VSphereHostPortGroup_Kind)
)

Repository type metadata.

View Source
var (
	VSphereHostVirtualSwitch_Kind             = "VSphereHostVirtualSwitch"
	VSphereHostVirtualSwitch_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VSphereHostVirtualSwitch_Kind}.String()
	VSphereHostVirtualSwitch_KindAPIVersion   = VSphereHostVirtualSwitch_Kind + "." + CRDGroupVersion.String()
	VSphereHostVirtualSwitch_GroupVersionKind = CRDGroupVersion.WithKind(VSphereHostVirtualSwitch_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type HostObservation

type HostObservation struct {

	// Name of the physical NIC to be added to the proxy switch.
	Devices []*string `json:"devices,omitempty" tf:"devices,omitempty"`

	// The managed object ID of the host this specification applies to.
	HostSystemID *string `json:"hostSystemId,omitempty" tf:"host_system_id,omitempty"`
}

func (*HostObservation) DeepCopy

func (in *HostObservation) DeepCopy() *HostObservation

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

func (*HostObservation) DeepCopyInto

func (in *HostObservation) DeepCopyInto(out *HostObservation)

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

type HostParameters

type HostParameters struct {

	// Name of the physical NIC to be added to the proxy switch.
	// +kubebuilder:validation:Optional
	Devices []*string `json:"devices,omitempty" tf:"devices,omitempty"`

	// The managed object ID of the host this specification applies to.
	// +kubebuilder:validation:Required
	HostSystemID *string `json:"hostSystemId" tf:"host_system_id,omitempty"`
}

func (*HostParameters) DeepCopy

func (in *HostParameters) DeepCopy() *HostParameters

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

func (*HostParameters) DeepCopyInto

func (in *HostParameters) DeepCopyInto(out *HostParameters)

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

type PortsObservation

type PortsObservation struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	MacAddresses []*string `json:"macAddresses,omitempty" tf:"mac_addresses,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PortsObservation) DeepCopy

func (in *PortsObservation) DeepCopy() *PortsObservation

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

func (*PortsObservation) DeepCopyInto

func (in *PortsObservation) DeepCopyInto(out *PortsObservation)

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

type PortsParameters

type PortsParameters struct {
}

func (*PortsParameters) DeepCopy

func (in *PortsParameters) DeepCopy() *PortsParameters

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

func (*PortsParameters) DeepCopyInto

func (in *PortsParameters) DeepCopyInto(out *PortsParameters)

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

type PvlanMappingObservation

type PvlanMappingObservation struct {

	// The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	PrimaryVlanID *float64 `json:"primaryVlanId,omitempty" tf:"primary_vlan_id,omitempty"`

	// The private VLAN type. Valid values are promiscuous, community and isolated.
	PvlanType *string `json:"pvlanType,omitempty" tf:"pvlan_type,omitempty"`

	// The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	SecondaryVlanID *float64 `json:"secondaryVlanId,omitempty" tf:"secondary_vlan_id,omitempty"`
}

func (*PvlanMappingObservation) DeepCopy

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

func (*PvlanMappingObservation) DeepCopyInto

func (in *PvlanMappingObservation) DeepCopyInto(out *PvlanMappingObservation)

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

type PvlanMappingParameters

type PvlanMappingParameters struct {

	// The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	// +kubebuilder:validation:Required
	PrimaryVlanID *float64 `json:"primaryVlanId" tf:"primary_vlan_id,omitempty"`

	// The private VLAN type. Valid values are promiscuous, community and isolated.
	// +kubebuilder:validation:Required
	PvlanType *string `json:"pvlanType" tf:"pvlan_type,omitempty"`

	// The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	// +kubebuilder:validation:Required
	SecondaryVlanID *float64 `json:"secondaryVlanId" tf:"secondary_vlan_id,omitempty"`
}

func (*PvlanMappingParameters) DeepCopy

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

func (*PvlanMappingParameters) DeepCopyInto

func (in *PvlanMappingParameters) DeepCopyInto(out *PvlanMappingParameters)

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

type VSphereDistributedPortGroup

type VSphereDistributedPortGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.distributedVirtualSwitchUuid)",message="distributedVirtualSwitchUuid is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
	Spec   VSphereDistributedPortGroupSpec   `json:"spec"`
	Status VSphereDistributedPortGroupStatus `json:"status,omitempty"`
}

VSphereDistributedPortGroup is the Schema for the VSphereDistributedPortGroups API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vsphere}

func (*VSphereDistributedPortGroup) DeepCopy

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

func (*VSphereDistributedPortGroup) DeepCopyInto

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

func (*VSphereDistributedPortGroup) DeepCopyObject

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

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

func (*VSphereDistributedPortGroup) GetCondition

GetCondition of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) GetConnectionDetailsMapping

func (tr *VSphereDistributedPortGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) GetDeletionPolicy

func (mg *VSphereDistributedPortGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) GetID

func (tr *VSphereDistributedPortGroup) GetID() string

GetID returns ID of underlying Terraform resource of this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) GetManagementPolicy

func (mg *VSphereDistributedPortGroup) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) GetObservation

func (tr *VSphereDistributedPortGroup) GetObservation() (map[string]any, error)

GetObservation of this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) GetParameters

func (tr *VSphereDistributedPortGroup) GetParameters() (map[string]any, error)

GetParameters of this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) GetProviderConfigReference

func (mg *VSphereDistributedPortGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) GetProviderReference

func (mg *VSphereDistributedPortGroup) GetProviderReference() *xpv1.Reference

GetProviderReference of this VSphereDistributedPortGroup. Deprecated: Use GetProviderConfigReference.

func (*VSphereDistributedPortGroup) GetPublishConnectionDetailsTo

func (mg *VSphereDistributedPortGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) GetTerraformResourceType

func (mg *VSphereDistributedPortGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) GetTerraformSchemaVersion

func (tr *VSphereDistributedPortGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VSphereDistributedPortGroup) GetWriteConnectionSecretToReference

func (mg *VSphereDistributedPortGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) LateInitialize

func (tr *VSphereDistributedPortGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VSphereDistributedPortGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*VSphereDistributedPortGroup) SetConditions

func (mg *VSphereDistributedPortGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) SetDeletionPolicy

func (mg *VSphereDistributedPortGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) SetManagementPolicy

func (mg *VSphereDistributedPortGroup) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) SetObservation

func (tr *VSphereDistributedPortGroup) SetObservation(obs map[string]any) error

SetObservation for this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) SetParameters

func (tr *VSphereDistributedPortGroup) SetParameters(params map[string]any) error

SetParameters for this VSphereDistributedPortGroup

func (*VSphereDistributedPortGroup) SetProviderConfigReference

func (mg *VSphereDistributedPortGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) SetProviderReference

func (mg *VSphereDistributedPortGroup) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this VSphereDistributedPortGroup. Deprecated: Use SetProviderConfigReference.

func (*VSphereDistributedPortGroup) SetPublishConnectionDetailsTo

func (mg *VSphereDistributedPortGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroup) SetWriteConnectionSecretToReference

func (mg *VSphereDistributedPortGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VSphereDistributedPortGroup.

type VSphereDistributedPortGroupList

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

VSphereDistributedPortGroupList contains a list of VSphereDistributedPortGroups

func (*VSphereDistributedPortGroupList) DeepCopy

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

func (*VSphereDistributedPortGroupList) DeepCopyInto

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

func (*VSphereDistributedPortGroupList) DeepCopyObject

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

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

func (*VSphereDistributedPortGroupList) GetItems

GetItems of this VSphereDistributedPortGroupList.

type VSphereDistributedPortGroupObservation

type VSphereDistributedPortGroupObservation struct {

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	ActiveUplinks []*string `json:"activeUplinks,omitempty" tf:"active_uplinks,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Auto-expands the port group beyond the port count configured in number_of_ports when necessary.
	AutoExpand *bool `json:"autoExpand,omitempty" tf:"auto_expand,omitempty"`

	// Indicates whether to block all ports by default.
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports,omitempty"`

	// Allow the blocked setting of an individual port to override the setting in the portgroup.
	BlockOverrideAllowed *bool `json:"blockOverrideAllowed,omitempty" tf:"block_override_allowed,omitempty"`

	// Enable beacon probing on the ports this policy applies to.
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// Version string of the configuration that this spec is trying to change.
	ConfigVersion *string `json:"configVersion,omitempty" tf:"config_version,omitempty"`

	// A list of custom attributes to set on this resource.
	CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"`

	// The description of the portgroup.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed,omitempty"`

	// The UUID of the DVS to attach this port group to.
	DistributedVirtualSwitchUUID *string `json:"distributedVirtualSwitchUuid,omitempty" tf:"distributed_virtual_switch_uuid,omitempty"`

	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	EgressShapingAverageBandwidth *float64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth,omitempty"`

	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	EgressShapingBurstSize *float64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for egress traffic on the port.
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled,omitempty"`

	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth *float64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	IngressShapingAverageBandwidth *float64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth,omitempty"`

	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	IngressShapingBurstSize *float64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for ingress traffic on the port.
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled,omitempty"`

	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth *float64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth,omitempty"`

	// The generated UUID of the portgroup.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Whether or not to enable LACP on all uplink ports.
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled,omitempty"`

	// The uplink LACP mode to use. Can be one of active or passive.
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode,omitempty"`

	// Allow a live port to be moved in and out of the portgroup.
	LivePortMovingAllowed *bool `json:"livePortMovingAllowed,omitempty" tf:"live_port_moving_allowed,omitempty"`

	// The name of the portgroup.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Indicates whether to enable netflow on all ports.
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled,omitempty"`

	// Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
	NetflowOverrideAllowed *bool `json:"netflowOverrideAllowed,omitempty" tf:"netflow_override_allowed,omitempty"`

	// The key of a network resource pool to associate with this portgroup.
	NetworkResourcePoolKey *string `json:"networkResourcePoolKey,omitempty" tf:"network_resource_pool_key,omitempty"`

	// Allow the network resource pool of an individual port to override the setting in the portgroup.
	NetworkResourcePoolOverrideAllowed *bool `json:"networkResourcePoolOverrideAllowed,omitempty" tf:"network_resource_pool_override_allowed,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The number of ports in this portgroup. The DVS will expand and shrink by modifying this setting.
	NumberOfPorts *float64 `json:"numberOfPorts,omitempty" tf:"number_of_ports,omitempty"`

	// Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
	PortConfigResetAtDisconnect *bool `json:"portConfigResetAtDisconnect,omitempty" tf:"port_config_reset_at_disconnect,omitempty"`

	// A template string to use when creating ports in the portgroup.
	PortNameFormat *string `json:"portNameFormat,omitempty" tf:"port_name_format,omitempty"`

	// The secondary VLAN ID for this port.
	PortPrivateSecondaryVlanID *float64 `json:"portPrivateSecondaryVlanId,omitempty" tf:"port_private_secondary_vlan_id,omitempty"`

	// Allow security policy settings on a port to override those on the portgroup.
	SecurityPolicyOverrideAllowed *bool `json:"securityPolicyOverrideAllowed,omitempty" tf:"security_policy_override_allowed,omitempty"`

	// Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
	ShapingOverrideAllowed *bool `json:"shapingOverrideAllowed,omitempty" tf:"shaping_override_allowed,omitempty"`

	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	StandbyUplinks []*string `json:"standbyUplinks,omitempty" tf:"standby_uplinks,omitempty"`

	// A list of tag IDs to apply to this object.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// Allow any filter policies set on the individual port to override those in the portgroup.
	TrafficFilterOverrideAllowed *bool `json:"trafficFilterOverrideAllowed,omitempty" tf:"traffic_filter_override_allowed,omitempty"`

	// If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink,omitempty"`

	// The type of portgroup. Can be one of earlyBinding (static) or ephemeral.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Allow the uplink teaming policies on a port to override those on the portgroup.
	UplinkTeamingOverrideAllowed *bool `json:"uplinkTeamingOverrideAllowed,omitempty" tf:"uplink_teaming_override_allowed,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Allow the VLAN configuration on a port to override those on the portgroup.
	VlanOverrideAllowed *bool `json:"vlanOverrideAllowed,omitempty" tf:"vlan_override_allowed,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanRange []VlanRangeObservation `json:"vlanRange,omitempty" tf:"vlan_range,omitempty"`
}

func (*VSphereDistributedPortGroupObservation) DeepCopy

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

func (*VSphereDistributedPortGroupObservation) DeepCopyInto

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

type VSphereDistributedPortGroupParameters

type VSphereDistributedPortGroupParameters struct {

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +kubebuilder:validation:Optional
	ActiveUplinks []*string `json:"activeUplinks,omitempty" tf:"active_uplinks,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +kubebuilder:validation:Optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +kubebuilder:validation:Optional
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +kubebuilder:validation:Optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Auto-expands the port group beyond the port count configured in number_of_ports when necessary.
	// +kubebuilder:validation:Optional
	AutoExpand *bool `json:"autoExpand,omitempty" tf:"auto_expand,omitempty"`

	// Indicates whether to block all ports by default.
	// +kubebuilder:validation:Optional
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports,omitempty"`

	// Allow the blocked setting of an individual port to override the setting in the portgroup.
	// +kubebuilder:validation:Optional
	BlockOverrideAllowed *bool `json:"blockOverrideAllowed,omitempty" tf:"block_override_allowed,omitempty"`

	// Enable beacon probing on the ports this policy applies to.
	// +kubebuilder:validation:Optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// A list of custom attributes to set on this resource.
	// +kubebuilder:validation:Optional
	CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"`

	// The description of the portgroup.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	// +kubebuilder:validation:Optional
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed,omitempty"`

	// The UUID of the DVS to attach this port group to.
	// +kubebuilder:validation:Optional
	DistributedVirtualSwitchUUID *string `json:"distributedVirtualSwitchUuid,omitempty" tf:"distributed_virtual_switch_uuid,omitempty"`

	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingAverageBandwidth *float64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth,omitempty"`

	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingBurstSize *float64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for egress traffic on the port.
	// +kubebuilder:validation:Optional
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled,omitempty"`

	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingPeakBandwidth *float64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +kubebuilder:validation:Optional
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingAverageBandwidth *float64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth,omitempty"`

	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingBurstSize *float64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for ingress traffic on the port.
	// +kubebuilder:validation:Optional
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled,omitempty"`

	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingPeakBandwidth *float64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth,omitempty"`

	// Whether or not to enable LACP on all uplink ports.
	// +kubebuilder:validation:Optional
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled,omitempty"`

	// The uplink LACP mode to use. Can be one of active or passive.
	// +kubebuilder:validation:Optional
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode,omitempty"`

	// Allow a live port to be moved in and out of the portgroup.
	// +kubebuilder:validation:Optional
	LivePortMovingAllowed *bool `json:"livePortMovingAllowed,omitempty" tf:"live_port_moving_allowed,omitempty"`

	// The name of the portgroup.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Indicates whether to enable netflow on all ports.
	// +kubebuilder:validation:Optional
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled,omitempty"`

	// Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
	// +kubebuilder:validation:Optional
	NetflowOverrideAllowed *bool `json:"netflowOverrideAllowed,omitempty" tf:"netflow_override_allowed,omitempty"`

	// The key of a network resource pool to associate with this portgroup.
	// +kubebuilder:validation:Optional
	NetworkResourcePoolKey *string `json:"networkResourcePoolKey,omitempty" tf:"network_resource_pool_key,omitempty"`

	// Allow the network resource pool of an individual port to override the setting in the portgroup.
	// +kubebuilder:validation:Optional
	NetworkResourcePoolOverrideAllowed *bool `json:"networkResourcePoolOverrideAllowed,omitempty" tf:"network_resource_pool_override_allowed,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +kubebuilder:validation:Optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The number of ports in this portgroup. The DVS will expand and shrink by modifying this setting.
	// +kubebuilder:validation:Optional
	NumberOfPorts *float64 `json:"numberOfPorts,omitempty" tf:"number_of_ports,omitempty"`

	// Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
	// +kubebuilder:validation:Optional
	PortConfigResetAtDisconnect *bool `json:"portConfigResetAtDisconnect,omitempty" tf:"port_config_reset_at_disconnect,omitempty"`

	// A template string to use when creating ports in the portgroup.
	// +kubebuilder:validation:Optional
	PortNameFormat *string `json:"portNameFormat,omitempty" tf:"port_name_format,omitempty"`

	// The secondary VLAN ID for this port.
	// +kubebuilder:validation:Optional
	PortPrivateSecondaryVlanID *float64 `json:"portPrivateSecondaryVlanId,omitempty" tf:"port_private_secondary_vlan_id,omitempty"`

	// Allow security policy settings on a port to override those on the portgroup.
	// +kubebuilder:validation:Optional
	SecurityPolicyOverrideAllowed *bool `json:"securityPolicyOverrideAllowed,omitempty" tf:"security_policy_override_allowed,omitempty"`

	// Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
	// +kubebuilder:validation:Optional
	ShapingOverrideAllowed *bool `json:"shapingOverrideAllowed,omitempty" tf:"shaping_override_allowed,omitempty"`

	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +kubebuilder:validation:Optional
	StandbyUplinks []*string `json:"standbyUplinks,omitempty" tf:"standby_uplinks,omitempty"`

	// A list of tag IDs to apply to this object.
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	// +kubebuilder:validation:Optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// Allow any filter policies set on the individual port to override those in the portgroup.
	// +kubebuilder:validation:Optional
	TrafficFilterOverrideAllowed *bool `json:"trafficFilterOverrideAllowed,omitempty" tf:"traffic_filter_override_allowed,omitempty"`

	// If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
	// +kubebuilder:validation:Optional
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink,omitempty"`

	// The type of portgroup. Can be one of earlyBinding (static) or ephemeral.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Allow the uplink teaming policies on a port to override those on the portgroup.
	// +kubebuilder:validation:Optional
	UplinkTeamingOverrideAllowed *bool `json:"uplinkTeamingOverrideAllowed,omitempty" tf:"uplink_teaming_override_allowed,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +kubebuilder:validation:Optional
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// Allow the VLAN configuration on a port to override those on the portgroup.
	// +kubebuilder:validation:Optional
	VlanOverrideAllowed *bool `json:"vlanOverrideAllowed,omitempty" tf:"vlan_override_allowed,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +kubebuilder:validation:Optional
	VlanRange []VlanRangeParameters `json:"vlanRange,omitempty" tf:"vlan_range,omitempty"`
}

func (*VSphereDistributedPortGroupParameters) DeepCopy

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

func (*VSphereDistributedPortGroupParameters) DeepCopyInto

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

type VSphereDistributedPortGroupSpec

type VSphereDistributedPortGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VSphereDistributedPortGroupParameters `json:"forProvider"`
}

VSphereDistributedPortGroupSpec defines the desired state of VSphereDistributedPortGroup

func (*VSphereDistributedPortGroupSpec) DeepCopy

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

func (*VSphereDistributedPortGroupSpec) DeepCopyInto

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

type VSphereDistributedPortGroupStatus

type VSphereDistributedPortGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VSphereDistributedPortGroupObservation `json:"atProvider,omitempty"`
}

VSphereDistributedPortGroupStatus defines the observed state of VSphereDistributedPortGroup.

func (*VSphereDistributedPortGroupStatus) DeepCopy

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

func (*VSphereDistributedPortGroupStatus) DeepCopyInto

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

type VSphereDistributedVirtualSwitch

type VSphereDistributedVirtualSwitch struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.datacenterId)",message="datacenterId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
	Spec   VSphereDistributedVirtualSwitchSpec   `json:"spec"`
	Status VSphereDistributedVirtualSwitchStatus `json:"status,omitempty"`
}

VSphereDistributedVirtualSwitch is the Schema for the VSphereDistributedVirtualSwitchs API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vsphere}

func (*VSphereDistributedVirtualSwitch) DeepCopy

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

func (*VSphereDistributedVirtualSwitch) DeepCopyInto

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

func (*VSphereDistributedVirtualSwitch) DeepCopyObject

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

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

func (*VSphereDistributedVirtualSwitch) GetCondition

GetCondition of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) GetConnectionDetailsMapping

func (tr *VSphereDistributedVirtualSwitch) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) GetDeletionPolicy

func (mg *VSphereDistributedVirtualSwitch) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) GetID

GetID returns ID of underlying Terraform resource of this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) GetManagementPolicy

func (mg *VSphereDistributedVirtualSwitch) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) GetObservation

func (tr *VSphereDistributedVirtualSwitch) GetObservation() (map[string]any, error)

GetObservation of this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) GetParameters

func (tr *VSphereDistributedVirtualSwitch) GetParameters() (map[string]any, error)

GetParameters of this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) GetProviderConfigReference

func (mg *VSphereDistributedVirtualSwitch) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) GetProviderReference

func (mg *VSphereDistributedVirtualSwitch) GetProviderReference() *xpv1.Reference

GetProviderReference of this VSphereDistributedVirtualSwitch. Deprecated: Use GetProviderConfigReference.

func (*VSphereDistributedVirtualSwitch) GetPublishConnectionDetailsTo

func (mg *VSphereDistributedVirtualSwitch) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) GetTerraformResourceType

func (mg *VSphereDistributedVirtualSwitch) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) GetTerraformSchemaVersion

func (tr *VSphereDistributedVirtualSwitch) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VSphereDistributedVirtualSwitch) GetWriteConnectionSecretToReference

func (mg *VSphereDistributedVirtualSwitch) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) LateInitialize

func (tr *VSphereDistributedVirtualSwitch) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VSphereDistributedVirtualSwitch using its observed tfState. returns True if there are any spec changes for the resource.

func (*VSphereDistributedVirtualSwitch) SetConditions

func (mg *VSphereDistributedVirtualSwitch) SetConditions(c ...xpv1.Condition)

SetConditions of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) SetDeletionPolicy

func (mg *VSphereDistributedVirtualSwitch) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) SetManagementPolicy

func (mg *VSphereDistributedVirtualSwitch) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) SetObservation

func (tr *VSphereDistributedVirtualSwitch) SetObservation(obs map[string]any) error

SetObservation for this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) SetParameters

func (tr *VSphereDistributedVirtualSwitch) SetParameters(params map[string]any) error

SetParameters for this VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitch) SetProviderConfigReference

func (mg *VSphereDistributedVirtualSwitch) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) SetProviderReference

func (mg *VSphereDistributedVirtualSwitch) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this VSphereDistributedVirtualSwitch. Deprecated: Use SetProviderConfigReference.

func (*VSphereDistributedVirtualSwitch) SetPublishConnectionDetailsTo

func (mg *VSphereDistributedVirtualSwitch) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitch) SetWriteConnectionSecretToReference

func (mg *VSphereDistributedVirtualSwitch) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VSphereDistributedVirtualSwitch.

type VSphereDistributedVirtualSwitchList

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

VSphereDistributedVirtualSwitchList contains a list of VSphereDistributedVirtualSwitchs

func (*VSphereDistributedVirtualSwitchList) DeepCopy

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

func (*VSphereDistributedVirtualSwitchList) DeepCopyInto

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

func (*VSphereDistributedVirtualSwitchList) DeepCopyObject

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

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

func (*VSphereDistributedVirtualSwitchList) GetItems

GetItems of this VSphereDistributedVirtualSwitchList.

type VSphereDistributedVirtualSwitchObservation

type VSphereDistributedVirtualSwitchObservation struct {

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	ActiveUplinks []*string `json:"activeUplinks,omitempty" tf:"active_uplinks,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
	BackupnfcMaximumMbit *float64 `json:"backupnfcMaximumMbit,omitempty" tf:"backupnfc_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
	BackupnfcReservationMbit *float64 `json:"backupnfcReservationMbit,omitempty" tf:"backupnfc_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the backupNfc traffic class for a custom share level.
	BackupnfcShareCount *float64 `json:"backupnfcShareCount,omitempty" tf:"backupnfc_share_count,omitempty"`

	// The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
	BackupnfcShareLevel *string `json:"backupnfcShareLevel,omitempty" tf:"backupnfc_share_level,omitempty"`

	// Indicates whether to block all ports by default.
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports,omitempty"`

	// Enable beacon probing on the ports this policy applies to.
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// The version string of the configuration that this spec is trying to change.
	ConfigVersion *string `json:"configVersion,omitempty" tf:"config_version,omitempty"`

	// The contact detail for this DVS.
	ContactDetail *string `json:"contactDetail,omitempty" tf:"contact_detail,omitempty"`

	// The contact name for this DVS.
	ContactName *string `json:"contactName,omitempty" tf:"contact_name,omitempty"`

	// A list of custom attributes to set on this resource.
	CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"`

	// The ID of the datacenter to create this virtual switch in.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// The description of the DVS.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed,omitempty"`

	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	EgressShapingAverageBandwidth *float64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth,omitempty"`

	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	EgressShapingBurstSize *float64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for egress traffic on the port.
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled,omitempty"`

	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	EgressShapingPeakBandwidth *float64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceMaximumMbit *float64 `json:"faulttoleranceMaximumMbit,omitempty" tf:"faulttolerance_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	FaulttoleranceReservationMbit *float64 `json:"faulttoleranceReservationMbit,omitempty" tf:"faulttolerance_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	FaulttoleranceShareCount *float64 `json:"faulttoleranceShareCount,omitempty" tf:"faulttolerance_share_count,omitempty"`

	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	FaulttoleranceShareLevel *string `json:"faulttoleranceShareLevel,omitempty" tf:"faulttolerance_share_level,omitempty"`

	// The folder to create this virtual switch in, relative to the datacenter.
	Folder *string `json:"folder,omitempty" tf:"folder,omitempty"`

	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	HbrMaximumMbit *float64 `json:"hbrMaximumMbit,omitempty" tf:"hbr_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	HbrReservationMbit *float64 `json:"hbrReservationMbit,omitempty" tf:"hbr_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	HbrShareCount *float64 `json:"hbrShareCount,omitempty" tf:"hbr_share_count,omitempty"`

	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	HbrShareLevel *string `json:"hbrShareLevel,omitempty" tf:"hbr_share_level,omitempty"`

	// A host member specification.
	Host []HostObservation `json:"host,omitempty" tf:"host,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The IPv4 address of the switch. This can be used to see the DVS as a unique device with NetFlow.
	IPv4Address *string `json:"ipv4Address,omitempty" tf:"ipv4_address,omitempty"`

	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	ISCSIMaximumMbit *float64 `json:"iscsiMaximumMbit,omitempty" tf:"iscsi_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	ISCSIReservationMbit *float64 `json:"iscsiReservationMbit,omitempty" tf:"iscsi_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	ISCSIShareCount *float64 `json:"iscsiShareCount,omitempty" tf:"iscsi_share_count,omitempty"`

	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	ISCSIShareLevel *string `json:"iscsiShareLevel,omitempty" tf:"iscsi_share_level,omitempty"`

	// Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
	IgnoreOtherPvlanMappings *bool `json:"ignoreOtherPvlanMappings,omitempty" tf:"ignore_other_pvlan_mappings,omitempty"`

	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	IngressShapingAverageBandwidth *float64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth,omitempty"`

	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	IngressShapingBurstSize *float64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for ingress traffic on the port.
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled,omitempty"`

	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	IngressShapingPeakBandwidth *float64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth,omitempty"`

	// The Link Aggregation Control Protocol group version in the switch. Can be one of singleLag or multipleLag.
	LacpAPIVersion *string `json:"lacpApiVersion,omitempty" tf:"lacp_api_version,omitempty"`

	// Whether or not to enable LACP on all uplink ports.
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled,omitempty"`

	// The uplink LACP mode to use. Can be one of active or passive.
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode,omitempty"`

	// Whether to advertise or listen for link discovery. Valid values are advertise, both, listen, and none.
	LinkDiscoveryOperation *string `json:"linkDiscoveryOperation,omitempty" tf:"link_discovery_operation,omitempty"`

	// The discovery protocol type. Valid values are cdp and lldp.
	LinkDiscoveryProtocol *string `json:"linkDiscoveryProtocol,omitempty" tf:"link_discovery_protocol,omitempty"`

	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	ManagementMaximumMbit *float64 `json:"managementMaximumMbit,omitempty" tf:"management_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	ManagementReservationMbit *float64 `json:"managementReservationMbit,omitempty" tf:"management_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the management traffic class for a custom share level.
	ManagementShareCount *float64 `json:"managementShareCount,omitempty" tf:"management_share_count,omitempty"`

	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	ManagementShareLevel *string `json:"managementShareLevel,omitempty" tf:"management_share_level,omitempty"`

	// The maximum MTU on the switch.
	MaxMtu *float64 `json:"maxMtu,omitempty" tf:"max_mtu,omitempty"`

	// The multicast filtering mode on the switch. Can be one of legacyFiltering, or snooping.
	MulticastFilteringMode *string `json:"multicastFilteringMode,omitempty" tf:"multicast_filtering_mode,omitempty"`

	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	NFSMaximumMbit *float64 `json:"nfsMaximumMbit,omitempty" tf:"nfs_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	NFSReservationMbit *float64 `json:"nfsReservationMbit,omitempty" tf:"nfs_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	NFSShareCount *float64 `json:"nfsShareCount,omitempty" tf:"nfs_share_count,omitempty"`

	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	NFSShareLevel *string `json:"nfsShareLevel,omitempty" tf:"nfs_share_level,omitempty"`

	// The name for the DVS. Must be unique in the folder that it is being created in.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of seconds after which active flows are forced to be exported to the collector.
	NetflowActiveFlowTimeout *float64 `json:"netflowActiveFlowTimeout,omitempty" tf:"netflow_active_flow_timeout,omitempty"`

	// IP address for the netflow collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
	NetflowCollectorIPAddress *string `json:"netflowCollectorIpAddress,omitempty" tf:"netflow_collector_ip_address,omitempty"`

	// The port for the netflow collector.
	NetflowCollectorPort *float64 `json:"netflowCollectorPort,omitempty" tf:"netflow_collector_port,omitempty"`

	// Indicates whether to enable netflow on all ports.
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled,omitempty"`

	// The number of seconds after which idle flows are forced to be exported to the collector.
	NetflowIdleFlowTimeout *float64 `json:"netflowIdleFlowTimeout,omitempty" tf:"netflow_idle_flow_timeout,omitempty"`

	// Whether to limit analysis to traffic that has both source and destination served by the same host.
	NetflowInternalFlowsOnly *bool `json:"netflowInternalFlowsOnly,omitempty" tf:"netflow_internal_flows_only,omitempty"`

	// The observation Domain ID for the netflow collector.
	NetflowObservationDomainID *float64 `json:"netflowObservationDomainId,omitempty" tf:"netflow_observation_domain_id,omitempty"`

	// The ratio of total number of packets to the number of packets analyzed. Set to 0 to disable sampling, meaning that all packets are analyzed.
	NetflowSamplingRate *float64 `json:"netflowSamplingRate,omitempty" tf:"netflow_sampling_rate,omitempty"`

	// Whether or not to enable network resource control, enabling advanced traffic shaping and resource control features.
	NetworkResourceControlEnabled *bool `json:"networkResourceControlEnabled,omitempty" tf:"network_resource_control_enabled,omitempty"`

	// The network I/O control version to use. Can be one of version2 or version3.
	NetworkResourceControlVersion *string `json:"networkResourceControlVersion,omitempty" tf:"network_resource_control_version,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The secondary VLAN ID for this port.
	PortPrivateSecondaryVlanID *float64 `json:"portPrivateSecondaryVlanId,omitempty" tf:"port_private_secondary_vlan_id,omitempty"`

	// A private VLAN (PVLAN) mapping.
	PvlanMapping []PvlanMappingObservation `json:"pvlanMapping,omitempty" tf:"pvlan_mapping,omitempty"`

	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	StandbyUplinks []*string `json:"standbyUplinks,omitempty" tf:"standby_uplinks,omitempty"`

	// A list of tag IDs to apply to this object.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink,omitempty"`

	// A list of uplink ports. The contents of this list control both the uplink count and names of the uplinks on the DVS across hosts.
	Uplinks []*string `json:"uplinks,omitempty" tf:"uplinks,omitempty"`

	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	VdpMaximumMbit *float64 `json:"vdpMaximumMbit,omitempty" tf:"vdp_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	VdpReservationMbit *float64 `json:"vdpReservationMbit,omitempty" tf:"vdp_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	VdpShareCount *float64 `json:"vdpShareCount,omitempty" tf:"vdp_share_count,omitempty"`

	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	VdpShareLevel *string `json:"vdpShareLevel,omitempty" tf:"vdp_share_level,omitempty"`

	// The version of this virtual switch. Allowed versions are 8.0.0, 7.0.3, 7.0.2, 7.0.0, 6.6.0, 6.5.0, 6.0.0, 5.5.0, 5.1.0, and 5.0.0.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`

	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineMaximumMbit *float64 `json:"virtualmachineMaximumMbit,omitempty" tf:"virtualmachine_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	VirtualmachineReservationMbit *float64 `json:"virtualmachineReservationMbit,omitempty" tf:"virtualmachine_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	VirtualmachineShareCount *float64 `json:"virtualmachineShareCount,omitempty" tf:"virtualmachine_share_count,omitempty"`

	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	VirtualmachineShareLevel *string `json:"virtualmachineShareLevel,omitempty" tf:"virtualmachine_share_level,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	VlanRange []VSphereDistributedVirtualSwitchVlanRangeObservation `json:"vlanRange,omitempty" tf:"vlan_range,omitempty"`

	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	VmotionMaximumMbit *float64 `json:"vmotionMaximumMbit,omitempty" tf:"vmotion_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	VmotionReservationMbit *float64 `json:"vmotionReservationMbit,omitempty" tf:"vmotion_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	VmotionShareCount *float64 `json:"vmotionShareCount,omitempty" tf:"vmotion_share_count,omitempty"`

	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	VmotionShareLevel *string `json:"vmotionShareLevel,omitempty" tf:"vmotion_share_level,omitempty"`

	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	VsanMaximumMbit *float64 `json:"vsanMaximumMbit,omitempty" tf:"vsan_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	VsanReservationMbit *float64 `json:"vsanReservationMbit,omitempty" tf:"vsan_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	VsanShareCount *float64 `json:"vsanShareCount,omitempty" tf:"vsan_share_count,omitempty"`

	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	VsanShareLevel *string `json:"vsanShareLevel,omitempty" tf:"vsan_share_level,omitempty"`
}

func (*VSphereDistributedVirtualSwitchObservation) DeepCopy

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

func (*VSphereDistributedVirtualSwitchObservation) DeepCopyInto

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

type VSphereDistributedVirtualSwitchParameters

type VSphereDistributedVirtualSwitchParameters struct {

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +kubebuilder:validation:Optional
	ActiveUplinks []*string `json:"activeUplinks,omitempty" tf:"active_uplinks,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +kubebuilder:validation:Optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +kubebuilder:validation:Optional
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +kubebuilder:validation:Optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	BackupnfcMaximumMbit *float64 `json:"backupnfcMaximumMbit,omitempty" tf:"backupnfc_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	BackupnfcReservationMbit *float64 `json:"backupnfcReservationMbit,omitempty" tf:"backupnfc_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the backupNfc traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	BackupnfcShareCount *float64 `json:"backupnfcShareCount,omitempty" tf:"backupnfc_share_count,omitempty"`

	// The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	BackupnfcShareLevel *string `json:"backupnfcShareLevel,omitempty" tf:"backupnfc_share_level,omitempty"`

	// Indicates whether to block all ports by default.
	// +kubebuilder:validation:Optional
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports,omitempty"`

	// Enable beacon probing on the ports this policy applies to.
	// +kubebuilder:validation:Optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// The contact detail for this DVS.
	// +kubebuilder:validation:Optional
	ContactDetail *string `json:"contactDetail,omitempty" tf:"contact_detail,omitempty"`

	// The contact name for this DVS.
	// +kubebuilder:validation:Optional
	ContactName *string `json:"contactName,omitempty" tf:"contact_name,omitempty"`

	// A list of custom attributes to set on this resource.
	// +kubebuilder:validation:Optional
	CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"`

	// The ID of the datacenter to create this virtual switch in.
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// The description of the DVS.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	// +kubebuilder:validation:Optional
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed,omitempty"`

	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingAverageBandwidth *float64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth,omitempty"`

	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingBurstSize *float64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for egress traffic on the port.
	// +kubebuilder:validation:Optional
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled,omitempty"`

	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	EgressShapingPeakBandwidth *float64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +kubebuilder:validation:Optional
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	FaulttoleranceMaximumMbit *float64 `json:"faulttoleranceMaximumMbit,omitempty" tf:"faulttolerance_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	FaulttoleranceReservationMbit *float64 `json:"faulttoleranceReservationMbit,omitempty" tf:"faulttolerance_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	FaulttoleranceShareCount *float64 `json:"faulttoleranceShareCount,omitempty" tf:"faulttolerance_share_count,omitempty"`

	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	FaulttoleranceShareLevel *string `json:"faulttoleranceShareLevel,omitempty" tf:"faulttolerance_share_level,omitempty"`

	// The folder to create this virtual switch in, relative to the datacenter.
	// +kubebuilder:validation:Optional
	Folder *string `json:"folder,omitempty" tf:"folder,omitempty"`

	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	HbrMaximumMbit *float64 `json:"hbrMaximumMbit,omitempty" tf:"hbr_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	HbrReservationMbit *float64 `json:"hbrReservationMbit,omitempty" tf:"hbr_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	HbrShareCount *float64 `json:"hbrShareCount,omitempty" tf:"hbr_share_count,omitempty"`

	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	HbrShareLevel *string `json:"hbrShareLevel,omitempty" tf:"hbr_share_level,omitempty"`

	// A host member specification.
	// +kubebuilder:validation:Optional
	Host []HostParameters `json:"host,omitempty" tf:"host,omitempty"`

	// The IPv4 address of the switch. This can be used to see the DVS as a unique device with NetFlow.
	// +kubebuilder:validation:Optional
	IPv4Address *string `json:"ipv4Address,omitempty" tf:"ipv4_address,omitempty"`

	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	ISCSIMaximumMbit *float64 `json:"iscsiMaximumMbit,omitempty" tf:"iscsi_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	ISCSIReservationMbit *float64 `json:"iscsiReservationMbit,omitempty" tf:"iscsi_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	ISCSIShareCount *float64 `json:"iscsiShareCount,omitempty" tf:"iscsi_share_count,omitempty"`

	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	ISCSIShareLevel *string `json:"iscsiShareLevel,omitempty" tf:"iscsi_share_level,omitempty"`

	// Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
	// +kubebuilder:validation:Optional
	IgnoreOtherPvlanMappings *bool `json:"ignoreOtherPvlanMappings,omitempty" tf:"ignore_other_pvlan_mappings,omitempty"`

	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingAverageBandwidth *float64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth,omitempty"`

	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingBurstSize *float64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size,omitempty"`

	// True if the traffic shaper is enabled for ingress traffic on the port.
	// +kubebuilder:validation:Optional
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled,omitempty"`

	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	// +kubebuilder:validation:Optional
	IngressShapingPeakBandwidth *float64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth,omitempty"`

	// The Link Aggregation Control Protocol group version in the switch. Can be one of singleLag or multipleLag.
	// +kubebuilder:validation:Optional
	LacpAPIVersion *string `json:"lacpApiVersion,omitempty" tf:"lacp_api_version,omitempty"`

	// Whether or not to enable LACP on all uplink ports.
	// +kubebuilder:validation:Optional
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled,omitempty"`

	// The uplink LACP mode to use. Can be one of active or passive.
	// +kubebuilder:validation:Optional
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode,omitempty"`

	// Whether to advertise or listen for link discovery. Valid values are advertise, both, listen, and none.
	// +kubebuilder:validation:Optional
	LinkDiscoveryOperation *string `json:"linkDiscoveryOperation,omitempty" tf:"link_discovery_operation,omitempty"`

	// The discovery protocol type. Valid values are cdp and lldp.
	// +kubebuilder:validation:Optional
	LinkDiscoveryProtocol *string `json:"linkDiscoveryProtocol,omitempty" tf:"link_discovery_protocol,omitempty"`

	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	ManagementMaximumMbit *float64 `json:"managementMaximumMbit,omitempty" tf:"management_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	ManagementReservationMbit *float64 `json:"managementReservationMbit,omitempty" tf:"management_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the management traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	ManagementShareCount *float64 `json:"managementShareCount,omitempty" tf:"management_share_count,omitempty"`

	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	ManagementShareLevel *string `json:"managementShareLevel,omitempty" tf:"management_share_level,omitempty"`

	// The maximum MTU on the switch.
	// +kubebuilder:validation:Optional
	MaxMtu *float64 `json:"maxMtu,omitempty" tf:"max_mtu,omitempty"`

	// The multicast filtering mode on the switch. Can be one of legacyFiltering, or snooping.
	// +kubebuilder:validation:Optional
	MulticastFilteringMode *string `json:"multicastFilteringMode,omitempty" tf:"multicast_filtering_mode,omitempty"`

	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	NFSMaximumMbit *float64 `json:"nfsMaximumMbit,omitempty" tf:"nfs_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	NFSReservationMbit *float64 `json:"nfsReservationMbit,omitempty" tf:"nfs_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	NFSShareCount *float64 `json:"nfsShareCount,omitempty" tf:"nfs_share_count,omitempty"`

	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	NFSShareLevel *string `json:"nfsShareLevel,omitempty" tf:"nfs_share_level,omitempty"`

	// The name for the DVS. Must be unique in the folder that it is being created in.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of seconds after which active flows are forced to be exported to the collector.
	// +kubebuilder:validation:Optional
	NetflowActiveFlowTimeout *float64 `json:"netflowActiveFlowTimeout,omitempty" tf:"netflow_active_flow_timeout,omitempty"`

	// IP address for the netflow collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
	// +kubebuilder:validation:Optional
	NetflowCollectorIPAddress *string `json:"netflowCollectorIpAddress,omitempty" tf:"netflow_collector_ip_address,omitempty"`

	// The port for the netflow collector.
	// +kubebuilder:validation:Optional
	NetflowCollectorPort *float64 `json:"netflowCollectorPort,omitempty" tf:"netflow_collector_port,omitempty"`

	// Indicates whether to enable netflow on all ports.
	// +kubebuilder:validation:Optional
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled,omitempty"`

	// The number of seconds after which idle flows are forced to be exported to the collector.
	// +kubebuilder:validation:Optional
	NetflowIdleFlowTimeout *float64 `json:"netflowIdleFlowTimeout,omitempty" tf:"netflow_idle_flow_timeout,omitempty"`

	// Whether to limit analysis to traffic that has both source and destination served by the same host.
	// +kubebuilder:validation:Optional
	NetflowInternalFlowsOnly *bool `json:"netflowInternalFlowsOnly,omitempty" tf:"netflow_internal_flows_only,omitempty"`

	// The observation Domain ID for the netflow collector.
	// +kubebuilder:validation:Optional
	NetflowObservationDomainID *float64 `json:"netflowObservationDomainId,omitempty" tf:"netflow_observation_domain_id,omitempty"`

	// The ratio of total number of packets to the number of packets analyzed. Set to 0 to disable sampling, meaning that all packets are analyzed.
	// +kubebuilder:validation:Optional
	NetflowSamplingRate *float64 `json:"netflowSamplingRate,omitempty" tf:"netflow_sampling_rate,omitempty"`

	// Whether or not to enable network resource control, enabling advanced traffic shaping and resource control features.
	// +kubebuilder:validation:Optional
	NetworkResourceControlEnabled *bool `json:"networkResourceControlEnabled,omitempty" tf:"network_resource_control_enabled,omitempty"`

	// The network I/O control version to use. Can be one of version2 or version3.
	// +kubebuilder:validation:Optional
	NetworkResourceControlVersion *string `json:"networkResourceControlVersion,omitempty" tf:"network_resource_control_version,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +kubebuilder:validation:Optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The secondary VLAN ID for this port.
	// +kubebuilder:validation:Optional
	PortPrivateSecondaryVlanID *float64 `json:"portPrivateSecondaryVlanId,omitempty" tf:"port_private_secondary_vlan_id,omitempty"`

	// A private VLAN (PVLAN) mapping.
	// +kubebuilder:validation:Optional
	PvlanMapping []PvlanMappingParameters `json:"pvlanMapping,omitempty" tf:"pvlan_mapping,omitempty"`

	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +kubebuilder:validation:Optional
	StandbyUplinks []*string `json:"standbyUplinks,omitempty" tf:"standby_uplinks,omitempty"`

	// A list of tag IDs to apply to this object.
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	// +kubebuilder:validation:Optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// If true, a copy of packets sent to the switch will always be forwarded to an uplink in addition to the regular packet forwarded done by the switch.
	// +kubebuilder:validation:Optional
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink,omitempty"`

	// A list of uplink ports. The contents of this list control both the uplink count and names of the uplinks on the DVS across hosts.
	// +kubebuilder:validation:Optional
	Uplinks []*string `json:"uplinks,omitempty" tf:"uplinks,omitempty"`

	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VdpMaximumMbit *float64 `json:"vdpMaximumMbit,omitempty" tf:"vdp_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VdpReservationMbit *float64 `json:"vdpReservationMbit,omitempty" tf:"vdp_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	VdpShareCount *float64 `json:"vdpShareCount,omitempty" tf:"vdp_share_count,omitempty"`

	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	VdpShareLevel *string `json:"vdpShareLevel,omitempty" tf:"vdp_share_level,omitempty"`

	// The version of this virtual switch. Allowed versions are 8.0.0, 7.0.3, 7.0.2, 7.0.0, 6.6.0, 6.5.0, 6.0.0, 5.5.0, 5.1.0, and 5.0.0.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`

	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VirtualmachineMaximumMbit *float64 `json:"virtualmachineMaximumMbit,omitempty" tf:"virtualmachine_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VirtualmachineReservationMbit *float64 `json:"virtualmachineReservationMbit,omitempty" tf:"virtualmachine_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	VirtualmachineShareCount *float64 `json:"virtualmachineShareCount,omitempty" tf:"virtualmachine_share_count,omitempty"`

	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	VirtualmachineShareLevel *string `json:"virtualmachineShareLevel,omitempty" tf:"virtualmachine_share_level,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +kubebuilder:validation:Optional
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`

	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +kubebuilder:validation:Optional
	VlanRange []VSphereDistributedVirtualSwitchVlanRangeParameters `json:"vlanRange,omitempty" tf:"vlan_range,omitempty"`

	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VmotionMaximumMbit *float64 `json:"vmotionMaximumMbit,omitempty" tf:"vmotion_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VmotionReservationMbit *float64 `json:"vmotionReservationMbit,omitempty" tf:"vmotion_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	VmotionShareCount *float64 `json:"vmotionShareCount,omitempty" tf:"vmotion_share_count,omitempty"`

	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	VmotionShareLevel *string `json:"vmotionShareLevel,omitempty" tf:"vmotion_share_level,omitempty"`

	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VsanMaximumMbit *float64 `json:"vsanMaximumMbit,omitempty" tf:"vsan_maximum_mbit,omitempty"`

	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	// +kubebuilder:validation:Optional
	VsanReservationMbit *float64 `json:"vsanReservationMbit,omitempty" tf:"vsan_reservation_mbit,omitempty"`

	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	// +kubebuilder:validation:Optional
	VsanShareCount *float64 `json:"vsanShareCount,omitempty" tf:"vsan_share_count,omitempty"`

	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	// +kubebuilder:validation:Optional
	VsanShareLevel *string `json:"vsanShareLevel,omitempty" tf:"vsan_share_level,omitempty"`
}

func (*VSphereDistributedVirtualSwitchParameters) DeepCopy

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

func (*VSphereDistributedVirtualSwitchParameters) DeepCopyInto

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

type VSphereDistributedVirtualSwitchSpec

type VSphereDistributedVirtualSwitchSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VSphereDistributedVirtualSwitchParameters `json:"forProvider"`
}

VSphereDistributedVirtualSwitchSpec defines the desired state of VSphereDistributedVirtualSwitch

func (*VSphereDistributedVirtualSwitchSpec) DeepCopy

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

func (*VSphereDistributedVirtualSwitchSpec) DeepCopyInto

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

type VSphereDistributedVirtualSwitchStatus

type VSphereDistributedVirtualSwitchStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VSphereDistributedVirtualSwitchObservation `json:"atProvider,omitempty"`
}

VSphereDistributedVirtualSwitchStatus defines the observed state of VSphereDistributedVirtualSwitch.

func (*VSphereDistributedVirtualSwitchStatus) DeepCopy

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

func (*VSphereDistributedVirtualSwitchStatus) DeepCopyInto

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

type VSphereDistributedVirtualSwitchVlanRangeObservation

type VSphereDistributedVirtualSwitchVlanRangeObservation struct {

	// The minimum VLAN to use in the range.
	MaxVlan *float64 `json:"maxVlan,omitempty" tf:"max_vlan,omitempty"`

	// The minimum VLAN to use in the range.
	MinVlan *float64 `json:"minVlan,omitempty" tf:"min_vlan,omitempty"`
}

func (*VSphereDistributedVirtualSwitchVlanRangeObservation) DeepCopy

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

func (*VSphereDistributedVirtualSwitchVlanRangeObservation) DeepCopyInto

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

type VSphereDistributedVirtualSwitchVlanRangeParameters

type VSphereDistributedVirtualSwitchVlanRangeParameters struct {

	// The minimum VLAN to use in the range.
	// +kubebuilder:validation:Required
	MaxVlan *float64 `json:"maxVlan" tf:"max_vlan,omitempty"`

	// The minimum VLAN to use in the range.
	// +kubebuilder:validation:Required
	MinVlan *float64 `json:"minVlan" tf:"min_vlan,omitempty"`
}

func (*VSphereDistributedVirtualSwitchVlanRangeParameters) DeepCopy

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

func (*VSphereDistributedVirtualSwitchVlanRangeParameters) DeepCopyInto

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

type VSphereHostPortGroup

type VSphereHostPortGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.hostSystemId)",message="hostSystemId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.virtualSwitchName)",message="virtualSwitchName is a required parameter"
	Spec   VSphereHostPortGroupSpec   `json:"spec"`
	Status VSphereHostPortGroupStatus `json:"status,omitempty"`
}

VSphereHostPortGroup is the Schema for the VSphereHostPortGroups API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vsphere}

func (*VSphereHostPortGroup) DeepCopy

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

func (*VSphereHostPortGroup) DeepCopyInto

func (in *VSphereHostPortGroup) DeepCopyInto(out *VSphereHostPortGroup)

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

func (*VSphereHostPortGroup) DeepCopyObject

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

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

func (*VSphereHostPortGroup) GetCondition

func (mg *VSphereHostPortGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) GetConnectionDetailsMapping

func (tr *VSphereHostPortGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VSphereHostPortGroup

func (*VSphereHostPortGroup) GetDeletionPolicy

func (mg *VSphereHostPortGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) GetID

func (tr *VSphereHostPortGroup) GetID() string

GetID returns ID of underlying Terraform resource of this VSphereHostPortGroup

func (*VSphereHostPortGroup) GetManagementPolicy

func (mg *VSphereHostPortGroup) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) GetObservation

func (tr *VSphereHostPortGroup) GetObservation() (map[string]any, error)

GetObservation of this VSphereHostPortGroup

func (*VSphereHostPortGroup) GetParameters

func (tr *VSphereHostPortGroup) GetParameters() (map[string]any, error)

GetParameters of this VSphereHostPortGroup

func (*VSphereHostPortGroup) GetProviderConfigReference

func (mg *VSphereHostPortGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) GetProviderReference

func (mg *VSphereHostPortGroup) GetProviderReference() *xpv1.Reference

GetProviderReference of this VSphereHostPortGroup. Deprecated: Use GetProviderConfigReference.

func (*VSphereHostPortGroup) GetPublishConnectionDetailsTo

func (mg *VSphereHostPortGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) GetTerraformResourceType

func (mg *VSphereHostPortGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VSphereHostPortGroup

func (*VSphereHostPortGroup) GetTerraformSchemaVersion

func (tr *VSphereHostPortGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VSphereHostPortGroup) GetWriteConnectionSecretToReference

func (mg *VSphereHostPortGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) LateInitialize

func (tr *VSphereHostPortGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VSphereHostPortGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*VSphereHostPortGroup) SetConditions

func (mg *VSphereHostPortGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) SetDeletionPolicy

func (mg *VSphereHostPortGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) SetManagementPolicy

func (mg *VSphereHostPortGroup) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) SetObservation

func (tr *VSphereHostPortGroup) SetObservation(obs map[string]any) error

SetObservation for this VSphereHostPortGroup

func (*VSphereHostPortGroup) SetParameters

func (tr *VSphereHostPortGroup) SetParameters(params map[string]any) error

SetParameters for this VSphereHostPortGroup

func (*VSphereHostPortGroup) SetProviderConfigReference

func (mg *VSphereHostPortGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) SetProviderReference

func (mg *VSphereHostPortGroup) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this VSphereHostPortGroup. Deprecated: Use SetProviderConfigReference.

func (*VSphereHostPortGroup) SetPublishConnectionDetailsTo

func (mg *VSphereHostPortGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VSphereHostPortGroup.

func (*VSphereHostPortGroup) SetWriteConnectionSecretToReference

func (mg *VSphereHostPortGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VSphereHostPortGroup.

type VSphereHostPortGroupList

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

VSphereHostPortGroupList contains a list of VSphereHostPortGroups

func (*VSphereHostPortGroupList) DeepCopy

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

func (*VSphereHostPortGroupList) DeepCopyInto

func (in *VSphereHostPortGroupList) DeepCopyInto(out *VSphereHostPortGroupList)

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

func (*VSphereHostPortGroupList) DeepCopyObject

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

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

func (*VSphereHostPortGroupList) GetItems

func (l *VSphereHostPortGroupList) GetItems() []resource.Managed

GetItems of this VSphereHostPortGroupList.

type VSphereHostPortGroupObservation

type VSphereHostPortGroupObservation struct {

	// List of active network adapters used for load balancing.
	ActiveNics []*string `json:"activeNics,omitempty" tf:"active_nics,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// The effective network policy after inheritance. Note that this will look similar to, but is not the same, as the policy attributes defined in this resource.
	ComputedPolicy map[string]*string `json:"computedPolicy,omitempty" tf:"computed_policy,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The managed object ID of the host to set the virtual switch up on.
	HostSystemID *string `json:"hostSystemId,omitempty" tf:"host_system_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The linkable identifier for this port group.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// The name of the port group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The ports that currently exist and are used on this port group.
	Ports []PortsObservation `json:"ports,omitempty" tf:"ports,omitempty"`

	// The average bandwidth in bits per second if traffic shaping is enabled.
	ShapingAverageBandwidth *float64 `json:"shapingAverageBandwidth,omitempty" tf:"shaping_average_bandwidth,omitempty"`

	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	ShapingBurstSize *float64 `json:"shapingBurstSize,omitempty" tf:"shaping_burst_size,omitempty"`

	// Enable traffic shaping on this virtual switch or port group.
	ShapingEnabled *bool `json:"shapingEnabled,omitempty" tf:"shaping_enabled,omitempty"`

	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	ShapingPeakBandwidth *float64 `json:"shapingPeakBandwidth,omitempty" tf:"shaping_peak_bandwidth,omitempty"`

	// List of standby network adapters used for failover.
	StandbyNics []*string `json:"standbyNics,omitempty" tf:"standby_nics,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// The name of the virtual switch to bind this port group to.
	VirtualSwitchName *string `json:"virtualSwitchName,omitempty" tf:"virtual_switch_name,omitempty"`

	// The VLAN ID/trunk mode for this port group. An ID of 0 denotes no tagging, an ID of 1-4094 tags with the specific ID, and an ID of 4095 enables trunk mode, allowing the guest to manage its own tagging.
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`
}

func (*VSphereHostPortGroupObservation) DeepCopy

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

func (*VSphereHostPortGroupObservation) DeepCopyInto

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

type VSphereHostPortGroupParameters

type VSphereHostPortGroupParameters struct {

	// List of active network adapters used for load balancing.
	// +kubebuilder:validation:Optional
	ActiveNics []*string `json:"activeNics,omitempty" tf:"active_nics,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +kubebuilder:validation:Optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +kubebuilder:validation:Optional
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +kubebuilder:validation:Optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
	// +kubebuilder:validation:Optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +kubebuilder:validation:Optional
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The managed object ID of the host to set the virtual switch up on.
	// +kubebuilder:validation:Optional
	HostSystemID *string `json:"hostSystemId,omitempty" tf:"host_system_id,omitempty"`

	// The name of the port group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +kubebuilder:validation:Optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The average bandwidth in bits per second if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingAverageBandwidth *float64 `json:"shapingAverageBandwidth,omitempty" tf:"shaping_average_bandwidth,omitempty"`

	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingBurstSize *float64 `json:"shapingBurstSize,omitempty" tf:"shaping_burst_size,omitempty"`

	// Enable traffic shaping on this virtual switch or port group.
	// +kubebuilder:validation:Optional
	ShapingEnabled *bool `json:"shapingEnabled,omitempty" tf:"shaping_enabled,omitempty"`

	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingPeakBandwidth *float64 `json:"shapingPeakBandwidth,omitempty" tf:"shaping_peak_bandwidth,omitempty"`

	// List of standby network adapters used for failover.
	// +kubebuilder:validation:Optional
	StandbyNics []*string `json:"standbyNics,omitempty" tf:"standby_nics,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
	// +kubebuilder:validation:Optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`

	// The name of the virtual switch to bind this port group to.
	// +kubebuilder:validation:Optional
	VirtualSwitchName *string `json:"virtualSwitchName,omitempty" tf:"virtual_switch_name,omitempty"`

	// The VLAN ID/trunk mode for this port group. An ID of 0 denotes no tagging, an ID of 1-4094 tags with the specific ID, and an ID of 4095 enables trunk mode, allowing the guest to manage its own tagging.
	// +kubebuilder:validation:Optional
	VlanID *float64 `json:"vlanId,omitempty" tf:"vlan_id,omitempty"`
}

func (*VSphereHostPortGroupParameters) DeepCopy

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

func (*VSphereHostPortGroupParameters) DeepCopyInto

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

type VSphereHostPortGroupSpec

type VSphereHostPortGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VSphereHostPortGroupParameters `json:"forProvider"`
}

VSphereHostPortGroupSpec defines the desired state of VSphereHostPortGroup

func (*VSphereHostPortGroupSpec) DeepCopy

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

func (*VSphereHostPortGroupSpec) DeepCopyInto

func (in *VSphereHostPortGroupSpec) DeepCopyInto(out *VSphereHostPortGroupSpec)

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

type VSphereHostPortGroupStatus

type VSphereHostPortGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VSphereHostPortGroupObservation `json:"atProvider,omitempty"`
}

VSphereHostPortGroupStatus defines the observed state of VSphereHostPortGroup.

func (*VSphereHostPortGroupStatus) DeepCopy

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

func (*VSphereHostPortGroupStatus) DeepCopyInto

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

type VSphereHostVirtualSwitch

type VSphereHostVirtualSwitch struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.activeNics)",message="activeNics is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.hostSystemId)",message="hostSystemId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.networkAdapters)",message="networkAdapters is a required parameter"
	Spec   VSphereHostVirtualSwitchSpec   `json:"spec"`
	Status VSphereHostVirtualSwitchStatus `json:"status,omitempty"`
}

VSphereHostVirtualSwitch is the Schema for the VSphereHostVirtualSwitchs API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vsphere}

func (*VSphereHostVirtualSwitch) DeepCopy

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

func (*VSphereHostVirtualSwitch) DeepCopyInto

func (in *VSphereHostVirtualSwitch) DeepCopyInto(out *VSphereHostVirtualSwitch)

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

func (*VSphereHostVirtualSwitch) DeepCopyObject

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

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

func (*VSphereHostVirtualSwitch) GetCondition

GetCondition of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) GetConnectionDetailsMapping

func (tr *VSphereHostVirtualSwitch) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) GetDeletionPolicy

func (mg *VSphereHostVirtualSwitch) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) GetID

func (tr *VSphereHostVirtualSwitch) GetID() string

GetID returns ID of underlying Terraform resource of this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) GetManagementPolicy

func (mg *VSphereHostVirtualSwitch) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) GetObservation

func (tr *VSphereHostVirtualSwitch) GetObservation() (map[string]any, error)

GetObservation of this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) GetParameters

func (tr *VSphereHostVirtualSwitch) GetParameters() (map[string]any, error)

GetParameters of this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) GetProviderConfigReference

func (mg *VSphereHostVirtualSwitch) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) GetProviderReference

func (mg *VSphereHostVirtualSwitch) GetProviderReference() *xpv1.Reference

GetProviderReference of this VSphereHostVirtualSwitch. Deprecated: Use GetProviderConfigReference.

func (*VSphereHostVirtualSwitch) GetPublishConnectionDetailsTo

func (mg *VSphereHostVirtualSwitch) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) GetTerraformResourceType

func (mg *VSphereHostVirtualSwitch) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) GetTerraformSchemaVersion

func (tr *VSphereHostVirtualSwitch) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VSphereHostVirtualSwitch) GetWriteConnectionSecretToReference

func (mg *VSphereHostVirtualSwitch) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) LateInitialize

func (tr *VSphereHostVirtualSwitch) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VSphereHostVirtualSwitch using its observed tfState. returns True if there are any spec changes for the resource.

func (*VSphereHostVirtualSwitch) SetConditions

func (mg *VSphereHostVirtualSwitch) SetConditions(c ...xpv1.Condition)

SetConditions of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) SetDeletionPolicy

func (mg *VSphereHostVirtualSwitch) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) SetManagementPolicy

func (mg *VSphereHostVirtualSwitch) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) SetObservation

func (tr *VSphereHostVirtualSwitch) SetObservation(obs map[string]any) error

SetObservation for this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) SetParameters

func (tr *VSphereHostVirtualSwitch) SetParameters(params map[string]any) error

SetParameters for this VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitch) SetProviderConfigReference

func (mg *VSphereHostVirtualSwitch) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) SetProviderReference

func (mg *VSphereHostVirtualSwitch) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this VSphereHostVirtualSwitch. Deprecated: Use SetProviderConfigReference.

func (*VSphereHostVirtualSwitch) SetPublishConnectionDetailsTo

func (mg *VSphereHostVirtualSwitch) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitch) SetWriteConnectionSecretToReference

func (mg *VSphereHostVirtualSwitch) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VSphereHostVirtualSwitch.

type VSphereHostVirtualSwitchList

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

VSphereHostVirtualSwitchList contains a list of VSphereHostVirtualSwitchs

func (*VSphereHostVirtualSwitchList) DeepCopy

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

func (*VSphereHostVirtualSwitchList) DeepCopyInto

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

func (*VSphereHostVirtualSwitchList) DeepCopyObject

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

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

func (*VSphereHostVirtualSwitchList) GetItems

GetItems of this VSphereHostVirtualSwitchList.

type VSphereHostVirtualSwitchObservation

type VSphereHostVirtualSwitchObservation struct {

	// List of active network adapters used for load balancing.
	ActiveNics []*string `json:"activeNics,omitempty" tf:"active_nics,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Determines how often, in seconds, a beacon should be sent to probe for the validity of a link.
	BeaconInterval *float64 `json:"beaconInterval,omitempty" tf:"beacon_interval,omitempty"`

	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The managed object ID of the host to set the virtual switch up on.
	HostSystemID *string `json:"hostSystemId,omitempty" tf:"host_system_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Whether to advertise or listen for link discovery. Valid values are advertise, both, listen, and none.
	LinkDiscoveryOperation *string `json:"linkDiscoveryOperation,omitempty" tf:"link_discovery_operation,omitempty"`

	// The discovery protocol type. Valid values are cdp and lldp.
	LinkDiscoveryProtocol *string `json:"linkDiscoveryProtocol,omitempty" tf:"link_discovery_protocol,omitempty"`

	// The maximum transmission unit (MTU) of the virtual switch in bytes.
	Mtu *float64 `json:"mtu,omitempty" tf:"mtu,omitempty"`

	// The name of the virtual switch.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of network adapters to bind to this virtual switch.
	NetworkAdapters []*string `json:"networkAdapters,omitempty" tf:"network_adapters,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The number of ports that this virtual switch is configured to use.
	NumberOfPorts *float64 `json:"numberOfPorts,omitempty" tf:"number_of_ports,omitempty"`

	// The average bandwidth in bits per second if traffic shaping is enabled.
	ShapingAverageBandwidth *float64 `json:"shapingAverageBandwidth,omitempty" tf:"shaping_average_bandwidth,omitempty"`

	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	ShapingBurstSize *float64 `json:"shapingBurstSize,omitempty" tf:"shaping_burst_size,omitempty"`

	// Enable traffic shaping on this virtual switch or port group.
	ShapingEnabled *bool `json:"shapingEnabled,omitempty" tf:"shaping_enabled,omitempty"`

	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	ShapingPeakBandwidth *float64 `json:"shapingPeakBandwidth,omitempty" tf:"shaping_peak_bandwidth,omitempty"`

	// List of standby network adapters used for failover.
	StandbyNics []*string `json:"standbyNics,omitempty" tf:"standby_nics,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`
}

func (*VSphereHostVirtualSwitchObservation) DeepCopy

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

func (*VSphereHostVirtualSwitchObservation) DeepCopyInto

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

type VSphereHostVirtualSwitchParameters

type VSphereHostVirtualSwitchParameters struct {

	// List of active network adapters used for load balancing.
	// +kubebuilder:validation:Optional
	ActiveNics []*string `json:"activeNics,omitempty" tf:"active_nics,omitempty"`

	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +kubebuilder:validation:Optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits,omitempty"`

	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +kubebuilder:validation:Optional
	AllowMacChanges *bool `json:"allowMacChanges,omitempty" tf:"allow_mac_changes,omitempty"`

	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +kubebuilder:validation:Optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous,omitempty"`

	// Determines how often, in seconds, a beacon should be sent to probe for the validity of a link.
	// +kubebuilder:validation:Optional
	BeaconInterval *float64 `json:"beaconInterval,omitempty" tf:"beacon_interval,omitempty"`

	// Enable beacon probing. Requires that the vSwitch has been configured to use a beacon. If disabled, link status is used only.
	// +kubebuilder:validation:Optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon,omitempty"`

	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +kubebuilder:validation:Optional
	Failback *bool `json:"failback,omitempty" tf:"failback,omitempty"`

	// The managed object ID of the host to set the virtual switch up on.
	// +kubebuilder:validation:Optional
	HostSystemID *string `json:"hostSystemId,omitempty" tf:"host_system_id,omitempty"`

	// Whether to advertise or listen for link discovery. Valid values are advertise, both, listen, and none.
	// +kubebuilder:validation:Optional
	LinkDiscoveryOperation *string `json:"linkDiscoveryOperation,omitempty" tf:"link_discovery_operation,omitempty"`

	// The discovery protocol type. Valid values are cdp and lldp.
	// +kubebuilder:validation:Optional
	LinkDiscoveryProtocol *string `json:"linkDiscoveryProtocol,omitempty" tf:"link_discovery_protocol,omitempty"`

	// The maximum transmission unit (MTU) of the virtual switch in bytes.
	// +kubebuilder:validation:Optional
	Mtu *float64 `json:"mtu,omitempty" tf:"mtu,omitempty"`

	// The name of the virtual switch.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The list of network adapters to bind to this virtual switch.
	// +kubebuilder:validation:Optional
	NetworkAdapters []*string `json:"networkAdapters,omitempty" tf:"network_adapters,omitempty"`

	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +kubebuilder:validation:Optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches,omitempty"`

	// The number of ports that this virtual switch is configured to use.
	// +kubebuilder:validation:Optional
	NumberOfPorts *float64 `json:"numberOfPorts,omitempty" tf:"number_of_ports,omitempty"`

	// The average bandwidth in bits per second if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingAverageBandwidth *float64 `json:"shapingAverageBandwidth,omitempty" tf:"shaping_average_bandwidth,omitempty"`

	// The maximum burst size allowed in bytes if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingBurstSize *float64 `json:"shapingBurstSize,omitempty" tf:"shaping_burst_size,omitempty"`

	// Enable traffic shaping on this virtual switch or port group.
	// +kubebuilder:validation:Optional
	ShapingEnabled *bool `json:"shapingEnabled,omitempty" tf:"shaping_enabled,omitempty"`

	// The peak bandwidth during bursts in bits per second if traffic shaping is enabled.
	// +kubebuilder:validation:Optional
	ShapingPeakBandwidth *float64 `json:"shapingPeakBandwidth,omitempty" tf:"shaping_peak_bandwidth,omitempty"`

	// List of standby network adapters used for failover.
	// +kubebuilder:validation:Optional
	StandbyNics []*string `json:"standbyNics,omitempty" tf:"standby_nics,omitempty"`

	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, or failover_explicit.
	// +kubebuilder:validation:Optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy,omitempty"`
}

func (*VSphereHostVirtualSwitchParameters) DeepCopy

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

func (*VSphereHostVirtualSwitchParameters) DeepCopyInto

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

type VSphereHostVirtualSwitchSpec

type VSphereHostVirtualSwitchSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VSphereHostVirtualSwitchParameters `json:"forProvider"`
}

VSphereHostVirtualSwitchSpec defines the desired state of VSphereHostVirtualSwitch

func (*VSphereHostVirtualSwitchSpec) DeepCopy

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

func (*VSphereHostVirtualSwitchSpec) DeepCopyInto

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

type VSphereHostVirtualSwitchStatus

type VSphereHostVirtualSwitchStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VSphereHostVirtualSwitchObservation `json:"atProvider,omitempty"`
}

VSphereHostVirtualSwitchStatus defines the observed state of VSphereHostVirtualSwitch.

func (*VSphereHostVirtualSwitchStatus) DeepCopy

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

func (*VSphereHostVirtualSwitchStatus) DeepCopyInto

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

type VlanRangeObservation

type VlanRangeObservation struct {

	// The minimum VLAN to use in the range.
	MaxVlan *float64 `json:"maxVlan,omitempty" tf:"max_vlan,omitempty"`

	// The minimum VLAN to use in the range.
	MinVlan *float64 `json:"minVlan,omitempty" tf:"min_vlan,omitempty"`
}

func (*VlanRangeObservation) DeepCopy

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

func (*VlanRangeObservation) DeepCopyInto

func (in *VlanRangeObservation) DeepCopyInto(out *VlanRangeObservation)

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

type VlanRangeParameters

type VlanRangeParameters struct {

	// The minimum VLAN to use in the range.
	// +kubebuilder:validation:Required
	MaxVlan *float64 `json:"maxVlan" tf:"max_vlan,omitempty"`

	// The minimum VLAN to use in the range.
	// +kubebuilder:validation:Required
	MinVlan *float64 `json:"minVlan" tf:"min_vlan,omitempty"`
}

func (*VlanRangeParameters) DeepCopy

func (in *VlanRangeParameters) DeepCopy() *VlanRangeParameters

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

func (*VlanRangeParameters) DeepCopyInto

func (in *VlanRangeParameters) DeepCopyInto(out *VlanRangeParameters)

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