...
1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: stable
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: computenodegroups.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputeNodeGroup
33 plural: computenodegroups
34 shortNames:
35 - gcpcomputenodegroup
36 - gcpcomputenodegroups
37 singular: computenodegroup
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 autoscalingPolicy:
75 description: |-
76 Immutable. If you use sole-tenant nodes for your workloads, you can use the node
77 group autoscaler to automatically manage the sizes of your node groups.
78 properties:
79 maxNodes:
80 description: |-
81 Immutable. Maximum size of the node group. Set to a value less than or equal
82 to 100 and greater than or equal to min-nodes.
83 type: integer
84 minNodes:
85 description: |-
86 Immutable. Minimum size of the node group. Must be less
87 than or equal to max-nodes. The default value is 0.
88 type: integer
89 mode:
90 description: |-
91 Immutable. The autoscaling mode. Set to one of the following:
92 - OFF: Disables the autoscaler.
93 - ON: Enables scaling in and scaling out.
94 - ONLY_SCALE_OUT: Enables only scaling out.
95 You must use this mode if your node groups are configured to
96 restart their hosted VMs on minimal servers. Possible values: ["OFF", "ON", "ONLY_SCALE_OUT"].
97 type: string
98 type: object
99 description:
100 description: Immutable. An optional textual description of the resource.
101 type: string
102 initialSize:
103 description: Immutable. The initial number of nodes in the node group.
104 One of 'initial_size' or 'size' must be specified.
105 type: integer
106 maintenancePolicy:
107 description: 'Immutable. Specifies how to handle instances when a
108 node in the group undergoes maintenance. Set to one of: DEFAULT,
109 RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value
110 is DEFAULT.'
111 type: string
112 maintenanceWindow:
113 description: Immutable. contains properties for the timeframe of maintenance.
114 properties:
115 startTime:
116 description: Immutable. instances.start time of the window. This
117 must be in UTC format that resolves to one of 00:00, 04:00,
118 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and
119 08:00 are valid.
120 type: string
121 required:
122 - startTime
123 type: object
124 nodeTemplateRef:
125 description: The node template to which this node group belongs.
126 oneOf:
127 - not:
128 required:
129 - external
130 required:
131 - name
132 - not:
133 anyOf:
134 - required:
135 - name
136 - required:
137 - namespace
138 required:
139 - external
140 properties:
141 external:
142 description: 'Allowed value: The `selfLink` field of a `ComputeNodeTemplate`
143 resource.'
144 type: string
145 name:
146 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
147 type: string
148 namespace:
149 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
150 type: string
151 type: object
152 resourceID:
153 description: Immutable. Optional. The name of the resource. Used for
154 creation and acquisition. When unset, the value of `metadata.name`
155 is used as the default.
156 type: string
157 shareSettings:
158 description: Immutable. Share settings for the node group.
159 properties:
160 projectMap:
161 description: Immutable. A map of project id and project config.
162 This is only valid when shareType's value is SPECIFIC_PROJECTS.
163 items:
164 properties:
165 idRef:
166 description: The key of this project config in the parent
167 map.
168 oneOf:
169 - not:
170 required:
171 - external
172 required:
173 - name
174 - not:
175 anyOf:
176 - required:
177 - name
178 - required:
179 - namespace
180 required:
181 - external
182 properties:
183 external:
184 description: 'Allowed value: The `name` field of a `Project`
185 resource.'
186 type: string
187 name:
188 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
189 type: string
190 namespace:
191 description: 'Namespace of the referent. More info:
192 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
193 type: string
194 type: object
195 projectIdRef:
196 description: |-
197 The project id/number should be the same as the key of this project
198 config in the project map.
199 oneOf:
200 - not:
201 required:
202 - external
203 required:
204 - name
205 - not:
206 anyOf:
207 - required:
208 - name
209 - required:
210 - namespace
211 required:
212 - external
213 properties:
214 external:
215 description: 'Allowed value: The `name` field of a `Project`
216 resource.'
217 type: string
218 name:
219 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
220 type: string
221 namespace:
222 description: 'Namespace of the referent. More info:
223 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
224 type: string
225 type: object
226 required:
227 - idRef
228 - projectIdRef
229 type: object
230 type: array
231 shareType:
232 description: 'Immutable. Node group sharing type. Possible values:
233 ["ORGANIZATION", "SPECIFIC_PROJECTS", "LOCAL"].'
234 type: string
235 required:
236 - shareType
237 type: object
238 size:
239 description: Immutable. The total number of nodes in the node group.
240 One of 'initial_size' or 'size' must be specified.
241 type: integer
242 zone:
243 description: Immutable. Zone where this node group is located.
244 type: string
245 required:
246 - nodeTemplateRef
247 - zone
248 type: object
249 status:
250 properties:
251 conditions:
252 description: Conditions represent the latest available observation
253 of the resource's current state.
254 items:
255 properties:
256 lastTransitionTime:
257 description: Last time the condition transitioned from one status
258 to another.
259 type: string
260 message:
261 description: Human-readable message indicating details about
262 last transition.
263 type: string
264 reason:
265 description: Unique, one-word, CamelCase reason for the condition's
266 last transition.
267 type: string
268 status:
269 description: Status is the status of the condition. Can be True,
270 False, Unknown.
271 type: string
272 type:
273 description: Type is the type of the condition.
274 type: string
275 type: object
276 type: array
277 creationTimestamp:
278 description: Creation timestamp in RFC3339 text format.
279 type: string
280 observedGeneration:
281 description: ObservedGeneration is the generation of the resource
282 that was most recently observed by the Config Connector controller.
283 If this is equal to metadata.generation, then that means that the
284 current reported status reflects the most recent desired state of
285 the resource.
286 type: integer
287 selfLink:
288 type: string
289 type: object
290 required:
291 - spec
292 type: object
293 served: true
294 storage: true
295 subresources:
296 status: {}
297status:
298 acceptedNames:
299 kind: ""
300 plural: ""
301 conditions: []
302 storedVersions: []
View as plain text