v1alpha1

package
v0.0.0-...-6fe2522 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=datastorecluster.vsphere.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "datastorecluster.vsphere.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Cluster_Kind             = "Cluster"
	Cluster_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String()
	Cluster_KindAPIVersion   = Cluster_Kind + "." + CRDGroupVersion.String()
	Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind)
)

Repository type metadata.

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
)

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ClusterSpec   `json:"spec"`
	Status            ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the Clusters API. Provides a vSphere datastore cluster resource. This can be used to create and manage datastore clusters. +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 (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetCondition

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

GetCondition of this Cluster.

func (*Cluster) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Cluster

func (*Cluster) GetDeletionPolicy

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

GetDeletionPolicy of this Cluster.

func (*Cluster) GetID

func (tr *Cluster) GetID() string

GetID returns ID of underlying Terraform resource of this Cluster

func (*Cluster) GetObservation

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

GetObservation of this Cluster

func (*Cluster) GetParameters

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

GetParameters of this Cluster

func (*Cluster) GetProviderConfigReference

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

GetProviderConfigReference of this Cluster.

func (*Cluster) GetProviderReference

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

GetProviderReference of this Cluster. Deprecated: Use GetProviderConfigReference.

func (*Cluster) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetTerraformResourceType

func (mg *Cluster) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Cluster

func (*Cluster) GetTerraformSchemaVersion

func (tr *Cluster) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Cluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Cluster.

func (*Cluster) LateInitialize

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

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

func (*Cluster) SetConditions

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

SetConditions of this Cluster.

func (*Cluster) SetDeletionPolicy

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

SetDeletionPolicy of this Cluster.

func (*Cluster) SetObservation

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

SetObservation for this Cluster

func (*Cluster) SetParameters

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

SetParameters for this Cluster

func (*Cluster) SetProviderConfigReference

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

SetProviderConfigReference of this Cluster.

func (*Cluster) SetProviderReference

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

SetProviderReference of this Cluster. Deprecated: Use SetProviderConfigReference.

func (*Cluster) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Cluster.

type ClusterList

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

ClusterList contains a list of Clusters

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (*ClusterList) GetItems

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

GetItems of this ClusterList.

type ClusterObservation

type ClusterObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`
}

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {

	// A map of custom attribute ids to attribute
	// value strings to set for the datastore cluster. See
	// here for a reference on how to set values
	// for custom attributes.
	// 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 managed object ID of
	// the datacenter to create the datastore cluster in. Forces a new resource if
	// changed.
	// The managed object ID of the datacenter to put the datastore cluster in.
	// +kubebuilder:validation:Required
	DatacenterID *string `json:"datacenterId" tf:"datacenter_id,omitempty"`

	// The relative path to a folder to put this datastore
	// cluster in.  This is a path relative to the datacenter you are deploying the
	// datastore to.
	// The name of the folder to locate the datastore cluster in.
	// +kubebuilder:validation:Optional
	Folder *string `json:"folder,omitempty" tf:"folder,omitempty"`

	// Advanced configuration options for storage DRS.
	// +kubebuilder:validation:Optional
	SdrsAdvancedOptions map[string]*string `json:"sdrsAdvancedOptions,omitempty" tf:"sdrs_advanced_options,omitempty"`

	// The global automation level for all
	// virtual machines in this datastore cluster. Default: manual.
	// The default automation level for all virtual machines in this storage cluster.
	// +kubebuilder:validation:Optional
	SdrsAutomationLevel *string `json:"sdrsAutomationLevel,omitempty" tf:"sdrs_automation_level,omitempty"`

	// When true, all disks in a
	// single virtual machine will be kept on the same datastore. Default: true.
	// When true, storage DRS keeps VMDKs for individual VMs on the same datastore by default.
	// +kubebuilder:validation:Optional
	SdrsDefaultIntraVMAffinity *bool `json:"sdrsDefaultIntraVmAffinity,omitempty" tf:"sdrs_default_intra_vm_affinity,omitempty"`

	// Enable Storage DRS for this datastore cluster.
	// Default: false.
	// Enable storage DRS for this datastore cluster.
	// +kubebuilder:validation:Optional
	SdrsEnabled *bool `json:"sdrsEnabled,omitempty" tf:"sdrs_enabled,omitempty"`

	// The threshold, in GB, that storage
	// DRS uses to make decisions to migrate VMs out of a datastore. Default: 50
	// GB.
	// The threshold, in GB, that storage DRS uses to make decisions to migrate VMs out of a datastore.
	// +kubebuilder:validation:Optional
	SdrsFreeSpaceThreshold *float64 `json:"sdrsFreeSpaceThreshold,omitempty" tf:"sdrs_free_space_threshold,omitempty"`

	// The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used.
	// +kubebuilder:validation:Optional
	SdrsFreeSpaceThresholdMode *string `json:"sdrsFreeSpaceThresholdMode,omitempty" tf:"sdrs_free_space_threshold_mode,omitempty"`

	// The threshold, in
	// percent of used space, that storage DRS uses to make decisions to migrate VMs
	// out of a datastore. Default: 80 percent.
	// The threshold, in percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space.
	// +kubebuilder:validation:Optional
	SdrsFreeSpaceUtilizationDifference *float64 `json:"sdrsFreeSpaceUtilizationDifference,omitempty" tf:"sdrs_free_space_utilization_difference,omitempty"`

	// Overrides the default
	// automation settings when correcting I/O load imbalances.
	// Overrides the default automation settings when correcting I/O load imbalances.
	// +kubebuilder:validation:Optional
	SdrsIoBalanceAutomationLevel *string `json:"sdrsIoBalanceAutomationLevel,omitempty" tf:"sdrs_io_balance_automation_level,omitempty"`

	// The I/O latency threshold, in
	// milliseconds, that storage DRS uses to make recommendations to move disks
	// from this datastore. Default: 15 seconds.
	// The I/O latency threshold, in milliseconds, that storage DRS uses to make recommendations to move disks from this datastore.
	// +kubebuilder:validation:Optional
	SdrsIoLatencyThreshold *float64 `json:"sdrsIoLatencyThreshold,omitempty" tf:"sdrs_io_latency_threshold,omitempty"`

	// Enable I/O load balancing for
	// this datastore cluster. Default: true.
	// Enable I/O load balancing for this datastore cluster.
	// +kubebuilder:validation:Optional
	SdrsIoLoadBalanceEnabled *bool `json:"sdrsIoLoadBalanceEnabled,omitempty" tf:"sdrs_io_load_balance_enabled,omitempty"`

	// The difference between load
	// in datastores in the cluster before storage DRS makes recommendations to
	// balance the load. Default: 5 percent.
	// The difference between load in datastores in the cluster before storage DRS makes recommendations to balance the load.
	// +kubebuilder:validation:Optional
	SdrsIoLoadImbalanceThreshold *float64 `json:"sdrsIoLoadImbalanceThreshold,omitempty" tf:"sdrs_io_load_imbalance_threshold,omitempty"`

	// The threshold of reservable
	// IOPS of all virtual machines on the datastore before storage DRS makes
	// recommendations to move VMs off of a datastore. Note that this setting should
	// only be set if sdrs_io_reservable_percent_threshold cannot make an accurate
	// estimate of the capacity of the datastores in your cluster, and should be set
	// to roughly 50-60% of the worst case peak performance of the backing LUNs.
	// The threshold of reservable IOPS of all virtual machines on the datastore before storage DRS makes recommendations to move VMs off of a datastore.
	// +kubebuilder:validation:Optional
	SdrsIoReservableIopsThreshold *float64 `json:"sdrsIoReservableIopsThreshold,omitempty" tf:"sdrs_io_reservable_iops_threshold,omitempty"`

	// The threshold, in
	// percent, of actual estimated performance of the datastore (in IOPS) that
	// storage DRS uses to make recommendations to move VMs off of a datastore when
	// the total reservable IOPS exceeds the threshold. Default: 60 percent.
	// The threshold, in percent, of actual estimated performance of the datastore (in IOPS) that storage DRS uses to make recommendations to move VMs off of a datastore when the total reservable IOPS exceeds the threshold.
	// +kubebuilder:validation:Optional
	SdrsIoReservablePercentThreshold *float64 `json:"sdrsIoReservablePercentThreshold,omitempty" tf:"sdrs_io_reservable_percent_threshold,omitempty"`

	// The reservable IOPS
	// threshold setting to use, sdrs_io_reservable_percent_threshold in the event
	// of automatic, or sdrs_io_reservable_iops_threshold in the event of
	// manual. Default: automatic.
	// The reservable IOPS threshold to use, percent in the event of automatic, or manual threshold in the event of manual.
	// +kubebuilder:validation:Optional
	SdrsIoReservableThresholdMode *string `json:"sdrsIoReservableThresholdMode,omitempty" tf:"sdrs_io_reservable_threshold_mode,omitempty"`

	// The storage DRS poll interval, in
	// minutes. Default: 480 minutes.
	// The storage DRS poll interval, in minutes.
	// +kubebuilder:validation:Optional
	SdrsLoadBalanceInterval *float64 `json:"sdrsLoadBalanceInterval,omitempty" tf:"sdrs_load_balance_interval,omitempty"`

	// Overrides the default
	// automation settings when correcting storage and VM policy violations.
	// Overrides the default automation settings when correcting storage and VM policy violations.
	// +kubebuilder:validation:Optional
	SdrsPolicyEnforcementAutomationLevel *string `json:"sdrsPolicyEnforcementAutomationLevel,omitempty" tf:"sdrs_policy_enforcement_automation_level,omitempty"`

	// Overrides the default
	// automation settings when correcting affinity rule violations.
	// Overrides the default automation settings when correcting affinity rule violations.
	// +kubebuilder:validation:Optional
	SdrsRuleEnforcementAutomationLevel *string `json:"sdrsRuleEnforcementAutomationLevel,omitempty" tf:"sdrs_rule_enforcement_automation_level,omitempty"`

	// Overrides the default
	// automation settings when correcting disk space imbalances.
	// Overrides the default automation settings when correcting disk space imbalances.
	// +kubebuilder:validation:Optional
	SdrsSpaceBalanceAutomationLevel *string `json:"sdrsSpaceBalanceAutomationLevel,omitempty" tf:"sdrs_space_balance_automation_level,omitempty"`

	// Runtime thresholds govern
	// when Storage DRS performs or recommends migrations
	// (based on the selected automation level). Default: 80 percent.
	// The threshold, in percent of used space, that storage DRS uses to make decisions to migrate VMs out of a datastore.
	// +kubebuilder:validation:Optional
	SdrsSpaceUtilizationThreshold *float64 `json:"sdrsSpaceUtilizationThreshold,omitempty" tf:"sdrs_space_utilization_threshold,omitempty"`

	// Overrides the default
	// automation settings when generating recommendations for datastore evacuation.
	// Overrides the default automation settings when generating recommendations for datastore evacuation.
	// +kubebuilder:validation:Optional
	SdrsVMEvacuationAutomationLevel *string `json:"sdrsVmEvacuationAutomationLevel,omitempty" tf:"sdrs_vm_evacuation_automation_level,omitempty"`

	// The IDs of any tags to attach to this resource. See
	// here for a reference on how to apply tags.
	// A list of tag IDs to apply to this object.
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

type ClusterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ClusterParameters `json:"forProvider"`
}

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

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

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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