v1alpha1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 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