Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=datastorecluster.vsphere.upbound.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (tr *Cluster) GetConnectionDetailsMapping() map[string]string
- func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy
- func (tr *Cluster) GetID() string
- func (tr *Cluster) GetObservation() (map[string]any, error)
- func (tr *Cluster) GetParameters() (map[string]any, error)
- func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference
- func (mg *Cluster) GetProviderReference() *xpv1.Reference
- func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Cluster) GetTerraformResourceType() string
- func (tr *Cluster) GetTerraformSchemaVersion() int
- func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (tr *Cluster) LateInitialize(attrs []byte) (bool, error)
- func (mg *Cluster) SetConditions(c ...xpv1.Condition)
- func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (tr *Cluster) SetObservation(obs map[string]any) error
- func (tr *Cluster) SetParameters(params map[string]any) error
- func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Cluster) SetProviderReference(r *xpv1.Reference)
- func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type ClusterList
- type ClusterObservation
- type ClusterParameters
- type ClusterSpec
- type ClusterStatus
Constants ¶
const ( CRDGroup = "datastorecluster.vsphere.upbound.io" CRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
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.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
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 ¶
GetConnectionDetailsMapping for this Cluster
func (*Cluster) GetDeletionPolicy ¶
func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Cluster.
func (*Cluster) GetObservation ¶
GetObservation of this Cluster
func (*Cluster) GetParameters ¶
GetParameters of this Cluster
func (*Cluster) GetProviderConfigReference ¶
GetProviderConfigReference of this Cluster.
func (*Cluster) GetProviderReference ¶
GetProviderReference of this Cluster. Deprecated: Use GetProviderConfigReference.
func (*Cluster) GetPublishConnectionDetailsTo ¶
func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Cluster.
func (*Cluster) GetTerraformResourceType ¶
GetTerraformResourceType returns Terraform resource type for this Cluster
func (*Cluster) GetTerraformSchemaVersion ¶
GetTerraformSchemaVersion returns the associated Terraform schema version
func (*Cluster) GetWriteConnectionSecretToReference ¶
func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Cluster.
func (*Cluster) LateInitialize ¶
LateInitialize this Cluster using its observed tfState. returns True if there are any spec changes for the resource.
func (*Cluster) SetConditions ¶
SetConditions of this Cluster.
func (*Cluster) SetDeletionPolicy ¶
func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Cluster.
func (*Cluster) SetObservation ¶
SetObservation for this Cluster
func (*Cluster) SetParameters ¶
SetParameters for this Cluster
func (*Cluster) SetProviderConfigReference ¶
SetProviderConfigReference of this Cluster.
func (*Cluster) SetProviderReference ¶
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.