apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 0.0.0-dev
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/dcl2crd: "true"
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/stability-level: stable
    cnrm.cloud.google.com/system: "true"
  name: computeinstancegroupmanagers.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeInstanceGroupManager
    plural: computeinstancegroupmanagers
    shortNames:
    - gcpcomputeinstancegroupmanager
    - gcpcomputeinstancegroupmanagers
    singular: computeinstancegroupmanager
  preserveUnknownFields: false
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: When 'True', the most recent reconcile of the resource succeeded
      jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - description: The reason for the value in 'Ready'
      jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Status
      type: string
    - description: The last transition time for the value in 'Status'
      jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
      name: Status Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            description: 'apiVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
            type: string
          kind:
            description: 'kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            properties:
              autoHealingPolicies:
                description: The autohealing policy for this managed instance group.
                  You can specify only one value.
                items:
                  properties:
                    healthCheckRef:
                      oneOf:
                      - not:
                          required:
                          - external
                        required:
                        - name
                      - not:
                          anyOf:
                          - required:
                            - name
                          - required:
                            - namespace
                        required:
                        - external
                      properties:
                        external:
                          description: |-
                            The URL for the health check that signals autohealing.

                            Allowed value: The `selfLink` field of a `ComputeHealthCheck` resource.
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                          type: string
                      type: object
                    initialDelaySec:
                      description: The number of seconds that the managed instance
                        group waits before it applies autohealing policies to new
                        instances or recently recreated instances. This initial delay
                        allows instances to initialize and run their startup scripts
                        before the instance group determines that they are UNHEALTHY.
                        This prevents the managed instance group from recreating its
                        instances prematurely. This value must be from range [0, 3600].
                      format: int64
                      type: integer
                  type: object
                type: array
              baseInstanceName:
                description: The base instance name to use for instances in this group.
                  The value must be 1-58 characters long. Instances are named by appending
                  a hyphen and a random four-character string to the base instance
                  name. The base instance name must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
                type: string
              description:
                description: Immutable. An optional description of this resource.
                type: string
              distributionPolicy:
                description: Policy specifying the intended distribution of managed
                  instances across zones in a regional managed instance group.
                properties:
                  targetShape:
                    description: 'The distribution shape to which the group converges
                      either proactively or on resize events (depending on the value
                      set in `updatePolicy.instanceRedistributionType`). Possible
                      values: TARGET_SHAPE_UNSPECIFIED, ANY, BALANCED, ANY_SINGLE_ZONE'
                    type: string
                  zones:
                    description: Immutable. Zones where the regional managed instance
                      group will create and manage its instances.
                    items:
                      properties:
                        zone:
                          description: Immutable. The URL of the [zone](/compute/docs/regions-zones/#available).
                            The zone must exist in the region where the managed instance
                            group is located.
                          type: string
                      type: object
                    type: array
                type: object
              failoverAction:
                description: 'The action to perform in case of zone failure. Only
                  one value is supported, `NO_FAILOVER`. The default is `NO_FAILOVER`.
                  Possible values: UNKNOWN, NO_FAILOVER'
                type: string
              instanceTemplateRef:
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - name
                - not:
                    anyOf:
                    - required:
                      - name
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    description: |-
                      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`.

                      Allowed value: The `selfLink` field of a `ComputeInstanceTemplate` resource.
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                type: object
              location:
                description: Immutable. The location of this resource.
                type: string
              namedPorts:
                description: Immutable. Named ports configured for the Instance Groups
                  complementary to this Instance Group Manager.
                items:
                  properties:
                    name:
                      description: Immutable. The name for this named port. The name
                        must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
                      type: string
                    port:
                      description: Immutable. The port number, which can be a value
                        between 1 and 65535.
                      format: int64
                      type: integer
                  type: object
                type: array
              projectRef:
                description: Immutable. The Project that this resource belongs to.
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - name
                - not:
                    anyOf:
                    - required:
                      - name
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    description: |-
                      The project for the resource

                      Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                type: object
              resourceID:
                description: Immutable. Optional. The name of the resource. Used for
                  creation and acquisition. When unset, the value of `metadata.name`
                  is used as the default.
                type: string
              serviceAccountRef:
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - name
                - not:
                    anyOf:
                    - required:
                      - name
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    description: |-
                      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.

                      Allowed value: The `email` field of an `IAMServiceAccount` resource.
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                type: object
              statefulPolicy:
                description: Stateful configuration for this Instanced Group Manager
                properties:
                  preservedState:
                    properties:
                      disks:
                        additionalProperties:
                          properties:
                            autoDelete:
                              description: 'These stateful disks will never be deleted
                                during autohealing, update or VM instance recreate
                                operations. This flag is used to configure if the
                                disk should be deleted after it is no longer used
                                by the group, e.g. when the given instance or the
                                whole group is deleted. Note: disks attached in READ_ONLY
                                mode cannot be auto-deleted. Possible values: NEVER,
                                ON_PERMANENT_INSTANCE_DELETION'
                              type: string
                          type: object
                        description: Disks created on the instances that will be preserved
                          on instance delete, update, etc. This map is keyed with
                          the device names of the disks.
                        type: object
                      externalIps:
                        additionalProperties:
                          properties:
                            autoDelete:
                              description: 'These stateful IPs will never be released
                                during autohealing, update or VM instance recreate
                                operations. This flag is used to configure if the
                                IP reservation should be deleted after it is no longer
                                used by the group, e.g. when the given instance or
                                the whole group is deleted. Possible values: NEVER,
                                ON_PERMANENT_INSTANCE_DELETION'
                              type: string
                          type: object
                        description: External network IPs assigned to the instances
                          that will be preserved on instance delete, update, etc.
                          This map is keyed with the network interface name.
                        type: object
                      internalIps:
                        additionalProperties:
                          properties:
                            autoDelete:
                              description: 'These stateful IPs will never be released
                                during autohealing, update or VM instance recreate
                                operations. This flag is used to configure if the
                                IP reservation should be deleted after it is no longer
                                used by the group, e.g. when the given instance or
                                the whole group is deleted. Possible values: NEVER,
                                ON_PERMANENT_INSTANCE_DELETION'
                              type: string
                          type: object
                        description: Internal network IPs assigned to the instances
                          that will be preserved on instance delete, update, etc.
                          This map is keyed with the network interface name.
                        type: object
                    type: object
                type: object
              targetPools:
                items:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - name
                  - not:
                      anyOf:
                      - required:
                        - name
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      description: 'Allowed value: The `selfLink` field of a `ComputeTargetPool`
                        resource.'
                      type: string
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    namespace:
                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                      type: string
                  type: object
                type: array
              targetSize:
                description: The target number of running instances for this managed
                  instance group. You can reduce this number by using the instanceGroupManager
                  deleteInstances or abandonInstances methods. Resizing the group
                  also changes this number.
                format: int64
                type: integer
              updatePolicy:
                description: The update policy for this managed instance group.
                properties:
                  instanceRedistributionType:
                    description: 'The [instance redistribution policy](/compute/docs/instance-groups/regional-migs#proactive_instance_redistribution)
                      for regional managed instance groups. Valid values are: - `PROACTIVE`
                      (default): The group attempts to maintain an even distribution
                      of VM instances across zones in the region. - `NONE`: For non-autoscaled
                      groups, proactive redistribution is disabled.'
                    type: string
                  maxSurge:
                    description: The maximum number of instances that can be created
                      above the specified `targetSize` during the update process.
                      This value can be either a fixed number or, if the group has
                      10 or more instances, a percentage. If you set a percentage,
                      the number of instances is rounded if necessary. The default
                      value for `maxSurge` is a fixed value equal to the number of
                      zones in which the managed instance group operates. At least
                      one of either `maxSurge` or `maxUnavailable` must be greater
                      than 0. Learn more about [`maxSurge`](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#max_surge).
                    properties:
                      fixed:
                        description: Specifies a fixed number of VM instances. This
                          must be a positive integer.
                        format: int64
                        type: integer
                      percent:
                        description: Specifies a percentage of instances between 0
                          to 100%, inclusive. For example, specify `80` for 80%.
                        format: int64
                        type: integer
                    type: object
                  maxUnavailable:
                    description: 'The maximum number of instances that can be unavailable
                      during the update process. An instance is considered available
                      if all of the following conditions are satisfied: - The instance''s
                      [status](/compute/docs/instances/checking-instance-status) is
                      `RUNNING`. - If there is a [health check](/compute/docs/instance-groups/autohealing-instances-in-migs)
                      on the instance group, the instance''s health check status must
                      be `HEALTHY` at least once. If there is no health check on the
                      group, then the instance only needs to have a status of `RUNNING`
                      to be considered available. This value can be either a fixed
                      number or, if the group has 10 or more instances, a percentage.
                      If you set a percentage, the number of instances is rounded
                      if necessary. The default value for `maxUnavailable` is a fixed
                      value equal to the number of zones in which the managed instance
                      group operates. At least one of either `maxSurge` or `maxUnavailable`
                      must be greater than 0. Learn more about [`maxUnavailable`](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#max_unavailable).'
                    properties:
                      fixed:
                        description: Specifies a fixed number of VM instances. This
                          must be a positive integer.
                        format: int64
                        type: integer
                      percent:
                        description: Specifies a percentage of instances between 0
                          to 100%, inclusive. For example, specify `80` for 80%.
                        format: int64
                        type: integer
                    type: object
                  minReadySec:
                    description: Minimum number of seconds to wait for after a newly
                      created instance becomes available. This value must be from
                      range [0, 3600].
                    format: int64
                    type: integer
                  minimalAction:
                    description: Minimal action to be taken on an instance. You can
                      specify either `RESTART` to restart existing instances or `REPLACE`
                      to delete and create new instances from the target template.
                      If you specify a `RESTART`, the Updater will attempt to perform
                      that action only. However, if the Updater determines that the
                      minimal action you specify is not enough to perform the update,
                      it might perform a more disruptive action.
                    type: string
                  mostDisruptiveAllowedAction:
                    description: Most disruptive action that is allowed to be taken
                      on an instance. You can specify either `NONE` to forbid any
                      actions, `REFRESH` to allow actions that do not need instance
                      restart, `RESTART` to allow actions that can be applied without
                      instance replacing or `REPLACE` to allow all possible actions.
                      If the Updater determines that the minimal update action needed
                      is more disruptive than most disruptive allowed action you specify
                      it will not perform the update at all.
                    type: string
                  replacementMethod:
                    description: 'What action should be used to replace instances.
                      See minimal_action.REPLACE Possible values: SUBSTITUTE, RECREATE'
                    type: string
                  type:
                    description: The type of update process. You can specify either
                      `PROACTIVE` so that the instance group manager proactively executes
                      actions in order to bring instances to their target versions
                      or `OPPORTUNISTIC` so that no action is proactively executed
                      but the update will be performed as part of other actions (for
                      example, resizes or `recreateInstances` calls).
                    type: string
                type: object
              versions:
                description: Specifies the instance templates used by this managed
                  instance group to create instances. Each version is defined by an
                  `instanceTemplate` and a `name`. Every version can appear at most
                  once per instance group. This field overrides the top-level `instanceTemplate`
                  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).
                  Exactly one `version` must leave the `targetSize` field unset. That
                  version will be applied to all remaining instances. For more information,
                  read about [canary updates](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#starting_a_canary_update).
                items:
                  properties:
                    instanceTemplateRef:
                      oneOf:
                      - not:
                          required:
                          - external
                        required:
                        - name
                      - not:
                          anyOf:
                          - required:
                            - name
                          - required:
                            - namespace
                        required:
                        - external
                      properties:
                        external:
                          description: |-
                            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.

                            Allowed value: The `selfLink` field of a `ComputeInstanceTemplate` resource.
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                          type: string
                      type: object
                    name:
                      description: Name of the version. Unique among all versions
                        in the scope of this managed instance group.
                      type: string
                    targetSize:
                      description: 'Specifies the intended number of instances to
                        be created from the `instanceTemplate`. The final number of
                        instances created from the template will be equal to: - If
                        expressed as a fixed number, the minimum of either `targetSize.fixed`
                        or `instanceGroupManager.targetSize` is used. - if expressed
                        as a `percent`, the `targetSize` would be `(targetSize.percent/100
                        * InstanceGroupManager.targetSize)` If there is a remainder,
                        the number is rounded. If unset, this version will update
                        any remaining instances not updated by another `version`.
                        Read [Starting a canary update](/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups#starting_a_canary_update)
                        for more information.'
                      properties:
                        calculated:
                          description: '[Output Only] Absolute value of VM instances
                            calculated based on the specific mode. - If the value
                            is `fixed`, then the `calculated` value is equal to the
                            `fixed` value. - If the value is a `percent`, then the
                            `calculated` value is `percent`/100 * `targetSize`. For
                            example, the `calculated` value of a 80% of a managed
                            instance group with 150 instances would be (80/100 * 150)
                            = 120 VM instances. If there is a remainder, the number
                            is rounded.'
                          format: int64
                          type: integer
                        fixed:
                          description: Specifies a fixed number of VM instances. This
                            must be a positive integer.
                          format: int64
                          type: integer
                        percent:
                          description: Specifies a percentage of instances between
                            0 to 100%, inclusive. For example, specify `80` for 80%.
                          format: int64
                          type: integer
                      type: object
                  type: object
                type: array
            required:
            - projectRef
            - targetSize
            type: object
          status:
            properties:
              conditions:
                description: Conditions represent the latest available observation
                  of the resource's current state.
                items:
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about
                        last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's
                        last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True,
                        False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                type: array
              creationTimestamp:
                description: The creation timestamp for this managed instance group
                  in \[RFC3339\](https://www.ietf.org/rfc/rfc3339.txt) text format.
                type: string
              currentActions:
                description: '[Output Only] The list of instance actions and the number
                  of instances in this managed instance group that are scheduled for
                  each of those actions.'
                properties:
                  abandoning:
                    description: '[Output Only] The total number of instances in the
                      managed instance group that are scheduled to be abandoned. Abandoning
                      an instance removes it from the managed instance group without
                      deleting it.'
                    format: int64
                    type: integer
                  creating:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are scheduled to be created or are currently
                      being created. If the group fails to create any of these instances,
                      it tries again until it creates the instance successfully. If
                      you have disabled creation retries, this field will not be populated;
                      instead, the `creatingWithoutRetries` field will be populated.'
                    format: int64
                    type: integer
                  creatingWithoutRetries:
                    description: '[Output Only] The number of instances that the managed
                      instance group will attempt to create. The group attempts to
                      create each instance only once. If the group fails to create
                      any of these instances, it decreases the group''s `targetSize`
                      value accordingly.'
                    format: int64
                    type: integer
                  deleting:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are scheduled to be deleted or are currently
                      being deleted.'
                    format: int64
                    type: integer
                  none:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are running and have no scheduled actions.'
                    format: int64
                    type: integer
                  recreating:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are scheduled to be recreated or are currently
                      being being recreated. Recreating an instance deletes the existing
                      root persistent disk and creates a new disk from the image that
                      is defined in the instance template.'
                    format: int64
                    type: integer
                  refreshing:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are being reconfigured with properties that
                      do not require a restart or a recreate action. For example,
                      setting or removing target pools for the instance.'
                    format: int64
                    type: integer
                  restarting:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are scheduled to be restarted or are currently
                      being restarted.'
                    format: int64
                    type: integer
                  verifying:
                    description: '[Output Only] The number of instances in the managed
                      instance group that are being verified. See the `managedInstances[].currentAction`
                      property in the `listManagedInstances` method documentation.'
                    format: int64
                    type: integer
                type: object
              fingerprint:
                description: Fingerprint of this resource. This field may be used
                  in optimistic locking. It will be ignored when inserting an InstanceGroupManager.
                  An up-to-date fingerprint must be provided in order to update the
                  InstanceGroupManager, otherwise the request will fail with error
                  `412 conditionNotMet`. To see the latest fingerprint, make a `get()`
                  request to retrieve an InstanceGroupManager.
                type: string
              id:
                description: '[Output Only] A unique identifier for this resource
                  type. The server generates this identifier.'
                format: int64
                type: integer
              instanceGroup:
                description: '[Output Only] The URL of the Instance Group resource.'
                type: string
              observedGeneration:
                description: ObservedGeneration is the generation of the resource
                  that was most recently observed by the Config Connector controller.
                  If this is equal to metadata.generation, then that means that the
                  current reported status reflects the most recent desired state of
                  the resource.
                type: integer
              region:
                description: '[Output Only] The URL of the [region](/compute/docs/regions-zones/#available)
                  where the managed instance group resides (for regional resources).'
                type: string
              selfLink:
                description: '[Output Only] The URL for this managed instance group.
                  The server defines this URL.'
                type: string
              status:
                description: '[Output Only] The status of this managed instance group.'
                properties:
                  autoscaler:
                    description: '[Output Only] The URL of the [Autoscaler](/compute/docs/autoscaler/)
                      that targets this instance group manager.'
                    type: string
                  isStable:
                    description: '[Output Only] A bit indicating whether the managed
                      instance group is in a stable state. A stable state means that:
                      none of the instances in the managed instance group is currently
                      undergoing any type of change (for example, creation, restart,
                      or deletion); no future changes are scheduled for instances
                      in the managed instance group; and the managed instance group
                      itself is not being modified.'
                    type: boolean
                  stateful:
                    description: '[Output Only] Stateful status of the given Instance
                      Group Manager.'
                    properties:
                      hasStatefulConfig:
                        description: '[Output Only] A bit indicating whether the managed
                          instance group has stateful configuration, that is, if you
                          have configured any items in a stateful policy or in per-instance
                          configs. The group might report that it has no stateful
                          config even when there is still some preserved state on
                          a managed instance, for example, if you have deleted all
                          PICs but not yet applied those deletions.'
                        type: boolean
                      isStateful:
                        description: '[Output Only] A bit indicating whether the managed
                          instance group has stateful configuration, that is, if you
                          have configured any items in a stateful policy or in per-instance
                          configs. The group might report that it has no stateful
                          config even when there is still some preserved state on
                          a managed instance, for example, if you have deleted all
                          PICs but not yet applied those deletions. This field is
                          deprecated in favor of has_stateful_config.'
                        type: boolean
                      perInstanceConfigs:
                        description: '[Output Only] Status of per-instance configs
                          on the instance.'
                        properties:
                          allEffective:
                            description: A bit indicating if all of the group's per-instance
                              configs (listed in the output of a listPerInstanceConfigs
                              API call) have status `EFFECTIVE` or there are no per-instance-configs.
                            type: boolean
                        type: object
                    type: object
                  versionTarget:
                    description: '[Output Only] A status of consistency of Instances''
                      versions with their target version specified by `version` field
                      on Instance Group Manager.'
                    properties:
                      isReached:
                        description: '[Output Only] A bit indicating whether version
                          target has been reached in this managed instance group,
                          i.e. all instances are in their target version. Instances''
                          target version are specified by `version` field on Instance
                          Group Manager.'
                        type: boolean
                    type: object
                type: object
              updatePolicy:
                properties:
                  maxSurge:
                    properties:
                      calculated:
                        description: '[Output Only] Absolute value of VM instances
                          calculated based on the specific mode. - If the value is
                          `fixed`, then the `calculated` value is equal to the `fixed`
                          value. - If the value is a `percent`, then the `calculated`
                          value is `percent`/100 * `targetSize`. For example, the
                          `calculated` value of a 80% of a managed instance group
                          with 150 instances would be (80/100 * 150) = 120 VM instances.
                          If there is a remainder, the number is rounded.'
                        format: int64
                        type: integer
                    type: object
                  maxUnavailable:
                    properties:
                      calculated:
                        description: '[Output Only] Absolute value of VM instances
                          calculated based on the specific mode. - If the value is
                          `fixed`, then the `calculated` value is equal to the `fixed`
                          value. - If the value is a `percent`, then the `calculated`
                          value is `percent`/100 * `targetSize`. For example, the
                          `calculated` value of a 80% of a managed instance group
                          with 150 instances would be (80/100 * 150) = 120 VM instances.
                          If there is a remainder, the number is rounded.'
                        format: int64
                        type: integer
                    type: object
                type: object
              zone:
                description: '[Output Only] The URL of a [zone](/compute/docs/regions-zones/#available)
                  where the managed instance group is located (for zonal resources).'
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
