...
1---
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 name: computeinstances.compute.cnrm.cloud.google.com
8spec:
9 group: compute.cnrm.cloud.google.com
10 names:
11 kind: ComputeInstance
12 listKind: ComputeInstanceList
13 plural: computeinstances
14 singular: computeinstance
15 scope: Namespaced
16 versions:
17 - name: v1beta1
18 schema:
19 openAPIV3Schema:
20 description: ComputeInstance is the Schema for the compute API
21 properties:
22 apiVersion:
23 description: |-
24 APIVersion defines the versioned schema of this representation of an object.
25 Servers should convert recognized schemas to the latest internal value, and
26 may reject unrecognized values.
27 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28 type: string
29 kind:
30 description: |-
31 Kind is a string value representing the REST resource this object represents.
32 Servers may infer this from the endpoint the client submits requests to.
33 Cannot be updated.
34 In CamelCase.
35 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36 type: string
37 metadata:
38 type: object
39 spec:
40 properties:
41 advancedMachineFeatures:
42 description: Controls for advanced machine-related behavior features.
43 properties:
44 enableNestedVirtualization:
45 description: Whether to enable nested virtualization or not.
46 type: boolean
47 threadsPerCore:
48 description: The number of threads per physical core. To disable
49 simultaneous multithreading (SMT) set this to 1. If unset, the
50 maximum number of threads supported per core by the underlying
51 processor is assumed.
52 type: integer
53 visibleCoreCount:
54 description: The number of physical cores to expose to an instance.
55 Multiply by the number of threads per core to compute the total
56 number of virtual CPUs to expose to the instance. If unset,
57 the number of cores is inferred from the instance\'s nominal
58 CPU count and the underlying platform\'s SMT width.
59 type: integer
60 type: object
61 attachedDisk:
62 description: List of disks attached to the instance.
63 items:
64 properties:
65 deviceName:
66 description: Name with which the attached disk is accessible
67 under /dev/disk/by-id/.
68 type: string
69 diskEncryptionKeyRaw:
70 description: A 256-bit customer-supplied encryption key, encoded
71 in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link
72 and disk_encryption_key_raw may be set.
73 properties:
74 value:
75 description: Value of the field. Cannot be used if 'valueFrom'
76 is specified.
77 type: string
78 valueFrom:
79 description: Source for the field's value. Cannot be used
80 if 'value' is specified.
81 properties:
82 secretKeyRef:
83 description: Reference to a value with the given key
84 in the given Secret in the resource's namespace.
85 properties:
86 external:
87 description: The external name of the referenced
88 resource
89 type: string
90 kind:
91 description: Kind of the referent.
92 type: string
93 name:
94 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
95 type: string
96 namespace:
97 description: 'Namespace of the referent. More info:
98 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
99 type: string
100 type: object
101 type: object
102 type: object
103 diskEncryptionKeySha256:
104 description: The RFC 4648 base64 encoded SHA-256 hash of the
105 customer-supplied encryption key that protects this resource.
106 type: string
107 kmsKeyRef:
108 properties:
109 external:
110 description: The external name of the referenced resource
111 type: string
112 kind:
113 description: Kind of the referent.
114 type: string
115 name:
116 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
117 type: string
118 namespace:
119 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
120 type: string
121 type: object
122 mode:
123 description: Read/write mode for the disk. One of "READ_ONLY"
124 or "READ_WRITE".
125 type: string
126 sourceDiskRef:
127 properties:
128 external:
129 description: The external name of the referenced resource
130 type: string
131 kind:
132 description: Kind of the referent.
133 type: string
134 name:
135 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
136 type: string
137 namespace:
138 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
139 type: string
140 type: object
141 required:
142 - sourceDiskRef
143 type: object
144 type: array
145 bootDisk:
146 description: Immutable. The boot disk for the instance.
147 properties:
148 autoDelete:
149 description: Immutable. Whether the disk will be auto-deleted
150 when the instance is deleted.
151 type: boolean
152 deviceName:
153 description: Immutable. Name with which attached disk will be
154 accessible under /dev/disk/by-id/.
155 type: string
156 diskEncryptionKeyRaw:
157 description: Immutable. A 256-bit customer-supplied encryption
158 key, encoded in RFC 4648 base64 to encrypt this disk. Only one
159 of kms_key_self_link and disk_encryption_key_raw may be set.
160 properties:
161 value:
162 description: Value of the field. Cannot be used if 'valueFrom'
163 is specified.
164 type: string
165 valueFrom:
166 description: Source for the field's value. Cannot be used
167 if 'value' is specified.
168 properties:
169 secretKeyRef:
170 description: Reference to a value with the given key in
171 the given Secret in the resource's namespace.
172 properties:
173 external:
174 description: The external name of the referenced resource
175 type: string
176 kind:
177 description: Kind of the referent.
178 type: string
179 name:
180 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
181 type: string
182 namespace:
183 description: 'Namespace of the referent. More info:
184 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
185 type: string
186 type: object
187 type: object
188 type: object
189 diskEncryptionKeySha256:
190 description: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
191 encryption key that protects this resource.
192 type: string
193 initializeParams:
194 description: Immutable. Parameters with which a disk was created
195 alongside the instance.
196 properties:
197 labels:
198 description: Immutable. A set of key/value label pairs assigned
199 to the disk.
200 type: object
201 size:
202 description: Immutable. The size of the image in gigabytes.
203 type: integer
204 sourceImageRef:
205 description: Immutable. The image from which to initialize
206 this disk.
207 properties:
208 external:
209 description: The external name of the referenced resource
210 type: string
211 kind:
212 description: Kind of the referent.
213 type: string
214 name:
215 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
216 type: string
217 namespace:
218 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
219 type: string
220 type: object
221 type:
222 description: Immutable. The Google Compute Engine disk type.
223 Such as pd-standard, pd-ssd or pd-balanced.
224 type: string
225 type: object
226 kmsKeyRef:
227 properties:
228 external:
229 description: The external name of the referenced resource
230 type: string
231 kind:
232 description: Kind of the referent.
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 mode:
242 description: Immutable. Read/write mode for the disk. One of "READ_ONLY"
243 or "READ_WRITE".
244 type: string
245 sourceDiskRef:
246 description: Immutable. The source disk used to create this disk.
247 properties:
248 external:
249 description: The external name of the referenced resource
250 type: string
251 kind:
252 description: Kind of the referent.
253 type: string
254 name:
255 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
256 type: string
257 namespace:
258 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
259 type: string
260 type: object
261 type: object
262 canIpForward:
263 description: Whether sending and receiving of packets with non-matching
264 source or destination IPs is allowed.
265 type: boolean
266 confidentialInstanceConfig:
267 description: Immutable. The Confidential VM config being used by the
268 instance. on_host_maintenance has to be set to TERMINATE or this
269 will fail to create.
270 properties:
271 enableConfidentialCompute:
272 description: Defines whether the instance should have confidential
273 compute enabled.
274 type: boolean
275 required:
276 - enableConfidentialCompute
277 type: object
278 deletionProtection:
279 description: Whether deletion protection is enabled on this instance.
280 type: boolean
281 description:
282 description: Immutable. A brief description of the resource.
283 type: string
284 desiredStatus:
285 description: Desired status of the instance. Either "RUNNING" or "TERMINATED".
286 type: string
287 enableDisplay:
288 description: Whether the instance has virtual displays enabled.
289 type: boolean
290 guestAccelerator:
291 description: Immutable. List of the type and count of accelerator
292 cards attached to the instance.
293 items:
294 properties:
295 count:
296 description: Immutable. The number of the guest accelerator
297 cards exposed to this instance.
298 type: integer
299 type:
300 description: Immutable. The accelerator type resource exposed
301 to this instance. E.g. nvidia-tesla-k80.
302 type: string
303 required:
304 - count
305 - type
306 type: object
307 type: array
308 hostname:
309 description: Immutable. A custom hostname for the instance. Must be
310 a fully qualified DNS name and RFC-1035-valid. Valid format is a
311 series of labels 1-63 characters long matching the regular expression
312 [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire
313 hostname must not exceed 253 characters. Changing this forces a
314 new resource to be created.
315 type: string
316 instanceTemplateRef:
317 properties:
318 external:
319 description: The external name of the referenced resource
320 type: string
321 kind:
322 description: Kind of the referent.
323 type: string
324 name:
325 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
326 type: string
327 namespace:
328 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
329 type: string
330 type: object
331 machineType:
332 description: The machine type to create.
333 type: string
334 metadata:
335 items:
336 properties:
337 key:
338 type: string
339 value:
340 type: string
341 required:
342 - key
343 - value
344 type: object
345 type: array
346 metadataStartupScript:
347 description: Immutable. Metadata startup scripts made available within
348 the instance.
349 type: string
350 minCpuPlatform:
351 description: The minimum CPU platform specified for the VM instance.
352 type: string
353 networkInterface:
354 description: Immutable. The networks attached to the instance.
355 items:
356 properties:
357 accessConfig:
358 description: Access configurations, i.e. IPs via which this
359 instance can be accessed via the Internet.
360 items:
361 properties:
362 natIpRef:
363 properties:
364 external:
365 description: The external name of the referenced resource
366 type: string
367 kind:
368 description: Kind of the referent.
369 type: string
370 name:
371 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
372 type: string
373 namespace:
374 description: 'Namespace of the referent. More info:
375 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
376 type: string
377 type: object
378 networkTier:
379 description: The networking tier used for configuring
380 this instance. One of PREMIUM or STANDARD.
381 type: string
382 publicPtrDomainName:
383 description: The DNS domain name for the public PTR record.
384 type: string
385 type: object
386 type: array
387 aliasIpRange:
388 description: An array of alias IP ranges for this network interface.
389 items:
390 properties:
391 ipCidrRange:
392 description: The IP CIDR range represented by this alias
393 IP range.
394 type: string
395 subnetworkRangeName:
396 description: The subnetwork secondary range name specifying
397 the secondary range from which to allocate the IP CIDR
398 range for this alias IP range.
399 type: string
400 required:
401 - ipCidrRange
402 type: object
403 type: array
404 ipv6AccessConfig:
405 description: An array of IPv6 access configurations for this
406 interface. Currently, only one IPv6 access config, DIRECT_IPV6,
407 is supported. If there is no ipv6AccessConfig specified, then
408 this instance will have no external IPv6 Internet access.
409 items:
410 properties:
411 externalIpv6:
412 description: The first IPv6 address of the external IPv6
413 range associated with this instance, prefix length is
414 stored in externalIpv6PrefixLength in ipv6AccessConfig.
415 The field is output only, an IPv6 address from a subnetwork
416 associated with the instance will be allocated dynamically.
417 type: string
418 externalIpv6PrefixLength:
419 description: The prefix length of the external IPv6 range.
420 type: string
421 networkTier:
422 description: The service-level to be provided for IPv6
423 traffic when the subnet has an external subnet. Only
424 PREMIUM tier is valid for IPv6.
425 type: string
426 publicPtrDomainName:
427 description: The domain name to be used when creating
428 DNSv6 records for the external IPv6 ranges.
429 type: string
430 required:
431 - networkTier
432 type: object
433 type: array
434 ipv6AccessType:
435 description: One of EXTERNAL, INTERNAL to indicate whether the
436 IP can be accessed from the Internet. This field is always
437 inherited from its subnetwork.
438 type: string
439 name:
440 description: The name of the interface.
441 type: string
442 networkIp:
443 description: DEPRECATED. Although this field is still available,
444 there is limited support. We recommend that you use `spec.networkInterface.networkIpRef`
445 instead.
446 type: string
447 networkIpRef:
448 properties:
449 external:
450 description: The external name of the referenced resource
451 type: string
452 kind:
453 description: Kind of the referent.
454 type: string
455 name:
456 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
457 type: string
458 namespace:
459 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
460 type: string
461 type: object
462 networkRef:
463 properties:
464 external:
465 description: The external name of the referenced resource
466 type: string
467 kind:
468 description: Kind of the referent.
469 type: string
470 name:
471 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
472 type: string
473 namespace:
474 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
475 type: string
476 type: object
477 nicType:
478 description: Immutable. The type of vNIC to be used on this
479 interface. Possible values:GVNIC, VIRTIO_NET.
480 type: string
481 queueCount:
482 description: Immutable. The networking queue count that's specified
483 by users for the network interface. Both Rx and Tx queues
484 will be set to this number. It will be empty if not specified.
485 type: integer
486 stackType:
487 description: The stack type for this network interface to identify
488 whether the IPv6 feature is enabled or not. If not specified,
489 IPV4_ONLY will be used.
490 type: string
491 subnetworkProject:
492 description: The project in which the subnetwork belongs.
493 type: string
494 subnetworkRef:
495 properties:
496 external:
497 description: The external name of the referenced resource
498 type: string
499 kind:
500 description: Kind of the referent.
501 type: string
502 name:
503 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
504 type: string
505 namespace:
506 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
507 type: string
508 type: object
509 type: object
510 type: array
511 networkPerformanceConfig:
512 description: Immutable. Configures network performance settings for
513 the instance. If not specified, the instance will be created with
514 its default network performance configuration.
515 properties:
516 totalEgressBandwidthTier:
517 description: Immutable. The egress bandwidth tier to enable. Possible
518 values:TIER_1, DEFAULT.
519 type: string
520 required:
521 - totalEgressBandwidthTier
522 type: object
523 reservationAffinity:
524 description: Immutable. Specifies the reservations that this instance
525 can consume from.
526 properties:
527 specificReservation:
528 description: Immutable. Specifies the label selector for the reservation
529 to use.
530 properties:
531 key:
532 description: Immutable. Corresponds to the label key of a
533 reservation resource. To target a SPECIFIC_RESERVATION by
534 name, specify compute.googleapis.com/reservation-name as
535 the key and specify the name of your reservation as the
536 only value.
537 type: string
538 values:
539 description: Immutable. Corresponds to the label values of
540 a reservation resource.
541 items:
542 type: string
543 type: array
544 required:
545 - key
546 - values
547 type: object
548 type:
549 description: Immutable. The type of reservation from which this
550 instance can consume resources.
551 type: string
552 required:
553 - type
554 type: object
555 resourceID:
556 description: Immutable. Optional. The name of the resource. Used for
557 creation and acquisition. When unset, the value of `metadata.name`
558 is used as the default.
559 type: string
560 resourcePolicies:
561 items:
562 properties:
563 external:
564 description: The external name of the referenced resource
565 type: string
566 kind:
567 description: Kind of the referent.
568 type: string
569 name:
570 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
571 type: string
572 namespace:
573 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
574 type: string
575 type: object
576 type: array
577 scheduling:
578 description: The scheduling strategy being used by the instance.
579 properties:
580 automaticRestart:
581 description: Specifies if the instance should be restarted if
582 it was terminated by Compute Engine (not a user).
583 type: boolean
584 instanceTerminationAction:
585 description: Specifies the action GCE should take when SPOT VM
586 is preempted.
587 type: string
588 maintenanceInterval:
589 description: 'Specifies the frequency of planned maintenance events.
590 The accepted values are: PERIODIC.'
591 type: string
592 maxRunDuration:
593 description: Immutable. The timeout for new network connections
594 to hosts.
595 properties:
596 nanos:
597 description: |-
598 Immutable. Span of time that's a fraction of a second at nanosecond
599 resolution. Durations less than one second are represented
600 with a 0 seconds field and a positive nanos field. Must
601 be from 0 to 999,999,999 inclusive.
602 type: integer
603 seconds:
604 description: |-
605 Immutable. Span of time at a resolution of a second.
606 Must be from 0 to 315,576,000,000 inclusive.
607 type: integer
608 required:
609 - seconds
610 type: object
611 minNodeCpus:
612 type: integer
613 nodeAffinities:
614 items:
615 properties:
616 value:
617 type: object
618 type: object
619 type: array
620 onHostMaintenance:
621 description: Describes maintenance behavior for the instance.
622 One of MIGRATE or TERMINATE,.
623 type: string
624 preemptible:
625 description: Immutable. Whether the instance is preemptible.
626 type: boolean
627 provisioningModel:
628 description: Immutable. Whether the instance is spot. If this
629 is set as SPOT.
630 type: string
631 type: object
632 scratchDisk:
633 description: Immutable. The scratch disks attached to the instance.
634 items:
635 properties:
636 interface:
637 description: The disk interface used for attaching this disk.
638 One of SCSI or NVME.
639 type: string
640 size:
641 description: Immutable. The size of the disk in gigabytes. One
642 of 375 or 3000.
643 type: integer
644 required:
645 - interface
646 type: object
647 type: array
648 serviceAccount:
649 description: The service account to attach to the instance.
650 properties:
651 scopes:
652 description: A list of service scopes.
653 items:
654 type: string
655 type: array
656 serviceAccountRef:
657 properties:
658 external:
659 description: The external name of the referenced resource
660 type: string
661 kind:
662 description: Kind of the referent.
663 type: string
664 name:
665 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
666 type: string
667 namespace:
668 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
669 type: string
670 type: object
671 required:
672 - scopes
673 type: object
674 shieldedInstanceConfig:
675 description: The shielded vm config being used by the instance.
676 properties:
677 enableIntegrityMonitoring:
678 description: Whether integrity monitoring is enabled for the instance.
679 type: boolean
680 enableSecureBoot:
681 description: Whether secure boot is enabled for the instance.
682 type: boolean
683 enableVtpm:
684 description: Whether the instance uses vTPM.
685 type: boolean
686 type: object
687 tags:
688 description: The list of tags attached to the instance.
689 items:
690 type: string
691 type: array
692 zone:
693 description: Immutable. The zone of the instance. If self_link is
694 provided, this value is ignored. If neither self_link nor zone are
695 provided, the provider zone is used.
696 type: string
697 type: object
698 status:
699 properties:
700 conditions:
701 description: |-
702 Conditions represent the latest available observations of the
703 ComputeInstance's current state.
704 items:
705 properties:
706 lastTransitionTime:
707 description: Last time the condition transitioned from one status
708 to another.
709 type: string
710 message:
711 description: Human-readable message indicating details about
712 last transition.
713 type: string
714 reason:
715 description: |-
716 Unique, one-word, CamelCase reason for the condition's last
717 transition.
718 type: string
719 status:
720 description: Status is the status of the condition. Can be True,
721 False, Unknown.
722 type: string
723 type:
724 description: Type is the type of the condition.
725 type: string
726 type: object
727 type: array
728 cpuPlatform:
729 description: The CPU platform used by this instance.
730 type: string
731 currentStatus:
732 description: |-
733 Current status of the instance.
734 This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED.
735 For more information about the status of the instance, see [Instance life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle).
736 type: string
737 instanceId:
738 description: The server-assigned unique identifier of this instance.
739 type: string
740 labelFingerprint:
741 description: The unique fingerprint of the labels.
742 type: string
743 metadataFingerprint:
744 description: The unique fingerprint of the metadata.
745 type: string
746 observedGeneration:
747 description: ObservedGeneration is the generation of the resource
748 that was most recently observed by the Config Connector controller.
749 If this is equal to metadata.generation, then that means that the
750 current reported status reflects the most recent desired state of
751 the resource.
752 type: integer
753 selfLink:
754 description: The URI of the created resource.
755 type: string
756 tagsFingerprint:
757 description: The unique fingerprint of the tags.
758 type: string
759 type: object
760 type: object
761 served: true
762 storage: true
View as plain text