{
  "id": "type-h20",
  "revision": "a8f762afba3784827ab744b38fe313b469b8e0d02c303426bc07c775bff98446",
  "regions": [
    {
      "id": "source",
      "label": "Source",
      "parent": null
    },
    {
      "id": "server",
      "label": "Server",
      "parent": null
    },
    {
      "id": "runtime",
      "label": "Runtime",
      "parent": null
    },
    {
      "id": "storage",
      "label": "Storage",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "definition",
      "label": "Tenant service blueprint",
      "kind": "N10",
      "region": "source",
      "ports": [
        {
          "id": "ref",
          "profile": "P23",
          "contract": "TenantServiceDefinitionRefV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "factory",
      "label": "Tenant service factory",
      "kind": "N29",
      "region": "server",
      "ports": [
        {
          "id": "definition",
          "profile": "P23",
          "contract": "TenantServiceDefinitionRefV1",
          "polarity": "Require"
        },
        {
          "id": "create",
          "profile": "P21",
          "contract": "TenantServiceInstanceV1",
          "polarity": "Neutral"
        },
        {
          "id": "lease",
          "profile": "P09",
          "contract": "TenantActivationLeaseV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "instance",
      "label": "Tenant service activation",
      "kind": "N27",
      "region": "runtime",
      "ports": [
        {
          "id": "lifecycle",
          "profile": "P21",
          "contract": "TenantServiceInstanceV1",
          "polarity": "Neutral"
        },
        {
          "id": "state",
          "profile": "P02",
          "contract": "TenantScopedStateReadV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "state",
      "label": "Tenant state authority",
      "kind": "N21",
      "region": "storage",
      "ports": [
        {
          "id": "read",
          "profile": "P02",
          "contract": "TenantScopedStateReadV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "registry",
      "label": "Tenant activation registry",
      "kind": "N21",
      "region": "server",
      "ports": [
        {
          "id": "lease",
          "profile": "P09",
          "contract": "TenantActivationLeaseV1",
          "polarity": "Offer"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "definition",
      "kind": "H26",
      "incidences": [
        {
          "node": "definition",
          "port": "ref",
          "role": "artifact",
          "ordinal": 0
        },
        {
          "node": "factory",
          "port": "definition",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "instantiate",
      "kind": "H20",
      "incidences": [
        {
          "node": "factory",
          "port": "create",
          "role": "factory",
          "ordinal": 0
        },
        {
          "node": "instance",
          "port": "lifecycle",
          "role": "instance",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "lease",
      "kind": "H05",
      "incidences": [
        {
          "node": "factory",
          "port": "lease",
          "role": "caller",
          "ordinal": 0
        },
        {
          "node": "registry",
          "port": "lease",
          "role": "callee",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "bind",
      "kind": "H01",
      "incidences": [
        {
          "node": "state",
          "port": "read",
          "role": "provider",
          "ordinal": 0
        },
        {
          "node": "instance",
          "port": "state",
          "role": "consumer",
          "ordinal": 0
        }
      ]
    }
  ]
}
