Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions airflow-core/tests/unit/always/test_project_structure.py
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,31 @@ class TestGoogleProviderProjectStructure(ExampleCoverageTest, AssetsCoverageTest
"airflow.providers.google.marketing_platform.operators.GoogleDisplayVideo360RunQueryOperator",
"airflow.providers.google.marketing_platform.operators.GoogleDisplayVideo360DownloadReportV2Operator",
"airflow.providers.google.marketing_platform.sensors.GoogleDisplayVideo360RunQuerySensor",
"airflow.providers.google.cloud.hooks.datacatalog.CloudDataCatalogHook",
"airflow.providers.google.cloud.links.datacatalog.DataCatalogEntryGroupLink",
"airflow.providers.google.cloud.links.datacatalog.DataCatalogEntryLink",
"airflow.providers.google.cloud.links.datacatalog.DataCatalogTagTemplateLink",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateEntryOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateEntryGroupOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateTagOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateTagTemplateOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateTagTemplateFieldOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogDeleteEntryGroupOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogDeleteTagOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogDeleteTagTemplateOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogDeleteTagTemplateFieldOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogGetEntryOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogGetEntryGroupOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogGetTagTemplateOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogListTagsOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogLookupEntryOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogRenameTagTemplateFieldOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogSearchCatalogOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogUpdateEntryOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogUpdateTagOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogUpdateTagTemplateOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogCreateEntryOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogUpdateTagTemplateFieldOperator",
}

BASE_CLASSES = {
Expand Down Expand Up @@ -496,6 +521,7 @@ class TestGoogleProviderProjectStructure(ExampleCoverageTest, AssetsCoverageTest
"airflow.providers.google.cloud.operators.vertex_ai.auto_ml.AutoMLTrainingJobBaseOperator",
"airflow.providers.google.cloud.operators.vertex_ai.endpoint_service.UpdateEndpointOperator",
"airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.GetBatchPredictionJobOperator",
"airflow.providers.google.cloud.operators.datacatalog.CloudDataCatalogDeleteEntryOperator",
}

ASSETS_NOT_REQUIRED = {
Expand Down
334 changes: 140 additions & 194 deletions providers/google/docs/operators/cloud/datacatalog.rst

Large diffs are not rendered by default.

9 changes: 0 additions & 9 deletions providers/google/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -493,9 +493,6 @@ operators:
- integration-name: Google Compute Engine
python-modules:
- airflow.providers.google.cloud.operators.compute
- integration-name: Google Data Catalog
python-modules:
- airflow.providers.google.cloud.operators.datacatalog
- integration-name: Google Dataflow
python-modules:
- airflow.providers.google.cloud.operators.dataflow
Expand Down Expand Up @@ -752,9 +749,6 @@ hooks:
python-modules:
- airflow.providers.google.cloud.hooks.compute
- airflow.providers.google.cloud.hooks.compute_ssh
- integration-name: Google Data Catalog
python-modules:
- airflow.providers.google.cloud.hooks.datacatalog
- integration-name: Google Dataflow
python-modules:
- airflow.providers.google.cloud.hooks.dataflow
Expand Down Expand Up @@ -1145,9 +1139,6 @@ extra-links:
- airflow.providers.google.cloud.links.compute.ComputeInstanceGroupManagerDetailsLink
- airflow.providers.google.cloud.links.cloud_tasks.CloudTasksQueueLink
- airflow.providers.google.cloud.links.cloud_tasks.CloudTasksLink
- airflow.providers.google.cloud.links.datacatalog.DataCatalogEntryGroupLink
- airflow.providers.google.cloud.links.datacatalog.DataCatalogEntryLink
- airflow.providers.google.cloud.links.datacatalog.DataCatalogTagTemplateLink
- airflow.providers.google.cloud.links.dataproc.DataprocLink
- airflow.providers.google.cloud.links.dataproc.DataprocListLink
- airflow.providers.google.cloud.links.dataproc.DataprocClusterLink
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,23 @@
TagTemplateField,
)

from airflow.exceptions import AirflowException
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
from airflow.providers.google.common.consts import CLIENT_INFO
from airflow.providers.google.common.deprecated import deprecated
from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID, GoogleBaseHook

if TYPE_CHECKING:
from google.api_core.retry import Retry
from google.protobuf.field_mask_pb2 import FieldMask


@deprecated(
planned_removal_date="January 30, 2026",
use_instead="airflow.providers.google.cloud.hooks.dataplex.DataplexHook",
reason="The Data Catalog will be discontinued on January 30, 2026 "
"in favor of Dataplex Universal Catalog.",
category=AirflowProviderDeprecationWarning,
)
class CloudDataCatalogHook(GoogleBaseHook):
"""
Hook for Google Cloud Data Catalog Service.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@

from typing import TYPE_CHECKING

from airflow.exceptions import AirflowProviderDeprecationWarning
from airflow.providers.google.cloud.links.base import BaseGoogleLink
from airflow.providers.google.common.deprecated import deprecated

if TYPE_CHECKING:
from airflow.models import BaseOperator
Expand All @@ -43,6 +45,13 @@
)


@deprecated(
planned_removal_date="January 30, 2026",
use_instead="airflow.providers.google.cloud.links.dataplex.DataplexCatalogEntryGroupLink",
reason="The Data Catalog will be discontinued on January 30, 2026 "
"in favor of Dataplex Universal Catalog.",
category=AirflowProviderDeprecationWarning,
)
class DataCatalogEntryGroupLink(BaseGoogleLink):
"""Helper class for constructing Data Catalog Entry Group Link."""

Expand All @@ -65,6 +74,13 @@ def persist(
)


@deprecated(
planned_removal_date="January 30, 2026",
use_instead="airflow.providers.google.cloud.links.dataplex.DataplexCatalogEntryLink",
reason="The Data Catalog will be discontinued on January 30, 2026 "
"in favor of Dataplex Universal Catalog.",
category=AirflowProviderDeprecationWarning,
)
class DataCatalogEntryLink(BaseGoogleLink):
"""Helper class for constructing Data Catalog Entry Link."""

Expand Down Expand Up @@ -93,6 +109,13 @@ def persist(
)


@deprecated(
planned_removal_date="January 30, 2026",
use_instead="airflow.providers.google.cloud.links.dataplex.DataplexCatalogAspectTypeLink",
reason="The Data Catalog will be discontinued on January 30, 2026 "
"in favor of Dataplex Universal Catalog.",
category=AirflowProviderDeprecationWarning,
)
class DataCatalogTagTemplateLink(BaseGoogleLink):
"""Helper class for constructing Data Catalog Tag Template Link."""

Expand Down
Loading