mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-06 04:26:57 +00:00
Refactor: Reverse Ingestion Pipeline (#19988)
* refact: removed serviceId and added service * fix: required in reverse ingestion * fix: types
This commit is contained in:
parent
5ff1ff804a
commit
7e52310480
@ -57,7 +57,7 @@
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"entity",
|
||||
"entityLink",
|
||||
"type",
|
||||
"parameters"
|
||||
],
|
||||
@ -70,9 +70,9 @@
|
||||
"$ref": "#/definitions/reverseIngestionType",
|
||||
"default": "ReverseIngestion"
|
||||
},
|
||||
"serviceId": {
|
||||
"description": "The id of the database service to be modified",
|
||||
"$ref": "../type/basic.json#/definitions/uuid"
|
||||
"service": {
|
||||
"description": "Service to be modified",
|
||||
"$ref": "../type/entityReference.json"
|
||||
},
|
||||
"operations": {
|
||||
"description": "List of operations to be performed on the service",
|
||||
@ -84,7 +84,8 @@
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"serviceId",
|
||||
"type",
|
||||
"service",
|
||||
"operations"
|
||||
]
|
||||
}
|
||||
@ -33,7 +33,7 @@ export interface CreateWorkflow {
|
||||
/**
|
||||
* Owners of this workflow.
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: OwnerElement[];
|
||||
/**
|
||||
* Request body for a specific workflow type
|
||||
*/
|
||||
@ -65,7 +65,7 @@ export interface CreateWorkflow {
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface EntityReference {
|
||||
export interface OwnerElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
@ -112,6 +112,8 @@ export interface EntityReference {
|
||||
* Request body for a specific workflow type
|
||||
*
|
||||
* Test Service Connection to test user provided configuration is valid or not.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface TestServiceConnectionRequest {
|
||||
/**
|
||||
@ -134,6 +136,18 @@ export interface TestServiceConnectionRequest {
|
||||
* Type of service such as Database, Dashboard, Messaging, etc.
|
||||
*/
|
||||
serviceType?: ServiceType;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations?: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service?: ServiceClass;
|
||||
/**
|
||||
* Pipeline type
|
||||
*/
|
||||
type?: ReverseIngestionType;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3554,6 +3568,216 @@ export enum RESTType {
|
||||
Vertica = "Vertica",
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: OwnerElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: OwnerElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* This schema defines the type for labeling an entity with a Tag.
|
||||
*/
|
||||
export interface TagLabel {
|
||||
/**
|
||||
* Description for the tag label.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this tag.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Link to the tag resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
labelType: LabelType;
|
||||
/**
|
||||
* Name of the tag or glossary term.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
source: TagSource;
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
state: State;
|
||||
style?: Style;
|
||||
tagFQN: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
export enum LabelType {
|
||||
Automated = "Automated",
|
||||
Derived = "Derived",
|
||||
Manual = "Manual",
|
||||
Propagated = "Propagated",
|
||||
}
|
||||
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
export enum TagSource {
|
||||
Classification = "Classification",
|
||||
Glossary = "Glossary",
|
||||
}
|
||||
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
export enum State {
|
||||
Confirmed = "Confirmed",
|
||||
Suggested = "Suggested",
|
||||
}
|
||||
|
||||
/**
|
||||
* UI Style is used to associate a color code and/or icon to entity to customize the look of
|
||||
* that entity in UI.
|
||||
*/
|
||||
export interface Style {
|
||||
/**
|
||||
* Hex Color Code to mark an entity such as GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
color?: string;
|
||||
/**
|
||||
* An icon to associate with GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
iconURL?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ServiceClass {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of service such as Database, Dashboard, Messaging, etc.
|
||||
*
|
||||
@ -3571,11 +3795,22 @@ export enum ServiceType {
|
||||
Storage = "Storage",
|
||||
}
|
||||
|
||||
/**
|
||||
* Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ReverseIngestionType {
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
}
|
||||
|
||||
/**
|
||||
* Response to the request.
|
||||
*
|
||||
* TestConnectionResult is the definition that will encapsulate result of running the test
|
||||
* connection steps.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface TestConnectionResult {
|
||||
/**
|
||||
@ -3589,7 +3824,40 @@ export interface TestConnectionResult {
|
||||
/**
|
||||
* Steps to test the connection. Order matters.
|
||||
*/
|
||||
steps: TestConnectionStepResult[];
|
||||
steps?: TestConnectionStepResult[];
|
||||
/**
|
||||
* Error message in case of failure
|
||||
*/
|
||||
message?: string;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
results?: ReverseIngestionOperationResult[];
|
||||
/**
|
||||
* The id of the service to be modified
|
||||
*/
|
||||
serviceId?: string;
|
||||
/**
|
||||
* Whether the workflow was successful. Failure indicates a critical failure such as
|
||||
* connection issues.
|
||||
*/
|
||||
success?: boolean;
|
||||
}
|
||||
|
||||
export interface ReverseIngestionOperationResult {
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* Error message in case of failure
|
||||
*/
|
||||
message?: string;
|
||||
/**
|
||||
* Whether the specific operation was successful
|
||||
*/
|
||||
success: boolean;
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3649,5 +3917,6 @@ export enum WorkflowStatus {
|
||||
* This enum defines the type for which this workflow applies to.
|
||||
*/
|
||||
export enum WorkflowType {
|
||||
ReverseIngestion = "REVERSE_INGESTION",
|
||||
TestConnection = "TEST_CONNECTION",
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ export interface CreateIngestionPipeline {
|
||||
/**
|
||||
* The ingestion agent responsible for executing the ingestion pipeline.
|
||||
*/
|
||||
ingestionAgent?: EntityReference;
|
||||
ingestionAgent?: IngestionAgentElement;
|
||||
/**
|
||||
* Set the logging level for the workflow.
|
||||
*/
|
||||
@ -42,12 +42,12 @@ export interface CreateIngestionPipeline {
|
||||
/**
|
||||
* Owner of this Ingestion Pipeline.
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: IngestionAgentElement[];
|
||||
pipelineType: PipelineType;
|
||||
/**
|
||||
* Link to the service for which ingestion pipeline is ingesting the metadata.
|
||||
*/
|
||||
service: EntityReference;
|
||||
service: IngestionAgentElement;
|
||||
sourceConfig: SourceConfig;
|
||||
}
|
||||
|
||||
@ -132,7 +132,7 @@ export interface AirflowConfig {
|
||||
*
|
||||
* Domain to apply
|
||||
*/
|
||||
export interface EntityReference {
|
||||
export interface IngestionAgentElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
@ -242,6 +242,8 @@ export interface SourceConfig {
|
||||
* Application Pipeline Configuration.
|
||||
*
|
||||
* ApiService Metadata Pipeline Configuration.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface Pipeline {
|
||||
/**
|
||||
@ -670,6 +672,14 @@ export interface Pipeline {
|
||||
* like endpoints, etc., with that collection will be deleted
|
||||
*/
|
||||
markDeletedApiCollections?: boolean;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations?: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service?: ConfigService;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -728,6 +738,8 @@ export interface FilterPattern {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -767,7 +779,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -822,6 +835,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -915,7 +930,7 @@ export interface Action {
|
||||
/**
|
||||
* Domain to apply
|
||||
*/
|
||||
domain?: EntityReference;
|
||||
domain?: IngestionAgentElement;
|
||||
/**
|
||||
* Description to apply
|
||||
*/
|
||||
@ -933,7 +948,7 @@ export interface Action {
|
||||
/**
|
||||
* Owners to apply
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: IngestionAgentElement[];
|
||||
/**
|
||||
* Propagate the metadata to columns via column-level lineage.
|
||||
*/
|
||||
@ -1127,6 +1142,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -1166,6 +1258,7 @@ export enum CollateAIAppConfigType {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
@ -1543,6 +1636,78 @@ export interface LineageInformation {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: IngestionAgentElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: IngestionAgentElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of Profile Sample (percentage or rows)
|
||||
*/
|
||||
@ -1559,6 +1724,57 @@ export enum SamplingMethodType {
|
||||
System = "SYSTEM",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ConfigService {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Service connections available for the logical test suite.
|
||||
*/
|
||||
@ -4857,6 +5073,8 @@ export interface StorageMetadataBucketDetails {
|
||||
* Pipeline Source Config For Application Pipeline type. Nothing is required.
|
||||
*
|
||||
* Api Source Config Metadata Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ConfigType {
|
||||
APIMetadata = "ApiMetadata",
|
||||
@ -4873,6 +5091,7 @@ export enum ConfigType {
|
||||
MlModelMetadata = "MlModelMetadata",
|
||||
PipelineMetadata = "PipelineMetadata",
|
||||
Profiler = "Profiler",
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
SearchMetadata = "SearchMetadata",
|
||||
StorageMetadata = "StorageMetadata",
|
||||
TestSuite = "TestSuite",
|
||||
|
||||
@ -185,6 +185,8 @@ export interface App {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -224,7 +226,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -279,6 +282,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -647,6 +652,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -686,6 +768,7 @@ export enum Type {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
|
||||
@ -170,6 +170,8 @@ export interface AppMarketPlaceDefinition {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -209,7 +211,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -264,6 +267,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -630,6 +635,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -669,6 +751,7 @@ export enum Type {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
|
||||
@ -127,6 +127,8 @@ export interface CreateAppMarketPlaceDefinitionReq {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -166,7 +168,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -221,6 +224,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -584,6 +589,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -623,6 +705,7 @@ export enum Type {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ export interface Workflow {
|
||||
/**
|
||||
* List of data products this entity is part of.
|
||||
*/
|
||||
dataProducts?: EntityReference[];
|
||||
dataProducts?: DomainElement[];
|
||||
/**
|
||||
* When `true` indicates the entity has been soft deleted.
|
||||
*/
|
||||
@ -38,7 +38,7 @@ export interface Workflow {
|
||||
* Domain the asset belongs to. When not set, the asset inherits the domain from the parent
|
||||
* it belongs to.
|
||||
*/
|
||||
domain?: EntityReference;
|
||||
domain?: DomainElement;
|
||||
/**
|
||||
* FullyQualifiedName same as `name`.
|
||||
*/
|
||||
@ -63,7 +63,7 @@ export interface Workflow {
|
||||
/**
|
||||
* Owners of this workflow.
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: DomainElement[];
|
||||
/**
|
||||
* Request body for a specific workflow type
|
||||
*/
|
||||
@ -152,7 +152,7 @@ export interface FieldChange {
|
||||
* Domain the asset belongs to. When not set, the asset inherits the domain from the parent
|
||||
* it belongs to.
|
||||
*/
|
||||
export interface EntityReference {
|
||||
export interface DomainElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
@ -452,6 +452,8 @@ export enum VerifySSL {
|
||||
* Request body for a specific workflow type
|
||||
*
|
||||
* Test Service Connection to test user provided configuration is valid or not.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface TestServiceConnectionRequest {
|
||||
/**
|
||||
@ -474,6 +476,18 @@ export interface TestServiceConnectionRequest {
|
||||
* Type of service such as Database, Dashboard, Messaging, etc.
|
||||
*/
|
||||
serviceType?: ServiceType;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations?: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service?: ServiceClass;
|
||||
/**
|
||||
* Pipeline type
|
||||
*/
|
||||
type?: ReverseIngestionType;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3790,6 +3804,216 @@ export enum RESTType {
|
||||
Vertica = "Vertica",
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: DomainElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: DomainElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* This schema defines the type for labeling an entity with a Tag.
|
||||
*/
|
||||
export interface TagLabel {
|
||||
/**
|
||||
* Description for the tag label.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this tag.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Link to the tag resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
labelType: LabelType;
|
||||
/**
|
||||
* Name of the tag or glossary term.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
source: TagSource;
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
state: State;
|
||||
style?: Style;
|
||||
tagFQN: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
export enum LabelType {
|
||||
Automated = "Automated",
|
||||
Derived = "Derived",
|
||||
Manual = "Manual",
|
||||
Propagated = "Propagated",
|
||||
}
|
||||
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
export enum TagSource {
|
||||
Classification = "Classification",
|
||||
Glossary = "Glossary",
|
||||
}
|
||||
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
export enum State {
|
||||
Confirmed = "Confirmed",
|
||||
Suggested = "Suggested",
|
||||
}
|
||||
|
||||
/**
|
||||
* UI Style is used to associate a color code and/or icon to entity to customize the look of
|
||||
* that entity in UI.
|
||||
*/
|
||||
export interface Style {
|
||||
/**
|
||||
* Hex Color Code to mark an entity such as GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
color?: string;
|
||||
/**
|
||||
* An icon to associate with GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
iconURL?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ServiceClass {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of service such as Database, Dashboard, Messaging, etc.
|
||||
*
|
||||
@ -3807,11 +4031,22 @@ export enum ServiceType {
|
||||
Storage = "Storage",
|
||||
}
|
||||
|
||||
/**
|
||||
* Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ReverseIngestionType {
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
}
|
||||
|
||||
/**
|
||||
* Response to the request.
|
||||
*
|
||||
* TestConnectionResult is the definition that will encapsulate result of running the test
|
||||
* connection steps.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface TestConnectionResult {
|
||||
/**
|
||||
@ -3825,7 +4060,40 @@ export interface TestConnectionResult {
|
||||
/**
|
||||
* Steps to test the connection. Order matters.
|
||||
*/
|
||||
steps: TestConnectionStepResult[];
|
||||
steps?: TestConnectionStepResult[];
|
||||
/**
|
||||
* Error message in case of failure
|
||||
*/
|
||||
message?: string;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
results?: ReverseIngestionOperationResult[];
|
||||
/**
|
||||
* The id of the service to be modified
|
||||
*/
|
||||
serviceId?: string;
|
||||
/**
|
||||
* Whether the workflow was successful. Failure indicates a critical failure such as
|
||||
* connection issues.
|
||||
*/
|
||||
success?: boolean;
|
||||
}
|
||||
|
||||
export interface ReverseIngestionOperationResult {
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* Error message in case of failure
|
||||
*/
|
||||
message?: string;
|
||||
/**
|
||||
* Whether the specific operation was successful
|
||||
*/
|
||||
success: boolean;
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3885,5 +4153,6 @@ export enum WorkflowStatus {
|
||||
* This enum defines the type for which this workflow applies to.
|
||||
*/
|
||||
export enum WorkflowType {
|
||||
ReverseIngestion = "REVERSE_INGESTION",
|
||||
TestConnection = "TEST_CONNECTION",
|
||||
}
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright 2025 Collate.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
/*
|
||||
* Copyright 2021 Collate
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Mstr Connection Config
|
||||
*/
|
||||
export interface MstrConnection {
|
||||
/**
|
||||
* Host and Port of the Metabase instance.
|
||||
*/
|
||||
hostPort: string;
|
||||
/**
|
||||
* Password to connect to MSTR.
|
||||
*/
|
||||
password?: string;
|
||||
/**
|
||||
* MSTR Project Name
|
||||
*/
|
||||
projectName?: string;
|
||||
supportsMetadataExtraction?: boolean;
|
||||
/**
|
||||
* Service Type
|
||||
*/
|
||||
type?: MstrType;
|
||||
/**
|
||||
* Username to connect to MSTR. This user should have privileges to read all the metadata in
|
||||
* MSTR.
|
||||
*/
|
||||
username: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Service Type
|
||||
*
|
||||
* Mstr service type
|
||||
*/
|
||||
export enum MstrType {
|
||||
Mstr = "Mstr",
|
||||
}
|
||||
@ -44,7 +44,7 @@ export interface IngestionPipeline {
|
||||
* Domain the asset belongs to. When not set, the asset inherits the domain from the parent
|
||||
* it belongs to.
|
||||
*/
|
||||
domain?: EntityReference;
|
||||
domain?: DomainElement;
|
||||
/**
|
||||
* True if the pipeline is ready to be run in the next schedule. False if it is paused.
|
||||
*/
|
||||
@ -68,7 +68,7 @@ export interface IngestionPipeline {
|
||||
/**
|
||||
* The ingestion agent responsible for executing the ingestion pipeline.
|
||||
*/
|
||||
ingestionAgent?: EntityReference;
|
||||
ingestionAgent?: DomainElement;
|
||||
/**
|
||||
* Set the logging level for the workflow.
|
||||
*/
|
||||
@ -81,7 +81,7 @@ export interface IngestionPipeline {
|
||||
/**
|
||||
* Owners of this Pipeline.
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: DomainElement[];
|
||||
/**
|
||||
* Last of executions and status for the Pipeline.
|
||||
*/
|
||||
@ -92,7 +92,7 @@ export interface IngestionPipeline {
|
||||
* Link to the service (such as database, messaging, storage services, etc. for which this
|
||||
* ingestion pipeline ingests the metadata from.
|
||||
*/
|
||||
service?: EntityReference;
|
||||
service?: DomainElement;
|
||||
sourceConfig: SourceConfig;
|
||||
/**
|
||||
* Last update time corresponding to the new version of the entity in Unix epoch time
|
||||
@ -237,7 +237,7 @@ export interface FieldChange {
|
||||
*
|
||||
* Domain to apply
|
||||
*/
|
||||
export interface EntityReference {
|
||||
export interface DomainElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
@ -711,6 +711,8 @@ export interface SourceConfig {
|
||||
* Application Pipeline Configuration.
|
||||
*
|
||||
* ApiService Metadata Pipeline Configuration.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface Pipeline {
|
||||
/**
|
||||
@ -1139,6 +1141,14 @@ export interface Pipeline {
|
||||
* like endpoints, etc., with that collection will be deleted
|
||||
*/
|
||||
markDeletedApiCollections?: boolean;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations?: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service?: ConfigService;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1197,6 +1207,8 @@ export interface FilterPattern {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -1236,7 +1248,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -1291,6 +1304,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -1384,7 +1399,7 @@ export interface Action {
|
||||
/**
|
||||
* Domain to apply
|
||||
*/
|
||||
domain?: EntityReference;
|
||||
domain?: DomainElement;
|
||||
/**
|
||||
* Description to apply
|
||||
*/
|
||||
@ -1402,7 +1417,7 @@ export interface Action {
|
||||
/**
|
||||
* Owners to apply
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: DomainElement[];
|
||||
/**
|
||||
* Propagate the metadata to columns via column-level lineage.
|
||||
*/
|
||||
@ -1596,6 +1611,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -1635,6 +1727,7 @@ export enum CollateAIAppConfigType {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
@ -2012,6 +2105,78 @@ export interface LineageInformation {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: DomainElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: DomainElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of Profile Sample (percentage or rows)
|
||||
*/
|
||||
@ -2028,6 +2193,57 @@ export enum SamplingMethodType {
|
||||
System = "SYSTEM",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ConfigService {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Service connections available for the logical test suite.
|
||||
*/
|
||||
@ -5224,6 +5440,8 @@ export interface StorageMetadataBucketDetails {
|
||||
* Pipeline Source Config For Application Pipeline type. Nothing is required.
|
||||
*
|
||||
* Api Source Config Metadata Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ConfigType {
|
||||
APIMetadata = "ApiMetadata",
|
||||
@ -5240,6 +5458,7 @@ export enum ConfigType {
|
||||
MlModelMetadata = "MlModelMetadata",
|
||||
PipelineMetadata = "PipelineMetadata",
|
||||
Profiler = "Profiler",
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
SearchMetadata = "SearchMetadata",
|
||||
StorageMetadata = "StorageMetadata",
|
||||
TestSuite = "TestSuite",
|
||||
|
||||
@ -56,6 +56,8 @@ export interface Application {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -95,7 +97,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -150,6 +153,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -513,6 +518,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -552,6 +634,7 @@ export enum Type {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
|
||||
@ -45,6 +45,8 @@ export interface ApplicationPipeline {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -84,7 +86,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -139,6 +142,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -502,6 +507,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -541,6 +623,7 @@ export enum Type {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,304 @@
|
||||
/*
|
||||
* Copyright 2025 Collate.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/**
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface ReverseIngestionPipeline {
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service: ServiceClass;
|
||||
/**
|
||||
* Pipeline type
|
||||
*/
|
||||
type: ReverseIngestionType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: AddedOwnerElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: AddedOwnerElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*
|
||||
* This schema defines the EntityReferenceList type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface AddedOwnerElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* This schema defines the type for labeling an entity with a Tag.
|
||||
*/
|
||||
export interface TagLabel {
|
||||
/**
|
||||
* Description for the tag label.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this tag.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Link to the tag resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
labelType: LabelType;
|
||||
/**
|
||||
* Name of the tag or glossary term.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
source: TagSource;
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
state: State;
|
||||
style?: Style;
|
||||
tagFQN: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Label type describes how a tag label was applied. 'Manual' indicates the tag label was
|
||||
* applied by a person. 'Derived' indicates a tag label was derived using the associated tag
|
||||
* relationship (see Classification.json for more details). 'Propagated` indicates a tag
|
||||
* label was propagated from upstream based on lineage. 'Automated' is used when a tool was
|
||||
* used to determine the tag label.
|
||||
*/
|
||||
export enum LabelType {
|
||||
Automated = "Automated",
|
||||
Derived = "Derived",
|
||||
Manual = "Manual",
|
||||
Propagated = "Propagated",
|
||||
}
|
||||
|
||||
/**
|
||||
* Label is from Tags or Glossary.
|
||||
*/
|
||||
export enum TagSource {
|
||||
Classification = "Classification",
|
||||
Glossary = "Glossary",
|
||||
}
|
||||
|
||||
/**
|
||||
* 'Suggested' state is used when a tag label is suggested by users or tools. Owner of the
|
||||
* entity must confirm the suggested labels before it is marked as 'Confirmed'.
|
||||
*/
|
||||
export enum State {
|
||||
Confirmed = "Confirmed",
|
||||
Suggested = "Suggested",
|
||||
}
|
||||
|
||||
/**
|
||||
* UI Style is used to associate a color code and/or icon to entity to customize the look of
|
||||
* that entity in UI.
|
||||
*/
|
||||
export interface Style {
|
||||
/**
|
||||
* Hex Color Code to mark an entity such as GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
color?: string;
|
||||
/**
|
||||
* An icon to associate with GlossaryTerm, Tag, Domain or Data Product.
|
||||
*/
|
||||
iconURL?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ServiceClass {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ReverseIngestionType {
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
}
|
||||
@ -3558,6 +3558,8 @@ export interface SourceConfig {
|
||||
* Application Pipeline Configuration.
|
||||
*
|
||||
* ApiService Metadata Pipeline Configuration.
|
||||
*
|
||||
* Apply a set of operations on a service
|
||||
*/
|
||||
export interface Pipeline {
|
||||
/**
|
||||
@ -3986,6 +3988,14 @@ export interface Pipeline {
|
||||
* like endpoints, etc., with that collection will be deleted
|
||||
*/
|
||||
markDeletedApiCollections?: boolean;
|
||||
/**
|
||||
* List of operations to be performed on the service
|
||||
*/
|
||||
operations?: Operation[];
|
||||
/**
|
||||
* Service to be modified
|
||||
*/
|
||||
service?: ServiceClass;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4044,6 +4054,8 @@ export interface FilterPattern {
|
||||
* Search Indexing App.
|
||||
*
|
||||
* Configuration for the Collate AI Quality Agent.
|
||||
*
|
||||
* Configuration for the Day One Experience Flow.
|
||||
*/
|
||||
export interface CollateAIAppConfig {
|
||||
/**
|
||||
@ -4083,7 +4095,8 @@ export interface CollateAIAppConfig {
|
||||
*
|
||||
* Maximum number of events sent in a batch (Default 100).
|
||||
*/
|
||||
batchSize?: number;
|
||||
batchSize?: number;
|
||||
moduleConfiguration?: ModuleConfiguration;
|
||||
/**
|
||||
* Recreates the DataAssets index on DataInsights. Useful if you changed a Custom Property
|
||||
* Type and are facing errors. Bear in mind that recreating the index will delete your
|
||||
@ -4138,6 +4151,8 @@ export interface CollateAIAppConfig {
|
||||
searchIndexMappingLanguage?: SearchIndexMappingLanguage;
|
||||
/**
|
||||
* Whether the suggested tests should be active or not upon suggestion
|
||||
*
|
||||
* Whether the Day One Experience flow should be active or not.
|
||||
*/
|
||||
active?: boolean;
|
||||
/**
|
||||
@ -4231,7 +4246,7 @@ export interface Action {
|
||||
/**
|
||||
* Domain to apply
|
||||
*/
|
||||
domain?: EntityReference;
|
||||
domain?: DomainElement;
|
||||
/**
|
||||
* Description to apply
|
||||
*/
|
||||
@ -4249,7 +4264,7 @@ export interface Action {
|
||||
/**
|
||||
* Owners to apply
|
||||
*/
|
||||
owners?: EntityReference[];
|
||||
owners?: DomainElement[];
|
||||
/**
|
||||
* Propagate the metadata to columns via column-level lineage.
|
||||
*/
|
||||
@ -4295,7 +4310,7 @@ export interface Action {
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface EntityReference {
|
||||
export interface DomainElement {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
@ -4501,6 +4516,83 @@ export interface BackfillConfiguration {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Different Module Configurations
|
||||
*/
|
||||
export interface ModuleConfiguration {
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
appAnalytics: AppAnalyticsConfig;
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
costAnalysis: CostAnalysisConfig;
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
dataAssets: DataAssetsConfig;
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
dataQuality: DataQualityConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* App Analytics Module configuration
|
||||
*/
|
||||
export interface AppAnalyticsConfig {
|
||||
/**
|
||||
* If Enabled, App Analytics insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cost Analysis Insights Module configuration
|
||||
*/
|
||||
export interface CostAnalysisConfig {
|
||||
/**
|
||||
* If Enabled, Cost Analysis insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Assets Insights Module configuration
|
||||
*/
|
||||
export interface DataAssetsConfig {
|
||||
/**
|
||||
* If Enabled, Data Asset insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* List of Entities to Reindex
|
||||
*/
|
||||
entities?: string[];
|
||||
/**
|
||||
* Defines the number of days the Data Assets Insights information will be kept. After it
|
||||
* they will be deleted.
|
||||
*/
|
||||
retention?: number;
|
||||
serviceFilter?: ServiceFilter;
|
||||
}
|
||||
|
||||
export interface ServiceFilter {
|
||||
serviceName?: string;
|
||||
serviceType?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Quality Insights Module configuration
|
||||
*/
|
||||
export interface DataQualityConfig {
|
||||
/**
|
||||
* If Enabled, Data Quality insights will be populated when the App runs.
|
||||
*/
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entities selected to run the automation.
|
||||
*/
|
||||
@ -4529,6 +4621,7 @@ export enum CollateAIAppConfigType {
|
||||
CollateAIQualityAgent = "CollateAIQualityAgent",
|
||||
DataInsights = "DataInsights",
|
||||
DataInsightsReport = "DataInsightsReport",
|
||||
DayOneExperienceWorkflow = "DayOneExperienceWorkflow",
|
||||
SearchIndexing = "SearchIndexing",
|
||||
}
|
||||
|
||||
@ -4719,6 +4812,78 @@ export interface LineageInformation {
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Operation to be performed on the entity
|
||||
*/
|
||||
export interface Operation {
|
||||
/**
|
||||
* Entity to be modified
|
||||
*/
|
||||
entityLink: string;
|
||||
/**
|
||||
* The id of the operation
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*/
|
||||
parameters: ReverseIngestionConfig;
|
||||
/**
|
||||
* Templated SQL command to be used for the operation. Context parameters will be populated
|
||||
* based on the event type.
|
||||
*/
|
||||
SQLTemplate?: string;
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
type: Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The configuration for the operation to be applied
|
||||
*
|
||||
* Configuration for updating descriptions
|
||||
*
|
||||
* Configuration for updating owners
|
||||
*
|
||||
* Configuration for updating tags
|
||||
*/
|
||||
export interface ReverseIngestionConfig {
|
||||
/**
|
||||
* New description of the service
|
||||
*/
|
||||
newDescription?: string;
|
||||
/**
|
||||
* Previous description of the service
|
||||
*/
|
||||
previousDescription?: string;
|
||||
/**
|
||||
* Added owners to be applied
|
||||
*/
|
||||
addedOwners?: DomainElement[];
|
||||
/**
|
||||
* Removed owners from the entity
|
||||
*/
|
||||
removedOwners?: DomainElement[];
|
||||
/**
|
||||
* Added tags to be applied
|
||||
*/
|
||||
addedTags?: TagLabel[];
|
||||
/**
|
||||
* Removed tags of the entity
|
||||
*/
|
||||
removedTags?: TagLabel[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of operation to perform
|
||||
*/
|
||||
export enum Type {
|
||||
UpdateDescription = "UPDATE_DESCRIPTION",
|
||||
UpdateOwner = "UPDATE_OWNER",
|
||||
UpdateTags = "UPDATE_TAGS",
|
||||
}
|
||||
|
||||
/**
|
||||
* Type of Profile Sample (percentage or rows)
|
||||
*/
|
||||
@ -4735,6 +4900,57 @@ export enum SamplingMethodType {
|
||||
System = "SYSTEM",
|
||||
}
|
||||
|
||||
/**
|
||||
* Service to be modified
|
||||
*
|
||||
* This schema defines the EntityReference type used for referencing an entity.
|
||||
* EntityReference is used for capturing relationships from one entity to another. For
|
||||
* example, a table has an attribute called database of type EntityReference that captures
|
||||
* the relationship of a table `belongs to a` database.
|
||||
*/
|
||||
export interface ServiceClass {
|
||||
/**
|
||||
* If true the entity referred to has been soft-deleted.
|
||||
*/
|
||||
deleted?: boolean;
|
||||
/**
|
||||
* Optional description of entity.
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Display Name that identifies this entity.
|
||||
*/
|
||||
displayName?: string;
|
||||
/**
|
||||
* Fully qualified name of the entity instance. For entities such as tables, databases
|
||||
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
|
||||
* such as `user` and `team` this will be same as the `name` field.
|
||||
*/
|
||||
fullyQualifiedName?: string;
|
||||
/**
|
||||
* Link to the entity resource.
|
||||
*/
|
||||
href?: string;
|
||||
/**
|
||||
* Unique identifier that identifies an entity instance.
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* If true the relationship indicated by this entity reference is inherited from the parent
|
||||
* entity.
|
||||
*/
|
||||
inherited?: boolean;
|
||||
/**
|
||||
* Name of the entity instance.
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
|
||||
* `dashboardService`...
|
||||
*/
|
||||
type: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Service connections available for the logical test suite.
|
||||
*/
|
||||
@ -4813,6 +5029,8 @@ export interface StorageMetadataBucketDetails {
|
||||
* Pipeline Source Config For Application Pipeline type. Nothing is required.
|
||||
*
|
||||
* Api Source Config Metadata Pipeline type
|
||||
*
|
||||
* Reverse Ingestion Config Pipeline type
|
||||
*/
|
||||
export enum ConfigType {
|
||||
APIMetadata = "ApiMetadata",
|
||||
@ -4829,6 +5047,7 @@ export enum ConfigType {
|
||||
MlModelMetadata = "MlModelMetadata",
|
||||
PipelineMetadata = "PipelineMetadata",
|
||||
Profiler = "Profiler",
|
||||
ReverseIngestion = "ReverseIngestion",
|
||||
SearchMetadata = "SearchMetadata",
|
||||
StorageMetadata = "StorageMetadata",
|
||||
TestSuite = "TestSuite",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user