{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-cloud-compute-engine/json-schema/google-cloud-compute-engine-instance-group-list-schema.json",
  "title": "InstanceGroupList",
  "description": "A list of InstanceGroup resources.",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-cloud-compute-engine-instance-groups-api-openapi.yml#/components/schemas/InstanceGroupList",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Output only. [Output Only] Unique identifier for the resource; defined by the server."
    },
    "kind": {
      "readOnly": true,
      "default": "compute#instanceGroupList",
      "type": "string",
      "description": "Output only. [Output Only] The resource type, which is alwayscompute#instanceGroupList for instance group lists."
    },
    "selfLink": {
      "readOnly": true,
      "type": "string",
      "description": "Output only. [Output Only] Server-defined URL for this resource."
    },
    "nextPageToken": {
      "readOnly": true,
      "description": "Output only. [Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.",
      "type": "string"
    },
    "items": {
      "items": {
        "$ref": "#/$defs/InstanceGroup"
      },
      "type": "array",
      "description": "A list of InstanceGroup resources."
    },
    "warning": {
      "properties": {
        "data": {
          "type": "array",
          "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n  {\n   \"key\": \"scope\",\n   \"value\": \"zones/us-east1-d\"\n  }]",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).",
                "type": "string"
              },
              "value": {
                "description": "[Output Only] A warning data value corresponding to the key.",
                "type": "string"
              }
            }
          }
        },
        "code": {
          "enum": [
            "CLEANUP_FAILED",
            "DEPRECATED_RESOURCE_USED",
            "DEPRECATED_TYPE_USED",
            "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
            "EXPERIMENTAL_TYPE_USED",
            "EXTERNAL_API_WARNING",
            "FIELD_VALUE_OVERRIDEN",
            "INJECTED_KERNELS_DEPRECATED",
            "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB",
            "LARGE_DEPLOYMENT_WARNING",
            "LIST_OVERHEAD_QUOTA_EXCEED",
            "MISSING_TYPE_DEPENDENCY",
            "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
            "NEXT_HOP_CANNOT_IP_FORWARD",
            "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE",
            "NEXT_HOP_INSTANCE_NOT_FOUND",
            "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
            "NEXT_HOP_NOT_RUNNING",
            "NOT_CRITICAL_ERROR",
            "NO_RESULTS_ON_PAGE",
            "PARTIAL_SUCCESS",
            "QUOTA_INFO_UNAVAILABLE",
            "REQUIRED_TOS_AGREEMENT",
            "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
            "RESOURCE_NOT_DELETED",
            "SCHEMA_VALIDATION_IGNORED",
            "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
            "UNDECLARED_PROPERTIES",
            "UNREACHABLE"
          ],
          "type": "string",
          "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response."
        },
        "message": {
          "description": "[Output Only] A human-readable description of the warning code.",
          "type": "string"
        }
      },
      "readOnly": true,
      "type": "object",
      "description": "Output only. [Output Only] Informational warning message."
    }
  },
  "type": "object",
  "$defs": {
    "InstanceGroup": {
      "properties": {
        "kind": {
          "description": "Output only. [Output Only] The resource type, which is alwayscompute#instanceGroup for instance groups.",
          "readOnly": true,
          "type": "string",
          "default": "compute#instanceGroup"
        },
        "description": {
          "type": "string",
          "description": "An optional description of this resource. Provide this property when you\ncreate the resource."
        },
        "region": {
          "type": "string",
          "description": "Output only. [Output Only] The URL of theregion\nwhere the instance group is located (for regional resources).",
          "readOnly": true
        },
        "selfLink": {
          "type": "string",
          "description": "Output only. [Output Only] The URL for this instance group. The server generates\nthis URL.",
          "readOnly": true
        },
        "network": {
          "type": "string",
          "description": "[Output Only] The URL of the network to which all instances in the\ninstance group belong. If your instance has multiple network interfaces,\nthen the network and subnetwork fields only refer to the\nnetwork and subnet used by your primary interface (nic0)."
        },
        "creationTimestamp": {
          "type": "string",
          "description": "Output only. [Output Only] The creation timestamp for this instance group inRFC3339\ntext format.",
          "readOnly": true
        },
        "zone": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. [Output Only] The URL of thezone\nwhere the instance group is located (for zonal resources)."
        },
        "size": {
          "format": "int32",
          "description": "Output only. [Output Only] The total number of instances in the instance group.",
          "type": "integer",
          "readOnly": true
        },
        "namedPorts": {
          "type": "array",
          "description": "Optional. Assigns a name to a port number. For example:{name: \"http\", port: 80}\n\nThis\nallows the system to reference ports by the assigned name instead of a\nport number. Named ports can also contain multiple ports. For example:[{name: \"app1\", port: 8080}, {name:\n\"app1\", port: 8081}, {name: \"app2\", port:\n8082}]\n\nNamed ports apply to all instances in this instance group.",
          "items": {
            "$ref": "#/$defs/NamedPort"
          }
        },
        "fingerprint": {
          "format": "byte",
          "description": "Output only. [Output Only] The fingerprint of the named ports. The system\nuses this fingerprint to detect conflicts when multiple users change the\nnamed ports concurrently.",
          "type": "string",
          "readOnly": true
        },
        "subnetwork": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. [Output Only] The URL of the subnetwork to which all instances in the\ninstance group belong. If your instance has multiple network interfaces,\nthen the network and subnetwork fields only refer to the\nnetwork and subnet used by your primary interface (nic0)."
        },
        "id": {
          "format": "uint64",
          "readOnly": true,
          "type": "string",
          "description": "Output only. [Output Only] A unique identifier for this instance group, generated\nby the server."
        },
        "name": {
          "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
          "description": "The name of the instance group. The name must be 1-63 characters\nlong, and comply withRFC1035.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Represents an Instance Group resource.\n\nInstance Groups can be used to configure a target forload\nbalancing.\n\nInstance groups can either be managed or unmanaged.\n\nTo create \nmanaged instance groups, use the instanceGroupManager orregionInstanceGroupManager resource instead.\n\nUse zonal unmanaged instance groups if you need to applyload\nbalancing to groups of heterogeneous instances or if you need to manage\nthe instances yourself. You cannot create regional unmanaged instance groups.\n\nFor more information, readInstance\ngroups."
    },
    "NamedPort": {
      "properties": {
        "name": {
          "description": "The name for this named port.\nThe name must be 1-63 characters long, and comply withRFC1035.",
          "type": "string"
        },
        "port": {
          "type": "integer",
          "description": "The port number, which can be a value between 1 and 65535.",
          "format": "int32"
        }
      },
      "type": "object",
      "description": "The named port. For example: <\"http\", 80>."
    }
  }
}