OceanAwsLaunchSpec is the Schema for the OceanAwsLaunchSpecs API. Provides a Spotinst Virtual Node Group resource using AWS.
Type
CRD
Group
oceanawslaunchspec.spot.upbound.io
Version
v1alpha1
apiVersion: oceanawslaunchspec.spot.upbound.io/v1alpha1
kind: OceanAwsLaunchSpec
OceanAwsLaunchSpecSpec defines the desired state of OceanAwsLaunchSpec
No description provided.
Auto Scaling scale down operations.
Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
Set automatic headroom per launch spec.
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
Object. Set Elastic Block Store properties .
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
No description provided.
Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
No description provided.
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.
Ocean instance metadata options object for IMDSv2.
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.
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.
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.
The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
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.
The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
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.
The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
No description provided.
Used to specify times that the nodes in the virtual node group will be taken down.
The times that the shutdown hours will apply.
Used to define scheduled tasks such as a manual headroom update.
The config of this scheduled task. Depends on the value of taskType.
Optionally adds security group IDs.
No description provided.
A list of subnet IDs.
No description provided.
Holds the roll configuration.
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.
Auto Scaling scale down operations.
Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
Set automatic headroom per launch spec.
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
Object. Set Elastic Block Store properties .
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
No description provided.
Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
No description provided.
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.
Ocean instance metadata options object for IMDSv2.
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.
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.
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.
The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
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.
The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
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.
The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
No description provided.
Used to specify times that the nodes in the virtual node group will be taken down.
The times that the shutdown hours will apply.
Used to define scheduled tasks such as a manual headroom update.
The config of this scheduled task. Depends on the value of taskType.
Optionally adds security group IDs.
No description provided.
A list of subnet IDs.
No description provided.
Holds the roll configuration.
THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
OceanAwsLaunchSpecStatus defines the observed state of OceanAwsLaunchSpec.
No description provided.
Auto Scaling scale down operations.
Set custom headroom per Virtual Node Group. Provide a list of headrooms object.
Set automatic headroom per launch spec.
Object. Array list of block devices that are exposed to the instance, specify either virtual devices and EBS volumes.
Object. Set Elastic Block Store properties .
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
No description provided.
Assign an Elastic IP to the instances spun by the Virtual Node Group. Can be null.
No description provided.
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.
Ocean instance metadata options object for IMDSv2.
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.
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.
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.
The filtered instance types will have one of the disk type from this list. Valid values: NVMe, EBS, SSD, HDD.
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.
The filtered instance types will have a hypervisor type from this list. Valid values: nitro, xen.
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.
The filtered instance types will have a root device types from this list. Valid values: ebs, or instance-store.
The filtered instance types will support at least one of the virtualization types from this list. Valid values: hvm, paravirtual.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
A list of instance types. Takes the preferred types into consideration while maintaining a variety of machine types running for optimized distribution.
No description provided.
Used to specify times that the nodes in the virtual node group will be taken down.
The times that the shutdown hours will apply.
Used to define scheduled tasks such as a manual headroom update.
The config of this scheduled task. Depends on the value of taskType.
Optionally adds security group IDs.
No description provided.
A list of subnet IDs.
No description provided.
Holds the roll configuration.
Conditions of the resource.
testvng
apiVersion: oceanawslaunchspec.spot.upbound.io/v1alpha1
kind: OceanAwsLaunchSpec
metadata:
labels:
testing.upbound.io/example-name: example
name: testvng
spec:
forProvider:
associatePublicIpAddress: true
autoscaleDown:
- maxScaleDownPercentage: 20
autoscaleHeadrooms:
- cpuPerUnit: 1024
gpuPerUnit: 0
memoryPerUnit: 512
numOfUnits: 2
autoscaleHeadroomsAutomatic:
- autoHeadroomPercentage: 5
blockDeviceMappings:
- deviceName: /dev/xvda
ebs:
- deleteOnTermination: true
encrypted: false
throughput: 125
volumeSize: 20
volumeType: gp3
createOptions:
- initialNodes: 1
iamInstanceProfile: eks-12345-54321-7890-0987
images:
- imageId: ami-12345
- imageId: ami-54321
instanceMetadataOptions:
- httpPutResponseHopLimit: 10
httpTokens: required
labels:
- key: key1
value: value1
name: testvng
oceanId: o-123456
resourceLimits:
- maxInstanceCount: 4
minInstanceCount: 0
restrictScaleDown: true
schedulingShutdownHours:
- isEnabled: false
timeWindows:
- Sat:08:00-Sat:08:30
- Sun:08:00-Sun:08:30
schedulingTask:
- cronExpression: 0 1 * * *
isEnabled: true
taskHeadroom:
- cpuPerUnit: 1000
gpuPerUnit: 0
memoryPerUnit: 2048
numOfUnits: 5
taskType: manualHeadroomUpdate
securityGroups:
- sg-12345
strategy:
- spotPercentage: 80
utilizeReservedInstances: true
subnetIds:
- subnet-12345
- subnet-54321
tags:
- key: Env
value: prod
taints:
- effect: NoExecute
key: key1
value: NoSchedule
userData: echo Hello, world!
providerConfigRef:
name: default