v1alpha1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "oceanawslaunchspec.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 (
	OceanAwsLaunchSpec_Kind             = "OceanAwsLaunchSpec"
	OceanAwsLaunchSpec_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: OceanAwsLaunchSpec_Kind}.String()
	OceanAwsLaunchSpec_KindAPIVersion   = OceanAwsLaunchSpec_Kind + "." + CRDGroupVersion.String()
	OceanAwsLaunchSpec_GroupVersionKind = CRDGroupVersion.WithKind(OceanAwsLaunchSpec_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AutoscaleDownInitParameters added in v0.3.0

type AutoscaleDownInitParameters struct {

	// The maximum percentage allowed to scale down in a single scaling action on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
	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 on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
	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 on the nodes running in a specific VNG. Allowed only if maxScaleDownPercentage is set to null at the cluster level. Number between [0.1-100].
	// +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 AutoscaleHeadroomsAutomaticInitParameters added in v0.3.0

type AutoscaleHeadroomsAutomaticInitParameters struct {

	// Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
	AutoHeadroomPercentage *float64 `json:"autoHeadroomPercentage,omitempty" tf:"auto_headroom_percentage,omitempty"`
}

func (*AutoscaleHeadroomsAutomaticInitParameters) DeepCopy added in v0.3.0

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

func (*AutoscaleHeadroomsAutomaticInitParameters) DeepCopyInto added in v0.3.0

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

type AutoscaleHeadroomsAutomaticObservation

type AutoscaleHeadroomsAutomaticObservation struct {

	// Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
	AutoHeadroomPercentage *float64 `json:"autoHeadroomPercentage,omitempty" tf:"auto_headroom_percentage,omitempty"`
}

func (*AutoscaleHeadroomsAutomaticObservation) DeepCopy

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

func (*AutoscaleHeadroomsAutomaticObservation) DeepCopyInto

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

type AutoscaleHeadroomsAutomaticParameters

type AutoscaleHeadroomsAutomaticParameters struct {

	// Number between 0-200 to control the headroom % of the specific Virtual Node Group. Effective when cluster.autoScaler.headroom.automatic.is_enabled = true is set on the Ocean cluster.
	// +kubebuilder:validation:Optional
	AutoHeadroomPercentage *float64 `json:"autoHeadroomPercentage,omitempty" tf:"auto_headroom_percentage,omitempty"`
}

func (*AutoscaleHeadroomsAutomaticParameters) DeepCopy

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

func (*AutoscaleHeadroomsAutomaticParameters) DeepCopyInto

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

type AutoscaleHeadroomsInitParameters added in v0.3.0

type AutoscaleHeadroomsInitParameters struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	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, memory and GPU.
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*AutoscaleHeadroomsInitParameters) DeepCopy added in v0.3.0

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

func (*AutoscaleHeadroomsInitParameters) DeepCopyInto added in v0.3.0

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

type AutoscaleHeadroomsObservation

type AutoscaleHeadroomsObservation struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	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, memory and GPU.
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*AutoscaleHeadroomsObservation) DeepCopy

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

func (*AutoscaleHeadroomsObservation) DeepCopyInto

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

type AutoscaleHeadroomsParameters

type AutoscaleHeadroomsParameters struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	// +kubebuilder:validation:Optional
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	// +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, memory and GPU.
	// +kubebuilder:validation:Optional
	NumOfUnits *float64 `json:"numOfUnits" tf:"num_of_units,omitempty"`
}

func (*AutoscaleHeadroomsParameters) DeepCopy

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

func (*AutoscaleHeadroomsParameters) DeepCopyInto

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

type BlockDeviceMappingsInitParameters added in v0.3.0

type BlockDeviceMappingsInitParameters struct {

	// String. Set device name. (Example: /dev/xvda).
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Object. Set Elastic Block Store properties .
	EBS []EBSInitParameters `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// String. Suppresses the specified device included in the block device mapping of the AMI.
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The name of the Virtual Node Group.
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsInitParameters) DeepCopy added in v0.3.0

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

func (*BlockDeviceMappingsInitParameters) DeepCopyInto added in v0.3.0

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

type BlockDeviceMappingsObservation

type BlockDeviceMappingsObservation struct {

	// String. Set device name. (Example: /dev/xvda).
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Object. Set Elastic Block Store properties .
	EBS []EBSObservation `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// String. Suppresses the specified device included in the block device mapping of the AMI.
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The name of the Virtual Node Group.
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsObservation) DeepCopy

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

func (*BlockDeviceMappingsObservation) DeepCopyInto

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

type BlockDeviceMappingsParameters

type BlockDeviceMappingsParameters struct {

	// String. Set device name. (Example: /dev/xvda).
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Object. Set Elastic Block Store properties .
	// +kubebuilder:validation:Optional
	EBS []EBSParameters `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// String. Suppresses the specified device included in the block device mapping of the AMI.
	// +kubebuilder:validation:Optional
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The name of the Virtual Node Group.
	// +kubebuilder:validation:Optional
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsParameters) DeepCopy

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

func (*BlockDeviceMappingsParameters) DeepCopyInto

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

type CreateOptionsInitParameters added in v0.3.0

type CreateOptionsInitParameters struct {

	// When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst_ocean_aws resource) is set to true during Ocean resource creation.
	InitialNodes *float64 `json:"initialNodes,omitempty" tf:"initial_nodes,omitempty"`
}

func (*CreateOptionsInitParameters) DeepCopy added in v0.3.0

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

func (*CreateOptionsInitParameters) DeepCopyInto added in v0.3.0

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

type CreateOptionsObservation

type CreateOptionsObservation struct {

	// When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst_ocean_aws resource) is set to true during Ocean resource creation.
	InitialNodes *float64 `json:"initialNodes,omitempty" tf:"initial_nodes,omitempty"`
}

func (*CreateOptionsObservation) DeepCopy

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

func (*CreateOptionsObservation) DeepCopyInto

func (in *CreateOptionsObservation) DeepCopyInto(out *CreateOptionsObservation)

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

type CreateOptionsParameters

type CreateOptionsParameters struct {

	// When set to an integer greater than 0, a corresponding amount of nodes will be launched from the created Virtual Node Group. The parameter is recommended in case the use_as_template_only (in spotinst_ocean_aws resource) is set to true during Ocean resource creation.
	// +kubebuilder:validation:Optional
	InitialNodes *float64 `json:"initialNodes,omitempty" tf:"initial_nodes,omitempty"`
}

func (*CreateOptionsParameters) DeepCopy

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

func (*CreateOptionsParameters) DeepCopyInto

func (in *CreateOptionsParameters) DeepCopyInto(out *CreateOptionsParameters)

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

type DeleteOptionsInitParameters added in v0.3.0

type DeleteOptionsInitParameters struct {

	// When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
	DeleteNodes *bool `json:"deleteNodes,omitempty" tf:"delete_nodes,omitempty"`

	// When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`
}

func (*DeleteOptionsInitParameters) DeepCopy added in v0.3.0

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

func (*DeleteOptionsInitParameters) DeepCopyInto added in v0.3.0

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

type DeleteOptionsObservation

type DeleteOptionsObservation struct {

	// When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
	DeleteNodes *bool `json:"deleteNodes,omitempty" tf:"delete_nodes,omitempty"`

	// When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`
}

func (*DeleteOptionsObservation) DeepCopy

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

func (*DeleteOptionsObservation) DeepCopyInto

func (in *DeleteOptionsObservation) DeepCopyInto(out *DeleteOptionsObservation)

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

type DeleteOptionsParameters

type DeleteOptionsParameters struct {

	// When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated.
	// +kubebuilder:validation:Optional
	DeleteNodes *bool `json:"deleteNodes,omitempty" tf:"delete_nodes,omitempty"`

	// When set to true, delete even if it is the last Virtual Node Group (also, the default Virtual Node Group must be configured with useAsTemlateOnly = true). Should be set at creation or update, but will be used only at deletion.
	// +kubebuilder:validation:Optional
	ForceDelete *bool `json:"forceDelete" tf:"force_delete,omitempty"`
}

func (*DeleteOptionsParameters) DeepCopy

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

func (*DeleteOptionsParameters) DeepCopyInto

func (in *DeleteOptionsParameters) DeepCopyInto(out *DeleteOptionsParameters)

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

type DynamicVolumeSizeInitParameters added in v0.3.0

type DynamicVolumeSizeInitParameters struct {

	// Int. Initial size for volume. (Example: 50)
	BaseSize *float64 `json:"baseSize,omitempty" tf:"base_size,omitempty"`

	// String. Resource type to increase volume size dynamically by. (Valid values: CPU)
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`

	// Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
	SizePerResourceUnit *float64 `json:"sizePerResourceUnit,omitempty" tf:"size_per_resource_unit,omitempty"`
}

func (*DynamicVolumeSizeInitParameters) DeepCopy added in v0.3.0

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

func (*DynamicVolumeSizeInitParameters) DeepCopyInto added in v0.3.0

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

type DynamicVolumeSizeObservation

type DynamicVolumeSizeObservation struct {

	// Int. Initial size for volume. (Example: 50)
	BaseSize *float64 `json:"baseSize,omitempty" tf:"base_size,omitempty"`

	// String. Resource type to increase volume size dynamically by. (Valid values: CPU)
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`

	// Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
	SizePerResourceUnit *float64 `json:"sizePerResourceUnit,omitempty" tf:"size_per_resource_unit,omitempty"`
}

func (*DynamicVolumeSizeObservation) DeepCopy

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

func (*DynamicVolumeSizeObservation) DeepCopyInto

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

type DynamicVolumeSizeParameters

type DynamicVolumeSizeParameters struct {

	// Int. Initial size for volume. (Example: 50)
	// +kubebuilder:validation:Optional
	BaseSize *float64 `json:"baseSize" tf:"base_size,omitempty"`

	// String. Resource type to increase volume size dynamically by. (Valid values: CPU)
	// +kubebuilder:validation:Optional
	Resource *string `json:"resource" tf:"resource,omitempty"`

	// Int. Additional size (in GB) per resource unit. (Example: baseSize=50, sizePerResourceUnit=20, and instance with 2 CPU is launched; its total disk size will be: 90GB)
	// +kubebuilder:validation:Optional
	SizePerResourceUnit *float64 `json:"sizePerResourceUnit" tf:"size_per_resource_unit,omitempty"`
}

func (*DynamicVolumeSizeParameters) DeepCopy

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

func (*DynamicVolumeSizeParameters) DeepCopyInto

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

type EBSInitParameters added in v0.3.0

type EBSInitParameters struct {

	// Boolean. Flag to delete the EBS on instance termination.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
	DynamicVolumeSize []DynamicVolumeSizeInitParameters `json:"dynamicVolumeSize,omitempty" tf:"dynamic_volume_size,omitempty"`

	// Boolean. Enables EBS encryption on the volume.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Int. The number of I/O operations per second (IOPS) that the volume supports.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// String. The Snapshot ID to mount by.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Int. The size, in GB of the volume.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// String. The type of the volume. (Example: gp2).
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSInitParameters) DeepCopy added in v0.3.0

func (in *EBSInitParameters) DeepCopy() *EBSInitParameters

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

func (*EBSInitParameters) DeepCopyInto added in v0.3.0

func (in *EBSInitParameters) DeepCopyInto(out *EBSInitParameters)

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

type EBSObservation

type EBSObservation struct {

	// Boolean. Flag to delete the EBS on instance termination.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
	DynamicVolumeSize []DynamicVolumeSizeObservation `json:"dynamicVolumeSize,omitempty" tf:"dynamic_volume_size,omitempty"`

	// Boolean. Enables EBS encryption on the volume.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Int. The number of I/O operations per second (IOPS) that the volume supports.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// String. The Snapshot ID to mount by.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Int. The size, in GB of the volume.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// String. The type of the volume. (Example: gp2).
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSObservation) DeepCopy

func (in *EBSObservation) DeepCopy() *EBSObservation

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

func (*EBSObservation) DeepCopyInto

func (in *EBSObservation) DeepCopyInto(out *EBSObservation)

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

type EBSParameters

type EBSParameters struct {

	// Boolean. Flag to delete the EBS on instance termination.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
	// +kubebuilder:validation:Optional
	DynamicVolumeSize []DynamicVolumeSizeParameters `json:"dynamicVolumeSize,omitempty" tf:"dynamic_volume_size,omitempty"`

	// Boolean. Enables EBS encryption on the volume.
	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Int. The number of I/O operations per second (IOPS) that the volume supports.
	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// String. Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// String. The Snapshot ID to mount by.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The amount of data transferred to or from a storage device per second, you can use this param just in a case that volume_type = gp3.
	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Int. The size, in GB of the volume.
	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// String. The type of the volume. (Example: gp2).
	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSParameters) DeepCopy

func (in *EBSParameters) DeepCopy() *EBSParameters

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

func (*EBSParameters) DeepCopyInto

func (in *EBSParameters) DeepCopyInto(out *EBSParameters)

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

type ElasticIPPoolInitParameters added in v0.3.0

type ElasticIPPoolInitParameters struct {

	// A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
	TagSelector []TagSelectorInitParameters `json:"tagSelector,omitempty" tf:"tag_selector,omitempty"`
}

func (*ElasticIPPoolInitParameters) DeepCopy added in v0.3.0

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

func (*ElasticIPPoolInitParameters) DeepCopyInto added in v0.3.0

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

type ElasticIPPoolObservation

type ElasticIPPoolObservation struct {

	// A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
	TagSelector []TagSelectorObservation `json:"tagSelector,omitempty" tf:"tag_selector,omitempty"`
}

func (*ElasticIPPoolObservation) DeepCopy

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

func (*ElasticIPPoolObservation) DeepCopyInto

func (in *ElasticIPPoolObservation) DeepCopyInto(out *ElasticIPPoolObservation)

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

type ElasticIPPoolParameters

type ElasticIPPoolParameters struct {

	// A key-value pair, which defines an Elastic IP from the customer pool. Can be null.
	// +kubebuilder:validation:Optional
	TagSelector []TagSelectorParameters `json:"tagSelector,omitempty" tf:"tag_selector,omitempty"`
}

func (*ElasticIPPoolParameters) DeepCopy

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

func (*ElasticIPPoolParameters) DeepCopyInto

func (in *ElasticIPPoolParameters) DeepCopyInto(out *ElasticIPPoolParameters)

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

type EphemeralStorageInitParameters added in v0.3.0

type EphemeralStorageInitParameters struct {

	// Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.
	EphemeralStorageDeviceName *string `json:"ephemeralStorageDeviceName,omitempty" tf:"ephemeral_storage_device_name,omitempty"`
}

func (*EphemeralStorageInitParameters) DeepCopy added in v0.3.0

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

func (*EphemeralStorageInitParameters) DeepCopyInto added in v0.3.0

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

type EphemeralStorageObservation added in v0.2.0

type EphemeralStorageObservation struct {

	// Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.
	EphemeralStorageDeviceName *string `json:"ephemeralStorageDeviceName,omitempty" tf:"ephemeral_storage_device_name,omitempty"`
}

func (*EphemeralStorageObservation) DeepCopy added in v0.2.0

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

func (*EphemeralStorageObservation) DeepCopyInto added in v0.2.0

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

type EphemeralStorageParameters added in v0.2.0

type EphemeralStorageParameters struct {

	// Specify an alternative device name from which ephemeral storage calculations should be derived. This parameter is used when the ephemeral storage should not utilize the root device. Provide the device name configured in the VNG's BDM or AMI's BDM that differs from the default root device.
	// +kubebuilder:validation:Optional
	EphemeralStorageDeviceName *string `json:"ephemeralStorageDeviceName,omitempty" tf:"ephemeral_storage_device_name,omitempty"`
}

func (*EphemeralStorageParameters) DeepCopy added in v0.2.0

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

func (*EphemeralStorageParameters) DeepCopyInto added in v0.2.0

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

type ImagesInitParameters added in v0.3.0

type ImagesInitParameters struct {

	// ID of the image used to launch the instances.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`
}

func (*ImagesInitParameters) DeepCopy added in v0.3.0

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

func (*ImagesInitParameters) DeepCopyInto added in v0.3.0

func (in *ImagesInitParameters) DeepCopyInto(out *ImagesInitParameters)

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

type ImagesObservation

type ImagesObservation struct {

	// ID of the image used to launch the instances.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`
}

func (*ImagesObservation) DeepCopy

func (in *ImagesObservation) DeepCopy() *ImagesObservation

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

func (*ImagesObservation) DeepCopyInto

func (in *ImagesObservation) DeepCopyInto(out *ImagesObservation)

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

type ImagesParameters

type ImagesParameters struct {

	// ID of the image used to launch the instances.
	// +kubebuilder:validation:Optional
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`
}

func (*ImagesParameters) DeepCopy

func (in *ImagesParameters) DeepCopy() *ImagesParameters

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

func (*ImagesParameters) DeepCopyInto

func (in *ImagesParameters) DeepCopyInto(out *ImagesParameters)

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

type InstanceMetadataOptionsInitParameters added in v0.3.0

type InstanceMetadataOptionsInitParameters struct {

	// An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Determines if a signed token is required or not. Valid values: optional or required.
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`
}

func (*InstanceMetadataOptionsInitParameters) DeepCopy added in v0.3.0

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

func (*InstanceMetadataOptionsInitParameters) DeepCopyInto added in v0.3.0

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

type InstanceMetadataOptionsObservation

type InstanceMetadataOptionsObservation struct {

	// An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Determines if a signed token is required or not. Valid values: optional or required.
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`
}

func (*InstanceMetadataOptionsObservation) DeepCopy

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

func (*InstanceMetadataOptionsObservation) DeepCopyInto

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

type InstanceMetadataOptionsParameters

type InstanceMetadataOptionsParameters struct {

	// An integer from 1 through 64. The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further the instance metadata requests can travel.
	// +kubebuilder:validation:Optional
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Determines if a signed token is required or not. Valid values: optional or required.
	// +kubebuilder:validation:Optional
	HTTPTokens *string `json:"httpTokens" tf:"http_tokens,omitempty"`
}

func (*InstanceMetadataOptionsParameters) DeepCopy

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

func (*InstanceMetadataOptionsParameters) DeepCopyInto

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

type InstanceTypesFiltersInitParameters added in v0.3.0

type InstanceTypesFiltersInitParameters struct {

	// The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
	// +listType=set
	Categories []*string `json:"categories,omitempty" tf:"categories,omitempty"`

	// The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
	// +listType=set
	DiskTypes []*string `json:"diskTypes,omitempty" tf:"disk_types,omitempty"`

	// Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
	// +listType=set
	ExcludeFamilies []*string `json:"excludeFamilies,omitempty" tf:"exclude_families,omitempty"`

	// In case excludeMetal is set to true, metal types will not be available for scaling.
	ExcludeMetal *bool `json:"excludeMetal,omitempty" tf:"exclude_metal,omitempty"`

	// The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
	// +listType=set
	Hypervisor []*string `json:"hypervisor,omitempty" tf:"hypervisor,omitempty"`

	// Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
	// +listType=set
	IncludeFamilies []*string `json:"includeFamilies,omitempty" tf:"include_families,omitempty"`

	// Ena is supported or not.
	IsEnaSupported *string `json:"isEnaSupported,omitempty" tf:"is_ena_supported,omitempty"`

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

	// Maximum amount of Memory (GiB).
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// Maximum Bandwidth in Gib/s of network performance.
	MaxNetworkPerformance *float64 `json:"maxNetworkPerformance,omitempty" tf:"max_network_performance,omitempty"`

	// Maximum number of vcpus available.
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`

	// Minimum number of network interfaces (ENIs).
	MinEnis *float64 `json:"minEnis,omitempty" tf:"min_enis,omitempty"`

	// Minimum total number of GPUs.
	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 Bandwidth in Gib/s of network performance.
	MinNetworkPerformance *float64 `json:"minNetworkPerformance,omitempty" tf:"min_network_performance,omitempty"`

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

	// The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
	// +listType=set
	RootDeviceTypes []*string `json:"rootDeviceTypes,omitempty" tf:"root_device_types,omitempty"`

	// The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
	// +listType=set
	VirtualizationTypes []*string `json:"virtualizationTypes,omitempty" tf:"virtualization_types,omitempty"`
}

func (*InstanceTypesFiltersInitParameters) DeepCopy added in v0.3.0

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

func (*InstanceTypesFiltersInitParameters) DeepCopyInto added in v0.3.0

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

type InstanceTypesFiltersObservation

type InstanceTypesFiltersObservation struct {

	// The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
	// +listType=set
	Categories []*string `json:"categories,omitempty" tf:"categories,omitempty"`

	// The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
	// +listType=set
	DiskTypes []*string `json:"diskTypes,omitempty" tf:"disk_types,omitempty"`

	// Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
	// +listType=set
	ExcludeFamilies []*string `json:"excludeFamilies,omitempty" tf:"exclude_families,omitempty"`

	// In case excludeMetal is set to true, metal types will not be available for scaling.
	ExcludeMetal *bool `json:"excludeMetal,omitempty" tf:"exclude_metal,omitempty"`

	// The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
	// +listType=set
	Hypervisor []*string `json:"hypervisor,omitempty" tf:"hypervisor,omitempty"`

	// Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
	// +listType=set
	IncludeFamilies []*string `json:"includeFamilies,omitempty" tf:"include_families,omitempty"`

	// Ena is supported or not.
	IsEnaSupported *string `json:"isEnaSupported,omitempty" tf:"is_ena_supported,omitempty"`

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

	// Maximum amount of Memory (GiB).
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// Maximum Bandwidth in Gib/s of network performance.
	MaxNetworkPerformance *float64 `json:"maxNetworkPerformance,omitempty" tf:"max_network_performance,omitempty"`

	// Maximum number of vcpus available.
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`

	// Minimum number of network interfaces (ENIs).
	MinEnis *float64 `json:"minEnis,omitempty" tf:"min_enis,omitempty"`

	// Minimum total number of GPUs.
	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 Bandwidth in Gib/s of network performance.
	MinNetworkPerformance *float64 `json:"minNetworkPerformance,omitempty" tf:"min_network_performance,omitempty"`

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

	// The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
	// +listType=set
	RootDeviceTypes []*string `json:"rootDeviceTypes,omitempty" tf:"root_device_types,omitempty"`

	// The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
	// +listType=set
	VirtualizationTypes []*string `json:"virtualizationTypes,omitempty" tf:"virtualization_types,omitempty"`
}

func (*InstanceTypesFiltersObservation) DeepCopy

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

func (*InstanceTypesFiltersObservation) DeepCopyInto

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

type InstanceTypesFiltersParameters

type InstanceTypesFiltersParameters struct {

	// The filtered instance types will belong to one of the categories types from this list. Valid values: Accelerated_computing, Compute_optimized, General_purpose, Memory_optimized, Storage_optimized.
	// +kubebuilder:validation:Optional
	// +listType=set
	Categories []*string `json:"categories,omitempty" tf:"categories,omitempty"`

	// The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
	// +kubebuilder:validation:Optional
	// +listType=set
	DiskTypes []*string `json:"diskTypes,omitempty" tf:"disk_types,omitempty"`

	// Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExcludeFamilies []*string `json:"excludeFamilies,omitempty" tf:"exclude_families,omitempty"`

	// In case excludeMetal is set to true, metal types will not be available for scaling.
	// +kubebuilder:validation:Optional
	ExcludeMetal *bool `json:"excludeMetal,omitempty" tf:"exclude_metal,omitempty"`

	// The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
	// +kubebuilder:validation:Optional
	// +listType=set
	Hypervisor []*string `json:"hypervisor,omitempty" tf:"hypervisor,omitempty"`

	// Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
	// +kubebuilder:validation:Optional
	// +listType=set
	IncludeFamilies []*string `json:"includeFamilies,omitempty" tf:"include_families,omitempty"`

	// Ena is supported or not.
	// +kubebuilder:validation:Optional
	IsEnaSupported *string `json:"isEnaSupported,omitempty" tf:"is_ena_supported,omitempty"`

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

	// Maximum amount of Memory (GiB).
	// +kubebuilder:validation:Optional
	MaxMemoryGib *float64 `json:"maxMemoryGib,omitempty" tf:"max_memory_gib,omitempty"`

	// Maximum Bandwidth in Gib/s of network performance.
	// +kubebuilder:validation:Optional
	MaxNetworkPerformance *float64 `json:"maxNetworkPerformance,omitempty" tf:"max_network_performance,omitempty"`

	// Maximum number of vcpus available.
	// +kubebuilder:validation:Optional
	MaxVcpu *float64 `json:"maxVcpu,omitempty" tf:"max_vcpu,omitempty"`

	// Minimum number of network interfaces (ENIs).
	// +kubebuilder:validation:Optional
	MinEnis *float64 `json:"minEnis,omitempty" tf:"min_enis,omitempty"`

	// Minimum total number of GPUs.
	// +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 Bandwidth in Gib/s of network performance.
	// +kubebuilder:validation:Optional
	MinNetworkPerformance *float64 `json:"minNetworkPerformance,omitempty" tf:"min_network_performance,omitempty"`

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

	// The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
	// +kubebuilder:validation:Optional
	// +listType=set
	RootDeviceTypes []*string `json:"rootDeviceTypes,omitempty" tf:"root_device_types,omitempty"`

	// The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
	// +kubebuilder:validation:Optional
	// +listType=set
	VirtualizationTypes []*string `json:"virtualizationTypes,omitempty" tf:"virtualization_types,omitempty"`
}

func (*InstanceTypesFiltersParameters) DeepCopy

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

func (*InstanceTypesFiltersParameters) DeepCopyInto

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

type LabelsInitParameters added in v0.3.0

type LabelsInitParameters struct {

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

func (*LabelsInitParameters) DeepCopy added in v0.3.0

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

func (*LabelsInitParameters) DeepCopyInto added in v0.3.0

func (in *LabelsInitParameters) DeepCopyInto(out *LabelsInitParameters)

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

type LabelsObservation

type LabelsObservation struct {

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

func (*LabelsObservation) DeepCopy

func (in *LabelsObservation) DeepCopy() *LabelsObservation

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

func (*LabelsObservation) DeepCopyInto

func (in *LabelsObservation) DeepCopyInto(out *LabelsObservation)

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

type LabelsParameters

type LabelsParameters struct {

	// The label key.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

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

func (*LabelsParameters) DeepCopy

func (in *LabelsParameters) DeepCopy() *LabelsParameters

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

func (*LabelsParameters) DeepCopyInto

func (in *LabelsParameters) DeepCopyInto(out *LabelsParameters)

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

type OceanAwsLaunchSpec

type OceanAwsLaunchSpec 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.oceanId) || (has(self.initProvider) && has(self.initProvider.oceanId))",message="spec.forProvider.oceanId is a required parameter"
	Spec   OceanAwsLaunchSpecSpec   `json:"spec"`
	Status OceanAwsLaunchSpecStatus `json:"status,omitempty"`
}

OceanAwsLaunchSpec is the Schema for the OceanAwsLaunchSpecs API. Provides a Spotinst Virtual Node Group resource using AWS. +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 (*OceanAwsLaunchSpec) DeepCopy

func (in *OceanAwsLaunchSpec) DeepCopy() *OceanAwsLaunchSpec

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

func (*OceanAwsLaunchSpec) DeepCopyInto

func (in *OceanAwsLaunchSpec) DeepCopyInto(out *OceanAwsLaunchSpec)

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

func (*OceanAwsLaunchSpec) DeepCopyObject

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

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

func (*OceanAwsLaunchSpec) GetCondition

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

GetCondition of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetDeletionPolicy

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

GetDeletionPolicy of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) GetID

func (tr *OceanAwsLaunchSpec) GetID() string

GetID returns ID of underlying Terraform resource of this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetInitParameters added in v0.3.0

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

GetInitParameters of this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetManagementPolicies added in v0.3.0

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

GetManagementPolicies of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) GetMergedParameters added in v0.3.0

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

GetInitParameters of this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetObservation

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

GetObservation of this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetParameters

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

GetParameters of this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetProviderConfigReference

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

GetProviderConfigReference of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) GetTerraformResourceType

func (mg *OceanAwsLaunchSpec) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) GetTerraformSchemaVersion

func (tr *OceanAwsLaunchSpec) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*OceanAwsLaunchSpec) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) Hub added in v0.3.0

func (tr *OceanAwsLaunchSpec) Hub()

Hub marks this type as a conversion hub.

func (*OceanAwsLaunchSpec) LateInitialize

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

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

func (*OceanAwsLaunchSpec) SetConditions

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

SetConditions of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) SetDeletionPolicy

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

SetDeletionPolicy of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) SetManagementPolicies added in v0.3.0

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

SetManagementPolicies of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) SetObservation

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

SetObservation for this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) SetParameters

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

SetParameters for this OceanAwsLaunchSpec

func (*OceanAwsLaunchSpec) SetProviderConfigReference

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

SetProviderConfigReference of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpec) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this OceanAwsLaunchSpec.

type OceanAwsLaunchSpecInitParameters added in v0.3.0

type OceanAwsLaunchSpecInitParameters struct {

	// Configure public IP address allocation.
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

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

	// Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
	AutoscaleHeadrooms []AutoscaleHeadroomsInitParameters `json:"autoscaleHeadrooms,omitempty" tf:"autoscale_headrooms,omitempty"`

	// Set automatic headroom per launch spec.
	AutoscaleHeadroomsAutomatic []AutoscaleHeadroomsAutomaticInitParameters `json:"autoscaleHeadroomsAutomatic,omitempty" tf:"autoscale_headrooms_automatic,omitempty"`

	// Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
	BlockDeviceMappings []BlockDeviceMappingsInitParameters `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	CreateOptions []CreateOptionsInitParameters `json:"createOptions,omitempty" tf:"create_options,omitempty"`

	DeleteOptions []DeleteOptionsInitParameters `json:"deleteOptions,omitempty" tf:"delete_options,omitempty"`

	// Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
	ElasticIPPool []ElasticIPPoolInitParameters `json:"elasticIpPool,omitempty" tf:"elastic_ip_pool,omitempty"`

	EphemeralStorage []EphemeralStorageInitParameters `json:"ephemeralStorage,omitempty" tf:"ephemeral_storage,omitempty"`

	// The ARN or name of an IAM instance profile to associate with launched instances.
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// ID of the image used to launch the instances.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
	// For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
	Images []ImagesInitParameters `json:"images,omitempty" tf:"images,omitempty"`

	// Ocean instance metadata options object for IMDSv2.
	InstanceMetadataOptions []InstanceMetadataOptionsInitParameters `json:"instanceMetadataOptions,omitempty" tf:"instance_metadata_options,omitempty"`

	// A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
	InstanceTypes []*string `json:"instanceTypes,omitempty" tf:"instance_types,omitempty"`

	// The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
	// The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
	InstanceTypesFilters []InstanceTypesFiltersInitParameters `json:"instanceTypesFilters,omitempty" tf:"instance_types_filters,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	Labels []LabelsInitParameters `json:"labels,omitempty" tf:"labels,omitempty"`

	// The name of the Virtual Node Group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Ocean cluster.
	OceanID *string `json:"oceanId,omitempty" tf:"ocean_id,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	PreferredOdTypes []*string `json:"preferredOdTypes,omitempty" tf:"preferred_od_types,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	PreferredSpotTypes []*string `json:"preferredSpotTypes,omitempty" tf:"preferred_spot_types,omitempty"`

	// Specifies the count of ENIs to reserve per instance type for scaling purposes.
	ReservedEnis *float64 `json:"reservedEnis,omitempty" tf:"reserved_enis,omitempty"`

	ResourceLimits []ResourceLimitsInitParameters `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`

	// Boolean. When set to true, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
	RestrictScaleDown *bool `json:"restrictScaleDown,omitempty" tf:"restrict_scale_down,omitempty"`

	// Set root volume size (in GB).
	RootVolumeSize *float64 `json:"rootVolumeSize,omitempty" tf:"root_volume_size,omitempty"`

	// Used to specify times that the nodes in the virtual node group will be taken down.
	SchedulingShutdownHours []SchedulingShutdownHoursInitParameters `json:"schedulingShutdownHours,omitempty" tf:"scheduling_shutdown_hours,omitempty"`

	// Used to define scheduled tasks such as a manual headroom update.
	SchedulingTask []SchedulingTaskInitParameters `json:"schedulingTask,omitempty" tf:"scheduling_task,omitempty"`

	// Optionally adds security group IDs.
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	Strategy []StrategyInitParameters `json:"strategy,omitempty" tf:"strategy,omitempty"`

	// A list of subnet IDs.
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// A key/value mapping of tags to assign to the resource.
	Tags []TagsInitParameters `json:"tags,omitempty" tf:"tags,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	Taints []TaintsInitParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	UpdatePolicy []UpdatePolicyInitParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Base64-encoded MIME user data to make available to the instances.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*OceanAwsLaunchSpecInitParameters) DeepCopy added in v0.3.0

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

func (*OceanAwsLaunchSpecInitParameters) DeepCopyInto added in v0.3.0

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

type OceanAwsLaunchSpecList

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

OceanAwsLaunchSpecList contains a list of OceanAwsLaunchSpecs

func (*OceanAwsLaunchSpecList) DeepCopy

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

func (*OceanAwsLaunchSpecList) DeepCopyInto

func (in *OceanAwsLaunchSpecList) DeepCopyInto(out *OceanAwsLaunchSpecList)

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

func (*OceanAwsLaunchSpecList) DeepCopyObject

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

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

func (*OceanAwsLaunchSpecList) GetItems

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

GetItems of this OceanAwsLaunchSpecList.

type OceanAwsLaunchSpecObservation

type OceanAwsLaunchSpecObservation struct {

	// Configure public IP address allocation.
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

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

	// Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
	AutoscaleHeadrooms []AutoscaleHeadroomsObservation `json:"autoscaleHeadrooms,omitempty" tf:"autoscale_headrooms,omitempty"`

	// Set automatic headroom per launch spec.
	AutoscaleHeadroomsAutomatic []AutoscaleHeadroomsAutomaticObservation `json:"autoscaleHeadroomsAutomatic,omitempty" tf:"autoscale_headrooms_automatic,omitempty"`

	// Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
	BlockDeviceMappings []BlockDeviceMappingsObservation `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	CreateOptions []CreateOptionsObservation `json:"createOptions,omitempty" tf:"create_options,omitempty"`

	DeleteOptions []DeleteOptionsObservation `json:"deleteOptions,omitempty" tf:"delete_options,omitempty"`

	// Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
	ElasticIPPool []ElasticIPPoolObservation `json:"elasticIpPool,omitempty" tf:"elastic_ip_pool,omitempty"`

	EphemeralStorage []EphemeralStorageObservation `json:"ephemeralStorage,omitempty" tf:"ephemeral_storage,omitempty"`

	// The ARN or name of an IAM instance profile to associate with launched instances.
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// The Virtual Node Group ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// ID of the image used to launch the instances.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
	// For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
	Images []ImagesObservation `json:"images,omitempty" tf:"images,omitempty"`

	// Ocean instance metadata options object for IMDSv2.
	InstanceMetadataOptions []InstanceMetadataOptionsObservation `json:"instanceMetadataOptions,omitempty" tf:"instance_metadata_options,omitempty"`

	// A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
	InstanceTypes []*string `json:"instanceTypes,omitempty" tf:"instance_types,omitempty"`

	// The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
	// The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
	InstanceTypesFilters []InstanceTypesFiltersObservation `json:"instanceTypesFilters,omitempty" tf:"instance_types_filters,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	Labels []LabelsObservation `json:"labels,omitempty" tf:"labels,omitempty"`

	// The name of the Virtual Node Group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Ocean cluster.
	OceanID *string `json:"oceanId,omitempty" tf:"ocean_id,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	PreferredOdTypes []*string `json:"preferredOdTypes,omitempty" tf:"preferred_od_types,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	PreferredSpotTypes []*string `json:"preferredSpotTypes,omitempty" tf:"preferred_spot_types,omitempty"`

	// Specifies the count of ENIs to reserve per instance type for scaling purposes.
	ReservedEnis *float64 `json:"reservedEnis,omitempty" tf:"reserved_enis,omitempty"`

	ResourceLimits []ResourceLimitsObservation `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`

	// Boolean. When set to true, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
	RestrictScaleDown *bool `json:"restrictScaleDown,omitempty" tf:"restrict_scale_down,omitempty"`

	// Set root volume size (in GB).
	RootVolumeSize *float64 `json:"rootVolumeSize,omitempty" tf:"root_volume_size,omitempty"`

	// Used to specify times that the nodes in the virtual node group will be taken down.
	SchedulingShutdownHours []SchedulingShutdownHoursObservation `json:"schedulingShutdownHours,omitempty" tf:"scheduling_shutdown_hours,omitempty"`

	// Used to define scheduled tasks such as a manual headroom update.
	SchedulingTask []SchedulingTaskObservation `json:"schedulingTask,omitempty" tf:"scheduling_task,omitempty"`

	// Optionally adds security group IDs.
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	Strategy []StrategyObservation `json:"strategy,omitempty" tf:"strategy,omitempty"`

	// A list of subnet IDs.
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// A key/value mapping of tags to assign to the resource.
	Tags []TagsObservation `json:"tags,omitempty" tf:"tags,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	Taints []TaintsObservation `json:"taints,omitempty" tf:"taints,omitempty"`

	UpdatePolicy []UpdatePolicyObservation `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Base64-encoded MIME user data to make available to the instances.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*OceanAwsLaunchSpecObservation) DeepCopy

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

func (*OceanAwsLaunchSpecObservation) DeepCopyInto

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

type OceanAwsLaunchSpecParameters

type OceanAwsLaunchSpecParameters struct {

	// Configure public IP address allocation.
	// +kubebuilder:validation:Optional
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

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

	// Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
	// +kubebuilder:validation:Optional
	AutoscaleHeadrooms []AutoscaleHeadroomsParameters `json:"autoscaleHeadrooms,omitempty" tf:"autoscale_headrooms,omitempty"`

	// Set automatic headroom per launch spec.
	// +kubebuilder:validation:Optional
	AutoscaleHeadroomsAutomatic []AutoscaleHeadroomsAutomaticParameters `json:"autoscaleHeadroomsAutomatic,omitempty" tf:"autoscale_headrooms_automatic,omitempty"`

	// Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
	// +kubebuilder:validation:Optional
	BlockDeviceMappings []BlockDeviceMappingsParameters `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	// +kubebuilder:validation:Optional
	CreateOptions []CreateOptionsParameters `json:"createOptions,omitempty" tf:"create_options,omitempty"`

	// +kubebuilder:validation:Optional
	DeleteOptions []DeleteOptionsParameters `json:"deleteOptions,omitempty" tf:"delete_options,omitempty"`

	// Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
	// +kubebuilder:validation:Optional
	ElasticIPPool []ElasticIPPoolParameters `json:"elasticIpPool,omitempty" tf:"elastic_ip_pool,omitempty"`

	// +kubebuilder:validation:Optional
	EphemeralStorage []EphemeralStorageParameters `json:"ephemeralStorage,omitempty" tf:"ephemeral_storage,omitempty"`

	// The ARN or name of an IAM instance profile to associate with launched instances.
	// +kubebuilder:validation:Optional
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// ID of the image used to launch the instances.
	// +kubebuilder:validation:Optional
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Array of objects (Image object, containing the id of the image used to launch instances.) You can configure VNG with either the imageId or images objects, but not both simultaneously.
	// For each architecture type (amd64, arm64) only one AMI is allowed. Valid values: null, or an array with at least one element.
	// +kubebuilder:validation:Optional
	Images []ImagesParameters `json:"images,omitempty" tf:"images,omitempty"`

	// Ocean instance metadata options object for IMDSv2.
	// +kubebuilder:validation:Optional
	InstanceMetadataOptions []InstanceMetadataOptionsParameters `json:"instanceMetadataOptions,omitempty" tf:"instance_metadata_options,omitempty"`

	// A list of instance types allowed to be provisioned for pods pending under the specified launch specification. The list overrides the list defined for the cluster.
	// +kubebuilder:validation:Optional
	InstanceTypes []*string `json:"instanceTypes,omitempty" tf:"instance_types,omitempty"`

	// The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter.
	// The architectures that come from the Virtual Node Group's images will be taken into account when using this parameter. Cannot be configured together with Virtual Node Group's instanceTypes and with the Cluster's whitelist/blacklist/filters.
	// +kubebuilder:validation:Optional
	InstanceTypesFilters []InstanceTypesFiltersParameters `json:"instanceTypesFilters,omitempty" tf:"instance_types_filters,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	// +kubebuilder:validation:Optional
	Labels []LabelsParameters `json:"labels,omitempty" tf:"labels,omitempty"`

	// The name of the Virtual Node Group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of the Ocean cluster.
	// +kubebuilder:validation:Optional
	OceanID *string `json:"oceanId,omitempty" tf:"ocean_id,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	// +kubebuilder:validation:Optional
	PreferredOdTypes []*string `json:"preferredOdTypes,omitempty" tf:"preferred_od_types,omitempty"`

	// A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
	// +kubebuilder:validation:Optional
	PreferredSpotTypes []*string `json:"preferredSpotTypes,omitempty" tf:"preferred_spot_types,omitempty"`

	// Specifies the count of ENIs to reserve per instance type for scaling purposes.
	// +kubebuilder:validation:Optional
	ReservedEnis *float64 `json:"reservedEnis,omitempty" tf:"reserved_enis,omitempty"`

	// +kubebuilder:validation:Optional
	ResourceLimits []ResourceLimitsParameters `json:"resourceLimits,omitempty" tf:"resource_limits,omitempty"`

	// Boolean. When set to true, nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless empty.
	// +kubebuilder:validation:Optional
	RestrictScaleDown *bool `json:"restrictScaleDown,omitempty" tf:"restrict_scale_down,omitempty"`

	// Set root volume size (in GB).
	// +kubebuilder:validation:Optional
	RootVolumeSize *float64 `json:"rootVolumeSize,omitempty" tf:"root_volume_size,omitempty"`

	// Used to specify times that the nodes in the virtual node group will be taken down.
	// +kubebuilder:validation:Optional
	SchedulingShutdownHours []SchedulingShutdownHoursParameters `json:"schedulingShutdownHours,omitempty" tf:"scheduling_shutdown_hours,omitempty"`

	// Used to define scheduled tasks such as a manual headroom update.
	// +kubebuilder:validation:Optional
	SchedulingTask []SchedulingTaskParameters `json:"schedulingTask,omitempty" tf:"scheduling_task,omitempty"`

	// Optionally adds security group IDs.
	// +kubebuilder:validation:Optional
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// +kubebuilder:validation:Optional
	Strategy []StrategyParameters `json:"strategy,omitempty" tf:"strategy,omitempty"`

	// A list of subnet IDs.
	// +kubebuilder:validation:Optional
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// A key/value mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	Tags []TagsParameters `json:"tags,omitempty" tf:"tags,omitempty"`

	// Optionally adds labels to instances launched in the cluster.
	// +kubebuilder:validation:Optional
	Taints []TaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	// +kubebuilder:validation:Optional
	UpdatePolicy []UpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"`

	// Base64-encoded MIME user data to make available to the instances.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*OceanAwsLaunchSpecParameters) DeepCopy

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

func (*OceanAwsLaunchSpecParameters) DeepCopyInto

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

type OceanAwsLaunchSpecSpec

type OceanAwsLaunchSpecSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     OceanAwsLaunchSpecParameters `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 OceanAwsLaunchSpecInitParameters `json:"initProvider,omitempty"`
}

OceanAwsLaunchSpecSpec defines the desired state of OceanAwsLaunchSpec

func (*OceanAwsLaunchSpecSpec) DeepCopy

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

func (*OceanAwsLaunchSpecSpec) DeepCopyInto

func (in *OceanAwsLaunchSpecSpec) DeepCopyInto(out *OceanAwsLaunchSpecSpec)

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

type OceanAwsLaunchSpecStatus

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

OceanAwsLaunchSpecStatus defines the observed state of OceanAwsLaunchSpec.

func (*OceanAwsLaunchSpecStatus) DeepCopy

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

func (*OceanAwsLaunchSpecStatus) DeepCopyInto

func (in *OceanAwsLaunchSpecStatus) DeepCopyInto(out *OceanAwsLaunchSpecStatus)

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 {

	// Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	MaxInstanceCount *float64 `json:"maxInstanceCount,omitempty" tf:"max_instance_count,omitempty"`

	// Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	MinInstanceCount *float64 `json:"minInstanceCount,omitempty" tf:"min_instance_count,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 {

	// Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	MaxInstanceCount *float64 `json:"maxInstanceCount,omitempty" tf:"max_instance_count,omitempty"`

	// Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	MinInstanceCount *float64 `json:"minInstanceCount,omitempty" tf:"min_instance_count,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 {

	// Set a maximum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	// +kubebuilder:validation:Optional
	MaxInstanceCount *float64 `json:"maxInstanceCount,omitempty" tf:"max_instance_count,omitempty"`

	// Set a minimum number of instances per Virtual Node Group. Can be null. If set, value must be greater than or equal to 0.
	// +kubebuilder:validation:Optional
	MinInstanceCount *float64 `json:"minInstanceCount,omitempty" tf:"min_instance_count,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 {

	// Sets the percentage of the instances to deploy in each batch.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

	// During the roll, if the parameter is set to true we honor PDB during the instance replacement.
	RespectPdb *bool `json:"respectPdb,omitempty" tf:"respect_pdb,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

type RollConfigObservation struct {

	// Sets the percentage of the instances to deploy in each batch.
	BatchSizePercentage *float64 `json:"batchSizePercentage,omitempty" tf:"batch_size_percentage,omitempty"`

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

func (*RollConfigObservation) DeepCopy

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

func (*RollConfigObservation) DeepCopyInto

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

type RollConfigParameters struct {

	// Sets the percentage of the instances to deploy in each batch.
	// +kubebuilder:validation:Optional
	BatchSizePercentage *float64 `json:"batchSizePercentage" tf:"batch_size_percentage,omitempty"`

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

func (*RollConfigParameters) DeepCopy

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

func (*RollConfigParameters) DeepCopyInto

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

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

type SchedulingShutdownHoursInitParameters added in v0.3.0

type SchedulingShutdownHoursInitParameters struct {

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

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

func (*SchedulingShutdownHoursInitParameters) DeepCopy added in v0.3.0

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

func (*SchedulingShutdownHoursInitParameters) DeepCopyInto added in v0.3.0

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

type SchedulingShutdownHoursObservation

type SchedulingShutdownHoursObservation struct {

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

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

func (*SchedulingShutdownHoursObservation) DeepCopy

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

func (*SchedulingShutdownHoursObservation) DeepCopyInto

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

type SchedulingShutdownHoursParameters

type SchedulingShutdownHoursParameters struct {

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

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

func (*SchedulingShutdownHoursParameters) DeepCopy

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

func (*SchedulingShutdownHoursParameters) DeepCopyInto

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

type SchedulingTaskInitParameters added in v0.3.0

type SchedulingTaskInitParameters struct {

	// A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
	CronExpression *string `json:"cronExpression,omitempty" tf:"cron_expression,omitempty"`

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The config of this scheduled task. Depends on the value of taskType.
	TaskHeadroom []TaskHeadroomInitParameters `json:"taskHeadroom,omitempty" tf:"task_headroom,omitempty"`

	// The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
	TaskType *string `json:"taskType,omitempty" tf:"task_type,omitempty"`
}

func (*SchedulingTaskInitParameters) DeepCopy added in v0.3.0

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

func (*SchedulingTaskInitParameters) DeepCopyInto added in v0.3.0

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

type SchedulingTaskObservation

type SchedulingTaskObservation struct {

	// A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
	CronExpression *string `json:"cronExpression,omitempty" tf:"cron_expression,omitempty"`

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The config of this scheduled task. Depends on the value of taskType.
	TaskHeadroom []TaskHeadroomObservation `json:"taskHeadroom,omitempty" tf:"task_headroom,omitempty"`

	// The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
	TaskType *string `json:"taskType,omitempty" tf:"task_type,omitempty"`
}

func (*SchedulingTaskObservation) DeepCopy

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

func (*SchedulingTaskObservation) DeepCopyInto

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

type SchedulingTaskParameters

type SchedulingTaskParameters struct {

	// A valid cron expression. For example : " * * * * * ". The cron job runs in UTC time and is in Unix cron format.
	// +kubebuilder:validation:Optional
	CronExpression *string `json:"cronExpression" tf:"cron_expression,omitempty"`

	// Describes whether the task is enabled. When true, the task runs. When false, it does not run.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled" tf:"is_enabled,omitempty"`

	// The config of this scheduled task. Depends on the value of taskType.
	// +kubebuilder:validation:Optional
	TaskHeadroom []TaskHeadroomParameters `json:"taskHeadroom,omitempty" tf:"task_headroom,omitempty"`

	// The activity that you are scheduling. Valid values: "manualHeadroomUpdate".
	// +kubebuilder:validation:Optional
	TaskType *string `json:"taskType" tf:"task_type,omitempty"`
}

func (*SchedulingTaskParameters) DeepCopy

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

func (*SchedulingTaskParameters) DeepCopyInto

func (in *SchedulingTaskParameters) DeepCopyInto(out *SchedulingTaskParameters)

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

type StrategyInitParameters added in v0.3.0

type StrategyInitParameters struct {

	// The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
	DrainingTimeout *float64 `json:"drainingTimeout,omitempty" tf:"draining_timeout,omitempty"`

	// The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
	SpotPercentage *float64 `json:"spotPercentage,omitempty" tf:"spot_percentage,omitempty"`

	// When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
	UtilizeCommitments *bool `json:"utilizeCommitments,omitempty" tf:"utilize_commitments,omitempty"`

	// When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
	UtilizeReservedInstances *bool `json:"utilizeReservedInstances,omitempty" tf:"utilize_reserved_instances,omitempty"`
}

func (*StrategyInitParameters) DeepCopy added in v0.3.0

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

func (*StrategyInitParameters) DeepCopyInto added in v0.3.0

func (in *StrategyInitParameters) DeepCopyInto(out *StrategyInitParameters)

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

type StrategyObservation

type StrategyObservation struct {

	// The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
	DrainingTimeout *float64 `json:"drainingTimeout,omitempty" tf:"draining_timeout,omitempty"`

	// The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
	SpotPercentage *float64 `json:"spotPercentage,omitempty" tf:"spot_percentage,omitempty"`

	// When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
	UtilizeCommitments *bool `json:"utilizeCommitments,omitempty" tf:"utilize_commitments,omitempty"`

	// When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
	UtilizeReservedInstances *bool `json:"utilizeReservedInstances,omitempty" tf:"utilize_reserved_instances,omitempty"`
}

func (*StrategyObservation) DeepCopy

func (in *StrategyObservation) DeepCopy() *StrategyObservation

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

func (*StrategyObservation) DeepCopyInto

func (in *StrategyObservation) DeepCopyInto(out *StrategyObservation)

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

type StrategyParameters

type StrategyParameters struct {

	// The configurable amount of time that Ocean will wait for the draining process to complete before terminating an instance. If you have not defined a draining timeout, the default of 300 seconds will be used.
	// +kubebuilder:validation:Optional
	DrainingTimeout *float64 `json:"drainingTimeout,omitempty" tf:"draining_timeout,omitempty"`

	// The desired percentage of the Spot instances out of all running instances for this VNG. Only available when the field is not set in the cluster directly (cluster.strategy.spotPercentage).
	// +kubebuilder:validation:Optional
	SpotPercentage *float64 `json:"spotPercentage,omitempty" tf:"spot_percentage,omitempty"`

	// When set as ‘true’, if savings plans commitments have available capacity, Ocean will utilize them alongside RIs (if exist) to maximize cost efficiency. If the value is set as 'null', it will automatically be inherited from the cluster level.
	// +kubebuilder:validation:Optional
	UtilizeCommitments *bool `json:"utilizeCommitments,omitempty" tf:"utilize_commitments,omitempty"`

	// When set as ‘true’, if reserved instances exist, Ocean will utilize them before launching spot instances. If the value is set as 'null', it will automatically be inherited from the cluster level.
	// +kubebuilder:validation:Optional
	UtilizeReservedInstances *bool `json:"utilizeReservedInstances,omitempty" tf:"utilize_reserved_instances,omitempty"`
}

func (*StrategyParameters) DeepCopy

func (in *StrategyParameters) DeepCopy() *StrategyParameters

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

func (*StrategyParameters) DeepCopyInto

func (in *StrategyParameters) DeepCopyInto(out *StrategyParameters)

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

type TagSelectorInitParameters added in v0.3.0

type TagSelectorInitParameters struct {

	// Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
	TagKey *string `json:"tagKey,omitempty" tf:"tag_key,omitempty"`

	// Elastic IP tag value. Can be null.
	TagValue *string `json:"tagValue,omitempty" tf:"tag_value,omitempty"`
}

func (*TagSelectorInitParameters) DeepCopy added in v0.3.0

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

func (*TagSelectorInitParameters) DeepCopyInto added in v0.3.0

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

type TagSelectorObservation

type TagSelectorObservation struct {

	// Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
	TagKey *string `json:"tagKey,omitempty" tf:"tag_key,omitempty"`

	// Elastic IP tag value. Can be null.
	TagValue *string `json:"tagValue,omitempty" tf:"tag_value,omitempty"`
}

func (*TagSelectorObservation) DeepCopy

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

func (*TagSelectorObservation) DeepCopyInto

func (in *TagSelectorObservation) DeepCopyInto(out *TagSelectorObservation)

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

type TagSelectorParameters

type TagSelectorParameters struct {

	// Elastic IP tag key. The Virtual Node Group will consider all Elastic IPs tagged with this tag as a part of the Elastic IP pool to use.
	// +kubebuilder:validation:Optional
	TagKey *string `json:"tagKey" tf:"tag_key,omitempty"`

	// Elastic IP tag value. Can be null.
	// +kubebuilder:validation:Optional
	TagValue *string `json:"tagValue,omitempty" tf:"tag_value,omitempty"`
}

func (*TagSelectorParameters) DeepCopy

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

func (*TagSelectorParameters) DeepCopyInto

func (in *TagSelectorParameters) DeepCopyInto(out *TagSelectorParameters)

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

type TagsInitParameters added in v0.3.0

type TagsInitParameters struct {

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

func (*TagsInitParameters) DeepCopy added in v0.3.0

func (in *TagsInitParameters) DeepCopy() *TagsInitParameters

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

func (*TagsInitParameters) DeepCopyInto added in v0.3.0

func (in *TagsInitParameters) DeepCopyInto(out *TagsInitParameters)

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

type TagsObservation

type TagsObservation struct {

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

func (*TagsObservation) DeepCopy

func (in *TagsObservation) DeepCopy() *TagsObservation

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

func (*TagsObservation) DeepCopyInto

func (in *TagsObservation) DeepCopyInto(out *TagsObservation)

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

type TagsParameters

type TagsParameters struct {

	// The label key.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

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

func (*TagsParameters) DeepCopy

func (in *TagsParameters) DeepCopy() *TagsParameters

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

func (*TagsParameters) DeepCopyInto

func (in *TagsParameters) DeepCopyInto(out *TagsParameters)

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 {

	// The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

	// The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// The label key.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

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

	// The effect of the taint. Valid values: "NoSchedule", "PreferNoSchedule", "NoExecute".
	// +kubebuilder:validation:Optional
	Effect *string `json:"effect" tf:"effect,omitempty"`

	// The label key.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// The 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 TaskHeadroomInitParameters added in v0.3.0

type TaskHeadroomInitParameters struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	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, memory and GPU.
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*TaskHeadroomInitParameters) DeepCopy added in v0.3.0

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

func (*TaskHeadroomInitParameters) DeepCopyInto added in v0.3.0

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

type TaskHeadroomObservation

type TaskHeadroomObservation struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	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, memory and GPU.
	NumOfUnits *float64 `json:"numOfUnits,omitempty" tf:"num_of_units,omitempty"`
}

func (*TaskHeadroomObservation) DeepCopy

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

func (*TaskHeadroomObservation) DeepCopyInto

func (in *TaskHeadroomObservation) DeepCopyInto(out *TaskHeadroomObservation)

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

type TaskHeadroomParameters

type TaskHeadroomParameters struct {

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

	// Optionally configure the number of GPUS to allocate for each headroom unit.
	// +kubebuilder:validation:Optional
	GpuPerUnit *float64 `json:"gpuPerUnit,omitempty" tf:"gpu_per_unit,omitempty"`

	// Optionally configure the amount of memory (MiB) to allocate for each headroom unit.
	// +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, memory and GPU.
	// +kubebuilder:validation:Optional
	NumOfUnits *float64 `json:"numOfUnits" tf:"num_of_units,omitempty"`
}

func (*TaskHeadroomParameters) DeepCopy

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

func (*TaskHeadroomParameters) DeepCopyInto

func (in *TaskHeadroomParameters) DeepCopyInto(out *TaskHeadroomParameters)

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 {

	// Holds the roll configuration.
	RollConfig []RollConfigInitParameters `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// Enables the roll.
	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

type UpdatePolicyObservation struct {

	// Holds the roll configuration.
	RollConfig []RollConfigObservation `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// Enables the roll.
	ShouldRoll *bool `json:"shouldRoll,omitempty" tf:"should_roll,omitempty"`
}

func (*UpdatePolicyObservation) DeepCopy

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

func (*UpdatePolicyObservation) DeepCopyInto

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

type UpdatePolicyParameters struct {

	// Holds the roll configuration.
	// +kubebuilder:validation:Optional
	RollConfig []RollConfigParameters `json:"rollConfig,omitempty" tf:"roll_config,omitempty"`

	// Enables the roll.
	// +kubebuilder:validation:Optional
	ShouldRoll *bool `json:"shouldRoll" tf:"should_roll,omitempty"`
}

func (*UpdatePolicyParameters) DeepCopy

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

func (*UpdatePolicyParameters) DeepCopyInto

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