OceanAws is the Schema for the OceanAwss API. Provides a Spotinst Ocean resource using AWS.
Type
CRD
Group
oceanaws.spot.upbound.io
Version
v1alpha1
apiVersion: oceanaws.spot.upbound.io/v1alpha1
kind: OceanAws
OceanAwsSpec defines the desired state of OceanAws
No description provided.
Describes the Ocean Kubernetes Auto Scaler.
Auto Scaling scale down operations.
Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.
List of Ocean extended resource definitions to use in this cluster.
Optionally set upper and lower bounds on the resource usage of the cluster.
Instance types not allowed in the Ocean cluster. Cannot be configured if whitelist is configured.
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 .
Set dynamic IOPS properties. When using this object, you cannot use the iops attribute. You must use one or the other.
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist.
The filtered instance types will support at least one of the architectures from this list.
The filtered instance types will belong to one of the categories types from this list.
The filtered instance types will have one of the disk type from this list.
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.
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.
The filtered instance types will support at least one of the virtualization types from this list.
Ocean instance metadata options object for IMDSv2.
Specify which resources should be tagged with Virtual Node Group tags or Ocean tags. If tags are set on the VNG, the resources will be tagged with the VNG tags; otherwise, they will be tagged with the Ocean tags.
Set scheduling object.
Set shutdown hours for cluster object.
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of: ddd:hh:mm-ddd:hh:mm where ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, hh = hour 24 = 0 -23, mm = minute = 0 - 59. Time windows should not overlap. Required if cluster.scheduling.isEnabled is true. (Example: Fri:15:30-Wed:14:30).
The scheduling tasks for the cluster.
This filed will be compatible to the task_type field. If task_type is defined as clusterRoll, user cluster roll object in parameters.
Set amiAutoUpdate object
Set clusterRoll object
One or more security group ids.
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
No description provided.
A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the conditioned_roll parameter is set to true. (Valid values: "subnet_ids","whitelist","blacklist","user_data","image_id","security_groups","key_name","iam_instance_profile","associate_public_ip_address","load_balancers","instance_metadata_options","ebs_optimized","root_volume_size")
While used, you can control whether the group should perform a deployment after an update to the configuration.
List of virtual node group identifiers to be rolled.
Instance types allowed in the Ocean cluster. Cannot be configured if blacklist is configured.
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.
Describes the Ocean Kubernetes Auto Scaler.
Auto Scaling scale down operations.
Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.
List of Ocean extended resource definitions to use in this cluster.
Optionally set upper and lower bounds on the resource usage of the cluster.
Instance types not allowed in the Ocean cluster. Cannot be configured if whitelist is configured.
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 .
Set dynamic IOPS properties. When using this object, you cannot use the iops attribute. You must use one or the other.
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist.
The filtered instance types will support at least one of the architectures from this list.
The filtered instance types will belong to one of the categories types from this list.
The filtered instance types will have one of the disk type from this list.
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.
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.
The filtered instance types will support at least one of the virtualization types from this list.
Ocean instance metadata options object for IMDSv2.
Specify which resources should be tagged with Virtual Node Group tags or Ocean tags. If tags are set on the VNG, the resources will be tagged with the VNG tags; otherwise, they will be tagged with the Ocean tags.
Set scheduling object.
Set shutdown hours for cluster object.
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of: ddd:hh:mm-ddd:hh:mm where ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, hh = hour 24 = 0 -23, mm = minute = 0 - 59. Time windows should not overlap. Required if cluster.scheduling.isEnabled is true. (Example: Fri:15:30-Wed:14:30).
The scheduling tasks for the cluster.
This filed will be compatible to the task_type field. If task_type is defined as clusterRoll, user cluster roll object in parameters.
Set amiAutoUpdate object
Set clusterRoll object
One or more security group ids.
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
No description provided.
A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the conditioned_roll parameter is set to true. (Valid values: "subnet_ids","whitelist","blacklist","user_data","image_id","security_groups","key_name","iam_instance_profile","associate_public_ip_address","load_balancers","instance_metadata_options","ebs_optimized","root_volume_size")
While used, you can control whether the group should perform a deployment after an update to the configuration.
List of virtual node group identifiers to be rolled.
Instance types allowed in the Ocean cluster. Cannot be configured if blacklist is configured.
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.
OceanAwsStatus defines the observed state of OceanAws.
No description provided.
Describes the Ocean Kubernetes Auto Scaler.
Auto Scaling scale down operations.
Spare resource capacity management enabling fast assignment of Pods without waiting for new resources to launch.
List of Ocean extended resource definitions to use in this cluster.
Optionally set upper and lower bounds on the resource usage of the cluster.
Instance types not allowed in the Ocean cluster. Cannot be configured if whitelist is configured.
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 .
Set dynamic IOPS properties. When using this object, you cannot use the iops attribute. You must use one or the other.
Object. Set dynamic volume size properties. When using this object, you cannot use volumeSize. You must use one or the other.
No description provided.
List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist.
The filtered instance types will support at least one of the architectures from this list.
The filtered instance types will belong to one of the categories types from this list.
The filtered instance types will have one of the disk type from this list.
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.
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.
The filtered instance types will support at least one of the virtualization types from this list.
Ocean instance metadata options object for IMDSv2.
Specify which resources should be tagged with Virtual Node Group tags or Ocean tags. If tags are set on the VNG, the resources will be tagged with the VNG tags; otherwise, they will be tagged with the Ocean tags.
Set scheduling object.
Set shutdown hours for cluster object.
Set time windows for shutdown hours. Specify a list of timeWindows with at least one time window Each string is in the format of: ddd:hh:mm-ddd:hh:mm where ddd = day of week = Sun | Mon | Tue | Wed | Thu | Fri | Sat, hh = hour 24 = 0 -23, mm = minute = 0 - 59. Time windows should not overlap. Required if cluster.scheduling.isEnabled is true. (Example: Fri:15:30-Wed:14:30).
The scheduling tasks for the cluster.
This filed will be compatible to the task_type field. If task_type is defined as clusterRoll, user cluster roll object in parameters.
Set amiAutoUpdate object
Set clusterRoll object
One or more security group ids.
A comma-separated list of subnet identifiers for the Ocean cluster. Subnet IDs should be configured with auto assign public IP.
No description provided.
A custom list of attributes will trigger the cluster roll operation (overrides the predefined list of parameters). Valid only when the conditioned_roll parameter is set to true. (Valid values: "subnet_ids","whitelist","blacklist","user_data","image_id","security_groups","key_name","iam_instance_profile","associate_public_ip_address","load_balancers","instance_metadata_options","ebs_optimized","root_volume_size")
While used, you can control whether the group should perform a deployment after an update to the configuration.
List of virtual node group identifiers to be rolled.
Instance types allowed in the Ocean cluster. Cannot be configured if blacklist is configured.
Conditions of the resource.
hello-crossplane
apiVersion: oceanaws.spot.upbound.io/v1alpha1
kind: OceanAws
metadata:
name: hello-crossplane
spec:
forProvider:
autoscaler:
- autoscaleDown:
- maxScaleDownPercentage: 40
autoscaleHeadroom:
- cpuPerUnit: 1024
gpuPerUnit: 0
memoryPerUnit: 512
numOfUnits: 2
autoscaleIsEnabled: true
resourceLimits:
- maxMemoryGib: 1500
maxVcpu: 750
blockDeviceMappings:
- deviceName: /dev/xvda
ebs:
- deleteOnTermination: true
encrypted: false
throughput: 125
volumeSize: 20
volumeType: gp3
clusterOrientation:
- availabilityVsCost: balanced
controllerId: clusterControllerId
desiredCapacity: 2
iamInstanceProfile: eks-123456789
imageId: ami-123456789
instanceMetadataOptions:
- httpPutResponseHopLimit: 10
httpTokens: required
maxSize: 2
minSize: 0
name: hello-crossplane
region: us-west-2
scheduledTask:
- shutdownHours:
- isEnabled: false
timeWindows:
- Sat:08:00-Sun:08:00
securityGroups:
- sg-123456789
spreadNodesBy: count
subnetIds:
- subnet-12345
- subnet-54321
tags:
- key: Env
value: prod
utilizeCommitments: false
whitelist:
- t2.micro
- t2.small
- t2.medium
- t2.large
- t3.micro
- t3.small
- t3.medium
- t3.large
providerConfigRef:
name: default