v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2024 License: Apache-2.0 Imports: 10 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 AutomaticInitParameters ¶ added in v0.3.0

type AutomaticInitParameters struct {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// 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 (*AutomaticInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*AutomaticInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *AutomaticInitParameters) DeepCopyInto(out *AutomaticInitParameters)

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

type AutomaticObservation ¶

type AutomaticObservation struct {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// 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 {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// 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 AutoscaleDownInitParameters ¶ added in v0.3.0

type AutoscaleDownInitParameters 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 (*AutoscaleDownInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*AutoscaleDownInitParameters) DeepCopyInto ¶ added in v0.3.0

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 AutoscaleHeadroomInitParameters ¶ added in v0.3.0

type AutoscaleHeadroomInitParameters struct {

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

func (*AutoscaleHeadroomInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*AutoscaleHeadroomInitParameters) DeepCopyInto ¶ added in v0.3.0

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 AutoscalerInitParameters ¶ added in v0.3.0

type AutoscalerInitParameters struct {

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

	// Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
	AutoscaleHeadroom []AutoscaleHeadroomInitParameters `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 []ResourceLimitsInitParameters `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`
}

func (*AutoscalerInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*AutoscalerInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *AutoscalerInitParameters) DeepCopyInto(out *AutoscalerInitParameters)

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 FiltersInitParameters ¶ added in v0.3.0

type FiltersInitParameters 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.
	// +listType=set
	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
	// +listType=set
	ExcludeSeries []*string `json:"excludeSeries,omitempty" tf:"exclude_series,omitempty"`

	// The filtered gpu types will belong to one of the gpu types from this list.
	// +listType=set
	GpuTypes []*string `json:"gpuTypes,omitempty" tf:"gpu_types,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.
	MinDisk *float64 `json:"minDisk,omitempty" tf:"min_disk,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.
	// +listType=set
	Series []*string `json:"series,omitempty" tf:"series,omitempty"`

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

func (*FiltersInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*FiltersInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *FiltersInitParameters) DeepCopyInto(out *FiltersInitParameters)

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.
	// +listType=set
	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
	// +listType=set
	ExcludeSeries []*string `json:"excludeSeries,omitempty" tf:"exclude_series,omitempty"`

	// The filtered gpu types will belong to one of the gpu types from this list.
	// +listType=set
	GpuTypes []*string `json:"gpuTypes,omitempty" tf:"gpu_types,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.
	MinDisk *float64 `json:"minDisk,omitempty" tf:"min_disk,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.
	// +listType=set
	Series []*string `json:"series,omitempty" tf:"series,omitempty"`

	// The filtered vm types will belong to one of the vm types from this list.
	// +listType=set
	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
	// +listType=set
	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
	// +listType=set
	ExcludeSeries []*string `json:"excludeSeries,omitempty" tf:"exclude_series,omitempty"`

	// The filtered gpu types will belong to one of the gpu types from this list.
	// +kubebuilder:validation:Optional
	// +listType=set
	GpuTypes []*string `json:"gpuTypes,omitempty" tf:"gpu_types,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
	MinDisk *float64 `json:"minDisk,omitempty" tf:"min_disk,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
	// +listType=set
	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
	// +listType=set
	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 HeadroomsInitParameters ¶ added in v0.3.0

type HeadroomsInitParameters 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 (*HeadroomsInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*HeadroomsInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *HeadroomsInitParameters) DeepCopyInto(out *HeadroomsInitParameters)

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 HealthInitParameters ¶ added in v0.3.0

type HealthInitParameters 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 (*HealthInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*HealthInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *HealthInitParameters) DeepCopyInto(out *HealthInitParameters)

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 LinuxOsConfigInitParameters ¶ added in v0.3.0

type LinuxOsConfigInitParameters struct {

	// System Controls
	Sysctls []SysctlsInitParameters `json:"sysctls,omitempty" tf:"sysctls,omitempty"`
}

func (*LinuxOsConfigInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*LinuxOsConfigInitParameters) DeepCopyInto ¶ added in v0.3.0

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

type LinuxOsConfigObservation ¶ added in v0.3.0

type LinuxOsConfigObservation struct {

	// System Controls
	Sysctls []SysctlsObservation `json:"sysctls,omitempty" tf:"sysctls,omitempty"`
}

func (*LinuxOsConfigObservation) DeepCopy ¶ added in v0.3.0

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

func (*LinuxOsConfigObservation) DeepCopyInto ¶ added in v0.3.0

func (in *LinuxOsConfigObservation) DeepCopyInto(out *LinuxOsConfigObservation)

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

type LinuxOsConfigParameters ¶ added in v0.3.0

type LinuxOsConfigParameters struct {

	// System Controls
	// +kubebuilder:validation:Optional
	Sysctls []SysctlsParameters `json:"sysctls,omitempty" tf:"sysctls,omitempty"`
}

func (*LinuxOsConfigParameters) DeepCopy ¶ added in v0.3.0

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

func (*LinuxOsConfigParameters) DeepCopyInto ¶ added in v0.3.0

func (in *LinuxOsConfigParameters) DeepCopyInto(out *LinuxOsConfigParameters)

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="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.aksClusterName) || (has(self.initProvider) && has(self.initProvider.aksClusterName))",message="spec.forProvider.aksClusterName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.aksInfrastructureResourceGroupName) || (has(self.initProvider) && has(self.initProvider.aksInfrastructureResourceGroupName))",message="spec.forProvider.aksInfrastructureResourceGroupName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.aksRegion) || (has(self.initProvider) && has(self.initProvider.aksRegion))",message="spec.forProvider.aksRegion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.aksResourceGroupName) || (has(self.initProvider) && has(self.initProvider.aksResourceGroupName))",message="spec.forProvider.aksResourceGroupName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.availabilityZones) || (has(self.initProvider) && has(self.initProvider.availabilityZones))",message="spec.forProvider.availabilityZones is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.controllerClusterId) || (has(self.initProvider) && has(self.initProvider.controllerClusterId))",message="spec.forProvider.controllerClusterId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.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="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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: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) GetInitParameters ¶ added in v0.3.0

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

GetInitParameters of this OceanAks

func (*OceanAks) GetManagementPolicies ¶ added in v0.3.0

func (mg *OceanAks) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this OceanAks.

func (*OceanAks) GetMergedParameters ¶ added in v0.3.0

func (tr *OceanAks) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters 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) 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) Hub ¶ added in v0.3.0

func (tr *OceanAks) Hub()

Hub marks this type as a conversion hub.

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) SetManagementPolicies ¶ added in v0.3.0

func (mg *OceanAks) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies 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) 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 OceanAksInitParameters ¶ added in v0.3.0

type OceanAksInitParameters 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 []AutoscalerInitParameters `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 []FiltersInitParameters `json:"filters,omitempty" tf:"filters,omitempty"`

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

	// The Ocean AKS Health object.
	Health []HealthInitParameters `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.
	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.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Custom Linux OS configuration.
	LinuxOsConfig []LinuxOsConfigInitParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,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 []SchedulingInitParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"`

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

	// +mapType=granular
	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 []TaintsInitParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	UpdatePolicy []UpdatePolicyInitParameters `json:"updatePolicy,omitempty" tf:"update_policy,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 (*OceanAksInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*OceanAksInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *OceanAksInitParameters) DeepCopyInto(out *OceanAksInitParameters)

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

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.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Custom Linux OS configuration.
	LinuxOsConfig []LinuxOsConfigObservation `json:"linuxOsConfig,omitempty" tf:"linux_os_config,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"`

	// +mapType=granular
	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"`

	UpdatePolicy []UpdatePolicyObservation `json:"updatePolicy,omitempty" tf:"update_policy,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
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Custom Linux OS configuration.
	// +kubebuilder:validation:Optional
	LinuxOsConfig []LinuxOsConfigParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,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
	// +mapType=granular
	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"`

	// +kubebuilder:validation:Optional
	UpdatePolicy []UpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,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"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider OceanAksInitParameters `json:"initProvider,omitempty"`
}

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 ParametersClusterRollInitParameters ¶ added in v0.3.0

type ParametersClusterRollInitParameters struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*ParametersClusterRollInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*ParametersClusterRollInitParameters) DeepCopyInto ¶ added in v0.3.0

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

type ParametersClusterRollObservation ¶ added in v0.3.0

type ParametersClusterRollObservation struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*ParametersClusterRollObservation) DeepCopy ¶ added in v0.3.0

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

func (*ParametersClusterRollObservation) DeepCopyInto ¶ added in v0.3.0

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

type ParametersClusterRollParameters ¶ added in v0.3.0

type ParametersClusterRollParameters struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	// +kubebuilder:validation:Optional
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	// +kubebuilder:validation:Optional
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	// +kubebuilder:validation:Optional
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	// +kubebuilder:validation:Optional
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	// +kubebuilder:validation:Optional
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	// +kubebuilder:validation:Optional
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*ParametersClusterRollParameters) DeepCopy ¶ added in v0.3.0

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

func (*ParametersClusterRollParameters) DeepCopyInto ¶ added in v0.3.0

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

type ParametersInitParameters ¶ added in v0.3.0

type ParametersInitParameters struct {

	// The parameters of the cluster roll scheduling task.
	ParametersClusterRoll []ParametersClusterRollInitParameters `json:"parametersClusterRoll,omitempty" tf:"parameters_cluster_roll,omitempty"`
}

func (*ParametersInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*ParametersInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *ParametersInitParameters) DeepCopyInto(out *ParametersInitParameters)

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

type ParametersObservation ¶ added in v0.3.0

type ParametersObservation struct {

	// The parameters of the cluster roll scheduling task.
	ParametersClusterRoll []ParametersClusterRollObservation `json:"parametersClusterRoll,omitempty" tf:"parameters_cluster_roll,omitempty"`
}

func (*ParametersObservation) DeepCopy ¶ added in v0.3.0

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

func (*ParametersObservation) DeepCopyInto ¶ added in v0.3.0

func (in *ParametersObservation) DeepCopyInto(out *ParametersObservation)

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

type ParametersParameters ¶ added in v0.3.0

type ParametersParameters struct {

	// The parameters of the cluster roll scheduling task.
	// +kubebuilder:validation:Optional
	ParametersClusterRoll []ParametersClusterRollParameters `json:"parametersClusterRoll,omitempty" tf:"parameters_cluster_roll,omitempty"`
}

func (*ParametersParameters) DeepCopy ¶ added in v0.3.0

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

func (*ParametersParameters) DeepCopyInto ¶ added in v0.3.0

func (in *ParametersParameters) DeepCopyInto(out *ParametersParameters)

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

type ResourceLimitsInitParameters ¶ added in v0.3.0

type ResourceLimitsInitParameters 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 (*ResourceLimitsInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*ResourceLimitsInitParameters) DeepCopyInto ¶ added in v0.3.0

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 RollConfigInitParameters ¶ added in v0.3.0

type RollConfigInitParameters struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
	NodeNames []*string `json:"nodeNames,omitempty" tf:"node_names,omitempty"`

	// List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
	NodePoolNames []*string `json:"nodePoolNames,omitempty" tf:"node_pool_names,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*RollConfigInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*RollConfigInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *RollConfigInitParameters) DeepCopyInto(out *RollConfigInitParameters)

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

type RollConfigObservation ¶ added in v0.2.0

type RollConfigObservation struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
	NodeNames []*string `json:"nodeNames,omitempty" tf:"node_names,omitempty"`

	// List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
	NodePoolNames []*string `json:"nodePoolNames,omitempty" tf:"node_pool_names,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*RollConfigObservation) DeepCopy ¶ added in v0.2.0

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

func (*RollConfigObservation) DeepCopyInto ¶ added in v0.2.0

func (in *RollConfigObservation) DeepCopyInto(out *RollConfigObservation)

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

type RollConfigParameters ¶ added in v0.2.0

type RollConfigParameters struct {

	// Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch.
	// +kubebuilder:validation:Optional
	BatchMinHealthyPercentage *float64 `json:"batchMinHealthyPercentage,omitempty" tf:"batch_min_healthy_percentage,omitempty"`

	// Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%.
	// +kubebuilder:validation:Optional
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// Add a comment description for the roll. The comment is limited to 256 chars and optional.
	// +kubebuilder:validation:Optional
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// List of node names to be rolled. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames and vngIds.
	// +kubebuilder:validation:Optional
	NodeNames []*string `json:"nodeNames,omitempty" tf:"node_names,omitempty"`

	// List of node pools to be rolled. Each node pool name is a string. nodePoolNames can be null, and cannot be used together with nodeNames and vngIds.
	// +kubebuilder:validation:Optional
	NodePoolNames []*string `json:"nodePoolNames,omitempty" tf:"node_pool_names,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the nodes replacement.
	// +kubebuilder:validation:Optional
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,omitempty"`

	// During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement.
	// +kubebuilder:validation:Optional
	RespectRestrictScaleDown *bool `json:"respectRestrictScaleDown,omitempty" tf:"respect_restrict_scale_down,omitempty"`

	// List of virtual node group identifiers to be rolled. Each identifier is a string. vngIds can be null, and cannot be used together with nodeNames and nodePoolNames.
	// +kubebuilder:validation:Optional
	VngIds []*string `json:"vngIds,omitempty" tf:"vng_ids,omitempty"`
}

func (*RollConfigParameters) DeepCopy ¶ added in v0.2.0

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

func (*RollConfigParameters) DeepCopyInto ¶ added in v0.2.0

func (in *RollConfigParameters) DeepCopyInto(out *RollConfigParameters)

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

type SchedulingInitParameters ¶ added in v0.3.0

type SchedulingInitParameters struct {

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

	// A list of scheduling tasks to preform on the cluster at a specific cron time.
	Tasks []TasksInitParameters `json:"tasks,omitempty" tf:"tasks,omitempty"`
}

func (*SchedulingInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*SchedulingInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *SchedulingInitParameters) DeepCopyInto(out *SchedulingInitParameters)

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

type SchedulingObservation ¶

type SchedulingObservation struct {

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

	// A list of scheduling tasks to preform on the cluster at a specific cron time.
	Tasks []TasksObservation `json:"tasks,omitempty" tf:"tasks,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 {

	// An 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"`

	// A list of scheduling tasks to preform on the cluster at a specific cron time.
	// +kubebuilder:validation:Optional
	Tasks []TasksParameters `json:"tasks,omitempty" tf:"tasks,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 ShutdownHoursInitParameters ¶ added in v0.3.0

type ShutdownHoursInitParameters struct {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

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

func (*ShutdownHoursInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*ShutdownHoursInitParameters) DeepCopyInto ¶ added in v0.3.0

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

type ShutdownHoursObservation ¶

type ShutdownHoursObservation struct {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The times that the shutdown hours will apply. Required if isEnabled is true.
	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 {

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The times that the shutdown hours will apply. Required if isEnabled is true.
	// +kubebuilder:validation:Optional
	TimeWindows []*string `json:"timeWindows,omitempty" 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 SysctlsInitParameters ¶ added in v0.3.0

type SysctlsInitParameters struct {

	// Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`
}

func (*SysctlsInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*SysctlsInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *SysctlsInitParameters) DeepCopyInto(out *SysctlsInitParameters)

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

type SysctlsObservation ¶ added in v0.3.0

type SysctlsObservation struct {

	// Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`
}

func (*SysctlsObservation) DeepCopy ¶ added in v0.3.0

func (in *SysctlsObservation) DeepCopy() *SysctlsObservation

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

func (*SysctlsObservation) DeepCopyInto ¶ added in v0.3.0

func (in *SysctlsObservation) DeepCopyInto(out *SysctlsObservation)

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

type SysctlsParameters ¶ added in v0.3.0

type SysctlsParameters struct {

	// Maximum number of memory map areas a process may have. Can be configured only if OS type is Linux.
	// +kubebuilder:validation:Optional
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`
}

func (*SysctlsParameters) DeepCopy ¶ added in v0.3.0

func (in *SysctlsParameters) DeepCopy() *SysctlsParameters

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

func (*SysctlsParameters) DeepCopyInto ¶ added in v0.3.0

func (in *SysctlsParameters) DeepCopyInto(out *SysctlsParameters)

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

type TaintsInitParameters ¶ added in v0.3.0

type TaintsInitParameters 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 (*TaintsInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*TaintsInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *TaintsInitParameters) DeepCopyInto(out *TaintsInitParameters)

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:Optional
	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:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// Set label value.
	// +kubebuilder:validation:Optional
	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.

type TasksInitParameters ¶ added in v0.3.0

type TasksInitParameters struct {

	// A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. (Example: 0 1 * * *).
	CronExpression *string `json:"cronExpression,omitempty" tf:"cron_expression,omitempty"`

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The parameters of the scheduling task. Each task type will have properties relevant only to it.
	Parameters []ParametersInitParameters `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// Valid values: clusterRoll The type of the scheduling task.
	TaskType *string `json:"taskType,omitempty" tf:"task_type,omitempty"`
}

func (*TasksInitParameters) DeepCopy ¶ added in v0.3.0

func (in *TasksInitParameters) DeepCopy() *TasksInitParameters

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

func (*TasksInitParameters) DeepCopyInto ¶ added in v0.3.0

func (in *TasksInitParameters) DeepCopyInto(out *TasksInitParameters)

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

type TasksObservation ¶ added in v0.3.0

type TasksObservation struct {

	// A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. (Example: 0 1 * * *).
	CronExpression *string `json:"cronExpression,omitempty" tf:"cron_expression,omitempty"`

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The parameters of the scheduling task. Each task type will have properties relevant only to it.
	Parameters []ParametersObservation `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// Valid values: clusterRoll The type of the scheduling task.
	TaskType *string `json:"taskType,omitempty" tf:"task_type,omitempty"`
}

func (*TasksObservation) DeepCopy ¶ added in v0.3.0

func (in *TasksObservation) DeepCopy() *TasksObservation

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

func (*TasksObservation) DeepCopyInto ¶ added in v0.3.0

func (in *TasksObservation) DeepCopyInto(out *TasksObservation)

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

type TasksParameters ¶ added in v0.3.0

type TasksParameters struct {

	// A valid cron expression. The cron is running in UTC time zone and is in Unix cron format Cron Expression Validator Script. Only one of frequency or cronExpression should be used at a time. Required for cluster.scheduling.tasks object. (Example: 0 1 * * *).
	// +kubebuilder:validation:Optional
	CronExpression *string `json:"cronExpression" tf:"cron_expression,omitempty"`

	// Enable automatic headroom. When set to true, Ocean configures and optimizes headroom automatically.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled" tf:"is_enabled,omitempty"`

	// The parameters of the scheduling task. Each task type will have properties relevant only to it.
	// +kubebuilder:validation:Optional
	Parameters []ParametersParameters `json:"parameters,omitempty" tf:"parameters,omitempty"`

	// Valid values: clusterRoll The type of the scheduling task.
	// +kubebuilder:validation:Optional
	TaskType *string `json:"taskType" tf:"task_type,omitempty"`
}

func (*TasksParameters) DeepCopy ¶ added in v0.3.0

func (in *TasksParameters) DeepCopy() *TasksParameters

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

func (*TasksParameters) DeepCopyInto ¶ added in v0.3.0

func (in *TasksParameters) DeepCopyInto(out *TasksParameters)

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

type UpdatePolicyInitParameters ¶ added in v0.3.0

type UpdatePolicyInitParameters struct {

	// Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
	ConditionedRoll *bool `json:"conditionedRoll,omitempty" tf:"conditioned_roll,omitempty"`

	// While used, you can control whether the group should perform a deployment after an update to the configuration.
	RollConfig []RollConfigInitParameters `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// If set to true along with the cluster update, roll will be triggered.
	ShouldRoll *bool `json:"shouldRoll,omitempty" tf:"should_roll,omitempty"`
}

func (*UpdatePolicyInitParameters) DeepCopy ¶ added in v0.3.0

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

func (*UpdatePolicyInitParameters) DeepCopyInto ¶ added in v0.3.0

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

type UpdatePolicyObservation ¶ added in v0.2.0

type UpdatePolicyObservation struct {

	// Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
	ConditionedRoll *bool `json:"conditionedRoll,omitempty" tf:"conditioned_roll,omitempty"`

	// While used, you can control whether the group should perform a deployment after an update to the configuration.
	RollConfig []RollConfigObservation `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// If set to true along with the cluster update, roll will be triggered.
	ShouldRoll *bool `json:"shouldRoll,omitempty" tf:"should_roll,omitempty"`
}

func (*UpdatePolicyObservation) DeepCopy ¶ added in v0.2.0

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

func (*UpdatePolicyObservation) DeepCopyInto ¶ added in v0.2.0

func (in *UpdatePolicyObservation) DeepCopyInto(out *UpdatePolicyObservation)

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

type UpdatePolicyParameters ¶ added in v0.2.0

type UpdatePolicyParameters struct {

	// Spot will perform a cluster Roll in accordance with a relevant modification of the cluster’s settings. When set to true , only specific changes in the cluster’s configuration will trigger a cluster roll (such as availability_zones, max_pods_per_node, enable_node_public_ip, os_disk_size_gb, os_disk_type, os_sku, kubernetes_version, vnet_subnet_ids, pod_subnet_ids, labels, taints and tags).
	// +kubebuilder:validation:Optional
	ConditionedRoll *bool `json:"conditionedRoll,omitempty" tf:"conditioned_roll,omitempty"`

	// While used, you can control whether the group should perform a deployment after an update to the configuration.
	// +kubebuilder:validation:Optional
	RollConfig []RollConfigParameters `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// If set to true along with the cluster update, roll will be triggered.
	// +kubebuilder:validation:Optional
	ShouldRoll *bool `json:"shouldRoll" tf:"should_roll,omitempty"`
}

func (*UpdatePolicyParameters) DeepCopy ¶ added in v0.2.0

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

func (*UpdatePolicyParameters) DeepCopyInto ¶ added in v0.2.0

func (in *UpdatePolicyParameters) DeepCopyInto(out *UpdatePolicyParameters)

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