diff --git a/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx index 976f263249f..6699f5061b6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx @@ -57,7 +57,6 @@ const TableProfiler = ({ tableProfiles, columns }: Props) => { data, min: data?.length ? data[0].min ?? 0 : 0, max: data?.length ? data[0].max ?? 0 : 0, - median: data?.length ? data[0].median ?? 0 : 0, }; }); @@ -75,7 +74,6 @@ const TableProfiler = ({ tableProfiles, columns }: Props) => { Null Ratio (%) Min Max - Median Standard Deviation @@ -148,7 +146,6 @@ const TableProfiler = ({ tableProfiles, columns }: Props) => { {col.min} {col.max} - {col.median} { {colData.max ?? 0} - - {colData.median ?? 0} - {colData.stddev ?? 0} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createChart.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createChart.ts index 2294a57672f..26faa71fdf3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createChart.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createChart.ts @@ -35,11 +35,11 @@ export interface CreateChart { */ name: string; /** - * Owner of this database + * Owner of this chart */ owner?: EntityReference; /** - * Link to the database service where this database is hosted in + * Link to the chart service where this chart is hosted in */ service: EntityReference; /** @@ -69,14 +69,14 @@ export enum ChartType { } /** - * Owner of this database + * Owner of this chart * * 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. * - * Link to the database service where this database is hosted in + * Link to the chart service where this chart is hosted in * * Link to tables used in this chart. */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createDashboard.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createDashboard.ts index d321ec1b7d0..c8c03d532fc 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createDashboard.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createDashboard.ts @@ -38,15 +38,15 @@ export interface CreateDashboard { */ name: string; /** - * Owner of this database + * Owner of this dashboard */ owner?: EntityReference; /** - * Link to the database service where this database is hosted in + * Link to the dashboard service where this dashboard is hosted in */ service: EntityReference; /** - * Tags for this chart + * Tags for this dashboard */ tags?: TagLabel[]; } @@ -57,9 +57,9 @@ export interface CreateDashboard { * example, a table has an attribute called database of type EntityReference that captures * the relationship of a table `belongs to a` database. * - * Owner of this database + * Owner of this dashboard * - * Link to the database service where this database is hosted in + * Link to the dashboard service where this dashboard is hosted in */ export interface EntityReference { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createMLModel.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createMLModel.ts index 4201974f694..22054882cf5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createMLModel.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createMLModel.ts @@ -62,6 +62,10 @@ export interface CreateMlModel { * Tags for this ML Model */ tags?: TagLabel[]; + /** + * For supervised ML Models, the value to estimate. + */ + target?: string; } /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createPipeline.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createPipeline.ts index ceda0da5b4f..a8601e43d7b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createPipeline.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createPipeline.ts @@ -21,7 +21,7 @@ export interface CreatePipeline { */ concurrency?: number; /** - * Description of the database instance. What it has and how to use it. + * Description of the pipeline instance. What it has and how to use it. */ description?: string; /** @@ -34,7 +34,7 @@ export interface CreatePipeline { */ name: string; /** - * Owner of this database + * Owner of this pipeline */ owner?: EntityReference; /** @@ -46,7 +46,7 @@ export interface CreatePipeline { */ pipelineUrl?: string; /** - * Link to the database service where this database is hosted in + * Link to the pipeline service where this pipeline is hosted in */ service: EntityReference; /** @@ -64,14 +64,14 @@ export interface CreatePipeline { } /** - * Owner of this database + * Owner of this pipeline * * 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. * - * Link to the database service where this database is hosted in + * Link to the pipeline service where this pipeline is hosted in */ export interface EntityReference { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createTable.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createTable.ts index 71d5925e3fc..f9f9a48491f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createTable.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/data/createTable.ts @@ -23,7 +23,7 @@ export interface CreateTable { /** * Database corresponding to this table */ - database: string; + database: EntityReference; /** * Description of entity instance. */ @@ -210,12 +210,14 @@ export enum State { } /** - * Owner of this entity + * Database corresponding to this table * * 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. + * + * Owner of this entity */ export interface EntityReference { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/feed/createThread.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/feed/createThread.ts index 6e90ea6c590..d8c992fd1e2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/feed/createThread.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/feed/createThread.ts @@ -18,7 +18,7 @@ export interface CreateThread { /** * Data asset about which this thread is created for with format - * <#E/{entities}/{entityName}/{field}/{fieldValue} + * <#E/{entities}/{entityType}/{field}/{fieldValue} */ about: string; /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/lineage/addLineage.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/lineage/addLineage.ts index e6d2b48908e..4d625bd5cc6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/lineage/addLineage.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/lineage/addLineage.ts @@ -13,7 +13,7 @@ */ /** - * Add lineage edge between two entities + * Add lineage details between two entities */ export interface AddLineage { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/operations/workflows/createIngestion.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/operations/workflows/createIngestion.ts deleted file mode 100644 index 760b1cda1df..00000000000 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/operations/workflows/createIngestion.ts +++ /dev/null @@ -1,236 +0,0 @@ -/* 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. - */ - -/** - * Ingestion Config is used to setup a Airflow Ingestion pipeline. - */ -export interface CreateIngestion { - /** - * Concurrency of the Pipeline. - */ - concurrency?: number; - connectorConfig: ConnectorConfig; - /** - * Description of the workflow. - */ - description?: string; - /** - * Display Name that identifies this Ingestion. - */ - displayName?: string; - /** - * End Date of the workflow. - */ - endDate?: Date; - /** - * Deploy the workflow by overwriting existing workflow with the same name. - */ - forceDeploy?: boolean; - ingestionType?: IngestionType; - /** - * Name that identifies this ingestion instance uniquely. - */ - name: string; - /** - * Owner of this Ingestion. - */ - owner?: EntityReference; - /** - * pause the workflow from running once the deploy is finished successfully. - */ - pauseWorkflow?: boolean; - /** - * Retry workflow in case of failure - */ - retries?: number; - /** - * Delay between retries in seconds. - */ - retryDelay?: number; - /** - * Scheduler Interval for the Workflow in cron format. - */ - scheduleInterval?: string; - /** - * Link to the database service where this database is hosted in. - */ - service: EntityReference; - /** - * Start date of the workflow. - */ - startDate: Date; - /** - * Tags associated with the Ingestion. - */ - tags?: TagLabel[]; - /** - * Workflow catchup for past executions. - */ - workflowCatchup?: boolean; - /** - * Timeout for the workflow in seconds. - */ - workflowTimeout?: number; - /** - * Timezone in which workflow going to be scheduled. - */ - workflowTimezone?: string; -} - -/** - * This defines the configuration for connector. - */ -export interface ConnectorConfig { - /** - * Database of the data source. - */ - database?: string; - /** - * Run data profiler as part of ingestion to get table profile data. - */ - enableDataProfiler?: boolean; - /** - * Regex exclude tables or databases that matches the pattern. - */ - excludeFilterPattern?: string[]; - /** - * Host and port of the data source. - */ - host?: string; - /** - * Regex to only fetch tables or databases that matches the pattern. - */ - includeFilterPattern?: string[]; - /** - * optional configuration to turn off fetching metadata for views. - */ - includeViews?: boolean; - /** - * password to connect to the data source. - */ - password?: string; - /** - * username to connect to the data source. - */ - username?: string; -} - -/** - * Type of Ingestion - Bigquery, Redshift, Snowflake etc... - */ -export enum IngestionType { - Bigquery = 'bigquery', - BigqueryUsage = 'bigquery-usage', - Hive = 'hive', - Mssql = 'mssql', - Mysql = 'mysql', - Postgres = 'postgres', - Presto = 'presto', - Redshift = 'redshift', - RedshiftUsage = 'redshift-usage', - Snowflake = 'snowflake', - SnowflakeUsage = 'snowflake-usage', - Trino = 'trino', - Vertica = 'vertica', -} - -/** - * Owner of this Ingestion. - * - * 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. - * - * Link to the database service where this database is hosted in. - */ -export interface EntityReference { - /** - * Optional description of entity. - */ - description?: string; - /** - * Display Name that identifies this entity. - */ - displayName?: string; - /** - * Link to the entity resource. - */ - href?: string; - /** - * Unique identifier that identifies an entity instance. - */ - id: string; - /** - * Name of the entity instance. For entities such as tables, databases where the name is not - * unique, fullyQualifiedName is returned in this field. - */ - 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 { - /** - * Unique name of the tag category. - */ - description?: 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 TagCategory.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; - /** - * '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; - 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 TagCategory.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', -} - -/** - * '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', -} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/policies/createPolicy.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/policies/createPolicy.ts new file mode 100644 index 00000000000..571f6c8d61b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/policies/createPolicy.ts @@ -0,0 +1,518 @@ +/* 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. + */ + +/** + * Create Policy Entity Request + */ +export interface CreatePolicy { + /** + * A short description of the Policy, comprehensible to regular users. + */ + description?: string; + /** + * Title for this Policy. + */ + displayName?: string; + /** + * Is the policy enabled. + */ + enabled?: boolean; + /** + * UUID of Location where this policy is applied + */ + location?: string; + /** + * Name that identifies this Policy. + */ + name: string; + /** + * Owner of this Policy. + */ + owner?: EntityReference; + policyType: PolicyType; + /** + * Link to a well documented definition of this Policy. + */ + policyUrl?: string; + rules?: Rule[]; +} + +/** + * Owner of this Policy. + * + * 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. + * + * Followers of this location. + * + * Owner of this location. + * + * Link to the database cluster/service where this database is hosted in. + * + * Owner of this storage service. + */ +export interface EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + +/** + * This schema defines the type used for describing different types of policies. + */ +export enum PolicyType { + AccessControl = 'AccessControl', + Lifecycle = 'Lifecycle', +} + +/** + * A set of rules associated with the Policy. + * + * Describes an Access Control Rule for OpenMetadata Metadata Operations. All non-null user + * (subject) and entity (object) attributes are evaluated with logical AND. + * + * Describes an entity Lifecycle Rule used within a Policy. + */ +export interface Rule { + /** + * Allow or Deny operation on the entity. + */ + allow?: boolean; + /** + * Is the rule enabled. + */ + enabled?: boolean; + /** + * Entity tag that the rule should match on. + */ + entityTagAttr?: string; + /** + * Entity type that the rule should match on. + */ + entityTypeAttr?: string; + /** + * Name for this Rule. + * + * Name that identifies this Rule. + */ + name?: string; + /** + * Operation on the entity. + */ + operation?: Operation; + /** + * Priority of this rule among all rules across all policies. + */ + priority?: number; + /** + * Role of the user that the rule should match on. + */ + userRoleAttr?: string; + /** + * A set of actions to take on the entities. + */ + actions?: LifecycleEAction[]; + prefixFilter?: string; + regexFilter?: string; + tagsFilter?: string[]; +} + +/** + * An action to delete or expire the entity. + * + * An action to move the entity to a different location. For eg: Move from Standard storage + * tier to Archive storage tier. + */ +export interface LifecycleEAction { + /** + * Number of days after creation of the entity that the deletion should be triggered. + * + * Number of days after creation of the entity that the move should be triggered. + */ + daysAfterCreation?: number; + /** + * Number of days after last modification of the entity that the deletion should be + * triggered. + * + * Number of days after last modification of the entity that the move should be triggered. + */ + daysAfterModification?: number; + /** + * Location where this entity needs to be moved to. + */ + destination?: Destination; +} + +/** + * Location where this entity needs to be moved to. + */ +export interface Destination { + /** + * The location where to move this entity to. + */ + location?: Location; + /** + * The storage class to move this entity to. + */ + storageClassType?: StorageClassType; + /** + * The storage service to move this entity to. + */ + storageServiceType?: StorageService; +} + +/** + * The location where to move this entity to. + * + * This schema defines the Location entity. A Location can contain the data of a table or + * group other sublocation together. + */ +export interface Location { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: ChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a location. + */ + description?: string; + /** + * Display Name that identifies this table. It could be title or label from the source + * services. + */ + displayName?: string; + /** + * Followers of this location. + */ + followers?: EntityReference[]; + /** + * Fully qualified name of a location in the form `serviceName.locationName`. + */ + fullyQualifiedName?: string; + /** + * Link to this location resource. + */ + href?: string; + /** + * Unique identifier of this location instance. + */ + id?: string; + locationType?: LocationType; + /** + * Name of a location without the service. For example s3://bucket/path1/path2. + */ + name: string; + /** + * Owner of this location. + */ + owner?: EntityReference; + /** + * Link to the database cluster/service where this database is hosted in. + */ + service: EntityReference; + /** + * Service type where this storage location is hosted in. + */ + serviceType?: StorageServiceType; + /** + * Tags for this location. + */ + tags?: TagLabel[]; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} + +/** + * Change that lead to this version of the entity. + * + * Description of the change. + */ +export interface ChangeDescription { + /** + * Names of fields added during the version changes. + */ + fieldsAdded?: FieldChange[]; + /** + * Fields deleted during the version changes with old value before deleted. + */ + fieldsDeleted?: FieldChange[]; + /** + * Fields modified during the version changes with old and new values. + */ + fieldsUpdated?: FieldChange[]; + /** + * When a change did not result in change, this could be same as the current version. + */ + previousVersion?: number; +} + +export interface FieldChange { + /** + * Name of the entity field that changed. + */ + name?: string; + /** + * New value of the field. Note that this is a JSON string and use the corresponding field + * type to deserialize it. + */ + newValue?: any; + /** + * Previous value of the field. Note that this is a JSON string and use the corresponding + * field type to deserialize it. + */ + oldValue?: any; +} + +/** + * This schema defines the type used for describing different types of Location. + */ +export enum LocationType { + Bucket = 'Bucket', + Database = 'Database', + Prefix = 'Prefix', + Table = 'Table', +} + +/** + * Service type where this storage location is hosted in. + * + * Type of storage service such as S3, GCS, HDFS... + */ +export enum StorageServiceType { + Abfs = 'ABFS', + Gcs = 'GCS', + Hdfs = 'HDFS', + S3 = 'S3', +} + +/** + * This schema defines the type for labeling an entity with a Tag. + */ +export interface TagLabel { + /** + * Unique name of the tag category. + */ + description?: 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 TagCategory.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; + /** + * '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; + 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 TagCategory.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', +} + +/** + * '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', +} + +/** + * The storage class to move this entity to. + * + * Type of storage class for the storage service. + * + * UUID of Location where this policy is applied + * + * Unique id used to identify an entity. + * + * Unique identifier that identifies an entity instance. + * + * Unique identifier of this location instance. + * + * Unique identifier of this storage service instance. + * + * Link to the entity resource. + * + * URI that points to a resource. + * + * Link to this location resource. + * + * Link to the tag resource. + * + * Link to the resource corresponding to this storage service. + * + * Name of the entity field that changed. + * + * Name of the field of an entity. + * + * Prefix path of the entity. + * + * Regex that matches the entity. + * + * Type of storage class offered by S3. + * + * Type of storage class offered by GCS. + * + * Type of storage class offered by ABFS. + */ +export enum StorageClassType { + Archive = 'ARCHIVE', + Coldline = 'COLDLINE', + Cool = 'COOL', + DeepArchive = 'DEEP_ARCHIVE', + DurableReducedAvailability = 'DURABLE_REDUCED_AVAILABILITY', + Glacier = 'GLACIER', + Hot = 'HOT', + IntelligentTiering = 'INTELLIGENT_TIERING', + MultiRegional = 'MULTI_REGIONAL', + Nearline = 'NEARLINE', + OnezoneIa = 'ONEZONE_IA', + Outposts = 'OUTPOSTS', + ReducedRedundancy = 'REDUCED_REDUNDANCY', + Regional = 'REGIONAL', + Standard = 'STANDARD', + StandardIa = 'STANDARD_IA', +} + +/** + * The storage service to move this entity to. + * + * This schema defines the Storage Service entity, such as S3, GCS, HDFS. + */ +export interface StorageService { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: ChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a storage service instance. + */ + description?: string; + /** + * Display Name that identifies this storage service. + */ + displayName?: string; + /** + * Link to the resource corresponding to this storage service. + */ + href: string; + /** + * Unique identifier of this storage service instance. + */ + id: string; + /** + * Name that identifies this storage service. + */ + name: string; + /** + * Owner of this storage service. + */ + owner?: EntityReference; + /** + * Type of storage service such as S3, GCS, HDFS... + */ + serviceType: StorageServiceType; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} + +/** + * Operation on the entity. + * + * This schema defines all possible operations on metadata of data entities. + */ +export enum Operation { + DecryptTokens = 'DecryptTokens', + SuggestDescription = 'SuggestDescription', + SuggestTags = 'SuggestTags', + UpdateDescription = 'UpdateDescription', + UpdateLineage = 'UpdateLineage', + UpdateOwner = 'UpdateOwner', + UpdateTags = 'UpdateTags', +} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDashboardService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDashboardService.ts index 386ac3fc7e9..7bf30faf43a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDashboardService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDashboardService.ts @@ -32,6 +32,10 @@ export interface CreateDashboardService { * Name that identifies the this entity instance uniquely */ name: string; + /** + * Owner of this dashboard service. + */ + owner?: EntityReference; /** * Password to log-into Dashboard Service */ @@ -60,6 +64,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this dashboard service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of Dashboard service - Superset, Looker, Redash or Tableau. */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts index 4ca91cf6a05..42b045e174a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createDatabaseService.ts @@ -16,45 +16,88 @@ * Create Database service entity request */ export interface CreateDatabaseService { + databaseConnection: DatabaseConnection; /** * Description of Database entity. */ description?: string; - /** - * Schedule for running metadata ingestion jobs - */ - ingestionSchedule?: Schedule; - jdbc: JDBCInfo; /** * Name that identifies the this entity instance uniquely */ name: string; + /** + * Owner of this database service. + */ + owner?: EntityReference; serviceType: DatabaseServiceType; } /** - * Schedule for running metadata ingestion jobs - * - * This schema defines the type used for the schedule. The schedule has a start time and - * repeat frequency. + * Database Connection. */ -export interface Schedule { +export interface DatabaseConnection { /** - * Repeat frequency in ISO 8601 duration format. Example - 'P23DT23H'. + * Additional connection arguments such as security or protocol configs that can be sent to + * service during connection. */ - repeatFrequency?: string; + connectionArguments?: { [key: string]: any }; /** - * Start date and time of the schedule. + * Additional connection options that can be sent to service during the connection. */ - startDate?: Date; + connectionOptions?: { [key: string]: any }; + /** + * Database of the data source. + */ + database?: string; + /** + * Host and port of the data source. + */ + hostPort?: string; + /** + * password to connect to the data source. + */ + password?: string; + /** + * username to connect to the data source. + */ + username?: string; } /** - * Type for capturing JDBC connector information. + * Owner of this database service. + * + * 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 JDBCInfo { - connectionUrl: string; - driverClass: string; +export interface EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; } /** @@ -63,6 +106,7 @@ export interface JDBCInfo { export enum DatabaseServiceType { Athena = 'Athena', BigQuery = 'BigQuery', + Db2 = 'Db2', Druid = 'Druid', Glue = 'Glue', Hive = 'Hive', diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createMessagingService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createMessagingService.ts index 42516ad7e6f..65e11704411 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createMessagingService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createMessagingService.ts @@ -32,6 +32,10 @@ export interface CreateMessagingService { * Name that identifies the this entity instance uniquely */ name: string; + /** + * Owner of this messaging service. + */ + owner?: EntityReference; /** * Schema registry URL */ @@ -56,6 +60,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this messaging service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of messaging service - Kafka or Pulsar. */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createPipelineService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createPipelineService.ts index 728bd2b8d4d..95e986ca365 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createPipelineService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createPipelineService.ts @@ -28,6 +28,10 @@ export interface CreatePipelineService { * Name that identifies the this entity instance uniquely */ name: string; + /** + * Owner of this pipeline service. + */ + owner?: EntityReference; /** * Pipeline UI URL */ @@ -52,6 +56,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this pipeline service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of pipeline service - Airflow or Prefect. */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createStorageService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createStorageService.ts index df81d5f887f..0c3639808b3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createStorageService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/services/createStorageService.ts @@ -24,9 +24,50 @@ export interface CreateStorageService { * Name that identifies the this entity instance uniquely */ name: string; + /** + * Owner of this storage service. + */ + owner?: EntityReference; serviceType?: StorageServiceType; } +/** + * Owner of this storage service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of storage service such as S3, GCS, HDFS... */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/api/teams/createRole.ts b/openmetadata-ui/src/main/resources/ui/src/generated/api/teams/createRole.ts index e00fe4a4289..9015f7a85bd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/api/teams/createRole.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/api/teams/createRole.ts @@ -13,7 +13,7 @@ */ /** - * Role entity + * Request for creating a Role entity */ export interface CreateRole { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts index 9c55c8b1a98..a85c87ce5bd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/database.ts @@ -180,6 +180,7 @@ export interface EntityReference { export enum DatabaseServiceType { Athena = 'Athena', BigQuery = 'BigQuery', + Db2 = 'Db2', Druid = 'Druid', Glue = 'Glue', Hive = 'Hive', diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/mlmodel.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/mlmodel.ts index d580969f70f..aaa36bf3cd4 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/mlmodel.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/mlmodel.ts @@ -86,6 +86,10 @@ export interface Mlmodel { * Tags for this ML Model. */ tags?: TagLabel[]; + /** + * For supervised ML Models, the value to estimate. + */ + target?: string; /** * Last update time corresponding to the new version of the entity in Unix epoch time * milliseconds. diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts index 71b49d05d9e..33346f135c0 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts @@ -476,6 +476,7 @@ export interface TableData { export enum DatabaseServiceType { Athena = 'Athena', BigQuery = 'BigQuery', + Db2 = 'Db2', Druid = 'Druid', Glue = 'Glue', Hive = 'Hive', @@ -534,22 +535,45 @@ export interface TableProfile { * This schema defines the type to capture the table's column profile. */ export interface ColumnProfile { + /** + * Number of values that contain distinct values. + */ + distinctCount?: number; + /** + * No.of Rows that contain duplicates in a column. + */ + duplicateCount?: number; + /** + * Histogram of a column. + */ + histogram?: + | any[] + | boolean + | number + | number + | null + | HistogramObject + | string; /** * Maximum value in a column. */ - max?: string; + max?: number; /** * Avg value in a column. */ - mean?: string; - /** - * Median value in a column. - */ - median?: string; + mean?: number; /** * Minimum value in a column. */ - min?: string; + min?: number; + /** + * Missing count is calculated by subtracting valuesCount - validCount. + */ + missingCount?: number; + /** + * Missing Percentage is calculated by taking percentage of validCount/valuesCount. + */ + missingPercentage?: number; /** * Column Name. */ @@ -566,6 +590,10 @@ export interface ColumnProfile { * Standard deviation of a column. */ stddev?: number; + /** + * Median value in a column. + */ + sum?: number; /** * No. of unique values in the column. */ @@ -574,6 +602,33 @@ export interface ColumnProfile { * Proportion of number of unique values in a column. */ uniqueProportion?: number; + /** + * Total count of valid values in this column. + */ + validCount?: number; + /** + * Total count of the values in this column. + */ + valuesCount?: number; + /** + * Percentage of values in this column with respect to rowcount. + */ + valuesPercentage?: number; + /** + * Variance of a column. + */ + variance?: number; +} + +export interface HistogramObject { + /** + * Boundaries of Histogram. + */ + boundaries?: any[]; + /** + * Frequencies of Histogram. + */ + frequencies?: any[]; } /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/accessControl/rule.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/accessControl/rule.ts index 2ba9fbcf7c1..920882adc98 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/accessControl/rule.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/accessControl/rule.ts @@ -26,11 +26,11 @@ export interface Rule { */ enabled?: boolean; /** - * Entity tag that the rule should match on + * Entity tag that the rule should match on. */ entityTagAttr?: string; /** - * Entity type that the rule should match on + * Entity type that the rule should match on. */ entityTypeAttr?: string; /** @@ -42,11 +42,11 @@ export interface Rule { */ operation?: Operation; /** - * Priority of this rule among other rules in this policy. + * Priority of this rule among all rules across all policies. */ priority?: number; /** - * Role of the user that the rule should match on + * Role of the user that the rule should match on. */ userRoleAttr?: string; } @@ -54,9 +54,10 @@ export interface Rule { /** * Operation on the entity. * - * This schema defines all possible operations on metadata of data entities + * This schema defines all possible operations on metadata of data entities. */ export enum Operation { + DecryptTokens = 'DecryptTokens', SuggestDescription = 'SuggestDescription', SuggestTags = 'SuggestTags', UpdateDescription = 'UpdateDescription', diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/moveAction.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/moveAction.ts index b0e5d75b7ba..cbce9384013 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/moveAction.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/moveAction.ts @@ -177,6 +177,8 @@ export interface FieldChange { * Owner of this location. * * Link to the database cluster/service where this database is hosted in. + * + * Owner of this storage service. */ export interface EntityReference { /** @@ -283,7 +285,7 @@ export enum State { /** * The storage class to move this entity to. * - * Type of storage class for the storage service + * Type of storage class for the storage service. * * Name of the entity field that changed. * @@ -307,11 +309,11 @@ export enum State { * * Unique identifier of this storage service instance. * - * Type of storage class offered by S3 + * Type of storage class offered by S3. * - * Type of storage class offered by GCS + * Type of storage class offered by GCS. * - * Type of storage class offered by ABFS + * Type of storage class offered by ABFS. */ export enum StorageClassType { Archive = 'ARCHIVE', @@ -366,6 +368,10 @@ export interface StorageService { * Name that identifies this storage service. */ name: string; + /** + * Owner of this storage service. + */ + owner?: EntityReference; /** * Type of storage service such as S3, GCS, HDFS... */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/rule.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/rule.ts new file mode 100644 index 00000000000..64a15a4e1f8 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/lifecycle/rule.ts @@ -0,0 +1,424 @@ +/* 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. + */ + +/** + * Describes an entity Lifecycle Rule used within a Policy. + */ +export interface Rule { + /** + * A set of actions to take on the entities. + */ + actions: LifecycleEAction[]; + /** + * Is the rule enabled. + */ + enabled?: boolean; + /** + * Name that identifies this Rule. + */ + name?: string; + prefixFilter?: string; + regexFilter?: string; + tagsFilter?: string[]; +} + +/** + * An action to delete or expire the entity. + * + * An action to move the entity to a different location. For eg: Move from Standard storage + * tier to Archive storage tier. + */ +export interface LifecycleEAction { + /** + * Number of days after creation of the entity that the deletion should be triggered. + * + * Number of days after creation of the entity that the move should be triggered. + */ + daysAfterCreation?: number; + /** + * Number of days after last modification of the entity that the deletion should be + * triggered. + * + * Number of days after last modification of the entity that the move should be triggered. + */ + daysAfterModification?: number; + /** + * Location where this entity needs to be moved to. + */ + destination?: Destination; +} + +/** + * Location where this entity needs to be moved to. + */ +export interface Destination { + /** + * The location where to move this entity to. + */ + location?: Location; + /** + * The storage class to move this entity to. + */ + storageClassType?: StorageClassType; + /** + * The storage service to move this entity to. + */ + storageServiceType?: StorageService; +} + +/** + * The location where to move this entity to. + * + * This schema defines the Location entity. A Location can contain the data of a table or + * group other sublocation together. + */ +export interface Location { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: ChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a location. + */ + description?: string; + /** + * Display Name that identifies this table. It could be title or label from the source + * services. + */ + displayName?: string; + /** + * Followers of this location. + */ + followers?: EntityReference[]; + /** + * Fully qualified name of a location in the form `serviceName.locationName`. + */ + fullyQualifiedName?: string; + /** + * Link to this location resource. + */ + href?: string; + /** + * Unique identifier of this location instance. + */ + id?: string; + locationType?: LocationType; + /** + * Name of a location without the service. For example s3://bucket/path1/path2. + */ + name: string; + /** + * Owner of this location. + */ + owner?: EntityReference; + /** + * Link to the database cluster/service where this database is hosted in. + */ + service: EntityReference; + /** + * Service type where this storage location is hosted in. + */ + serviceType?: StorageServiceType; + /** + * Tags for this location. + */ + tags?: TagLabel[]; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} + +/** + * Change that lead to this version of the entity. + * + * Description of the change. + */ +export interface ChangeDescription { + /** + * Names of fields added during the version changes. + */ + fieldsAdded?: FieldChange[]; + /** + * Fields deleted during the version changes with old value before deleted. + */ + fieldsDeleted?: FieldChange[]; + /** + * Fields modified during the version changes with old and new values. + */ + fieldsUpdated?: FieldChange[]; + /** + * When a change did not result in change, this could be same as the current version. + */ + previousVersion?: number; +} + +export interface FieldChange { + /** + * Name of the entity field that changed. + */ + name?: string; + /** + * New value of the field. Note that this is a JSON string and use the corresponding field + * type to deserialize it. + */ + newValue?: any; + /** + * Previous value of the field. Note that this is a JSON string and use the corresponding + * field type to deserialize it. + */ + oldValue?: any; +} + +/** + * Followers of this location. + * + * 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. + * + * Owner of this location. + * + * Link to the database cluster/service where this database is hosted in. + * + * Owner of this storage service. + */ +export interface EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + +/** + * This schema defines the type used for describing different types of Location. + */ +export enum LocationType { + Bucket = 'Bucket', + Database = 'Database', + Prefix = 'Prefix', + Table = 'Table', +} + +/** + * Service type where this storage location is hosted in. + * + * Type of storage service such as S3, GCS, HDFS... + */ +export enum StorageServiceType { + Abfs = 'ABFS', + Gcs = 'GCS', + Hdfs = 'HDFS', + S3 = 'S3', +} + +/** + * This schema defines the type for labeling an entity with a Tag. + */ +export interface TagLabel { + /** + * Unique name of the tag category. + */ + description?: 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 TagCategory.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; + /** + * '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; + 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 TagCategory.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', +} + +/** + * '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', +} + +/** + * The storage class to move this entity to. + * + * Type of storage class for the storage service. + * + * Name of the entity field that changed. + * + * Name of the field of an entity. + * + * Link to the entity resource. + * + * URI that points to a resource. + * + * Link to this location resource. + * + * Link to the tag resource. + * + * Link to the resource corresponding to this storage service. + * + * Unique identifier that identifies an entity instance. + * + * Unique id used to identify an entity. + * + * Unique identifier of this location instance. + * + * Unique identifier of this storage service instance. + * + * Prefix path of the entity. + * + * Regex that matches the entity. + * + * Type of storage class offered by S3. + * + * Type of storage class offered by GCS. + * + * Type of storage class offered by ABFS. + */ +export enum StorageClassType { + Archive = 'ARCHIVE', + Coldline = 'COLDLINE', + Cool = 'COOL', + DeepArchive = 'DEEP_ARCHIVE', + DurableReducedAvailability = 'DURABLE_REDUCED_AVAILABILITY', + Glacier = 'GLACIER', + Hot = 'HOT', + IntelligentTiering = 'INTELLIGENT_TIERING', + MultiRegional = 'MULTI_REGIONAL', + Nearline = 'NEARLINE', + OnezoneIa = 'ONEZONE_IA', + Outposts = 'OUTPOSTS', + ReducedRedundancy = 'REDUCED_REDUNDANCY', + Regional = 'REGIONAL', + Standard = 'STANDARD', + StandardIa = 'STANDARD_IA', +} + +/** + * The storage service to move this entity to. + * + * This schema defines the Storage Service entity, such as S3, GCS, HDFS. + */ +export interface StorageService { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: ChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a storage service instance. + */ + description?: string; + /** + * Display Name that identifies this storage service. + */ + displayName?: string; + /** + * Link to the resource corresponding to this storage service. + */ + href: string; + /** + * Unique identifier of this storage service instance. + */ + id: string; + /** + * Name that identifies this storage service. + */ + name: string; + /** + * Owner of this storage service. + */ + owner?: EntityReference; + /** + * Type of storage service such as S3, GCS, HDFS... + */ + serviceType: StorageServiceType; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/policy.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/policy.ts new file mode 100644 index 00000000000..8a8bb57660b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/policies/policy.ts @@ -0,0 +1,627 @@ +/* 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. + */ + +/** + * This schema defines the Policy entity. A Policy defines lifecycle or access control that + * needs to be applied across different Data Entities. + */ +export interface Policy { + /** + * Change that led to this version of the Policy. + */ + changeDescription?: PolicyChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * A short description of the Policy, comprehensible to regular users. + */ + description?: string; + /** + * Title for this Policy. + */ + displayName?: string; + /** + * Is the policy enabled. + */ + enabled?: boolean; + /** + * Name that uniquely identifies a Policy. + */ + fullyQualifiedName?: string; + /** + * Link to the resource corresponding to this entity. + */ + href?: string; + /** + * Unique identifier that identifies this Policy. + */ + id: string; + location?: LocationClass; + /** + * Name that uniquely identifies this Policy. + */ + name: string; + /** + * Owner of this Policy. + */ + owner?: LocationClass; + policyType: PolicyType; + /** + * Link to a well documented definition of this Policy. + */ + policyUrl?: string; + rules?: Rule[]; + /** + * Last update time corresponding to the new version of the Policy in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the Policy. + */ + version?: number; +} + +/** + * Change that led to this version of the Policy. + * + * Description of the change. + */ +export interface PolicyChangeDescription { + /** + * Names of fields added during the version changes. + */ + fieldsAdded?: PurpleFieldChange[]; + /** + * Fields deleted during the version changes with old value before deleted. + */ + fieldsDeleted?: PurpleFieldChange[]; + /** + * Fields modified during the version changes with old and new values. + */ + fieldsUpdated?: PurpleFieldChange[]; + /** + * When a change did not result in change, this could be same as the current version. + */ + previousVersion?: number; +} + +export interface PurpleFieldChange { + /** + * Name of the entity field that changed. + */ + name?: string; + /** + * New value of the field. Note that this is a JSON string and use the corresponding field + * type to deserialize it. + */ + newValue?: any; + /** + * Previous value of the field. Note that this is a JSON string and use the corresponding + * field type to deserialize it. + */ + oldValue?: any; +} + +/** + * 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. + * + * Owner of this Policy. + */ +export interface LocationClass { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + +/** + * This schema defines the type used for describing different types of policies. + */ +export enum PolicyType { + AccessControl = 'AccessControl', + Lifecycle = 'Lifecycle', +} + +/** + * A set of rules associated with the Policy. + * + * Describes an Access Control Rule for OpenMetadata Metadata Operations. All non-null user + * (subject) and entity (object) attributes are evaluated with logical AND. + * + * Describes an entity Lifecycle Rule used within a Policy. + */ +export interface Rule { + /** + * Allow or Deny operation on the entity. + */ + allow?: boolean; + /** + * Is the rule enabled. + */ + enabled?: boolean; + /** + * Entity tag that the rule should match on. + */ + entityTagAttr?: string; + /** + * Entity type that the rule should match on. + */ + entityTypeAttr?: string; + /** + * Name for this Rule. + * + * Name that identifies this Rule. + */ + name?: string; + /** + * Operation on the entity. + */ + operation?: Operation; + /** + * Priority of this rule among all rules across all policies. + */ + priority?: number; + /** + * Role of the user that the rule should match on. + */ + userRoleAttr?: string; + /** + * A set of actions to take on the entities. + */ + actions?: LifecycleEAction[]; + prefixFilter?: string; + regexFilter?: string; + tagsFilter?: string[]; +} + +/** + * An action to delete or expire the entity. + * + * An action to move the entity to a different location. For eg: Move from Standard storage + * tier to Archive storage tier. + */ +export interface LifecycleEAction { + /** + * Number of days after creation of the entity that the deletion should be triggered. + * + * Number of days after creation of the entity that the move should be triggered. + */ + daysAfterCreation?: number; + /** + * Number of days after last modification of the entity that the deletion should be + * triggered. + * + * Number of days after last modification of the entity that the move should be triggered. + */ + daysAfterModification?: number; + /** + * Location where this entity needs to be moved to. + */ + destination?: Destination; +} + +/** + * Location where this entity needs to be moved to. + */ +export interface Destination { + /** + * The location where to move this entity to. + */ + location?: Location; + /** + * The storage class to move this entity to. + */ + storageClassType?: StorageClassType; + /** + * The storage service to move this entity to. + */ + storageServiceType?: StorageService; +} + +/** + * The location where to move this entity to. + * + * This schema defines the Location entity. A Location can contain the data of a table or + * group other sublocation together. + */ +export interface Location { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: LocationChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a location. + */ + description?: string; + /** + * Display Name that identifies this table. It could be title or label from the source + * services. + */ + displayName?: string; + /** + * Followers of this location. + */ + followers?: OwnerElement[]; + /** + * Fully qualified name of a location in the form `serviceName.locationName`. + */ + fullyQualifiedName?: string; + /** + * Link to this location resource. + */ + href?: string; + /** + * Unique identifier of this location instance. + */ + id?: string; + locationType?: LocationType; + /** + * Name of a location without the service. For example s3://bucket/path1/path2. + */ + name: string; + /** + * Owner of this location. + */ + owner?: OwnerElement; + /** + * Link to the database cluster/service where this database is hosted in. + */ + service: OwnerElement; + /** + * Service type where this storage location is hosted in. + */ + serviceType?: StorageServiceType; + /** + * Tags for this location. + */ + tags?: TagLabel[]; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} + +/** + * Change that lead to this version of the entity. + * + * Description of the change. + */ +export interface LocationChangeDescription { + /** + * Names of fields added during the version changes. + */ + fieldsAdded?: FluffyFieldChange[]; + /** + * Fields deleted during the version changes with old value before deleted. + */ + fieldsDeleted?: FluffyFieldChange[]; + /** + * Fields modified during the version changes with old and new values. + */ + fieldsUpdated?: FluffyFieldChange[]; + /** + * When a change did not result in change, this could be same as the current version. + */ + previousVersion?: number; +} + +export interface FluffyFieldChange { + /** + * Name of the entity field that changed. + */ + name?: string; + /** + * New value of the field. Note that this is a JSON string and use the corresponding field + * type to deserialize it. + */ + newValue?: any; + /** + * Previous value of the field. Note that this is a JSON string and use the corresponding + * field type to deserialize it. + */ + oldValue?: any; +} + +/** + * Followers of this location. + * + * 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. + * + * Owner of this location. + * + * Link to the database cluster/service where this database is hosted in. + * + * Owner of this storage service. + */ +export interface OwnerElement { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + +/** + * This schema defines the type used for describing different types of Location. + */ +export enum LocationType { + Bucket = 'Bucket', + Database = 'Database', + Prefix = 'Prefix', + Table = 'Table', +} + +/** + * Service type where this storage location is hosted in. + * + * Type of storage service such as S3, GCS, HDFS... + */ +export enum StorageServiceType { + Abfs = 'ABFS', + Gcs = 'GCS', + Hdfs = 'HDFS', + S3 = 'S3', +} + +/** + * This schema defines the type for labeling an entity with a Tag. + */ +export interface TagLabel { + /** + * Unique name of the tag category. + */ + description?: 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 TagCategory.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; + /** + * '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; + 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 TagCategory.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', +} + +/** + * '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', +} + +/** + * The storage class to move this entity to. + * + * Type of storage class for the storage service. + * + * Name of the entity field that changed. + * + * Name of the field of an entity. + * + * Link to the resource corresponding to this entity. + * + * URI that points to a resource. + * + * Unique identifier that identifies this Policy. + * + * Unique id used to identify an entity. + * + * Link to the entity resource. + * + * Link to this location resource. + * + * Link to the tag resource. + * + * Link to the resource corresponding to this storage service. + * + * Unique identifier that identifies an entity instance. + * + * Unique identifier of this location instance. + * + * Unique identifier of this storage service instance. + * + * Prefix path of the entity. + * + * Regex that matches the entity. + * + * Type of storage class offered by S3. + * + * Type of storage class offered by GCS. + * + * Type of storage class offered by ABFS. + */ +export enum StorageClassType { + Archive = 'ARCHIVE', + Coldline = 'COLDLINE', + Cool = 'COOL', + DeepArchive = 'DEEP_ARCHIVE', + DurableReducedAvailability = 'DURABLE_REDUCED_AVAILABILITY', + Glacier = 'GLACIER', + Hot = 'HOT', + IntelligentTiering = 'INTELLIGENT_TIERING', + MultiRegional = 'MULTI_REGIONAL', + Nearline = 'NEARLINE', + OnezoneIa = 'ONEZONE_IA', + Outposts = 'OUTPOSTS', + ReducedRedundancy = 'REDUCED_REDUNDANCY', + Regional = 'REGIONAL', + Standard = 'STANDARD', + StandardIa = 'STANDARD_IA', +} + +/** + * The storage service to move this entity to. + * + * This schema defines the Storage Service entity, such as S3, GCS, HDFS. + */ +export interface StorageService { + /** + * Change that lead to this version of the entity. + */ + changeDescription?: LocationChangeDescription; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; + /** + * Description of a storage service instance. + */ + description?: string; + /** + * Display Name that identifies this storage service. + */ + displayName?: string; + /** + * Link to the resource corresponding to this storage service. + */ + href: string; + /** + * Unique identifier of this storage service instance. + */ + id: string; + /** + * Name that identifies this storage service. + */ + name: string; + /** + * Owner of this storage service. + */ + owner?: OwnerElement; + /** + * Type of storage service such as S3, GCS, HDFS... + */ + serviceType: StorageServiceType; + /** + * Last update time corresponding to the new version of the entity in Unix epoch time + * milliseconds. + */ + updatedAt?: number; + /** + * User who made the update. + */ + updatedBy?: string; + /** + * Metadata version of the entity. + */ + version?: number; +} + +/** + * Operation on the entity. + * + * This schema defines all possible operations on metadata of data entities. + */ +export enum Operation { + DecryptTokens = 'DecryptTokens', + SuggestDescription = 'SuggestDescription', + SuggestTags = 'SuggestTags', + UpdateDescription = 'UpdateDescription', + UpdateLineage = 'UpdateLineage', + UpdateOwner = 'UpdateOwner', + UpdateTags = 'UpdateTags', +} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/dashboardService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/dashboardService.ts index 9c59d2e961e..9e1bc3de3b4 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/dashboardService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/dashboardService.ts @@ -52,6 +52,10 @@ export interface DashboardService { * Name that identifies this dashboard service. */ name: string; + /** + * Owner of this dashboard service. + */ + owner?: EntityReference; /** * Password to log-into Dashboard Service. */ @@ -137,6 +141,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this dashboard service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of dashboard service such as Looker or Superset... * diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts index fb47f717e9a..84d35521f92 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/databaseService.ts @@ -18,10 +18,15 @@ * instance are also used for database service. */ export interface DatabaseService { + /** + * References to airflow pipelines deployed for this database service. + */ + airflowPipelines?: EntityReference[]; /** * Change that lead to this version of the entity. */ changeDescription?: ChangeDescription; + databaseConnection: DatabaseConnection; /** * When `true` indicates the entity has been soft deleted. */ @@ -42,18 +47,14 @@ export interface DatabaseService { * Unique identifier of this database service instance. */ id: string; - /** - * Schedule for running metadata ingestion jobs. - */ - ingestionSchedule?: Schedule; - /** - * JDBC connection information. - */ - jdbc: JDBCInfo; /** * Name that identifies this database service. */ name: string; + /** + * Owner of this database service. + */ + owner?: EntityReference; /** * Type of database service such as MySQL, BigQuery, Snowflake, Redshift, Postgres... */ @@ -73,6 +74,45 @@ export interface DatabaseService { version?: number; } +/** + * References to airflow pipelines deployed for this database service. + * + * 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. + * + * Owner of this database service. + */ +export interface EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Change that lead to this version of the entity. * @@ -115,30 +155,34 @@ export interface FieldChange { } /** - * Schedule for running metadata ingestion jobs. - * - * This schema defines the type used for the schedule. The schedule has a start time and - * repeat frequency. + * Database Connection. */ -export interface Schedule { +export interface DatabaseConnection { /** - * Repeat frequency in ISO 8601 duration format. Example - 'P23DT23H'. + * Additional connection arguments such as security or protocol configs that can be sent to + * service during connection. */ - repeatFrequency?: string; + connectionArguments?: { [key: string]: any }; /** - * Start date and time of the schedule. + * Additional connection options that can be sent to service during the connection. */ - startDate?: Date; -} - -/** - * JDBC connection information. - * - * Type for capturing JDBC connector information. - */ -export interface JDBCInfo { - connectionUrl: string; - driverClass: string; + connectionOptions?: { [key: string]: any }; + /** + * Database of the data source. + */ + database?: string; + /** + * Host and port of the data source. + */ + hostPort?: string; + /** + * password to connect to the data source. + */ + password?: string; + /** + * username to connect to the data source. + */ + username?: string; } /** @@ -147,6 +191,7 @@ export interface JDBCInfo { export enum DatabaseServiceType { Athena = 'Athena', BigQuery = 'BigQuery', + Db2 = 'Db2', Druid = 'Druid', Glue = 'Glue', Hive = 'Hive', diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/messagingService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/messagingService.ts index eac4d2bc93e..05461b83f72 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/messagingService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/messagingService.ts @@ -53,6 +53,10 @@ export interface MessagingService { * Name that identifies this messaging service. */ name: string; + /** + * Owner of this messaging service. + */ + owner?: EntityReference; /** * Schema registry URL. */ @@ -134,6 +138,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this messaging service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of messaging service such as Kafka or Pulsar... * diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/pipelineService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/pipelineService.ts index 65af9af7420..a410db6c0c1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/pipelineService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/pipelineService.ts @@ -49,6 +49,10 @@ export interface PipelineService { * Name that identifies this pipeline service. */ name: string; + /** + * Owner of this pipeline service. + */ + owner?: EntityReference; /** * Pipeline Service Management/UI URL. */ @@ -130,6 +134,43 @@ export interface Schedule { startDate?: Date; } +/** + * Owner of this pipeline service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of pipeline service such as Airflow or Prefect... * diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/storageService.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/storageService.ts index fe578a6fce0..5ce3b8671c8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/storageService.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/services/storageService.ts @@ -44,6 +44,10 @@ export interface StorageService { * Name that identifies this storage service. */ name: string; + /** + * Owner of this storage service. + */ + owner?: EntityReference; /** * Type of storage service such as S3, GCS, HDFS... */ @@ -104,6 +108,43 @@ export interface FieldChange { oldValue?: any; } +/** + * Owner of this storage service. + * + * 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 EntityReference { + /** + * Optional description of entity. + */ + description?: string; + /** + * Display Name that identifies this entity. + */ + displayName?: string; + /** + * Link to the entity resource. + */ + href?: string; + /** + * Unique identifier that identifies an entity instance. + */ + id: string; + /** + * Name of the entity instance. For entities such as tables, databases where the name is not + * unique, fullyQualifiedName is returned in this field. + */ + name?: string; + /** + * Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`, + * `dashboardService`... + */ + type: string; +} + /** * Type of storage service such as S3, GCS, HDFS... */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/tags/tagCategory.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/tags/tagCategory.ts index 15e0cc0c86b..360ccf714a0 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/tags/tagCategory.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/tags/tagCategory.ts @@ -29,6 +29,10 @@ export interface TagCategory { children?: Array< any[] | boolean | TagClass | number | number | null | string >; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; /** * Description of the tag category. */ @@ -125,6 +129,10 @@ export interface TagClass { children?: Array< any[] | boolean | TagClass | number | number | null | string >; + /** + * When `true` indicates the entity has been soft deleted. + */ + deleted?: boolean; /** * If the tag is deprecated. */ diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/teams/role.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/teams/role.ts index 83e78863714..5df73ab5af3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/teams/role.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/teams/role.ts @@ -13,7 +13,7 @@ */ /** - * This schema defines the Role entity. A Role has access to zero or more data assets + * This schema defines the Role entity. A Role has access to zero or more data assets. */ export interface Role { /** diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/operations/workflows/ingestion.ts b/openmetadata-ui/src/main/resources/ui/src/generated/operations/workflows/ingestion.ts deleted file mode 100644 index 4328e60c0bb..00000000000 --- a/openmetadata-ui/src/main/resources/ui/src/generated/operations/workflows/ingestion.ts +++ /dev/null @@ -1,336 +0,0 @@ -/* 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. - */ - -/** - * Ingestion Config is used to setup a Airflow Ingestion pipeline. - */ -export interface Ingestion { - /** - * Change that led to this version of the entity. - */ - changeDescription?: ChangeDescription; - /** - * Concurrency of the Pipeline. - */ - concurrency?: number; - connectorConfig: ConnectorConfig; - /** - * When `true` indicates the entity has been soft deleted. - */ - deleted?: boolean; - /** - * Description of the workflow. - */ - description?: string; - /** - * Display Name that identifies this Ingestion. - */ - displayName?: string; - /** - * End Date of the workflow. - */ - endDate?: Date; - /** - * Deploy the workflow by overwriting existing workflow with the same name. - */ - forceDeploy?: boolean; - /** - * Name that uniquely identifies a Ingestion. - */ - fullyQualifiedName?: string; - /** - * Link to this ingestion resource. - */ - href?: string; - /** - * Unique identifier that identifies this Ingestion. - */ - id?: string; - /** - * List of executions and status for the Ingestion Pipeline. - */ - ingestionStatuses?: IngestionStatus[]; - ingestionType?: IngestionType; - /** - * Name that identifies this ingestion instance uniquely. - */ - name: string; - /** - * Next execution date from the underlying workflow platform once the ingestion scheduled. - */ - nextExecutionDate?: Date; - /** - * Owner of this Ingestion. - */ - owner?: EntityReference; - /** - * pause the workflow from running once the deploy is finished successfully. - */ - pauseWorkflow?: boolean; - /** - * Retry workflow in case of failure. - */ - retries?: number; - /** - * Delay between retries in seconds. - */ - retryDelay?: number; - /** - * Scheduler Interval for the Workflow in cron format. - */ - scheduleInterval?: string; - /** - * Link to the database service where this database is hosted in. - */ - service: EntityReference; - /** - * Start date of the workflow. - */ - startDate: Date; - /** - * Tags associated with the Ingestion. - */ - tags?: TagLabel[]; - /** - * Last update time corresponding to the new version of the entity in Unix epoch time - * milliseconds. - */ - updatedAt?: number; - /** - * User who made the update. - */ - updatedBy?: string; - /** - * Metadata version of the entity. - */ - version?: number; - /** - * Run past executions if the start date is in the past. - */ - workflowCatchup?: boolean; - /** - * Timeout for the workflow in seconds. - */ - workflowTimeout?: number; - /** - * Timezone in which workflow going to be scheduled. - */ - workflowTimezone?: string; -} - -/** - * Change that led to this version of the entity. - * - * Description of the change. - */ -export interface ChangeDescription { - /** - * Names of fields added during the version changes. - */ - fieldsAdded?: FieldChange[]; - /** - * Fields deleted during the version changes with old value before deleted. - */ - fieldsDeleted?: FieldChange[]; - /** - * Fields modified during the version changes with old and new values. - */ - fieldsUpdated?: FieldChange[]; - /** - * When a change did not result in change, this could be same as the current version. - */ - previousVersion?: number; -} - -export interface FieldChange { - /** - * Name of the entity field that changed. - */ - name?: string; - /** - * New value of the field. Note that this is a JSON string and use the corresponding field - * type to deserialize it. - */ - newValue?: any; - /** - * Previous value of the field. Note that this is a JSON string and use the corresponding - * field type to deserialize it. - */ - oldValue?: any; -} - -/** - * This defines the configuration for connector. - */ -export interface ConnectorConfig { - /** - * Database of the data source. - */ - database?: string; - /** - * Run data profiler as part of ingestion to get table profile data. - */ - enableDataProfiler?: boolean; - /** - * Regex exclude tables or databases that matches the pattern. - */ - excludeFilterPattern?: string[]; - /** - * Host and port of the data source. - */ - host?: string; - /** - * Regex to only fetch tables or databases that matches the pattern. - */ - includeFilterPattern?: string[]; - /** - * optional configuration to turn off fetching metadata for views. - */ - includeViews?: boolean; - /** - * password to connect to the data source. - */ - password?: string; - /** - * username to connect to the data source. - */ - username?: string; -} - -/** - * This defines the runtime status of Ingestion. - */ -export interface IngestionStatus { - /** - * endDate of the Ingestion pipeline run for this particular execution. - */ - endDate?: string; - /** - * startDate of the Ingestion Pipeline run for this particular execution. - */ - startDate?: string; - /** - * Workflow status denotes if its failed or succeeded. - */ - state?: string; -} - -/** - * Type of Ingestion - Bigquery, Redshift, Snowflake etc... - */ -export enum IngestionType { - Bigquery = 'bigquery', - BigqueryUsage = 'bigquery-usage', - Hive = 'hive', - Mssql = 'mssql', - Mysql = 'mysql', - Postgres = 'postgres', - Presto = 'presto', - Redshift = 'redshift', - RedshiftUsage = 'redshift-usage', - Snowflake = 'snowflake', - SnowflakeUsage = 'snowflake-usage', - Trino = 'trino', - Vertica = 'vertica', -} - -/** - * Owner of this Ingestion. - * - * 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. - * - * Link to the database service where this database is hosted in. - */ -export interface EntityReference { - /** - * Optional description of entity. - */ - description?: string; - /** - * Display Name that identifies this entity. - */ - displayName?: string; - /** - * Link to the entity resource. - */ - href?: string; - /** - * Unique identifier that identifies an entity instance. - */ - id: string; - /** - * Name of the entity instance. For entities such as tables, databases where the name is not - * unique, fullyQualifiedName is returned in this field. - */ - 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 { - /** - * Unique name of the tag category. - */ - description?: 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 TagCategory.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; - /** - * '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; - 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 TagCategory.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', -} - -/** - * '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', -} diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/type/changeEvent.ts b/openmetadata-ui/src/main/resources/ui/src/generated/type/changeEvent.ts index 2dd1beb489c..a6b9e3e3bbb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/generated/type/changeEvent.ts +++ b/openmetadata-ui/src/main/resources/ui/src/generated/type/changeEvent.ts @@ -116,5 +116,6 @@ export interface FieldChange { export enum EventType { EntityCreated = 'entityCreated', EntityDeleted = 'entityDeleted', + EntitySoftDeleted = 'entitySoftDeleted', EntityUpdated = 'entityUpdated', } diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/type/databaseConnectionConfig.ts b/openmetadata-ui/src/main/resources/ui/src/generated/type/databaseConnectionConfig.ts new file mode 100644 index 00000000000..ad03233164a --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/generated/type/databaseConnectionConfig.ts @@ -0,0 +1,67 @@ +/* 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. + */ + +/** + * Database Connection Config to capture connection details to a database service. + */ +export interface DatabaseConnectionConfig { + /** + * Database of the data source. + */ + database?: string; + /** + * Run data profiler as part of ingestion to get table profile data. + */ + enableDataProfiler?: boolean; + /** + * Regex exclude tables or databases that matches the pattern. + */ + excludeFilterPattern?: string[]; + /** + * Turn on/off collecting sample data. + */ + generateSampleData?: boolean; + /** + * Host and port of the data source. + */ + hostPort?: string; + /** + * Regex to only fetch tables or databases that matches the pattern. + */ + includeFilterPattern?: string[]; + /** + * Optional configuration to turn off fetching metadata for tables. + */ + includeTables?: boolean; + /** + * optional configuration to turn off fetching metadata for views. + */ + includeViews?: boolean; + /** + * password to connect to the data source. + */ + password?: string; + /** + * query to generate sample data. + */ + sampleDataQuery?: string; + /** + * schema of the data source. + */ + schema?: string; + /** + * username to connect to the data source. + */ + username?: string; +}