{
  "$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-schema.json",
  "title": "InstanceGroup",
  "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.",
  "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/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",
  "$defs": {
    "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>."
    }
  }
}