{
  "enumDefs": [
  ],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name": "HostCluster",
      "description":"A Host Cluster describes a collection of hosts acting together as a cluster. Clusters are often used to provide horizontal scaling of services.",
      "superTypes": [
        "Host"
      ],
      "typeVersion": "1.0",
      "attributeDefs": []
    },
    {
      "name": "Virtualcontainer",
      "description":"A Virtual Container or a Server Container, provides the services of a host to the software servers deployed on it. Docker is an example of a virtual container. When the server makes requests for storage, network access etc, the VirtualContainer delegates the requests to the equivalent services of the actual host it is deployed on. VirtualContainers can be hosted on other VirtualContainers, but to actually run they need to ultimately be deployed on to a real physical Host.",
      "superTypes": [
        "Host"
      ],
      "typeVersion": "1.0",
      "attributeDefs": []
    }
  ],
  "relationshipDefs": [
    {
      "name": "DeployedVirtualContainer",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "hosts",
        "type": "Virtualcontainer",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "name": "hostedContainers",
        "type": "Host",
        "cardinality": "SET"
      },
      "relationshipCategory": "AGGREGATION"
    },
    {
      "name": "HostClusterMember",
      "typeVersion": "1.0",
      "endDef1": {
        "name": "hosts",
        "description":"There should be one or more hosts.",
        "type": "HostCluster",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "name": "hostCluster",
        "type": "Host",
        "cardinality": "SINGLE"
      },
      "relationshipCategory": "AGGREGATION"
    }
  ]
}
