crds/compute_v1beta1_computenodegroup.yaml (288 lines of code) (raw):
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 1.128.0
creationTimestamp: null
labels:
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/stability-level: stable
cnrm.cloud.google.com/system: "true"
cnrm.cloud.google.com/tf2crd: "true"
name: computenodegroups.compute.cnrm.cloud.google.com
spec:
group: compute.cnrm.cloud.google.com
names:
categories:
- gcp
kind: ComputeNodeGroup
plural: computenodegroups
shortNames:
- gcpcomputenodegroup
- gcpcomputenodegroups
singular: computenodegroup
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'apiVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
type: string
kind:
description: 'kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
autoscalingPolicy:
description: |-
Immutable. If you use sole-tenant nodes for your workloads, you can use the node
group autoscaler to automatically manage the sizes of your node groups.
properties:
maxNodes:
description: |-
Immutable. Maximum size of the node group. Set to a value less than or equal
to 100 and greater than or equal to min-nodes.
type: integer
minNodes:
description: |-
Immutable. Minimum size of the node group. Must be less
than or equal to max-nodes. The default value is 0.
type: integer
mode:
description: |-
Immutable. The autoscaling mode. Set to one of the following:
- OFF: Disables the autoscaler.
- ON: Enables scaling in and scaling out.
- ONLY_SCALE_OUT: Enables only scaling out.
You must use this mode if your node groups are configured to
restart their hosted VMs on minimal servers. Possible values: ["OFF", "ON", "ONLY_SCALE_OUT"].
type: string
type: object
description:
description: Immutable. An optional textual description of the resource.
type: string
initialSize:
description: Immutable. The initial number of nodes in the node group.
One of 'initial_size' or 'size' must be specified.
type: integer
maintenancePolicy:
description: 'Immutable. Specifies how to handle instances when a
node in the group undergoes maintenance. Set to one of: DEFAULT,
RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value
is DEFAULT.'
type: string
maintenanceWindow:
description: Immutable. contains properties for the timeframe of maintenance.
properties:
startTime:
description: Immutable. instances.start time of the window. This
must be in UTC format that resolves to one of 00:00, 04:00,
08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and
08:00 are valid.
type: string
required:
- startTime
type: object
nodeTemplateRef:
description: The node template to which this node group belongs.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink` field of a `ComputeNodeTemplate`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
resourceID:
description: Immutable. Optional. The name of the resource. Used for
creation and acquisition. When unset, the value of `metadata.name`
is used as the default.
type: string
shareSettings:
description: Immutable. Share settings for the node group.
properties:
projectMap:
description: Immutable. A map of project id and project config.
This is only valid when shareType's value is SPECIFIC_PROJECTS.
items:
properties:
idRef:
description: The key of this project config in the parent
map.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field of a `Project`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
projectIdRef:
description: |-
The project id/number should be the same as the key of this project
config in the project map.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field of a `Project`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
required:
- idRef
- projectIdRef
type: object
type: array
shareType:
description: 'Immutable. Node group sharing type. Possible values:
["ORGANIZATION", "SPECIFIC_PROJECTS", "LOCAL"].'
type: string
required:
- shareType
type: object
size:
description: Immutable. The total number of nodes in the node group.
One of 'initial_size' or 'size' must be specified.
type: integer
zone:
description: Immutable. Zone where this node group is located.
type: string
required:
- nodeTemplateRef
- zone
type: object
status:
properties:
conditions:
description: Conditions represent the latest available observation
of the resource's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
creationTimestamp:
description: Creation timestamp in RFC3339 text format.
type: string
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
type: integer
selfLink:
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []