...
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: alpha
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: computeperinstanceconfigs.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputePerInstanceConfig
33 plural: computeperinstanceconfigs
34 shortNames:
35 - gcpcomputeperinstanceconfig
36 - gcpcomputeperinstanceconfigs
37 singular: computeperinstanceconfig
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: v1alpha1
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 instanceGroupManagerRef:
75 oneOf:
76 - not:
77 required:
78 - external
79 required:
80 - name
81 - not:
82 anyOf:
83 - required:
84 - name
85 - required:
86 - namespace
87 required:
88 - external
89 properties:
90 external:
91 description: 'Allowed value: The `name` field of a `ComputeInstanceGroupManager`
92 resource.'
93 type: string
94 name:
95 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
96 type: string
97 namespace:
98 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
99 type: string
100 type: object
101 minimalAction:
102 description: |-
103 The minimal action to perform on the instance during an update.
104 Default is 'NONE'. Possible values are:
105 * REPLACE
106 * RESTART
107 * REFRESH
108 * NONE.
109 type: string
110 mostDisruptiveAllowedAction:
111 description: |-
112 The most disruptive action to perform on the instance during an update.
113 Default is 'REPLACE'. Possible values are:
114 * REPLACE
115 * RESTART
116 * REFRESH
117 * NONE.
118 type: string
119 preservedState:
120 description: The preserved state for this instance.
121 properties:
122 disk:
123 description: Stateful disks for the instance.
124 items:
125 properties:
126 deleteRule:
127 description: |-
128 A value that prescribes what should happen to the stateful disk when the VM instance is deleted.
129 The available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'.
130 'NEVER' - detach the disk when the VM is deleted, but do not delete the disk.
131 'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently
132 deleted from the instance group. Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"].
133 type: string
134 deviceName:
135 description: A unique device name that is reflected into
136 the /dev/ tree of a Linux operating system running within
137 the instance.
138 type: string
139 mode:
140 description: 'The mode of the disk. Default value: "READ_WRITE"
141 Possible values: ["READ_ONLY", "READ_WRITE"].'
142 type: string
143 source:
144 description: |-
145 The URI of an existing persistent disk to attach under the specified device-name in the format
146 'projects/project-id/zones/zone/disks/disk-name'.
147 type: string
148 required:
149 - deviceName
150 - source
151 type: object
152 type: array
153 externalIp:
154 description: Preserved external IPs defined for this instance.
155 This map is keyed with the name of the network interface.
156 items:
157 properties:
158 autoDelete:
159 description: 'These stateful IPs will never be released
160 during autohealing, update or VM instance recreate operations.
161 This flag is used to configure if the IP reservation should
162 be deleted after it is no longer used by the group, e.g.
163 when the given instance or the whole group is deleted.
164 Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"].'
165 type: string
166 interfaceName:
167 type: string
168 ipAddress:
169 description: Ip address representation.
170 properties:
171 address:
172 description: The URL of the reservation for this IP
173 address.
174 type: string
175 type: object
176 required:
177 - interfaceName
178 type: object
179 type: array
180 internalIp:
181 description: Preserved internal IPs defined for this instance.
182 This map is keyed with the name of the network interface.
183 items:
184 properties:
185 autoDelete:
186 description: 'These stateful IPs will never be released
187 during autohealing, update or VM instance recreate operations.
188 This flag is used to configure if the IP reservation should
189 be deleted after it is no longer used by the group, e.g.
190 when the given instance or the whole group is deleted.
191 Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"].'
192 type: string
193 interfaceName:
194 type: string
195 ipAddress:
196 description: Ip address representation.
197 properties:
198 address:
199 description: The URL of the reservation for this IP
200 address.
201 type: string
202 type: object
203 required:
204 - interfaceName
205 type: object
206 type: array
207 metadata:
208 additionalProperties:
209 type: string
210 description: Preserved metadata defined for this instance. This
211 is a list of key->value pairs.
212 type: object
213 type: object
214 projectRef:
215 description: The project that this resource belongs to.
216 oneOf:
217 - not:
218 required:
219 - external
220 required:
221 - name
222 - not:
223 anyOf:
224 - required:
225 - name
226 - required:
227 - namespace
228 required:
229 - external
230 properties:
231 external:
232 description: 'Allowed value: The `name` field of a `Project` resource.'
233 type: string
234 name:
235 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
236 type: string
237 namespace:
238 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
239 type: string
240 type: object
241 removeInstanceStateOnDestroy:
242 description: |-
243 When true, deleting this config will immediately remove any specified state from the underlying instance.
244 When false, deleting this config will *not* immediately remove any state from the underlying instance.
245 State will be removed on the next instance recreation or update.
246 type: boolean
247 resourceID:
248 description: Immutable. Optional. The name of the resource. Used for
249 creation and acquisition. When unset, the value of `metadata.name`
250 is used as the default.
251 type: string
252 zone:
253 description: Immutable. Zone where the containing instance group manager
254 is located.
255 type: string
256 required:
257 - instanceGroupManagerRef
258 - projectRef
259 - zone
260 type: object
261 status:
262 properties:
263 conditions:
264 description: Conditions represent the latest available observation
265 of the resource's current state.
266 items:
267 properties:
268 lastTransitionTime:
269 description: Last time the condition transitioned from one status
270 to another.
271 type: string
272 message:
273 description: Human-readable message indicating details about
274 last transition.
275 type: string
276 reason:
277 description: Unique, one-word, CamelCase reason for the condition's
278 last transition.
279 type: string
280 status:
281 description: Status is the status of the condition. Can be True,
282 False, Unknown.
283 type: string
284 type:
285 description: Type is the type of the condition.
286 type: string
287 type: object
288 type: array
289 observedGeneration:
290 description: ObservedGeneration is the generation of the resource
291 that was most recently observed by the Config Connector controller.
292 If this is equal to metadata.generation, then that means that the
293 current reported status reflects the most recent desired state of
294 the resource.
295 type: integer
296 type: object
297 required:
298 - spec
299 type: object
300 served: true
301 storage: true
302 subresources:
303 status: {}
304status:
305 acceptedNames:
306 kind: ""
307 plural: ""
308 conditions: []
309 storedVersions: []
View as plain text