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/dcl2crd: "true"
23 cnrm.cloud.google.com/managed-by-kcc: "true"
24 cnrm.cloud.google.com/stability-level: stable
25 cnrm.cloud.google.com/system: "true"
26 name: computeinstancegroupmanagers.compute.cnrm.cloud.google.com
27spec:
28 group: compute.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: ComputeInstanceGroupManager
33 plural: computeinstancegroupmanagers
34 shortNames:
35 - gcpcomputeinstancegroupmanager
36 - gcpcomputeinstancegroupmanagers
37 singular: computeinstancegroupmanager
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 autoHealingPolicies:
75 description: The autohealing policy for this managed instance group.
76 You can specify only one value.
77 items:
78 properties:
79 healthCheckRef:
80 oneOf:
81 - not:
82 required:
83 - external
84 required:
85 - name
86 - not:
87 anyOf:
88 - required:
89 - name
90 - required:
91 - namespace
92 required:
93 - external
94 properties:
95 external:
96 description: |-
97 The URL for the health check that signals autohealing.
98
99 Allowed value: The `selfLink` field of a `ComputeHealthCheck` resource.
100 type: string
101 name:
102 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
103 type: string
104 namespace:
105 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
106 type: string
107 type: object
108 initialDelaySec:
109 description: The number of seconds that the managed instance
110 group waits before it applies autohealing policies to new
111 instances or recently recreated instances. This initial delay
112 allows instances to initialize and run their startup scripts
113 before the instance group determines that they are UNHEALTHY.
114 This prevents the managed instance group from recreating its
115 instances prematurely. This value must be from range [0, 3600].
116 format: int64
117 type: integer
118 type: object
119 type: array
120 baseInstanceName:
121 description: The base instance name to use for instances in this group.
122 The value must be 1-58 characters long. Instances are named by appending
123 a hyphen and a random four-character string to the base instance
124 name. The base instance name must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
125 type: string
126 description:
127 description: Immutable. An optional description of this resource.
128 type: string
129 distributionPolicy:
130 description: Policy specifying the intended distribution of managed
131 instances across zones in a regional managed instance group.
132 properties:
133 targetShape:
134 description: 'The distribution shape to which the group converges
135 either proactively or on resize events (depending on the value
136 set in `updatePolicy.instanceRedistributionType`). Possible
137 values: TARGET_SHAPE_UNSPECIFIED, ANY, BALANCED, ANY_SINGLE_ZONE'
138 type: string
139 zones:
140 description: Immutable. Zones where the regional managed instance
141 group will create and manage its instances.
142 items:
143 properties:
144 zone:
145 description: Immutable. The URL of the [zone](/compute/docs/regions-zones/#available).
146 The zone must exist in the region where the managed instance
147 group is located.
148 type: string
149 type: object
150 type: array
151 type: object
152 failoverAction:
153 description: 'The action to perform in case of zone failure. Only
154 one value is supported, `NO_FAILOVER`. The default is `NO_FAILOVER`.
155 Possible values: UNKNOWN, NO_FAILOVER'
156 type: string
157 instanceTemplateRef:
158 oneOf:
159 - not:
160 required:
161 - external
162 required:
163 - name
164 - not:
165 anyOf:
166 - required:
167 - name
168 - required:
169 - namespace
170 required:
171 - external
172 properties:
173 external:
174 description: |-
175 The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run `recreateInstances`, run `applyUpdatesToInstances`, or set the group's `updatePolicy.type` to `PROACTIVE`.
176
177 Allowed value: The `selfLink` field of a `ComputeInstanceTemplate` resource.
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: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
184 type: string
185 type: object
186 location:
187 description: Immutable. The location of this resource.
188 type: string
189 namedPorts:
190 description: Immutable. Named ports configured for the Instance Groups
191 complementary to this Instance Group Manager.
192 items:
193 properties:
194 name:
195 description: Immutable. The name for this named port. The name
196 must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
197 type: string
198 port:
199 description: Immutable. The port number, which can be a value
200 between 1 and 65535.
201 format: int64
202 type: integer
203 type: object
204 type: array
205 projectRef:
206 description: Immutable. The Project that this resource belongs to.
207 oneOf:
208 - not:
209 required:
210 - external
211 required:
212 - name
213 - not:
214 anyOf:
215 - required:
216 - name
217 - required:
218 - namespace
219 required:
220 - external
221 properties:
222 external:
223 description: |-
224 The project for the resource
225
226 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
227 type: string
228 name:
229 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
230 type: string
231 namespace:
232 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
233 type: string
234 type: object
235 resourceID:
236 description: Immutable. Optional. The name of the resource. Used for
237 creation and acquisition. When unset, the value of `metadata.name`
238 is used as the default.
239 type: string
240 serviceAccountRef:
241 oneOf:
242 - not:
243 required:
244 - external
245 required:
246 - name
247 - not:
248 anyOf:
249 - required:
250 - name
251 - required:
252 - namespace
253 required:
254 - external
255 properties:
256 external:
257 description: |-
258 The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account: {projectNumber}@cloudservices.gserviceaccount.com is used.
259
260 Allowed value: The `email` field of an `IAMServiceAccount` resource.
261 type: string
262 name:
263 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
264 type: string
265 namespace:
266 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
267 type: string
268 type: object
269 statefulPolicy:
270 description: Stateful configuration for this Instanced Group Manager
271 properties:
272 preservedState:
273 properties:
274 disks:
275 additionalProperties:
276 properties:
277 autoDelete:
278 description: 'These stateful disks will never be deleted
279 during autohealing, update or VM instance recreate
280 operations. This flag is used to configure if the
281 disk should be deleted after it is no longer used
282 by the group, e.g. when the given instance or the
283 whole group is deleted. Note: disks attached in READ_ONLY
284 mode cannot be auto-deleted. Possible values: NEVER,
285 ON_PERMANENT_INSTANCE_DELETION'
286 type: string
287 type: object
288 description: Disks created on the instances that will be preserved
289 on instance delete, update, etc. This map is keyed with
290 the device names of the disks.
291 type: object
292 externalIps:
293 additionalProperties:
294 properties:
295 autoDelete:
296 description: 'These stateful IPs will never be released
297 during autohealing, update or VM instance recreate
298 operations. This flag is used to configure if the
299 IP reservation should be deleted after it is no longer
300 used by the group, e.g. when the given instance or
301 the whole group is deleted. Possible values: NEVER,
302 ON_PERMANENT_INSTANCE_DELETION'
303 type: string
304 type: object
305 description: External network IPs assigned to the instances
306 that will be preserved on instance delete, update, etc.
307 This map is keyed with the network interface name.
308 type: object
309 internalIps:
310 additionalProperties:
311 properties:
312 autoDelete:
313 description: 'These stateful IPs will never be released
314 during autohealing, update or VM instance recreate
315 operations. This flag is used to configure if the
316 IP reservation should be deleted after it is no longer
317 used by the group, e.g. when the given instance or
318 the whole group is deleted. Possible values: NEVER,
319 ON_PERMANENT_INSTANCE_DELETION'
320 type: string
321 type: object
322 description: Internal network IPs assigned to the instances
323 that will be preserved on instance delete, update, etc.
324 This map is keyed with the network interface name.
325 type: object
326 type: object
327 type: object
328 targetPools:
329 items:
330 oneOf:
331 - not:
332 required:
333 - external
334 required:
335 - name
336 - not:
337 anyOf:
338 - required:
339 - name
340 - required:
341 - namespace
342 required:
343 - external
344 properties:
345 external:
346 description: 'Allowed value: The `selfLink` field of a `ComputeTargetPool`
347 resource.'
348 type: string
349 name:
350 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
351 type: string
352 namespace:
353 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
354 type: string
355 type: object
356 type: array
357 targetSize:
358 description: The target number of running instances for this managed
359 instance group. You can reduce this number by using the instanceGroupManager
360 deleteInstances or abandonInstances methods. Resizing the group
361 also changes this number.
362 format: int64
363 type: integer
364 updatePolicy:
365 description: The update policy for this managed instance group.
366 properties:
367 instanceRedistributionType:
368 description: 'The [instance redistribution policy](/compute/docs/instance-groups/regional-migs#proactive_instance_redistribution)
369 for regional managed instance groups. Valid values are: - `PROACTIVE`
370 (default): The group attempts to maintain an even distribution
371 of VM instances across zones in the region. - `NONE`: For non-autoscaled
372 groups, proactive redistribution is disabled.'
373 type: string
374 maxSurge:
375 description: The maximum number of instances that can be created
376 above the specified `targetSize` during the update process.
377 This value can be either a fixed number or, if the group has
378 10 or more instances, a percentage. If you set a percentage,
379 the number of instances is rounded if necessary. The default
380 value for `maxSurge` is a fixed value equal to the number of
381 zones in which the managed instance group operates. At least
382 one of either `maxSurge` or `maxUnavailable` must be greater
383 than 0. Learn more about [`maxSurge`](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#max_surge).
384 properties:
385 fixed:
386 description: Specifies a fixed number of VM instances. This
387 must be a positive integer.
388 format: int64
389 type: integer
390 percent:
391 description: Specifies a percentage of instances between 0
392 to 100%, inclusive. For example, specify `80` for 80%.
393 format: int64
394 type: integer
395 type: object
396 maxUnavailable:
397 description: 'The maximum number of instances that can be unavailable
398 during the update process. An instance is considered available
399 if all of the following conditions are satisfied: - The instance''s
400 [status](/compute/docs/instances/checking-instance-status) is
401 `RUNNING`. - If there is a [health check](/compute/docs/instance-groups/autohealing-instances-in-migs)
402 on the instance group, the instance''s health check status must
403 be `HEALTHY` at least once. If there is no health check on the
404 group, then the instance only needs to have a status of `RUNNING`
405 to be considered available. This value can be either a fixed
406 number or, if the group has 10 or more instances, a percentage.
407 If you set a percentage, the number of instances is rounded
408 if necessary. The default value for `maxUnavailable` is a fixed
409 value equal to the number of zones in which the managed instance
410 group operates. At least one of either `maxSurge` or `maxUnavailable`
411 must be greater than 0. Learn more about [`maxUnavailable`](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#max_unavailable).'
412 properties:
413 fixed:
414 description: Specifies a fixed number of VM instances. This
415 must be a positive integer.
416 format: int64
417 type: integer
418 percent:
419 description: Specifies a percentage of instances between 0
420 to 100%, inclusive. For example, specify `80` for 80%.
421 format: int64
422 type: integer
423 type: object
424 minReadySec:
425 description: Minimum number of seconds to wait for after a newly
426 created instance becomes available. This value must be from
427 range [0, 3600].
428 format: int64
429 type: integer
430 minimalAction:
431 description: Minimal action to be taken on an instance. You can
432 specify either `RESTART` to restart existing instances or `REPLACE`
433 to delete and create new instances from the target template.
434 If you specify a `RESTART`, the Updater will attempt to perform
435 that action only. However, if the Updater determines that the
436 minimal action you specify is not enough to perform the update,
437 it might perform a more disruptive action.
438 type: string
439 mostDisruptiveAllowedAction:
440 description: Most disruptive action that is allowed to be taken
441 on an instance. You can specify either `NONE` to forbid any
442 actions, `REFRESH` to allow actions that do not need instance
443 restart, `RESTART` to allow actions that can be applied without
444 instance replacing or `REPLACE` to allow all possible actions.
445 If the Updater determines that the minimal update action needed
446 is more disruptive than most disruptive allowed action you specify
447 it will not perform the update at all.
448 type: string
449 replacementMethod:
450 description: 'What action should be used to replace instances.
451 See minimal_action.REPLACE Possible values: SUBSTITUTE, RECREATE'
452 type: string
453 type:
454 description: The type of update process. You can specify either
455 `PROACTIVE` so that the instance group manager proactively executes
456 actions in order to bring instances to their target versions
457 or `OPPORTUNISTIC` so that no action is proactively executed
458 but the update will be performed as part of other actions (for
459 example, resizes or `recreateInstances` calls).
460 type: string
461 type: object
462 versions:
463 description: Specifies the instance templates used by this managed
464 instance group to create instances. Each version is defined by an
465 `instanceTemplate` and a `name`. Every version can appear at most
466 once per instance group. This field overrides the top-level `instanceTemplate`
467 field. Read more about the [relationships between these fields](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#relationship_between_versions_and_instancetemplate_properties_for_a_managed_instance_group).
468 Exactly one `version` must leave the `targetSize` field unset. That
469 version will be applied to all remaining instances. For more information,
470 read about [canary updates](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#starting_a_canary_update).
471 items:
472 properties:
473 instanceTemplateRef:
474 oneOf:
475 - not:
476 required:
477 - external
478 required:
479 - name
480 - not:
481 anyOf:
482 - required:
483 - name
484 - required:
485 - namespace
486 required:
487 - external
488 properties:
489 external:
490 description: |-
491 The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run `recreateInstances`, run `applyUpdatesToInstances`, or set the group's `updatePolicy.type` to `PROACTIVE`; in those cases, existing instances are updated until the `targetSize` for this version is reached.
492
493 Allowed value: The `selfLink` field of a `ComputeInstanceTemplate` resource.
494 type: string
495 name:
496 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
497 type: string
498 namespace:
499 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
500 type: string
501 type: object
502 name:
503 description: Name of the version. Unique among all versions
504 in the scope of this managed instance group.
505 type: string
506 targetSize:
507 description: 'Specifies the intended number of instances to
508 be created from the `instanceTemplate`. The final number of
509 instances created from the template will be equal to: - If
510 expressed as a fixed number, the minimum of either `targetSize.fixed`
511 or `instanceGroupManager.targetSize` is used. - if expressed
512 as a `percent`, the `targetSize` would be `(targetSize.percent/100
513 * InstanceGroupManager.targetSize)` If there is a remainder,
514 the number is rounded. If unset, this version will update
515 any remaining instances not updated by another `version`.
516 Read [Starting a canary update](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#starting_a_canary_update)
517 for more information.'
518 properties:
519 calculated:
520 description: '[Output Only] Absolute value of VM instances
521 calculated based on the specific mode. - If the value
522 is `fixed`, then the `calculated` value is equal to the
523 `fixed` value. - If the value is a `percent`, then the
524 `calculated` value is `percent`/100 * `targetSize`. For
525 example, the `calculated` value of a 80% of a managed
526 instance group with 150 instances would be (80/100 * 150)
527 = 120 VM instances. If there is a remainder, the number
528 is rounded.'
529 format: int64
530 type: integer
531 fixed:
532 description: Specifies a fixed number of VM instances. This
533 must be a positive integer.
534 format: int64
535 type: integer
536 percent:
537 description: Specifies a percentage of instances between
538 0 to 100%, inclusive. For example, specify `80` for 80%.
539 format: int64
540 type: integer
541 type: object
542 type: object
543 type: array
544 required:
545 - projectRef
546 - targetSize
547 type: object
548 status:
549 properties:
550 conditions:
551 description: Conditions represent the latest available observation
552 of the resource's current state.
553 items:
554 properties:
555 lastTransitionTime:
556 description: Last time the condition transitioned from one status
557 to another.
558 type: string
559 message:
560 description: Human-readable message indicating details about
561 last transition.
562 type: string
563 reason:
564 description: Unique, one-word, CamelCase reason for the condition's
565 last transition.
566 type: string
567 status:
568 description: Status is the status of the condition. Can be True,
569 False, Unknown.
570 type: string
571 type:
572 description: Type is the type of the condition.
573 type: string
574 type: object
575 type: array
576 creationTimestamp:
577 description: The creation timestamp for this managed instance group
578 in \[RFC3339\](https://www.ietf.org/rfc/rfc3339.txt) text format.
579 type: string
580 currentActions:
581 description: '[Output Only] The list of instance actions and the number
582 of instances in this managed instance group that are scheduled for
583 each of those actions.'
584 properties:
585 abandoning:
586 description: '[Output Only] The total number of instances in the
587 managed instance group that are scheduled to be abandoned. Abandoning
588 an instance removes it from the managed instance group without
589 deleting it.'
590 format: int64
591 type: integer
592 creating:
593 description: '[Output Only] The number of instances in the managed
594 instance group that are scheduled to be created or are currently
595 being created. If the group fails to create any of these instances,
596 it tries again until it creates the instance successfully. If
597 you have disabled creation retries, this field will not be populated;
598 instead, the `creatingWithoutRetries` field will be populated.'
599 format: int64
600 type: integer
601 creatingWithoutRetries:
602 description: '[Output Only] The number of instances that the managed
603 instance group will attempt to create. The group attempts to
604 create each instance only once. If the group fails to create
605 any of these instances, it decreases the group''s `targetSize`
606 value accordingly.'
607 format: int64
608 type: integer
609 deleting:
610 description: '[Output Only] The number of instances in the managed
611 instance group that are scheduled to be deleted or are currently
612 being deleted.'
613 format: int64
614 type: integer
615 none:
616 description: '[Output Only] The number of instances in the managed
617 instance group that are running and have no scheduled actions.'
618 format: int64
619 type: integer
620 recreating:
621 description: '[Output Only] The number of instances in the managed
622 instance group that are scheduled to be recreated or are currently
623 being being recreated. Recreating an instance deletes the existing
624 root persistent disk and creates a new disk from the image that
625 is defined in the instance template.'
626 format: int64
627 type: integer
628 refreshing:
629 description: '[Output Only] The number of instances in the managed
630 instance group that are being reconfigured with properties that
631 do not require a restart or a recreate action. For example,
632 setting or removing target pools for the instance.'
633 format: int64
634 type: integer
635 restarting:
636 description: '[Output Only] The number of instances in the managed
637 instance group that are scheduled to be restarted or are currently
638 being restarted.'
639 format: int64
640 type: integer
641 verifying:
642 description: '[Output Only] The number of instances in the managed
643 instance group that are being verified. See the `managedInstances[].currentAction`
644 property in the `listManagedInstances` method documentation.'
645 format: int64
646 type: integer
647 type: object
648 fingerprint:
649 description: Fingerprint of this resource. This field may be used
650 in optimistic locking. It will be ignored when inserting an InstanceGroupManager.
651 An up-to-date fingerprint must be provided in order to update the
652 InstanceGroupManager, otherwise the request will fail with error
653 `412 conditionNotMet`. To see the latest fingerprint, make a `get()`
654 request to retrieve an InstanceGroupManager.
655 type: string
656 id:
657 description: '[Output Only] A unique identifier for this resource
658 type. The server generates this identifier.'
659 format: int64
660 type: integer
661 instanceGroup:
662 description: '[Output Only] The URL of the Instance Group resource.'
663 type: string
664 observedGeneration:
665 description: ObservedGeneration is the generation of the resource
666 that was most recently observed by the Config Connector controller.
667 If this is equal to metadata.generation, then that means that the
668 current reported status reflects the most recent desired state of
669 the resource.
670 type: integer
671 region:
672 description: '[Output Only] The URL of the [region](/compute/docs/regions-zones/#available)
673 where the managed instance group resides (for regional resources).'
674 type: string
675 selfLink:
676 description: '[Output Only] The URL for this managed instance group.
677 The server defines this URL.'
678 type: string
679 status:
680 description: '[Output Only] The status of this managed instance group.'
681 properties:
682 autoscaler:
683 description: '[Output Only] The URL of the [Autoscaler](/compute/docs/autoscaler/)
684 that targets this instance group manager.'
685 type: string
686 isStable:
687 description: '[Output Only] A bit indicating whether the managed
688 instance group is in a stable state. A stable state means that:
689 none of the instances in the managed instance group is currently
690 undergoing any type of change (for example, creation, restart,
691 or deletion); no future changes are scheduled for instances
692 in the managed instance group; and the managed instance group
693 itself is not being modified.'
694 type: boolean
695 stateful:
696 description: '[Output Only] Stateful status of the given Instance
697 Group Manager.'
698 properties:
699 hasStatefulConfig:
700 description: '[Output Only] A bit indicating whether the managed
701 instance group has stateful configuration, that is, if you
702 have configured any items in a stateful policy or in per-instance
703 configs. The group might report that it has no stateful
704 config even when there is still some preserved state on
705 a managed instance, for example, if you have deleted all
706 PICs but not yet applied those deletions.'
707 type: boolean
708 isStateful:
709 description: '[Output Only] A bit indicating whether the managed
710 instance group has stateful configuration, that is, if you
711 have configured any items in a stateful policy or in per-instance
712 configs. The group might report that it has no stateful
713 config even when there is still some preserved state on
714 a managed instance, for example, if you have deleted all
715 PICs but not yet applied those deletions. This field is
716 deprecated in favor of has_stateful_config.'
717 type: boolean
718 perInstanceConfigs:
719 description: '[Output Only] Status of per-instance configs
720 on the instance.'
721 properties:
722 allEffective:
723 description: A bit indicating if all of the group's per-instance
724 configs (listed in the output of a listPerInstanceConfigs
725 API call) have status `EFFECTIVE` or there are no per-instance-configs.
726 type: boolean
727 type: object
728 type: object
729 versionTarget:
730 description: '[Output Only] A status of consistency of Instances''
731 versions with their target version specified by `version` field
732 on Instance Group Manager.'
733 properties:
734 isReached:
735 description: '[Output Only] A bit indicating whether version
736 target has been reached in this managed instance group,
737 i.e. all instances are in their target version. Instances''
738 target version are specified by `version` field on Instance
739 Group Manager.'
740 type: boolean
741 type: object
742 type: object
743 updatePolicy:
744 properties:
745 maxSurge:
746 properties:
747 calculated:
748 description: '[Output Only] Absolute value of VM instances
749 calculated based on the specific mode. - If the value is
750 `fixed`, then the `calculated` value is equal to the `fixed`
751 value. - If the value is a `percent`, then the `calculated`
752 value is `percent`/100 * `targetSize`. For example, the
753 `calculated` value of a 80% of a managed instance group
754 with 150 instances would be (80/100 * 150) = 120 VM instances.
755 If there is a remainder, the number is rounded.'
756 format: int64
757 type: integer
758 type: object
759 maxUnavailable:
760 properties:
761 calculated:
762 description: '[Output Only] Absolute value of VM instances
763 calculated based on the specific mode. - If the value is
764 `fixed`, then the `calculated` value is equal to the `fixed`
765 value. - If the value is a `percent`, then the `calculated`
766 value is `percent`/100 * `targetSize`. For example, the
767 `calculated` value of a 80% of a managed instance group
768 with 150 instances would be (80/100 * 150) = 120 VM instances.
769 If there is a remainder, the number is rounded.'
770 format: int64
771 type: integer
772 type: object
773 type: object
774 zone:
775 description: '[Output Only] The URL of a [zone](/compute/docs/regions-zones/#available)
776 where the managed instance group is located (for zonal resources).'
777 type: string
778 type: object
779 required:
780 - spec
781 type: object
782 served: true
783 storage: true
784 subresources:
785 status: {}
786status:
787 acceptedNames:
788 kind: ""
789 plural: ""
790 conditions: []
791 storedVersions: []
View as plain text