v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=oceanaks.spot.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "oceanaks.spot.upbound.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 (
	OceanAks_Kind             = "OceanAks"
	OceanAks_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: OceanAks_Kind}.String()
	OceanAks_KindAPIVersion   = OceanAks_Kind + "." + CRDGroupVersion.String()
	OceanAks_GroupVersionKind = CRDGroupVersion.WithKind(OceanAks_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AutomaticObservation

type AutomaticObservation struct {

	// Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*AutomaticObservation) DeepCopy

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

func (*AutomaticObservation) DeepCopyInto

func (in *AutomaticObservation) DeepCopyInto(out *AutomaticObservation)

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

type AutomaticParameters

type AutomaticParameters struct {

	// Optionally set a number between 0-100 to control the percentage of total cluster resources dedicated to headroom.
	// +kubebuilder:validation:Optional
	Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"`
}

func (*AutomaticParameters) DeepCopy

func (in *AutomaticParameters) DeepCopy() *AutomaticParameters

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

func (*AutomaticParameters) DeepCopyInto

func (in *AutomaticParameters) DeepCopyInto(out *AutomaticParameters)

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

type AutoscaleDownObservation

type AutoscaleDownObservation struct {

	// The maximum percentage allowed to scale down in a single scaling action.
	MaxScaleDownPercentage *float64 `json:"maxScaleDownPercentage,omitempty" tf:"max_scale_down_percentage,omitempty"`
}

func (*AutoscaleDownObservation) DeepCopy

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

func (*AutoscaleDownObservation) DeepCopyInto

func (in *AutoscaleDownObservation) DeepCopyInto(out *AutoscaleDownObservation)

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

type AutoscaleDownParameters

type AutoscaleDownParameters struct {

	// The maximum percentage allowed to scale down in a single scaling action.
	// +kubebuilder:validation:Optional
	MaxScaleDownPercentage *float64 `json:"maxScaleDownPercentage,omitempty" tf:"max_scale_down_percentage,omitempty"`
}

func (*AutoscaleDownParameters) DeepCopy

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

func (*AutoscaleDownParameters) DeepCopyInto

func (in *AutoscaleDownParameters) DeepCopyInto(out *AutoscaleDownParameters)

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

type AutoscaleHeadroomObservation

type AutoscaleHeadroomObservation struct {

	// Automatic headroom configuration.
	Automatic []AutomaticObservation `json:"automatic,omitempty" tf:"automatic,omitempty"`
}

func (*AutoscaleHeadroomObservation) DeepCopy

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

func (*AutoscaleHeadroomObservation) DeepCopyInto

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

type AutoscaleHeadroomParameters

type AutoscaleHeadroomParameters struct {

	// Automatic headroom configuration.
	// +kubebuilder:validation:Optional
	Automatic []AutomaticParameters `json:"automatic,omitempty" tf:"automatic,omitempty"`
}

func (*AutoscaleHeadroomParameters) DeepCopy

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

func (*AutoscaleHeadroomParameters) DeepCopyInto

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

type AutoscalerObservation

type AutoscalerObservation struct {

	// Auto Scaling scale down operations.
	AutoscaleDown []AutoscaleDownObservation `json:"autoscaleDown,omitempty" tf:"autoscale_down,omitempty"`

	// Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
	AutoscaleHeadroom []AutoscaleHeadroomObservation `json:"autoscaleHeadroom,omitempty" tf:"autoscale_headroom,omitempty"`

	// Enable the Ocean Kubernetes Autoscaler.
	AutoscaleIsEnabled *bool `json:"autoscaleIsEnabled,omitempty" tf:"autoscale_is_enabled,omitempty"`

	// Optionally set upper and lower bounds on the resource usage of the cluster.
	ResourceLimits []ResourceLimitsObservation `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`
}

func (*AutoscalerObservation) DeepCopy

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

func (*AutoscalerObservation) DeepCopyInto

func (in *AutoscalerObservation) DeepCopyInto(out *AutoscalerObservation)

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

type AutoscalerParameters

type AutoscalerParameters struct {

	// Auto Scaling scale down operations.
	// +kubebuilder:validation:Optional
	AutoscaleDown []AutoscaleDownParameters `json:"autoscaleDown,omitempty" tf:"autoscale_down,omitempty"`

	// Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
	// +kubebuilder:validation:Optional
	AutoscaleHeadroom []AutoscaleHeadroomParameters `json:"autoscaleHeadroom,omitempty" tf:"autoscale_headroom,omitempty"`

	// Enable the Ocean Kubernetes Autoscaler.
	// +kubebuilder:validation:Optional
	AutoscaleIsEnabled *bool `json:"autoscaleIsEnabled,omitempty" tf:"autoscale_is_enabled,omitempty"`

	// Optionally set upper and lower bounds on the resource usage of the cluster.
	// +kubebuilder:validation:Optional
	ResourceLimits []ResourceLimitsParameters `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`
}

func (*AutoscalerParameters) DeepCopy

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

func (*AutoscalerParameters) DeepCopyInto

func (in *AutoscalerParameters) DeepCopyInto(out *AutoscalerParameters)

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

type FiltersObservation

type FiltersObservation struct {

	// In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
	AcceleratedNetworking *string `json:"acceleratedNetworking,omitempty" tf:"accelerated_networking,omitempty"`

	// The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
	Architectures []*string `json:"architectures,omitempty" tf:"architectures,omitempty"`

	// The filtered vm sizes will support at least one of the classes from this list.
	DiskPerformance *string `json:"diskPerformance,omitempty" tf:"disk_performance,omitempty"`

	// Vm sizes belonging to a series from the list will not be available for scaling
	ExcludeSeries []*string `json:"excludeSeries,omitempty" tf:"exclude_series,omitempty"`

	// Maximum number of GPUs available.
	MaxGpu *float64 `json:"maxGpu,omitempty" tf:"max_gpu,omitempty"`

	// The maximum memory in GiB units that can be allocated to the cluster.
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// The maximum cpu in vCpu units that can be allocated to the cluster.
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`

	// Minimum number of data disks available.
	MinData *float64 `json:"minData,omitempty" tf:"min_data,omitempty"`

	// Minimum number of GPUs available.
	MinGpu *float64 `json:"minGpu,omitempty" tf:"min_gpu,omitempty"`

	// Minimum amount of Memory (GiB).
	MinMemoryGib *float64 `json:"minMemoryGib,omitempty" tf:"min_memory_gib,omitempty"`

	// Minimum number of network interfaces.
	MinNics *float64 `json:"minNics,omitempty" tf:"min_nics,omitempty"`

	// Minimum number of vcpus available.
	MinVcpu *float64 `json:"minVcpu,omitempty" tf:"min_vcpu,omitempty"`

	// Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' .  For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
	Series []*string `json:"series,omitempty" tf:"series,omitempty"`

	// The filtered vm types will belong to one of the vm types from this list.
	VMTypes []*string `json:"vmTypes,omitempty" tf:"vm_types,omitempty"`
}

func (*FiltersObservation) DeepCopy

func (in *FiltersObservation) DeepCopy() *FiltersObservation

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

func (*FiltersObservation) DeepCopyInto

func (in *FiltersObservation) DeepCopyInto(out *FiltersObservation)

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

type FiltersParameters

type FiltersParameters struct {

	// In case acceleratedNetworking is set to Enabled, accelerated networking applies only to the VM that enables it.
	// +kubebuilder:validation:Optional
	AcceleratedNetworking *string `json:"acceleratedNetworking,omitempty" tf:"accelerated_networking,omitempty"`

	// The filtered vm sizes will support at least one of the architectures from this list. x86_64 includes both intel64 and amd64.
	// +kubebuilder:validation:Optional
	Architectures []*string `json:"architectures,omitempty" tf:"architectures,omitempty"`

	// The filtered vm sizes will support at least one of the classes from this list.
	// +kubebuilder:validation:Optional
	DiskPerformance *string `json:"diskPerformance,omitempty" tf:"disk_performance,omitempty"`

	// Vm sizes belonging to a series from the list will not be available for scaling
	// +kubebuilder:validation:Optional
	ExcludeSeries []*string `json:"excludeSeries,omitempty" tf:"exclude_series,omitempty"`

	// Maximum number of GPUs available.
	// +kubebuilder:validation:Optional
	MaxGpu *float64 `json:"maxGpu,omitempty" tf:"max_gpu,omitempty"`

	// The maximum memory in GiB units that can be allocated to the cluster.
	// +kubebuilder:validation:Optional
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// The maximum cpu in vCpu units that can be allocated to the cluster.
	// +kubebuilder:validation:Optional
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`

	// Minimum number of data disks available.
	// +kubebuilder:validation:Optional
	MinData *float64 `json:"minData,omitempty" tf:"min_data,omitempty"`

	// Minimum number of GPUs available.
	// +kubebuilder:validation:Optional
	MinGpu *float64 `json:"minGpu,omitempty" tf:"min_gpu,omitempty"`

	// Minimum amount of Memory (GiB).
	// +kubebuilder:validation:Optional
	MinMemoryGib *float64 `json:"minMemoryGib,omitempty" tf:"min_memory_gib,omitempty"`

	// Minimum number of network interfaces.
	// +kubebuilder:validation:Optional
	MinNics *float64 `json:"minNics,omitempty" tf:"min_nics,omitempty"`

	// Minimum number of vcpus available.
	// +kubebuilder:validation:Optional
	MinVcpu *float64 `json:"minVcpu,omitempty" tf:"min_vcpu,omitempty"`

	// Vm sizes belonging to a series from the list will be available for scaling. We can specify include list and series can be specified with capital or small letters, with space, without space or with underscore '_' .  For example all of these "DSv2", "Ds v2", "ds_v2" refer to same DS_v2 series.
	// +kubebuilder:validation:Optional
	Series []*string `json:"series,omitempty" tf:"series,omitempty"`

	// The filtered vm types will belong to one of the vm types from this list.
	// +kubebuilder:validation:Optional
	VMTypes []*string `json:"vmTypes,omitempty" tf:"vm_types,omitempty"`
}

func (*FiltersParameters) DeepCopy

func (in *FiltersParameters) DeepCopy() *FiltersParameters

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

func (*FiltersParameters) DeepCopyInto

func (in *FiltersParameters) DeepCopyInto(out *FiltersParameters)

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

type HeadroomsObservation

type HeadroomsObservation struct {

	// Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
	CPUPerUnit *float64 `json:"cpuPerUnit,omitempty" tf:"cpu_per_unit,omitempty"`

	// Amount of GPU to allocate for headroom unit.
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Configure the amount of memory (MiB) to allocate the headroom.
	MemoryPerUnit *float64 `json:"memoryPerUnit,omitempty" tf:"memory_per_unit,omitempty"`

	// The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*HeadroomsObservation) DeepCopy

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

func (*HeadroomsObservation) DeepCopyInto

func (in *HeadroomsObservation) DeepCopyInto(out *HeadroomsObservation)

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

type HeadroomsParameters

type HeadroomsParameters struct {

	// Configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
	// +kubebuilder:validation:Optional
	CPUPerUnit *float64 `json:"cpuPerUnit,omitempty" tf:"cpu_per_unit,omitempty"`

	// Amount of GPU to allocate for headroom unit.
	// +kubebuilder:validation:Optional
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Configure the amount of memory (MiB) to allocate the headroom.
	// +kubebuilder:validation:Optional
	MemoryPerUnit *float64 `json:"memoryPerUnit,omitempty" tf:"memory_per_unit,omitempty"`

	// The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
	// +kubebuilder:validation:Optional
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*HeadroomsParameters) DeepCopy

func (in *HeadroomsParameters) DeepCopy() *HeadroomsParameters

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

func (*HeadroomsParameters) DeepCopyInto

func (in *HeadroomsParameters) DeepCopyInto(out *HeadroomsParameters)

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

type HealthObservation

type HealthObservation struct {

	// The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
	GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*HealthObservation) DeepCopy

func (in *HealthObservation) DeepCopy() *HealthObservation

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

func (*HealthObservation) DeepCopyInto

func (in *HealthObservation) DeepCopyInto(out *HealthObservation)

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

type HealthParameters

type HealthParameters struct {

	// The amount of time to wait, in seconds, from the moment the instance has launched until monitoring of its health checks begins.
	// +kubebuilder:validation:Optional
	GracePeriod *float64 `json:"gracePeriod,omitempty" tf:"grace_period,omitempty"`
}

func (*HealthParameters) DeepCopy

func (in *HealthParameters) DeepCopy() *HealthParameters

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

func (*HealthParameters) DeepCopyInto

func (in *HealthParameters) DeepCopyInto(out *HealthParameters)

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

type OceanAks

type OceanAks struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aksClusterName)",message="aksClusterName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aksInfrastructureResourceGroupName)",message="aksInfrastructureResourceGroupName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aksRegion)",message="aksRegion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aksResourceGroupName)",message="aksResourceGroupName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.availabilityZones)",message="availabilityZones is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
	Spec   OceanAksSpec   `json:"spec"`
	Status OceanAksStatus `json:"status,omitempty"`
}

OceanAks is the Schema for the OceanAkss API. Provides a Spotinst Ocean resource using AKS. +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,spot}

func (*OceanAks) DeepCopy

func (in *OceanAks) DeepCopy() *OceanAks

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

func (*OceanAks) DeepCopyInto

func (in *OceanAks) DeepCopyInto(out *OceanAks)

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

func (*OceanAks) DeepCopyObject

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

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

func (*OceanAks) GetCondition

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

GetCondition of this OceanAks.

func (*OceanAks) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this OceanAks

func (*OceanAks) GetDeletionPolicy

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

GetDeletionPolicy of this OceanAks.

func (*OceanAks) GetID

func (tr *OceanAks) GetID() string

GetID returns ID of underlying Terraform resource of this OceanAks

func (*OceanAks) GetManagementPolicy

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

GetManagementPolicy of this OceanAks.

func (*OceanAks) GetObservation

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

GetObservation of this OceanAks

func (*OceanAks) GetParameters

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

GetParameters of this OceanAks

func (*OceanAks) GetProviderConfigReference

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

GetProviderConfigReference of this OceanAks.

func (*OceanAks) GetProviderReference

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

GetProviderReference of this OceanAks. Deprecated: Use GetProviderConfigReference.

func (*OceanAks) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this OceanAks.

func (*OceanAks) GetTerraformResourceType

func (mg *OceanAks) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this OceanAks

func (*OceanAks) GetTerraformSchemaVersion

func (tr *OceanAks) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*OceanAks) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this OceanAks.

func (*OceanAks) LateInitialize

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

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

func (*OceanAks) SetConditions

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

SetConditions of this OceanAks.

func (*OceanAks) SetDeletionPolicy

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

SetDeletionPolicy of this OceanAks.

func (*OceanAks) SetManagementPolicy

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

SetManagementPolicy of this OceanAks.

func (*OceanAks) SetObservation

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

SetObservation for this OceanAks

func (*OceanAks) SetParameters

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

SetParameters for this OceanAks

func (*OceanAks) SetProviderConfigReference

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

SetProviderConfigReference of this OceanAks.

func (*OceanAks) SetProviderReference

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

SetProviderReference of this OceanAks. Deprecated: Use SetProviderConfigReference.

func (*OceanAks) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this OceanAks.

func (*OceanAks) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this OceanAks.

type OceanAksList

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

OceanAksList contains a list of OceanAkss

func (*OceanAksList) DeepCopy

func (in *OceanAksList) DeepCopy() *OceanAksList

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

func (*OceanAksList) DeepCopyInto

func (in *OceanAksList) DeepCopyInto(out *OceanAksList)

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

func (*OceanAksList) DeepCopyObject

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

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

func (*OceanAksList) GetItems

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

GetItems of this OceanAksList.

type OceanAksObservation

type OceanAksObservation struct {

	// The name of the AKS Cluster.
	AksClusterName *string `json:"aksClusterName,omitempty" tf:"aks_cluster_name,omitempty"`

	// The name of the cluster's infrastructure resource group.
	AksInfrastructureResourceGroupName *string `json:"aksInfrastructureResourceGroupName,omitempty" tf:"aks_infrastructure_resource_group_name,omitempty"`

	// The cluster's region.
	AksRegion *string `json:"aksRegion,omitempty" tf:"aks_region,omitempty"`

	// The name of the cluster's resource group.
	AksResourceGroupName *string `json:"aksResourceGroupName,omitempty" tf:"aks_resource_group_name,omitempty"`

	// The Ocean Kubernetes Autoscaler object.
	Autoscaler []AutoscalerObservation `json:"autoscaler,omitempty" tf:"autoscaler,omitempty"`

	// An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
	ControllerClusterID *string `json:"controllerClusterId,omitempty" tf:"controller_cluster_id,omitempty"`

	// Enable node public IP.
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
	FallbackToOndemand *bool `json:"fallbackToOndemand,omitempty" tf:"fallback_to_ondemand,omitempty"`

	// Filters for the VM sizes that can be launched from the virtual node group.
	Filters []FiltersObservation `json:"filters,omitempty" tf:"filters,omitempty"`

	// Specify the custom headroom per VNG. Provide a list of headroom objects.
	Headrooms []HeadroomsObservation `json:"headrooms,omitempty" tf:"headrooms,omitempty"`

	// The Ocean AKS Health object.
	Health []HealthObservation `json:"health,omitempty" tf:"health,omitempty"`

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

	// The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`

	// An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or  Azure AKS labels or Spot labels.
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Maximum node count limit.
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods per node in the node pools.
	MaxPodsPerNode *float64 `json:"maxPodsPerNode,omitempty" tf:"max_pods_per_node,omitempty"`

	// Minimum node count limit.
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// Add a name for the Ocean cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The size of the OS disk in GB.
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of the OS disk.
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// The OS SKU of the OS type. Must correlate with the os type.
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The OS type of the OS disk. Can't be modified once set.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
	PodSubnetIds []*string `json:"podSubnetIds,omitempty" tf:"pod_subnet_ids,omitempty"`

	// An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.
	Scheduling []SchedulingObservation `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Percentage of spot VMs to maintain.
	SpotPercentage *float64 `json:"spotPercentage,omitempty" tf:"spot_percentage,omitempty"`

	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
	Taints []TaintsObservation `json:"taints,omitempty" tf:"taints,omitempty"`

	// The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
	VnetSubnetIds []*string `json:"vnetSubnetIds,omitempty" tf:"vnet_subnet_ids,omitempty"`
}

func (*OceanAksObservation) DeepCopy

func (in *OceanAksObservation) DeepCopy() *OceanAksObservation

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

func (*OceanAksObservation) DeepCopyInto

func (in *OceanAksObservation) DeepCopyInto(out *OceanAksObservation)

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

type OceanAksParameters

type OceanAksParameters struct {

	// The name of the AKS Cluster.
	// +kubebuilder:validation:Optional
	AksClusterName *string `json:"aksClusterName,omitempty" tf:"aks_cluster_name,omitempty"`

	// The name of the cluster's infrastructure resource group.
	// +kubebuilder:validation:Optional
	AksInfrastructureResourceGroupName *string `json:"aksInfrastructureResourceGroupName,omitempty" tf:"aks_infrastructure_resource_group_name,omitempty"`

	// The cluster's region.
	// +kubebuilder:validation:Optional
	AksRegion *string `json:"aksRegion,omitempty" tf:"aks_region,omitempty"`

	// The name of the cluster's resource group.
	// +kubebuilder:validation:Optional
	AksResourceGroupName *string `json:"aksResourceGroupName,omitempty" tf:"aks_resource_group_name,omitempty"`

	// The Ocean Kubernetes Autoscaler object.
	// +kubebuilder:validation:Optional
	Autoscaler []AutoscalerParameters `json:"autoscaler,omitempty" tf:"autoscaler,omitempty"`

	// An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG.
	// +kubebuilder:validation:Optional
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// Enter a unique Ocean cluster identifier. Cannot be updated. This needs to match with string that was used to install the controller in the cluster, typically clusterName + 8 digit string.
	// +kubebuilder:validation:Optional
	ControllerClusterID *string `json:"controllerClusterId,omitempty" tf:"controller_cluster_id,omitempty"`

	// Enable node public IP.
	// +kubebuilder:validation:Optional
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// If no spot VM markets are available, enable Ocean to launch regular (pay-as-you-go) nodes instead.
	// +kubebuilder:validation:Optional
	FallbackToOndemand *bool `json:"fallbackToOndemand,omitempty" tf:"fallback_to_ondemand,omitempty"`

	// Filters for the VM sizes that can be launched from the virtual node group.
	// +kubebuilder:validation:Optional
	Filters []FiltersParameters `json:"filters,omitempty" tf:"filters,omitempty"`

	// Specify the custom headroom per VNG. Provide a list of headroom objects.
	// +kubebuilder:validation:Optional
	Headrooms []HeadroomsParameters `json:"headrooms,omitempty" tf:"headrooms,omitempty"`

	// The Ocean AKS Health object.
	// +kubebuilder:validation:Optional
	Health []HealthParameters `json:"health,omitempty" tf:"health,omitempty"`

	// The desired Kubernetes version of the launched nodes. In case the value is null, the Kubernetes version of the control plane is used.
	// +kubebuilder:validation:Optional
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`

	// An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes well-known labels or  Azure AKS labels or Spot labels.
	// +kubebuilder:validation:Optional
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Maximum node count limit.
	// +kubebuilder:validation:Optional
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods per node in the node pools.
	// +kubebuilder:validation:Optional
	MaxPodsPerNode *float64 `json:"maxPodsPerNode,omitempty" tf:"max_pods_per_node,omitempty"`

	// Minimum node count limit.
	// +kubebuilder:validation:Optional
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// Add a name for the Ocean cluster.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The size of the OS disk in GB.
	// +kubebuilder:validation:Optional
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of the OS disk.
	// +kubebuilder:validation:Optional
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// The OS SKU of the OS type. Must correlate with the os type.
	// +kubebuilder:validation:Optional
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The OS type of the OS disk. Can't be modified once set.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The IDs of subnets in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
	// +kubebuilder:validation:Optional
	PodSubnetIds []*string `json:"podSubnetIds,omitempty" tf:"pod_subnet_ids,omitempty"`

	// An object used to specify times when the cluster will turn off. Once the shutdown time will be over, the cluster will return to its previous state.
	// +kubebuilder:validation:Optional
	Scheduling []SchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

	// Percentage of spot VMs to maintain.
	// +kubebuilder:validation:Optional
	SpotPercentage *float64 `json:"spotPercentage,omitempty" tf:"spot_percentage,omitempty"`

	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Add taints to a virtual node group. Only custom user taints are allowed, and not Kubernetes well-known taints or Azure AKS ScaleSetPrioirty (Spot VM) taint. For all Spot VMs, AKS injects a taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, to ensure that only workloads that can handle interruptions are scheduled on Spot nodes. To schedule a pod to run on Spot node, add a toleration but dont include the nodeAffinity (not supported for Spot Ocean), this will prevent the pod from being scheduled using Spot Ocean.
	// +kubebuilder:validation:Optional
	Taints []TaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	// The IDs of subnets in an existing VNet into which to assign nodes in the cluster (requires azure network-plugin).
	// +kubebuilder:validation:Optional
	VnetSubnetIds []*string `json:"vnetSubnetIds,omitempty" tf:"vnet_subnet_ids,omitempty"`
}

func (*OceanAksParameters) DeepCopy

func (in *OceanAksParameters) DeepCopy() *OceanAksParameters

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

func (*OceanAksParameters) DeepCopyInto

func (in *OceanAksParameters) DeepCopyInto(out *OceanAksParameters)

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

type OceanAksSpec

type OceanAksSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     OceanAksParameters `json:"forProvider"`
}

OceanAksSpec defines the desired state of OceanAks

func (*OceanAksSpec) DeepCopy

func (in *OceanAksSpec) DeepCopy() *OceanAksSpec

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

func (*OceanAksSpec) DeepCopyInto

func (in *OceanAksSpec) DeepCopyInto(out *OceanAksSpec)

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

type OceanAksStatus

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

OceanAksStatus defines the observed state of OceanAks.

func (*OceanAksStatus) DeepCopy

func (in *OceanAksStatus) DeepCopy() *OceanAksStatus

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

func (*OceanAksStatus) DeepCopyInto

func (in *OceanAksStatus) DeepCopyInto(out *OceanAksStatus)

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

type ResourceLimitsObservation

type ResourceLimitsObservation struct {

	// The maximum memory in GiB units that can be allocated to the cluster.
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// The maximum cpu in vCpu units that can be allocated to the cluster.
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`
}

func (*ResourceLimitsObservation) DeepCopy

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

func (*ResourceLimitsObservation) DeepCopyInto

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

type ResourceLimitsParameters

type ResourceLimitsParameters struct {

	// The maximum memory in GiB units that can be allocated to the cluster.
	// +kubebuilder:validation:Optional
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// The maximum cpu in vCpu units that can be allocated to the cluster.
	// +kubebuilder:validation:Optional
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`
}

func (*ResourceLimitsParameters) DeepCopy

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

func (*ResourceLimitsParameters) DeepCopyInto

func (in *ResourceLimitsParameters) DeepCopyInto(out *ResourceLimitsParameters)

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

type SchedulingObservation

type SchedulingObservation struct {

	// Shutdown HoursAn object used to specify times that the nodes in the cluster will be taken down.
	ShutdownHours []ShutdownHoursObservation `json:"shutdownHours,omitempty" tf:"shutdown_hours,omitempty"`
}

func (*SchedulingObservation) DeepCopy

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

func (*SchedulingObservation) DeepCopyInto

func (in *SchedulingObservation) DeepCopyInto(out *SchedulingObservation)

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

type SchedulingParameters

type SchedulingParameters struct {

	// Shutdown HoursAn object used to specify times that the nodes in the cluster will be taken down.
	// +kubebuilder:validation:Optional
	ShutdownHours []ShutdownHoursParameters `json:"shutdownHours,omitempty" tf:"shutdown_hours,omitempty"`
}

func (*SchedulingParameters) DeepCopy

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

func (*SchedulingParameters) DeepCopyInto

func (in *SchedulingParameters) DeepCopyInto(out *SchedulingParameters)

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

type ShutdownHoursObservation

type ShutdownHoursObservation struct {

	// Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the cluster remains in its current state.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The times that the shutdown hours will apply.
	TimeWindows []*string `json:"timeWindows,omitempty" tf:"time_windows,omitempty"`
}

func (*ShutdownHoursObservation) DeepCopy

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

func (*ShutdownHoursObservation) DeepCopyInto

func (in *ShutdownHoursObservation) DeepCopyInto(out *ShutdownHoursObservation)

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

type ShutdownHoursParameters

type ShutdownHoursParameters struct {

	// Flag to enable or disable the shutdown hours mechanism. When False, the mechanism is deactivated, and the cluster remains in its current state.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The times that the shutdown hours will apply.
	// +kubebuilder:validation:Required
	TimeWindows []*string `json:"timeWindows" tf:"time_windows,omitempty"`
}

func (*ShutdownHoursParameters) DeepCopy

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

func (*ShutdownHoursParameters) DeepCopyInto

func (in *ShutdownHoursParameters) DeepCopyInto(out *ShutdownHoursParameters)

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

type TaintsObservation

type TaintsObservation struct {

	// Set taint effect.
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// Set label key spot labels and Azure labels. The following are not allowed: ["kubernetes.azure.com/agentpool","kubernetes.io/arch","kubernetes.io/os","node.kubernetes.io/instance-type", "topology.kubernetes.io/region", "topology.kubernetes.io/zone", "kubernetes.azure.com/cluster", "kubernetes.azure.com/mode", "kubernetes.azure.com/role", "kubernetes.azure.com/scalesetpriority", "kubernetes.io/hostname", "kubernetes.azure.com/storageprofile", "kubernetes.azure.com/storagetier", "kubernetes.azure.com/instance-sku", "kubernetes.azure.com/node-image-version", "kubernetes.azure.com/subnet", "kubernetes.azure.com/vnet", "kubernetes.azure.com/ppg", "kubernetes.azure.com/encrypted-set", "kubernetes.azure.com/accelerator", "kubernetes.azure.com/fips_enabled", "kubernetes.azure.com/os-sku"]
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Set label value.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TaintsObservation) DeepCopy

func (in *TaintsObservation) DeepCopy() *TaintsObservation

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

func (*TaintsObservation) DeepCopyInto

func (in *TaintsObservation) DeepCopyInto(out *TaintsObservation)

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

type TaintsParameters

type TaintsParameters struct {

	// Set taint effect.
	// +kubebuilder:validation:Required
	Effect *string `json:"effect" tf:"effect,omitempty"`

	// Set label key spot labels and Azure labels. The following are not allowed: ["kubernetes.azure.com/agentpool","kubernetes.io/arch","kubernetes.io/os","node.kubernetes.io/instance-type", "topology.kubernetes.io/region", "topology.kubernetes.io/zone", "kubernetes.azure.com/cluster", "kubernetes.azure.com/mode", "kubernetes.azure.com/role", "kubernetes.azure.com/scalesetpriority", "kubernetes.io/hostname", "kubernetes.azure.com/storageprofile", "kubernetes.azure.com/storagetier", "kubernetes.azure.com/instance-sku", "kubernetes.azure.com/node-image-version", "kubernetes.azure.com/subnet", "kubernetes.azure.com/vnet", "kubernetes.azure.com/ppg", "kubernetes.azure.com/encrypted-set", "kubernetes.azure.com/accelerator", "kubernetes.azure.com/fips_enabled", "kubernetes.azure.com/os-sku"]
	// +kubebuilder:validation:Required
	Key *string `json:"key" tf:"key,omitempty"`

	// Set label value.
	// +kubebuilder:validation:Required
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*TaintsParameters) DeepCopy

func (in *TaintsParameters) DeepCopy() *TaintsParameters

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

func (*TaintsParameters) DeepCopyInto

func (in *TaintsParameters) DeepCopyInto(out *TaintsParameters)

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