Type - Bulk Create
Create all atlas type definitions in bulk. Please avoid recreating existing types.
POST {endpoint}/datamap/api/atlas/v2/types/typedefs
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
Request Body
Name | Type | Description |
---|---|---|
businessMetadataDefs |
businessMetadataDefs |
|
classificationDefs |
An array of classification definitions. |
|
entityDefs |
An array of entity definitions. |
|
enumDefs |
An array of enum definitions. |
|
relationshipDefs |
An array of relationship definitions. |
|
structDefs |
An array of struct definitions. |
|
termTemplateDefs |
An array of term template definitions. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
The request has succeeded. |
|
Other Status Codes |
An unexpected error response. |
Security
OAuth2Auth
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
https://purview.azure.net/.default |
Examples
Type_Bulk |
Type_Bulk |
Type_BulkCreate
Sample request
POST {endpoint}/datamap/api/atlas/v2/types/typedefs
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [
{
"name": "azure_sql_server_example",
"superTypes": [
"azure_resource"
],
"typeVersion": "1.0",
"attributeDefs": [
{
"name": "databases",
"typeName": "array<azure_sql_db>",
"cardinality": "SET",
"isIndexable": false,
"isOptional": true,
"isUnique": false
}
]
}
],
"relationshipDefs": []
}
Sample response
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [
{
"category": "ENTITY",
"guid": "a47fd902-a564-45f1-aa51-ce9224955881",
"createdBy": "ExampleCreator",
"updatedBy": "ExampleUpdator",
"createTime": 1553672211954,
"updateTime": 1553672211954,
"version": 1,
"name": "azure_sql_server_example",
"description": "azure_sql_server_example",
"typeVersion": "1.0",
"attributeDefs": [
{
"name": "databases",
"typeName": "array<azure_sql_db>",
"isOptional": true,
"cardinality": "SET",
"valuesMinCount": 0,
"valuesMaxCount": 2147483647,
"isUnique": false,
"isIndexable": false,
"includeInNotification": false
}
],
"superTypes": [
"azure_resource"
],
"subTypes": []
}
],
"relationshipDefs": []
}
Type_BulkCreateBusinessMetadataDefs
Sample request
POST {endpoint}/datamap/api/atlas/v2/types/typedefs
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [],
"relationshipDefs": [],
"businessMetadataDefs": [
{
"name": "myBizMetadata1",
"description": "",
"attributeDefs": [
{
"name": "bizAttr1",
"typeName": "string",
"isOptional": true,
"cardinality": "SINGLE",
"isUnique": false,
"isIndexable": true,
"options": {
"maxStrLength": "50",
"applicableEntityTypes": "[\"Path\"]"
}
}
]
}
]
}
Sample response
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [],
"relationshipDefs": [],
"businessMetadataDefs": [
{
"category": "BUSINESS_METADATA",
"guid": "f26dc6d1-be9c-a0ce-a274-b6388ff6e2eb",
"createdBy": "ServiceAdmin",
"updatedBy": "ServiceAdmin",
"createTime": 1646994112241,
"updateTime": 1646994112241,
"version": 1,
"name": "myBizMetadata1",
"description": "This is my businessMetadata1",
"typeVersion": "1.0",
"lastModifiedTS": "1",
"attributeDefs": [
{
"name": "bizAttr1",
"typeName": "string",
"isOptional": true,
"cardinality": "SINGLE",
"valuesMinCount": 0,
"valuesMaxCount": 1,
"isUnique": false,
"isIndexable": true,
"includeInNotification": false,
"options": {
"applicableEntityTypes": "[\"Path\"]",
"maxStrLength": "50"
}
}
]
}
]
}
Definitions
Name | Description |
---|---|
Atlas |
class that captures details of a struct-attribute. |
Atlas |
class that captures details of a struct-type. |
Atlas |
class that captures details of a classification-type. |
Atlas |
class that captures details of a constraint. |
Atlas |
class that captures details of a entity-type. |
Atlas |
class that captures details of an enum-type. |
Atlas |
class that captures details of an enum-element. |
Atlas |
An error response from the service |
Atlas |
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship. |
Atlas |
AtlasRelationshipDef is a TypeDef that defines a relationship. As with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid. The name and the guid are the 2 ways that the RelationshipDef is identified. RelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally whether the end is a container. RelationshipDefs can have AttributeDefs - though only primitive types are allowed. RelationshipDefs have a relationshipCategory specifying the UML type of relationship required The way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs will not specify an EntityDef type name as their types. RelationshipDefs introduce new attributes to the entity instances. For example EntityDef A might have attributes attr1,attr2,attr3 EntityDef B might have attributes attr4,attr5,attr6 RelationshipDef AtoB might define 2 ends end1: type A, name attr7 end2: type B, name attr8 When an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7 When an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8 In this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into the entity instances |
Atlas |
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship. |
Atlas |
class that captures details of a struct-type. |
Atlas |
The definitions of types. |
Cardinality |
Cardinality |
Date |
The date format. |
Number |
The number format. |
Relationship |
Relationship Category |
Rounding |
Rounding Mode |
Term |
Term template definition for glossary term. |
Time |
The timezone information. |
Type |
Type Category |
AtlasAttributeDef
class that captures details of a struct-attribute.
Name | Type | Description |
---|---|---|
cardinality |
single-valued attribute or multi-valued attribute. |
|
constraints |
An array of constraints. |
|
defaultValue |
string |
The default value of the attribute. |
description |
string |
The description of the attribute. |
includeInNotification |
boolean |
Determines if it is included in notification. |
isIndexable |
boolean |
Determines if it is indexable. |
isOptional |
boolean |
Determines if it is optional. |
isUnique |
boolean |
Determines if it unique. |
name |
string |
The name of the attribute. |
options |
object |
The options for the attribute. |
typeName |
string |
The name of the type. |
valuesMaxCount |
integer |
The maximum count of the values. |
valuesMinCount |
integer |
The minimum count of the values. |
AtlasBusinessMetadataDef
class that captures details of a struct-type.
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
serviceType |
string |
The service type. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasClassificationDef
class that captures details of a classification-type.
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
entityTypes |
string[] |
Specifying a list of entityType names in the classificationDef, ensures that classifications can only be applied to those entityTypes. Any subtypes of the entity types inherit the restriction. Any classificationDef subtypes inherit the parents entityTypes restrictions. Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes. An empty entityTypes list when there are no parent restrictions means there are no restrictions. An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions. If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs. |
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
serviceType |
string |
The service type. |
subTypes |
string[] |
An array of sub types. |
superTypes |
string[] |
An array of super types. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasConstraintDef
class that captures details of a constraint.
Name | Type | Description |
---|---|---|
params |
|
The parameters of the constraint definition. |
type |
string |
The type of the constraint. |
AtlasEntityDef
class that captures details of a entity-type.
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
relationshipAttributeDefs |
An array of relationship attributes. |
|
serviceType |
string |
The service type. |
subTypes |
string[] |
An array of sub types. |
superTypes |
string[] |
An array of super types. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasEnumDef
class that captures details of an enum-type.
Name | Type | Description |
---|---|---|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
defaultValue |
string |
The default value. |
description |
string |
The description of the type definition. |
elementDefs |
An array of enum element definitions. |
|
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
serviceType |
string |
The service type. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasEnumElementDef
class that captures details of an enum-element.
Name | Type | Description |
---|---|---|
description |
string |
The description of the enum element definition. |
ordinal |
integer |
The ordinal of the enum element definition. |
value |
string |
The value of the enum element definition. |
AtlasErrorResponse
An error response from the service
Name | Type | Description |
---|---|---|
errorCode |
string |
The error code. |
errorMessage |
string |
The error message. |
requestId |
string |
The request ID. |
AtlasRelationshipAttributeDef
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship.
Name | Type | Description |
---|---|---|
cardinality |
single-valued attribute or multi-valued attribute. |
|
constraints |
An array of constraints. |
|
defaultValue |
string |
The default value of the attribute. |
description |
string |
The description of the attribute. |
includeInNotification |
boolean |
Determines if it is included in notification. |
isIndexable |
boolean |
Determines if it is indexable. |
isLegacyAttribute |
boolean |
Determines if it is a legacy attribute. |
isOptional |
boolean |
Determines if it is optional. |
isUnique |
boolean |
Determines if it unique. |
name |
string |
The name of the attribute. |
options |
object |
The options for the attribute. |
relationshipTypeName |
string |
The name of the relationship type. |
typeName |
string |
The name of the type. |
valuesMaxCount |
integer |
The maximum count of the values. |
valuesMinCount |
integer |
The minimum count of the values. |
AtlasRelationshipDef
AtlasRelationshipDef is a TypeDef that defines a relationship. As with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid. The name and the guid are the 2 ways that the RelationshipDef is identified. RelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally whether the end is a container. RelationshipDefs can have AttributeDefs - though only primitive types are allowed. RelationshipDefs have a relationshipCategory specifying the UML type of relationship required The way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs will not specify an EntityDef type name as their types. RelationshipDefs introduce new attributes to the entity instances. For example EntityDef A might have attributes attr1,attr2,attr3
EntityDef B might have attributes attr4,attr5,attr6 RelationshipDef AtoB might define 2 ends
end1: type A, name attr7 end2: type B, name attr8
When an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7 When an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8
In this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into the entity instances
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
endDef1 |
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship. |
|
endDef2 |
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship. |
|
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
relationshipCategory |
The Relationship category determines the style of relationship around containment and lifecycle. UML terminology is used for the values. ASSOCIATION is a relationship with no containment. COMPOSITION and AGGREGATION are containment relationships. The difference being in the lifecycles of the container and its children. In the COMPOSITION case, the children cannot exist without the container. For AGGREGATION, the life cycles of the container and children are totally independent. |
|
relationshipLabel |
string |
The label of the relationship. |
serviceType |
string |
The service type. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasRelationshipEndDef
The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an attribute name, cardinality and whether it is the container end of the relationship.
Name | Type | Description |
---|---|---|
cardinality |
single-valued attribute or multi-valued attribute. |
|
description |
string |
The description of the relationship end definition. |
isContainer |
boolean |
Determines if it is container. |
isLegacyAttribute |
boolean |
Determines if it is a legacy attribute. |
name |
string |
The name of the relationship end definition. |
type |
string |
The type of the relationship end. |
AtlasStructDef
class that captures details of a struct-type.
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
serviceType |
string |
The service type. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
AtlasTypesDef
The definitions of types.
Name | Type | Description |
---|---|---|
businessMetadataDefs |
businessMetadataDefs |
|
classificationDefs |
An array of classification definitions. |
|
entityDefs |
An array of entity definitions. |
|
enumDefs |
An array of enum definitions. |
|
relationshipDefs |
An array of relationship definitions. |
|
structDefs |
An array of struct definitions. |
|
termTemplateDefs |
An array of term template definitions. |
CardinalityValue
Cardinality
Name | Type | Description |
---|---|---|
LIST |
string |
list |
SET |
string |
set |
SINGLE |
string |
single |
DateFormat
The date format.
Name | Type | Description |
---|---|---|
availableLocales |
string[] |
An array of available locales. |
calendar |
number |
Calendar |
dateInstance |
The date format. |
|
dateTimeInstance |
The date format. |
|
instance |
The date format. |
|
lenient |
boolean |
Determines the leniency of the date format. |
numberFormat |
The number format. |
|
timeInstance |
The date format. |
|
timeZone |
The timezone information. |
NumberFormat
The number format.
Name | Type | Description |
---|---|---|
availableLocales |
string[] |
The number format. |
currency |
string |
The currency. |
currencyInstance |
The number format. |
|
groupingUsed |
boolean |
Determines if grouping is used. |
instance |
The number format. |
|
integerInstance |
The number format. |
|
maximumFractionDigits |
integer |
The maximum of fraction digits. |
maximumIntegerDigits |
integer |
The maximum of integer digits. |
minimumFractionDigits |
integer |
The minimum of fraction digits. |
minimumIntegerDigits |
integer |
The minimum of integer digits. |
numberInstance |
The number format. |
|
parseIntegerOnly |
boolean |
Determines if only integer is parsed. |
percentInstance |
The number format. |
|
roundingMode |
The enum of rounding mode. |
RelationshipCategory
Relationship Category
Name | Type | Description |
---|---|---|
AGGREGATION |
string |
aggregation |
ASSOCIATION |
string |
association |
COMPOSITION |
string |
composition |
RoundingMode
Rounding Mode
Name | Type | Description |
---|---|---|
CEILING |
string |
ceiling |
DOWN |
string |
down |
FLOOR |
string |
floor |
HALF_DOWN |
string |
half down |
HALF_EVEN |
string |
half even |
HALF_UP |
string |
half up |
UNNECESSARY |
string |
unnecessary |
UP |
string |
up |
TermTemplateDef
Term template definition for glossary term.
Name | Type | Description |
---|---|---|
attributeDefs |
An array of attribute definitions. |
|
category |
The enum of type category. |
|
createTime |
integer |
The created time of the record. |
createdBy |
string |
The user who created the record. |
dateFormatter |
The date format. |
|
description |
string |
The description of the type definition. |
guid |
string |
The GUID of the type definition. |
lastModifiedTS |
string |
ETag for concurrency control. |
name |
string |
The name of the type definition. |
options |
object |
The options for the type definition. |
serviceType |
string |
The service type. |
typeVersion |
string |
The version of the type. |
updateTime |
integer |
The update time of the record. |
updatedBy |
string |
The user who updated the record. |
version |
integer |
The version of the record. |
TimeZone
The timezone information.
Name | Type | Description |
---|---|---|
availableIds |
string[] |
An array of available IDs. |
default |
The timezone information. |
|
displayName |
string |
The display name of the timezone. |
dstSavings |
integer |
The value of the daylight saving time. |
id |
string |
The ID of the timezone. |
rawOffset |
integer |
The raw offset of the timezone. |
TypeCategory
Type Category
Name | Type | Description |
---|---|---|
ARRAY |
string |
array |
CLASSIFICATION |
string |
classification |
ENTITY |
string |
entity |
ENUM |
string |
enum |
MAP |
string |
map |
OBJECT_ID_TYPE |
string |
object id type |
PRIMITIVE |
string |
primitive |
RELATIONSHIP |
string |
relationship |
STRUCT |
string |
struct |
TERM_TEMPLATE |
string |
term template |