# Path: clouddq/classes/entity_uri_schemes.py
# class EntityUriScheme(str, Enum):
#     """ """
# 
#     DATAPLEX = "DATAPLEX"
#     BIGQUERY = "BIGQUERY"
# 
#     @classmethod
#     def from_scheme(cls, scheme: str):
# 
#         try:
#             return cls(scheme.upper())
#         except ValueError:
#             raise NotImplementedError(f"{scheme} scheme is not implemented.")
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# BIGQUERY_URI_FIELDS = ["projects", "datasets", "tables"]
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# DATAPLEX_URI_FIELDS = ["projects", "locations", "lakes", "zones", "entities"]
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# SAMPLE_DEFAULT_REGISTRIES_YAML = """
# metadata_registry_defaults:
#   dataplex:
#     projects: <my-gcp-project-id>
#     locations: <my-gcp-dataplex-region-id>
#     lakes: <my-gcp-dataplex-lake-id>
#     zones: <my-gcp-dataplex-zone-id>
# """


from dataclasses import dataclass
from clouddq.classes.entity_uri_schemes import EntityUriScheme
from clouddq.classes.metadata_registry_defaults import BIGQUERY_URI_FIELDS
from clouddq.classes.metadata_registry_defaults import DATAPLEX_URI_FIELDS
from clouddq.classes.metadata_registry_defaults import SAMPLE_DEFAULT_REGISTRIES_YAML
import logging
import re
import typing
# Copyright 2021 Google LLC
#
# 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.

"""todo: add classes docstring."""
from __future__ import annotations





UNSUPPORTED_URI_CONFIGS = re.compile("[@#?:]")

logger = logging.getLogger(__name__)


@dataclass
class EntityUri:
    """ """


# Path: clouddq/classes/entity_uri_schemes.py
# class EntityUriScheme(str, Enum):
#     """ """
# 
#     DATAPLEX = "DATAPLEX"
#     BIGQUERY = "BIGQUERY"
# 
#     @classmethod
#     def from_scheme(cls, scheme: str):
# 
#         try:
#             return cls(scheme.upper())
#         except ValueError:
#             raise NotImplementedError(f"{scheme} scheme is not implemented.")
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# BIGQUERY_URI_FIELDS = ["projects", "datasets", "tables"]
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# DATAPLEX_URI_FIELDS = ["projects", "locations", "lakes", "zones", "entities"]
# 
# Path: clouddq/classes/metadata_registry_defaults.py
# SAMPLE_DEFAULT_REGISTRIES_YAML = """
# metadata_registry_defaults:
#   dataplex:
#     projects: <my-gcp-project-id>
#     locations: <my-gcp-dataplex-region-id>
#     lakes: <my-gcp-dataplex-lake-id>
#     zones: <my-gcp-dataplex-zone-id>
# """


# Path: clouddq/classes/dq_entity_uri.py
from dataclasses import dataclass
from clouddq.classes.entity_uri_schemes import EntityUriScheme
from clouddq.classes.metadata_registry_defaults import BIGQUERY_URI_FIELDS
from clouddq.classes.metadata_registry_defaults import DATAPLEX_URI_FIELDS
from clouddq.classes.metadata_registry_defaults import SAMPLE_DEFAULT_REGISTRIES_YAML
import logging
import re
import typing

# Copyright 2021 Google LLC
#
# 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.

"""todo: add classes docstring."""
from __future__ import annotations





UNSUPPORTED_URI_CONFIGS = re.compile("[@#?:]")

logger = logging.getLogger(__name__)


@dataclass
class EntityUri:
    """ """


    scheme: EntityUriScheme