Entity Type

Describes a business concept or underlying conceptual model

Application DependenciesCloud NativeIntegrationResearchSpecificationsWorkload Specifications

Properties

Name Type Description
ordId string
localId string
correlationIds array
title string
shortDescription string
description string
partOfPackage string
partOfGroups array
partOfProducts array
version object
lastUpdate string
visibility object
releaseStatus object
deprecationDate string
sunsetDate string
successors array
changelogEntries array
level string Abstraction level using DDD terminology
relatedEntityTypes array
links array
extensible object
tags array
labels object
documentationLabels object
policyLevel object
customPolicyLevel object
policyLevels array
systemInstanceAware boolean
View JSON Schema on GitHub

JSON Schema

application-research-entitytype-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/EntityType",
  "title": "Entity Type",
  "type": "object",
  "description": "Describes a business concept or underlying conceptual model",
  "required": [
    "ordId",
    "localId",
    "level",
    "title",
    "version",
    "visibility",
    "partOfPackage",
    "releaseStatus"
  ],
  "properties": {
    "ordId": {
      "type": "string",
      "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(entityType):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
      "maxLength": 255
    },
    "localId": {
      "type": "string",
      "maxLength": 255
    },
    "correlationIds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CorrelationId"
      }
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "shortDescription": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "minLength": 1
    },
    "partOfPackage": {
      "type": "string",
      "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(package):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
      "maxLength": 255
    },
    "partOfGroups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupId"
      }
    },
    "partOfProducts": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(product):([a-zA-Z0-9._\\-]+):()$",
        "maxLength": 255
      }
    },
    "version": {
      "$ref": "#/components/schemas/SemVer"
    },
    "lastUpdate": {
      "type": "string",
      "format": "date-time"
    },
    "visibility": {
      "$ref": "#/components/schemas/Visibility"
    },
    "releaseStatus": {
      "$ref": "#/components/schemas/ReleaseStatus"
    },
    "deprecationDate": {
      "type": "string",
      "format": "date-time"
    },
    "sunsetDate": {
      "type": "string",
      "format": "date-time"
    },
    "successors": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):(entityType):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
        "maxLength": 255
      }
    },
    "changelogEntries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ChangelogEntry"
      }
    },
    "level": {
      "type": "string",
      "enum": [
        "aggregate",
        "root-entity",
        "sub-entity"
      ],
      "description": "Abstraction level using DDD terminology"
    },
    "relatedEntityTypes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RelatedEntityType"
      }
    },
    "links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Link"
      }
    },
    "extensible": {
      "$ref": "#/components/schemas/Extensible"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tag"
      }
    },
    "labels": {
      "$ref": "#/components/schemas/Labels"
    },
    "documentationLabels": {
      "$ref": "#/components/schemas/DocumentationLabels"
    },
    "policyLevel": {
      "$ref": "#/components/schemas/PolicyLevel"
    },
    "customPolicyLevel": {
      "$ref": "#/components/schemas/CustomPolicyLevel"
    },
    "policyLevels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PolicyLevelId"
      }
    },
    "systemInstanceAware": {
      "type": "boolean",
      "default": false
    }
  }
}