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: computeinstancetemplates.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputeInstanceTemplate
33 plural: computeinstancetemplates
34 shortNames:
35 - gcpcomputeinstancetemplate
36 - gcpcomputeinstancetemplates
37 singular: computeinstancetemplate
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 advancedMachineFeatures:
75 description: Immutable. Controls for advanced machine-related behavior
76 features.
77 properties:
78 enableNestedVirtualization:
79 description: Immutable. Whether to enable nested virtualization
80 or not.
81 type: boolean
82 threadsPerCore:
83 description: Immutable. The number of threads per physical core.
84 To disable simultaneous multithreading (SMT) set this to 1.
85 If unset, the maximum number of threads supported per core by
86 the underlying processor is assumed.
87 type: integer
88 visibleCoreCount:
89 description: Immutable. The number of physical cores to expose
90 to an instance. Multiply by the number of threads per core to
91 compute the total number of virtual CPUs to expose to the instance.
92 If unset, the number of cores is inferred from the instance\'s
93 nominal CPU count and the underlying platform\'s SMT width.
94 type: integer
95 type: object
96 canIpForward:
97 description: Immutable. Whether to allow sending and receiving of
98 packets with non-matching source or destination IPs. This defaults
99 to false.
100 type: boolean
101 confidentialInstanceConfig:
102 description: Immutable. The Confidential VM config being used by the
103 instance. on_host_maintenance has to be set to TERMINATE or this
104 will fail to create.
105 properties:
106 enableConfidentialCompute:
107 description: Immutable. Defines whether the instance should have
108 confidential compute enabled.
109 type: boolean
110 required:
111 - enableConfidentialCompute
112 type: object
113 description:
114 description: Immutable. A brief description of this resource.
115 type: string
116 disk:
117 description: Immutable. Disks to attach to instances created from
118 this template. This can be specified multiple times for multiple
119 disks.
120 items:
121 properties:
122 autoDelete:
123 description: Immutable. Whether or not the disk should be auto-deleted.
124 This defaults to true.
125 type: boolean
126 boot:
127 description: Immutable. Indicates that this is a boot disk.
128 type: boolean
129 deviceName:
130 description: Immutable. A unique device name that is reflected
131 into the /dev/ tree of a Linux operating system running within
132 the instance. If not specified, the server chooses a default
133 device name to apply to this disk.
134 type: string
135 diskEncryptionKey:
136 description: Immutable. Encrypts or decrypts a disk using a
137 customer-supplied encryption key.
138 properties:
139 kmsKeyRef:
140 oneOf:
141 - not:
142 required:
143 - external
144 required:
145 - name
146 - not:
147 anyOf:
148 - required:
149 - name
150 - required:
151 - namespace
152 required:
153 - external
154 properties:
155 external:
156 description: 'Allowed value: The `selfLink` field of
157 a `KMSCryptoKey` resource.'
158 type: string
159 name:
160 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
161 type: string
162 namespace:
163 description: 'Namespace of the referent. More info:
164 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
165 type: string
166 type: object
167 required:
168 - kmsKeyRef
169 type: object
170 diskName:
171 description: Immutable. Name of the disk. When not provided,
172 this defaults to the name of the instance.
173 type: string
174 diskSizeGb:
175 description: Immutable. The size of the image in gigabytes.
176 If not specified, it will inherit the size of its base image.
177 For SCRATCH disks, the size must be one of 375 or 3000 GB,
178 with a default of 375 GB.
179 type: integer
180 diskType:
181 description: Immutable. The Google Compute Engine disk type.
182 Such as "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard".
183 type: string
184 interface:
185 description: Immutable. Specifies the disk interface to use
186 for attaching this disk.
187 type: string
188 labels:
189 additionalProperties:
190 type: string
191 description: Immutable. A set of key/value label pairs to assign
192 to disks,.
193 type: object
194 mode:
195 description: Immutable. The mode in which to attach this disk,
196 either READ_WRITE or READ_ONLY. If you are attaching or creating
197 a boot disk, this must read-write mode.
198 type: string
199 resourcePolicies:
200 items:
201 oneOf:
202 - not:
203 required:
204 - external
205 required:
206 - name
207 - not:
208 anyOf:
209 - required:
210 - name
211 - required:
212 - namespace
213 required:
214 - external
215 properties:
216 external:
217 description: 'Allowed value: The `selfLink` field of a
218 `ComputeResourcePolicy` resource.'
219 type: string
220 name:
221 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
222 type: string
223 namespace:
224 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
225 type: string
226 type: object
227 type: array
228 sourceDiskRef:
229 oneOf:
230 - not:
231 required:
232 - external
233 required:
234 - name
235 - not:
236 anyOf:
237 - required:
238 - name
239 - required:
240 - namespace
241 required:
242 - external
243 properties:
244 external:
245 description: 'Allowed value: The `name` field of a `ComputeDisk`
246 resource.'
247 type: string
248 name:
249 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
250 type: string
251 namespace:
252 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
253 type: string
254 type: object
255 sourceImageEncryptionKey:
256 description: |-
257 Immutable. The customer-supplied encryption key of the source
258 image. Required if the source image is protected by a
259 customer-supplied encryption key.
260
261 Instance templates do not store customer-supplied
262 encryption keys, so you cannot create disks for
263 instances in a managed instance group if the source
264 images are encrypted with your own keys.
265 properties:
266 kmsKeySelfLinkRef:
267 description: |-
268 The self link of the encryption key that is stored in Google Cloud
269 KMS.
270 oneOf:
271 - not:
272 required:
273 - external
274 required:
275 - name
276 - not:
277 anyOf:
278 - required:
279 - name
280 - required:
281 - namespace
282 required:
283 - external
284 properties:
285 external:
286 description: 'Allowed value: The `selfLink` field of
287 a `KMSCryptoKey` resource.'
288 type: string
289 name:
290 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
291 type: string
292 namespace:
293 description: 'Namespace of the referent. More info:
294 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
295 type: string
296 type: object
297 kmsKeyServiceAccountRef:
298 description: |-
299 The service account being used for the encryption request for the
300 given KMS key. If absent, the Compute Engine default service account
301 is used.
302 oneOf:
303 - not:
304 required:
305 - external
306 required:
307 - name
308 - not:
309 anyOf:
310 - required:
311 - name
312 - required:
313 - namespace
314 required:
315 - external
316 properties:
317 external:
318 description: 'Allowed value: The `email` field of an
319 `IAMServiceAccount` resource.'
320 type: string
321 name:
322 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
323 type: string
324 namespace:
325 description: 'Namespace of the referent. More info:
326 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
327 type: string
328 type: object
329 required:
330 - kmsKeySelfLinkRef
331 type: object
332 sourceImageRef:
333 oneOf:
334 - not:
335 required:
336 - external
337 required:
338 - name
339 - not:
340 anyOf:
341 - required:
342 - name
343 - required:
344 - namespace
345 required:
346 - external
347 properties:
348 external:
349 description: 'Allowed value: The `selfLink` field of a `ComputeImage`
350 resource.'
351 type: string
352 name:
353 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
354 type: string
355 namespace:
356 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
357 type: string
358 type: object
359 sourceSnapshotEncryptionKey:
360 description: Immutable. The customer-supplied encryption key
361 of the source snapshot.
362 properties:
363 kmsKeySelfLinkRef:
364 description: |-
365 The self link of the encryption key that is stored in Google Cloud
366 KMS.
367 oneOf:
368 - not:
369 required:
370 - external
371 required:
372 - name
373 - not:
374 anyOf:
375 - required:
376 - name
377 - required:
378 - namespace
379 required:
380 - external
381 properties:
382 external:
383 description: 'Allowed value: The `selfLink` field of
384 a `KMSCryptoKey` resource.'
385 type: string
386 name:
387 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
388 type: string
389 namespace:
390 description: 'Namespace of the referent. More info:
391 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
392 type: string
393 type: object
394 kmsKeyServiceAccountRef:
395 description: |-
396 The service account being used for the encryption request for the
397 given KMS key. If absent, the Compute Engine default service account
398 is used.
399 oneOf:
400 - not:
401 required:
402 - external
403 required:
404 - name
405 - not:
406 anyOf:
407 - required:
408 - name
409 - required:
410 - namespace
411 required:
412 - external
413 properties:
414 external:
415 description: 'Allowed value: The `email` field of an
416 `IAMServiceAccount` resource.'
417 type: string
418 name:
419 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
420 type: string
421 namespace:
422 description: 'Namespace of the referent. More info:
423 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
424 type: string
425 type: object
426 required:
427 - kmsKeySelfLinkRef
428 type: object
429 sourceSnapshotRef:
430 description: |-
431 The source snapshot to create this disk. When creating a new
432 instance, one of initializeParams.sourceSnapshot,
433 initializeParams.sourceImage, or disks.source is required except for
434 local SSD.
435 oneOf:
436 - not:
437 required:
438 - external
439 required:
440 - name
441 - not:
442 anyOf:
443 - required:
444 - name
445 - required:
446 - namespace
447 required:
448 - external
449 properties:
450 external:
451 description: 'Allowed value: The `selfLink` field of a `ComputeSnapshot`
452 resource.'
453 type: string
454 name:
455 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
456 type: string
457 namespace:
458 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
459 type: string
460 type: object
461 type:
462 description: Immutable. The type of Google Compute Engine disk,
463 can be either "SCRATCH" or "PERSISTENT".
464 type: string
465 type: object
466 type: array
467 enableDisplay:
468 description: 'Immutable. Enable Virtual Displays on this instance.
469 Note: allow_stopping_for_update must be set to true in order to
470 update this field.'
471 type: boolean
472 guestAccelerator:
473 description: Immutable. List of the type and count of accelerator
474 cards attached to the instance.
475 items:
476 properties:
477 count:
478 description: Immutable. The number of the guest accelerator
479 cards exposed to this instance.
480 type: integer
481 type:
482 description: Immutable. The accelerator type resource to expose
483 to this instance. E.g. nvidia-tesla-k80.
484 type: string
485 required:
486 - count
487 - type
488 type: object
489 type: array
490 instanceDescription:
491 description: Immutable. A description of the instance.
492 type: string
493 machineType:
494 description: Immutable. The machine type to create. To create a machine
495 with a custom type (such as extended memory), format the value like
496 custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of
497 RAM.
498 type: string
499 metadata:
500 items:
501 properties:
502 key:
503 type: string
504 value:
505 type: string
506 required:
507 - key
508 - value
509 type: object
510 type: array
511 metadataStartupScript:
512 description: Immutable. An alternative to using the startup-script
513 metadata key, mostly to match the compute_instance resource. This
514 replaces the startup-script metadata key on the created instance
515 and thus the two mechanisms are not allowed to be used simultaneously.
516 type: string
517 minCpuPlatform:
518 description: Immutable. Specifies a minimum CPU platform. Applicable
519 values are the friendly names of CPU platforms, such as Intel Haswell
520 or Intel Skylake.
521 type: string
522 namePrefix:
523 description: Immutable. Creates a unique name beginning with the specified
524 prefix. Conflicts with name.
525 type: string
526 networkInterface:
527 description: Immutable. Networks to attach to instances created from
528 this template. This can be specified multiple times for multiple
529 networks.
530 items:
531 properties:
532 accessConfig:
533 items:
534 properties:
535 natIpRef:
536 oneOf:
537 - not:
538 required:
539 - external
540 required:
541 - name
542 - not:
543 anyOf:
544 - required:
545 - name
546 - required:
547 - namespace
548 required:
549 - external
550 properties:
551 external:
552 description: 'Allowed value: The `address` field of
553 a `ComputeAddress` resource.'
554 type: string
555 name:
556 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
557 type: string
558 namespace:
559 description: 'Namespace of the referent. More info:
560 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
561 type: string
562 type: object
563 networkTier:
564 description: 'Immutable. The networking tier used for
565 configuring this instance template. This field can take
566 the following values: PREMIUM, STANDARD, FIXED_STANDARD.
567 If this field is not specified, it is assumed to be
568 PREMIUM.'
569 type: string
570 publicPtrDomainName:
571 description: The DNS domain name for the public PTR record.The
572 DNS domain name for the public PTR record.
573 type: string
574 type: object
575 type: array
576 aliasIpRange:
577 description: Immutable. An array of alias IP ranges for this
578 network interface. Can only be specified for network interfaces
579 on subnet-mode networks.
580 items:
581 properties:
582 ipCidrRange:
583 description: Immutable. The IP CIDR range represented
584 by this alias IP range. This IP CIDR range must belong
585 to the specified subnetwork and cannot contain IP addresses
586 reserved by system or used by other network interfaces.
587 At the time of writing only a netmask (e.g. /24) may
588 be supplied, with a CIDR format resulting in an API
589 error.
590 type: string
591 subnetworkRangeName:
592 description: Immutable. The subnetwork secondary range
593 name specifying the secondary range from which to allocate
594 the IP CIDR range for this alias IP range. If left unspecified,
595 the primary range of the subnetwork will be used.
596 type: string
597 required:
598 - ipCidrRange
599 type: object
600 type: array
601 ipv6AccessConfig:
602 description: An array of IPv6 access configurations for this
603 interface. Currently, only one IPv6 access config, DIRECT_IPV6,
604 is supported. If there is no ipv6AccessConfig specified, then
605 this instance will have no external IPv6 Internet access.
606 items:
607 properties:
608 externalIpv6:
609 description: The first IPv6 address of the external IPv6
610 range associated with this instance, prefix length is
611 stored in externalIpv6PrefixLength in ipv6AccessConfig.
612 The field is output only, an IPv6 address from a subnetwork
613 associated with the instance will be allocated dynamically.
614 type: string
615 externalIpv6PrefixLength:
616 description: The prefix length of the external IPv6 range.
617 type: string
618 networkTier:
619 description: The service-level to be provided for IPv6
620 traffic when the subnet has an external subnet. Only
621 PREMIUM tier is valid for IPv6.
622 type: string
623 publicPtrDomainName:
624 description: The domain name to be used when creating
625 DNSv6 records for the external IPv6 ranges.
626 type: string
627 required:
628 - networkTier
629 type: object
630 type: array
631 ipv6AccessType:
632 description: One of EXTERNAL, INTERNAL to indicate whether the
633 IP can be accessed from the Internet. This field is always
634 inherited from its subnetwork.
635 type: string
636 name:
637 description: The name of the network_interface.
638 type: string
639 networkIp:
640 description: Immutable. The private IP address to assign to
641 the instance. If empty, the address will be automatically
642 assigned.
643 type: string
644 networkRef:
645 oneOf:
646 - not:
647 required:
648 - external
649 required:
650 - name
651 - not:
652 anyOf:
653 - required:
654 - name
655 - required:
656 - namespace
657 required:
658 - external
659 properties:
660 external:
661 description: 'Allowed value: The `selfLink` field of a `ComputeNetwork`
662 resource.'
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 nicType:
672 description: Immutable. The type of vNIC to be used on this
673 interface. Possible values:GVNIC, VIRTIO_NET.
674 type: string
675 queueCount:
676 description: Immutable. The networking queue count that's specified
677 by users for the network interface. Both Rx and Tx queues
678 will be set to this number. It will be empty if not specified.
679 type: integer
680 stackType:
681 description: The stack type for this network interface to identify
682 whether the IPv6 feature is enabled or not. If not specified,
683 IPV4_ONLY will be used.
684 type: string
685 subnetworkProject:
686 description: Immutable. The ID of the project in which the subnetwork
687 belongs. If it is not provided, the provider project is used.
688 type: string
689 subnetworkRef:
690 oneOf:
691 - not:
692 required:
693 - external
694 required:
695 - name
696 - not:
697 anyOf:
698 - required:
699 - name
700 - required:
701 - namespace
702 required:
703 - external
704 properties:
705 external:
706 description: 'Allowed value: The `selfLink` field of a `ComputeSubnetwork`
707 resource.'
708 type: string
709 name:
710 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
711 type: string
712 namespace:
713 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
714 type: string
715 type: object
716 type: object
717 type: array
718 networkPerformanceConfig:
719 description: Immutable. Configures network performance settings for
720 the instance. If not specified, the instance will be created with
721 its default network performance configuration.
722 properties:
723 totalEgressBandwidthTier:
724 description: Immutable. The egress bandwidth tier to enable. Possible
725 values:TIER_1, DEFAULT.
726 type: string
727 required:
728 - totalEgressBandwidthTier
729 type: object
730 region:
731 description: Immutable. An instance template is a global resource
732 that is not bound to a zone or a region. However, you can still
733 specify some regional resources in an instance template, which restricts
734 the template to the region where that resource resides. For example,
735 a custom subnetwork resource is tied to a specific region. Defaults
736 to the region of the Provider if no value is given.
737 type: string
738 reservationAffinity:
739 description: Immutable. Specifies the reservations that this instance
740 can consume from.
741 properties:
742 specificReservation:
743 description: Immutable. Specifies the label selector for the reservation
744 to use.
745 properties:
746 key:
747 description: Immutable. Corresponds to the label key of a
748 reservation resource. To target a SPECIFIC_RESERVATION by
749 name, specify compute.googleapis.com/reservation-name as
750 the key and specify the name of your reservation as the
751 only value.
752 type: string
753 values:
754 description: Immutable. Corresponds to the label values of
755 a reservation resource.
756 items:
757 type: string
758 type: array
759 required:
760 - key
761 - values
762 type: object
763 type:
764 description: Immutable. The type of reservation from which this
765 instance can consume resources.
766 type: string
767 required:
768 - type
769 type: object
770 resourceID:
771 description: Immutable. Optional. The name of the resource. Used for
772 creation and acquisition. When unset, the value of `metadata.name`
773 is used as the default.
774 type: string
775 resourcePolicies:
776 items:
777 oneOf:
778 - not:
779 required:
780 - external
781 required:
782 - name
783 - not:
784 anyOf:
785 - required:
786 - name
787 - required:
788 - namespace
789 required:
790 - external
791 properties:
792 external:
793 description: 'Allowed value: The `selfLink` field of a `ComputeResourcePolicy`
794 resource.'
795 type: string
796 name:
797 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
798 type: string
799 namespace:
800 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
801 type: string
802 type: object
803 type: array
804 scheduling:
805 description: Immutable. The scheduling strategy to use.
806 properties:
807 automaticRestart:
808 description: Immutable. Specifies whether the instance should
809 be automatically restarted if it is terminated by Compute Engine
810 (not terminated by a user). This defaults to true.
811 type: boolean
812 instanceTerminationAction:
813 description: Immutable. Specifies the action GCE should take when
814 SPOT VM is preempted.
815 type: string
816 maintenanceInterval:
817 description: 'Specifies the frequency of planned maintenance events.
818 The accepted values are: PERIODIC.'
819 type: string
820 maxRunDuration:
821 description: Immutable. The timeout for new network connections
822 to hosts.
823 properties:
824 nanos:
825 description: |-
826 Immutable. Span of time that's a fraction of a second at nanosecond
827 resolution. Durations less than one second are represented
828 with a 0 seconds field and a positive nanos field. Must
829 be from 0 to 999,999,999 inclusive.
830 type: integer
831 seconds:
832 description: |-
833 Immutable. Span of time at a resolution of a second.
834 Must be from 0 to 315,576,000,000 inclusive.
835 type: integer
836 required:
837 - seconds
838 type: object
839 minNodeCpus:
840 description: Minimum number of cpus for the instance.
841 type: integer
842 nodeAffinities:
843 items:
844 properties:
845 value:
846 type: object
847 x-kubernetes-preserve-unknown-fields: true
848 type: object
849 type: array
850 onHostMaintenance:
851 description: Immutable. Defines the maintenance behavior for this
852 instance.
853 type: string
854 preemptible:
855 description: Immutable. Allows instance to be preempted. This
856 defaults to false.
857 type: boolean
858 provisioningModel:
859 description: Immutable. Whether the instance is spot. If this
860 is set as SPOT.
861 type: string
862 type: object
863 serviceAccount:
864 description: Immutable. Service account to attach to the instance.
865 properties:
866 scopes:
867 description: Immutable. A list of service scopes. Both OAuth2
868 URLs and gcloud short names are supported. To allow full access
869 to all Cloud APIs, use the cloud-platform scope.
870 items:
871 type: string
872 type: array
873 serviceAccountRef:
874 oneOf:
875 - not:
876 required:
877 - external
878 required:
879 - name
880 - not:
881 anyOf:
882 - required:
883 - name
884 - required:
885 - namespace
886 required:
887 - external
888 properties:
889 external:
890 description: 'Allowed value: The `email` field of an `IAMServiceAccount`
891 resource.'
892 type: string
893 name:
894 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
895 type: string
896 namespace:
897 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
898 type: string
899 type: object
900 required:
901 - scopes
902 type: object
903 shieldedInstanceConfig:
904 description: 'Immutable. Enable Shielded VM on this instance. Shielded
905 VM provides verifiable integrity to prevent against malware and
906 rootkits. Defaults to disabled. Note: shielded_instance_config can
907 only be used with boot images with shielded vm support.'
908 properties:
909 enableIntegrityMonitoring:
910 description: Immutable. Compare the most recent boot measurements
911 to the integrity policy baseline and return a pair of pass/fail
912 results depending on whether they match or not. Defaults to
913 true.
914 type: boolean
915 enableSecureBoot:
916 description: Immutable. Verify the digital signature of all boot
917 components, and halt the boot process if signature verification
918 fails. Defaults to false.
919 type: boolean
920 enableVtpm:
921 description: Immutable. Use a virtualized trusted platform module,
922 which is a specialized computer chip you can use to encrypt
923 objects like keys and certificates. Defaults to true.
924 type: boolean
925 type: object
926 tags:
927 description: Immutable. Tags to attach to the instance.
928 items:
929 type: string
930 type: array
931 required:
932 - disk
933 - machineType
934 type: object
935 status:
936 properties:
937 conditions:
938 description: Conditions represent the latest available observation
939 of the resource's current state.
940 items:
941 properties:
942 lastTransitionTime:
943 description: Last time the condition transitioned from one status
944 to another.
945 type: string
946 message:
947 description: Human-readable message indicating details about
948 last transition.
949 type: string
950 reason:
951 description: Unique, one-word, CamelCase reason for the condition's
952 last transition.
953 type: string
954 status:
955 description: Status is the status of the condition. Can be True,
956 False, Unknown.
957 type: string
958 type:
959 description: Type is the type of the condition.
960 type: string
961 type: object
962 type: array
963 metadataFingerprint:
964 description: The unique fingerprint of the metadata.
965 type: string
966 observedGeneration:
967 description: ObservedGeneration is the generation of the resource
968 that was most recently observed by the Config Connector controller.
969 If this is equal to metadata.generation, then that means that the
970 current reported status reflects the most recent desired state of
971 the resource.
972 type: integer
973 selfLink:
974 description: The URI of the created resource.
975 type: string
976 selfLinkUnique:
977 description: A special URI of the created resource that uniquely identifies
978 this instance template.
979 type: string
980 tagsFingerprint:
981 description: The unique fingerprint of the tags.
982 type: string
983 type: object
984 required:
985 - spec
986 type: object
987 served: true
988 storage: true
989 subresources:
990 status: {}
991status:
992 acceptedNames:
993 kind: ""
994 plural: ""
995 conditions: []
996 storedVersions: []
View as plain text