3.1.5.2.2.1.3 dataSource
The JSON schema for the dataSource object is as follows.
-
{ "anyOf": [ { "description": "ProviderDataSource object of Tabular Object Model (TOM)", "type": "object", "properties": { "name": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "type": { "enum": [ "provider", "structured" ] }, "connectionString": { "type": "string" }, "impersonationMode": { "enum": [ "default", "impersonateAccount", "impersonateAnonymous", "impersonateCurrentUser", "impersonateServiceAccount", "impersonateUnattendedAccount" ] }, "account": { "type": "string" }, "password": { "type": "string" }, "maxConnections": { "type": "integer" }, "isolation": { "enum": [ "readCommitted", "snapshot" ] }, "timeout": { "type": "integer" }, "provider": { "type": "string" }, "annotations": { "type": "array", "items": { ... } }, "extendedProperties": { "type": "array", "items": { ... } } }, "additionalProperties": false }, { "description": "StructuredDataSource object of Tabular Object Model (TOM)", "type": "object", "properties": { "name": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "type": { "enum": [ "provider", "structured" ] }, "maxConnections": { "type": "integer" }, "connectionDetails": { "type": "object" }, "options": { "type": "object" }, "credential": { "type": "object" }, "contextExpression": { "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "annotations": { "type": "array", "items": { ... } }, "extendedProperties": { "type": "array", "items": { ... } } }, "additionalProperties": false } ] }
The properties correspond to the DataSource object that is defined in section 2.2.5.2.
In addition, the JSON-based dataSource object can include collections of child annotation and extendedProperty objects.