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


ATLAS1836 Add Area 0 models

Signed-off-by: David Radley <[email protected]>


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 <[email protected]>
Authored: Sun Oct 8 14:07:53 2017 +0100
Committer: David Radley <[email protected]>
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": []
+}

Reply via email to