You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by da...@apache.org on 2017/10/09 08:50:18 UTC

atlas git commit: ATLAS1836 Add Area 0 models

Repository: atlas
Updated Branches:
  refs/heads/master 6a18b5c65 -> 29465efb3


ATLAS1836 Add Area 0 models

Signed-off-by: David Radley <da...@uk.ibm.com>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/29465efb
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/29465efb
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/29465efb

Branch: refs/heads/master
Commit: 29465efb337fe3c47131a0853b50650356f01903
Parents: 6a18b5c
Author: David Radley <da...@uk.ibm.com>
Authored: Sun Oct 8 14:07:53 2017 +0100
Committer: David Radley <da...@uk.ibm.com>
Committed: Mon Oct 9 09:49:42 2017 +0100

----------------------------------------------------------------------
 .../0000-Area0/0015-LinkedMediaTypes_model.json | 234 ++++++++++++++++
 .../0017-ExternalIdentifiers_model.json         | 139 ++++++++++
 .../0000-Area0/0020-PropertyFacets_model.json   |  76 +++++
 .../models/0000-Area0/0025-Locations_model.json | 135 +++++++++
 .../0030-HostsAndPlatforms_model.json           | 114 ++++++++
 .../0000-Area0/0035-ComplexHosts_model.json     |  61 ++++
 .../models/0000-Area0/0040-Servers_model.json   | 278 +++++++++++++++++++
 .../0070-NetworksAndGateways_model.json         |  56 ++++
 .../0090-CloudPlatformsAndServices.json         |  67 +++++
 9 files changed, 1160 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0015-LinkedMediaTypes_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0015-LinkedMediaTypes_model.json b/addons/models/0000-Area0/0015-LinkedMediaTypes_model.json
new file mode 100644
index 0000000..a2c9284
--- /dev/null
+++ b/addons/models/0000-Area0/0015-LinkedMediaTypes_model.json
@@ -0,0 +1,234 @@
+{
+  "enumDefs": [
+    {
+      "name": "MediaUsage",
+      "description":"The media usage types",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "ordinal": 0,
+          "value": "ICON"
+        },
+        {
+          "ordinal": 1,
+          "value": "THUMBNAIL"
+        },
+        {
+          "ordinal": 2,
+          "value": "ILLUSTRATION"
+        },
+        {
+          "ordinal": 3,
+          "value": "USAGE_GUIDANCE"
+        },
+        {
+          "ordinal": 99,
+          "value": "OTHER"
+        }
+      ]
+    },
+    {
+      "name": "MediaType",
+      "description": "The media type",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "ordinal": 1,
+          "value": "IMAGE"
+        },
+        {
+          "ordinal": 2,
+          "value": "VIDEO"
+        },
+        {
+          "ordinal": 3,
+          "value": "SOUND"
+        },
+        {
+          "ordinal": 4,
+          "value": "DOCUMENT"
+        },
+        {
+          "ordinal": 99,
+          "value": "OTHER"
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "EmbeddedMedia",
+      "description":"EmbeddedMedia is media embedded in a metadata object. Media such as images allow an icon, thumbnail and larger images to be associated with a metadata element.  They are intended to be displayed with the metadata content. This media enriches the description of the object and may include, for example, design drawings, photographs or illustrations of the component in action.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "uri",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "version",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "organization",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "mediaUsage",
+          "typeName": "array<MediaUsage>",
+          "cardinality": "SINGLE",
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "mediaType",
+          "typeName": "array<MediaType>",
+          "cardinality": "SINGLE",
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "ExternalReference",
+      "description":"External References link metadata to elements in external repositories.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "displayName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "uri",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "version",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "organization",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "ExternalReferenceLink",
+      "description":"External reference links relate metadata to elements in external repositories.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "relatedEntities",
+        "type": "ExternalReference",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "externalReferences",
+        "type": "Referenceable",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "attributeDefs": [
+        {
+          "name": "referenceId",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "MediaReference",
+      "description":"Media reference relates metadata and media elements within this metadata repository.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "consumingEntities",
+        "type": "EmbeddedMedia",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "embeddedMetadata",
+        "type": "Referenceable",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "attributeDefs": [
+        {
+          "name": "mediaId",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0017-ExternalIdentifiers_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0017-ExternalIdentifiers_model.json b/addons/models/0000-Area0/0017-ExternalIdentifiers_model.json
new file mode 100644
index 0000000..3a3bb33
--- /dev/null
+++ b/addons/models/0000-Area0/0017-ExternalIdentifiers_model.json
@@ -0,0 +1,139 @@
+{
+  "enumDefs": [
+    {
+      "name": "KeyPattern",
+      "description":"Key Pattern indicates the way that the key is being used",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "ordinal": 0,
+          "value": "LOCAL_KEY"
+        },
+        {
+          "ordinal": 1,
+          "value": "RECYCLED_KEY"
+        },
+        {
+          "ordinal": 2,
+          "value": "NATURAL_KEY",
+          "description": "A natural key (also known as business key) is a type of unique key, found in relational model database design, that is formed of attributes that already exist in the real world."
+        },
+        {
+          "ordinal": 4,
+          "value": "MIRROR_KEY"
+        },
+        {
+          "ordinal": 5,
+          "value": "AGGREGATE_KEY"
+        },
+        {
+          "ordinal": 6,
+          "value": "CALLERS_KEY"
+        },
+        {
+          "ordinal": 7,
+          "value": "STABLE_KEY"
+        },
+        {
+          "ordinal": 99,
+          "value": "OTHER"
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "ExternalId",
+      "description":"External Identifiers are identifiers for a Referenceable that are used in external systems.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "identifier",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "keyPattern",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "ExternalIdentifierLink",
+      "description":"External Identifier Link relates external identifiers to elements they are also known as.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "resource",
+        "type": "ExternalId",
+        "cardinality": "SINGLE"
+      },
+      "endDef2": {
+        "name": "alsoKnownAs",
+        "type": "Referenceable",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "usage",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "ExternalIdentifierScope",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "scopedTo",
+        "type": "ExternalId",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "managedResources",
+        "type": "Referenceable",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0020-PropertyFacets_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0020-PropertyFacets_model.json b/addons/models/0000-Area0/0020-PropertyFacets_model.json
new file mode 100644
index 0000000..0acdf48
--- /dev/null
+++ b/addons/models/0000-Area0/0020-PropertyFacets_model.json
@@ -0,0 +1,76 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "PropertyFacet",
+      "description":"Property facets allow any entity to be extended with additional properties. This is particularly useful for storing metadata that originated in another type of metadata repository, or tool since it allows vendor/tool specific values to be stored.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "version",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "organization",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "properties",
+          "typeName": "map<string,string>",
+          "cardinality": "SINGLE",
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "ReferenceableFacets",
+      "description":"The link between the additional (custom) properties and the entity.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "additionalProperties",
+        "type": "PropertyFacet",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "relatedEntity",
+        "type": "Referenceable",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "COMPOSITION",
+      "attributeDefs": [
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0025-Locations_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0025-Locations_model.json b/addons/models/0000-Area0/0025-Locations_model.json
new file mode 100644
index 0000000..5dbfd9b
--- /dev/null
+++ b/addons/models/0000-Area0/0025-Locations_model.json
@@ -0,0 +1,135 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "PhysicalLocation",
+      "description":"Physical Location means that the location represents a physical place where, for example, Hosts, Servers and hence data may be located. This could be an area of a data center, the building the data center is located in, or even the country where the server/data is located.",
+      "superTypes": [],
+      "entityTypes":["Location"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "coordinates",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "address",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "SecureLocation",
+      "description":"Secure Location indicates that there is restricted access to the location",
+      "superTypes": [],
+      "entityTypes":["Location"],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    },
+    {
+      "name": "MobileLocation",
+      "description":"Mobile Location means that the Host is mobile. An example of such a host would be a smart phone or IoT (Internet of Things) enabled vehicle.",
+      "superTypes": [],
+      "entityTypes":["Location"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "device",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "entityDefs": [
+    {
+      "name": "Location",
+      "description":"The location can be used to define country, data centers, geographic locations. The granularity in which locations are modeled depends on the organisation. It is important to understand where assets are located to ensure they are properly protected and comply with data sovereignty laws. The notion of a location is variable and the classifications PhysicalLocation, SecureLocation and MobileLocation help to clarify the nature of the location.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "name",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": false,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "NestedLocation",
+      "description":"The Nested Location relationship allows hierarchical grouping of locations to be represented. Notice that locations can be organized into multiple hierarchies.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "nestedLocations",
+        "type": "Location",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "groupingLocations",
+        "type": "Location",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "AGGREGATION"
+    },
+    {
+      "name": "AdjacentLocation",
+      "description":"The Adjacent Location relationship links locations that touch one another.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "PeerLocations",
+        "type": "Location",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "PeerLocations",
+        "type": "Location",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    },
+    {
+      "name": "AssetLocation",
+      "description":"The location of the asset.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "knownLocations",
+        "type": "Asset",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "localAssets",
+        "type": "Location",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0030-HostsAndPlatforms_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0030-HostsAndPlatforms_model.json b/addons/models/0000-Area0/0030-HostsAndPlatforms_model.json
new file mode 100644
index 0000000..a3fd721
--- /dev/null
+++ b/addons/models/0000-Area0/0030-HostsAndPlatforms_model.json
@@ -0,0 +1,114 @@
+{
+  "enumDefs": [
+    {
+      "name": "Endianness",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "ordinal": 0,
+          "value": "BIG_ENDIAN"
+        },
+        {
+          "ordinal": 1,
+          "value": "LITTLE_ENDIAN"
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [
+  ],
+  "entityDefs": [
+    {
+      "name": "Host",
+      "description":"",
+      "superTypes": [
+        "Infrastructure"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    },
+    {
+      "name": "OperatingPlatform",
+      "description":"The operating platform is an informational entity to describe the operating system of the host.",
+      "superTypes": [],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "name",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "operatingSystem",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "endianness",
+          "typeName": "Endianness",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "timeZone",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "HostOperatingPlatform",
+      "description":"The relationship between the Host and the operation platform. Many hosts could have the same operating platform.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "hosts",
+        "type": "OperatingPlatform",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "platform",
+        "type": "Host",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    },
+    {
+      "name": "HostLocation",
+      "description":"The host can be linked to its location through the HostLocation relationship.",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "hosts",
+        "type": "Location",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "locations",
+        "type": "Host",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0035-ComplexHosts_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0035-ComplexHosts_model.json b/addons/models/0000-Area0/0035-ComplexHosts_model.json
new file mode 100644
index 0000000..4effe2b
--- /dev/null
+++ b/addons/models/0000-Area0/0035-ComplexHosts_model.json
@@ -0,0 +1,61 @@
+{
+  "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 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"
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0040-Servers_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0040-Servers_model.json b/addons/models/0000-Area0/0040-Servers_model.json
new file mode 100644
index 0000000..83d2800
--- /dev/null
+++ b/addons/models/0000-Area0/0040-Servers_model.json
@@ -0,0 +1,278 @@
+{
+  "enumDefs": [
+    {
+      "name": "OperationalStatus",
+      "description": "The media usage types.",
+      "typeVersion": "1.0",
+      "elementDefs": [{
+        "ordinal": 0,
+        "value": "DISABLED"
+      },
+        {
+          "ordinal": 1,
+          "value": "ENABLED"
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "Server",
+      "description": "Servers describe the middleware servers (such as application servers, data movement engines and database servers) that run on the Hosts. Within the Server model, we capture its userid. Most metadata repositories are run in a secure mode requiring incoming requests to incluye the requester's security credentials. Therefore we have an identifier for each unique logged on security identity (aka userId). This identity is recorded within specific entities and relationships when they are created or updated. By storing the user identifier for the server, it is possible to correlate the server with the changes to the metadata (and related data assets) that it makes.",
+      "superTypes": [
+        "Infrastructure"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "userid",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "type",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "version",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "Endpoint",
+      "description": "The endpoint defines the parameters needed to connect to the server. It also features in the Connection model used by applications and tools to call the server. Thus through the endpoint entity it is possible to link the connection to the underlying server.",
+      "superTypes": ["Referenceable"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "name",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "networkAddress",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "protocol",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "encrypted",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "ServerCapability",
+      "description": "Within the server are many capabilities. These range from full applications to security plugins to logging and encryption libraries. Different organizations and tools can choose the granularity in which the capabilities are captured in order to provide appropriate context to data assets and the decisions made around them.",
+      "superTypes": [
+        "Infrastructure"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [{
+        "name": "name",
+        "typeName": "string",
+        "cardinality": "SINGLE",
+        "isIndexable": true,
+        "isOptional": true,
+        "isUnique": false
+      },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "type",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "version",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "patchLevel",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "properties",
+          "typeName": "map<string,string>",
+          "cardinality": "SINGLE",
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "ServerEndpoint",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "endpoints",
+        "type": "Server",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "server",
+        "type": "Endpoint",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    },
+    {
+      "name": "ServerSupportedCapability",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "capabilities",
+        "type": "Server",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "servers",
+        "type": "ServerCapability",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "AGGREGATION",
+      "attributeDefs": [
+        {
+          "name": "deploymentTime",
+          "typeName": "date",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "deployer",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "serverCapabilityStatus",
+          "typeName": "OperationalStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "ServerDeployment",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "deployedServers",
+        "type": "Host",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "host",
+        "type": "Server",
+        "cardinality": "SINGLE"
+
+      },
+      "relationshipCategory": "AGGREGATION",
+      "attributeDefs": [
+        {
+          "name": "deploymentTime",
+          "typeName": "date",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "deployer",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "serverCapabilityStatus",
+          "typeName": "OperationalStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0070-NetworksAndGateways_model.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0070-NetworksAndGateways_model.json b/addons/models/0000-Area0/0070-NetworksAndGateways_model.json
new file mode 100644
index 0000000..7e41536
--- /dev/null
+++ b/addons/models/0000-Area0/0070-NetworksAndGateways_model.json
@@ -0,0 +1,56 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "Network",
+      "superTypes": [
+        "Infrastructure"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    },
+    {
+      "name": "NetworkGateway",
+      "superTypes": [
+        "ServerCapability"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "NetworkGatewayLink",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "gateways",
+        "type": "Network",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "networkConnections",
+        "type": "NetworkGateway",
+        "cardinality": "SET"
+
+      },
+      "relationshipCategory": "ASSOCIATION"
+    },
+    {
+      "name": "HostNetwork",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "connectedHosts",
+        "type": "Network",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "networkConnections",
+        "type": "Host",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION"
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/29465efb/addons/models/0000-Area0/0090-CloudPlatformsAndServices.json
----------------------------------------------------------------------
diff --git a/addons/models/0000-Area0/0090-CloudPlatformsAndServices.json b/addons/models/0000-Area0/0090-CloudPlatformsAndServices.json
new file mode 100644
index 0000000..803c0d1
--- /dev/null
+++ b/addons/models/0000-Area0/0090-CloudPlatformsAndServices.json
@@ -0,0 +1,67 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "CloudProvider",
+      "description":"The cloud provider is the organization that provides and runs the infrastructure for a cloud service. Typically the host it offers is actually a HostCluster. The cloud provider may offer infrastructure as a service (IaaS), in which case, an organization can deploy VirtualContainers onto the cloud provider's HostCluster.",
+      "superTypes": [],
+      "entityTypes":["Host"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "providerName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "CloudPlatform",
+      "descriptiojn":"If the cloud provider is offering platform as a service (PaaS), an application may deploy server capability onto the cloud platform.",
+      "superTypes": [],
+      "entityTypes":["Server"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "type",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "CloudService",
+      "description":"If the cloud provider is offering Software as a Service (SaaS) then it has provided APIs backed by pre-deployed server capability that an organization can call as a cloud service.",
+      "superTypes": [],
+      "entityTypes":["ServerCapability"],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "offeringName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "type",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "entityDefs": [],
+  "relationshipDefs": []
+}