v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+groupName=distributed.vsphere.kubeform.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: distributed.GroupName, Version: "v1alpha1"}

Functions

func GetDecoder

func GetDecoder() map[string]jsoniter.ValDecoder

func GetEncoder

func GetEncoder() map[string]jsoniter.ValEncoder

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type PortGroup

type PortGroup struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PortGroupSpec   `json:"spec,omitempty"`
	Status            PortGroupStatus `json:"status,omitempty"`
}

func (*PortGroup) DeepCopy

func (in *PortGroup) DeepCopy() *PortGroup

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

func (*PortGroup) DeepCopyInto

func (in *PortGroup) DeepCopyInto(out *PortGroup)

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

func (*PortGroup) DeepCopyObject

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

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

func (*PortGroup) SetupWebhookWithManager

func (r *PortGroup) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*PortGroup) ValidateCreate

func (r *PortGroup) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*PortGroup) ValidateDelete

func (r *PortGroup) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PortGroup) ValidateUpdate

func (r *PortGroup) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PortGroupList

type PortGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of PortGroup CRD objects
	Items []PortGroup `json:"items,omitempty"`
}

PortGroupList is a list of PortGroups

func (*PortGroupList) DeepCopy

func (in *PortGroupList) DeepCopy() *PortGroupList

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

func (*PortGroupList) DeepCopyInto

func (in *PortGroupList) DeepCopyInto(out *PortGroupList)

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

func (*PortGroupList) DeepCopyObject

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

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

type PortGroupSpec

type PortGroupSpec struct {
	State *PortGroupSpecResource `json:"state,omitempty" tf:"-"`

	Resource PortGroupSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*PortGroupSpec) DeepCopy

func (in *PortGroupSpec) DeepCopy() *PortGroupSpec

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

func (*PortGroupSpec) DeepCopyInto

func (in *PortGroupSpec) DeepCopyInto(out *PortGroupSpec)

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

type PortGroupSpecResource

type PortGroupSpecResource struct {
	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +optional
	ActiveUplinks []string `json:"activeUplinks,omitempty" tf:"active_uplinks"`
	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits"`
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +optional
	AllowMACChanges *bool `json:"allowMACChanges,omitempty" tf:"allow_mac_changes"`
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous"`
	// Auto-expands the port group beyond the port count configured in number_of_ports when necessary.
	// +optional
	AutoExpand *bool `json:"autoExpand,omitempty" tf:"auto_expand"`
	// Indicates whether to block all ports by default.
	// +optional
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports"`
	// Allow the blocked setting of an individual port to override the setting in the portgroup.
	// +optional
	BlockOverrideAllowed *bool `json:"blockOverrideAllowed,omitempty" tf:"block_override_allowed"`
	// Enable beacon probing on the ports this policy applies to.
	// +optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon"`
	// Version string of the configuration that this spec is trying to change.
	// +optional
	ConfigVersion *string `json:"configVersion,omitempty" tf:"config_version"`
	// A list of custom attributes to set on this resource.
	// +optional
	CustomAttributes *map[string]string `json:"customAttributes,omitempty" tf:"custom_attributes"`
	// The description of the portgroup.
	// +optional
	Description *string `json:"description,omitempty" tf:"description"`
	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	// +optional
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed"`
	// The UUID of the DVS to attach this port group to.
	DistributedVirtualSwitchUUID *string `json:"distributedVirtualSwitchUUID" tf:"distributed_virtual_switch_uuid"`
	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	// +optional
	EgressShapingAverageBandwidth *int64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth"`
	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	// +optional
	EgressShapingBurstSize *int64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size"`
	// True if the traffic shaper is enabled for egress traffic on the port.
	// +optional
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled"`
	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	// +optional
	EgressShapingPeakBandwidth *int64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth"`
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +optional
	Failback *bool `json:"failback,omitempty" tf:"failback"`
	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	// +optional
	IngressShapingAverageBandwidth *int64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth"`
	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	// +optional
	IngressShapingBurstSize *int64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size"`
	// True if the traffic shaper is enabled for ingress traffic on the port.
	// +optional
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled"`
	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	// +optional
	IngressShapingPeakBandwidth *int64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth"`
	// The generated UUID of the portgroup.
	// +optional
	Key *string `json:"key,omitempty" tf:"key"`
	// Whether or not to enable LACP on all uplink ports.
	// +optional
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled"`
	// The uplink LACP mode to use. Can be one of active or passive.
	// +optional
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode"`
	// Allow a live port to be moved in and out of the portgroup.
	// +optional
	LivePortMovingAllowed *bool `json:"livePortMovingAllowed,omitempty" tf:"live_port_moving_allowed"`
	// The name of the portgroup.
	Name *string `json:"name" tf:"name"`
	// Indicates whether to enable netflow on all ports.
	// +optional
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled"`
	// Allow the enabling or disabling of Netflow on a port, contrary to the policy in the portgroup.
	// +optional
	NetflowOverrideAllowed *bool `json:"netflowOverrideAllowed,omitempty" tf:"netflow_override_allowed"`
	// The key of a network resource pool to associate with this portgroup.
	// +optional
	NetworkResourcePoolKey *string `json:"networkResourcePoolKey,omitempty" tf:"network_resource_pool_key"`
	// Allow the network resource pool of an individual port to override the setting in the portgroup.
	// +optional
	NetworkResourcePoolOverrideAllowed *bool `json:"networkResourcePoolOverrideAllowed,omitempty" tf:"network_resource_pool_override_allowed"`
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches"`
	// The number of ports in this portgroup. The DVS will expand and shrink by modifying this setting.
	// +optional
	NumberOfPorts *int64 `json:"numberOfPorts,omitempty" tf:"number_of_ports"`
	// Reset the setting of any ports in this portgroup back to the default setting when the port disconnects.
	// +optional
	PortConfigResetAtDisconnect *bool `json:"portConfigResetAtDisconnect,omitempty" tf:"port_config_reset_at_disconnect"`
	// A template string to use when creating ports in the portgroup.
	// +optional
	PortNameFormat *string `json:"portNameFormat,omitempty" tf:"port_name_format"`
	// The secondary VLAN ID for this port.
	// +optional
	PortPrivateSecondaryVLANID *int64 `json:"portPrivateSecondaryVLANID,omitempty" tf:"port_private_secondary_vlan_id"`
	// Allow security policy settings on a port to override those on the portgroup.
	// +optional
	SecurityPolicyOverrideAllowed *bool `json:"securityPolicyOverrideAllowed,omitempty" tf:"security_policy_override_allowed"`
	// Allow the traffic shaping policies of an individual port to override the settings in the portgroup.
	// +optional
	ShapingOverrideAllowed *bool `json:"shapingOverrideAllowed,omitempty" tf:"shaping_override_allowed"`
	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +optional
	StandbyUplinks []string `json:"standbyUplinks,omitempty" tf:"standby_uplinks"`
	// A list of tag IDs to apply to this object.
	// +optional
	Tags []string `json:"tags,omitempty" tf:"tags"`
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	// +optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy"`
	// Allow any filter policies set on the individual port to override those in the portgroup.
	// +optional
	TrafficFilterOverrideAllowed *bool `json:"trafficFilterOverrideAllowed,omitempty" tf:"traffic_filter_override_allowed"`
	// 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.
	// +optional
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink"`
	// The type of portgroup. Can be one of earlyBinding (static) or ephemeral.
	// +optional
	Type *string `json:"type,omitempty" tf:"type"`
	// Allow the uplink teaming policies on a port to override those on the portgroup.
	// +optional
	UplinkTeamingOverrideAllowed *bool `json:"uplinkTeamingOverrideAllowed,omitempty" tf:"uplink_teaming_override_allowed"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +optional
	VlanID *int64 `json:"vlanID,omitempty" tf:"vlan_id"`
	// Allow the VLAN configuration on a port to override those on the portgroup.
	// +optional
	VlanOverrideAllowed *bool `json:"vlanOverrideAllowed,omitempty" tf:"vlan_override_allowed"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +optional
	VlanRange []PortGroupSpecVlanRange `json:"vlanRange,omitempty" tf:"vlan_range"`
}

func (*PortGroupSpecResource) DeepCopy

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

func (*PortGroupSpecResource) DeepCopyInto

func (in *PortGroupSpecResource) DeepCopyInto(out *PortGroupSpecResource)

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

type PortGroupSpecVlanRange

type PortGroupSpecVlanRange struct {
	// The minimum VLAN to use in the range.
	MaxVLAN *int64 `json:"maxVLAN" tf:"max_vlan"`
	// The minimum VLAN to use in the range.
	MinVLAN *int64 `json:"minVLAN" tf:"min_vlan"`
}

func (*PortGroupSpecVlanRange) DeepCopy

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

func (*PortGroupSpecVlanRange) DeepCopyInto

func (in *PortGroupSpecVlanRange) DeepCopyInto(out *PortGroupSpecVlanRange)

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

type PortGroupStatus

type PortGroupStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*PortGroupStatus) DeepCopy

func (in *PortGroupStatus) DeepCopy() *PortGroupStatus

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

func (*PortGroupStatus) DeepCopyInto

func (in *PortGroupStatus) DeepCopyInto(out *PortGroupStatus)

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

type VirtualSwitch

type VirtualSwitch struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VirtualSwitchSpec   `json:"spec,omitempty"`
	Status            VirtualSwitchStatus `json:"status,omitempty"`
}

func (*VirtualSwitch) DeepCopy

func (in *VirtualSwitch) DeepCopy() *VirtualSwitch

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

func (*VirtualSwitch) DeepCopyInto

func (in *VirtualSwitch) DeepCopyInto(out *VirtualSwitch)

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

func (*VirtualSwitch) DeepCopyObject

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

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

func (*VirtualSwitch) SetupWebhookWithManager

func (r *VirtualSwitch) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VirtualSwitch) ValidateCreate

func (r *VirtualSwitch) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*VirtualSwitch) ValidateDelete

func (r *VirtualSwitch) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*VirtualSwitch) ValidateUpdate

func (r *VirtualSwitch) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type VirtualSwitchList

type VirtualSwitchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of VirtualSwitch CRD objects
	Items []VirtualSwitch `json:"items,omitempty"`
}

VirtualSwitchList is a list of VirtualSwitchs

func (*VirtualSwitchList) DeepCopy

func (in *VirtualSwitchList) DeepCopy() *VirtualSwitchList

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

func (*VirtualSwitchList) DeepCopyInto

func (in *VirtualSwitchList) DeepCopyInto(out *VirtualSwitchList)

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

func (*VirtualSwitchList) DeepCopyObject

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

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

type VirtualSwitchSpec

type VirtualSwitchSpec struct {
	State *VirtualSwitchSpecResource `json:"state,omitempty" tf:"-"`

	Resource VirtualSwitchSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*VirtualSwitchSpec) DeepCopy

func (in *VirtualSwitchSpec) DeepCopy() *VirtualSwitchSpec

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

func (*VirtualSwitchSpec) DeepCopyInto

func (in *VirtualSwitchSpec) DeepCopyInto(out *VirtualSwitchSpec)

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

type VirtualSwitchSpecHost

type VirtualSwitchSpecHost struct {
	// Name of the physical NIC to be added to the proxy switch.
	// +optional
	Devices []string `json:"devices,omitempty" tf:"devices"`
	// The managed object ID of the host this specification applies to.
	HostSystemID *string `json:"hostSystemID" tf:"host_system_id"`
}

func (*VirtualSwitchSpecHost) DeepCopy

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

func (*VirtualSwitchSpecHost) DeepCopyInto

func (in *VirtualSwitchSpecHost) DeepCopyInto(out *VirtualSwitchSpecHost)

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

type VirtualSwitchSpecPvlanMapping

type VirtualSwitchSpecPvlanMapping struct {
	// The primary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	PrimaryVLANID *int64 `json:"primaryVLANID" tf:"primary_vlan_id"`
	// The private VLAN type. Valid values are promiscuous, community and isolated.
	PvlanType *string `json:"pvlanType" tf:"pvlan_type"`
	// The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property.
	SecondaryVLANID *int64 `json:"secondaryVLANID" tf:"secondary_vlan_id"`
}

func (*VirtualSwitchSpecPvlanMapping) DeepCopy

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

func (*VirtualSwitchSpecPvlanMapping) DeepCopyInto

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

type VirtualSwitchSpecResource

type VirtualSwitchSpecResource struct {
	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// List of active uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +optional
	ActiveUplinks []string `json:"activeUplinks,omitempty" tf:"active_uplinks"`
	// Controls whether or not the virtual network adapter is allowed to send network traffic with a different MAC address than that of its own.
	// +optional
	AllowForgedTransmits *bool `json:"allowForgedTransmits,omitempty" tf:"allow_forged_transmits"`
	// Controls whether or not the Media Access Control (MAC) address can be changed.
	// +optional
	AllowMACChanges *bool `json:"allowMACChanges,omitempty" tf:"allow_mac_changes"`
	// Enable promiscuous mode on the network. This flag indicates whether or not all traffic is seen on a given port.
	// +optional
	AllowPromiscuous *bool `json:"allowPromiscuous,omitempty" tf:"allow_promiscuous"`
	// The maximum allowed usage for the backupNfc traffic class, in Mbits/sec.
	// +optional
	BackupnfcMaximumMbit *int64 `json:"backupnfcMaximumMbit,omitempty" tf:"backupnfc_maximum_mbit"`
	// The amount of guaranteed bandwidth for the backupNfc traffic class, in Mbits/sec.
	// +optional
	BackupnfcReservationMbit *int64 `json:"backupnfcReservationMbit,omitempty" tf:"backupnfc_reservation_mbit"`
	// The amount of shares to allocate to the backupNfc traffic class for a custom share level.
	// +optional
	BackupnfcShareCount *int64 `json:"backupnfcShareCount,omitempty" tf:"backupnfc_share_count"`
	// The allocation level for the backupNfc traffic class. Can be one of high, low, normal, or custom.
	// +optional
	BackupnfcShareLevel *string `json:"backupnfcShareLevel,omitempty" tf:"backupnfc_share_level"`
	// Indicates whether to block all ports by default.
	// +optional
	BlockAllPorts *bool `json:"blockAllPorts,omitempty" tf:"block_all_ports"`
	// Enable beacon probing on the ports this policy applies to.
	// +optional
	CheckBeacon *bool `json:"checkBeacon,omitempty" tf:"check_beacon"`
	// The version string of the configuration that this spec is trying to change.
	// +optional
	ConfigVersion *string `json:"configVersion,omitempty" tf:"config_version"`
	// The contact detail for this DVS.
	// +optional
	ContactDetail *string `json:"contactDetail,omitempty" tf:"contact_detail"`
	// The contact name for this DVS.
	// +optional
	ContactName *string `json:"contactName,omitempty" tf:"contact_name"`
	// A list of custom attributes to set on this resource.
	// +optional
	CustomAttributes *map[string]string `json:"customAttributes,omitempty" tf:"custom_attributes"`
	// The ID of the datacenter to create this virtual switch in.
	DatacenterID *string `json:"datacenterID" tf:"datacenter_id"`
	// The description of the DVS.
	// +optional
	Description *string `json:"description,omitempty" tf:"description"`
	// Allow VMDirectPath Gen2 on the ports this policy applies to.
	// +optional
	DirectpathGen2Allowed *bool `json:"directpathGen2Allowed,omitempty" tf:"directpath_gen2_allowed"`
	// The average egress bandwidth in bits per second if egress shaping is enabled on the port.
	// +optional
	EgressShapingAverageBandwidth *int64 `json:"egressShapingAverageBandwidth,omitempty" tf:"egress_shaping_average_bandwidth"`
	// The maximum egress burst size allowed in bytes if egress shaping is enabled on the port.
	// +optional
	EgressShapingBurstSize *int64 `json:"egressShapingBurstSize,omitempty" tf:"egress_shaping_burst_size"`
	// True if the traffic shaper is enabled for egress traffic on the port.
	// +optional
	EgressShapingEnabled *bool `json:"egressShapingEnabled,omitempty" tf:"egress_shaping_enabled"`
	// The peak egress bandwidth during bursts in bits per second if egress traffic shaping is enabled on the port.
	// +optional
	EgressShapingPeakBandwidth *int64 `json:"egressShapingPeakBandwidth,omitempty" tf:"egress_shaping_peak_bandwidth"`
	// If true, the teaming policy will re-activate failed interfaces higher in precedence when they come back up.
	// +optional
	Failback *bool `json:"failback,omitempty" tf:"failback"`
	// The maximum allowed usage for the faultTolerance traffic class, in Mbits/sec.
	// +optional
	FaulttoleranceMaximumMbit *int64 `json:"faulttoleranceMaximumMbit,omitempty" tf:"faulttolerance_maximum_mbit"`
	// The amount of guaranteed bandwidth for the faultTolerance traffic class, in Mbits/sec.
	// +optional
	FaulttoleranceReservationMbit *int64 `json:"faulttoleranceReservationMbit,omitempty" tf:"faulttolerance_reservation_mbit"`
	// The amount of shares to allocate to the faultTolerance traffic class for a custom share level.
	// +optional
	FaulttoleranceShareCount *int64 `json:"faulttoleranceShareCount,omitempty" tf:"faulttolerance_share_count"`
	// The allocation level for the faultTolerance traffic class. Can be one of high, low, normal, or custom.
	// +optional
	FaulttoleranceShareLevel *string `json:"faulttoleranceShareLevel,omitempty" tf:"faulttolerance_share_level"`
	// The folder to create this virtual switch in, relative to the datacenter.
	// +optional
	Folder *string `json:"folder,omitempty" tf:"folder"`
	// The maximum allowed usage for the hbr traffic class, in Mbits/sec.
	// +optional
	HbrMaximumMbit *int64 `json:"hbrMaximumMbit,omitempty" tf:"hbr_maximum_mbit"`
	// The amount of guaranteed bandwidth for the hbr traffic class, in Mbits/sec.
	// +optional
	HbrReservationMbit *int64 `json:"hbrReservationMbit,omitempty" tf:"hbr_reservation_mbit"`
	// The amount of shares to allocate to the hbr traffic class for a custom share level.
	// +optional
	HbrShareCount *int64 `json:"hbrShareCount,omitempty" tf:"hbr_share_count"`
	// The allocation level for the hbr traffic class. Can be one of high, low, normal, or custom.
	// +optional
	HbrShareLevel *string `json:"hbrShareLevel,omitempty" tf:"hbr_share_level"`
	// A host member specification.
	// +optional
	Host []VirtualSwitchSpecHost `json:"host,omitempty" tf:"host"`
	// Whether to ignore existing PVLAN mappings not managed by this resource. Defaults to false.
	// +optional
	IgnoreOtherPvlanMappings *bool `json:"ignoreOtherPvlanMappings,omitempty" tf:"ignore_other_pvlan_mappings"`
	// The average ingress bandwidth in bits per second if ingress shaping is enabled on the port.
	// +optional
	IngressShapingAverageBandwidth *int64 `json:"ingressShapingAverageBandwidth,omitempty" tf:"ingress_shaping_average_bandwidth"`
	// The maximum ingress burst size allowed in bytes if ingress shaping is enabled on the port.
	// +optional
	IngressShapingBurstSize *int64 `json:"ingressShapingBurstSize,omitempty" tf:"ingress_shaping_burst_size"`
	// True if the traffic shaper is enabled for ingress traffic on the port.
	// +optional
	IngressShapingEnabled *bool `json:"ingressShapingEnabled,omitempty" tf:"ingress_shaping_enabled"`
	// The peak ingress bandwidth during bursts in bits per second if ingress traffic shaping is enabled on the port.
	// +optional
	IngressShapingPeakBandwidth *int64 `json:"ingressShapingPeakBandwidth,omitempty" tf:"ingress_shaping_peak_bandwidth"`
	// The IPv4 address of the switch. This can be used to see the DVS as a unique device with NetFlow.
	// +optional
	Ipv4Address *string `json:"ipv4Address,omitempty" tf:"ipv4_address"`
	// The maximum allowed usage for the iSCSI traffic class, in Mbits/sec.
	// +optional
	IscsiMaximumMbit *int64 `json:"iscsiMaximumMbit,omitempty" tf:"iscsi_maximum_mbit"`
	// The amount of guaranteed bandwidth for the iSCSI traffic class, in Mbits/sec.
	// +optional
	IscsiReservationMbit *int64 `json:"iscsiReservationMbit,omitempty" tf:"iscsi_reservation_mbit"`
	// The amount of shares to allocate to the iSCSI traffic class for a custom share level.
	// +optional
	IscsiShareCount *int64 `json:"iscsiShareCount,omitempty" tf:"iscsi_share_count"`
	// The allocation level for the iSCSI traffic class. Can be one of high, low, normal, or custom.
	// +optional
	IscsiShareLevel *string `json:"iscsiShareLevel,omitempty" tf:"iscsi_share_level"`
	// The Link Aggregation Control Protocol group version in the switch. Can be one of singleLag or multipleLag.
	// +optional
	LacpAPIVersion *string `json:"lacpAPIVersion,omitempty" tf:"lacp_api_version"`
	// Whether or not to enable LACP on all uplink ports.
	// +optional
	LacpEnabled *bool `json:"lacpEnabled,omitempty" tf:"lacp_enabled"`
	// The uplink LACP mode to use. Can be one of active or passive.
	// +optional
	LacpMode *string `json:"lacpMode,omitempty" tf:"lacp_mode"`
	// Whether to advertise or listen for link discovery. Valid values are advertise, both, listen, and none.
	// +optional
	LinkDiscoveryOperation *string `json:"linkDiscoveryOperation,omitempty" tf:"link_discovery_operation"`
	// The discovery protocol type. Valid values are cdp and lldp.
	// +optional
	LinkDiscoveryProtocol *string `json:"linkDiscoveryProtocol,omitempty" tf:"link_discovery_protocol"`
	// The maximum allowed usage for the management traffic class, in Mbits/sec.
	// +optional
	ManagementMaximumMbit *int64 `json:"managementMaximumMbit,omitempty" tf:"management_maximum_mbit"`
	// The amount of guaranteed bandwidth for the management traffic class, in Mbits/sec.
	// +optional
	ManagementReservationMbit *int64 `json:"managementReservationMbit,omitempty" tf:"management_reservation_mbit"`
	// The amount of shares to allocate to the management traffic class for a custom share level.
	// +optional
	ManagementShareCount *int64 `json:"managementShareCount,omitempty" tf:"management_share_count"`
	// The allocation level for the management traffic class. Can be one of high, low, normal, or custom.
	// +optional
	ManagementShareLevel *string `json:"managementShareLevel,omitempty" tf:"management_share_level"`
	// The maximum MTU on the switch.
	// +optional
	MaxMTU *int64 `json:"maxMTU,omitempty" tf:"max_mtu"`
	// The multicast filtering mode on the switch. Can be one of legacyFiltering, or snooping.
	// +optional
	MulticastFilteringMode *string `json:"multicastFilteringMode,omitempty" tf:"multicast_filtering_mode"`
	// The name for the DVS. Must be unique in the folder that it is being created in.
	Name *string `json:"name" tf:"name"`
	// The number of seconds after which active flows are forced to be exported to the collector.
	// +optional
	NetflowActiveFlowTimeout *int64 `json:"netflowActiveFlowTimeout,omitempty" tf:"netflow_active_flow_timeout"`
	// IP address for the netflow collector, using IPv4 or IPv6. IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
	// +optional
	NetflowCollectorIPAddress *string `json:"netflowCollectorIPAddress,omitempty" tf:"netflow_collector_ip_address"`
	// The port for the netflow collector.
	// +optional
	NetflowCollectorPort *int64 `json:"netflowCollectorPort,omitempty" tf:"netflow_collector_port"`
	// Indicates whether to enable netflow on all ports.
	// +optional
	NetflowEnabled *bool `json:"netflowEnabled,omitempty" tf:"netflow_enabled"`
	// The number of seconds after which idle flows are forced to be exported to the collector.
	// +optional
	NetflowIdleFlowTimeout *int64 `json:"netflowIdleFlowTimeout,omitempty" tf:"netflow_idle_flow_timeout"`
	// Whether to limit analysis to traffic that has both source and destination served by the same host.
	// +optional
	NetflowInternalFlowsOnly *bool `json:"netflowInternalFlowsOnly,omitempty" tf:"netflow_internal_flows_only"`
	// The observation Domain ID for the netflow collector.
	// +optional
	NetflowObservationDomainID *int64 `json:"netflowObservationDomainID,omitempty" tf:"netflow_observation_domain_id"`
	// 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.
	// +optional
	NetflowSamplingRate *int64 `json:"netflowSamplingRate,omitempty" tf:"netflow_sampling_rate"`
	// Whether or not to enable network resource control, enabling advanced traffic shaping and resource control features.
	// +optional
	NetworkResourceControlEnabled *bool `json:"networkResourceControlEnabled,omitempty" tf:"network_resource_control_enabled"`
	// The network I/O control version to use. Can be one of version2 or version3.
	// +optional
	NetworkResourceControlVersion *string `json:"networkResourceControlVersion,omitempty" tf:"network_resource_control_version"`
	// The maximum allowed usage for the nfs traffic class, in Mbits/sec.
	// +optional
	NfsMaximumMbit *int64 `json:"nfsMaximumMbit,omitempty" tf:"nfs_maximum_mbit"`
	// The amount of guaranteed bandwidth for the nfs traffic class, in Mbits/sec.
	// +optional
	NfsReservationMbit *int64 `json:"nfsReservationMbit,omitempty" tf:"nfs_reservation_mbit"`
	// The amount of shares to allocate to the nfs traffic class for a custom share level.
	// +optional
	NfsShareCount *int64 `json:"nfsShareCount,omitempty" tf:"nfs_share_count"`
	// The allocation level for the nfs traffic class. Can be one of high, low, normal, or custom.
	// +optional
	NfsShareLevel *string `json:"nfsShareLevel,omitempty" tf:"nfs_share_level"`
	// If true, the teaming policy will notify the broadcast network of a NIC failover, triggering cache updates.
	// +optional
	NotifySwitches *bool `json:"notifySwitches,omitempty" tf:"notify_switches"`
	// The secondary VLAN ID for this port.
	// +optional
	PortPrivateSecondaryVLANID *int64 `json:"portPrivateSecondaryVLANID,omitempty" tf:"port_private_secondary_vlan_id"`
	// A private VLAN (PVLAN) mapping.
	// +optional
	PvlanMapping []VirtualSwitchSpecPvlanMapping `json:"pvlanMapping,omitempty" tf:"pvlan_mapping"`
	// List of standby uplinks used for load balancing, matching the names of the uplinks assigned in the DVS.
	// +optional
	StandbyUplinks []string `json:"standbyUplinks,omitempty" tf:"standby_uplinks"`
	// A list of tag IDs to apply to this object.
	// +optional
	Tags []string `json:"tags,omitempty" tf:"tags"`
	// The network adapter teaming policy. Can be one of loadbalance_ip, loadbalance_srcmac, loadbalance_srcid, failover_explicit, or loadbalance_loadbased.
	// +optional
	TeamingPolicy *string `json:"teamingPolicy,omitempty" tf:"teaming_policy"`
	// 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.
	// +optional
	TxUplink *bool `json:"txUplink,omitempty" tf:"tx_uplink"`
	// 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.
	// +optional
	Uplinks []string `json:"uplinks,omitempty" tf:"uplinks"`
	// The maximum allowed usage for the vdp traffic class, in Mbits/sec.
	// +optional
	VdpMaximumMbit *int64 `json:"vdpMaximumMbit,omitempty" tf:"vdp_maximum_mbit"`
	// The amount of guaranteed bandwidth for the vdp traffic class, in Mbits/sec.
	// +optional
	VdpReservationMbit *int64 `json:"vdpReservationMbit,omitempty" tf:"vdp_reservation_mbit"`
	// The amount of shares to allocate to the vdp traffic class for a custom share level.
	// +optional
	VdpShareCount *int64 `json:"vdpShareCount,omitempty" tf:"vdp_share_count"`
	// The allocation level for the vdp traffic class. Can be one of high, low, normal, or custom.
	// +optional
	VdpShareLevel *string `json:"vdpShareLevel,omitempty" tf:"vdp_share_level"`
	// The version of this virtual switch. Allowed versions are 7.0.3, 7.0.0, 6.6.0, 6.5.0, 6.0.0, 5.5.0, 5.1.0, and 5.0.0.
	// +optional
	Version *string `json:"version,omitempty" tf:"version"`
	// The maximum allowed usage for the virtualMachine traffic class, in Mbits/sec.
	// +optional
	VirtualmachineMaximumMbit *int64 `json:"virtualmachineMaximumMbit,omitempty" tf:"virtualmachine_maximum_mbit"`
	// The amount of guaranteed bandwidth for the virtualMachine traffic class, in Mbits/sec.
	// +optional
	VirtualmachineReservationMbit *int64 `json:"virtualmachineReservationMbit,omitempty" tf:"virtualmachine_reservation_mbit"`
	// The amount of shares to allocate to the virtualMachine traffic class for a custom share level.
	// +optional
	VirtualmachineShareCount *int64 `json:"virtualmachineShareCount,omitempty" tf:"virtualmachine_share_count"`
	// The allocation level for the virtualMachine traffic class. Can be one of high, low, normal, or custom.
	// +optional
	VirtualmachineShareLevel *string `json:"virtualmachineShareLevel,omitempty" tf:"virtualmachine_share_level"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +optional
	VlanID *int64 `json:"vlanID,omitempty" tf:"vlan_id"`
	// The VLAN ID for single VLAN mode. 0 denotes no VLAN.
	// +optional
	VlanRange []VirtualSwitchSpecVlanRange `json:"vlanRange,omitempty" tf:"vlan_range"`
	// The maximum allowed usage for the vmotion traffic class, in Mbits/sec.
	// +optional
	VmotionMaximumMbit *int64 `json:"vmotionMaximumMbit,omitempty" tf:"vmotion_maximum_mbit"`
	// The amount of guaranteed bandwidth for the vmotion traffic class, in Mbits/sec.
	// +optional
	VmotionReservationMbit *int64 `json:"vmotionReservationMbit,omitempty" tf:"vmotion_reservation_mbit"`
	// The amount of shares to allocate to the vmotion traffic class for a custom share level.
	// +optional
	VmotionShareCount *int64 `json:"vmotionShareCount,omitempty" tf:"vmotion_share_count"`
	// The allocation level for the vmotion traffic class. Can be one of high, low, normal, or custom.
	// +optional
	VmotionShareLevel *string `json:"vmotionShareLevel,omitempty" tf:"vmotion_share_level"`
	// The maximum allowed usage for the vsan traffic class, in Mbits/sec.
	// +optional
	VsanMaximumMbit *int64 `json:"vsanMaximumMbit,omitempty" tf:"vsan_maximum_mbit"`
	// The amount of guaranteed bandwidth for the vsan traffic class, in Mbits/sec.
	// +optional
	VsanReservationMbit *int64 `json:"vsanReservationMbit,omitempty" tf:"vsan_reservation_mbit"`
	// The amount of shares to allocate to the vsan traffic class for a custom share level.
	// +optional
	VsanShareCount *int64 `json:"vsanShareCount,omitempty" tf:"vsan_share_count"`
	// The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom.
	// +optional
	VsanShareLevel *string `json:"vsanShareLevel,omitempty" tf:"vsan_share_level"`
}

func (*VirtualSwitchSpecResource) DeepCopy

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

func (*VirtualSwitchSpecResource) DeepCopyInto

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

type VirtualSwitchSpecVlanRange

type VirtualSwitchSpecVlanRange struct {
	// The minimum VLAN to use in the range.
	MaxVLAN *int64 `json:"maxVLAN" tf:"max_vlan"`
	// The minimum VLAN to use in the range.
	MinVLAN *int64 `json:"minVLAN" tf:"min_vlan"`
}

func (*VirtualSwitchSpecVlanRange) DeepCopy

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

func (*VirtualSwitchSpecVlanRange) DeepCopyInto

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

type VirtualSwitchStatus

type VirtualSwitchStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*VirtualSwitchStatus) DeepCopy

func (in *VirtualSwitchStatus) DeepCopy() *VirtualSwitchStatus

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

func (*VirtualSwitchStatus) DeepCopyInto

func (in *VirtualSwitchStatus) DeepCopyInto(out *VirtualSwitchStatus)

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