{
  "id": "type-h22",
  "revision": "4900acac70a945e1d1d7d4f65acc32f2b7dae279add4aa678baa95df952b977b",
  "regions": [
    {
      "id": "desired-service",
      "label": "Desired service",
      "parent": null
    },
    {
      "id": "zone-a",
      "label": "Zone A",
      "parent": null
    },
    {
      "id": "zone-b",
      "label": "Zone B",
      "parent": null
    },
    {
      "id": "control-plane",
      "label": "Control plane",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "primary",
      "label": "Primary service placement",
      "kind": "N27",
      "region": "desired-service",
      "ports": [
        {
          "id": "zone",
          "profile": "P19",
          "contract": "DistinctServiceZoneV1",
          "polarity": "Neutral"
        },
        {
          "id": "host",
          "profile": "P19",
          "contract": "ServiceHostPlacementV1",
          "polarity": "Neutral"
        }
      ]
    },
    {
      "id": "backup",
      "label": "Backup service placement",
      "kind": "N27",
      "region": "desired-service",
      "ports": [
        {
          "id": "zone",
          "profile": "P19",
          "contract": "DistinctServiceZoneV1",
          "polarity": "Neutral"
        },
        {
          "id": "host",
          "profile": "P19",
          "contract": "ServiceHostPlacementV1",
          "polarity": "Neutral"
        }
      ]
    },
    {
      "id": "zoneA",
      "label": "Zone A host",
      "kind": "N27",
      "region": "zone-a",
      "ports": [
        {
          "id": "host",
          "profile": "P19",
          "contract": "ServiceHostPlacementV1",
          "polarity": "Neutral"
        }
      ]
    },
    {
      "id": "zoneB",
      "label": "Zone B host",
      "kind": "N27",
      "region": "zone-b",
      "ports": [
        {
          "id": "host",
          "profile": "P19",
          "contract": "ServiceHostPlacementV1",
          "polarity": "Neutral"
        }
      ]
    },
    {
      "id": "validate",
      "label": "Failure-domain validator",
      "kind": "N01",
      "region": "control-plane",
      "ports": [
        {
          "id": "zone",
          "profile": "P19",
          "contract": "DistinctServiceZoneV1",
          "polarity": "Neutral"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "separation",
      "kind": "H22",
      "incidences": [
        {
          "node": "primary",
          "port": "zone",
          "role": "member",
          "ordinal": 0
        },
        {
          "node": "backup",
          "port": "zone",
          "role": "member",
          "ordinal": 1
        },
        {
          "node": "validate",
          "port": "zone",
          "role": "validator",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "primary",
      "kind": "H21",
      "incidences": [
        {
          "node": "primary",
          "port": "host",
          "role": "subject",
          "ordinal": 0
        },
        {
          "node": "zoneA",
          "port": "host",
          "role": "host",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "backup",
      "kind": "H21",
      "incidences": [
        {
          "node": "backup",
          "port": "host",
          "role": "subject",
          "ordinal": 0
        },
        {
          "node": "zoneB",
          "port": "host",
          "role": "host",
          "ordinal": 0
        }
      ]
    }
  ]
}
