Created
November 17, 2022 18:23
-
-
Save ottomata/8239fb8f5522300299e64d701accd5b2 to your computer and use it in GitHub Desktop.
datahub schema classes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# flake8: noqa | |
# This file is autogenerated by /metadata-ingestion/scripts/avro_codegen.py | |
# Do not modify manually! | |
# pylint: skip-file | |
# fmt: off | |
# The SchemaFromJSONData method only exists in avro-python3, but is called make_avsc_object in avro. | |
# We can use this fact to detect conflicts between the two packages. Pip won't detect those conflicts | |
# because both are namespace packages, and hence are allowed to overwrite files from each other. | |
# This means that installation order matters, which is a pretty unintuitive outcome. | |
# See https://github.com/pypa/pip/issues/4625 for details. | |
try: | |
from avro.schema import SchemaFromJSONData | |
import warnings | |
warnings.warn("It seems like 'avro-python3' is installed, which conflicts with the 'avro' package used by datahub. " | |
+ "Try running `pip uninstall avro-python3 && pip install --upgrade --force-reinstall avro` to fix this issue.") | |
except ImportError: | |
pass | |
import json | |
import os.path | |
import decimal | |
import datetime | |
import six | |
from avrogen.dict_wrapper import DictWrapper | |
from avrogen import avrojson | |
from avro.schema import RecordSchema, make_avsc_object | |
from avro import schema as avro_schema | |
from typing import List, Dict, Union, Optional | |
def __read_file(file_name): | |
with open(file_name, "r") as f: | |
return f.read() | |
def __get_names_and_schema(json_str): | |
names = avro_schema.Names() | |
schema = make_avsc_object(json.loads(json_str), names) | |
return names, schema | |
SCHEMA_JSON_STR = __read_file(os.path.join(os.path.dirname(__file__), "schema.avsc")) | |
__NAMES, SCHEMA = __get_names_and_schema(SCHEMA_JSON_STR) | |
__SCHEMAS: Dict[str, RecordSchema] = {} | |
class _Aspect(DictWrapper): | |
ASPECT_NAME: str = None # type: ignore | |
ASPECT_TYPE: str = "default" | |
def __init__(self): | |
if type(self) is _Aspect: | |
raise TypeError("_Aspect is an abstract class, and cannot be instantiated directly.") | |
super().__init__() | |
@classmethod | |
def get_aspect_name(cls) -> str: | |
return cls.ASPECT_NAME # type: ignore | |
@classmethod | |
def get_aspect_type(cls) -> str: | |
return cls.ASPECT_TYPE | |
def get_schema_type(fullname): | |
return __SCHEMAS.get(fullname) | |
__SCHEMAS = dict((n.fullname.lstrip("."), n) for n in six.itervalues(__NAMES.names)) | |
class KafkaAuditHeaderClass(DictWrapper): | |
"""This header records information about the context of an event as it is emitted into kafka and is intended to be used by the kafka audit application. For more information see go/kafkaauditheader""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.events.KafkaAuditHeader") | |
def __init__(self, | |
time: int, | |
server: str, | |
appName: str, | |
messageId: bytes, | |
instance: Union[None, str]=None, | |
auditVersion: Union[None, int]=None, | |
fabricUrn: Union[None, str]=None, | |
clusterConnectionString: Union[None, str]=None, | |
): | |
super().__init__() | |
self.time = time | |
self.server = server | |
self.instance = instance | |
self.appName = appName | |
self.messageId = messageId | |
self.auditVersion = auditVersion | |
self.fabricUrn = fabricUrn | |
self.clusterConnectionString = clusterConnectionString | |
@classmethod | |
def construct_with_defaults(cls) -> "KafkaAuditHeaderClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.time = int() | |
self.server = str() | |
self.instance = self.RECORD_SCHEMA.fields_dict["instance"].default | |
self.appName = str() | |
self.messageId = bytes() | |
self.auditVersion = self.RECORD_SCHEMA.fields_dict["auditVersion"].default | |
self.fabricUrn = self.RECORD_SCHEMA.fields_dict["fabricUrn"].default | |
self.clusterConnectionString = self.RECORD_SCHEMA.fields_dict["clusterConnectionString"].default | |
@property | |
def time(self) -> int: | |
"""Getter: The time at which the event was emitted into kafka.""" | |
return self._inner_dict.get('time') # type: ignore | |
@time.setter | |
def time(self, value: int) -> None: | |
"""Setter: The time at which the event was emitted into kafka.""" | |
self._inner_dict['time'] = value | |
@property | |
def server(self) -> str: | |
"""Getter: The fully qualified name of the host from which the event is being emitted.""" | |
return self._inner_dict.get('server') # type: ignore | |
@server.setter | |
def server(self, value: str) -> None: | |
"""Setter: The fully qualified name of the host from which the event is being emitted.""" | |
self._inner_dict['server'] = value | |
@property | |
def instance(self) -> Union[None, str]: | |
"""Getter: The instance on the server from which the event is being emitted. e.g. i001""" | |
return self._inner_dict.get('instance') # type: ignore | |
@instance.setter | |
def instance(self, value: Union[None, str]) -> None: | |
"""Setter: The instance on the server from which the event is being emitted. e.g. i001""" | |
self._inner_dict['instance'] = value | |
@property | |
def appName(self) -> str: | |
"""Getter: The name of the application from which the event is being emitted. see go/appname""" | |
return self._inner_dict.get('appName') # type: ignore | |
@appName.setter | |
def appName(self, value: str) -> None: | |
"""Setter: The name of the application from which the event is being emitted. see go/appname""" | |
self._inner_dict['appName'] = value | |
@property | |
def messageId(self) -> bytes: | |
"""Getter: A unique identifier for the message""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: bytes) -> None: | |
"""Setter: A unique identifier for the message""" | |
self._inner_dict['messageId'] = value | |
@property | |
def auditVersion(self) -> Union[None, int]: | |
"""Getter: The version that is being used for auditing. In version 0, the audit trail buckets events into 10 minute audit windows based on the EventHeader timestamp. In version 1, the audit trail buckets events as follows: if the schema has an outer KafkaAuditHeader, use the outer audit header timestamp for bucketing; else if the EventHeader has an inner KafkaAuditHeader use that inner audit header's timestamp for bucketing""" | |
return self._inner_dict.get('auditVersion') # type: ignore | |
@auditVersion.setter | |
def auditVersion(self, value: Union[None, int]) -> None: | |
"""Setter: The version that is being used for auditing. In version 0, the audit trail buckets events into 10 minute audit windows based on the EventHeader timestamp. In version 1, the audit trail buckets events as follows: if the schema has an outer KafkaAuditHeader, use the outer audit header timestamp for bucketing; else if the EventHeader has an inner KafkaAuditHeader use that inner audit header's timestamp for bucketing""" | |
self._inner_dict['auditVersion'] = value | |
@property | |
def fabricUrn(self) -> Union[None, str]: | |
"""Getter: The fabricUrn of the host from which the event is being emitted. Fabric Urn in the format of urn:li:fabric:{fabric_name}. See go/fabric.""" | |
return self._inner_dict.get('fabricUrn') # type: ignore | |
@fabricUrn.setter | |
def fabricUrn(self, value: Union[None, str]) -> None: | |
"""Setter: The fabricUrn of the host from which the event is being emitted. Fabric Urn in the format of urn:li:fabric:{fabric_name}. See go/fabric.""" | |
self._inner_dict['fabricUrn'] = value | |
@property | |
def clusterConnectionString(self) -> Union[None, str]: | |
"""Getter: This is a String that the client uses to establish some kind of connection with the Kafka cluster. The exact format of it depends on specific versions of clients and brokers. This information could potentially identify the fabric and cluster with which the client is producing to or consuming from.""" | |
return self._inner_dict.get('clusterConnectionString') # type: ignore | |
@clusterConnectionString.setter | |
def clusterConnectionString(self, value: Union[None, str]) -> None: | |
"""Setter: This is a String that the client uses to establish some kind of connection with the Kafka cluster. The exact format of it depends on specific versions of clients and brokers. This information could potentially identify the fabric and cluster with which the client is producing to or consuming from.""" | |
self._inner_dict['clusterConnectionString'] = value | |
class DataHubAccessTokenInfoClass(_Aspect): | |
"""Information about a DataHub Access Token""" | |
ASPECT_NAME = 'dataHubAccessTokenInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.access.token.DataHubAccessTokenInfo") | |
def __init__(self, | |
name: str, | |
actorUrn: str, | |
ownerUrn: str, | |
createdAt: int, | |
expiresAt: Union[None, int]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.actorUrn = actorUrn | |
self.ownerUrn = ownerUrn | |
self.createdAt = createdAt | |
self.expiresAt = expiresAt | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubAccessTokenInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.actorUrn = str() | |
self.ownerUrn = str() | |
self.createdAt = int() | |
self.expiresAt = self.RECORD_SCHEMA.fields_dict["expiresAt"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def name(self) -> str: | |
"""Getter: User defined name for the access token if defined.""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: User defined name for the access token if defined.""" | |
self._inner_dict['name'] = value | |
@property | |
def actorUrn(self) -> str: | |
"""Getter: Urn of the actor to which this access token belongs to.""" | |
return self._inner_dict.get('actorUrn') # type: ignore | |
@actorUrn.setter | |
def actorUrn(self, value: str) -> None: | |
"""Setter: Urn of the actor to which this access token belongs to.""" | |
self._inner_dict['actorUrn'] = value | |
@property | |
def ownerUrn(self) -> str: | |
"""Getter: Urn of the actor which created this access token.""" | |
return self._inner_dict.get('ownerUrn') # type: ignore | |
@ownerUrn.setter | |
def ownerUrn(self, value: str) -> None: | |
"""Setter: Urn of the actor which created this access token.""" | |
self._inner_dict['ownerUrn'] = value | |
@property | |
def createdAt(self) -> int: | |
"""Getter: When the token was created.""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: int) -> None: | |
"""Setter: When the token was created.""" | |
self._inner_dict['createdAt'] = value | |
@property | |
def expiresAt(self) -> Union[None, int]: | |
"""Getter: When the token expires.""" | |
return self._inner_dict.get('expiresAt') # type: ignore | |
@expiresAt.setter | |
def expiresAt(self, value: Union[None, int]) -> None: | |
"""Setter: When the token expires.""" | |
self._inner_dict['expiresAt'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the token if defined.""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the token if defined.""" | |
self._inner_dict['description'] = value | |
class AssertionInfoClass(_Aspect): | |
"""Information about an assertion""" | |
ASPECT_NAME = 'assertionInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionInfo") | |
def __init__(self, | |
type: Union[str, "AssertionTypeClass"], | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
datasetAssertion: Union[None, "DatasetAssertionInfoClass"]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.type = type | |
self.datasetAssertion = datasetAssertion | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.type = AssertionTypeClass.DATASET | |
self.datasetAssertion = self.RECORD_SCHEMA.fields_dict["datasetAssertion"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def type(self) -> Union[str, "AssertionTypeClass"]: | |
"""Getter: Type of assertion. Assertion types can evolve to span Datasets, Flows (Pipelines), Models, Features etc.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "AssertionTypeClass"]) -> None: | |
"""Setter: Type of assertion. Assertion types can evolve to span Datasets, Flows (Pipelines), Models, Features etc.""" | |
self._inner_dict['type'] = value | |
@property | |
def datasetAssertion(self) -> Union[None, "DatasetAssertionInfoClass"]: | |
"""Getter: Dataset Assertion information when type is DATASET""" | |
return self._inner_dict.get('datasetAssertion') # type: ignore | |
@datasetAssertion.setter | |
def datasetAssertion(self, value: Union[None, "DatasetAssertionInfoClass"]) -> None: | |
"""Setter: Dataset Assertion information when type is DATASET""" | |
self._inner_dict['datasetAssertion'] = value | |
class AssertionResultClass(DictWrapper): | |
"""The result of running an assertion""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionResult") | |
def __init__(self, | |
type: Union[str, "AssertionResultTypeClass"], | |
rowCount: Union[None, int]=None, | |
missingCount: Union[None, int]=None, | |
unexpectedCount: Union[None, int]=None, | |
actualAggValue: Union[None, float]=None, | |
nativeResults: Union[None, Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.rowCount = rowCount | |
self.missingCount = missingCount | |
self.unexpectedCount = unexpectedCount | |
self.actualAggValue = actualAggValue | |
self.nativeResults = nativeResults | |
self.externalUrl = externalUrl | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionResultClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = AssertionResultTypeClass.SUCCESS | |
self.rowCount = self.RECORD_SCHEMA.fields_dict["rowCount"].default | |
self.missingCount = self.RECORD_SCHEMA.fields_dict["missingCount"].default | |
self.unexpectedCount = self.RECORD_SCHEMA.fields_dict["unexpectedCount"].default | |
self.actualAggValue = self.RECORD_SCHEMA.fields_dict["actualAggValue"].default | |
self.nativeResults = self.RECORD_SCHEMA.fields_dict["nativeResults"].default | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
@property | |
def type(self) -> Union[str, "AssertionResultTypeClass"]: | |
"""Getter: The final result, e.g. either SUCCESS or FAILURE.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "AssertionResultTypeClass"]) -> None: | |
"""Setter: The final result, e.g. either SUCCESS or FAILURE.""" | |
self._inner_dict['type'] = value | |
@property | |
def rowCount(self) -> Union[None, int]: | |
"""Getter: Number of rows for evaluated batch""" | |
return self._inner_dict.get('rowCount') # type: ignore | |
@rowCount.setter | |
def rowCount(self, value: Union[None, int]) -> None: | |
"""Setter: Number of rows for evaluated batch""" | |
self._inner_dict['rowCount'] = value | |
@property | |
def missingCount(self) -> Union[None, int]: | |
"""Getter: Number of rows with missing value for evaluated batch""" | |
return self._inner_dict.get('missingCount') # type: ignore | |
@missingCount.setter | |
def missingCount(self, value: Union[None, int]) -> None: | |
"""Setter: Number of rows with missing value for evaluated batch""" | |
self._inner_dict['missingCount'] = value | |
@property | |
def unexpectedCount(self) -> Union[None, int]: | |
"""Getter: Number of rows with unexpected value for evaluated batch""" | |
return self._inner_dict.get('unexpectedCount') # type: ignore | |
@unexpectedCount.setter | |
def unexpectedCount(self, value: Union[None, int]) -> None: | |
"""Setter: Number of rows with unexpected value for evaluated batch""" | |
self._inner_dict['unexpectedCount'] = value | |
@property | |
def actualAggValue(self) -> Union[None, float]: | |
"""Getter: Observed aggregate value for evaluated batch""" | |
return self._inner_dict.get('actualAggValue') # type: ignore | |
@actualAggValue.setter | |
def actualAggValue(self, value: Union[None, float]) -> None: | |
"""Setter: Observed aggregate value for evaluated batch""" | |
self._inner_dict['actualAggValue'] = value | |
@property | |
def nativeResults(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Other results of evaluation""" | |
return self._inner_dict.get('nativeResults') # type: ignore | |
@nativeResults.setter | |
def nativeResults(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Other results of evaluation""" | |
self._inner_dict['nativeResults'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where full results are available""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where full results are available""" | |
self._inner_dict['externalUrl'] = value | |
class AssertionResultTypeClass(object): | |
# No docs available. | |
""" The Assertion Succeeded""" | |
SUCCESS = "SUCCESS" | |
""" The Assertion Failed""" | |
FAILURE = "FAILURE" | |
class AssertionRunEventClass(_Aspect): | |
"""An event representing the current status of evaluating an assertion on a batch. | |
AssertionRunEvent should be used for reporting the status of a run as an assertion evaluation progresses.""" | |
ASPECT_NAME = 'assertionRunEvent' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionRunEvent") | |
def __init__(self, | |
timestampMillis: int, | |
runId: str, | |
assertionUrn: str, | |
asserteeUrn: str, | |
status: Union[str, "AssertionRunStatusClass"], | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
batchSpec: Union[None, "BatchSpecClass"]=None, | |
result: Union[None, "AssertionResultClass"]=None, | |
runtimeContext: Union[None, Dict[str, str]]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.runId = runId | |
self.assertionUrn = assertionUrn | |
self.asserteeUrn = asserteeUrn | |
self.batchSpec = batchSpec | |
self.status = status | |
self.result = result | |
self.runtimeContext = runtimeContext | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionRunEventClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.runId = str() | |
self.assertionUrn = str() | |
self.asserteeUrn = str() | |
self.batchSpec = self.RECORD_SCHEMA.fields_dict["batchSpec"].default | |
self.status = AssertionRunStatusClass.COMPLETE | |
self.result = self.RECORD_SCHEMA.fields_dict["result"].default | |
self.runtimeContext = self.RECORD_SCHEMA.fields_dict["runtimeContext"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def runId(self) -> str: | |
"""Getter: Native (platform-specific) identifier for this run""" | |
return self._inner_dict.get('runId') # type: ignore | |
@runId.setter | |
def runId(self, value: str) -> None: | |
"""Setter: Native (platform-specific) identifier for this run""" | |
self._inner_dict['runId'] = value | |
@property | |
def assertionUrn(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('assertionUrn') # type: ignore | |
@assertionUrn.setter | |
def assertionUrn(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['assertionUrn'] = value | |
@property | |
def asserteeUrn(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('asserteeUrn') # type: ignore | |
@asserteeUrn.setter | |
def asserteeUrn(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['asserteeUrn'] = value | |
@property | |
def batchSpec(self) -> Union[None, "BatchSpecClass"]: | |
"""Getter: Specification of the batch which this run is evaluating""" | |
return self._inner_dict.get('batchSpec') # type: ignore | |
@batchSpec.setter | |
def batchSpec(self, value: Union[None, "BatchSpecClass"]) -> None: | |
"""Setter: Specification of the batch which this run is evaluating""" | |
self._inner_dict['batchSpec'] = value | |
@property | |
def status(self) -> Union[str, "AssertionRunStatusClass"]: | |
"""Getter: The status of the assertion run as per this timeseries event.""" | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: Union[str, "AssertionRunStatusClass"]) -> None: | |
"""Setter: The status of the assertion run as per this timeseries event.""" | |
self._inner_dict['status'] = value | |
@property | |
def result(self) -> Union[None, "AssertionResultClass"]: | |
"""Getter: Results of assertion, present if the status is COMPLETE""" | |
return self._inner_dict.get('result') # type: ignore | |
@result.setter | |
def result(self, value: Union[None, "AssertionResultClass"]) -> None: | |
"""Setter: Results of assertion, present if the status is COMPLETE""" | |
self._inner_dict['result'] = value | |
@property | |
def runtimeContext(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Runtime parameters of evaluation""" | |
return self._inner_dict.get('runtimeContext') # type: ignore | |
@runtimeContext.setter | |
def runtimeContext(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Runtime parameters of evaluation""" | |
self._inner_dict['runtimeContext'] = value | |
class AssertionRunStatusClass(object): | |
# No docs available. | |
"""The Assertion Run has completed""" | |
COMPLETE = "COMPLETE" | |
class AssertionStdAggregationClass(object): | |
"""The function that is applied to the aggregation input (schema, rows, column values) before evaluating an operator.""" | |
"""Assertion is applied on number of rows.""" | |
ROW_COUNT = "ROW_COUNT" | |
"""Assertion is applied on all columns.""" | |
COLUMNS = "COLUMNS" | |
"""Assertion is applied on number of columns.""" | |
COLUMN_COUNT = "COLUMN_COUNT" | |
"""Assertion is applied on individual column value.""" | |
IDENTITY = "IDENTITY" | |
"""Assertion is applied on column mean""" | |
MEAN = "MEAN" | |
"""Assertion is applied on column median""" | |
MEDIAN = "MEDIAN" | |
"""Assertion is applied on number of distinct values in column""" | |
UNIQUE_COUNT = "UNIQUE_COUNT" | |
"""Assertion is applied on proportion of distinct values in column""" | |
UNIQUE_PROPOTION = "UNIQUE_PROPOTION" | |
"""Assertion is applied on number of null values in column""" | |
NULL_COUNT = "NULL_COUNT" | |
"""Assertion is applied on proportion of null values in column""" | |
NULL_PROPORTION = "NULL_PROPORTION" | |
"""Assertion is applied on column std deviation""" | |
STDDEV = "STDDEV" | |
"""Assertion is applied on column min""" | |
MIN = "MIN" | |
"""Assertion is applied on column std deviation""" | |
MAX = "MAX" | |
"""Assertion is applied on column sum""" | |
SUM = "SUM" | |
"""Other""" | |
_NATIVE_ = "_NATIVE_" | |
class AssertionStdOperatorClass(object): | |
"""A boolean operator that is applied on the input to an assertion, after an aggregation function has been applied.""" | |
"""Value being asserted is between min_value and max_value. Requires 'minValue' & 'maxValue' parameters.""" | |
BETWEEN = "BETWEEN" | |
"""Value being asserted is less than a max value. Requires 'value' parameter.""" | |
LESS_THAN = "LESS_THAN" | |
"""Value being asserted is less than or equal to some value. Requires 'value' parameter.""" | |
LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO" | |
"""Value being asserted is greater than some value. Requires 'value' parameter.""" | |
GREATER_THAN = "GREATER_THAN" | |
"""Value being asserted is greater than or equal to some value. Requires 'value' parameter.""" | |
GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO" | |
"""Value being asserted is equal to value. Requires 'value' parameter.""" | |
EQUAL_TO = "EQUAL_TO" | |
"""Value being asserted is not null. Requires no parameters.""" | |
NOT_NULL = "NOT_NULL" | |
"""Value being asserted contains value. Requires 'value' parameter.""" | |
CONTAIN = "CONTAIN" | |
"""Value being asserted ends with value. Requires 'value' parameter.""" | |
END_WITH = "END_WITH" | |
"""Value being asserted starts with value. Requires 'value' parameter.""" | |
START_WITH = "START_WITH" | |
"""Value being asserted matches the regex value. Requires 'value' parameter.""" | |
REGEX_MATCH = "REGEX_MATCH" | |
"""Value being asserted is one of the array values. Requires 'value' parameter.""" | |
IN = "IN" | |
"""Value being asserted is not in one of the array values. Requires 'value' parameter.""" | |
NOT_IN = "NOT_IN" | |
"""Other""" | |
_NATIVE_ = "_NATIVE_" | |
class AssertionStdParameterClass(DictWrapper): | |
"""Single parameter for AssertionStdOperators.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionStdParameter") | |
def __init__(self, | |
value: str, | |
type: Union[str, "AssertionStdParameterTypeClass"], | |
): | |
super().__init__() | |
self.value = value | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionStdParameterClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.value = str() | |
self.type = AssertionStdParameterTypeClass.STRING | |
@property | |
def value(self) -> str: | |
"""Getter: The parameter value""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: str) -> None: | |
"""Setter: The parameter value""" | |
self._inner_dict['value'] = value | |
@property | |
def type(self) -> Union[str, "AssertionStdParameterTypeClass"]: | |
"""Getter: The type of the parameter""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "AssertionStdParameterTypeClass"]) -> None: | |
"""Setter: The type of the parameter""" | |
self._inner_dict['type'] = value | |
class AssertionStdParameterTypeClass(object): | |
# No docs available. | |
STRING = "STRING" | |
NUMBER = "NUMBER" | |
LIST = "LIST" | |
SET = "SET" | |
UNKNOWN = "UNKNOWN" | |
class AssertionStdParametersClass(DictWrapper): | |
"""Parameters for AssertionStdOperators.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.AssertionStdParameters") | |
def __init__(self, | |
value: Union[None, "AssertionStdParameterClass"]=None, | |
maxValue: Union[None, "AssertionStdParameterClass"]=None, | |
minValue: Union[None, "AssertionStdParameterClass"]=None, | |
): | |
super().__init__() | |
self.value = value | |
self.maxValue = maxValue | |
self.minValue = minValue | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionStdParametersClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.value = self.RECORD_SCHEMA.fields_dict["value"].default | |
self.maxValue = self.RECORD_SCHEMA.fields_dict["maxValue"].default | |
self.minValue = self.RECORD_SCHEMA.fields_dict["minValue"].default | |
@property | |
def value(self) -> Union[None, "AssertionStdParameterClass"]: | |
"""Getter: The value parameter of an assertion""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: Union[None, "AssertionStdParameterClass"]) -> None: | |
"""Setter: The value parameter of an assertion""" | |
self._inner_dict['value'] = value | |
@property | |
def maxValue(self) -> Union[None, "AssertionStdParameterClass"]: | |
"""Getter: The maxValue parameter of an assertion""" | |
return self._inner_dict.get('maxValue') # type: ignore | |
@maxValue.setter | |
def maxValue(self, value: Union[None, "AssertionStdParameterClass"]) -> None: | |
"""Setter: The maxValue parameter of an assertion""" | |
self._inner_dict['maxValue'] = value | |
@property | |
def minValue(self) -> Union[None, "AssertionStdParameterClass"]: | |
"""Getter: The minValue parameter of an assertion""" | |
return self._inner_dict.get('minValue') # type: ignore | |
@minValue.setter | |
def minValue(self, value: Union[None, "AssertionStdParameterClass"]) -> None: | |
"""Setter: The minValue parameter of an assertion""" | |
self._inner_dict['minValue'] = value | |
class AssertionTypeClass(object): | |
# No docs available. | |
DATASET = "DATASET" | |
class BatchSpecClass(DictWrapper): | |
"""A batch on which certain operations, e.g. data quality evaluation, is done.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.BatchSpec") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
nativeBatchId: Union[None, str]=None, | |
query: Union[None, str]=None, | |
limit: Union[None, int]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.nativeBatchId = nativeBatchId | |
self.query = query | |
self.limit = limit | |
@classmethod | |
def construct_with_defaults(cls) -> "BatchSpecClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.nativeBatchId = self.RECORD_SCHEMA.fields_dict["nativeBatchId"].default | |
self.query = self.RECORD_SCHEMA.fields_dict["query"].default | |
self.limit = self.RECORD_SCHEMA.fields_dict["limit"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def nativeBatchId(self) -> Union[None, str]: | |
"""Getter: The native identifier as specified by the system operating on the batch.""" | |
return self._inner_dict.get('nativeBatchId') # type: ignore | |
@nativeBatchId.setter | |
def nativeBatchId(self, value: Union[None, str]) -> None: | |
"""Setter: The native identifier as specified by the system operating on the batch.""" | |
self._inner_dict['nativeBatchId'] = value | |
@property | |
def query(self) -> Union[None, str]: | |
"""Getter: A query that identifies a batch of data""" | |
return self._inner_dict.get('query') # type: ignore | |
@query.setter | |
def query(self, value: Union[None, str]) -> None: | |
"""Setter: A query that identifies a batch of data""" | |
self._inner_dict['query'] = value | |
@property | |
def limit(self) -> Union[None, int]: | |
"""Getter: Any limit to the number of rows in the batch, if applied""" | |
return self._inner_dict.get('limit') # type: ignore | |
@limit.setter | |
def limit(self, value: Union[None, int]) -> None: | |
"""Setter: Any limit to the number of rows in the batch, if applied""" | |
self._inner_dict['limit'] = value | |
class DatasetAssertionInfoClass(DictWrapper): | |
"""Attributes that are applicable to single-Dataset Assertions""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.assertion.DatasetAssertionInfo") | |
def __init__(self, | |
dataset: str, | |
scope: Union[str, "DatasetAssertionScopeClass"], | |
operator: Union[str, "AssertionStdOperatorClass"], | |
fields: Union[None, List[str]]=None, | |
aggregation: Union[None, Union[str, "AssertionStdAggregationClass"]]=None, | |
parameters: Union[None, "AssertionStdParametersClass"]=None, | |
nativeType: Union[None, str]=None, | |
nativeParameters: Union[None, Dict[str, str]]=None, | |
logic: Union[None, str]=None, | |
): | |
super().__init__() | |
self.dataset = dataset | |
self.scope = scope | |
self.fields = fields | |
self.aggregation = aggregation | |
self.operator = operator | |
self.parameters = parameters | |
self.nativeType = nativeType | |
self.nativeParameters = nativeParameters | |
self.logic = logic | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetAssertionInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.dataset = str() | |
self.scope = DatasetAssertionScopeClass.DATASET_COLUMN | |
self.fields = self.RECORD_SCHEMA.fields_dict["fields"].default | |
self.aggregation = self.RECORD_SCHEMA.fields_dict["aggregation"].default | |
self.operator = AssertionStdOperatorClass.BETWEEN | |
self.parameters = self.RECORD_SCHEMA.fields_dict["parameters"].default | |
self.nativeType = self.RECORD_SCHEMA.fields_dict["nativeType"].default | |
self.nativeParameters = self.RECORD_SCHEMA.fields_dict["nativeParameters"].default | |
self.logic = self.RECORD_SCHEMA.fields_dict["logic"].default | |
@property | |
def dataset(self) -> str: | |
"""Getter: The dataset targeted by this assertion.""" | |
return self._inner_dict.get('dataset') # type: ignore | |
@dataset.setter | |
def dataset(self, value: str) -> None: | |
"""Setter: The dataset targeted by this assertion.""" | |
self._inner_dict['dataset'] = value | |
@property | |
def scope(self) -> Union[str, "DatasetAssertionScopeClass"]: | |
"""Getter: Scope of the Assertion. What part of the dataset does this assertion apply to?""" | |
return self._inner_dict.get('scope') # type: ignore | |
@scope.setter | |
def scope(self, value: Union[str, "DatasetAssertionScopeClass"]) -> None: | |
"""Setter: Scope of the Assertion. What part of the dataset does this assertion apply to?""" | |
self._inner_dict['scope'] = value | |
@property | |
def fields(self) -> Union[None, List[str]]: | |
"""Getter: One or more dataset schema fields that are targeted by this assertion""" | |
return self._inner_dict.get('fields') # type: ignore | |
@fields.setter | |
def fields(self, value: Union[None, List[str]]) -> None: | |
"""Setter: One or more dataset schema fields that are targeted by this assertion""" | |
self._inner_dict['fields'] = value | |
@property | |
def aggregation(self) -> Union[None, Union[str, "AssertionStdAggregationClass"]]: | |
"""Getter: Standardized assertion operator""" | |
return self._inner_dict.get('aggregation') # type: ignore | |
@aggregation.setter | |
def aggregation(self, value: Union[None, Union[str, "AssertionStdAggregationClass"]]) -> None: | |
"""Setter: Standardized assertion operator""" | |
self._inner_dict['aggregation'] = value | |
@property | |
def operator(self) -> Union[str, "AssertionStdOperatorClass"]: | |
"""Getter: Standardized assertion operator""" | |
return self._inner_dict.get('operator') # type: ignore | |
@operator.setter | |
def operator(self, value: Union[str, "AssertionStdOperatorClass"]) -> None: | |
"""Setter: Standardized assertion operator""" | |
self._inner_dict['operator'] = value | |
@property | |
def parameters(self) -> Union[None, "AssertionStdParametersClass"]: | |
"""Getter: Standard parameters required for the assertion. e.g. min_value, max_value, value, columns""" | |
return self._inner_dict.get('parameters') # type: ignore | |
@parameters.setter | |
def parameters(self, value: Union[None, "AssertionStdParametersClass"]) -> None: | |
"""Setter: Standard parameters required for the assertion. e.g. min_value, max_value, value, columns""" | |
self._inner_dict['parameters'] = value | |
@property | |
def nativeType(self) -> Union[None, str]: | |
"""Getter: Native assertion type""" | |
return self._inner_dict.get('nativeType') # type: ignore | |
@nativeType.setter | |
def nativeType(self, value: Union[None, str]) -> None: | |
"""Setter: Native assertion type""" | |
self._inner_dict['nativeType'] = value | |
@property | |
def nativeParameters(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Native parameters required for the assertion.""" | |
return self._inner_dict.get('nativeParameters') # type: ignore | |
@nativeParameters.setter | |
def nativeParameters(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Native parameters required for the assertion.""" | |
self._inner_dict['nativeParameters'] = value | |
@property | |
def logic(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('logic') # type: ignore | |
@logic.setter | |
def logic(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['logic'] = value | |
class DatasetAssertionScopeClass(object): | |
# No docs available. | |
"""This assertion applies to dataset columns""" | |
DATASET_COLUMN = "DATASET_COLUMN" | |
"""This assertion applies to entire rows of the dataset""" | |
DATASET_ROWS = "DATASET_ROWS" | |
"""This assertion applies to the schema of the dataset""" | |
DATASET_SCHEMA = "DATASET_SCHEMA" | |
"""The scope of the assertion is unknown""" | |
UNKNOWN = "UNKNOWN" | |
class ChartInfoClass(_Aspect): | |
"""Information about a chart""" | |
ASPECT_NAME = 'chartInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.chart.ChartInfo") | |
def __init__(self, | |
title: str, | |
description: str, | |
lastModified: "ChangeAuditStampsClass", | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
chartUrl: Union[None, str]=None, | |
inputs: Union[None, List[str]]=None, | |
type: Union[None, Union[str, "ChartTypeClass"]]=None, | |
access: Union[None, Union[str, "AccessLevelClass"]]=None, | |
lastRefreshed: Union[None, int]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.title = title | |
self.description = description | |
self.lastModified = lastModified | |
self.chartUrl = chartUrl | |
self.inputs = inputs | |
self.type = type | |
self.access = access | |
self.lastRefreshed = lastRefreshed | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.title = str() | |
self.description = str() | |
self.lastModified = ChangeAuditStampsClass.construct_with_defaults() | |
self.chartUrl = self.RECORD_SCHEMA.fields_dict["chartUrl"].default | |
self.inputs = self.RECORD_SCHEMA.fields_dict["inputs"].default | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
self.access = self.RECORD_SCHEMA.fields_dict["access"].default | |
self.lastRefreshed = self.RECORD_SCHEMA.fields_dict["lastRefreshed"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def title(self) -> str: | |
"""Getter: Title of the chart""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: str) -> None: | |
"""Setter: Title of the chart""" | |
self._inner_dict['title'] = value | |
@property | |
def description(self) -> str: | |
"""Getter: Detailed description about the chart""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: str) -> None: | |
"""Setter: Detailed description about the chart""" | |
self._inner_dict['description'] = value | |
@property | |
def lastModified(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this chart and when""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this chart and when""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def chartUrl(self) -> Union[None, str]: | |
"""Getter: URL for the chart. This could be used as an external link on DataHub to allow users access/view the chart""" | |
return self._inner_dict.get('chartUrl') # type: ignore | |
@chartUrl.setter | |
def chartUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL for the chart. This could be used as an external link on DataHub to allow users access/view the chart""" | |
self._inner_dict['chartUrl'] = value | |
@property | |
def inputs(self) -> Union[None, List[str]]: | |
"""Getter: Data sources for the chart""" | |
return self._inner_dict.get('inputs') # type: ignore | |
@inputs.setter | |
def inputs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Data sources for the chart""" | |
self._inner_dict['inputs'] = value | |
@property | |
def type(self) -> Union[None, Union[str, "ChartTypeClass"]]: | |
"""Getter: Type of the chart""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[None, Union[str, "ChartTypeClass"]]) -> None: | |
"""Setter: Type of the chart""" | |
self._inner_dict['type'] = value | |
@property | |
def access(self) -> Union[None, Union[str, "AccessLevelClass"]]: | |
"""Getter: Access level for the chart""" | |
return self._inner_dict.get('access') # type: ignore | |
@access.setter | |
def access(self, value: Union[None, Union[str, "AccessLevelClass"]]) -> None: | |
"""Setter: Access level for the chart""" | |
self._inner_dict['access'] = value | |
@property | |
def lastRefreshed(self) -> Union[None, int]: | |
"""Getter: The time when this chart last refreshed""" | |
return self._inner_dict.get('lastRefreshed') # type: ignore | |
@lastRefreshed.setter | |
def lastRefreshed(self, value: Union[None, int]) -> None: | |
"""Setter: The time when this chart last refreshed""" | |
self._inner_dict['lastRefreshed'] = value | |
class ChartQueryClass(_Aspect): | |
"""Information for chart query which is used for getting data of the chart""" | |
ASPECT_NAME = 'chartQuery' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.chart.ChartQuery") | |
def __init__(self, | |
rawQuery: str, | |
type: Union[str, "ChartQueryTypeClass"], | |
): | |
super().__init__() | |
self.rawQuery = rawQuery | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartQueryClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.rawQuery = str() | |
self.type = ChartQueryTypeClass.LOOKML | |
@property | |
def rawQuery(self) -> str: | |
"""Getter: Raw query to build a chart from input datasets""" | |
return self._inner_dict.get('rawQuery') # type: ignore | |
@rawQuery.setter | |
def rawQuery(self, value: str) -> None: | |
"""Setter: Raw query to build a chart from input datasets""" | |
self._inner_dict['rawQuery'] = value | |
@property | |
def type(self) -> Union[str, "ChartQueryTypeClass"]: | |
"""Getter: Chart query type""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "ChartQueryTypeClass"]) -> None: | |
"""Setter: Chart query type""" | |
self._inner_dict['type'] = value | |
class ChartQueryTypeClass(object): | |
# No docs available. | |
"""LookML queries""" | |
LOOKML = "LOOKML" | |
"""SQL type queries""" | |
SQL = "SQL" | |
class ChartTypeClass(object): | |
"""The various types of charts""" | |
"""Chart showing a Bar chart""" | |
BAR = "BAR" | |
"""Chart showing a Pie chart""" | |
PIE = "PIE" | |
"""Chart showing a Scatter plot""" | |
SCATTER = "SCATTER" | |
"""Chart showing a table""" | |
TABLE = "TABLE" | |
"""Chart showing Markdown formatted text""" | |
TEXT = "TEXT" | |
LINE = "LINE" | |
AREA = "AREA" | |
HISTOGRAM = "HISTOGRAM" | |
BOX_PLOT = "BOX_PLOT" | |
WORD_CLOUD = "WORD_CLOUD" | |
COHORT = "COHORT" | |
class ChartUsageStatisticsClass(_Aspect): | |
"""Experimental (Subject to breaking change) -- Stats corresponding to chart's usage. | |
If this aspect represents the latest snapshot of the statistics about a Chart, the eventGranularity field should be null. | |
If this aspect represents a bucketed window of usage statistics (e.g. over a day), then the eventGranularity field should be set accordingly.""" | |
ASPECT_NAME = 'chartUsageStatistics' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.chart.ChartUsageStatistics") | |
def __init__(self, | |
timestampMillis: int, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
viewsCount: Union[None, int]=None, | |
uniqueUserCount: Union[None, int]=None, | |
userCounts: Union[None, List["ChartUserUsageCountsClass"]]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.viewsCount = viewsCount | |
self.uniqueUserCount = uniqueUserCount | |
self.userCounts = userCounts | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartUsageStatisticsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.viewsCount = self.RECORD_SCHEMA.fields_dict["viewsCount"].default | |
self.uniqueUserCount = self.RECORD_SCHEMA.fields_dict["uniqueUserCount"].default | |
self.userCounts = self.RECORD_SCHEMA.fields_dict["userCounts"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def viewsCount(self) -> Union[None, int]: | |
"""Getter: The total number of times chart has been viewed""" | |
return self._inner_dict.get('viewsCount') # type: ignore | |
@viewsCount.setter | |
def viewsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of times chart has been viewed""" | |
self._inner_dict['viewsCount'] = value | |
@property | |
def uniqueUserCount(self) -> Union[None, int]: | |
"""Getter: Unique user count""" | |
return self._inner_dict.get('uniqueUserCount') # type: ignore | |
@uniqueUserCount.setter | |
def uniqueUserCount(self, value: Union[None, int]) -> None: | |
"""Setter: Unique user count""" | |
self._inner_dict['uniqueUserCount'] = value | |
@property | |
def userCounts(self) -> Union[None, List["ChartUserUsageCountsClass"]]: | |
"""Getter: Users within this bucket, with frequency counts""" | |
return self._inner_dict.get('userCounts') # type: ignore | |
@userCounts.setter | |
def userCounts(self, value: Union[None, List["ChartUserUsageCountsClass"]]) -> None: | |
"""Setter: Users within this bucket, with frequency counts""" | |
self._inner_dict['userCounts'] = value | |
class ChartUserUsageCountsClass(DictWrapper): | |
"""Records a single user's usage counts for a given resource""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.chart.ChartUserUsageCounts") | |
def __init__(self, | |
user: str, | |
viewsCount: Union[None, int]=None, | |
): | |
super().__init__() | |
self.user = user | |
self.viewsCount = viewsCount | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartUserUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.user = str() | |
self.viewsCount = self.RECORD_SCHEMA.fields_dict["viewsCount"].default | |
@property | |
def user(self) -> str: | |
"""Getter: The unique id of the user.""" | |
return self._inner_dict.get('user') # type: ignore | |
@user.setter | |
def user(self, value: str) -> None: | |
"""Setter: The unique id of the user.""" | |
self._inner_dict['user'] = value | |
@property | |
def viewsCount(self) -> Union[None, int]: | |
"""Getter: The number of times the user has viewed the chart""" | |
return self._inner_dict.get('viewsCount') # type: ignore | |
@viewsCount.setter | |
def viewsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The number of times the user has viewed the chart""" | |
self._inner_dict['viewsCount'] = value | |
class EditableChartPropertiesClass(_Aspect): | |
"""Stores editable changes made to properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines""" | |
ASPECT_NAME = 'editableChartProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.chart.EditableChartProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableChartPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Edited documentation of the chart """ | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Edited documentation of the chart """ | |
self._inner_dict['description'] = value | |
class AccessLevelClass(object): | |
"""The various access levels""" | |
"""Publicly available access level""" | |
PUBLIC = "PUBLIC" | |
"""Private availability to certain set of users""" | |
PRIVATE = "PRIVATE" | |
class AuditStampClass(DictWrapper): | |
"""Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.AuditStamp") | |
def __init__(self, | |
time: int, | |
actor: str, | |
impersonator: Union[None, str]=None, | |
message: Union[None, str]=None, | |
): | |
super().__init__() | |
self.time = time | |
self.actor = actor | |
self.impersonator = impersonator | |
self.message = message | |
@classmethod | |
def construct_with_defaults(cls) -> "AuditStampClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.time = int() | |
self.actor = str() | |
self.impersonator = self.RECORD_SCHEMA.fields_dict["impersonator"].default | |
self.message = self.RECORD_SCHEMA.fields_dict["message"].default | |
@property | |
def time(self) -> int: | |
"""Getter: When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent.""" | |
return self._inner_dict.get('time') # type: ignore | |
@time.setter | |
def time(self, value: int) -> None: | |
"""Setter: When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent.""" | |
self._inner_dict['time'] = value | |
@property | |
def actor(self) -> str: | |
"""Getter: The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.""" | |
return self._inner_dict.get('actor') # type: ignore | |
@actor.setter | |
def actor(self, value: str) -> None: | |
"""Setter: The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.""" | |
self._inner_dict['actor'] = value | |
@property | |
def impersonator(self) -> Union[None, str]: | |
"""Getter: The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.""" | |
return self._inner_dict.get('impersonator') # type: ignore | |
@impersonator.setter | |
def impersonator(self, value: Union[None, str]) -> None: | |
"""Setter: The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.""" | |
self._inner_dict['impersonator'] = value | |
@property | |
def message(self) -> Union[None, str]: | |
"""Getter: Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually.""" | |
return self._inner_dict.get('message') # type: ignore | |
@message.setter | |
def message(self, value: Union[None, str]) -> None: | |
"""Setter: Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually.""" | |
self._inner_dict['message'] = value | |
class BrowsePathsClass(_Aspect): | |
"""Shared aspect containing Browse Paths to be indexed for an entity.""" | |
ASPECT_NAME = 'browsePaths' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.BrowsePaths") | |
def __init__(self, | |
paths: List[str], | |
): | |
super().__init__() | |
self.paths = paths | |
@classmethod | |
def construct_with_defaults(cls) -> "BrowsePathsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.paths = list() | |
@property | |
def paths(self) -> List[str]: | |
"""Getter: A list of valid browse paths for the entity. | |
Browse paths are expected to be forward slash-separated strings. For example: 'prod/snowflake/datasetName'""" | |
return self._inner_dict.get('paths') # type: ignore | |
@paths.setter | |
def paths(self, value: List[str]) -> None: | |
"""Setter: A list of valid browse paths for the entity. | |
Browse paths are expected to be forward slash-separated strings. For example: 'prod/snowflake/datasetName'""" | |
self._inner_dict['paths'] = value | |
class ChangeAuditStampsClass(DictWrapper): | |
"""Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into various lifecycle stages, and who acted to move it into those lifecycle stages. The recommended best practice is to include this record in your record schema, and annotate its fields as @readOnly in your resource. See https://github.com/linkedin/rest.li/wiki/Validation-in-Rest.li#restli-validation-annotations""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.ChangeAuditStamps") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
@classmethod | |
def construct_with_defaults(cls) -> "ChangeAuditStampsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
class CostClass(_Aspect): | |
# No docs available. | |
ASPECT_NAME = 'cost' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Cost") | |
def __init__(self, | |
costType: Union[str, "CostTypeClass"], | |
cost: "CostCostClass", | |
): | |
super().__init__() | |
self.costType = costType | |
self.cost = cost | |
@classmethod | |
def construct_with_defaults(cls) -> "CostClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.costType = CostTypeClass.ORG_COST_TYPE | |
self.cost = CostCostClass.construct_with_defaults() | |
@property | |
def costType(self) -> Union[str, "CostTypeClass"]: | |
# No docs available. | |
return self._inner_dict.get('costType') # type: ignore | |
@costType.setter | |
def costType(self, value: Union[str, "CostTypeClass"]) -> None: | |
# No docs available. | |
self._inner_dict['costType'] = value | |
@property | |
def cost(self) -> "CostCostClass": | |
# No docs available. | |
return self._inner_dict.get('cost') # type: ignore | |
@cost.setter | |
def cost(self, value: "CostCostClass") -> None: | |
# No docs available. | |
self._inner_dict['cost'] = value | |
class CostCostClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.CostCost") | |
def __init__(self, | |
fieldDiscriminator: Union[str, "CostCostDiscriminatorClass"], | |
costId: Union[None, float]=None, | |
costCode: Union[None, str]=None, | |
): | |
super().__init__() | |
self.costId = costId | |
self.costCode = costCode | |
self.fieldDiscriminator = fieldDiscriminator | |
@classmethod | |
def construct_with_defaults(cls) -> "CostCostClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.costId = self.RECORD_SCHEMA.fields_dict["costId"].default | |
self.costCode = self.RECORD_SCHEMA.fields_dict["costCode"].default | |
self.fieldDiscriminator = CostCostDiscriminatorClass.costId | |
@property | |
def costId(self) -> Union[None, float]: | |
# No docs available. | |
return self._inner_dict.get('costId') # type: ignore | |
@costId.setter | |
def costId(self, value: Union[None, float]) -> None: | |
# No docs available. | |
self._inner_dict['costId'] = value | |
@property | |
def costCode(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('costCode') # type: ignore | |
@costCode.setter | |
def costCode(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['costCode'] = value | |
@property | |
def fieldDiscriminator(self) -> Union[str, "CostCostDiscriminatorClass"]: | |
"""Getter: Contains the name of the field that has its value set.""" | |
return self._inner_dict.get('fieldDiscriminator') # type: ignore | |
@fieldDiscriminator.setter | |
def fieldDiscriminator(self, value: Union[str, "CostCostDiscriminatorClass"]) -> None: | |
"""Setter: Contains the name of the field that has its value set.""" | |
self._inner_dict['fieldDiscriminator'] = value | |
class CostCostDiscriminatorClass(object): | |
# No docs available. | |
costId = "costId" | |
costCode = "costCode" | |
class CostTypeClass(object): | |
"""Type of Cost Code""" | |
"""Org Cost Type to which the Cost of this entity should be attributed to""" | |
ORG_COST_TYPE = "ORG_COST_TYPE" | |
class DataPlatformInstanceClass(_Aspect): | |
"""The specific instance of the data platform that this entity belongs to""" | |
ASPECT_NAME = 'dataPlatformInstance' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.DataPlatformInstance") | |
def __init__(self, | |
platform: str, | |
instance: Union[None, str]=None, | |
): | |
super().__init__() | |
self.platform = platform | |
self.instance = instance | |
@classmethod | |
def construct_with_defaults(cls) -> "DataPlatformInstanceClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.instance = self.RECORD_SCHEMA.fields_dict["instance"].default | |
@property | |
def platform(self) -> str: | |
"""Getter: Data Platform""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Data Platform""" | |
self._inner_dict['platform'] = value | |
@property | |
def instance(self) -> Union[None, str]: | |
"""Getter: Instance of the data platform (e.g. db instance)""" | |
return self._inner_dict.get('instance') # type: ignore | |
@instance.setter | |
def instance(self, value: Union[None, str]) -> None: | |
"""Setter: Instance of the data platform (e.g. db instance)""" | |
self._inner_dict['instance'] = value | |
class DeprecationClass(_Aspect): | |
"""Deprecation status of an entity""" | |
ASPECT_NAME = 'deprecation' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Deprecation") | |
def __init__(self, | |
deprecated: bool, | |
note: str, | |
actor: str, | |
decommissionTime: Union[None, int]=None, | |
): | |
super().__init__() | |
self.deprecated = deprecated | |
self.decommissionTime = decommissionTime | |
self.note = note | |
self.actor = actor | |
@classmethod | |
def construct_with_defaults(cls) -> "DeprecationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.deprecated = bool() | |
self.decommissionTime = self.RECORD_SCHEMA.fields_dict["decommissionTime"].default | |
self.note = str() | |
self.actor = str() | |
@property | |
def deprecated(self) -> bool: | |
"""Getter: Whether the entity is deprecated.""" | |
return self._inner_dict.get('deprecated') # type: ignore | |
@deprecated.setter | |
def deprecated(self, value: bool) -> None: | |
"""Setter: Whether the entity is deprecated.""" | |
self._inner_dict['deprecated'] = value | |
@property | |
def decommissionTime(self) -> Union[None, int]: | |
"""Getter: The time user plan to decommission this entity.""" | |
return self._inner_dict.get('decommissionTime') # type: ignore | |
@decommissionTime.setter | |
def decommissionTime(self, value: Union[None, int]) -> None: | |
"""Setter: The time user plan to decommission this entity.""" | |
self._inner_dict['decommissionTime'] = value | |
@property | |
def note(self) -> str: | |
"""Getter: Additional information about the entity deprecation plan, such as the wiki, doc, RB.""" | |
return self._inner_dict.get('note') # type: ignore | |
@note.setter | |
def note(self, value: str) -> None: | |
"""Setter: Additional information about the entity deprecation plan, such as the wiki, doc, RB.""" | |
self._inner_dict['note'] = value | |
@property | |
def actor(self) -> str: | |
"""Getter: The user URN which will be credited for modifying this deprecation content.""" | |
return self._inner_dict.get('actor') # type: ignore | |
@actor.setter | |
def actor(self, value: str) -> None: | |
"""Setter: The user URN which will be credited for modifying this deprecation content.""" | |
self._inner_dict['actor'] = value | |
class FabricTypeClass(object): | |
"""Fabric group type""" | |
"""Designates development fabrics""" | |
DEV = "DEV" | |
"""Designates testing fabrics""" | |
TEST = "TEST" | |
"""Designates quality assurance fabrics""" | |
QA = "QA" | |
"""Designates user acceptance testing fabrics""" | |
UAT = "UAT" | |
"""Designates early-integration fabrics""" | |
EI = "EI" | |
"""Designates pre-production fabrics""" | |
PRE = "PRE" | |
"""Designates staging fabrics""" | |
STG = "STG" | |
"""Designates non-production fabrics""" | |
NON_PROD = "NON_PROD" | |
"""Designates production fabrics""" | |
PROD = "PROD" | |
"""Designates corporation fabrics""" | |
CORP = "CORP" | |
class GlobalTagsClass(_Aspect): | |
"""Tag aspect used for applying tags to an entity""" | |
ASPECT_NAME = 'globalTags' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.GlobalTags") | |
def __init__(self, | |
tags: List["TagAssociationClass"], | |
): | |
super().__init__() | |
self.tags = tags | |
@classmethod | |
def construct_with_defaults(cls) -> "GlobalTagsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.tags = list() | |
@property | |
def tags(self) -> List["TagAssociationClass"]: | |
"""Getter: Tags associated with a given entity""" | |
return self._inner_dict.get('tags') # type: ignore | |
@tags.setter | |
def tags(self, value: List["TagAssociationClass"]) -> None: | |
"""Setter: Tags associated with a given entity""" | |
self._inner_dict['tags'] = value | |
class GlossaryTermAssociationClass(DictWrapper): | |
"""Properties of an applied glossary term.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.GlossaryTermAssociation") | |
def __init__(self, | |
urn: str, | |
context: Union[None, str]=None, | |
): | |
super().__init__() | |
self.urn = urn | |
self.context = context | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryTermAssociationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.context = self.RECORD_SCHEMA.fields_dict["context"].default | |
@property | |
def urn(self) -> str: | |
"""Getter: Urn of the applied glossary term""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: Urn of the applied glossary term""" | |
self._inner_dict['urn'] = value | |
@property | |
def context(self) -> Union[None, str]: | |
"""Getter: Additional context about the association""" | |
return self._inner_dict.get('context') # type: ignore | |
@context.setter | |
def context(self, value: Union[None, str]) -> None: | |
"""Setter: Additional context about the association""" | |
self._inner_dict['context'] = value | |
class GlossaryTermsClass(_Aspect): | |
"""Related business terms information""" | |
ASPECT_NAME = 'glossaryTerms' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.GlossaryTerms") | |
def __init__(self, | |
terms: List["GlossaryTermAssociationClass"], | |
auditStamp: "AuditStampClass", | |
): | |
super().__init__() | |
self.terms = terms | |
self.auditStamp = auditStamp | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryTermsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.terms = list() | |
self.auditStamp = AuditStampClass.construct_with_defaults() | |
@property | |
def terms(self) -> List["GlossaryTermAssociationClass"]: | |
"""Getter: The related business terms""" | |
return self._inner_dict.get('terms') # type: ignore | |
@terms.setter | |
def terms(self, value: List["GlossaryTermAssociationClass"]) -> None: | |
"""Setter: The related business terms""" | |
self._inner_dict['terms'] = value | |
@property | |
def auditStamp(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who reported the related business term""" | |
return self._inner_dict.get('auditStamp') # type: ignore | |
@auditStamp.setter | |
def auditStamp(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who reported the related business term""" | |
self._inner_dict['auditStamp'] = value | |
class InputFieldClass(DictWrapper): | |
"""Information about a field a chart or dashboard references""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.InputField") | |
def __init__(self, | |
schemaFieldUrn: str, | |
schemaField: Union[None, "SchemaFieldClass"]=None, | |
): | |
super().__init__() | |
self.schemaFieldUrn = schemaFieldUrn | |
self.schemaField = schemaField | |
@classmethod | |
def construct_with_defaults(cls) -> "InputFieldClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.schemaFieldUrn = str() | |
self.schemaField = self.RECORD_SCHEMA.fields_dict["schemaField"].default | |
@property | |
def schemaFieldUrn(self) -> str: | |
"""Getter: Urn of the schema being referenced for lineage purposes""" | |
return self._inner_dict.get('schemaFieldUrn') # type: ignore | |
@schemaFieldUrn.setter | |
def schemaFieldUrn(self, value: str) -> None: | |
"""Setter: Urn of the schema being referenced for lineage purposes""" | |
self._inner_dict['schemaFieldUrn'] = value | |
@property | |
def schemaField(self) -> Union[None, "SchemaFieldClass"]: | |
"""Getter: Copied version of the referenced schema field object for indexing purposes""" | |
return self._inner_dict.get('schemaField') # type: ignore | |
@schemaField.setter | |
def schemaField(self, value: Union[None, "SchemaFieldClass"]) -> None: | |
"""Setter: Copied version of the referenced schema field object for indexing purposes""" | |
self._inner_dict['schemaField'] = value | |
class InputFieldsClass(_Aspect): | |
"""Information about the fields a chart or dashboard references""" | |
ASPECT_NAME = 'inputFields' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.InputFields") | |
def __init__(self, | |
fields: List["InputFieldClass"], | |
): | |
super().__init__() | |
self.fields = fields | |
@classmethod | |
def construct_with_defaults(cls) -> "InputFieldsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fields = list() | |
@property | |
def fields(self) -> List["InputFieldClass"]: | |
"""Getter: List of fields being referenced""" | |
return self._inner_dict.get('fields') # type: ignore | |
@fields.setter | |
def fields(self, value: List["InputFieldClass"]) -> None: | |
"""Setter: List of fields being referenced""" | |
self._inner_dict['fields'] = value | |
class InstitutionalMemoryClass(_Aspect): | |
"""Institutional memory of an entity. This is a way to link to relevant documentation and provide description of the documentation. Institutional or tribal knowledge is very important for users to leverage the entity.""" | |
ASPECT_NAME = 'institutionalMemory' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.InstitutionalMemory") | |
def __init__(self, | |
elements: List["InstitutionalMemoryMetadataClass"], | |
): | |
super().__init__() | |
self.elements = elements | |
@classmethod | |
def construct_with_defaults(cls) -> "InstitutionalMemoryClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.elements = list() | |
@property | |
def elements(self) -> List["InstitutionalMemoryMetadataClass"]: | |
"""Getter: List of records that represent institutional memory of an entity. Each record consists of a link, description, creator and timestamps associated with that record.""" | |
return self._inner_dict.get('elements') # type: ignore | |
@elements.setter | |
def elements(self, value: List["InstitutionalMemoryMetadataClass"]) -> None: | |
"""Setter: List of records that represent institutional memory of an entity. Each record consists of a link, description, creator and timestamps associated with that record.""" | |
self._inner_dict['elements'] = value | |
class InstitutionalMemoryMetadataClass(DictWrapper): | |
"""Metadata corresponding to a record of institutional memory.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.InstitutionalMemoryMetadata") | |
def __init__(self, | |
url: str, | |
description: str, | |
createStamp: "AuditStampClass", | |
): | |
super().__init__() | |
self.url = url | |
self.description = description | |
self.createStamp = createStamp | |
@classmethod | |
def construct_with_defaults(cls) -> "InstitutionalMemoryMetadataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.url = str() | |
self.description = str() | |
self.createStamp = AuditStampClass.construct_with_defaults() | |
@property | |
def url(self) -> str: | |
"""Getter: Link to an engineering design document or a wiki page.""" | |
return self._inner_dict.get('url') # type: ignore | |
@url.setter | |
def url(self, value: str) -> None: | |
"""Setter: Link to an engineering design document or a wiki page.""" | |
self._inner_dict['url'] = value | |
@property | |
def description(self) -> str: | |
"""Getter: Description of the link.""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: str) -> None: | |
"""Setter: Description of the link.""" | |
self._inner_dict['description'] = value | |
@property | |
def createStamp(self) -> "AuditStampClass": | |
"""Getter: Audit stamp associated with creation of this record""" | |
return self._inner_dict.get('createStamp') # type: ignore | |
@createStamp.setter | |
def createStamp(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp associated with creation of this record""" | |
self._inner_dict['createStamp'] = value | |
class MLFeatureDataTypeClass(object): | |
"""MLFeature Data Type""" | |
"""Useless data is unique, discrete data with no potential relationship with the outcome variable. | |
A useless feature has high cardinality. An example would be bank account numbers that were generated randomly.""" | |
USELESS = "USELESS" | |
"""Nominal data is made of discrete values with no numerical relationship between the different categories — mean and median are meaningless. | |
Animal species is one example. For example, pig is not higher than bird and lower than fish.""" | |
NOMINAL = "NOMINAL" | |
"""Ordinal data are discrete integers that can be ranked or sorted. | |
For example, the distance between first and second may not be the same as the distance between second and third.""" | |
ORDINAL = "ORDINAL" | |
"""Binary data is discrete data that can be in only one of two categories — either yes or no, 1 or 0, off or on, etc""" | |
BINARY = "BINARY" | |
"""Count data is discrete whole number data — no negative numbers here. | |
Count data often has many small values, such as zero and one.""" | |
COUNT = "COUNT" | |
"""Time data is a cyclical, repeating continuous form of data. | |
The relevant time features can be any period— daily, weekly, monthly, annual, etc.""" | |
TIME = "TIME" | |
"""Interval data has equal spaces between the numbers and does not represent a temporal pattern. | |
Examples include percentages, temperatures, and income.""" | |
INTERVAL = "INTERVAL" | |
"""Image Data""" | |
IMAGE = "IMAGE" | |
"""Video Data""" | |
VIDEO = "VIDEO" | |
"""Audio Data""" | |
AUDIO = "AUDIO" | |
"""Text Data""" | |
TEXT = "TEXT" | |
"""Mapping Data Type ex: dict, map""" | |
MAP = "MAP" | |
"""Sequence Data Type ex: list, tuple, range""" | |
SEQUENCE = "SEQUENCE" | |
"""Set Data Type ex: set, frozenset""" | |
SET = "SET" | |
"""Continuous data are made of uncountable values, often the result of a measurement such as height, weight, age etc.""" | |
CONTINUOUS = "CONTINUOUS" | |
"""Bytes data are binary-encoded values that can represent complex objects.""" | |
BYTE = "BYTE" | |
"""Unknown data are data that we don't know the type for.""" | |
UNKNOWN = "UNKNOWN" | |
class MediaClass(DictWrapper): | |
"""Carries information about which roles a user is assigned to.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Media") | |
def __init__(self, | |
type: Union[str, "MediaTypeClass"], | |
location: str, | |
): | |
super().__init__() | |
self.type = type | |
self.location = location | |
@classmethod | |
def construct_with_defaults(cls) -> "MediaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = MediaTypeClass.IMAGE | |
self.location = str() | |
@property | |
def type(self) -> Union[str, "MediaTypeClass"]: | |
"""Getter: Type of content the Media is storing, e.g. image, video, etc.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "MediaTypeClass"]) -> None: | |
"""Setter: Type of content the Media is storing, e.g. image, video, etc.""" | |
self._inner_dict['type'] = value | |
@property | |
def location(self) -> str: | |
"""Getter: Where the media content is stored.""" | |
return self._inner_dict.get('location') # type: ignore | |
@location.setter | |
def location(self, value: str) -> None: | |
"""Setter: Where the media content is stored.""" | |
self._inner_dict['location'] = value | |
class MediaTypeClass(object): | |
"""Enum defining the type of content a Media object holds.""" | |
"""The Media holds an image.""" | |
IMAGE = "IMAGE" | |
class OperationClass(_Aspect): | |
"""Operational info for an entity.""" | |
ASPECT_NAME = 'operation' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Operation") | |
def __init__(self, | |
timestampMillis: int, | |
operationType: Union[str, "OperationTypeClass"], | |
lastUpdatedTimestamp: int, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
actor: Union[None, str]=None, | |
customOperationType: Union[None, str]=None, | |
numAffectedRows: Union[None, int]=None, | |
affectedDatasets: Union[None, List[str]]=None, | |
sourceType: Union[None, Union[str, "OperationSourceTypeClass"]]=None, | |
customProperties: Union[None, Dict[str, str]]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.actor = actor | |
self.operationType = operationType | |
self.customOperationType = customOperationType | |
self.numAffectedRows = numAffectedRows | |
self.affectedDatasets = affectedDatasets | |
self.sourceType = sourceType | |
self.customProperties = customProperties | |
self.lastUpdatedTimestamp = lastUpdatedTimestamp | |
@classmethod | |
def construct_with_defaults(cls) -> "OperationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.actor = self.RECORD_SCHEMA.fields_dict["actor"].default | |
self.operationType = OperationTypeClass.INSERT | |
self.customOperationType = self.RECORD_SCHEMA.fields_dict["customOperationType"].default | |
self.numAffectedRows = self.RECORD_SCHEMA.fields_dict["numAffectedRows"].default | |
self.affectedDatasets = self.RECORD_SCHEMA.fields_dict["affectedDatasets"].default | |
self.sourceType = self.RECORD_SCHEMA.fields_dict["sourceType"].default | |
self.customProperties = self.RECORD_SCHEMA.fields_dict["customProperties"].default | |
self.lastUpdatedTimestamp = int() | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def actor(self) -> Union[None, str]: | |
"""Getter: Actor who issued this operation.""" | |
return self._inner_dict.get('actor') # type: ignore | |
@actor.setter | |
def actor(self, value: Union[None, str]) -> None: | |
"""Setter: Actor who issued this operation.""" | |
self._inner_dict['actor'] = value | |
@property | |
def operationType(self) -> Union[str, "OperationTypeClass"]: | |
"""Getter: Operation type of change.""" | |
return self._inner_dict.get('operationType') # type: ignore | |
@operationType.setter | |
def operationType(self, value: Union[str, "OperationTypeClass"]) -> None: | |
"""Setter: Operation type of change.""" | |
self._inner_dict['operationType'] = value | |
@property | |
def customOperationType(self) -> Union[None, str]: | |
"""Getter: A custom type of operation. Required if operationType is CUSTOM.""" | |
return self._inner_dict.get('customOperationType') # type: ignore | |
@customOperationType.setter | |
def customOperationType(self, value: Union[None, str]) -> None: | |
"""Setter: A custom type of operation. Required if operationType is CUSTOM.""" | |
self._inner_dict['customOperationType'] = value | |
@property | |
def numAffectedRows(self) -> Union[None, int]: | |
"""Getter: How many rows were affected by this operation.""" | |
return self._inner_dict.get('numAffectedRows') # type: ignore | |
@numAffectedRows.setter | |
def numAffectedRows(self, value: Union[None, int]) -> None: | |
"""Setter: How many rows were affected by this operation.""" | |
self._inner_dict['numAffectedRows'] = value | |
@property | |
def affectedDatasets(self) -> Union[None, List[str]]: | |
"""Getter: Which other datasets were affected by this operation.""" | |
return self._inner_dict.get('affectedDatasets') # type: ignore | |
@affectedDatasets.setter | |
def affectedDatasets(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Which other datasets were affected by this operation.""" | |
self._inner_dict['affectedDatasets'] = value | |
@property | |
def sourceType(self) -> Union[None, Union[str, "OperationSourceTypeClass"]]: | |
"""Getter: Source Type""" | |
return self._inner_dict.get('sourceType') # type: ignore | |
@sourceType.setter | |
def sourceType(self, value: Union[None, Union[str, "OperationSourceTypeClass"]]) -> None: | |
"""Setter: Source Type""" | |
self._inner_dict['sourceType'] = value | |
@property | |
def customProperties(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Custom properties""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Custom properties""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def lastUpdatedTimestamp(self) -> int: | |
"""Getter: The time at which the operation occurred.""" | |
return self._inner_dict.get('lastUpdatedTimestamp') # type: ignore | |
@lastUpdatedTimestamp.setter | |
def lastUpdatedTimestamp(self, value: int) -> None: | |
"""Setter: The time at which the operation occurred.""" | |
self._inner_dict['lastUpdatedTimestamp'] = value | |
class OperationSourceTypeClass(object): | |
"""The source of an operation""" | |
"""Provided by a Data Process""" | |
DATA_PROCESS = "DATA_PROCESS" | |
"""Rows were updated""" | |
DATA_PLATFORM = "DATA_PLATFORM" | |
class OperationTypeClass(object): | |
"""Enum to define the operation type when an entity changes.""" | |
"""Rows were inserted""" | |
INSERT = "INSERT" | |
"""Rows were updated""" | |
UPDATE = "UPDATE" | |
"""Rows were deleted""" | |
DELETE = "DELETE" | |
"""Asset was created""" | |
CREATE = "CREATE" | |
"""Asset was altered""" | |
ALTER = "ALTER" | |
"""Asset was dropped""" | |
DROP = "DROP" | |
"""Custom asset operation""" | |
CUSTOM = "CUSTOM" | |
UNKNOWN = "UNKNOWN" | |
class OriginClass(_Aspect): | |
"""Carries information about where an entity originated from.""" | |
ASPECT_NAME = 'origin' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Origin") | |
def __init__(self, | |
type: Union[str, "OriginTypeClass"], | |
externalType: Union[None, str]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.externalType = externalType | |
@classmethod | |
def construct_with_defaults(cls) -> "OriginClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = OriginTypeClass.NATIVE | |
self.externalType = self.RECORD_SCHEMA.fields_dict["externalType"].default | |
@property | |
def type(self) -> Union[str, "OriginTypeClass"]: | |
"""Getter: Where an entity originated from. Either NATIVE or EXTERNAL.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "OriginTypeClass"]) -> None: | |
"""Setter: Where an entity originated from. Either NATIVE or EXTERNAL.""" | |
self._inner_dict['type'] = value | |
@property | |
def externalType(self) -> Union[None, str]: | |
"""Getter: Only populated if type is EXTERNAL. The externalType of the entity, such as the name of the identity provider.""" | |
return self._inner_dict.get('externalType') # type: ignore | |
@externalType.setter | |
def externalType(self, value: Union[None, str]) -> None: | |
"""Setter: Only populated if type is EXTERNAL. The externalType of the entity, such as the name of the identity provider.""" | |
self._inner_dict['externalType'] = value | |
class OriginTypeClass(object): | |
"""Enum to define where an entity originated from.""" | |
"""The entity is native to DataHub.""" | |
NATIVE = "NATIVE" | |
"""The entity is external to DataHub.""" | |
EXTERNAL = "EXTERNAL" | |
class OwnerClass(DictWrapper): | |
"""Ownership information""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Owner") | |
def __init__(self, | |
owner: str, | |
type: Union[str, "OwnershipTypeClass"], | |
source: Union[None, "OwnershipSourceClass"]=None, | |
): | |
super().__init__() | |
self.owner = owner | |
self.type = type | |
self.source = source | |
@classmethod | |
def construct_with_defaults(cls) -> "OwnerClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.owner = str() | |
self.type = OwnershipTypeClass.TECHNICAL_OWNER | |
self.source = self.RECORD_SCHEMA.fields_dict["source"].default | |
@property | |
def owner(self) -> str: | |
"""Getter: Owner URN, e.g. urn:li:corpuser:ldap, urn:li:corpGroup:group_name, and urn:li:multiProduct:mp_name | |
(Caveat: only corpuser is currently supported in the frontend.)""" | |
return self._inner_dict.get('owner') # type: ignore | |
@owner.setter | |
def owner(self, value: str) -> None: | |
"""Setter: Owner URN, e.g. urn:li:corpuser:ldap, urn:li:corpGroup:group_name, and urn:li:multiProduct:mp_name | |
(Caveat: only corpuser is currently supported in the frontend.)""" | |
self._inner_dict['owner'] = value | |
@property | |
def type(self) -> Union[str, "OwnershipTypeClass"]: | |
"""Getter: The type of the ownership""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "OwnershipTypeClass"]) -> None: | |
"""Setter: The type of the ownership""" | |
self._inner_dict['type'] = value | |
@property | |
def source(self) -> Union[None, "OwnershipSourceClass"]: | |
"""Getter: Source information for the ownership""" | |
return self._inner_dict.get('source') # type: ignore | |
@source.setter | |
def source(self, value: Union[None, "OwnershipSourceClass"]) -> None: | |
"""Setter: Source information for the ownership""" | |
self._inner_dict['source'] = value | |
class OwnershipClass(_Aspect): | |
"""Ownership information of an entity.""" | |
ASPECT_NAME = 'ownership' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Ownership") | |
def __init__(self, | |
owners: List["OwnerClass"], | |
lastModified: Optional["AuditStampClass"]=None, | |
): | |
super().__init__() | |
self.owners = owners | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
@classmethod | |
def construct_with_defaults(cls) -> "OwnershipClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.owners = list() | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
@property | |
def owners(self) -> List["OwnerClass"]: | |
"""Getter: List of owners of the entity.""" | |
return self._inner_dict.get('owners') # type: ignore | |
@owners.setter | |
def owners(self, value: List["OwnerClass"]) -> None: | |
"""Setter: List of owners of the entity.""" | |
self._inner_dict['owners'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who last modified the record and when. A value of 0 in the time field indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who last modified the record and when. A value of 0 in the time field indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
class OwnershipSourceClass(DictWrapper): | |
"""Source/provider of the ownership information""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.OwnershipSource") | |
def __init__(self, | |
type: Union[str, "OwnershipSourceTypeClass"], | |
url: Union[None, str]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.url = url | |
@classmethod | |
def construct_with_defaults(cls) -> "OwnershipSourceClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = OwnershipSourceTypeClass.AUDIT | |
self.url = self.RECORD_SCHEMA.fields_dict["url"].default | |
@property | |
def type(self) -> Union[str, "OwnershipSourceTypeClass"]: | |
"""Getter: The type of the source""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "OwnershipSourceTypeClass"]) -> None: | |
"""Setter: The type of the source""" | |
self._inner_dict['type'] = value | |
@property | |
def url(self) -> Union[None, str]: | |
"""Getter: A reference URL for the source""" | |
return self._inner_dict.get('url') # type: ignore | |
@url.setter | |
def url(self, value: Union[None, str]) -> None: | |
"""Setter: A reference URL for the source""" | |
self._inner_dict['url'] = value | |
class OwnershipSourceTypeClass(object): | |
# No docs available. | |
"""Auditing system or audit logs""" | |
AUDIT = "AUDIT" | |
"""Database, e.g. GRANTS table""" | |
DATABASE = "DATABASE" | |
"""File system, e.g. file/directory owner""" | |
FILE_SYSTEM = "FILE_SYSTEM" | |
"""Issue tracking system, e.g. Jira""" | |
ISSUE_TRACKING_SYSTEM = "ISSUE_TRACKING_SYSTEM" | |
"""Manually provided by a user""" | |
MANUAL = "MANUAL" | |
"""Other ownership-like service, e.g. Nuage, ACL service etc""" | |
SERVICE = "SERVICE" | |
"""SCM system, e.g. GIT, SVN""" | |
SOURCE_CONTROL = "SOURCE_CONTROL" | |
"""Other sources""" | |
OTHER = "OTHER" | |
class OwnershipTypeClass(object): | |
"""Asset owner types""" | |
"""person or group who is responsible for technical aspects of the asset.""" | |
TECHNICAL_OWNER = "TECHNICAL_OWNER" | |
"""A person or group who is responsible for logical, or business related, aspects of the asset.""" | |
BUSINESS_OWNER = "BUSINESS_OWNER" | |
"""A steward, expert, or delegate responsible for the asset.""" | |
DATA_STEWARD = "DATA_STEWARD" | |
"""No specific type associated to the owner.""" | |
NONE = "NONE" | |
"""A person or group that is in charge of developing the code | |
Deprecated! Use TECHNICAL_OWNER instead.""" | |
DEVELOPER = "DEVELOPER" | |
"""A person or group that is owning the data | |
Deprecated! Use TECHNICAL_OWNER instead.""" | |
DATAOWNER = "DATAOWNER" | |
"""A person or a group that overseas the operation, e.g. a DBA or SRE. | |
Deprecated! Use TECHNICAL_OWNER instead.""" | |
DELEGATE = "DELEGATE" | |
"""A person, group, or service that produces/generates the data | |
Deprecated! Use TECHNICAL_OWNER instead.""" | |
PRODUCER = "PRODUCER" | |
"""A person, group, or service that consumes the data | |
Deprecated! Use TECHNICAL_OWNER or BUSINESS_OWNER instead.""" | |
CONSUMER = "CONSUMER" | |
"""A person or a group that has direct business interest | |
Deprecated! Use TECHNICAL_OWNER, BUSINESS_OWNER, or STEWARD instead.""" | |
STAKEHOLDER = "STAKEHOLDER" | |
class SiblingsClass(_Aspect): | |
"""Siblings information of an entity.""" | |
ASPECT_NAME = 'siblings' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Siblings") | |
def __init__(self, | |
siblings: List[str], | |
primary: bool, | |
): | |
super().__init__() | |
self.siblings = siblings | |
self.primary = primary | |
@classmethod | |
def construct_with_defaults(cls) -> "SiblingsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.siblings = list() | |
self.primary = bool() | |
@property | |
def siblings(self) -> List[str]: | |
"""Getter: List of sibling entities""" | |
return self._inner_dict.get('siblings') # type: ignore | |
@siblings.setter | |
def siblings(self, value: List[str]) -> None: | |
"""Setter: List of sibling entities""" | |
self._inner_dict['siblings'] = value | |
@property | |
def primary(self) -> bool: | |
"""Getter: If this is the leader entity of the set of siblings""" | |
return self._inner_dict.get('primary') # type: ignore | |
@primary.setter | |
def primary(self, value: bool) -> None: | |
"""Setter: If this is the leader entity of the set of siblings""" | |
self._inner_dict['primary'] = value | |
class StatusClass(_Aspect): | |
"""The lifecycle status metadata of an entity, e.g. dataset, metric, feature, etc. | |
This aspect is used to represent soft deletes conventionally.""" | |
ASPECT_NAME = 'status' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.Status") | |
def __init__(self, | |
removed: Optional[bool]=None, | |
): | |
super().__init__() | |
if removed is None: | |
# default: False | |
self.removed = self.RECORD_SCHEMA.fields_dict["removed"].default | |
else: | |
self.removed = removed | |
@classmethod | |
def construct_with_defaults(cls) -> "StatusClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.removed = self.RECORD_SCHEMA.fields_dict["removed"].default | |
@property | |
def removed(self) -> bool: | |
"""Getter: Whether the entity has been removed (soft-deleted).""" | |
return self._inner_dict.get('removed') # type: ignore | |
@removed.setter | |
def removed(self, value: bool) -> None: | |
"""Setter: Whether the entity has been removed (soft-deleted).""" | |
self._inner_dict['removed'] = value | |
class SubTypesClass(_Aspect): | |
"""Sub Types. Use this aspect to specialize a generic Entity | |
e.g. Making a Dataset also be a View or also be a LookerExplore""" | |
ASPECT_NAME = 'subTypes' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.SubTypes") | |
def __init__(self, | |
typeNames: List[str], | |
): | |
super().__init__() | |
self.typeNames = typeNames | |
@classmethod | |
def construct_with_defaults(cls) -> "SubTypesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.typeNames = list() | |
@property | |
def typeNames(self) -> List[str]: | |
"""Getter: The names of the specific types.""" | |
return self._inner_dict.get('typeNames') # type: ignore | |
@typeNames.setter | |
def typeNames(self, value: List[str]) -> None: | |
"""Setter: The names of the specific types.""" | |
self._inner_dict['typeNames'] = value | |
class TagAssociationClass(DictWrapper): | |
"""Properties of an applied tag. For now, just an Urn. In the future we can extend this with other properties, e.g. | |
propagation parameters.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.TagAssociation") | |
def __init__(self, | |
tag: str, | |
context: Union[None, str]=None, | |
): | |
super().__init__() | |
self.tag = tag | |
self.context = context | |
@classmethod | |
def construct_with_defaults(cls) -> "TagAssociationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.tag = str() | |
self.context = self.RECORD_SCHEMA.fields_dict["context"].default | |
@property | |
def tag(self) -> str: | |
"""Getter: Urn of the applied tag""" | |
return self._inner_dict.get('tag') # type: ignore | |
@tag.setter | |
def tag(self, value: str) -> None: | |
"""Setter: Urn of the applied tag""" | |
self._inner_dict['tag'] = value | |
@property | |
def context(self) -> Union[None, str]: | |
"""Getter: Additional context about the association""" | |
return self._inner_dict.get('context') # type: ignore | |
@context.setter | |
def context(self, value: Union[None, str]) -> None: | |
"""Setter: Additional context about the association""" | |
self._inner_dict['context'] = value | |
class VersionTagClass(DictWrapper): | |
"""A resource-defined string representing the resource state for the purpose of concurrency control""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.VersionTag") | |
def __init__(self, | |
versionTag: Union[None, str]=None, | |
): | |
super().__init__() | |
self.versionTag = versionTag | |
@classmethod | |
def construct_with_defaults(cls) -> "VersionTagClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.versionTag = self.RECORD_SCHEMA.fields_dict["versionTag"].default | |
@property | |
def versionTag(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('versionTag') # type: ignore | |
@versionTag.setter | |
def versionTag(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['versionTag'] = value | |
class WindowDurationClass(object): | |
"""Enum to define the length of a bucket when doing aggregations""" | |
YEAR = "YEAR" | |
MONTH = "MONTH" | |
WEEK = "WEEK" | |
DAY = "DAY" | |
HOUR = "HOUR" | |
class TransformationTypeClass(object): | |
"""Type of the transformation involved in generating destination fields from source fields.""" | |
"""Field transformation expressed as unknown black box function.""" | |
BLACKBOX = "BLACKBOX" | |
"""Field transformation expressed as Identity function.""" | |
IDENTITY = "IDENTITY" | |
class UDFTransformerClass(DictWrapper): | |
"""Field transformation expressed in UDF""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.common.fieldtransformer.UDFTransformer") | |
def __init__(self, | |
udf: str, | |
): | |
super().__init__() | |
self.udf = udf | |
@classmethod | |
def construct_with_defaults(cls) -> "UDFTransformerClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.udf = str() | |
@property | |
def udf(self) -> str: | |
"""Getter: A UDF mentioning how the source fields got transformed to destination field. This is the FQCN(Fully Qualified Class Name) of the udf.""" | |
return self._inner_dict.get('udf') # type: ignore | |
@udf.setter | |
def udf(self, value: str) -> None: | |
"""Setter: A UDF mentioning how the source fields got transformed to destination field. This is the FQCN(Fully Qualified Class Name) of the udf.""" | |
self._inner_dict['udf'] = value | |
class ContainerClass(_Aspect): | |
"""Link from an asset to its parent container""" | |
ASPECT_NAME = 'container' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.container.Container") | |
def __init__(self, | |
container: str, | |
): | |
super().__init__() | |
self.container = container | |
@classmethod | |
def construct_with_defaults(cls) -> "ContainerClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.container = str() | |
@property | |
def container(self) -> str: | |
"""Getter: The parent container of an asset""" | |
return self._inner_dict.get('container') # type: ignore | |
@container.setter | |
def container(self, value: str) -> None: | |
"""Setter: The parent container of an asset""" | |
self._inner_dict['container'] = value | |
class ContainerPropertiesClass(_Aspect): | |
"""Information about a Asset Container as received from a 3rd party source system""" | |
ASPECT_NAME = 'containerProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.container.ContainerProperties") | |
def __init__(self, | |
name: str, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
qualifiedName: Union[None, str]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.name = name | |
self.qualifiedName = qualifiedName | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "ContainerPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.name = str() | |
self.qualifiedName = self.RECORD_SCHEMA.fields_dict["qualifiedName"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Display name of the Asset Container""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Display name of the Asset Container""" | |
self._inner_dict['name'] = value | |
@property | |
def qualifiedName(self) -> Union[None, str]: | |
"""Getter: Fully-qualified name of the Container""" | |
return self._inner_dict.get('qualifiedName') # type: ignore | |
@qualifiedName.setter | |
def qualifiedName(self, value: Union[None, str]) -> None: | |
"""Setter: Fully-qualified name of the Container""" | |
self._inner_dict['qualifiedName'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the Asset Container as it exists inside a source system""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the Asset Container as it exists inside a source system""" | |
self._inner_dict['description'] = value | |
class EditableContainerPropertiesClass(_Aspect): | |
"""Editable information about an Asset Container as defined on the DataHub Platform""" | |
ASPECT_NAME = 'editableContainerProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.container.EditableContainerProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableContainerPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the Asset Container as its received on the DataHub Platform""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the Asset Container as its received on the DataHub Platform""" | |
self._inner_dict['description'] = value | |
class DashboardInfoClass(_Aspect): | |
"""Information about a dashboard""" | |
ASPECT_NAME = 'dashboardInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dashboard.DashboardInfo") | |
def __init__(self, | |
title: str, | |
description: str, | |
lastModified: "ChangeAuditStampsClass", | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
charts: Optional[List[str]]=None, | |
datasets: Optional[List[str]]=None, | |
dashboardUrl: Union[None, str]=None, | |
access: Union[None, Union[str, "AccessLevelClass"]]=None, | |
lastRefreshed: Union[None, int]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.title = title | |
self.description = description | |
if charts is None: | |
# default: [] | |
self.charts = list() | |
else: | |
self.charts = charts | |
if datasets is None: | |
# default: [] | |
self.datasets = list() | |
else: | |
self.datasets = datasets | |
self.lastModified = lastModified | |
self.dashboardUrl = dashboardUrl | |
self.access = access | |
self.lastRefreshed = lastRefreshed | |
@classmethod | |
def construct_with_defaults(cls) -> "DashboardInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.title = str() | |
self.description = str() | |
self.charts = list() | |
self.datasets = list() | |
self.lastModified = ChangeAuditStampsClass.construct_with_defaults() | |
self.dashboardUrl = self.RECORD_SCHEMA.fields_dict["dashboardUrl"].default | |
self.access = self.RECORD_SCHEMA.fields_dict["access"].default | |
self.lastRefreshed = self.RECORD_SCHEMA.fields_dict["lastRefreshed"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def title(self) -> str: | |
"""Getter: Title of the dashboard""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: str) -> None: | |
"""Setter: Title of the dashboard""" | |
self._inner_dict['title'] = value | |
@property | |
def description(self) -> str: | |
"""Getter: Detailed description about the dashboard""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: str) -> None: | |
"""Setter: Detailed description about the dashboard""" | |
self._inner_dict['description'] = value | |
@property | |
def charts(self) -> List[str]: | |
"""Getter: Charts in a dashboard""" | |
return self._inner_dict.get('charts') # type: ignore | |
@charts.setter | |
def charts(self, value: List[str]) -> None: | |
"""Setter: Charts in a dashboard""" | |
self._inner_dict['charts'] = value | |
@property | |
def datasets(self) -> List[str]: | |
"""Getter: Datasets consumed by a dashboard""" | |
return self._inner_dict.get('datasets') # type: ignore | |
@datasets.setter | |
def datasets(self, value: List[str]) -> None: | |
"""Setter: Datasets consumed by a dashboard""" | |
self._inner_dict['datasets'] = value | |
@property | |
def lastModified(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this dashboard and when""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this dashboard and when""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def dashboardUrl(self) -> Union[None, str]: | |
"""Getter: URL for the dashboard. This could be used as an external link on DataHub to allow users access/view the dashboard""" | |
return self._inner_dict.get('dashboardUrl') # type: ignore | |
@dashboardUrl.setter | |
def dashboardUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL for the dashboard. This could be used as an external link on DataHub to allow users access/view the dashboard""" | |
self._inner_dict['dashboardUrl'] = value | |
@property | |
def access(self) -> Union[None, Union[str, "AccessLevelClass"]]: | |
"""Getter: Access level for the dashboard""" | |
return self._inner_dict.get('access') # type: ignore | |
@access.setter | |
def access(self, value: Union[None, Union[str, "AccessLevelClass"]]) -> None: | |
"""Setter: Access level for the dashboard""" | |
self._inner_dict['access'] = value | |
@property | |
def lastRefreshed(self) -> Union[None, int]: | |
"""Getter: The time when this dashboard last refreshed""" | |
return self._inner_dict.get('lastRefreshed') # type: ignore | |
@lastRefreshed.setter | |
def lastRefreshed(self, value: Union[None, int]) -> None: | |
"""Setter: The time when this dashboard last refreshed""" | |
self._inner_dict['lastRefreshed'] = value | |
class DashboardUsageStatisticsClass(_Aspect): | |
"""Experimental (Subject to breaking change) -- Stats corresponding to dashboard's usage. | |
If this aspect represents the latest snapshot of the statistics about a Dashboard, the eventGranularity field should be null. | |
If this aspect represents a bucketed window of usage statistics (e.g. over a day), then the eventGranularity field should be set accordingly. """ | |
ASPECT_NAME = 'dashboardUsageStatistics' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dashboard.DashboardUsageStatistics") | |
def __init__(self, | |
timestampMillis: int, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
viewsCount: Union[None, int]=None, | |
executionsCount: Union[None, int]=None, | |
uniqueUserCount: Union[None, int]=None, | |
userCounts: Union[None, List["DashboardUserUsageCountsClass"]]=None, | |
favoritesCount: Union[None, int]=None, | |
lastViewedAt: Union[None, int]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.viewsCount = viewsCount | |
self.executionsCount = executionsCount | |
self.uniqueUserCount = uniqueUserCount | |
self.userCounts = userCounts | |
self.favoritesCount = favoritesCount | |
self.lastViewedAt = lastViewedAt | |
@classmethod | |
def construct_with_defaults(cls) -> "DashboardUsageStatisticsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.viewsCount = self.RECORD_SCHEMA.fields_dict["viewsCount"].default | |
self.executionsCount = self.RECORD_SCHEMA.fields_dict["executionsCount"].default | |
self.uniqueUserCount = self.RECORD_SCHEMA.fields_dict["uniqueUserCount"].default | |
self.userCounts = self.RECORD_SCHEMA.fields_dict["userCounts"].default | |
self.favoritesCount = self.RECORD_SCHEMA.fields_dict["favoritesCount"].default | |
self.lastViewedAt = self.RECORD_SCHEMA.fields_dict["lastViewedAt"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def viewsCount(self) -> Union[None, int]: | |
"""Getter: The total number of times dashboard has been viewed""" | |
return self._inner_dict.get('viewsCount') # type: ignore | |
@viewsCount.setter | |
def viewsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of times dashboard has been viewed""" | |
self._inner_dict['viewsCount'] = value | |
@property | |
def executionsCount(self) -> Union[None, int]: | |
"""Getter: The total number of dashboard executions (refreshes / syncs) """ | |
return self._inner_dict.get('executionsCount') # type: ignore | |
@executionsCount.setter | |
def executionsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of dashboard executions (refreshes / syncs) """ | |
self._inner_dict['executionsCount'] = value | |
@property | |
def uniqueUserCount(self) -> Union[None, int]: | |
"""Getter: Unique user count""" | |
return self._inner_dict.get('uniqueUserCount') # type: ignore | |
@uniqueUserCount.setter | |
def uniqueUserCount(self, value: Union[None, int]) -> None: | |
"""Setter: Unique user count""" | |
self._inner_dict['uniqueUserCount'] = value | |
@property | |
def userCounts(self) -> Union[None, List["DashboardUserUsageCountsClass"]]: | |
"""Getter: Users within this bucket, with frequency counts""" | |
return self._inner_dict.get('userCounts') # type: ignore | |
@userCounts.setter | |
def userCounts(self, value: Union[None, List["DashboardUserUsageCountsClass"]]) -> None: | |
"""Setter: Users within this bucket, with frequency counts""" | |
self._inner_dict['userCounts'] = value | |
@property | |
def favoritesCount(self) -> Union[None, int]: | |
"""Getter: The total number of times that the dashboard has been favorited """ | |
return self._inner_dict.get('favoritesCount') # type: ignore | |
@favoritesCount.setter | |
def favoritesCount(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of times that the dashboard has been favorited """ | |
self._inner_dict['favoritesCount'] = value | |
@property | |
def lastViewedAt(self) -> Union[None, int]: | |
"""Getter: Last viewed at | |
This should not be set in cases where statistics are windowed. """ | |
return self._inner_dict.get('lastViewedAt') # type: ignore | |
@lastViewedAt.setter | |
def lastViewedAt(self, value: Union[None, int]) -> None: | |
"""Setter: Last viewed at | |
This should not be set in cases where statistics are windowed. """ | |
self._inner_dict['lastViewedAt'] = value | |
class DashboardUserUsageCountsClass(DictWrapper): | |
"""Records a single user's usage counts for a given resource""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dashboard.DashboardUserUsageCounts") | |
def __init__(self, | |
user: str, | |
viewsCount: Union[None, int]=None, | |
executionsCount: Union[None, int]=None, | |
usageCount: Union[None, int]=None, | |
userEmail: Union[None, str]=None, | |
): | |
super().__init__() | |
self.user = user | |
self.viewsCount = viewsCount | |
self.executionsCount = executionsCount | |
self.usageCount = usageCount | |
self.userEmail = userEmail | |
@classmethod | |
def construct_with_defaults(cls) -> "DashboardUserUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.user = str() | |
self.viewsCount = self.RECORD_SCHEMA.fields_dict["viewsCount"].default | |
self.executionsCount = self.RECORD_SCHEMA.fields_dict["executionsCount"].default | |
self.usageCount = self.RECORD_SCHEMA.fields_dict["usageCount"].default | |
self.userEmail = self.RECORD_SCHEMA.fields_dict["userEmail"].default | |
@property | |
def user(self) -> str: | |
"""Getter: The unique id of the user.""" | |
return self._inner_dict.get('user') # type: ignore | |
@user.setter | |
def user(self, value: str) -> None: | |
"""Setter: The unique id of the user.""" | |
self._inner_dict['user'] = value | |
@property | |
def viewsCount(self) -> Union[None, int]: | |
"""Getter: The number of times the user has viewed the dashboard""" | |
return self._inner_dict.get('viewsCount') # type: ignore | |
@viewsCount.setter | |
def viewsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The number of times the user has viewed the dashboard""" | |
self._inner_dict['viewsCount'] = value | |
@property | |
def executionsCount(self) -> Union[None, int]: | |
"""Getter: The number of times the user has executed (refreshed) the dashboard""" | |
return self._inner_dict.get('executionsCount') # type: ignore | |
@executionsCount.setter | |
def executionsCount(self, value: Union[None, int]) -> None: | |
"""Setter: The number of times the user has executed (refreshed) the dashboard""" | |
self._inner_dict['executionsCount'] = value | |
@property | |
def usageCount(self) -> Union[None, int]: | |
"""Getter: Normalized numeric metric representing user's dashboard usage -- the number of times the user executed or viewed the dashboard. """ | |
return self._inner_dict.get('usageCount') # type: ignore | |
@usageCount.setter | |
def usageCount(self, value: Union[None, int]) -> None: | |
"""Setter: Normalized numeric metric representing user's dashboard usage -- the number of times the user executed or viewed the dashboard. """ | |
self._inner_dict['usageCount'] = value | |
@property | |
def userEmail(self) -> Union[None, str]: | |
"""Getter: If user_email is set, we attempt to resolve the user's urn upon ingest""" | |
return self._inner_dict.get('userEmail') # type: ignore | |
@userEmail.setter | |
def userEmail(self, value: Union[None, str]) -> None: | |
"""Setter: If user_email is set, we attempt to resolve the user's urn upon ingest""" | |
self._inner_dict['userEmail'] = value | |
class EditableDashboardPropertiesClass(_Aspect): | |
"""Stores editable changes made to properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines""" | |
ASPECT_NAME = 'editableDashboardProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dashboard.EditableDashboardProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableDashboardPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Edited documentation of the dashboard""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Edited documentation of the dashboard""" | |
self._inner_dict['description'] = value | |
class DataFlowInfoClass(_Aspect): | |
"""Information about a Data processing flow""" | |
ASPECT_NAME = 'dataFlowInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.DataFlowInfo") | |
def __init__(self, | |
name: str, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
description: Union[None, str]=None, | |
project: Union[None, str]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.name = name | |
self.description = description | |
self.project = project | |
@classmethod | |
def construct_with_defaults(cls) -> "DataFlowInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.project = self.RECORD_SCHEMA.fields_dict["project"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Flow name""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Flow name""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Flow description""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Flow description""" | |
self._inner_dict['description'] = value | |
@property | |
def project(self) -> Union[None, str]: | |
"""Getter: Optional project/namespace associated with the flow""" | |
return self._inner_dict.get('project') # type: ignore | |
@project.setter | |
def project(self, value: Union[None, str]) -> None: | |
"""Setter: Optional project/namespace associated with the flow""" | |
self._inner_dict['project'] = value | |
class DataJobInfoClass(_Aspect): | |
"""Information about a Data processing job""" | |
ASPECT_NAME = 'dataJobInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.DataJobInfo") | |
def __init__(self, | |
name: str, | |
type: Union[Union[str, "AzkabanJobTypeClass"], str], | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
description: Union[None, str]=None, | |
flowUrn: Union[None, str]=None, | |
status: Union[None, Union[str, "JobStatusClass"]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.name = name | |
self.description = description | |
self.type = type | |
self.flowUrn = flowUrn | |
self.status = status | |
@classmethod | |
def construct_with_defaults(cls) -> "DataJobInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.type = AzkabanJobTypeClass.COMMAND | |
self.flowUrn = self.RECORD_SCHEMA.fields_dict["flowUrn"].default | |
self.status = self.RECORD_SCHEMA.fields_dict["status"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Job name""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Job name""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Job description""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Job description""" | |
self._inner_dict['description'] = value | |
@property | |
def type(self) -> Union[Union[str, "AzkabanJobTypeClass"], str]: | |
"""Getter: Datajob type | |
*NOTE**: AzkabanJobType is deprecated. Please use strings instead.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[Union[str, "AzkabanJobTypeClass"], str]) -> None: | |
"""Setter: Datajob type | |
*NOTE**: AzkabanJobType is deprecated. Please use strings instead.""" | |
self._inner_dict['type'] = value | |
@property | |
def flowUrn(self) -> Union[None, str]: | |
"""Getter: DataFlow urn that this job is part of""" | |
return self._inner_dict.get('flowUrn') # type: ignore | |
@flowUrn.setter | |
def flowUrn(self, value: Union[None, str]) -> None: | |
"""Setter: DataFlow urn that this job is part of""" | |
self._inner_dict['flowUrn'] = value | |
@property | |
def status(self) -> Union[None, Union[str, "JobStatusClass"]]: | |
"""Getter: Status of the job""" | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: Union[None, Union[str, "JobStatusClass"]]) -> None: | |
"""Setter: Status of the job""" | |
self._inner_dict['status'] = value | |
class DataJobInputOutputClass(_Aspect): | |
"""Information about the inputs and outputs of a Data processing job""" | |
ASPECT_NAME = 'dataJobInputOutput' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.DataJobInputOutput") | |
def __init__(self, | |
inputDatasets: List[str], | |
outputDatasets: List[str], | |
inputDatajobs: Union[None, List[str]]=None, | |
inputDatasetFields: Union[None, List[str]]=None, | |
outputDatasetFields: Union[None, List[str]]=None, | |
fineGrainedLineages: Union[None, List["FineGrainedLineageClass"]]=None, | |
): | |
super().__init__() | |
self.inputDatasets = inputDatasets | |
self.outputDatasets = outputDatasets | |
self.inputDatajobs = inputDatajobs | |
self.inputDatasetFields = inputDatasetFields | |
self.outputDatasetFields = outputDatasetFields | |
self.fineGrainedLineages = fineGrainedLineages | |
@classmethod | |
def construct_with_defaults(cls) -> "DataJobInputOutputClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.inputDatasets = list() | |
self.outputDatasets = list() | |
self.inputDatajobs = self.RECORD_SCHEMA.fields_dict["inputDatajobs"].default | |
self.inputDatasetFields = self.RECORD_SCHEMA.fields_dict["inputDatasetFields"].default | |
self.outputDatasetFields = self.RECORD_SCHEMA.fields_dict["outputDatasetFields"].default | |
self.fineGrainedLineages = self.RECORD_SCHEMA.fields_dict["fineGrainedLineages"].default | |
@property | |
def inputDatasets(self) -> List[str]: | |
"""Getter: Input datasets consumed by the data job during processing""" | |
return self._inner_dict.get('inputDatasets') # type: ignore | |
@inputDatasets.setter | |
def inputDatasets(self, value: List[str]) -> None: | |
"""Setter: Input datasets consumed by the data job during processing""" | |
self._inner_dict['inputDatasets'] = value | |
@property | |
def outputDatasets(self) -> List[str]: | |
"""Getter: Output datasets produced by the data job during processing""" | |
return self._inner_dict.get('outputDatasets') # type: ignore | |
@outputDatasets.setter | |
def outputDatasets(self, value: List[str]) -> None: | |
"""Setter: Output datasets produced by the data job during processing""" | |
self._inner_dict['outputDatasets'] = value | |
@property | |
def inputDatajobs(self) -> Union[None, List[str]]: | |
"""Getter: Input datajobs that this data job depends on""" | |
return self._inner_dict.get('inputDatajobs') # type: ignore | |
@inputDatajobs.setter | |
def inputDatajobs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Input datajobs that this data job depends on""" | |
self._inner_dict['inputDatajobs'] = value | |
@property | |
def inputDatasetFields(self) -> Union[None, List[str]]: | |
"""Getter: Fields of the input datasets used by this job""" | |
return self._inner_dict.get('inputDatasetFields') # type: ignore | |
@inputDatasetFields.setter | |
def inputDatasetFields(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Fields of the input datasets used by this job""" | |
self._inner_dict['inputDatasetFields'] = value | |
@property | |
def outputDatasetFields(self) -> Union[None, List[str]]: | |
"""Getter: Fields of the output datasets this job writes to""" | |
return self._inner_dict.get('outputDatasetFields') # type: ignore | |
@outputDatasetFields.setter | |
def outputDatasetFields(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Fields of the output datasets this job writes to""" | |
self._inner_dict['outputDatasetFields'] = value | |
@property | |
def fineGrainedLineages(self) -> Union[None, List["FineGrainedLineageClass"]]: | |
"""Getter: Fine-grained column-level lineages""" | |
return self._inner_dict.get('fineGrainedLineages') # type: ignore | |
@fineGrainedLineages.setter | |
def fineGrainedLineages(self, value: Union[None, List["FineGrainedLineageClass"]]) -> None: | |
"""Setter: Fine-grained column-level lineages""" | |
self._inner_dict['fineGrainedLineages'] = value | |
class EditableDataFlowPropertiesClass(_Aspect): | |
"""Stores editable changes made to properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines""" | |
ASPECT_NAME = 'editableDataFlowProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.EditableDataFlowProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableDataFlowPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Edited documentation of the data flow""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Edited documentation of the data flow""" | |
self._inner_dict['description'] = value | |
class EditableDataJobPropertiesClass(_Aspect): | |
"""Stores editable changes made to properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines""" | |
ASPECT_NAME = 'editableDataJobProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.EditableDataJobProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableDataJobPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Edited documentation of the data job """ | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Edited documentation of the data job """ | |
self._inner_dict['description'] = value | |
class JobStatusClass(object): | |
"""Job statuses""" | |
"""Jobs being initialized.""" | |
STARTING = "STARTING" | |
"""Jobs currently running.""" | |
IN_PROGRESS = "IN_PROGRESS" | |
"""Jobs being stopped.""" | |
STOPPING = "STOPPING" | |
"""Jobs that have stopped.""" | |
STOPPED = "STOPPED" | |
"""Jobs with successful completion.""" | |
COMPLETED = "COMPLETED" | |
"""Jobs that have failed.""" | |
FAILED = "FAILED" | |
"""Jobs with unknown status (either unmappable or unavailable)""" | |
UNKNOWN = "UNKNOWN" | |
"""Jobs that have been skipped.""" | |
SKIPPED = "SKIPPED" | |
class VersionInfoClass(_Aspect): | |
"""Information about a Data processing job""" | |
ASPECT_NAME = 'versionInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.VersionInfo") | |
def __init__(self, | |
version: str, | |
versionType: str, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.version = version | |
self.versionType = versionType | |
@classmethod | |
def construct_with_defaults(cls) -> "VersionInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.version = str() | |
self.versionType = str() | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def version(self) -> str: | |
"""Getter: The version which can indentify a job version like a commit hash or md5 hash""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: str) -> None: | |
"""Setter: The version which can indentify a job version like a commit hash or md5 hash""" | |
self._inner_dict['version'] = value | |
@property | |
def versionType(self) -> str: | |
"""Getter: The type of the version like git hash or md5 hash""" | |
return self._inner_dict.get('versionType') # type: ignore | |
@versionType.setter | |
def versionType(self, value: str) -> None: | |
"""Setter: The type of the version like git hash or md5 hash""" | |
self._inner_dict['versionType'] = value | |
class AzkabanJobTypeClass(object): | |
"""The various types of support azkaban jobs""" | |
"""The command job type is one of the basic built-in types. It runs multiple UNIX commands using java processbuilder. | |
Upon execution, Azkaban spawns off a process to run the command.""" | |
COMMAND = "COMMAND" | |
"""Runs a java program with ability to access Hadoop cluster. | |
https://azkaban.readthedocs.io/en/latest/jobTypes.html#java-job-type""" | |
HADOOP_JAVA = "HADOOP_JAVA" | |
"""In large part, this is the same Command type. The difference is its ability to talk to a Hadoop cluster | |
securely, via Hadoop tokens.""" | |
HADOOP_SHELL = "HADOOP_SHELL" | |
"""Hive type is for running Hive jobs.""" | |
HIVE = "HIVE" | |
"""Pig type is for running Pig jobs.""" | |
PIG = "PIG" | |
"""SQL is for running Presto, mysql queries etc""" | |
SQL = "SQL" | |
"""Glue type is for running AWS Glue job transforms.""" | |
GLUE = "GLUE" | |
class DatahubIngestionCheckpointClass(_Aspect): | |
"""Checkpoint of a datahub ingestion run for a given job.""" | |
ASPECT_NAME = 'datahubIngestionCheckpoint' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.datahub.DatahubIngestionCheckpoint") | |
def __init__(self, | |
timestampMillis: int, | |
pipelineName: str, | |
platformInstanceId: str, | |
config: str, | |
state: "IngestionCheckpointStateClass", | |
runId: str, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.pipelineName = pipelineName | |
self.platformInstanceId = platformInstanceId | |
self.config = config | |
self.state = state | |
self.runId = runId | |
@classmethod | |
def construct_with_defaults(cls) -> "DatahubIngestionCheckpointClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.pipelineName = str() | |
self.platformInstanceId = str() | |
self.config = str() | |
self.state = IngestionCheckpointStateClass.construct_with_defaults() | |
self.runId = str() | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def pipelineName(self) -> str: | |
"""Getter: The name of the pipeline that ran ingestion, a stable unique user provided identifier. | |
e.g. my_snowflake1-to-datahub.""" | |
return self._inner_dict.get('pipelineName') # type: ignore | |
@pipelineName.setter | |
def pipelineName(self, value: str) -> None: | |
"""Setter: The name of the pipeline that ran ingestion, a stable unique user provided identifier. | |
e.g. my_snowflake1-to-datahub.""" | |
self._inner_dict['pipelineName'] = value | |
@property | |
def platformInstanceId(self) -> str: | |
"""Getter: The id of the instance against which the ingestion pipeline ran. | |
e.g.: Bigquery project ids, MySQL hostnames etc.""" | |
return self._inner_dict.get('platformInstanceId') # type: ignore | |
@platformInstanceId.setter | |
def platformInstanceId(self, value: str) -> None: | |
"""Setter: The id of the instance against which the ingestion pipeline ran. | |
e.g.: Bigquery project ids, MySQL hostnames etc.""" | |
self._inner_dict['platformInstanceId'] = value | |
@property | |
def config(self) -> str: | |
"""Getter: Json-encoded string representation of the non-secret members of the config .""" | |
return self._inner_dict.get('config') # type: ignore | |
@config.setter | |
def config(self, value: str) -> None: | |
"""Setter: Json-encoded string representation of the non-secret members of the config .""" | |
self._inner_dict['config'] = value | |
@property | |
def state(self) -> "IngestionCheckpointStateClass": | |
"""Getter: Opaque blob of the state representation.""" | |
return self._inner_dict.get('state') # type: ignore | |
@state.setter | |
def state(self, value: "IngestionCheckpointStateClass") -> None: | |
"""Setter: Opaque blob of the state representation.""" | |
self._inner_dict['state'] = value | |
@property | |
def runId(self) -> str: | |
"""Getter: The run identifier of this job.""" | |
return self._inner_dict.get('runId') # type: ignore | |
@runId.setter | |
def runId(self, value: str) -> None: | |
"""Setter: The run identifier of this job.""" | |
self._inner_dict['runId'] = value | |
class DatahubIngestionRunSummaryClass(_Aspect): | |
"""Summary of a datahub ingestion run for a given platform.""" | |
ASPECT_NAME = 'datahubIngestionRunSummary' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.datahub.DatahubIngestionRunSummary") | |
def __init__(self, | |
timestampMillis: int, | |
pipelineName: str, | |
platformInstanceId: str, | |
runId: str, | |
runStatus: Union[str, "JobStatusClass"], | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
numWorkUnitsCommitted: Union[None, int]=None, | |
numWorkUnitsCreated: Union[None, int]=None, | |
numEvents: Union[None, int]=None, | |
numEntities: Union[None, int]=None, | |
numAspects: Union[None, int]=None, | |
numSourceAPICalls: Union[None, int]=None, | |
totalLatencySourceAPICalls: Union[None, int]=None, | |
numSinkAPICalls: Union[None, int]=None, | |
totalLatencySinkAPICalls: Union[None, int]=None, | |
numWarnings: Union[None, int]=None, | |
numErrors: Union[None, int]=None, | |
numEntitiesSkipped: Union[None, int]=None, | |
config: Union[None, str]=None, | |
custom_summary: Union[None, str]=None, | |
softwareVersion: Union[None, str]=None, | |
systemHostName: Union[None, str]=None, | |
operatingSystemName: Union[None, str]=None, | |
numProcessors: Union[None, int]=None, | |
totalMemory: Union[None, int]=None, | |
availableMemory: Union[None, int]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.pipelineName = pipelineName | |
self.platformInstanceId = platformInstanceId | |
self.runId = runId | |
self.runStatus = runStatus | |
self.numWorkUnitsCommitted = numWorkUnitsCommitted | |
self.numWorkUnitsCreated = numWorkUnitsCreated | |
self.numEvents = numEvents | |
self.numEntities = numEntities | |
self.numAspects = numAspects | |
self.numSourceAPICalls = numSourceAPICalls | |
self.totalLatencySourceAPICalls = totalLatencySourceAPICalls | |
self.numSinkAPICalls = numSinkAPICalls | |
self.totalLatencySinkAPICalls = totalLatencySinkAPICalls | |
self.numWarnings = numWarnings | |
self.numErrors = numErrors | |
self.numEntitiesSkipped = numEntitiesSkipped | |
self.config = config | |
self.custom_summary = custom_summary | |
self.softwareVersion = softwareVersion | |
self.systemHostName = systemHostName | |
self.operatingSystemName = operatingSystemName | |
self.numProcessors = numProcessors | |
self.totalMemory = totalMemory | |
self.availableMemory = availableMemory | |
@classmethod | |
def construct_with_defaults(cls) -> "DatahubIngestionRunSummaryClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.pipelineName = str() | |
self.platformInstanceId = str() | |
self.runId = str() | |
self.runStatus = JobStatusClass.STARTING | |
self.numWorkUnitsCommitted = self.RECORD_SCHEMA.fields_dict["numWorkUnitsCommitted"].default | |
self.numWorkUnitsCreated = self.RECORD_SCHEMA.fields_dict["numWorkUnitsCreated"].default | |
self.numEvents = self.RECORD_SCHEMA.fields_dict["numEvents"].default | |
self.numEntities = self.RECORD_SCHEMA.fields_dict["numEntities"].default | |
self.numAspects = self.RECORD_SCHEMA.fields_dict["numAspects"].default | |
self.numSourceAPICalls = self.RECORD_SCHEMA.fields_dict["numSourceAPICalls"].default | |
self.totalLatencySourceAPICalls = self.RECORD_SCHEMA.fields_dict["totalLatencySourceAPICalls"].default | |
self.numSinkAPICalls = self.RECORD_SCHEMA.fields_dict["numSinkAPICalls"].default | |
self.totalLatencySinkAPICalls = self.RECORD_SCHEMA.fields_dict["totalLatencySinkAPICalls"].default | |
self.numWarnings = self.RECORD_SCHEMA.fields_dict["numWarnings"].default | |
self.numErrors = self.RECORD_SCHEMA.fields_dict["numErrors"].default | |
self.numEntitiesSkipped = self.RECORD_SCHEMA.fields_dict["numEntitiesSkipped"].default | |
self.config = self.RECORD_SCHEMA.fields_dict["config"].default | |
self.custom_summary = self.RECORD_SCHEMA.fields_dict["custom_summary"].default | |
self.softwareVersion = self.RECORD_SCHEMA.fields_dict["softwareVersion"].default | |
self.systemHostName = self.RECORD_SCHEMA.fields_dict["systemHostName"].default | |
self.operatingSystemName = self.RECORD_SCHEMA.fields_dict["operatingSystemName"].default | |
self.numProcessors = self.RECORD_SCHEMA.fields_dict["numProcessors"].default | |
self.totalMemory = self.RECORD_SCHEMA.fields_dict["totalMemory"].default | |
self.availableMemory = self.RECORD_SCHEMA.fields_dict["availableMemory"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def pipelineName(self) -> str: | |
"""Getter: The name of the pipeline that ran ingestion, a stable unique user provided identifier. | |
e.g. my_snowflake1-to-datahub.""" | |
return self._inner_dict.get('pipelineName') # type: ignore | |
@pipelineName.setter | |
def pipelineName(self, value: str) -> None: | |
"""Setter: The name of the pipeline that ran ingestion, a stable unique user provided identifier. | |
e.g. my_snowflake1-to-datahub.""" | |
self._inner_dict['pipelineName'] = value | |
@property | |
def platformInstanceId(self) -> str: | |
"""Getter: The id of the instance against which the ingestion pipeline ran. | |
e.g.: Bigquery project ids, MySQL hostnames etc.""" | |
return self._inner_dict.get('platformInstanceId') # type: ignore | |
@platformInstanceId.setter | |
def platformInstanceId(self, value: str) -> None: | |
"""Setter: The id of the instance against which the ingestion pipeline ran. | |
e.g.: Bigquery project ids, MySQL hostnames etc.""" | |
self._inner_dict['platformInstanceId'] = value | |
@property | |
def runId(self) -> str: | |
"""Getter: The runId for this pipeline instance.""" | |
return self._inner_dict.get('runId') # type: ignore | |
@runId.setter | |
def runId(self, value: str) -> None: | |
"""Setter: The runId for this pipeline instance.""" | |
self._inner_dict['runId'] = value | |
@property | |
def runStatus(self) -> Union[str, "JobStatusClass"]: | |
"""Getter: Run Status - Succeeded/Skipped/Failed etc.""" | |
return self._inner_dict.get('runStatus') # type: ignore | |
@runStatus.setter | |
def runStatus(self, value: Union[str, "JobStatusClass"]) -> None: | |
"""Setter: Run Status - Succeeded/Skipped/Failed etc.""" | |
self._inner_dict['runStatus'] = value | |
@property | |
def numWorkUnitsCommitted(self) -> Union[None, int]: | |
"""Getter: The number of workunits written to sink.""" | |
return self._inner_dict.get('numWorkUnitsCommitted') # type: ignore | |
@numWorkUnitsCommitted.setter | |
def numWorkUnitsCommitted(self, value: Union[None, int]) -> None: | |
"""Setter: The number of workunits written to sink.""" | |
self._inner_dict['numWorkUnitsCommitted'] = value | |
@property | |
def numWorkUnitsCreated(self) -> Union[None, int]: | |
"""Getter: The number of workunits that are produced.""" | |
return self._inner_dict.get('numWorkUnitsCreated') # type: ignore | |
@numWorkUnitsCreated.setter | |
def numWorkUnitsCreated(self, value: Union[None, int]) -> None: | |
"""Setter: The number of workunits that are produced.""" | |
self._inner_dict['numWorkUnitsCreated'] = value | |
@property | |
def numEvents(self) -> Union[None, int]: | |
"""Getter: The number of events produced (MCE + MCP).""" | |
return self._inner_dict.get('numEvents') # type: ignore | |
@numEvents.setter | |
def numEvents(self, value: Union[None, int]) -> None: | |
"""Setter: The number of events produced (MCE + MCP).""" | |
self._inner_dict['numEvents'] = value | |
@property | |
def numEntities(self) -> Union[None, int]: | |
"""Getter: The total number of entities produced (unique entity urns).""" | |
return self._inner_dict.get('numEntities') # type: ignore | |
@numEntities.setter | |
def numEntities(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of entities produced (unique entity urns).""" | |
self._inner_dict['numEntities'] = value | |
@property | |
def numAspects(self) -> Union[None, int]: | |
"""Getter: The total number of aspects produced across all entities.""" | |
return self._inner_dict.get('numAspects') # type: ignore | |
@numAspects.setter | |
def numAspects(self, value: Union[None, int]) -> None: | |
"""Setter: The total number of aspects produced across all entities.""" | |
self._inner_dict['numAspects'] = value | |
@property | |
def numSourceAPICalls(self) -> Union[None, int]: | |
"""Getter: Total number of source API calls.""" | |
return self._inner_dict.get('numSourceAPICalls') # type: ignore | |
@numSourceAPICalls.setter | |
def numSourceAPICalls(self, value: Union[None, int]) -> None: | |
"""Setter: Total number of source API calls.""" | |
self._inner_dict['numSourceAPICalls'] = value | |
@property | |
def totalLatencySourceAPICalls(self) -> Union[None, int]: | |
"""Getter: Total latency across all source API calls.""" | |
return self._inner_dict.get('totalLatencySourceAPICalls') # type: ignore | |
@totalLatencySourceAPICalls.setter | |
def totalLatencySourceAPICalls(self, value: Union[None, int]) -> None: | |
"""Setter: Total latency across all source API calls.""" | |
self._inner_dict['totalLatencySourceAPICalls'] = value | |
@property | |
def numSinkAPICalls(self) -> Union[None, int]: | |
"""Getter: Total number of sink API calls.""" | |
return self._inner_dict.get('numSinkAPICalls') # type: ignore | |
@numSinkAPICalls.setter | |
def numSinkAPICalls(self, value: Union[None, int]) -> None: | |
"""Setter: Total number of sink API calls.""" | |
self._inner_dict['numSinkAPICalls'] = value | |
@property | |
def totalLatencySinkAPICalls(self) -> Union[None, int]: | |
"""Getter: Total latency across all sink API calls.""" | |
return self._inner_dict.get('totalLatencySinkAPICalls') # type: ignore | |
@totalLatencySinkAPICalls.setter | |
def totalLatencySinkAPICalls(self, value: Union[None, int]) -> None: | |
"""Setter: Total latency across all sink API calls.""" | |
self._inner_dict['totalLatencySinkAPICalls'] = value | |
@property | |
def numWarnings(self) -> Union[None, int]: | |
"""Getter: Number of warnings generated.""" | |
return self._inner_dict.get('numWarnings') # type: ignore | |
@numWarnings.setter | |
def numWarnings(self, value: Union[None, int]) -> None: | |
"""Setter: Number of warnings generated.""" | |
self._inner_dict['numWarnings'] = value | |
@property | |
def numErrors(self) -> Union[None, int]: | |
"""Getter: Number of errors generated.""" | |
return self._inner_dict.get('numErrors') # type: ignore | |
@numErrors.setter | |
def numErrors(self, value: Union[None, int]) -> None: | |
"""Setter: Number of errors generated.""" | |
self._inner_dict['numErrors'] = value | |
@property | |
def numEntitiesSkipped(self) -> Union[None, int]: | |
"""Getter: Number of entities skipped.""" | |
return self._inner_dict.get('numEntitiesSkipped') # type: ignore | |
@numEntitiesSkipped.setter | |
def numEntitiesSkipped(self, value: Union[None, int]) -> None: | |
"""Setter: Number of entities skipped.""" | |
self._inner_dict['numEntitiesSkipped'] = value | |
@property | |
def config(self) -> Union[None, str]: | |
"""Getter: The non-sensitive key-value pairs of the yaml config used as json string.""" | |
return self._inner_dict.get('config') # type: ignore | |
@config.setter | |
def config(self, value: Union[None, str]) -> None: | |
"""Setter: The non-sensitive key-value pairs of the yaml config used as json string.""" | |
self._inner_dict['config'] = value | |
@property | |
def custom_summary(self) -> Union[None, str]: | |
"""Getter: Custom value.""" | |
return self._inner_dict.get('custom_summary') # type: ignore | |
@custom_summary.setter | |
def custom_summary(self, value: Union[None, str]) -> None: | |
"""Setter: Custom value.""" | |
self._inner_dict['custom_summary'] = value | |
@property | |
def softwareVersion(self) -> Union[None, str]: | |
"""Getter: The software version of this ingestion.""" | |
return self._inner_dict.get('softwareVersion') # type: ignore | |
@softwareVersion.setter | |
def softwareVersion(self, value: Union[None, str]) -> None: | |
"""Setter: The software version of this ingestion.""" | |
self._inner_dict['softwareVersion'] = value | |
@property | |
def systemHostName(self) -> Union[None, str]: | |
"""Getter: The hostname the ingestion pipeline ran on.""" | |
return self._inner_dict.get('systemHostName') # type: ignore | |
@systemHostName.setter | |
def systemHostName(self, value: Union[None, str]) -> None: | |
"""Setter: The hostname the ingestion pipeline ran on.""" | |
self._inner_dict['systemHostName'] = value | |
@property | |
def operatingSystemName(self) -> Union[None, str]: | |
"""Getter: The os the ingestion pipeline ran on.""" | |
return self._inner_dict.get('operatingSystemName') # type: ignore | |
@operatingSystemName.setter | |
def operatingSystemName(self, value: Union[None, str]) -> None: | |
"""Setter: The os the ingestion pipeline ran on.""" | |
self._inner_dict['operatingSystemName'] = value | |
@property | |
def numProcessors(self) -> Union[None, int]: | |
"""Getter: The number of processors on the host the ingestion pipeline ran on.""" | |
return self._inner_dict.get('numProcessors') # type: ignore | |
@numProcessors.setter | |
def numProcessors(self, value: Union[None, int]) -> None: | |
"""Setter: The number of processors on the host the ingestion pipeline ran on.""" | |
self._inner_dict['numProcessors'] = value | |
@property | |
def totalMemory(self) -> Union[None, int]: | |
"""Getter: The total amount of memory on the host the ingestion pipeline ran on.""" | |
return self._inner_dict.get('totalMemory') # type: ignore | |
@totalMemory.setter | |
def totalMemory(self, value: Union[None, int]) -> None: | |
"""Setter: The total amount of memory on the host the ingestion pipeline ran on.""" | |
self._inner_dict['totalMemory'] = value | |
@property | |
def availableMemory(self) -> Union[None, int]: | |
"""Getter: The available memory on the host the ingestion pipeline ran on.""" | |
return self._inner_dict.get('availableMemory') # type: ignore | |
@availableMemory.setter | |
def availableMemory(self, value: Union[None, int]) -> None: | |
"""Setter: The available memory on the host the ingestion pipeline ran on.""" | |
self._inner_dict['availableMemory'] = value | |
class IngestionCheckpointStateClass(DictWrapper): | |
"""The checkpoint state object of a datahub ingestion run for a given job.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.datajob.datahub.IngestionCheckpointState") | |
def __init__(self, | |
formatVersion: str, | |
serde: str, | |
payload: Union[None, bytes]=None, | |
): | |
super().__init__() | |
self.formatVersion = formatVersion | |
self.serde = serde | |
self.payload = payload | |
@classmethod | |
def construct_with_defaults(cls) -> "IngestionCheckpointStateClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.formatVersion = str() | |
self.serde = str() | |
self.payload = self.RECORD_SCHEMA.fields_dict["payload"].default | |
@property | |
def formatVersion(self) -> str: | |
"""Getter: The version of the state format.""" | |
return self._inner_dict.get('formatVersion') # type: ignore | |
@formatVersion.setter | |
def formatVersion(self, value: str) -> None: | |
"""Setter: The version of the state format.""" | |
self._inner_dict['formatVersion'] = value | |
@property | |
def serde(self) -> str: | |
"""Getter: The serialization/deserialization protocol.""" | |
return self._inner_dict.get('serde') # type: ignore | |
@serde.setter | |
def serde(self, value: str) -> None: | |
"""Setter: The serialization/deserialization protocol.""" | |
self._inner_dict['serde'] = value | |
@property | |
def payload(self) -> Union[None, bytes]: | |
"""Getter: Opaque blob of the state representation.""" | |
return self._inner_dict.get('payload') # type: ignore | |
@payload.setter | |
def payload(self, value: Union[None, bytes]) -> None: | |
"""Setter: Opaque blob of the state representation.""" | |
self._inner_dict['payload'] = value | |
class DataPlatformInfoClass(_Aspect): | |
"""Information about a data platform""" | |
ASPECT_NAME = 'dataPlatformInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataplatform.DataPlatformInfo") | |
def __init__(self, | |
name: str, | |
type: Union[str, "PlatformTypeClass"], | |
datasetNameDelimiter: str, | |
displayName: Union[None, str]=None, | |
logoUrl: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.displayName = displayName | |
self.type = type | |
self.datasetNameDelimiter = datasetNameDelimiter | |
self.logoUrl = logoUrl | |
@classmethod | |
def construct_with_defaults(cls) -> "DataPlatformInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.displayName = self.RECORD_SCHEMA.fields_dict["displayName"].default | |
self.type = PlatformTypeClass.FILE_SYSTEM | |
self.datasetNameDelimiter = str() | |
self.logoUrl = self.RECORD_SCHEMA.fields_dict["logoUrl"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the data platform""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the data platform""" | |
self._inner_dict['name'] = value | |
@property | |
def displayName(self) -> Union[None, str]: | |
"""Getter: The name that will be used for displaying a platform type.""" | |
return self._inner_dict.get('displayName') # type: ignore | |
@displayName.setter | |
def displayName(self, value: Union[None, str]) -> None: | |
"""Setter: The name that will be used for displaying a platform type.""" | |
self._inner_dict['displayName'] = value | |
@property | |
def type(self) -> Union[str, "PlatformTypeClass"]: | |
"""Getter: Platform type this data platform describes""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "PlatformTypeClass"]) -> None: | |
"""Setter: Platform type this data platform describes""" | |
self._inner_dict['type'] = value | |
@property | |
def datasetNameDelimiter(self) -> str: | |
"""Getter: The delimiter in the dataset names on the data platform, e.g. '/' for HDFS and '.' for Oracle""" | |
return self._inner_dict.get('datasetNameDelimiter') # type: ignore | |
@datasetNameDelimiter.setter | |
def datasetNameDelimiter(self, value: str) -> None: | |
"""Setter: The delimiter in the dataset names on the data platform, e.g. '/' for HDFS and '.' for Oracle""" | |
self._inner_dict['datasetNameDelimiter'] = value | |
@property | |
def logoUrl(self) -> Union[None, str]: | |
"""Getter: The URL for a logo associated with the platform""" | |
return self._inner_dict.get('logoUrl') # type: ignore | |
@logoUrl.setter | |
def logoUrl(self, value: Union[None, str]) -> None: | |
"""Setter: The URL for a logo associated with the platform""" | |
self._inner_dict['logoUrl'] = value | |
class PlatformTypeClass(object): | |
"""Platform types available at LinkedIn""" | |
"""Value for a file system, e.g. hdfs""" | |
FILE_SYSTEM = "FILE_SYSTEM" | |
"""Value for a key value store, e.g. espresso, voldemort""" | |
KEY_VALUE_STORE = "KEY_VALUE_STORE" | |
"""Value for a message broker, e.g. kafka""" | |
MESSAGE_BROKER = "MESSAGE_BROKER" | |
"""Value for an object store, e.g. ambry""" | |
OBJECT_STORE = "OBJECT_STORE" | |
"""Value for an OLAP datastore, e.g. pinot""" | |
OLAP_DATASTORE = "OLAP_DATASTORE" | |
"""Value for other platforms, e.g salesforce, dovetail""" | |
OTHERS = "OTHERS" | |
"""Value for a query engine, e.g. presto""" | |
QUERY_ENGINE = "QUERY_ENGINE" | |
"""Value for a relational database, e.g. oracle, mysql""" | |
RELATIONAL_DB = "RELATIONAL_DB" | |
"""Value for a search engine, e.g seas""" | |
SEARCH_ENGINE = "SEARCH_ENGINE" | |
class DataProcessInfoClass(_Aspect): | |
"""The inputs and outputs of this data process""" | |
ASPECT_NAME = 'dataProcessInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInfo") | |
def __init__(self, | |
inputs: Union[None, List[str]]=None, | |
outputs: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.inputs = inputs | |
self.outputs = outputs | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.inputs = self.RECORD_SCHEMA.fields_dict["inputs"].default | |
self.outputs = self.RECORD_SCHEMA.fields_dict["outputs"].default | |
@property | |
def inputs(self) -> Union[None, List[str]]: | |
"""Getter: the inputs of the data process""" | |
return self._inner_dict.get('inputs') # type: ignore | |
@inputs.setter | |
def inputs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: the inputs of the data process""" | |
self._inner_dict['inputs'] = value | |
@property | |
def outputs(self) -> Union[None, List[str]]: | |
"""Getter: the outputs of the data process""" | |
return self._inner_dict.get('outputs') # type: ignore | |
@outputs.setter | |
def outputs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: the outputs of the data process""" | |
self._inner_dict['outputs'] = value | |
class DataProcessInstanceInputClass(_Aspect): | |
"""Information about the inputs datasets of a Data process""" | |
ASPECT_NAME = 'dataProcessInstanceInput' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceInput") | |
def __init__(self, | |
inputs: List[str], | |
): | |
super().__init__() | |
self.inputs = inputs | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceInputClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.inputs = list() | |
@property | |
def inputs(self) -> List[str]: | |
"""Getter: Input datasets to be consumed""" | |
return self._inner_dict.get('inputs') # type: ignore | |
@inputs.setter | |
def inputs(self, value: List[str]) -> None: | |
"""Setter: Input datasets to be consumed""" | |
self._inner_dict['inputs'] = value | |
class DataProcessInstanceOutputClass(_Aspect): | |
"""Information about the outputs of a Data process""" | |
ASPECT_NAME = 'dataProcessInstanceOutput' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceOutput") | |
def __init__(self, | |
outputs: List[str], | |
): | |
super().__init__() | |
self.outputs = outputs | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceOutputClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.outputs = list() | |
@property | |
def outputs(self) -> List[str]: | |
"""Getter: Output datasets to be produced""" | |
return self._inner_dict.get('outputs') # type: ignore | |
@outputs.setter | |
def outputs(self, value: List[str]) -> None: | |
"""Setter: Output datasets to be produced""" | |
self._inner_dict['outputs'] = value | |
class DataProcessInstancePropertiesClass(_Aspect): | |
"""The inputs and outputs of this data process""" | |
ASPECT_NAME = 'dataProcessInstanceProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceProperties") | |
def __init__(self, | |
name: str, | |
created: "AuditStampClass", | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
type: Union[None, Union[str, "DataProcessTypeClass"]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.name = name | |
self.type = type | |
self.created = created | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstancePropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.name = str() | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
self.created = AuditStampClass.construct_with_defaults() | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Process name""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Process name""" | |
self._inner_dict['name'] = value | |
@property | |
def type(self) -> Union[None, Union[str, "DataProcessTypeClass"]]: | |
"""Getter: Process type""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[None, Union[str, "DataProcessTypeClass"]]) -> None: | |
"""Setter: Process type""" | |
self._inner_dict['type'] = value | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who reported the lineage and when""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who reported the lineage and when""" | |
self._inner_dict['created'] = value | |
class DataProcessInstanceRelationshipsClass(_Aspect): | |
"""Information about Data process relationships""" | |
ASPECT_NAME = 'dataProcessInstanceRelationships' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRelationships") | |
def __init__(self, | |
upstreamInstances: List[str], | |
parentTemplate: Union[None, str]=None, | |
parentInstance: Union[None, str]=None, | |
): | |
super().__init__() | |
self.parentTemplate = parentTemplate | |
self.parentInstance = parentInstance | |
self.upstreamInstances = upstreamInstances | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceRelationshipsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.parentTemplate = self.RECORD_SCHEMA.fields_dict["parentTemplate"].default | |
self.parentInstance = self.RECORD_SCHEMA.fields_dict["parentInstance"].default | |
self.upstreamInstances = list() | |
@property | |
def parentTemplate(self) -> Union[None, str]: | |
"""Getter: The parent entity whose run instance it is""" | |
return self._inner_dict.get('parentTemplate') # type: ignore | |
@parentTemplate.setter | |
def parentTemplate(self, value: Union[None, str]) -> None: | |
"""Setter: The parent entity whose run instance it is""" | |
self._inner_dict['parentTemplate'] = value | |
@property | |
def parentInstance(self) -> Union[None, str]: | |
"""Getter: The parent DataProcessInstance where it belongs to. | |
If it is a Airflow Task then it should belong to an Airflow Dag run as well | |
which will be another DataProcessInstance""" | |
return self._inner_dict.get('parentInstance') # type: ignore | |
@parentInstance.setter | |
def parentInstance(self, value: Union[None, str]) -> None: | |
"""Setter: The parent DataProcessInstance where it belongs to. | |
If it is a Airflow Task then it should belong to an Airflow Dag run as well | |
which will be another DataProcessInstance""" | |
self._inner_dict['parentInstance'] = value | |
@property | |
def upstreamInstances(self) -> List[str]: | |
"""Getter: Input DataProcessInstance which triggered this dataprocess instance""" | |
return self._inner_dict.get('upstreamInstances') # type: ignore | |
@upstreamInstances.setter | |
def upstreamInstances(self, value: List[str]) -> None: | |
"""Setter: Input DataProcessInstance which triggered this dataprocess instance""" | |
self._inner_dict['upstreamInstances'] = value | |
class DataProcessInstanceRunEventClass(_Aspect): | |
"""An event representing the current status of data process run. | |
DataProcessRunEvent should be used for reporting the status of a dataProcess' run.""" | |
ASPECT_NAME = 'dataProcessInstanceRunEvent' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRunEvent") | |
def __init__(self, | |
timestampMillis: int, | |
status: Union[str, "DataProcessRunStatusClass"], | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
externalUrl: Union[None, str]=None, | |
attempt: Union[None, int]=None, | |
result: Union[None, "DataProcessInstanceRunResultClass"]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.externalUrl = externalUrl | |
self.status = status | |
self.attempt = attempt | |
self.result = result | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceRunEventClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.status = DataProcessRunStatusClass.STARTED | |
self.attempt = self.RECORD_SCHEMA.fields_dict["attempt"].default | |
self.result = self.RECORD_SCHEMA.fields_dict["result"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def status(self) -> Union[str, "DataProcessRunStatusClass"]: | |
# No docs available. | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: Union[str, "DataProcessRunStatusClass"]) -> None: | |
# No docs available. | |
self._inner_dict['status'] = value | |
@property | |
def attempt(self) -> Union[None, int]: | |
"""Getter: Return the try number that this Instance Run is in""" | |
return self._inner_dict.get('attempt') # type: ignore | |
@attempt.setter | |
def attempt(self, value: Union[None, int]) -> None: | |
"""Setter: Return the try number that this Instance Run is in""" | |
self._inner_dict['attempt'] = value | |
@property | |
def result(self) -> Union[None, "DataProcessInstanceRunResultClass"]: | |
"""Getter: The final result of the Data Processing run.""" | |
return self._inner_dict.get('result') # type: ignore | |
@result.setter | |
def result(self, value: Union[None, "DataProcessInstanceRunResultClass"]) -> None: | |
"""Setter: The final result of the Data Processing run.""" | |
self._inner_dict['result'] = value | |
class DataProcessInstanceRunResultClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRunResult") | |
def __init__(self, | |
type: Union[str, "RunResultTypeClass"], | |
nativeResultType: str, | |
): | |
super().__init__() | |
self.type = type | |
self.nativeResultType = nativeResultType | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceRunResultClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = RunResultTypeClass.SUCCESS | |
self.nativeResultType = str() | |
@property | |
def type(self) -> Union[str, "RunResultTypeClass"]: | |
"""Getter: The final result, e.g. SUCCESS, FAILURE, SKIPPED, or UP_FOR_RETRY.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "RunResultTypeClass"]) -> None: | |
"""Setter: The final result, e.g. SUCCESS, FAILURE, SKIPPED, or UP_FOR_RETRY.""" | |
self._inner_dict['type'] = value | |
@property | |
def nativeResultType(self) -> str: | |
"""Getter: It identifies the system where the native result comes from like Airflow, Azkaban, etc..""" | |
return self._inner_dict.get('nativeResultType') # type: ignore | |
@nativeResultType.setter | |
def nativeResultType(self, value: str) -> None: | |
"""Setter: It identifies the system where the native result comes from like Airflow, Azkaban, etc..""" | |
self._inner_dict['nativeResultType'] = value | |
class DataProcessRunStatusClass(object): | |
# No docs available. | |
"""The status where the Data processing run is in.""" | |
STARTED = "STARTED" | |
COMPLETE = "COMPLETE" | |
class DataProcessTypeClass(object): | |
# No docs available. | |
BATCH_SCHEDULED = "BATCH_SCHEDULED" | |
BATCH_AD_HOC = "BATCH_AD_HOC" | |
STREAMING = "STREAMING" | |
class RunResultTypeClass(object): | |
# No docs available. | |
""" The Run Succeeded""" | |
SUCCESS = "SUCCESS" | |
""" The Run Failed""" | |
FAILURE = "FAILURE" | |
""" The Run Skipped""" | |
SKIPPED = "SKIPPED" | |
""" The Run Failed and will Retry""" | |
UP_FOR_RETRY = "UP_FOR_RETRY" | |
class DatasetDeprecationClass(_Aspect): | |
"""Dataset deprecation status | |
Deprecated! This aspect is deprecated in favor of the more-general-purpose 'Deprecation' aspect.""" | |
ASPECT_NAME = 'datasetDeprecation' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetDeprecation") | |
def __init__(self, | |
deprecated: bool, | |
note: str, | |
decommissionTime: Union[None, int]=None, | |
actor: Union[None, str]=None, | |
): | |
super().__init__() | |
self.deprecated = deprecated | |
self.decommissionTime = decommissionTime | |
self.note = note | |
self.actor = actor | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetDeprecationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.deprecated = bool() | |
self.decommissionTime = self.RECORD_SCHEMA.fields_dict["decommissionTime"].default | |
self.note = str() | |
self.actor = self.RECORD_SCHEMA.fields_dict["actor"].default | |
@property | |
def deprecated(self) -> bool: | |
"""Getter: Whether the dataset is deprecated by owner.""" | |
return self._inner_dict.get('deprecated') # type: ignore | |
@deprecated.setter | |
def deprecated(self, value: bool) -> None: | |
"""Setter: Whether the dataset is deprecated by owner.""" | |
self._inner_dict['deprecated'] = value | |
@property | |
def decommissionTime(self) -> Union[None, int]: | |
"""Getter: The time user plan to decommission this dataset.""" | |
return self._inner_dict.get('decommissionTime') # type: ignore | |
@decommissionTime.setter | |
def decommissionTime(self, value: Union[None, int]) -> None: | |
"""Setter: The time user plan to decommission this dataset.""" | |
self._inner_dict['decommissionTime'] = value | |
@property | |
def note(self) -> str: | |
"""Getter: Additional information about the dataset deprecation plan, such as the wiki, doc, RB.""" | |
return self._inner_dict.get('note') # type: ignore | |
@note.setter | |
def note(self, value: str) -> None: | |
"""Setter: Additional information about the dataset deprecation plan, such as the wiki, doc, RB.""" | |
self._inner_dict['note'] = value | |
@property | |
def actor(self) -> Union[None, str]: | |
"""Getter: The corpuser URN which will be credited for modifying this deprecation content.""" | |
return self._inner_dict.get('actor') # type: ignore | |
@actor.setter | |
def actor(self, value: Union[None, str]) -> None: | |
"""Setter: The corpuser URN which will be credited for modifying this deprecation content.""" | |
self._inner_dict['actor'] = value | |
class DatasetFieldMappingClass(DictWrapper): | |
"""Representation of mapping between fields in source dataset to the field in destination dataset""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetFieldMapping") | |
def __init__(self, | |
created: "AuditStampClass", | |
transformation: Union[Union[str, "TransformationTypeClass"], "UDFTransformerClass"], | |
sourceFields: List[str], | |
destinationField: str, | |
): | |
super().__init__() | |
self.created = created | |
self.transformation = transformation | |
self.sourceFields = sourceFields | |
self.destinationField = destinationField | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetFieldMappingClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = AuditStampClass.construct_with_defaults() | |
self.transformation = TransformationTypeClass.BLACKBOX | |
self.sourceFields = list() | |
self.destinationField = str() | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who reported the field mapping and when""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who reported the field mapping and when""" | |
self._inner_dict['created'] = value | |
@property | |
def transformation(self) -> Union[Union[str, "TransformationTypeClass"], "UDFTransformerClass"]: | |
"""Getter: Transfomration function between the fields involved""" | |
return self._inner_dict.get('transformation') # type: ignore | |
@transformation.setter | |
def transformation(self, value: Union[Union[str, "TransformationTypeClass"], "UDFTransformerClass"]) -> None: | |
"""Setter: Transfomration function between the fields involved""" | |
self._inner_dict['transformation'] = value | |
@property | |
def sourceFields(self) -> List[str]: | |
"""Getter: Source fields from which the fine grained lineage is derived""" | |
return self._inner_dict.get('sourceFields') # type: ignore | |
@sourceFields.setter | |
def sourceFields(self, value: List[str]) -> None: | |
"""Setter: Source fields from which the fine grained lineage is derived""" | |
self._inner_dict['sourceFields'] = value | |
@property | |
def destinationField(self) -> str: | |
"""Getter: Destination field which is derived from source fields""" | |
return self._inner_dict.get('destinationField') # type: ignore | |
@destinationField.setter | |
def destinationField(self, value: str) -> None: | |
"""Setter: Destination field which is derived from source fields""" | |
self._inner_dict['destinationField'] = value | |
class DatasetFieldProfileClass(DictWrapper): | |
"""Stats corresponding to fields in a dataset""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetFieldProfile") | |
def __init__(self, | |
fieldPath: str, | |
uniqueCount: Union[None, int]=None, | |
uniqueProportion: Union[None, float]=None, | |
nullCount: Union[None, int]=None, | |
nullProportion: Union[None, float]=None, | |
min: Union[None, str]=None, | |
max: Union[None, str]=None, | |
mean: Union[None, str]=None, | |
median: Union[None, str]=None, | |
stdev: Union[None, str]=None, | |
quantiles: Union[None, List["QuantileClass"]]=None, | |
distinctValueFrequencies: Union[None, List["ValueFrequencyClass"]]=None, | |
histogram: Union[None, "HistogramClass"]=None, | |
sampleValues: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.fieldPath = fieldPath | |
self.uniqueCount = uniqueCount | |
self.uniqueProportion = uniqueProportion | |
self.nullCount = nullCount | |
self.nullProportion = nullProportion | |
self.min = min | |
self.max = max | |
self.mean = mean | |
self.median = median | |
self.stdev = stdev | |
self.quantiles = quantiles | |
self.distinctValueFrequencies = distinctValueFrequencies | |
self.histogram = histogram | |
self.sampleValues = sampleValues | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetFieldProfileClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldPath = str() | |
self.uniqueCount = self.RECORD_SCHEMA.fields_dict["uniqueCount"].default | |
self.uniqueProportion = self.RECORD_SCHEMA.fields_dict["uniqueProportion"].default | |
self.nullCount = self.RECORD_SCHEMA.fields_dict["nullCount"].default | |
self.nullProportion = self.RECORD_SCHEMA.fields_dict["nullProportion"].default | |
self.min = self.RECORD_SCHEMA.fields_dict["min"].default | |
self.max = self.RECORD_SCHEMA.fields_dict["max"].default | |
self.mean = self.RECORD_SCHEMA.fields_dict["mean"].default | |
self.median = self.RECORD_SCHEMA.fields_dict["median"].default | |
self.stdev = self.RECORD_SCHEMA.fields_dict["stdev"].default | |
self.quantiles = self.RECORD_SCHEMA.fields_dict["quantiles"].default | |
self.distinctValueFrequencies = self.RECORD_SCHEMA.fields_dict["distinctValueFrequencies"].default | |
self.histogram = self.RECORD_SCHEMA.fields_dict["histogram"].default | |
self.sampleValues = self.RECORD_SCHEMA.fields_dict["sampleValues"].default | |
@property | |
def fieldPath(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('fieldPath') # type: ignore | |
@fieldPath.setter | |
def fieldPath(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['fieldPath'] = value | |
@property | |
def uniqueCount(self) -> Union[None, int]: | |
# No docs available. | |
return self._inner_dict.get('uniqueCount') # type: ignore | |
@uniqueCount.setter | |
def uniqueCount(self, value: Union[None, int]) -> None: | |
# No docs available. | |
self._inner_dict['uniqueCount'] = value | |
@property | |
def uniqueProportion(self) -> Union[None, float]: | |
# No docs available. | |
return self._inner_dict.get('uniqueProportion') # type: ignore | |
@uniqueProportion.setter | |
def uniqueProportion(self, value: Union[None, float]) -> None: | |
# No docs available. | |
self._inner_dict['uniqueProportion'] = value | |
@property | |
def nullCount(self) -> Union[None, int]: | |
# No docs available. | |
return self._inner_dict.get('nullCount') # type: ignore | |
@nullCount.setter | |
def nullCount(self, value: Union[None, int]) -> None: | |
# No docs available. | |
self._inner_dict['nullCount'] = value | |
@property | |
def nullProportion(self) -> Union[None, float]: | |
# No docs available. | |
return self._inner_dict.get('nullProportion') # type: ignore | |
@nullProportion.setter | |
def nullProportion(self, value: Union[None, float]) -> None: | |
# No docs available. | |
self._inner_dict['nullProportion'] = value | |
@property | |
def min(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('min') # type: ignore | |
@min.setter | |
def min(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['min'] = value | |
@property | |
def max(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('max') # type: ignore | |
@max.setter | |
def max(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['max'] = value | |
@property | |
def mean(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('mean') # type: ignore | |
@mean.setter | |
def mean(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['mean'] = value | |
@property | |
def median(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('median') # type: ignore | |
@median.setter | |
def median(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['median'] = value | |
@property | |
def stdev(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('stdev') # type: ignore | |
@stdev.setter | |
def stdev(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['stdev'] = value | |
@property | |
def quantiles(self) -> Union[None, List["QuantileClass"]]: | |
# No docs available. | |
return self._inner_dict.get('quantiles') # type: ignore | |
@quantiles.setter | |
def quantiles(self, value: Union[None, List["QuantileClass"]]) -> None: | |
# No docs available. | |
self._inner_dict['quantiles'] = value | |
@property | |
def distinctValueFrequencies(self) -> Union[None, List["ValueFrequencyClass"]]: | |
# No docs available. | |
return self._inner_dict.get('distinctValueFrequencies') # type: ignore | |
@distinctValueFrequencies.setter | |
def distinctValueFrequencies(self, value: Union[None, List["ValueFrequencyClass"]]) -> None: | |
# No docs available. | |
self._inner_dict['distinctValueFrequencies'] = value | |
@property | |
def histogram(self) -> Union[None, "HistogramClass"]: | |
# No docs available. | |
return self._inner_dict.get('histogram') # type: ignore | |
@histogram.setter | |
def histogram(self, value: Union[None, "HistogramClass"]) -> None: | |
# No docs available. | |
self._inner_dict['histogram'] = value | |
@property | |
def sampleValues(self) -> Union[None, List[str]]: | |
# No docs available. | |
return self._inner_dict.get('sampleValues') # type: ignore | |
@sampleValues.setter | |
def sampleValues(self, value: Union[None, List[str]]) -> None: | |
# No docs available. | |
self._inner_dict['sampleValues'] = value | |
class DatasetFieldUsageCountsClass(DictWrapper): | |
"""Records field-level usage counts for a given dataset""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetFieldUsageCounts") | |
def __init__(self, | |
fieldPath: str, | |
count: int, | |
): | |
super().__init__() | |
self.fieldPath = fieldPath | |
self.count = count | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetFieldUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldPath = str() | |
self.count = int() | |
@property | |
def fieldPath(self) -> str: | |
"""Getter: The name of the field.""" | |
return self._inner_dict.get('fieldPath') # type: ignore | |
@fieldPath.setter | |
def fieldPath(self, value: str) -> None: | |
"""Setter: The name of the field.""" | |
self._inner_dict['fieldPath'] = value | |
@property | |
def count(self) -> int: | |
"""Getter: Number of times the field has been used.""" | |
return self._inner_dict.get('count') # type: ignore | |
@count.setter | |
def count(self, value: int) -> None: | |
"""Setter: Number of times the field has been used.""" | |
self._inner_dict['count'] = value | |
class DatasetLineageTypeClass(object): | |
"""The various types of supported dataset lineage""" | |
"""Direct copy without modification""" | |
COPY = "COPY" | |
"""Transformed data with modification (format or content change)""" | |
TRANSFORMED = "TRANSFORMED" | |
"""Represents a view defined on the sources e.g. Hive view defined on underlying hive tables or a Hive table pointing to a HDFS dataset or DALI view defined on multiple sources""" | |
VIEW = "VIEW" | |
class DatasetProfileClass(_Aspect): | |
"""Stats corresponding to datasets""" | |
ASPECT_NAME = 'datasetProfile' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetProfile") | |
def __init__(self, | |
timestampMillis: int, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
rowCount: Union[None, int]=None, | |
columnCount: Union[None, int]=None, | |
fieldProfiles: Union[None, List["DatasetFieldProfileClass"]]=None, | |
sizeInBytes: Union[None, int]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.rowCount = rowCount | |
self.columnCount = columnCount | |
self.fieldProfiles = fieldProfiles | |
self.sizeInBytes = sizeInBytes | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetProfileClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.rowCount = self.RECORD_SCHEMA.fields_dict["rowCount"].default | |
self.columnCount = self.RECORD_SCHEMA.fields_dict["columnCount"].default | |
self.fieldProfiles = self.RECORD_SCHEMA.fields_dict["fieldProfiles"].default | |
self.sizeInBytes = self.RECORD_SCHEMA.fields_dict["sizeInBytes"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def rowCount(self) -> Union[None, int]: | |
# No docs available. | |
return self._inner_dict.get('rowCount') # type: ignore | |
@rowCount.setter | |
def rowCount(self, value: Union[None, int]) -> None: | |
# No docs available. | |
self._inner_dict['rowCount'] = value | |
@property | |
def columnCount(self) -> Union[None, int]: | |
# No docs available. | |
return self._inner_dict.get('columnCount') # type: ignore | |
@columnCount.setter | |
def columnCount(self, value: Union[None, int]) -> None: | |
# No docs available. | |
self._inner_dict['columnCount'] = value | |
@property | |
def fieldProfiles(self) -> Union[None, List["DatasetFieldProfileClass"]]: | |
# No docs available. | |
return self._inner_dict.get('fieldProfiles') # type: ignore | |
@fieldProfiles.setter | |
def fieldProfiles(self, value: Union[None, List["DatasetFieldProfileClass"]]) -> None: | |
# No docs available. | |
self._inner_dict['fieldProfiles'] = value | |
@property | |
def sizeInBytes(self) -> Union[None, int]: | |
"""Getter: Storage size in bytes""" | |
return self._inner_dict.get('sizeInBytes') # type: ignore | |
@sizeInBytes.setter | |
def sizeInBytes(self, value: Union[None, int]) -> None: | |
"""Setter: Storage size in bytes""" | |
self._inner_dict['sizeInBytes'] = value | |
class DatasetPropertiesClass(_Aspect): | |
"""Properties associated with a Dataset""" | |
ASPECT_NAME = 'datasetProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetProperties") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
name: Union[None, str]=None, | |
qualifiedName: Union[None, str]=None, | |
description: Union[None, str]=None, | |
uri: Union[None, str]=None, | |
tags: Optional[List[str]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.name = name | |
self.qualifiedName = qualifiedName | |
self.description = description | |
self.uri = uri | |
if tags is None: | |
# default: [] | |
self.tags = list() | |
else: | |
self.tags = tags | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.name = self.RECORD_SCHEMA.fields_dict["name"].default | |
self.qualifiedName = self.RECORD_SCHEMA.fields_dict["qualifiedName"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.uri = self.RECORD_SCHEMA.fields_dict["uri"].default | |
self.tags = list() | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def name(self) -> Union[None, str]: | |
"""Getter: Display name of the Dataset""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: Union[None, str]) -> None: | |
"""Setter: Display name of the Dataset""" | |
self._inner_dict['name'] = value | |
@property | |
def qualifiedName(self) -> Union[None, str]: | |
"""Getter: Fully-qualified name of the Dataset""" | |
return self._inner_dict.get('qualifiedName') # type: ignore | |
@qualifiedName.setter | |
def qualifiedName(self, value: Union[None, str]) -> None: | |
"""Setter: Fully-qualified name of the Dataset""" | |
self._inner_dict['qualifiedName'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the dataset""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the dataset""" | |
self._inner_dict['description'] = value | |
@property | |
def uri(self) -> Union[None, str]: | |
"""Getter: The abstracted URI such as hdfs:///data/tracking/PageViewEvent, file:///dir/file_name. Uri should not include any environment specific properties. Some datasets might not have a standardized uri, which makes this field optional (i.e. kafka topic).""" | |
return self._inner_dict.get('uri') # type: ignore | |
@uri.setter | |
def uri(self, value: Union[None, str]) -> None: | |
"""Setter: The abstracted URI such as hdfs:///data/tracking/PageViewEvent, file:///dir/file_name. Uri should not include any environment specific properties. Some datasets might not have a standardized uri, which makes this field optional (i.e. kafka topic).""" | |
self._inner_dict['uri'] = value | |
@property | |
def tags(self) -> List[str]: | |
"""Getter: [Legacy] Unstructured tags for the dataset. Structured tags can be applied via the `GlobalTags` aspect.""" | |
return self._inner_dict.get('tags') # type: ignore | |
@tags.setter | |
def tags(self, value: List[str]) -> None: | |
"""Setter: [Legacy] Unstructured tags for the dataset. Structured tags can be applied via the `GlobalTags` aspect.""" | |
self._inner_dict['tags'] = value | |
class DatasetUpstreamLineageClass(_Aspect): | |
"""Fine Grained upstream lineage for fields in a dataset""" | |
ASPECT_NAME = 'datasetUpstreamLineage' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetUpstreamLineage") | |
def __init__(self, | |
fieldMappings: List["DatasetFieldMappingClass"], | |
): | |
super().__init__() | |
self.fieldMappings = fieldMappings | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetUpstreamLineageClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldMappings = list() | |
@property | |
def fieldMappings(self) -> List["DatasetFieldMappingClass"]: | |
"""Getter: Upstream to downstream field level lineage mappings""" | |
return self._inner_dict.get('fieldMappings') # type: ignore | |
@fieldMappings.setter | |
def fieldMappings(self, value: List["DatasetFieldMappingClass"]) -> None: | |
"""Setter: Upstream to downstream field level lineage mappings""" | |
self._inner_dict['fieldMappings'] = value | |
class DatasetUsageStatisticsClass(_Aspect): | |
"""Stats corresponding to dataset's usage.""" | |
ASPECT_NAME = 'datasetUsageStatistics' | |
ASPECT_TYPE = 'timeseries' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetUsageStatistics") | |
def __init__(self, | |
timestampMillis: int, | |
eventGranularity: Union[None, "TimeWindowSizeClass"]=None, | |
partitionSpec: Optional[Union["PartitionSpecClass", None]]=None, | |
messageId: Union[None, str]=None, | |
uniqueUserCount: Union[None, int]=None, | |
totalSqlQueries: Union[None, int]=None, | |
topSqlQueries: Union[None, List[str]]=None, | |
userCounts: Union[None, List["DatasetUserUsageCountsClass"]]=None, | |
fieldCounts: Union[None, List["DatasetFieldUsageCountsClass"]]=None, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
self.eventGranularity = eventGranularity | |
if partitionSpec is None: | |
# default: {'partition': 'FULL_TABLE_SNAPSHOT', 'type': 'FULL_TABLE', 'timePartition': None} | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
else: | |
self.partitionSpec = partitionSpec | |
self.messageId = messageId | |
self.uniqueUserCount = uniqueUserCount | |
self.totalSqlQueries = totalSqlQueries | |
self.topSqlQueries = topSqlQueries | |
self.userCounts = userCounts | |
self.fieldCounts = fieldCounts | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetUsageStatisticsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
self.eventGranularity = self.RECORD_SCHEMA.fields_dict["eventGranularity"].default | |
self.partitionSpec = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["partitionSpec"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["partitionSpec"].type) | |
self.messageId = self.RECORD_SCHEMA.fields_dict["messageId"].default | |
self.uniqueUserCount = self.RECORD_SCHEMA.fields_dict["uniqueUserCount"].default | |
self.totalSqlQueries = self.RECORD_SCHEMA.fields_dict["totalSqlQueries"].default | |
self.topSqlQueries = self.RECORD_SCHEMA.fields_dict["topSqlQueries"].default | |
self.userCounts = self.RECORD_SCHEMA.fields_dict["userCounts"].default | |
self.fieldCounts = self.RECORD_SCHEMA.fields_dict["fieldCounts"].default | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
@property | |
def eventGranularity(self) -> Union[None, "TimeWindowSizeClass"]: | |
"""Getter: Granularity of the event if applicable""" | |
return self._inner_dict.get('eventGranularity') # type: ignore | |
@eventGranularity.setter | |
def eventGranularity(self, value: Union[None, "TimeWindowSizeClass"]) -> None: | |
"""Setter: Granularity of the event if applicable""" | |
self._inner_dict['eventGranularity'] = value | |
@property | |
def partitionSpec(self) -> Union["PartitionSpecClass", None]: | |
"""Getter: The optional partition specification.""" | |
return self._inner_dict.get('partitionSpec') # type: ignore | |
@partitionSpec.setter | |
def partitionSpec(self, value: Union["PartitionSpecClass", None]) -> None: | |
"""Setter: The optional partition specification.""" | |
self._inner_dict['partitionSpec'] = value | |
@property | |
def messageId(self) -> Union[None, str]: | |
"""Getter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
return self._inner_dict.get('messageId') # type: ignore | |
@messageId.setter | |
def messageId(self, value: Union[None, str]) -> None: | |
"""Setter: The optional messageId, if provided serves as a custom user-defined unique identifier for an aspect value.""" | |
self._inner_dict['messageId'] = value | |
@property | |
def uniqueUserCount(self) -> Union[None, int]: | |
"""Getter: Unique user count""" | |
return self._inner_dict.get('uniqueUserCount') # type: ignore | |
@uniqueUserCount.setter | |
def uniqueUserCount(self, value: Union[None, int]) -> None: | |
"""Setter: Unique user count""" | |
self._inner_dict['uniqueUserCount'] = value | |
@property | |
def totalSqlQueries(self) -> Union[None, int]: | |
"""Getter: Total SQL query count""" | |
return self._inner_dict.get('totalSqlQueries') # type: ignore | |
@totalSqlQueries.setter | |
def totalSqlQueries(self, value: Union[None, int]) -> None: | |
"""Setter: Total SQL query count""" | |
self._inner_dict['totalSqlQueries'] = value | |
@property | |
def topSqlQueries(self) -> Union[None, List[str]]: | |
"""Getter: Frequent SQL queries; mostly makes sense for datasets in SQL databases""" | |
return self._inner_dict.get('topSqlQueries') # type: ignore | |
@topSqlQueries.setter | |
def topSqlQueries(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Frequent SQL queries; mostly makes sense for datasets in SQL databases""" | |
self._inner_dict['topSqlQueries'] = value | |
@property | |
def userCounts(self) -> Union[None, List["DatasetUserUsageCountsClass"]]: | |
"""Getter: Users within this bucket, with frequency counts""" | |
return self._inner_dict.get('userCounts') # type: ignore | |
@userCounts.setter | |
def userCounts(self, value: Union[None, List["DatasetUserUsageCountsClass"]]) -> None: | |
"""Setter: Users within this bucket, with frequency counts""" | |
self._inner_dict['userCounts'] = value | |
@property | |
def fieldCounts(self) -> Union[None, List["DatasetFieldUsageCountsClass"]]: | |
"""Getter: Field-level usage stats""" | |
return self._inner_dict.get('fieldCounts') # type: ignore | |
@fieldCounts.setter | |
def fieldCounts(self, value: Union[None, List["DatasetFieldUsageCountsClass"]]) -> None: | |
"""Setter: Field-level usage stats""" | |
self._inner_dict['fieldCounts'] = value | |
class DatasetUserUsageCountsClass(DictWrapper): | |
"""Records a single user's usage counts for a given resource""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.DatasetUserUsageCounts") | |
def __init__(self, | |
user: str, | |
count: int, | |
userEmail: Union[None, str]=None, | |
): | |
super().__init__() | |
self.user = user | |
self.count = count | |
self.userEmail = userEmail | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetUserUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.user = str() | |
self.count = int() | |
self.userEmail = self.RECORD_SCHEMA.fields_dict["userEmail"].default | |
@property | |
def user(self) -> str: | |
"""Getter: The unique id of the user.""" | |
return self._inner_dict.get('user') # type: ignore | |
@user.setter | |
def user(self, value: str) -> None: | |
"""Setter: The unique id of the user.""" | |
self._inner_dict['user'] = value | |
@property | |
def count(self) -> int: | |
"""Getter: Number of times the dataset has been used by the user.""" | |
return self._inner_dict.get('count') # type: ignore | |
@count.setter | |
def count(self, value: int) -> None: | |
"""Setter: Number of times the dataset has been used by the user.""" | |
self._inner_dict['count'] = value | |
@property | |
def userEmail(self) -> Union[None, str]: | |
"""Getter: If user_email is set, we attempt to resolve the user's urn upon ingest""" | |
return self._inner_dict.get('userEmail') # type: ignore | |
@userEmail.setter | |
def userEmail(self, value: Union[None, str]) -> None: | |
"""Setter: If user_email is set, we attempt to resolve the user's urn upon ingest""" | |
self._inner_dict['userEmail'] = value | |
class EditableDatasetPropertiesClass(_Aspect): | |
"""EditableDatasetProperties stores editable changes made to dataset properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines""" | |
ASPECT_NAME = 'editableDatasetProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.EditableDatasetProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableDatasetPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the dataset""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the dataset""" | |
self._inner_dict['description'] = value | |
class FineGrainedLineageClass(DictWrapper): | |
"""A fine-grained lineage from upstream fields/datasets to downstream field(s)""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.FineGrainedLineage") | |
def __init__(self, | |
upstreamType: Union[str, "FineGrainedLineageUpstreamTypeClass"], | |
downstreamType: Union[str, "FineGrainedLineageDownstreamTypeClass"], | |
upstreams: Union[None, List[str]]=None, | |
downstreams: Union[None, List[str]]=None, | |
transformOperation: Union[None, str]=None, | |
confidenceScore: Optional[float]=None, | |
): | |
super().__init__() | |
self.upstreamType = upstreamType | |
self.upstreams = upstreams | |
self.downstreamType = downstreamType | |
self.downstreams = downstreams | |
self.transformOperation = transformOperation | |
if confidenceScore is None: | |
# default: 1.0 | |
self.confidenceScore = self.RECORD_SCHEMA.fields_dict["confidenceScore"].default | |
else: | |
self.confidenceScore = confidenceScore | |
@classmethod | |
def construct_with_defaults(cls) -> "FineGrainedLineageClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.upstreamType = FineGrainedLineageUpstreamTypeClass.FIELD_SET | |
self.upstreams = self.RECORD_SCHEMA.fields_dict["upstreams"].default | |
self.downstreamType = FineGrainedLineageDownstreamTypeClass.FIELD | |
self.downstreams = self.RECORD_SCHEMA.fields_dict["downstreams"].default | |
self.transformOperation = self.RECORD_SCHEMA.fields_dict["transformOperation"].default | |
self.confidenceScore = self.RECORD_SCHEMA.fields_dict["confidenceScore"].default | |
@property | |
def upstreamType(self) -> Union[str, "FineGrainedLineageUpstreamTypeClass"]: | |
"""Getter: The type of upstream entity""" | |
return self._inner_dict.get('upstreamType') # type: ignore | |
@upstreamType.setter | |
def upstreamType(self, value: Union[str, "FineGrainedLineageUpstreamTypeClass"]) -> None: | |
"""Setter: The type of upstream entity""" | |
self._inner_dict['upstreamType'] = value | |
@property | |
def upstreams(self) -> Union[None, List[str]]: | |
"""Getter: Upstream entities in the lineage""" | |
return self._inner_dict.get('upstreams') # type: ignore | |
@upstreams.setter | |
def upstreams(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Upstream entities in the lineage""" | |
self._inner_dict['upstreams'] = value | |
@property | |
def downstreamType(self) -> Union[str, "FineGrainedLineageDownstreamTypeClass"]: | |
"""Getter: The type of downstream field(s)""" | |
return self._inner_dict.get('downstreamType') # type: ignore | |
@downstreamType.setter | |
def downstreamType(self, value: Union[str, "FineGrainedLineageDownstreamTypeClass"]) -> None: | |
"""Setter: The type of downstream field(s)""" | |
self._inner_dict['downstreamType'] = value | |
@property | |
def downstreams(self) -> Union[None, List[str]]: | |
"""Getter: Downstream fields in the lineage""" | |
return self._inner_dict.get('downstreams') # type: ignore | |
@downstreams.setter | |
def downstreams(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Downstream fields in the lineage""" | |
self._inner_dict['downstreams'] = value | |
@property | |
def transformOperation(self) -> Union[None, str]: | |
"""Getter: The transform operation applied to the upstream entities to produce the downstream field(s)""" | |
return self._inner_dict.get('transformOperation') # type: ignore | |
@transformOperation.setter | |
def transformOperation(self, value: Union[None, str]) -> None: | |
"""Setter: The transform operation applied to the upstream entities to produce the downstream field(s)""" | |
self._inner_dict['transformOperation'] = value | |
@property | |
def confidenceScore(self) -> float: | |
"""Getter: The confidence in this lineage between 0 (low confidence) and 1 (high confidence)""" | |
return self._inner_dict.get('confidenceScore') # type: ignore | |
@confidenceScore.setter | |
def confidenceScore(self, value: float) -> None: | |
"""Setter: The confidence in this lineage between 0 (low confidence) and 1 (high confidence)""" | |
self._inner_dict['confidenceScore'] = value | |
class FineGrainedLineageDownstreamTypeClass(object): | |
"""The type of downstream field(s) in a fine-grained lineage""" | |
""" Indicates that the lineage is for a single, specific, downstream field""" | |
FIELD = "FIELD" | |
""" Indicates that the lineage is for a set of downstream fields""" | |
FIELD_SET = "FIELD_SET" | |
class FineGrainedLineageUpstreamTypeClass(object): | |
"""The type of upstream entity in a fine-grained lineage""" | |
""" Indicates that this lineage is originating from upstream field(s)""" | |
FIELD_SET = "FIELD_SET" | |
""" Indicates that this lineage is originating from upstream dataset(s)""" | |
DATASET = "DATASET" | |
""" Indicates that there is no upstream lineage i.e. the downstream field is not a derived field""" | |
NONE = "NONE" | |
class HistogramClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.Histogram") | |
def __init__(self, | |
boundaries: List[str], | |
heights: List[float], | |
): | |
super().__init__() | |
self.boundaries = boundaries | |
self.heights = heights | |
@classmethod | |
def construct_with_defaults(cls) -> "HistogramClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.boundaries = list() | |
self.heights = list() | |
@property | |
def boundaries(self) -> List[str]: | |
# No docs available. | |
return self._inner_dict.get('boundaries') # type: ignore | |
@boundaries.setter | |
def boundaries(self, value: List[str]) -> None: | |
# No docs available. | |
self._inner_dict['boundaries'] = value | |
@property | |
def heights(self) -> List[float]: | |
# No docs available. | |
return self._inner_dict.get('heights') # type: ignore | |
@heights.setter | |
def heights(self, value: List[float]) -> None: | |
# No docs available. | |
self._inner_dict['heights'] = value | |
class QuantileClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.Quantile") | |
def __init__(self, | |
quantile: str, | |
value: str, | |
): | |
super().__init__() | |
self.quantile = quantile | |
self.value = value | |
@classmethod | |
def construct_with_defaults(cls) -> "QuantileClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.quantile = str() | |
self.value = str() | |
@property | |
def quantile(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('quantile') # type: ignore | |
@quantile.setter | |
def quantile(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['quantile'] = value | |
@property | |
def value(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['value'] = value | |
class UpstreamClass(DictWrapper): | |
"""Upstream lineage information about a dataset including the source reporting the lineage""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.Upstream") | |
def __init__(self, | |
dataset: str, | |
type: Union[str, "DatasetLineageTypeClass"], | |
auditStamp: Optional["AuditStampClass"]=None, | |
): | |
super().__init__() | |
if auditStamp is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.auditStamp = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["auditStamp"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["auditStamp"].type) | |
else: | |
self.auditStamp = auditStamp | |
self.dataset = dataset | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "UpstreamClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.auditStamp = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["auditStamp"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["auditStamp"].type) | |
self.dataset = str() | |
self.type = DatasetLineageTypeClass.COPY | |
@property | |
def auditStamp(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who reported the lineage and when. | |
WARNING: this field is deprecated and may be removed in a future release.""" | |
return self._inner_dict.get('auditStamp') # type: ignore | |
@auditStamp.setter | |
def auditStamp(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who reported the lineage and when. | |
WARNING: this field is deprecated and may be removed in a future release.""" | |
self._inner_dict['auditStamp'] = value | |
@property | |
def dataset(self) -> str: | |
"""Getter: The upstream dataset the lineage points to""" | |
return self._inner_dict.get('dataset') # type: ignore | |
@dataset.setter | |
def dataset(self, value: str) -> None: | |
"""Setter: The upstream dataset the lineage points to""" | |
self._inner_dict['dataset'] = value | |
@property | |
def type(self) -> Union[str, "DatasetLineageTypeClass"]: | |
"""Getter: The type of the lineage""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "DatasetLineageTypeClass"]) -> None: | |
"""Setter: The type of the lineage""" | |
self._inner_dict['type'] = value | |
class UpstreamLineageClass(_Aspect): | |
"""Upstream lineage of a dataset""" | |
ASPECT_NAME = 'upstreamLineage' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.UpstreamLineage") | |
def __init__(self, | |
upstreams: List["UpstreamClass"], | |
fineGrainedLineages: Union[None, List["FineGrainedLineageClass"]]=None, | |
): | |
super().__init__() | |
self.upstreams = upstreams | |
self.fineGrainedLineages = fineGrainedLineages | |
@classmethod | |
def construct_with_defaults(cls) -> "UpstreamLineageClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.upstreams = list() | |
self.fineGrainedLineages = self.RECORD_SCHEMA.fields_dict["fineGrainedLineages"].default | |
@property | |
def upstreams(self) -> List["UpstreamClass"]: | |
"""Getter: List of upstream dataset lineage information""" | |
return self._inner_dict.get('upstreams') # type: ignore | |
@upstreams.setter | |
def upstreams(self, value: List["UpstreamClass"]) -> None: | |
"""Setter: List of upstream dataset lineage information""" | |
self._inner_dict['upstreams'] = value | |
@property | |
def fineGrainedLineages(self) -> Union[None, List["FineGrainedLineageClass"]]: | |
"""Getter: List of fine-grained lineage information, including field-level lineage""" | |
return self._inner_dict.get('fineGrainedLineages') # type: ignore | |
@fineGrainedLineages.setter | |
def fineGrainedLineages(self, value: Union[None, List["FineGrainedLineageClass"]]) -> None: | |
"""Setter: List of fine-grained lineage information, including field-level lineage""" | |
self._inner_dict['fineGrainedLineages'] = value | |
class ValueFrequencyClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.ValueFrequency") | |
def __init__(self, | |
value: str, | |
frequency: int, | |
): | |
super().__init__() | |
self.value = value | |
self.frequency = frequency | |
@classmethod | |
def construct_with_defaults(cls) -> "ValueFrequencyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.value = str() | |
self.frequency = int() | |
@property | |
def value(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['value'] = value | |
@property | |
def frequency(self) -> int: | |
# No docs available. | |
return self._inner_dict.get('frequency') # type: ignore | |
@frequency.setter | |
def frequency(self, value: int) -> None: | |
# No docs available. | |
self._inner_dict['frequency'] = value | |
class ViewPropertiesClass(_Aspect): | |
"""Details about a View. | |
e.g. Gets activated when subTypes is view""" | |
ASPECT_NAME = 'viewProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataset.ViewProperties") | |
def __init__(self, | |
materialized: bool, | |
viewLogic: str, | |
viewLanguage: str, | |
): | |
super().__init__() | |
self.materialized = materialized | |
self.viewLogic = viewLogic | |
self.viewLanguage = viewLanguage | |
@classmethod | |
def construct_with_defaults(cls) -> "ViewPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.materialized = bool() | |
self.viewLogic = str() | |
self.viewLanguage = str() | |
@property | |
def materialized(self) -> bool: | |
"""Getter: Whether the view is materialized""" | |
return self._inner_dict.get('materialized') # type: ignore | |
@materialized.setter | |
def materialized(self, value: bool) -> None: | |
"""Setter: Whether the view is materialized""" | |
self._inner_dict['materialized'] = value | |
@property | |
def viewLogic(self) -> str: | |
"""Getter: The view logic""" | |
return self._inner_dict.get('viewLogic') # type: ignore | |
@viewLogic.setter | |
def viewLogic(self, value: str) -> None: | |
"""Setter: The view logic""" | |
self._inner_dict['viewLogic'] = value | |
@property | |
def viewLanguage(self) -> str: | |
"""Getter: The view logic language / dialect""" | |
return self._inner_dict.get('viewLanguage') # type: ignore | |
@viewLanguage.setter | |
def viewLanguage(self, value: str) -> None: | |
"""Setter: The view logic language / dialect""" | |
self._inner_dict['viewLanguage'] = value | |
class DomainPropertiesClass(_Aspect): | |
"""Information about a Domain""" | |
ASPECT_NAME = 'domainProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.domain.DomainProperties") | |
def __init__(self, | |
name: str, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "DomainPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Display name of the Domain""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Display name of the Domain""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the Domain""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the Domain""" | |
self._inner_dict['description'] = value | |
class DomainsClass(_Aspect): | |
"""Links from an Asset to its Domains""" | |
ASPECT_NAME = 'domains' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.domain.Domains") | |
def __init__(self, | |
domains: List[str], | |
): | |
super().__init__() | |
self.domains = domains | |
@classmethod | |
def construct_with_defaults(cls) -> "DomainsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.domains = list() | |
@property | |
def domains(self) -> List[str]: | |
"""Getter: The Domains attached to an Asset""" | |
return self._inner_dict.get('domains') # type: ignore | |
@domains.setter | |
def domains(self, value: List[str]) -> None: | |
"""Setter: The Domains attached to an Asset""" | |
self._inner_dict['domains'] = value | |
class ChangeTypeClass(object): | |
"""Descriptor for a change action""" | |
"""insert if not exists. otherwise update""" | |
UPSERT = "UPSERT" | |
"""NOT SUPPORTED YET | |
insert if not exists. otherwise fail""" | |
CREATE = "CREATE" | |
"""NOT SUPPORTED YET | |
update if exists. otherwise fail""" | |
UPDATE = "UPDATE" | |
"""NOT SUPPORTED YET | |
delete action""" | |
DELETE = "DELETE" | |
"""NOT SUPPORTED YET | |
patch the changes instead of full replace""" | |
PATCH = "PATCH" | |
"""Restate an aspect, eg. in a index refresh.""" | |
RESTATE = "RESTATE" | |
class ExecutionRequestInputClass(_Aspect): | |
"""An request to execution some remote logic or action. | |
TODO: Determine who is responsible for emitting execution request success or failure. Executor?""" | |
ASPECT_NAME = 'dataHubExecutionRequestInput' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.ExecutionRequestInput") | |
def __init__(self, | |
task: str, | |
args: Dict[str, str], | |
executorId: str, | |
source: "ExecutionRequestSourceClass", | |
requestedAt: int, | |
): | |
super().__init__() | |
self.task = task | |
self.args = args | |
self.executorId = executorId | |
self.source = source | |
self.requestedAt = requestedAt | |
@classmethod | |
def construct_with_defaults(cls) -> "ExecutionRequestInputClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.task = str() | |
self.args = dict() | |
self.executorId = str() | |
self.source = ExecutionRequestSourceClass.construct_with_defaults() | |
self.requestedAt = int() | |
@property | |
def task(self) -> str: | |
"""Getter: The name of the task to execute, for example RUN_INGEST""" | |
return self._inner_dict.get('task') # type: ignore | |
@task.setter | |
def task(self, value: str) -> None: | |
"""Setter: The name of the task to execute, for example RUN_INGEST""" | |
self._inner_dict['task'] = value | |
@property | |
def args(self) -> Dict[str, str]: | |
"""Getter: Arguments provided to the task""" | |
return self._inner_dict.get('args') # type: ignore | |
@args.setter | |
def args(self, value: Dict[str, str]) -> None: | |
"""Setter: Arguments provided to the task""" | |
self._inner_dict['args'] = value | |
@property | |
def executorId(self) -> str: | |
"""Getter: Advanced: specify a specific executor to route the request to. If none is provided, a "default" executor is used.""" | |
return self._inner_dict.get('executorId') # type: ignore | |
@executorId.setter | |
def executorId(self, value: str) -> None: | |
"""Setter: Advanced: specify a specific executor to route the request to. If none is provided, a "default" executor is used.""" | |
self._inner_dict['executorId'] = value | |
@property | |
def source(self) -> "ExecutionRequestSourceClass": | |
"""Getter: Source which created the execution request""" | |
return self._inner_dict.get('source') # type: ignore | |
@source.setter | |
def source(self, value: "ExecutionRequestSourceClass") -> None: | |
"""Setter: Source which created the execution request""" | |
self._inner_dict['source'] = value | |
@property | |
def requestedAt(self) -> int: | |
"""Getter: Time at which the execution request input was created""" | |
return self._inner_dict.get('requestedAt') # type: ignore | |
@requestedAt.setter | |
def requestedAt(self, value: int) -> None: | |
"""Setter: Time at which the execution request input was created""" | |
self._inner_dict['requestedAt'] = value | |
class ExecutionRequestResultClass(_Aspect): | |
"""The result of an execution request""" | |
ASPECT_NAME = 'dataHubExecutionRequestResult' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.ExecutionRequestResult") | |
def __init__(self, | |
status: str, | |
report: Union[None, str]=None, | |
structuredReport: Union[None, "StructuredExecutionReportClass"]=None, | |
startTimeMs: Union[None, int]=None, | |
durationMs: Union[None, int]=None, | |
): | |
super().__init__() | |
self.status = status | |
self.report = report | |
self.structuredReport = structuredReport | |
self.startTimeMs = startTimeMs | |
self.durationMs = durationMs | |
@classmethod | |
def construct_with_defaults(cls) -> "ExecutionRequestResultClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.status = str() | |
self.report = self.RECORD_SCHEMA.fields_dict["report"].default | |
self.structuredReport = self.RECORD_SCHEMA.fields_dict["structuredReport"].default | |
self.startTimeMs = self.RECORD_SCHEMA.fields_dict["startTimeMs"].default | |
self.durationMs = self.RECORD_SCHEMA.fields_dict["durationMs"].default | |
@property | |
def status(self) -> str: | |
"""Getter: The status of the execution request""" | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: str) -> None: | |
"""Setter: The status of the execution request""" | |
self._inner_dict['status'] = value | |
@property | |
def report(self) -> Union[None, str]: | |
"""Getter: The pretty-printed execution report.""" | |
return self._inner_dict.get('report') # type: ignore | |
@report.setter | |
def report(self, value: Union[None, str]) -> None: | |
"""Setter: The pretty-printed execution report.""" | |
self._inner_dict['report'] = value | |
@property | |
def structuredReport(self) -> Union[None, "StructuredExecutionReportClass"]: | |
"""Getter: A structured report if available.""" | |
return self._inner_dict.get('structuredReport') # type: ignore | |
@structuredReport.setter | |
def structuredReport(self, value: Union[None, "StructuredExecutionReportClass"]) -> None: | |
"""Setter: A structured report if available.""" | |
self._inner_dict['structuredReport'] = value | |
@property | |
def startTimeMs(self) -> Union[None, int]: | |
"""Getter: Time at which the request was created""" | |
return self._inner_dict.get('startTimeMs') # type: ignore | |
@startTimeMs.setter | |
def startTimeMs(self, value: Union[None, int]) -> None: | |
"""Setter: Time at which the request was created""" | |
self._inner_dict['startTimeMs'] = value | |
@property | |
def durationMs(self) -> Union[None, int]: | |
"""Getter: Duration in milliseconds""" | |
return self._inner_dict.get('durationMs') # type: ignore | |
@durationMs.setter | |
def durationMs(self, value: Union[None, int]) -> None: | |
"""Setter: Duration in milliseconds""" | |
self._inner_dict['durationMs'] = value | |
class ExecutionRequestSignalClass(_Aspect): | |
"""An signal sent to a running execution request""" | |
ASPECT_NAME = 'dataHubExecutionRequestSignal' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.ExecutionRequestSignal") | |
def __init__(self, | |
signal: str, | |
createdAt: "AuditStampClass", | |
executorId: Union[None, str]=None, | |
): | |
super().__init__() | |
self.signal = signal | |
self.executorId = executorId | |
self.createdAt = createdAt | |
@classmethod | |
def construct_with_defaults(cls) -> "ExecutionRequestSignalClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.signal = str() | |
self.executorId = self.RECORD_SCHEMA.fields_dict["executorId"].default | |
self.createdAt = AuditStampClass.construct_with_defaults() | |
@property | |
def signal(self) -> str: | |
"""Getter: The signal to issue, e.g. KILL""" | |
return self._inner_dict.get('signal') # type: ignore | |
@signal.setter | |
def signal(self, value: str) -> None: | |
"""Setter: The signal to issue, e.g. KILL""" | |
self._inner_dict['signal'] = value | |
@property | |
def executorId(self) -> Union[None, str]: | |
"""Getter: Advanced: specify a specific executor to route the request to. If none is provided, a "default" executor is used.""" | |
return self._inner_dict.get('executorId') # type: ignore | |
@executorId.setter | |
def executorId(self, value: Union[None, str]) -> None: | |
"""Setter: Advanced: specify a specific executor to route the request to. If none is provided, a "default" executor is used.""" | |
self._inner_dict['executorId'] = value | |
@property | |
def createdAt(self) -> "AuditStampClass": | |
"""Getter: Audit Stamp""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit Stamp""" | |
self._inner_dict['createdAt'] = value | |
class ExecutionRequestSourceClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.ExecutionRequestSource") | |
def __init__(self, | |
type: str, | |
ingestionSource: Union[None, str]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.ingestionSource = ingestionSource | |
@classmethod | |
def construct_with_defaults(cls) -> "ExecutionRequestSourceClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = str() | |
self.ingestionSource = self.RECORD_SCHEMA.fields_dict["ingestionSource"].default | |
@property | |
def type(self) -> str: | |
"""Getter: The type of the execution request source, e.g. INGESTION_SOURCE""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: str) -> None: | |
"""Setter: The type of the execution request source, e.g. INGESTION_SOURCE""" | |
self._inner_dict['type'] = value | |
@property | |
def ingestionSource(self) -> Union[None, str]: | |
"""Getter: The urn of the ingestion source associated with the ingestion request. Present if type is INGESTION_SOURCE""" | |
return self._inner_dict.get('ingestionSource') # type: ignore | |
@ingestionSource.setter | |
def ingestionSource(self, value: Union[None, str]) -> None: | |
"""Setter: The urn of the ingestion source associated with the ingestion request. Present if type is INGESTION_SOURCE""" | |
self._inner_dict['ingestionSource'] = value | |
class StructuredExecutionReportClass(DictWrapper): | |
"""A flexible carrier for structured results of an execution request. | |
The goal is to allow for free flow of structured responses from execution tasks to the orchestrator or observer. | |
The full spectrum of different execution report types is not intended to be modeled by this object.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.execution.StructuredExecutionReport") | |
def __init__(self, | |
type: str, | |
serializedValue: str, | |
contentType: str, | |
): | |
super().__init__() | |
self.type = type | |
self.serializedValue = serializedValue | |
self.contentType = contentType | |
@classmethod | |
def construct_with_defaults(cls) -> "StructuredExecutionReportClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = str() | |
self.serializedValue = str() | |
self.contentType = str() | |
@property | |
def type(self) -> str: | |
"""Getter: The type of the structured report. (e.g. INGESTION_REPORT, TEST_CONNECTION_REPORT, etc.)""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: str) -> None: | |
"""Setter: The type of the structured report. (e.g. INGESTION_REPORT, TEST_CONNECTION_REPORT, etc.)""" | |
self._inner_dict['type'] = value | |
@property | |
def serializedValue(self) -> str: | |
"""Getter: The serialized value of the structured report""" | |
return self._inner_dict.get('serializedValue') # type: ignore | |
@serializedValue.setter | |
def serializedValue(self, value: str) -> None: | |
"""Setter: The serialized value of the structured report""" | |
self._inner_dict['serializedValue'] = value | |
@property | |
def contentType(self) -> str: | |
"""Getter: The content-type of the serialized value (e.g. application/json, application/json;gzip etc.)""" | |
return self._inner_dict.get('contentType') # type: ignore | |
@contentType.setter | |
def contentType(self, value: str) -> None: | |
"""Setter: The content-type of the serialized value (e.g. application/json, application/json;gzip etc.)""" | |
self._inner_dict['contentType'] = value | |
class GlossaryNodeInfoClass(_Aspect): | |
"""Properties associated with a GlossaryNode""" | |
ASPECT_NAME = 'glossaryNodeInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.glossary.GlossaryNodeInfo") | |
def __init__(self, | |
definition: str, | |
parentNode: Union[None, str]=None, | |
name: Union[None, str]=None, | |
id: Union[None, str]=None, | |
): | |
super().__init__() | |
self.definition = definition | |
self.parentNode = parentNode | |
self.name = name | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryNodeInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.definition = str() | |
self.parentNode = self.RECORD_SCHEMA.fields_dict["parentNode"].default | |
self.name = self.RECORD_SCHEMA.fields_dict["name"].default | |
self.id = self.RECORD_SCHEMA.fields_dict["id"].default | |
@property | |
def definition(self) -> str: | |
"""Getter: Definition of business node""" | |
return self._inner_dict.get('definition') # type: ignore | |
@definition.setter | |
def definition(self, value: str) -> None: | |
"""Setter: Definition of business node""" | |
self._inner_dict['definition'] = value | |
@property | |
def parentNode(self) -> Union[None, str]: | |
"""Getter: Parent node of the glossary term""" | |
return self._inner_dict.get('parentNode') # type: ignore | |
@parentNode.setter | |
def parentNode(self, value: Union[None, str]) -> None: | |
"""Setter: Parent node of the glossary term""" | |
self._inner_dict['parentNode'] = value | |
@property | |
def name(self) -> Union[None, str]: | |
"""Getter: Display name of the node""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: Union[None, str]) -> None: | |
"""Setter: Display name of the node""" | |
self._inner_dict['name'] = value | |
@property | |
def id(self) -> Union[None, str]: | |
"""Getter: Optional id for the GlossaryNode""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: Union[None, str]) -> None: | |
"""Setter: Optional id for the GlossaryNode""" | |
self._inner_dict['id'] = value | |
class GlossaryRelatedTermsClass(_Aspect): | |
"""Has A / Is A lineage information about a glossary Term reporting the lineage""" | |
ASPECT_NAME = 'glossaryRelatedTerms' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.glossary.GlossaryRelatedTerms") | |
def __init__(self, | |
isRelatedTerms: Union[None, List[str]]=None, | |
hasRelatedTerms: Union[None, List[str]]=None, | |
values: Union[None, List[str]]=None, | |
relatedTerms: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.isRelatedTerms = isRelatedTerms | |
self.hasRelatedTerms = hasRelatedTerms | |
self.values = values | |
self.relatedTerms = relatedTerms | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryRelatedTermsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.isRelatedTerms = self.RECORD_SCHEMA.fields_dict["isRelatedTerms"].default | |
self.hasRelatedTerms = self.RECORD_SCHEMA.fields_dict["hasRelatedTerms"].default | |
self.values = self.RECORD_SCHEMA.fields_dict["values"].default | |
self.relatedTerms = self.RECORD_SCHEMA.fields_dict["relatedTerms"].default | |
@property | |
def isRelatedTerms(self) -> Union[None, List[str]]: | |
"""Getter: The relationship Is A with glossary term""" | |
return self._inner_dict.get('isRelatedTerms') # type: ignore | |
@isRelatedTerms.setter | |
def isRelatedTerms(self, value: Union[None, List[str]]) -> None: | |
"""Setter: The relationship Is A with glossary term""" | |
self._inner_dict['isRelatedTerms'] = value | |
@property | |
def hasRelatedTerms(self) -> Union[None, List[str]]: | |
"""Getter: The relationship Has A with glossary term""" | |
return self._inner_dict.get('hasRelatedTerms') # type: ignore | |
@hasRelatedTerms.setter | |
def hasRelatedTerms(self, value: Union[None, List[str]]) -> None: | |
"""Setter: The relationship Has A with glossary term""" | |
self._inner_dict['hasRelatedTerms'] = value | |
@property | |
def values(self) -> Union[None, List[str]]: | |
"""Getter: The relationship Has Value with glossary term. | |
These are fixed value a term has. For example a ColorEnum where RED, GREEN and YELLOW are fixed values.""" | |
return self._inner_dict.get('values') # type: ignore | |
@values.setter | |
def values(self, value: Union[None, List[str]]) -> None: | |
"""Setter: The relationship Has Value with glossary term. | |
These are fixed value a term has. For example a ColorEnum where RED, GREEN and YELLOW are fixed values.""" | |
self._inner_dict['values'] = value | |
@property | |
def relatedTerms(self) -> Union[None, List[str]]: | |
"""Getter: The relationship isRelatedTo with glossary term""" | |
return self._inner_dict.get('relatedTerms') # type: ignore | |
@relatedTerms.setter | |
def relatedTerms(self, value: Union[None, List[str]]) -> None: | |
"""Setter: The relationship isRelatedTo with glossary term""" | |
self._inner_dict['relatedTerms'] = value | |
class GlossaryTermInfoClass(_Aspect): | |
"""Properties associated with a GlossaryTerm""" | |
ASPECT_NAME = 'glossaryTermInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.glossary.GlossaryTermInfo") | |
def __init__(self, | |
definition: str, | |
termSource: str, | |
customProperties: Optional[Dict[str, str]]=None, | |
id: Union[None, str]=None, | |
name: Union[None, str]=None, | |
parentNode: Union[None, str]=None, | |
sourceRef: Union[None, str]=None, | |
sourceUrl: Union[None, str]=None, | |
rawSchema: Union[None, str]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.id = id | |
self.name = name | |
self.definition = definition | |
self.parentNode = parentNode | |
self.termSource = termSource | |
self.sourceRef = sourceRef | |
self.sourceUrl = sourceUrl | |
self.rawSchema = rawSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryTermInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.id = self.RECORD_SCHEMA.fields_dict["id"].default | |
self.name = self.RECORD_SCHEMA.fields_dict["name"].default | |
self.definition = str() | |
self.parentNode = self.RECORD_SCHEMA.fields_dict["parentNode"].default | |
self.termSource = str() | |
self.sourceRef = self.RECORD_SCHEMA.fields_dict["sourceRef"].default | |
self.sourceUrl = self.RECORD_SCHEMA.fields_dict["sourceUrl"].default | |
self.rawSchema = self.RECORD_SCHEMA.fields_dict["rawSchema"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def id(self) -> Union[None, str]: | |
"""Getter: Optional id for the term""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: Union[None, str]) -> None: | |
"""Setter: Optional id for the term""" | |
self._inner_dict['id'] = value | |
@property | |
def name(self) -> Union[None, str]: | |
"""Getter: Display name of the term""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: Union[None, str]) -> None: | |
"""Setter: Display name of the term""" | |
self._inner_dict['name'] = value | |
@property | |
def definition(self) -> str: | |
"""Getter: Definition of business term.""" | |
return self._inner_dict.get('definition') # type: ignore | |
@definition.setter | |
def definition(self, value: str) -> None: | |
"""Setter: Definition of business term.""" | |
self._inner_dict['definition'] = value | |
@property | |
def parentNode(self) -> Union[None, str]: | |
"""Getter: Parent node of the glossary term""" | |
return self._inner_dict.get('parentNode') # type: ignore | |
@parentNode.setter | |
def parentNode(self, value: Union[None, str]) -> None: | |
"""Setter: Parent node of the glossary term""" | |
self._inner_dict['parentNode'] = value | |
@property | |
def termSource(self) -> str: | |
"""Getter: Source of the Business Term (INTERNAL or EXTERNAL) with default value as INTERNAL""" | |
return self._inner_dict.get('termSource') # type: ignore | |
@termSource.setter | |
def termSource(self, value: str) -> None: | |
"""Setter: Source of the Business Term (INTERNAL or EXTERNAL) with default value as INTERNAL""" | |
self._inner_dict['termSource'] = value | |
@property | |
def sourceRef(self) -> Union[None, str]: | |
"""Getter: External Reference to the business-term""" | |
return self._inner_dict.get('sourceRef') # type: ignore | |
@sourceRef.setter | |
def sourceRef(self, value: Union[None, str]) -> None: | |
"""Setter: External Reference to the business-term""" | |
self._inner_dict['sourceRef'] = value | |
@property | |
def sourceUrl(self) -> Union[None, str]: | |
"""Getter: The abstracted URL such as https://spec.edmcouncil.org/fibo/ontology/FBC/FinancialInstruments/FinancialInstruments/CashInstrument.""" | |
return self._inner_dict.get('sourceUrl') # type: ignore | |
@sourceUrl.setter | |
def sourceUrl(self, value: Union[None, str]) -> None: | |
"""Setter: The abstracted URL such as https://spec.edmcouncil.org/fibo/ontology/FBC/FinancialInstruments/FinancialInstruments/CashInstrument.""" | |
self._inner_dict['sourceUrl'] = value | |
@property | |
def rawSchema(self) -> Union[None, str]: | |
"""Getter: Schema definition of the glossary term""" | |
return self._inner_dict.get('rawSchema') # type: ignore | |
@rawSchema.setter | |
def rawSchema(self, value: Union[None, str]) -> None: | |
"""Setter: Schema definition of the glossary term""" | |
self._inner_dict['rawSchema'] = value | |
class CorpGroupEditableInfoClass(_Aspect): | |
"""Group information that can be edited from UI""" | |
ASPECT_NAME = 'corpGroupEditableInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpGroupEditableInfo") | |
def __init__(self, | |
description: Union[None, str]=None, | |
pictureLink: Optional[str]=None, | |
slack: Union[None, str]=None, | |
email: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
if pictureLink is None: | |
# default: 'https://raw.githubusercontent.com/datahub-project/datahub/master/datahub-web-react/src/images/default_avatar.png' | |
self.pictureLink = self.RECORD_SCHEMA.fields_dict["pictureLink"].default | |
else: | |
self.pictureLink = pictureLink | |
self.slack = slack | |
self.email = email | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpGroupEditableInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.pictureLink = self.RECORD_SCHEMA.fields_dict["pictureLink"].default | |
self.slack = self.RECORD_SCHEMA.fields_dict["slack"].default | |
self.email = self.RECORD_SCHEMA.fields_dict["email"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: A description of the group""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: A description of the group""" | |
self._inner_dict['description'] = value | |
@property | |
def pictureLink(self) -> str: | |
"""Getter: A URL which points to a picture which user wants to set as the photo for the group""" | |
return self._inner_dict.get('pictureLink') # type: ignore | |
@pictureLink.setter | |
def pictureLink(self, value: str) -> None: | |
"""Setter: A URL which points to a picture which user wants to set as the photo for the group""" | |
self._inner_dict['pictureLink'] = value | |
@property | |
def slack(self) -> Union[None, str]: | |
"""Getter: Slack channel for the group""" | |
return self._inner_dict.get('slack') # type: ignore | |
@slack.setter | |
def slack(self, value: Union[None, str]) -> None: | |
"""Setter: Slack channel for the group""" | |
self._inner_dict['slack'] = value | |
@property | |
def email(self) -> Union[None, str]: | |
"""Getter: Email address to contact the group""" | |
return self._inner_dict.get('email') # type: ignore | |
@email.setter | |
def email(self, value: Union[None, str]) -> None: | |
"""Setter: Email address to contact the group""" | |
self._inner_dict['email'] = value | |
class CorpGroupInfoClass(_Aspect): | |
"""Information about a Corp Group ingested from a third party source""" | |
ASPECT_NAME = 'corpGroupInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpGroupInfo") | |
def __init__(self, | |
admins: List[str], | |
members: List[str], | |
groups: List[str], | |
displayName: Union[None, str]=None, | |
email: Union[None, str]=None, | |
description: Union[None, str]=None, | |
slack: Union[None, str]=None, | |
): | |
super().__init__() | |
self.displayName = displayName | |
self.email = email | |
self.admins = admins | |
self.members = members | |
self.groups = groups | |
self.description = description | |
self.slack = slack | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpGroupInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.displayName = self.RECORD_SCHEMA.fields_dict["displayName"].default | |
self.email = self.RECORD_SCHEMA.fields_dict["email"].default | |
self.admins = list() | |
self.members = list() | |
self.groups = list() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.slack = self.RECORD_SCHEMA.fields_dict["slack"].default | |
@property | |
def displayName(self) -> Union[None, str]: | |
"""Getter: The name of the group.""" | |
return self._inner_dict.get('displayName') # type: ignore | |
@displayName.setter | |
def displayName(self, value: Union[None, str]) -> None: | |
"""Setter: The name of the group.""" | |
self._inner_dict['displayName'] = value | |
@property | |
def email(self) -> Union[None, str]: | |
"""Getter: email of this group""" | |
return self._inner_dict.get('email') # type: ignore | |
@email.setter | |
def email(self, value: Union[None, str]) -> None: | |
"""Setter: email of this group""" | |
self._inner_dict['email'] = value | |
@property | |
def admins(self) -> List[str]: | |
"""Getter: owners of this group | |
Deprecated! Replaced by Ownership aspect.""" | |
return self._inner_dict.get('admins') # type: ignore | |
@admins.setter | |
def admins(self, value: List[str]) -> None: | |
"""Setter: owners of this group | |
Deprecated! Replaced by Ownership aspect.""" | |
self._inner_dict['admins'] = value | |
@property | |
def members(self) -> List[str]: | |
"""Getter: List of ldap urn in this group. | |
Deprecated! Replaced by GroupMembership aspect.""" | |
return self._inner_dict.get('members') # type: ignore | |
@members.setter | |
def members(self, value: List[str]) -> None: | |
"""Setter: List of ldap urn in this group. | |
Deprecated! Replaced by GroupMembership aspect.""" | |
self._inner_dict['members'] = value | |
@property | |
def groups(self) -> List[str]: | |
"""Getter: List of groups in this group. | |
Deprecated! This field is unused.""" | |
return self._inner_dict.get('groups') # type: ignore | |
@groups.setter | |
def groups(self, value: List[str]) -> None: | |
"""Setter: List of groups in this group. | |
Deprecated! This field is unused.""" | |
self._inner_dict['groups'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: A description of the group.""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: A description of the group.""" | |
self._inner_dict['description'] = value | |
@property | |
def slack(self) -> Union[None, str]: | |
"""Getter: Slack channel for the group""" | |
return self._inner_dict.get('slack') # type: ignore | |
@slack.setter | |
def slack(self, value: Union[None, str]) -> None: | |
"""Setter: Slack channel for the group""" | |
self._inner_dict['slack'] = value | |
class CorpUserAppearanceSettingsClass(DictWrapper): | |
"""Settings for a user around the appearance of their DataHub UI""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserAppearanceSettings") | |
def __init__(self, | |
showSimplifiedHomepage: Union[None, bool]=None, | |
): | |
super().__init__() | |
self.showSimplifiedHomepage = showSimplifiedHomepage | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserAppearanceSettingsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.showSimplifiedHomepage = self.RECORD_SCHEMA.fields_dict["showSimplifiedHomepage"].default | |
@property | |
def showSimplifiedHomepage(self) -> Union[None, bool]: | |
"""Getter: Flag whether the user should see a homepage with only datasets, charts and dashboards. Intended for users | |
who have less operational use cases for the datahub tool.""" | |
return self._inner_dict.get('showSimplifiedHomepage') # type: ignore | |
@showSimplifiedHomepage.setter | |
def showSimplifiedHomepage(self, value: Union[None, bool]) -> None: | |
"""Setter: Flag whether the user should see a homepage with only datasets, charts and dashboards. Intended for users | |
who have less operational use cases for the datahub tool.""" | |
self._inner_dict['showSimplifiedHomepage'] = value | |
class CorpUserCredentialsClass(_Aspect): | |
"""Corp user credentials""" | |
ASPECT_NAME = 'corpUserCredentials' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserCredentials") | |
def __init__(self, | |
salt: str, | |
hashedPassword: str, | |
passwordResetToken: Union[None, str]=None, | |
passwordResetTokenExpirationTimeMillis: Union[None, int]=None, | |
): | |
super().__init__() | |
self.salt = salt | |
self.hashedPassword = hashedPassword | |
self.passwordResetToken = passwordResetToken | |
self.passwordResetTokenExpirationTimeMillis = passwordResetTokenExpirationTimeMillis | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserCredentialsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.salt = str() | |
self.hashedPassword = str() | |
self.passwordResetToken = self.RECORD_SCHEMA.fields_dict["passwordResetToken"].default | |
self.passwordResetTokenExpirationTimeMillis = self.RECORD_SCHEMA.fields_dict["passwordResetTokenExpirationTimeMillis"].default | |
@property | |
def salt(self) -> str: | |
"""Getter: Salt used to hash password""" | |
return self._inner_dict.get('salt') # type: ignore | |
@salt.setter | |
def salt(self, value: str) -> None: | |
"""Setter: Salt used to hash password""" | |
self._inner_dict['salt'] = value | |
@property | |
def hashedPassword(self) -> str: | |
"""Getter: Hashed password generated by concatenating salt and password, then hashing""" | |
return self._inner_dict.get('hashedPassword') # type: ignore | |
@hashedPassword.setter | |
def hashedPassword(self, value: str) -> None: | |
"""Setter: Hashed password generated by concatenating salt and password, then hashing""" | |
self._inner_dict['hashedPassword'] = value | |
@property | |
def passwordResetToken(self) -> Union[None, str]: | |
"""Getter: Optional token needed to reset a user's password. Can only be set by the admin.""" | |
return self._inner_dict.get('passwordResetToken') # type: ignore | |
@passwordResetToken.setter | |
def passwordResetToken(self, value: Union[None, str]) -> None: | |
"""Setter: Optional token needed to reset a user's password. Can only be set by the admin.""" | |
self._inner_dict['passwordResetToken'] = value | |
@property | |
def passwordResetTokenExpirationTimeMillis(self) -> Union[None, int]: | |
"""Getter: When the password reset token expires.""" | |
return self._inner_dict.get('passwordResetTokenExpirationTimeMillis') # type: ignore | |
@passwordResetTokenExpirationTimeMillis.setter | |
def passwordResetTokenExpirationTimeMillis(self, value: Union[None, int]) -> None: | |
"""Setter: When the password reset token expires.""" | |
self._inner_dict['passwordResetTokenExpirationTimeMillis'] = value | |
class CorpUserEditableInfoClass(_Aspect): | |
"""Linkedin corp user information that can be edited from UI""" | |
ASPECT_NAME = 'corpUserEditableInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserEditableInfo") | |
def __init__(self, | |
aboutMe: Union[None, str]=None, | |
teams: Optional[List[str]]=None, | |
skills: Optional[List[str]]=None, | |
pictureLink: Optional[str]=None, | |
displayName: Union[None, str]=None, | |
title: Union[None, str]=None, | |
slack: Union[None, str]=None, | |
phone: Union[None, str]=None, | |
email: Union[None, str]=None, | |
): | |
super().__init__() | |
self.aboutMe = aboutMe | |
if teams is None: | |
# default: [] | |
self.teams = list() | |
else: | |
self.teams = teams | |
if skills is None: | |
# default: [] | |
self.skills = list() | |
else: | |
self.skills = skills | |
if pictureLink is None: | |
# default: 'https://raw.githubusercontent.com/datahub-project/datahub/master/datahub-web-react/src/images/default_avatar.png' | |
self.pictureLink = self.RECORD_SCHEMA.fields_dict["pictureLink"].default | |
else: | |
self.pictureLink = pictureLink | |
self.displayName = displayName | |
self.title = title | |
self.slack = slack | |
self.phone = phone | |
self.email = email | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserEditableInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.aboutMe = self.RECORD_SCHEMA.fields_dict["aboutMe"].default | |
self.teams = list() | |
self.skills = list() | |
self.pictureLink = self.RECORD_SCHEMA.fields_dict["pictureLink"].default | |
self.displayName = self.RECORD_SCHEMA.fields_dict["displayName"].default | |
self.title = self.RECORD_SCHEMA.fields_dict["title"].default | |
self.slack = self.RECORD_SCHEMA.fields_dict["slack"].default | |
self.phone = self.RECORD_SCHEMA.fields_dict["phone"].default | |
self.email = self.RECORD_SCHEMA.fields_dict["email"].default | |
@property | |
def aboutMe(self) -> Union[None, str]: | |
"""Getter: About me section of the user""" | |
return self._inner_dict.get('aboutMe') # type: ignore | |
@aboutMe.setter | |
def aboutMe(self, value: Union[None, str]) -> None: | |
"""Setter: About me section of the user""" | |
self._inner_dict['aboutMe'] = value | |
@property | |
def teams(self) -> List[str]: | |
"""Getter: Teams that the user belongs to e.g. Metadata""" | |
return self._inner_dict.get('teams') # type: ignore | |
@teams.setter | |
def teams(self, value: List[str]) -> None: | |
"""Setter: Teams that the user belongs to e.g. Metadata""" | |
self._inner_dict['teams'] = value | |
@property | |
def skills(self) -> List[str]: | |
"""Getter: Skills that the user possesses e.g. Machine Learning""" | |
return self._inner_dict.get('skills') # type: ignore | |
@skills.setter | |
def skills(self, value: List[str]) -> None: | |
"""Setter: Skills that the user possesses e.g. Machine Learning""" | |
self._inner_dict['skills'] = value | |
@property | |
def pictureLink(self) -> str: | |
"""Getter: A URL which points to a picture which user wants to set as a profile photo""" | |
return self._inner_dict.get('pictureLink') # type: ignore | |
@pictureLink.setter | |
def pictureLink(self, value: str) -> None: | |
"""Setter: A URL which points to a picture which user wants to set as a profile photo""" | |
self._inner_dict['pictureLink'] = value | |
@property | |
def displayName(self) -> Union[None, str]: | |
"""Getter: DataHub-native display name""" | |
return self._inner_dict.get('displayName') # type: ignore | |
@displayName.setter | |
def displayName(self, value: Union[None, str]) -> None: | |
"""Setter: DataHub-native display name""" | |
self._inner_dict['displayName'] = value | |
@property | |
def title(self) -> Union[None, str]: | |
"""Getter: DataHub-native Title, e.g. 'Software Engineer'""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: Union[None, str]) -> None: | |
"""Setter: DataHub-native Title, e.g. 'Software Engineer'""" | |
self._inner_dict['title'] = value | |
@property | |
def slack(self) -> Union[None, str]: | |
"""Getter: Slack handle for the user""" | |
return self._inner_dict.get('slack') # type: ignore | |
@slack.setter | |
def slack(self, value: Union[None, str]) -> None: | |
"""Setter: Slack handle for the user""" | |
self._inner_dict['slack'] = value | |
@property | |
def phone(self) -> Union[None, str]: | |
"""Getter: Phone number to contact the user""" | |
return self._inner_dict.get('phone') # type: ignore | |
@phone.setter | |
def phone(self, value: Union[None, str]) -> None: | |
"""Setter: Phone number to contact the user""" | |
self._inner_dict['phone'] = value | |
@property | |
def email(self) -> Union[None, str]: | |
"""Getter: Email address to contact the user""" | |
return self._inner_dict.get('email') # type: ignore | |
@email.setter | |
def email(self, value: Union[None, str]) -> None: | |
"""Setter: Email address to contact the user""" | |
self._inner_dict['email'] = value | |
class CorpUserInfoClass(_Aspect): | |
"""Linkedin corp user information""" | |
ASPECT_NAME = 'corpUserInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserInfo") | |
def __init__(self, | |
active: bool, | |
displayName: Union[None, str]=None, | |
email: Union[None, str]=None, | |
title: Union[None, str]=None, | |
managerUrn: Union[None, str]=None, | |
departmentId: Union[None, int]=None, | |
departmentName: Union[None, str]=None, | |
firstName: Union[None, str]=None, | |
lastName: Union[None, str]=None, | |
fullName: Union[None, str]=None, | |
countryCode: Union[None, str]=None, | |
): | |
super().__init__() | |
self.active = active | |
self.displayName = displayName | |
self.email = email | |
self.title = title | |
self.managerUrn = managerUrn | |
self.departmentId = departmentId | |
self.departmentName = departmentName | |
self.firstName = firstName | |
self.lastName = lastName | |
self.fullName = fullName | |
self.countryCode = countryCode | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.active = bool() | |
self.displayName = self.RECORD_SCHEMA.fields_dict["displayName"].default | |
self.email = self.RECORD_SCHEMA.fields_dict["email"].default | |
self.title = self.RECORD_SCHEMA.fields_dict["title"].default | |
self.managerUrn = self.RECORD_SCHEMA.fields_dict["managerUrn"].default | |
self.departmentId = self.RECORD_SCHEMA.fields_dict["departmentId"].default | |
self.departmentName = self.RECORD_SCHEMA.fields_dict["departmentName"].default | |
self.firstName = self.RECORD_SCHEMA.fields_dict["firstName"].default | |
self.lastName = self.RECORD_SCHEMA.fields_dict["lastName"].default | |
self.fullName = self.RECORD_SCHEMA.fields_dict["fullName"].default | |
self.countryCode = self.RECORD_SCHEMA.fields_dict["countryCode"].default | |
@property | |
def active(self) -> bool: | |
"""Getter: Deprecated! Use CorpUserStatus instead. Whether the corpUser is active, ref: https://iwww.corp.linkedin.com/wiki/cf/display/GTSD/Accessing+Active+Directory+via+LDAP+tools""" | |
return self._inner_dict.get('active') # type: ignore | |
@active.setter | |
def active(self, value: bool) -> None: | |
"""Setter: Deprecated! Use CorpUserStatus instead. Whether the corpUser is active, ref: https://iwww.corp.linkedin.com/wiki/cf/display/GTSD/Accessing+Active+Directory+via+LDAP+tools""" | |
self._inner_dict['active'] = value | |
@property | |
def displayName(self) -> Union[None, str]: | |
"""Getter: displayName of this user , e.g. Hang Zhang(DataHQ)""" | |
return self._inner_dict.get('displayName') # type: ignore | |
@displayName.setter | |
def displayName(self, value: Union[None, str]) -> None: | |
"""Setter: displayName of this user , e.g. Hang Zhang(DataHQ)""" | |
self._inner_dict['displayName'] = value | |
@property | |
def email(self) -> Union[None, str]: | |
"""Getter: email address of this user""" | |
return self._inner_dict.get('email') # type: ignore | |
@email.setter | |
def email(self, value: Union[None, str]) -> None: | |
"""Setter: email address of this user""" | |
self._inner_dict['email'] = value | |
@property | |
def title(self) -> Union[None, str]: | |
"""Getter: title of this user""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: Union[None, str]) -> None: | |
"""Setter: title of this user""" | |
self._inner_dict['title'] = value | |
@property | |
def managerUrn(self) -> Union[None, str]: | |
"""Getter: direct manager of this user""" | |
return self._inner_dict.get('managerUrn') # type: ignore | |
@managerUrn.setter | |
def managerUrn(self, value: Union[None, str]) -> None: | |
"""Setter: direct manager of this user""" | |
self._inner_dict['managerUrn'] = value | |
@property | |
def departmentId(self) -> Union[None, int]: | |
"""Getter: department id this user belong to""" | |
return self._inner_dict.get('departmentId') # type: ignore | |
@departmentId.setter | |
def departmentId(self, value: Union[None, int]) -> None: | |
"""Setter: department id this user belong to""" | |
self._inner_dict['departmentId'] = value | |
@property | |
def departmentName(self) -> Union[None, str]: | |
"""Getter: department name this user belong to""" | |
return self._inner_dict.get('departmentName') # type: ignore | |
@departmentName.setter | |
def departmentName(self, value: Union[None, str]) -> None: | |
"""Setter: department name this user belong to""" | |
self._inner_dict['departmentName'] = value | |
@property | |
def firstName(self) -> Union[None, str]: | |
"""Getter: first name of this user""" | |
return self._inner_dict.get('firstName') # type: ignore | |
@firstName.setter | |
def firstName(self, value: Union[None, str]) -> None: | |
"""Setter: first name of this user""" | |
self._inner_dict['firstName'] = value | |
@property | |
def lastName(self) -> Union[None, str]: | |
"""Getter: last name of this user""" | |
return self._inner_dict.get('lastName') # type: ignore | |
@lastName.setter | |
def lastName(self, value: Union[None, str]) -> None: | |
"""Setter: last name of this user""" | |
self._inner_dict['lastName'] = value | |
@property | |
def fullName(self) -> Union[None, str]: | |
"""Getter: Common name of this user, format is firstName + lastName (split by a whitespace)""" | |
return self._inner_dict.get('fullName') # type: ignore | |
@fullName.setter | |
def fullName(self, value: Union[None, str]) -> None: | |
"""Setter: Common name of this user, format is firstName + lastName (split by a whitespace)""" | |
self._inner_dict['fullName'] = value | |
@property | |
def countryCode(self) -> Union[None, str]: | |
"""Getter: two uppercase letters country code. e.g. US""" | |
return self._inner_dict.get('countryCode') # type: ignore | |
@countryCode.setter | |
def countryCode(self, value: Union[None, str]) -> None: | |
"""Setter: two uppercase letters country code. e.g. US""" | |
self._inner_dict['countryCode'] = value | |
class CorpUserSettingsClass(_Aspect): | |
"""Settings that a user can customize through the datahub ui""" | |
ASPECT_NAME = 'corpUserSettings' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserSettings") | |
def __init__(self, | |
appearance: "CorpUserAppearanceSettingsClass", | |
): | |
super().__init__() | |
self.appearance = appearance | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserSettingsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.appearance = CorpUserAppearanceSettingsClass.construct_with_defaults() | |
@property | |
def appearance(self) -> "CorpUserAppearanceSettingsClass": | |
"""Getter: Settings for a user around the appearance of their DataHub U""" | |
return self._inner_dict.get('appearance') # type: ignore | |
@appearance.setter | |
def appearance(self, value: "CorpUserAppearanceSettingsClass") -> None: | |
"""Setter: Settings for a user around the appearance of their DataHub U""" | |
self._inner_dict['appearance'] = value | |
class CorpUserStatusClass(_Aspect): | |
"""The status of the user, e.g. provisioned, active, suspended, etc.""" | |
ASPECT_NAME = 'corpUserStatus' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.CorpUserStatus") | |
def __init__(self, | |
status: str, | |
lastModified: "AuditStampClass", | |
): | |
super().__init__() | |
self.status = status | |
self.lastModified = lastModified | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserStatusClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.status = str() | |
self.lastModified = AuditStampClass.construct_with_defaults() | |
@property | |
def status(self) -> str: | |
"""Getter: Status of the user, e.g. PROVISIONED / ACTIVE / SUSPENDED""" | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: str) -> None: | |
"""Setter: Status of the user, e.g. PROVISIONED / ACTIVE / SUSPENDED""" | |
self._inner_dict['status'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: Audit stamp containing who last modified the status and when.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp containing who last modified the status and when.""" | |
self._inner_dict['lastModified'] = value | |
class GroupMembershipClass(_Aspect): | |
"""Carries information about the CorpGroups a user is in.""" | |
ASPECT_NAME = 'groupMembership' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.GroupMembership") | |
def __init__(self, | |
groups: List[str], | |
): | |
super().__init__() | |
self.groups = groups | |
@classmethod | |
def construct_with_defaults(cls) -> "GroupMembershipClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.groups = list() | |
@property | |
def groups(self) -> List[str]: | |
# No docs available. | |
return self._inner_dict.get('groups') # type: ignore | |
@groups.setter | |
def groups(self, value: List[str]) -> None: | |
# No docs available. | |
self._inner_dict['groups'] = value | |
class InviteTokenClass(_Aspect): | |
"""Aspect used to store invite tokens.""" | |
ASPECT_NAME = 'inviteToken' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.InviteToken") | |
def __init__(self, | |
token: str, | |
role: Union[None, str]=None, | |
): | |
super().__init__() | |
self.token = token | |
self.role = role | |
@classmethod | |
def construct_with_defaults(cls) -> "InviteTokenClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.token = str() | |
self.role = self.RECORD_SCHEMA.fields_dict["role"].default | |
@property | |
def token(self) -> str: | |
"""Getter: The encrypted invite token.""" | |
return self._inner_dict.get('token') # type: ignore | |
@token.setter | |
def token(self, value: str) -> None: | |
"""Setter: The encrypted invite token.""" | |
self._inner_dict['token'] = value | |
@property | |
def role(self) -> Union[None, str]: | |
"""Getter: The role that this invite token may be associated with""" | |
return self._inner_dict.get('role') # type: ignore | |
@role.setter | |
def role(self, value: Union[None, str]) -> None: | |
"""Setter: The role that this invite token may be associated with""" | |
self._inner_dict['role'] = value | |
class NativeGroupMembershipClass(_Aspect): | |
"""Carries information about the native CorpGroups a user is in.""" | |
ASPECT_NAME = 'nativeGroupMembership' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.NativeGroupMembership") | |
def __init__(self, | |
nativeGroups: List[str], | |
): | |
super().__init__() | |
self.nativeGroups = nativeGroups | |
@classmethod | |
def construct_with_defaults(cls) -> "NativeGroupMembershipClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.nativeGroups = list() | |
@property | |
def nativeGroups(self) -> List[str]: | |
# No docs available. | |
return self._inner_dict.get('nativeGroups') # type: ignore | |
@nativeGroups.setter | |
def nativeGroups(self, value: List[str]) -> None: | |
# No docs available. | |
self._inner_dict['nativeGroups'] = value | |
class RoleMembershipClass(_Aspect): | |
"""Carries information about which roles a user is assigned to.""" | |
ASPECT_NAME = 'roleMembership' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.identity.RoleMembership") | |
def __init__(self, | |
roles: List[str], | |
): | |
super().__init__() | |
self.roles = roles | |
@classmethod | |
def construct_with_defaults(cls) -> "RoleMembershipClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.roles = list() | |
@property | |
def roles(self) -> List[str]: | |
# No docs available. | |
return self._inner_dict.get('roles') # type: ignore | |
@roles.setter | |
def roles(self, value: List[str]) -> None: | |
# No docs available. | |
self._inner_dict['roles'] = value | |
class DataHubIngestionSourceConfigClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceConfig") | |
def __init__(self, | |
recipe: str, | |
version: Union[None, str]=None, | |
executorId: Union[None, str]=None, | |
debugMode: Union[None, bool]=None, | |
): | |
super().__init__() | |
self.recipe = recipe | |
self.version = version | |
self.executorId = executorId | |
self.debugMode = debugMode | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubIngestionSourceConfigClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.recipe = str() | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.executorId = self.RECORD_SCHEMA.fields_dict["executorId"].default | |
self.debugMode = self.RECORD_SCHEMA.fields_dict["debugMode"].default | |
@property | |
def recipe(self) -> str: | |
"""Getter: The JSON recipe to use for ingestion""" | |
return self._inner_dict.get('recipe') # type: ignore | |
@recipe.setter | |
def recipe(self, value: str) -> None: | |
"""Setter: The JSON recipe to use for ingestion""" | |
self._inner_dict['recipe'] = value | |
@property | |
def version(self) -> Union[None, str]: | |
"""Getter: The PyPI version of the datahub CLI to use when executing a recipe""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, str]) -> None: | |
"""Setter: The PyPI version of the datahub CLI to use when executing a recipe""" | |
self._inner_dict['version'] = value | |
@property | |
def executorId(self) -> Union[None, str]: | |
"""Getter: The id of the executor to use to execute the ingestion run""" | |
return self._inner_dict.get('executorId') # type: ignore | |
@executorId.setter | |
def executorId(self, value: Union[None, str]) -> None: | |
"""Setter: The id of the executor to use to execute the ingestion run""" | |
self._inner_dict['executorId'] = value | |
@property | |
def debugMode(self) -> Union[None, bool]: | |
"""Getter: Whether or not to run this ingestion source in debug mode""" | |
return self._inner_dict.get('debugMode') # type: ignore | |
@debugMode.setter | |
def debugMode(self, value: Union[None, bool]) -> None: | |
"""Setter: Whether or not to run this ingestion source in debug mode""" | |
self._inner_dict['debugMode'] = value | |
class DataHubIngestionSourceInfoClass(_Aspect): | |
"""Info about a DataHub ingestion source""" | |
ASPECT_NAME = 'dataHubIngestionSourceInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceInfo") | |
def __init__(self, | |
name: str, | |
type: str, | |
config: "DataHubIngestionSourceConfigClass", | |
platform: Union[None, str]=None, | |
schedule: Union[None, "DataHubIngestionSourceScheduleClass"]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.type = type | |
self.platform = platform | |
self.schedule = schedule | |
self.config = config | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubIngestionSourceInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.type = str() | |
self.platform = self.RECORD_SCHEMA.fields_dict["platform"].default | |
self.schedule = self.RECORD_SCHEMA.fields_dict["schedule"].default | |
self.config = DataHubIngestionSourceConfigClass.construct_with_defaults() | |
@property | |
def name(self) -> str: | |
"""Getter: The display name of the ingestion source""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The display name of the ingestion source""" | |
self._inner_dict['name'] = value | |
@property | |
def type(self) -> str: | |
"""Getter: The type of the source itself, e.g. mysql, bigquery, bigquery-usage. Should match the recipe.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: str) -> None: | |
"""Setter: The type of the source itself, e.g. mysql, bigquery, bigquery-usage. Should match the recipe.""" | |
self._inner_dict['type'] = value | |
@property | |
def platform(self) -> Union[None, str]: | |
"""Getter: Data Platform URN associated with the source""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: Union[None, str]) -> None: | |
"""Setter: Data Platform URN associated with the source""" | |
self._inner_dict['platform'] = value | |
@property | |
def schedule(self) -> Union[None, "DataHubIngestionSourceScheduleClass"]: | |
"""Getter: The schedule on which the ingestion source is executed""" | |
return self._inner_dict.get('schedule') # type: ignore | |
@schedule.setter | |
def schedule(self, value: Union[None, "DataHubIngestionSourceScheduleClass"]) -> None: | |
"""Setter: The schedule on which the ingestion source is executed""" | |
self._inner_dict['schedule'] = value | |
@property | |
def config(self) -> "DataHubIngestionSourceConfigClass": | |
"""Getter: Parameters associated with the Ingestion Source""" | |
return self._inner_dict.get('config') # type: ignore | |
@config.setter | |
def config(self, value: "DataHubIngestionSourceConfigClass") -> None: | |
"""Setter: Parameters associated with the Ingestion Source""" | |
self._inner_dict['config'] = value | |
class DataHubIngestionSourceScheduleClass(DictWrapper): | |
"""The schedule associated with an ingestion source.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceSchedule") | |
def __init__(self, | |
interval: str, | |
timezone: str, | |
): | |
super().__init__() | |
self.interval = interval | |
self.timezone = timezone | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubIngestionSourceScheduleClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.interval = str() | |
self.timezone = str() | |
@property | |
def interval(self) -> str: | |
"""Getter: A cron-formatted execution interval, as a cron string, e.g. * * * * *""" | |
return self._inner_dict.get('interval') # type: ignore | |
@interval.setter | |
def interval(self, value: str) -> None: | |
"""Setter: A cron-formatted execution interval, as a cron string, e.g. * * * * *""" | |
self._inner_dict['interval'] = value | |
@property | |
def timezone(self) -> str: | |
"""Getter: Timezone in which the cron interval applies, e.g. America/Los Angeles""" | |
return self._inner_dict.get('timezone') # type: ignore | |
@timezone.setter | |
def timezone(self, value: str) -> None: | |
"""Setter: Timezone in which the cron interval applies, e.g. America/Los Angeles""" | |
self._inner_dict['timezone'] = value | |
class AssertionKeyClass(_Aspect): | |
"""Key for a Assertion""" | |
ASPECT_NAME = 'assertionKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.AssertionKey") | |
def __init__(self, | |
assertionId: str, | |
): | |
super().__init__() | |
self.assertionId = assertionId | |
@classmethod | |
def construct_with_defaults(cls) -> "AssertionKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.assertionId = str() | |
@property | |
def assertionId(self) -> str: | |
"""Getter: Unique id for the assertion.""" | |
return self._inner_dict.get('assertionId') # type: ignore | |
@assertionId.setter | |
def assertionId(self, value: str) -> None: | |
"""Setter: Unique id for the assertion.""" | |
self._inner_dict['assertionId'] = value | |
class ChartKeyClass(_Aspect): | |
"""Key for a Chart""" | |
ASPECT_NAME = 'chartKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.ChartKey") | |
def __init__(self, | |
dashboardTool: str, | |
chartId: str, | |
): | |
super().__init__() | |
self.dashboardTool = dashboardTool | |
self.chartId = chartId | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.dashboardTool = str() | |
self.chartId = str() | |
@property | |
def dashboardTool(self) -> str: | |
"""Getter: The name of the dashboard tool such as looker, redash etc.""" | |
return self._inner_dict.get('dashboardTool') # type: ignore | |
@dashboardTool.setter | |
def dashboardTool(self, value: str) -> None: | |
"""Setter: The name of the dashboard tool such as looker, redash etc.""" | |
self._inner_dict['dashboardTool'] = value | |
@property | |
def chartId(self) -> str: | |
"""Getter: Unique id for the chart. This id should be globally unique for a dashboarding tool even when there are multiple deployments of it. As an example, chart URL could be used here for Looker such as 'looker.linkedin.com/looks/1234'""" | |
return self._inner_dict.get('chartId') # type: ignore | |
@chartId.setter | |
def chartId(self, value: str) -> None: | |
"""Setter: Unique id for the chart. This id should be globally unique for a dashboarding tool even when there are multiple deployments of it. As an example, chart URL could be used here for Looker such as 'looker.linkedin.com/looks/1234'""" | |
self._inner_dict['chartId'] = value | |
class ContainerKeyClass(_Aspect): | |
"""Key for an Asset Container""" | |
ASPECT_NAME = 'containerKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.ContainerKey") | |
def __init__(self, | |
guid: Union[None, str]=None, | |
): | |
super().__init__() | |
self.guid = guid | |
@classmethod | |
def construct_with_defaults(cls) -> "ContainerKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.guid = self.RECORD_SCHEMA.fields_dict["guid"].default | |
@property | |
def guid(self) -> Union[None, str]: | |
"""Getter: Unique guid for container""" | |
return self._inner_dict.get('guid') # type: ignore | |
@guid.setter | |
def guid(self, value: Union[None, str]) -> None: | |
"""Setter: Unique guid for container""" | |
self._inner_dict['guid'] = value | |
class CorpGroupKeyClass(_Aspect): | |
"""Key for a CorpGroup""" | |
ASPECT_NAME = 'corpGroupKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.CorpGroupKey") | |
def __init__(self, | |
name: str, | |
): | |
super().__init__() | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpGroupKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
@property | |
def name(self) -> str: | |
"""Getter: The URL-encoded name of the AD/LDAP group. Serves as a globally unique identifier within DataHub.""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The URL-encoded name of the AD/LDAP group. Serves as a globally unique identifier within DataHub.""" | |
self._inner_dict['name'] = value | |
class CorpUserKeyClass(_Aspect): | |
"""Key for a CorpUser""" | |
ASPECT_NAME = 'corpUserKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.CorpUserKey") | |
def __init__(self, | |
username: str, | |
): | |
super().__init__() | |
self.username = username | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.username = str() | |
@property | |
def username(self) -> str: | |
"""Getter: The name of the AD/LDAP user.""" | |
return self._inner_dict.get('username') # type: ignore | |
@username.setter | |
def username(self, value: str) -> None: | |
"""Setter: The name of the AD/LDAP user.""" | |
self._inner_dict['username'] = value | |
class DashboardKeyClass(_Aspect): | |
"""Key for a Dashboard""" | |
ASPECT_NAME = 'dashboardKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DashboardKey") | |
def __init__(self, | |
dashboardTool: str, | |
dashboardId: str, | |
): | |
super().__init__() | |
self.dashboardTool = dashboardTool | |
self.dashboardId = dashboardId | |
@classmethod | |
def construct_with_defaults(cls) -> "DashboardKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.dashboardTool = str() | |
self.dashboardId = str() | |
@property | |
def dashboardTool(self) -> str: | |
"""Getter: The name of the dashboard tool such as looker, redash etc.""" | |
return self._inner_dict.get('dashboardTool') # type: ignore | |
@dashboardTool.setter | |
def dashboardTool(self, value: str) -> None: | |
"""Setter: The name of the dashboard tool such as looker, redash etc.""" | |
self._inner_dict['dashboardTool'] = value | |
@property | |
def dashboardId(self) -> str: | |
"""Getter: Unique id for the dashboard. This id should be globally unique for a dashboarding tool even when there are multiple deployments of it. As an example, dashboard URL could be used here for Looker such as 'looker.linkedin.com/dashboards/1234'""" | |
return self._inner_dict.get('dashboardId') # type: ignore | |
@dashboardId.setter | |
def dashboardId(self, value: str) -> None: | |
"""Setter: Unique id for the dashboard. This id should be globally unique for a dashboarding tool even when there are multiple deployments of it. As an example, dashboard URL could be used here for Looker such as 'looker.linkedin.com/dashboards/1234'""" | |
self._inner_dict['dashboardId'] = value | |
class DataFlowKeyClass(_Aspect): | |
"""Key for a Data Flow""" | |
ASPECT_NAME = 'dataFlowKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataFlowKey") | |
def __init__(self, | |
orchestrator: str, | |
flowId: str, | |
cluster: str, | |
): | |
super().__init__() | |
self.orchestrator = orchestrator | |
self.flowId = flowId | |
self.cluster = cluster | |
@classmethod | |
def construct_with_defaults(cls) -> "DataFlowKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.orchestrator = str() | |
self.flowId = str() | |
self.cluster = str() | |
@property | |
def orchestrator(self) -> str: | |
"""Getter: Workflow manager like azkaban, airflow which orchestrates the flow""" | |
return self._inner_dict.get('orchestrator') # type: ignore | |
@orchestrator.setter | |
def orchestrator(self, value: str) -> None: | |
"""Setter: Workflow manager like azkaban, airflow which orchestrates the flow""" | |
self._inner_dict['orchestrator'] = value | |
@property | |
def flowId(self) -> str: | |
"""Getter: Unique Identifier of the data flow""" | |
return self._inner_dict.get('flowId') # type: ignore | |
@flowId.setter | |
def flowId(self, value: str) -> None: | |
"""Setter: Unique Identifier of the data flow""" | |
self._inner_dict['flowId'] = value | |
@property | |
def cluster(self) -> str: | |
"""Getter: Cluster where the flow is executed""" | |
return self._inner_dict.get('cluster') # type: ignore | |
@cluster.setter | |
def cluster(self, value: str) -> None: | |
"""Setter: Cluster where the flow is executed""" | |
self._inner_dict['cluster'] = value | |
class DataHubAccessTokenKeyClass(_Aspect): | |
"""Key for a DataHub Access Token""" | |
ASPECT_NAME = 'dataHubAccessTokenKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubAccessTokenKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubAccessTokenKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: Access token's SHA-256 hashed JWT signature""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: Access token's SHA-256 hashed JWT signature""" | |
self._inner_dict['id'] = value | |
class DataHubIngestionSourceKeyClass(_Aspect): | |
"""Key for a DataHub ingestion source""" | |
ASPECT_NAME = 'dataHubIngestionSourceKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubIngestionSourceKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubIngestionSourceKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the Ingestion Source, either generated or provided""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the Ingestion Source, either generated or provided""" | |
self._inner_dict['id'] = value | |
class DataHubPolicyKeyClass(_Aspect): | |
"""Key for a DataHub Policy""" | |
ASPECT_NAME = 'dataHubPolicyKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubPolicyKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubPolicyKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the DataHub access policy record. Generated on the server side at policy creation time.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the DataHub access policy record. Generated on the server side at policy creation time.""" | |
self._inner_dict['id'] = value | |
class DataHubRetentionKeyClass(_Aspect): | |
"""Key for a DataHub Retention""" | |
ASPECT_NAME = 'dataHubRetentionKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubRetentionKey") | |
def __init__(self, | |
entityName: str, | |
aspectName: str, | |
): | |
super().__init__() | |
self.entityName = entityName | |
self.aspectName = aspectName | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubRetentionKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.entityName = str() | |
self.aspectName = str() | |
@property | |
def entityName(self) -> str: | |
"""Getter: Entity name to apply retention to. * (or empty) for applying defaults.""" | |
return self._inner_dict.get('entityName') # type: ignore | |
@entityName.setter | |
def entityName(self, value: str) -> None: | |
"""Setter: Entity name to apply retention to. * (or empty) for applying defaults.""" | |
self._inner_dict['entityName'] = value | |
@property | |
def aspectName(self) -> str: | |
"""Getter: Aspect name to apply retention to. * (or empty) for applying defaults.""" | |
return self._inner_dict.get('aspectName') # type: ignore | |
@aspectName.setter | |
def aspectName(self, value: str) -> None: | |
"""Setter: Aspect name to apply retention to. * (or empty) for applying defaults.""" | |
self._inner_dict['aspectName'] = value | |
class DataHubRoleKeyClass(_Aspect): | |
"""Key for a DataHub Role""" | |
ASPECT_NAME = 'dataHubRoleKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubRoleKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubRoleKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the DataHub role record. Generated on the server side at role creation time.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the DataHub role record. Generated on the server side at role creation time.""" | |
self._inner_dict['id'] = value | |
class DataHubSecretKeyClass(_Aspect): | |
"""Key for a DataHub Secret""" | |
ASPECT_NAME = 'dataHubSecretKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubSecretKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubSecretKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the Secret""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the Secret""" | |
self._inner_dict['id'] = value | |
class DataHubUpgradeKeyClass(_Aspect): | |
"""Key for a DataHubUpgrade""" | |
ASPECT_NAME = 'dataHubUpgradeKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataHubUpgradeKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubUpgradeKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['id'] = value | |
class DataJobKeyClass(_Aspect): | |
"""Key for a Data Job""" | |
ASPECT_NAME = 'dataJobKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataJobKey") | |
def __init__(self, | |
flow: str, | |
jobId: str, | |
): | |
super().__init__() | |
self.flow = flow | |
self.jobId = jobId | |
@classmethod | |
def construct_with_defaults(cls) -> "DataJobKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.flow = str() | |
self.jobId = str() | |
@property | |
def flow(self) -> str: | |
"""Getter: Standardized data processing flow urn representing the flow for the job""" | |
return self._inner_dict.get('flow') # type: ignore | |
@flow.setter | |
def flow(self, value: str) -> None: | |
"""Setter: Standardized data processing flow urn representing the flow for the job""" | |
self._inner_dict['flow'] = value | |
@property | |
def jobId(self) -> str: | |
"""Getter: Unique Identifier of the data job""" | |
return self._inner_dict.get('jobId') # type: ignore | |
@jobId.setter | |
def jobId(self, value: str) -> None: | |
"""Setter: Unique Identifier of the data job""" | |
self._inner_dict['jobId'] = value | |
class DataPlatformInstanceKeyClass(_Aspect): | |
"""Key for a Dataset""" | |
ASPECT_NAME = 'dataPlatformInstanceKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataPlatformInstanceKey") | |
def __init__(self, | |
platform: str, | |
instance: str, | |
): | |
super().__init__() | |
self.platform = platform | |
self.instance = instance | |
@classmethod | |
def construct_with_defaults(cls) -> "DataPlatformInstanceKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.instance = str() | |
@property | |
def platform(self) -> str: | |
"""Getter: Data platform urn associated with the instance""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Data platform urn associated with the instance""" | |
self._inner_dict['platform'] = value | |
@property | |
def instance(self) -> str: | |
"""Getter: Unique instance id""" | |
return self._inner_dict.get('instance') # type: ignore | |
@instance.setter | |
def instance(self, value: str) -> None: | |
"""Setter: Unique instance id""" | |
self._inner_dict['instance'] = value | |
class DataPlatformKeyClass(_Aspect): | |
"""Key for a Data Platform""" | |
ASPECT_NAME = 'dataPlatformKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataPlatformKey") | |
def __init__(self, | |
platformName: str, | |
): | |
super().__init__() | |
self.platformName = platformName | |
@classmethod | |
def construct_with_defaults(cls) -> "DataPlatformKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platformName = str() | |
@property | |
def platformName(self) -> str: | |
"""Getter: Data platform name i.e. hdfs, oracle, espresso""" | |
return self._inner_dict.get('platformName') # type: ignore | |
@platformName.setter | |
def platformName(self, value: str) -> None: | |
"""Setter: Data platform name i.e. hdfs, oracle, espresso""" | |
self._inner_dict['platformName'] = value | |
class DataProcessInstanceKeyClass(_Aspect): | |
"""Key for an Asset DataProcessInstance""" | |
ASPECT_NAME = 'dataProcessInstanceKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataProcessInstanceKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessInstanceKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the DataProcessInstance . Should be separate from the name used for displaying a DataProcessInstance.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the DataProcessInstance . Should be separate from the name used for displaying a DataProcessInstance.""" | |
self._inner_dict['id'] = value | |
class DataProcessKeyClass(_Aspect): | |
"""Key for a Data Process""" | |
ASPECT_NAME = 'dataProcessKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DataProcessKey") | |
def __init__(self, | |
name: str, | |
orchestrator: str, | |
origin: Union[str, "FabricTypeClass"], | |
): | |
super().__init__() | |
self.name = name | |
self.orchestrator = orchestrator | |
self.origin = origin | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.orchestrator = str() | |
self.origin = FabricTypeClass.DEV | |
@property | |
def name(self) -> str: | |
"""Getter: Process name i.e. an ETL job name""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Process name i.e. an ETL job name""" | |
self._inner_dict['name'] = value | |
@property | |
def orchestrator(self) -> str: | |
"""Getter: Standardized Orchestrator where data process is defined. | |
TODO: Migrate towards something that can be validated like DataPlatform urn""" | |
return self._inner_dict.get('orchestrator') # type: ignore | |
@orchestrator.setter | |
def orchestrator(self, value: str) -> None: | |
"""Setter: Standardized Orchestrator where data process is defined. | |
TODO: Migrate towards something that can be validated like DataPlatform urn""" | |
self._inner_dict['orchestrator'] = value | |
@property | |
def origin(self) -> Union[str, "FabricTypeClass"]: | |
"""Getter: Fabric type where dataset belongs to or where it was generated.""" | |
return self._inner_dict.get('origin') # type: ignore | |
@origin.setter | |
def origin(self, value: Union[str, "FabricTypeClass"]) -> None: | |
"""Setter: Fabric type where dataset belongs to or where it was generated.""" | |
self._inner_dict['origin'] = value | |
class DatasetKeyClass(_Aspect): | |
"""Key for a Dataset""" | |
ASPECT_NAME = 'datasetKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DatasetKey") | |
def __init__(self, | |
platform: str, | |
name: str, | |
origin: Union[str, "FabricTypeClass"], | |
): | |
super().__init__() | |
self.platform = platform | |
self.name = name | |
self.origin = origin | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.name = str() | |
self.origin = FabricTypeClass.DEV | |
@property | |
def platform(self) -> str: | |
"""Getter: Data platform urn associated with the dataset""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Data platform urn associated with the dataset""" | |
self._inner_dict['platform'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Unique guid for dataset""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Unique guid for dataset""" | |
self._inner_dict['name'] = value | |
@property | |
def origin(self) -> Union[str, "FabricTypeClass"]: | |
"""Getter: Fabric type where dataset belongs to or where it was generated.""" | |
return self._inner_dict.get('origin') # type: ignore | |
@origin.setter | |
def origin(self, value: Union[str, "FabricTypeClass"]) -> None: | |
"""Setter: Fabric type where dataset belongs to or where it was generated.""" | |
self._inner_dict['origin'] = value | |
class DomainKeyClass(_Aspect): | |
"""Key for an Asset Domain""" | |
ASPECT_NAME = 'domainKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.DomainKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "DomainKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the domain. Should be separate from the name used for displaying a Domain.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the domain. Should be separate from the name used for displaying a Domain.""" | |
self._inner_dict['id'] = value | |
class ExecutionRequestKeyClass(_Aspect): | |
"""Key for an DataHub Execution Request""" | |
ASPECT_NAME = 'dataHubExecutionRequestKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.ExecutionRequestKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "ExecutionRequestKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the DataHub execution request.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the DataHub execution request.""" | |
self._inner_dict['id'] = value | |
class GlossaryNodeKeyClass(_Aspect): | |
"""Key for a GlossaryNode""" | |
ASPECT_NAME = 'glossaryNodeKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.GlossaryNodeKey") | |
def __init__(self, | |
name: str, | |
): | |
super().__init__() | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryNodeKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
@property | |
def name(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['name'] = value | |
class GlossaryTermKeyClass(_Aspect): | |
"""Key for a GlossaryTerm""" | |
ASPECT_NAME = 'glossaryTermKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.GlossaryTermKey") | |
def __init__(self, | |
name: str, | |
): | |
super().__init__() | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryTermKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
@property | |
def name(self) -> str: | |
"""Getter: The term name, which serves as a unique id""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The term name, which serves as a unique id""" | |
self._inner_dict['name'] = value | |
class InviteTokenKeyClass(_Aspect): | |
"""Key for an InviteToken.""" | |
ASPECT_NAME = 'inviteTokenKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.InviteTokenKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "InviteTokenKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the invite token.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the invite token.""" | |
self._inner_dict['id'] = value | |
class MLFeatureKeyClass(_Aspect): | |
"""Key for an MLFeature""" | |
ASPECT_NAME = 'mlFeatureKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLFeatureKey") | |
def __init__(self, | |
featureNamespace: str, | |
name: str, | |
): | |
super().__init__() | |
self.featureNamespace = featureNamespace | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeatureKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.featureNamespace = str() | |
self.name = str() | |
@property | |
def featureNamespace(self) -> str: | |
"""Getter: Namespace for the feature""" | |
return self._inner_dict.get('featureNamespace') # type: ignore | |
@featureNamespace.setter | |
def featureNamespace(self, value: str) -> None: | |
"""Setter: Namespace for the feature""" | |
self._inner_dict['featureNamespace'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the feature""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the feature""" | |
self._inner_dict['name'] = value | |
class MLFeatureTableKeyClass(_Aspect): | |
"""Key for an MLFeatureTable""" | |
ASPECT_NAME = 'mlFeatureTableKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLFeatureTableKey") | |
def __init__(self, | |
platform: str, | |
name: str, | |
): | |
super().__init__() | |
self.platform = platform | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeatureTableKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.name = str() | |
@property | |
def platform(self) -> str: | |
"""Getter: Data platform urn associated with the feature table""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Data platform urn associated with the feature table""" | |
self._inner_dict['platform'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the feature table""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the feature table""" | |
self._inner_dict['name'] = value | |
class MLModelDeploymentKeyClass(_Aspect): | |
"""Key for an ML model deployment""" | |
ASPECT_NAME = 'mlModelDeploymentKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLModelDeploymentKey") | |
def __init__(self, | |
platform: str, | |
name: str, | |
origin: Union[str, "FabricTypeClass"], | |
): | |
super().__init__() | |
self.platform = platform | |
self.name = name | |
self.origin = origin | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelDeploymentKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.name = str() | |
self.origin = FabricTypeClass.DEV | |
@property | |
def platform(self) -> str: | |
"""Getter: Standardized platform urn for the model Deployment""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Standardized platform urn for the model Deployment""" | |
self._inner_dict['platform'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the MLModelDeployment""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the MLModelDeployment""" | |
self._inner_dict['name'] = value | |
@property | |
def origin(self) -> Union[str, "FabricTypeClass"]: | |
"""Getter: Fabric type where model Deployment belongs to or where it was generated""" | |
return self._inner_dict.get('origin') # type: ignore | |
@origin.setter | |
def origin(self, value: Union[str, "FabricTypeClass"]) -> None: | |
"""Setter: Fabric type where model Deployment belongs to or where it was generated""" | |
self._inner_dict['origin'] = value | |
class MLModelGroupKeyClass(_Aspect): | |
"""Key for an ML model group""" | |
ASPECT_NAME = 'mlModelGroupKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLModelGroupKey") | |
def __init__(self, | |
platform: str, | |
name: str, | |
origin: Union[str, "FabricTypeClass"], | |
): | |
super().__init__() | |
self.platform = platform | |
self.name = name | |
self.origin = origin | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelGroupKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.name = str() | |
self.origin = FabricTypeClass.DEV | |
@property | |
def platform(self) -> str: | |
"""Getter: Standardized platform urn for the model group""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Standardized platform urn for the model group""" | |
self._inner_dict['platform'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the MLModelGroup""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the MLModelGroup""" | |
self._inner_dict['name'] = value | |
@property | |
def origin(self) -> Union[str, "FabricTypeClass"]: | |
"""Getter: Fabric type where model group belongs to or where it was generated""" | |
return self._inner_dict.get('origin') # type: ignore | |
@origin.setter | |
def origin(self, value: Union[str, "FabricTypeClass"]) -> None: | |
"""Setter: Fabric type where model group belongs to or where it was generated""" | |
self._inner_dict['origin'] = value | |
class MLModelKeyClass(_Aspect): | |
"""Key for an ML model""" | |
ASPECT_NAME = 'mlModelKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLModelKey") | |
def __init__(self, | |
platform: str, | |
name: str, | |
origin: Union[str, "FabricTypeClass"], | |
): | |
super().__init__() | |
self.platform = platform | |
self.name = name | |
self.origin = origin | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.platform = str() | |
self.name = str() | |
self.origin = FabricTypeClass.DEV | |
@property | |
def platform(self) -> str: | |
"""Getter: Standardized platform urn for the model""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Standardized platform urn for the model""" | |
self._inner_dict['platform'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the MLModel""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the MLModel""" | |
self._inner_dict['name'] = value | |
@property | |
def origin(self) -> Union[str, "FabricTypeClass"]: | |
"""Getter: Fabric type where model belongs to or where it was generated""" | |
return self._inner_dict.get('origin') # type: ignore | |
@origin.setter | |
def origin(self, value: Union[str, "FabricTypeClass"]) -> None: | |
"""Setter: Fabric type where model belongs to or where it was generated""" | |
self._inner_dict['origin'] = value | |
class MLPrimaryKeyKeyClass(_Aspect): | |
"""Key for an MLPrimaryKey""" | |
ASPECT_NAME = 'mlPrimaryKeyKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.MLPrimaryKeyKey") | |
def __init__(self, | |
featureNamespace: str, | |
name: str, | |
): | |
super().__init__() | |
self.featureNamespace = featureNamespace | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "MLPrimaryKeyKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.featureNamespace = str() | |
self.name = str() | |
@property | |
def featureNamespace(self) -> str: | |
"""Getter: Namespace for the primary key""" | |
return self._inner_dict.get('featureNamespace') # type: ignore | |
@featureNamespace.setter | |
def featureNamespace(self, value: str) -> None: | |
"""Setter: Namespace for the primary key""" | |
self._inner_dict['featureNamespace'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the primary key""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the primary key""" | |
self._inner_dict['name'] = value | |
class NotebookKeyClass(_Aspect): | |
"""Key for a Notebook""" | |
ASPECT_NAME = 'notebookKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.NotebookKey") | |
def __init__(self, | |
notebookTool: str, | |
notebookId: str, | |
): | |
super().__init__() | |
self.notebookTool = notebookTool | |
self.notebookId = notebookId | |
@classmethod | |
def construct_with_defaults(cls) -> "NotebookKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.notebookTool = str() | |
self.notebookId = str() | |
@property | |
def notebookTool(self) -> str: | |
"""Getter: The name of the Notebook tool such as QueryBook, etc.""" | |
return self._inner_dict.get('notebookTool') # type: ignore | |
@notebookTool.setter | |
def notebookTool(self, value: str) -> None: | |
"""Setter: The name of the Notebook tool such as QueryBook, etc.""" | |
self._inner_dict['notebookTool'] = value | |
@property | |
def notebookId(self) -> str: | |
"""Getter: Unique id for the Notebook. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773'""" | |
return self._inner_dict.get('notebookId') # type: ignore | |
@notebookId.setter | |
def notebookId(self, value: str) -> None: | |
"""Setter: Unique id for the Notebook. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773'""" | |
self._inner_dict['notebookId'] = value | |
class PostKeyClass(_Aspect): | |
"""Key for a Post.""" | |
ASPECT_NAME = 'postKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.PostKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "PostKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: A unique id for the DataHub Post record. Generated on the server side at Post creation time.""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: A unique id for the DataHub Post record. Generated on the server side at Post creation time.""" | |
self._inner_dict['id'] = value | |
class SchemaFieldKeyClass(_Aspect): | |
"""Key for a SchemaField""" | |
ASPECT_NAME = 'schemaFieldKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.SchemaFieldKey") | |
def __init__(self, | |
parent: str, | |
fieldPath: str, | |
): | |
super().__init__() | |
self.parent = parent | |
self.fieldPath = fieldPath | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemaFieldKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.parent = str() | |
self.fieldPath = str() | |
@property | |
def parent(self) -> str: | |
"""Getter: Parent associated with the schema field""" | |
return self._inner_dict.get('parent') # type: ignore | |
@parent.setter | |
def parent(self, value: str) -> None: | |
"""Setter: Parent associated with the schema field""" | |
self._inner_dict['parent'] = value | |
@property | |
def fieldPath(self) -> str: | |
"""Getter: fieldPath identifying the schema field""" | |
return self._inner_dict.get('fieldPath') # type: ignore | |
@fieldPath.setter | |
def fieldPath(self, value: str) -> None: | |
"""Setter: fieldPath identifying the schema field""" | |
self._inner_dict['fieldPath'] = value | |
class TagKeyClass(_Aspect): | |
"""Key for a Tag""" | |
ASPECT_NAME = 'tagKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.TagKey") | |
def __init__(self, | |
name: str, | |
): | |
super().__init__() | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "TagKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
@property | |
def name(self) -> str: | |
"""Getter: The tag name, which serves as a unique id""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The tag name, which serves as a unique id""" | |
self._inner_dict['name'] = value | |
class TelemetryKeyClass(_Aspect): | |
"""Key for the telemetry client ID, only one should ever exist""" | |
ASPECT_NAME = 'telemetryKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.TelemetryKey") | |
def __init__(self, | |
name: str, | |
): | |
super().__init__() | |
self.name = name | |
@classmethod | |
def construct_with_defaults(cls) -> "TelemetryKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
@property | |
def name(self) -> str: | |
"""Getter: The telemetry entity name, which serves as a unique id""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The telemetry entity name, which serves as a unique id""" | |
self._inner_dict['name'] = value | |
class TestKeyClass(_Aspect): | |
"""Key for a Test""" | |
ASPECT_NAME = 'testKey' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.TestKey") | |
def __init__(self, | |
id: str, | |
): | |
super().__init__() | |
self.id = id | |
@classmethod | |
def construct_with_defaults(cls) -> "TestKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.id = str() | |
@property | |
def id(self) -> str: | |
"""Getter: Unique id for the test""" | |
return self._inner_dict.get('id') # type: ignore | |
@id.setter | |
def id(self, value: str) -> None: | |
"""Setter: Unique id for the test""" | |
self._inner_dict['id'] = value | |
class ConditionClass(object): | |
"""The matching condition in a filter criterion""" | |
"""Represent the relation: String field contains value, e.g. name contains Profile""" | |
CONTAIN = "CONTAIN" | |
"""Represent the relation: String field ends with value, e.g. name ends with Event""" | |
END_WITH = "END_WITH" | |
"""Represent the relation: field = value, e.g. platform = hdfs""" | |
EQUAL = "EQUAL" | |
"""Represent the relation: field is null, e.g. platform is null""" | |
IS_NULL = "IS_NULL" | |
"""Represent the relation greater than, e.g. ownerCount > 5""" | |
GREATER_THAN = "GREATER_THAN" | |
"""Represent the relation greater than or equal to, e.g. ownerCount >= 5""" | |
GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO" | |
"""Represent the relation: String field is one of the array values to, e.g. name in ["Profile", "Event"]""" | |
IN = "IN" | |
"""Represent the relation less than, e.g. ownerCount < 3""" | |
LESS_THAN = "LESS_THAN" | |
"""Represent the relation less than or equal to, e.g. ownerCount <= 3""" | |
LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO" | |
"""Represent the relation: String field starts with value, e.g. name starts with PageView""" | |
START_WITH = "START_WITH" | |
class ConjunctiveCriterionClass(DictWrapper): | |
"""A list of criterion and'd together.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.query.filter.ConjunctiveCriterion") | |
def __init__(self, | |
and_: List["CriterionClass"], | |
): | |
super().__init__() | |
self.and_ = and_ | |
@classmethod | |
def construct_with_defaults(cls) -> "ConjunctiveCriterionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.and_ = list() | |
@property | |
def and_(self) -> List["CriterionClass"]: | |
"""Getter: A list of and criteria the filter applies to the query""" | |
return self._inner_dict.get('and') # type: ignore | |
@and_.setter | |
def and_(self, value: List["CriterionClass"]) -> None: | |
"""Setter: A list of and criteria the filter applies to the query""" | |
self._inner_dict['and'] = value | |
class CriterionClass(DictWrapper): | |
"""A criterion for matching a field with given value""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.query.filter.Criterion") | |
def __init__(self, | |
field: str, | |
value: str, | |
values: Optional[List[str]]=None, | |
condition: Optional[Union[str, "ConditionClass"]]=None, | |
negated: Optional[bool]=None, | |
): | |
super().__init__() | |
self.field = field | |
self.value = value | |
if values is None: | |
# default: [] | |
self.values = list() | |
else: | |
self.values = values | |
if condition is None: | |
# default: 'EQUAL' | |
self.condition = self.RECORD_SCHEMA.fields_dict["condition"].default | |
else: | |
self.condition = condition | |
if negated is None: | |
# default: False | |
self.negated = self.RECORD_SCHEMA.fields_dict["negated"].default | |
else: | |
self.negated = negated | |
@classmethod | |
def construct_with_defaults(cls) -> "CriterionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.field = str() | |
self.value = str() | |
self.values = list() | |
self.condition = self.RECORD_SCHEMA.fields_dict["condition"].default | |
self.negated = self.RECORD_SCHEMA.fields_dict["negated"].default | |
@property | |
def field(self) -> str: | |
"""Getter: The name of the field that the criterion refers to""" | |
return self._inner_dict.get('field') # type: ignore | |
@field.setter | |
def field(self, value: str) -> None: | |
"""Setter: The name of the field that the criterion refers to""" | |
self._inner_dict['field'] = value | |
@property | |
def value(self) -> str: | |
"""Getter: The value of the intended field""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: str) -> None: | |
"""Setter: The value of the intended field""" | |
self._inner_dict['value'] = value | |
@property | |
def values(self) -> List[str]: | |
"""Getter: Values. one of which the intended field should match | |
Note, if values is set, the above "value" field will be ignored""" | |
return self._inner_dict.get('values') # type: ignore | |
@values.setter | |
def values(self, value: List[str]) -> None: | |
"""Setter: Values. one of which the intended field should match | |
Note, if values is set, the above "value" field will be ignored""" | |
self._inner_dict['values'] = value | |
@property | |
def condition(self) -> Union[str, "ConditionClass"]: | |
"""Getter: The condition for the criterion, e.g. EQUAL, START_WITH""" | |
return self._inner_dict.get('condition') # type: ignore | |
@condition.setter | |
def condition(self, value: Union[str, "ConditionClass"]) -> None: | |
"""Setter: The condition for the criterion, e.g. EQUAL, START_WITH""" | |
self._inner_dict['condition'] = value | |
@property | |
def negated(self) -> bool: | |
"""Getter: Whether the condition should be negated""" | |
return self._inner_dict.get('negated') # type: ignore | |
@negated.setter | |
def negated(self, value: bool) -> None: | |
"""Setter: Whether the condition should be negated""" | |
self._inner_dict['negated'] = value | |
class FilterClass(DictWrapper): | |
"""The filter for finding a record or a collection of records""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.query.filter.Filter") | |
def __init__(self, | |
or_: Union[None, List["ConjunctiveCriterionClass"]]=None, | |
criteria: Union[None, List["CriterionClass"]]=None, | |
): | |
super().__init__() | |
self.or_ = or_ | |
self.criteria = criteria | |
@classmethod | |
def construct_with_defaults(cls) -> "FilterClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.or_ = self.RECORD_SCHEMA.fields_dict["or"].default | |
self.criteria = self.RECORD_SCHEMA.fields_dict["criteria"].default | |
@property | |
def or_(self) -> Union[None, List["ConjunctiveCriterionClass"]]: | |
"""Getter: A list of disjunctive criterion for the filter. (or operation to combine filters)""" | |
return self._inner_dict.get('or') # type: ignore | |
@or_.setter | |
def or_(self, value: Union[None, List["ConjunctiveCriterionClass"]]) -> None: | |
"""Setter: A list of disjunctive criterion for the filter. (or operation to combine filters)""" | |
self._inner_dict['or'] = value | |
@property | |
def criteria(self) -> Union[None, List["CriterionClass"]]: | |
"""Getter: Deprecated! A list of conjunctive criterion for the filter. If "or" field is provided, then this field is ignored.""" | |
return self._inner_dict.get('criteria') # type: ignore | |
@criteria.setter | |
def criteria(self, value: Union[None, List["CriterionClass"]]) -> None: | |
"""Setter: Deprecated! A list of conjunctive criterion for the filter. If "or" field is provided, then this field is ignored.""" | |
self._inner_dict['criteria'] = value | |
class ChartSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific Chart entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.ChartSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["ChartKeyClass", "ChartInfoClass", "ChartQueryClass", "EditableChartPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["ChartKeyClass", "ChartInfoClass", "ChartQueryClass", "EditableChartPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the chart. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["ChartKeyClass", "ChartInfoClass", "ChartQueryClass", "EditableChartPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the chart. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class CorpGroupSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific CorpGroup entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.CorpGroupSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["CorpGroupKeyClass", "CorpGroupInfoClass", "GlobalTagsClass", "StatusClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpGroupSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["CorpGroupKeyClass", "CorpGroupInfoClass", "GlobalTagsClass", "StatusClass"]]: | |
"""Getter: The list of metadata aspects associated with the LdapUser. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["CorpGroupKeyClass", "CorpGroupInfoClass", "GlobalTagsClass", "StatusClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the LdapUser. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class CorpUserSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific CorpUser entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.CorpUserSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["CorpUserKeyClass", "CorpUserInfoClass", "CorpUserEditableInfoClass", "CorpUserStatusClass", "GroupMembershipClass", "GlobalTagsClass", "StatusClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "CorpUserSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["CorpUserKeyClass", "CorpUserInfoClass", "CorpUserEditableInfoClass", "CorpUserStatusClass", "GroupMembershipClass", "GlobalTagsClass", "StatusClass"]]: | |
"""Getter: The list of metadata aspects associated with the CorpUser. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["CorpUserKeyClass", "CorpUserInfoClass", "CorpUserEditableInfoClass", "CorpUserStatusClass", "GroupMembershipClass", "GlobalTagsClass", "StatusClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the CorpUser. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DashboardSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific Dashboard entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DashboardSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DashboardKeyClass", "DashboardInfoClass", "EditableDashboardPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DashboardSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DashboardKeyClass", "DashboardInfoClass", "EditableDashboardPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the dashboard. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DashboardKeyClass", "DashboardInfoClass", "EditableDashboardPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the dashboard. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DataFlowSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific DataFlow entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataFlowSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataFlowKeyClass", "DataFlowInfoClass", "EditableDataFlowPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataFlowSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataFlowKeyClass", "DataFlowInfoClass", "EditableDataFlowPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the data flow. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataFlowKeyClass", "DataFlowInfoClass", "EditableDataFlowPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the data flow. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DataHubPolicySnapshotClass(DictWrapper): | |
"""A metadata snapshot for DataHub Access Policy data.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataHubPolicySnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataHubPolicyKeyClass", "DataHubPolicyInfoClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubPolicySnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataHubPolicyKeyClass", "DataHubPolicyInfoClass"]]: | |
"""Getter: The list of metadata aspects associated with the DataHub access policy.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataHubPolicyKeyClass", "DataHubPolicyInfoClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the DataHub access policy.""" | |
self._inner_dict['aspects'] = value | |
class DataHubRetentionSnapshotClass(DictWrapper): | |
"""A metadata snapshot for DataHub Access Policy data.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataHubRetentionSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataHubRetentionKeyClass", "DataHubRetentionConfigClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubRetentionSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataHubRetentionKeyClass", "DataHubRetentionConfigClass"]]: | |
"""Getter: The list of metadata aspects associated with the DataHub access policy.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataHubRetentionKeyClass", "DataHubRetentionConfigClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the DataHub access policy.""" | |
self._inner_dict['aspects'] = value | |
class DataJobSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific DataJob entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataJobSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataJobKeyClass", "DataJobInfoClass", "DataJobInputOutputClass", "EditableDataJobPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataJobSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataJobKeyClass", "DataJobInfoClass", "DataJobInputOutputClass", "EditableDataJobPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the data job. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataJobKeyClass", "DataJobInfoClass", "DataJobInputOutputClass", "EditableDataJobPropertiesClass", "OwnershipClass", "StatusClass", "GlobalTagsClass", "BrowsePathsClass", "GlossaryTermsClass", "InstitutionalMemoryClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the data job. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DataPlatformSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific dataplatform entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataPlatformSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataPlatformKeyClass", "DataPlatformInfoClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataPlatformSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataPlatformKeyClass", "DataPlatformInfoClass"]]: | |
"""Getter: The list of metadata aspects associated with the data platform. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataPlatformKeyClass", "DataPlatformInfoClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the data platform. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DataProcessSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific Data process entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DataProcessSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DataProcessKeyClass", "OwnershipClass", "DataProcessInfoClass", "StatusClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DataProcessSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DataProcessKeyClass", "OwnershipClass", "DataProcessInfoClass", "StatusClass"]]: | |
"""Getter: The list of metadata aspects associated with the data process. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DataProcessKeyClass", "OwnershipClass", "DataProcessInfoClass", "StatusClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the data process. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class DatasetSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific dataset entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.DatasetSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["DatasetKeyClass", "DatasetPropertiesClass", "EditableDatasetPropertiesClass", "DatasetDeprecationClass", "DatasetUpstreamLineageClass", "UpstreamLineageClass", "InstitutionalMemoryClass", "OwnershipClass", "StatusClass", "SchemaMetadataClass", "EditableSchemaMetadataClass", "GlobalTagsClass", "GlossaryTermsClass", "BrowsePathsClass", "DataPlatformInstanceClass", "ViewPropertiesClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["DatasetKeyClass", "DatasetPropertiesClass", "EditableDatasetPropertiesClass", "DatasetDeprecationClass", "DatasetUpstreamLineageClass", "UpstreamLineageClass", "InstitutionalMemoryClass", "OwnershipClass", "StatusClass", "SchemaMetadataClass", "EditableSchemaMetadataClass", "GlobalTagsClass", "GlossaryTermsClass", "BrowsePathsClass", "DataPlatformInstanceClass", "ViewPropertiesClass"]]: | |
"""Getter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["DatasetKeyClass", "DatasetPropertiesClass", "EditableDatasetPropertiesClass", "DatasetDeprecationClass", "DatasetUpstreamLineageClass", "UpstreamLineageClass", "InstitutionalMemoryClass", "OwnershipClass", "StatusClass", "SchemaMetadataClass", "EditableSchemaMetadataClass", "GlobalTagsClass", "GlossaryTermsClass", "BrowsePathsClass", "DataPlatformInstanceClass", "ViewPropertiesClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class GlossaryNodeSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific GlossaryNode entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.GlossaryNodeSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["GlossaryNodeKeyClass", "GlossaryNodeInfoClass", "OwnershipClass", "StatusClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryNodeSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["GlossaryNodeKeyClass", "GlossaryNodeInfoClass", "OwnershipClass", "StatusClass"]]: | |
"""Getter: The list of metadata aspects associated with the GlossaryNode. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["GlossaryNodeKeyClass", "GlossaryNodeInfoClass", "OwnershipClass", "StatusClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the GlossaryNode. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class GlossaryTermSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific GlossaryTerm entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.GlossaryTermSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["GlossaryTermKeyClass", "GlossaryTermInfoClass", "OwnershipClass", "StatusClass", "BrowsePathsClass", "GlossaryRelatedTermsClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "GlossaryTermSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["GlossaryTermKeyClass", "GlossaryTermInfoClass", "OwnershipClass", "StatusClass", "BrowsePathsClass", "GlossaryRelatedTermsClass"]]: | |
"""Getter: The list of metadata aspects associated with the GlossaryTerm. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["GlossaryTermKeyClass", "GlossaryTermInfoClass", "OwnershipClass", "StatusClass", "BrowsePathsClass", "GlossaryRelatedTermsClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the GlossaryTerm. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLFeatureSnapshotClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLFeatureSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLFeatureKeyClass", "MLFeaturePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeatureSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLFeatureKeyClass", "MLFeaturePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLFeature. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLFeatureKeyClass", "MLFeaturePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLFeature. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLFeatureTableSnapshotClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLFeatureTableSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLFeatureTableKeyClass", "MLFeatureTablePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeatureTableSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLFeatureTableKeyClass", "MLFeatureTablePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLFeatureTable. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLFeatureTableKeyClass", "MLFeatureTablePropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLFeatureTable. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLModelDeploymentSnapshotClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLModelDeploymentSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLModelDeploymentKeyClass", "MLModelDeploymentPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelDeploymentSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLModelDeploymentKeyClass", "MLModelDeploymentPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLModelDeployment. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLModelDeploymentKeyClass", "MLModelDeploymentPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLModelDeployment. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLModelGroupSnapshotClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLModelGroupSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLModelGroupKeyClass", "MLModelGroupPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelGroupSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLModelGroupKeyClass", "MLModelGroupPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLModelGroup. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLModelGroupKeyClass", "MLModelGroupPropertiesClass", "OwnershipClass", "StatusClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLModelGroup. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLModelSnapshotClass(DictWrapper): | |
"""MLModel Snapshot entity details.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLModelSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLModelKeyClass", "OwnershipClass", "MLModelPropertiesClass", "IntendedUseClass", "MLModelFactorPromptsClass", "MetricsClass", "EvaluationDataClass", "TrainingDataClass", "QuantitativeAnalysesClass", "EthicalConsiderationsClass", "CaveatsAndRecommendationsClass", "InstitutionalMemoryClass", "SourceCodeClass", "StatusClass", "CostClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLModelKeyClass", "OwnershipClass", "MLModelPropertiesClass", "IntendedUseClass", "MLModelFactorPromptsClass", "MetricsClass", "EvaluationDataClass", "TrainingDataClass", "QuantitativeAnalysesClass", "EthicalConsiderationsClass", "CaveatsAndRecommendationsClass", "InstitutionalMemoryClass", "SourceCodeClass", "StatusClass", "CostClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLModel. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLModelKeyClass", "OwnershipClass", "MLModelPropertiesClass", "IntendedUseClass", "MLModelFactorPromptsClass", "MetricsClass", "EvaluationDataClass", "TrainingDataClass", "QuantitativeAnalysesClass", "EthicalConsiderationsClass", "CaveatsAndRecommendationsClass", "InstitutionalMemoryClass", "SourceCodeClass", "StatusClass", "CostClass", "DeprecationClass", "BrowsePathsClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLModel. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class MLPrimaryKeySnapshotClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.MLPrimaryKeySnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["MLPrimaryKeyKeyClass", "MLPrimaryKeyPropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "MLPrimaryKeySnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["MLPrimaryKeyKeyClass", "MLPrimaryKeyPropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]: | |
"""Getter: The list of metadata aspects associated with the MLPrimaryKey. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["MLPrimaryKeyKeyClass", "MLPrimaryKeyPropertiesClass", "OwnershipClass", "InstitutionalMemoryClass", "StatusClass", "DeprecationClass", "GlobalTagsClass", "DataPlatformInstanceClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the MLPrimaryKey. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class SchemaFieldSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific schema field entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.SchemaFieldSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List["SchemaFieldKeyClass"], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemaFieldSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List["SchemaFieldKeyClass"]: | |
"""Getter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List["SchemaFieldKeyClass"]) -> None: | |
"""Setter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class TagSnapshotClass(DictWrapper): | |
"""A metadata snapshot for a specific dataset entity.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.snapshot.TagSnapshot") | |
def __init__(self, | |
urn: str, | |
aspects: List[Union["TagKeyClass", "OwnershipClass", "TagPropertiesClass", "StatusClass"]], | |
): | |
super().__init__() | |
self.urn = urn | |
self.aspects = aspects | |
@classmethod | |
def construct_with_defaults(cls) -> "TagSnapshotClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.urn = str() | |
self.aspects = list() | |
@property | |
def urn(self) -> str: | |
"""Getter: URN for the entity the metadata snapshot is associated with.""" | |
return self._inner_dict.get('urn') # type: ignore | |
@urn.setter | |
def urn(self, value: str) -> None: | |
"""Setter: URN for the entity the metadata snapshot is associated with.""" | |
self._inner_dict['urn'] = value | |
@property | |
def aspects(self) -> List[Union["TagKeyClass", "OwnershipClass", "TagPropertiesClass", "StatusClass"]]: | |
"""Getter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
return self._inner_dict.get('aspects') # type: ignore | |
@aspects.setter | |
def aspects(self, value: List[Union["TagKeyClass", "OwnershipClass", "TagPropertiesClass", "StatusClass"]]) -> None: | |
"""Setter: The list of metadata aspects associated with the dataset. Depending on the use case, this can either be all, or a selection, of supported aspects.""" | |
self._inner_dict['aspects'] = value | |
class BaseDataClass(DictWrapper): | |
"""BaseData record""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.BaseData") | |
def __init__(self, | |
dataset: str, | |
motivation: Union[None, str]=None, | |
preProcessing: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.dataset = dataset | |
self.motivation = motivation | |
self.preProcessing = preProcessing | |
@classmethod | |
def construct_with_defaults(cls) -> "BaseDataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.dataset = str() | |
self.motivation = self.RECORD_SCHEMA.fields_dict["motivation"].default | |
self.preProcessing = self.RECORD_SCHEMA.fields_dict["preProcessing"].default | |
@property | |
def dataset(self) -> str: | |
"""Getter: What dataset were used in the MLModel?""" | |
return self._inner_dict.get('dataset') # type: ignore | |
@dataset.setter | |
def dataset(self, value: str) -> None: | |
"""Setter: What dataset were used in the MLModel?""" | |
self._inner_dict['dataset'] = value | |
@property | |
def motivation(self) -> Union[None, str]: | |
"""Getter: Why was this dataset chosen?""" | |
return self._inner_dict.get('motivation') # type: ignore | |
@motivation.setter | |
def motivation(self, value: Union[None, str]) -> None: | |
"""Setter: Why was this dataset chosen?""" | |
self._inner_dict['motivation'] = value | |
@property | |
def preProcessing(self) -> Union[None, List[str]]: | |
"""Getter: How was the data preprocessed (e.g., tokenization of sentences, cropping of images, any filtering such as dropping images without faces)?""" | |
return self._inner_dict.get('preProcessing') # type: ignore | |
@preProcessing.setter | |
def preProcessing(self, value: Union[None, List[str]]) -> None: | |
"""Setter: How was the data preprocessed (e.g., tokenization of sentences, cropping of images, any filtering such as dropping images without faces)?""" | |
self._inner_dict['preProcessing'] = value | |
class CaveatDetailsClass(DictWrapper): | |
"""This section should list additional concerns that were not covered in the previous sections. For example, did the results suggest any further testing? Were there any relevant groups that were not represented in the evaluation dataset? Are there additional recommendations for model use?""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.CaveatDetails") | |
def __init__(self, | |
needsFurtherTesting: Union[None, bool]=None, | |
caveatDescription: Union[None, str]=None, | |
groupsNotRepresented: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.needsFurtherTesting = needsFurtherTesting | |
self.caveatDescription = caveatDescription | |
self.groupsNotRepresented = groupsNotRepresented | |
@classmethod | |
def construct_with_defaults(cls) -> "CaveatDetailsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.needsFurtherTesting = self.RECORD_SCHEMA.fields_dict["needsFurtherTesting"].default | |
self.caveatDescription = self.RECORD_SCHEMA.fields_dict["caveatDescription"].default | |
self.groupsNotRepresented = self.RECORD_SCHEMA.fields_dict["groupsNotRepresented"].default | |
@property | |
def needsFurtherTesting(self) -> Union[None, bool]: | |
"""Getter: Did the results suggest any further testing?""" | |
return self._inner_dict.get('needsFurtherTesting') # type: ignore | |
@needsFurtherTesting.setter | |
def needsFurtherTesting(self, value: Union[None, bool]) -> None: | |
"""Setter: Did the results suggest any further testing?""" | |
self._inner_dict['needsFurtherTesting'] = value | |
@property | |
def caveatDescription(self) -> Union[None, str]: | |
"""Getter: Caveat Description | |
For ex: Given gender classes are binary (male/not male), which we include as male/female. Further work needed to evaluate across a spectrum of genders.""" | |
return self._inner_dict.get('caveatDescription') # type: ignore | |
@caveatDescription.setter | |
def caveatDescription(self, value: Union[None, str]) -> None: | |
"""Setter: Caveat Description | |
For ex: Given gender classes are binary (male/not male), which we include as male/female. Further work needed to evaluate across a spectrum of genders.""" | |
self._inner_dict['caveatDescription'] = value | |
@property | |
def groupsNotRepresented(self) -> Union[None, List[str]]: | |
"""Getter: Relevant groups that were not represented in the evaluation dataset?""" | |
return self._inner_dict.get('groupsNotRepresented') # type: ignore | |
@groupsNotRepresented.setter | |
def groupsNotRepresented(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Relevant groups that were not represented in the evaluation dataset?""" | |
self._inner_dict['groupsNotRepresented'] = value | |
class CaveatsAndRecommendationsClass(_Aspect): | |
"""This section should list additional concerns that were not covered in the previous sections. For example, did the results suggest any further testing? Were there any relevant groups that were not represented in the evaluation dataset? Are there additional recommendations for model use?""" | |
ASPECT_NAME = 'mlModelCaveatsAndRecommendations' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.CaveatsAndRecommendations") | |
def __init__(self, | |
caveats: Union[None, "CaveatDetailsClass"]=None, | |
recommendations: Union[None, str]=None, | |
idealDatasetCharacteristics: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.caveats = caveats | |
self.recommendations = recommendations | |
self.idealDatasetCharacteristics = idealDatasetCharacteristics | |
@classmethod | |
def construct_with_defaults(cls) -> "CaveatsAndRecommendationsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.caveats = self.RECORD_SCHEMA.fields_dict["caveats"].default | |
self.recommendations = self.RECORD_SCHEMA.fields_dict["recommendations"].default | |
self.idealDatasetCharacteristics = self.RECORD_SCHEMA.fields_dict["idealDatasetCharacteristics"].default | |
@property | |
def caveats(self) -> Union[None, "CaveatDetailsClass"]: | |
"""Getter: This section should list additional concerns that were not covered in the previous sections. For example, did the results suggest any further testing? Were there any relevant groups that were not represented in the evaluation dataset?""" | |
return self._inner_dict.get('caveats') # type: ignore | |
@caveats.setter | |
def caveats(self, value: Union[None, "CaveatDetailsClass"]) -> None: | |
"""Setter: This section should list additional concerns that were not covered in the previous sections. For example, did the results suggest any further testing? Were there any relevant groups that were not represented in the evaluation dataset?""" | |
self._inner_dict['caveats'] = value | |
@property | |
def recommendations(self) -> Union[None, str]: | |
"""Getter: Recommendations on where this MLModel should be used.""" | |
return self._inner_dict.get('recommendations') # type: ignore | |
@recommendations.setter | |
def recommendations(self, value: Union[None, str]) -> None: | |
"""Setter: Recommendations on where this MLModel should be used.""" | |
self._inner_dict['recommendations'] = value | |
@property | |
def idealDatasetCharacteristics(self) -> Union[None, List[str]]: | |
"""Getter: Ideal characteristics of an evaluation dataset for this MLModel""" | |
return self._inner_dict.get('idealDatasetCharacteristics') # type: ignore | |
@idealDatasetCharacteristics.setter | |
def idealDatasetCharacteristics(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Ideal characteristics of an evaluation dataset for this MLModel""" | |
self._inner_dict['idealDatasetCharacteristics'] = value | |
class DeploymentStatusClass(object): | |
"""Model endpoint statuses""" | |
"""Deployments out of service.""" | |
OUT_OF_SERVICE = "OUT_OF_SERVICE" | |
"""Deployments being created.""" | |
CREATING = "CREATING" | |
"""Deployments being updated.""" | |
UPDATING = "UPDATING" | |
"""Deployments being reverted to a previous version.""" | |
ROLLING_BACK = "ROLLING_BACK" | |
"""Deployments that are active.""" | |
IN_SERVICE = "IN_SERVICE" | |
"""Deployments being deleted.""" | |
DELETING = "DELETING" | |
"""Deployments with an error state.""" | |
FAILED = "FAILED" | |
"""Deployments with unknown/unmappable state.""" | |
UNKNOWN = "UNKNOWN" | |
class EditableMLFeaturePropertiesClass(_Aspect): | |
"""Properties associated with a MLFeature editable from the UI""" | |
ASPECT_NAME = 'editableMlFeatureProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EditableMLFeatureProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableMLFeaturePropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLFeature""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLFeature""" | |
self._inner_dict['description'] = value | |
class EditableMLFeatureTablePropertiesClass(_Aspect): | |
"""Properties associated with a MLFeatureTable editable from the ui""" | |
ASPECT_NAME = 'editableMlFeatureTableProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EditableMLFeatureTableProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableMLFeatureTablePropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLFeatureTable""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLFeatureTable""" | |
self._inner_dict['description'] = value | |
class EditableMLModelGroupPropertiesClass(_Aspect): | |
"""Properties associated with an ML Model Group editable from the UI""" | |
ASPECT_NAME = 'editableMlModelGroupProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EditableMLModelGroupProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableMLModelGroupPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the ml model group""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the ml model group""" | |
self._inner_dict['description'] = value | |
class EditableMLModelPropertiesClass(_Aspect): | |
"""Properties associated with a ML Model editable from the UI""" | |
ASPECT_NAME = 'editableMlModelProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EditableMLModelProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableMLModelPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the ml model""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the ml model""" | |
self._inner_dict['description'] = value | |
class EditableMLPrimaryKeyPropertiesClass(_Aspect): | |
"""Properties associated with a MLPrimaryKey editable from the UI""" | |
ASPECT_NAME = 'editableMlPrimaryKeyProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EditableMLPrimaryKeyProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableMLPrimaryKeyPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLPrimaryKey""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLPrimaryKey""" | |
self._inner_dict['description'] = value | |
class EthicalConsiderationsClass(_Aspect): | |
"""This section is intended to demonstrate the ethical considerations that went into MLModel development, surfacing ethical challenges and solutions to stakeholders.""" | |
ASPECT_NAME = 'mlModelEthicalConsiderations' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EthicalConsiderations") | |
def __init__(self, | |
data: Union[None, List[str]]=None, | |
humanLife: Union[None, List[str]]=None, | |
mitigations: Union[None, List[str]]=None, | |
risksAndHarms: Union[None, List[str]]=None, | |
useCases: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.data = data | |
self.humanLife = humanLife | |
self.mitigations = mitigations | |
self.risksAndHarms = risksAndHarms | |
self.useCases = useCases | |
@classmethod | |
def construct_with_defaults(cls) -> "EthicalConsiderationsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.data = self.RECORD_SCHEMA.fields_dict["data"].default | |
self.humanLife = self.RECORD_SCHEMA.fields_dict["humanLife"].default | |
self.mitigations = self.RECORD_SCHEMA.fields_dict["mitigations"].default | |
self.risksAndHarms = self.RECORD_SCHEMA.fields_dict["risksAndHarms"].default | |
self.useCases = self.RECORD_SCHEMA.fields_dict["useCases"].default | |
@property | |
def data(self) -> Union[None, List[str]]: | |
"""Getter: Does the MLModel use any sensitive data (e.g., protected classes)?""" | |
return self._inner_dict.get('data') # type: ignore | |
@data.setter | |
def data(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Does the MLModel use any sensitive data (e.g., protected classes)?""" | |
self._inner_dict['data'] = value | |
@property | |
def humanLife(self) -> Union[None, List[str]]: | |
"""Getter: Is the MLModel intended to inform decisions about matters central to human life or flourishing – e.g., health or safety? Or could it be used in such a way?""" | |
return self._inner_dict.get('humanLife') # type: ignore | |
@humanLife.setter | |
def humanLife(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Is the MLModel intended to inform decisions about matters central to human life or flourishing – e.g., health or safety? Or could it be used in such a way?""" | |
self._inner_dict['humanLife'] = value | |
@property | |
def mitigations(self) -> Union[None, List[str]]: | |
"""Getter: What risk mitigation strategies were used during MLModel development?""" | |
return self._inner_dict.get('mitigations') # type: ignore | |
@mitigations.setter | |
def mitigations(self, value: Union[None, List[str]]) -> None: | |
"""Setter: What risk mitigation strategies were used during MLModel development?""" | |
self._inner_dict['mitigations'] = value | |
@property | |
def risksAndHarms(self) -> Union[None, List[str]]: | |
"""Getter: What risks may be present in MLModel usage? Try to identify the potential recipients, likelihood, and magnitude of harms. If these cannot be determined, note that they were considered but remain unknown.""" | |
return self._inner_dict.get('risksAndHarms') # type: ignore | |
@risksAndHarms.setter | |
def risksAndHarms(self, value: Union[None, List[str]]) -> None: | |
"""Setter: What risks may be present in MLModel usage? Try to identify the potential recipients, likelihood, and magnitude of harms. If these cannot be determined, note that they were considered but remain unknown.""" | |
self._inner_dict['risksAndHarms'] = value | |
@property | |
def useCases(self) -> Union[None, List[str]]: | |
"""Getter: Are there any known MLModel use cases that are especially fraught? This may connect directly to the intended use section""" | |
return self._inner_dict.get('useCases') # type: ignore | |
@useCases.setter | |
def useCases(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Are there any known MLModel use cases that are especially fraught? This may connect directly to the intended use section""" | |
self._inner_dict['useCases'] = value | |
class EvaluationDataClass(_Aspect): | |
"""All referenced datasets would ideally point to any set of documents that provide visibility into the source and composition of the dataset.""" | |
ASPECT_NAME = 'mlModelEvaluationData' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.EvaluationData") | |
def __init__(self, | |
evaluationData: List["BaseDataClass"], | |
): | |
super().__init__() | |
self.evaluationData = evaluationData | |
@classmethod | |
def construct_with_defaults(cls) -> "EvaluationDataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.evaluationData = list() | |
@property | |
def evaluationData(self) -> List["BaseDataClass"]: | |
"""Getter: Details on the dataset(s) used for the quantitative analyses in the MLModel""" | |
return self._inner_dict.get('evaluationData') # type: ignore | |
@evaluationData.setter | |
def evaluationData(self, value: List["BaseDataClass"]) -> None: | |
"""Setter: Details on the dataset(s) used for the quantitative analyses in the MLModel""" | |
self._inner_dict['evaluationData'] = value | |
class IntendedUseClass(_Aspect): | |
"""Intended Use for the ML Model""" | |
ASPECT_NAME = 'intendedUse' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.IntendedUse") | |
def __init__(self, | |
primaryUses: Union[None, List[str]]=None, | |
primaryUsers: Union[None, List[Union[str, "IntendedUserTypeClass"]]]=None, | |
outOfScopeUses: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.primaryUses = primaryUses | |
self.primaryUsers = primaryUsers | |
self.outOfScopeUses = outOfScopeUses | |
@classmethod | |
def construct_with_defaults(cls) -> "IntendedUseClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.primaryUses = self.RECORD_SCHEMA.fields_dict["primaryUses"].default | |
self.primaryUsers = self.RECORD_SCHEMA.fields_dict["primaryUsers"].default | |
self.outOfScopeUses = self.RECORD_SCHEMA.fields_dict["outOfScopeUses"].default | |
@property | |
def primaryUses(self) -> Union[None, List[str]]: | |
"""Getter: Primary Use cases for the MLModel.""" | |
return self._inner_dict.get('primaryUses') # type: ignore | |
@primaryUses.setter | |
def primaryUses(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Primary Use cases for the MLModel.""" | |
self._inner_dict['primaryUses'] = value | |
@property | |
def primaryUsers(self) -> Union[None, List[Union[str, "IntendedUserTypeClass"]]]: | |
"""Getter: Primary Intended Users - For example, was the MLModel developed for entertainment purposes, for hobbyists, or enterprise solutions?""" | |
return self._inner_dict.get('primaryUsers') # type: ignore | |
@primaryUsers.setter | |
def primaryUsers(self, value: Union[None, List[Union[str, "IntendedUserTypeClass"]]]) -> None: | |
"""Setter: Primary Intended Users - For example, was the MLModel developed for entertainment purposes, for hobbyists, or enterprise solutions?""" | |
self._inner_dict['primaryUsers'] = value | |
@property | |
def outOfScopeUses(self) -> Union[None, List[str]]: | |
"""Getter: Highlight technology that the MLModel might easily be confused with, or related contexts that users could try to apply the MLModel to.""" | |
return self._inner_dict.get('outOfScopeUses') # type: ignore | |
@outOfScopeUses.setter | |
def outOfScopeUses(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Highlight technology that the MLModel might easily be confused with, or related contexts that users could try to apply the MLModel to.""" | |
self._inner_dict['outOfScopeUses'] = value | |
class IntendedUserTypeClass(object): | |
# No docs available. | |
ENTERPRISE = "ENTERPRISE" | |
HOBBY = "HOBBY" | |
ENTERTAINMENT = "ENTERTAINMENT" | |
class MLFeaturePropertiesClass(_Aspect): | |
"""Properties associated with a MLFeature""" | |
ASPECT_NAME = 'mlFeatureProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLFeatureProperties") | |
def __init__(self, | |
description: Union[None, str]=None, | |
dataType: Union[None, Union[str, "MLFeatureDataTypeClass"]]=None, | |
version: Union[None, "VersionTagClass"]=None, | |
sources: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.description = description | |
self.dataType = dataType | |
self.version = version | |
self.sources = sources | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeaturePropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.dataType = self.RECORD_SCHEMA.fields_dict["dataType"].default | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.sources = self.RECORD_SCHEMA.fields_dict["sources"].default | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLFeature""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLFeature""" | |
self._inner_dict['description'] = value | |
@property | |
def dataType(self) -> Union[None, Union[str, "MLFeatureDataTypeClass"]]: | |
"""Getter: Data Type of the MLFeature""" | |
return self._inner_dict.get('dataType') # type: ignore | |
@dataType.setter | |
def dataType(self, value: Union[None, Union[str, "MLFeatureDataTypeClass"]]) -> None: | |
"""Setter: Data Type of the MLFeature""" | |
self._inner_dict['dataType'] = value | |
@property | |
def version(self) -> Union[None, "VersionTagClass"]: | |
"""Getter: Version of the MLFeature""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionTagClass"]) -> None: | |
"""Setter: Version of the MLFeature""" | |
self._inner_dict['version'] = value | |
@property | |
def sources(self) -> Union[None, List[str]]: | |
"""Getter: Source of the MLFeature""" | |
return self._inner_dict.get('sources') # type: ignore | |
@sources.setter | |
def sources(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Source of the MLFeature""" | |
self._inner_dict['sources'] = value | |
class MLFeatureTablePropertiesClass(_Aspect): | |
"""Properties associated with a MLFeatureTable""" | |
ASPECT_NAME = 'mlFeatureTableProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLFeatureTableProperties") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
description: Union[None, str]=None, | |
mlFeatures: Union[None, List[str]]=None, | |
mlPrimaryKeys: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.description = description | |
self.mlFeatures = mlFeatures | |
self.mlPrimaryKeys = mlPrimaryKeys | |
@classmethod | |
def construct_with_defaults(cls) -> "MLFeatureTablePropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.mlFeatures = self.RECORD_SCHEMA.fields_dict["mlFeatures"].default | |
self.mlPrimaryKeys = self.RECORD_SCHEMA.fields_dict["mlPrimaryKeys"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLFeatureTable""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLFeatureTable""" | |
self._inner_dict['description'] = value | |
@property | |
def mlFeatures(self) -> Union[None, List[str]]: | |
"""Getter: List of features contained in the feature table""" | |
return self._inner_dict.get('mlFeatures') # type: ignore | |
@mlFeatures.setter | |
def mlFeatures(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of features contained in the feature table""" | |
self._inner_dict['mlFeatures'] = value | |
@property | |
def mlPrimaryKeys(self) -> Union[None, List[str]]: | |
"""Getter: List of primary keys in the feature table (if multiple, assumed to act as a composite key)""" | |
return self._inner_dict.get('mlPrimaryKeys') # type: ignore | |
@mlPrimaryKeys.setter | |
def mlPrimaryKeys(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of primary keys in the feature table (if multiple, assumed to act as a composite key)""" | |
self._inner_dict['mlPrimaryKeys'] = value | |
class MLHyperParamClass(_Aspect): | |
"""Properties associated with an ML Hyper Param""" | |
ASPECT_NAME = 'mlHyperParam' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLHyperParam") | |
def __init__(self, | |
name: str, | |
description: Union[None, str]=None, | |
value: Union[None, str]=None, | |
createdAt: Union[None, int]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.description = description | |
self.value = value | |
self.createdAt = createdAt | |
@classmethod | |
def construct_with_defaults(cls) -> "MLHyperParamClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.value = self.RECORD_SCHEMA.fields_dict["value"].default | |
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the MLHyperParam""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the MLHyperParam""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLHyperParam""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLHyperParam""" | |
self._inner_dict['description'] = value | |
@property | |
def value(self) -> Union[None, str]: | |
"""Getter: The value of the MLHyperParam""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: Union[None, str]) -> None: | |
"""Setter: The value of the MLHyperParam""" | |
self._inner_dict['value'] = value | |
@property | |
def createdAt(self) -> Union[None, int]: | |
"""Getter: Date when the MLHyperParam was developed""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: Union[None, int]) -> None: | |
"""Setter: Date when the MLHyperParam was developed""" | |
self._inner_dict['createdAt'] = value | |
class MLMetricClass(_Aspect): | |
"""Properties associated with an ML Metric""" | |
ASPECT_NAME = 'mlMetric' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLMetric") | |
def __init__(self, | |
name: str, | |
description: Union[None, str]=None, | |
value: Union[None, str]=None, | |
createdAt: Union[None, int]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.description = description | |
self.value = value | |
self.createdAt = createdAt | |
@classmethod | |
def construct_with_defaults(cls) -> "MLMetricClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.value = self.RECORD_SCHEMA.fields_dict["value"].default | |
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the mlMetric""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the mlMetric""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the mlMetric""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the mlMetric""" | |
self._inner_dict['description'] = value | |
@property | |
def value(self) -> Union[None, str]: | |
"""Getter: The value of the mlMetric""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: Union[None, str]) -> None: | |
"""Setter: The value of the mlMetric""" | |
self._inner_dict['value'] = value | |
@property | |
def createdAt(self) -> Union[None, int]: | |
"""Getter: Date when the mlMetric was developed""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: Union[None, int]) -> None: | |
"""Setter: Date when the mlMetric was developed""" | |
self._inner_dict['createdAt'] = value | |
class MLModelDeploymentPropertiesClass(_Aspect): | |
"""Properties associated with an ML Model Deployment""" | |
ASPECT_NAME = 'mlModelDeploymentProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLModelDeploymentProperties") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
description: Union[None, str]=None, | |
createdAt: Union[None, int]=None, | |
version: Union[None, "VersionTagClass"]=None, | |
status: Union[None, Union[str, "DeploymentStatusClass"]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.description = description | |
self.createdAt = createdAt | |
self.version = version | |
self.status = status | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelDeploymentPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.status = self.RECORD_SCHEMA.fields_dict["status"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLModelDeployment""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLModelDeployment""" | |
self._inner_dict['description'] = value | |
@property | |
def createdAt(self) -> Union[None, int]: | |
"""Getter: Date when the MLModelDeployment was developed""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: Union[None, int]) -> None: | |
"""Setter: Date when the MLModelDeployment was developed""" | |
self._inner_dict['createdAt'] = value | |
@property | |
def version(self) -> Union[None, "VersionTagClass"]: | |
"""Getter: Version of the MLModelDeployment""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionTagClass"]) -> None: | |
"""Setter: Version of the MLModelDeployment""" | |
self._inner_dict['version'] = value | |
@property | |
def status(self) -> Union[None, Union[str, "DeploymentStatusClass"]]: | |
"""Getter: Status of the deployment""" | |
return self._inner_dict.get('status') # type: ignore | |
@status.setter | |
def status(self, value: Union[None, Union[str, "DeploymentStatusClass"]]) -> None: | |
"""Setter: Status of the deployment""" | |
self._inner_dict['status'] = value | |
class MLModelFactorPromptsClass(_Aspect): | |
"""Prompts which affect the performance of the MLModel""" | |
ASPECT_NAME = 'mlModelFactorPrompts' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLModelFactorPrompts") | |
def __init__(self, | |
relevantFactors: Union[None, List["MLModelFactorsClass"]]=None, | |
evaluationFactors: Union[None, List["MLModelFactorsClass"]]=None, | |
): | |
super().__init__() | |
self.relevantFactors = relevantFactors | |
self.evaluationFactors = evaluationFactors | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelFactorPromptsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.relevantFactors = self.RECORD_SCHEMA.fields_dict["relevantFactors"].default | |
self.evaluationFactors = self.RECORD_SCHEMA.fields_dict["evaluationFactors"].default | |
@property | |
def relevantFactors(self) -> Union[None, List["MLModelFactorsClass"]]: | |
"""Getter: What are foreseeable salient factors for which MLModel performance may vary, and how were these determined?""" | |
return self._inner_dict.get('relevantFactors') # type: ignore | |
@relevantFactors.setter | |
def relevantFactors(self, value: Union[None, List["MLModelFactorsClass"]]) -> None: | |
"""Setter: What are foreseeable salient factors for which MLModel performance may vary, and how were these determined?""" | |
self._inner_dict['relevantFactors'] = value | |
@property | |
def evaluationFactors(self) -> Union[None, List["MLModelFactorsClass"]]: | |
"""Getter: Which factors are being reported, and why were these chosen?""" | |
return self._inner_dict.get('evaluationFactors') # type: ignore | |
@evaluationFactors.setter | |
def evaluationFactors(self, value: Union[None, List["MLModelFactorsClass"]]) -> None: | |
"""Setter: Which factors are being reported, and why were these chosen?""" | |
self._inner_dict['evaluationFactors'] = value | |
class MLModelFactorsClass(DictWrapper): | |
"""Factors affecting the performance of the MLModel.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLModelFactors") | |
def __init__(self, | |
groups: Union[None, List[str]]=None, | |
instrumentation: Union[None, List[str]]=None, | |
environment: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.groups = groups | |
self.instrumentation = instrumentation | |
self.environment = environment | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelFactorsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.groups = self.RECORD_SCHEMA.fields_dict["groups"].default | |
self.instrumentation = self.RECORD_SCHEMA.fields_dict["instrumentation"].default | |
self.environment = self.RECORD_SCHEMA.fields_dict["environment"].default | |
@property | |
def groups(self) -> Union[None, List[str]]: | |
"""Getter: Groups refers to distinct categories with similar characteristics that are present in the evaluation data instances. | |
For human-centric machine learning MLModels, groups are people who share one or multiple characteristics.""" | |
return self._inner_dict.get('groups') # type: ignore | |
@groups.setter | |
def groups(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Groups refers to distinct categories with similar characteristics that are present in the evaluation data instances. | |
For human-centric machine learning MLModels, groups are people who share one or multiple characteristics.""" | |
self._inner_dict['groups'] = value | |
@property | |
def instrumentation(self) -> Union[None, List[str]]: | |
"""Getter: The performance of a MLModel can vary depending on what instruments were used to capture the input to the MLModel. | |
For example, a face detection model may perform differently depending on the camera’s hardware and software, | |
including lens, image stabilization, high dynamic range techniques, and background blurring for portrait mode.""" | |
return self._inner_dict.get('instrumentation') # type: ignore | |
@instrumentation.setter | |
def instrumentation(self, value: Union[None, List[str]]) -> None: | |
"""Setter: The performance of a MLModel can vary depending on what instruments were used to capture the input to the MLModel. | |
For example, a face detection model may perform differently depending on the camera’s hardware and software, | |
including lens, image stabilization, high dynamic range techniques, and background blurring for portrait mode.""" | |
self._inner_dict['instrumentation'] = value | |
@property | |
def environment(self) -> Union[None, List[str]]: | |
"""Getter: A further factor affecting MLModel performance is the environment in which it is deployed.""" | |
return self._inner_dict.get('environment') # type: ignore | |
@environment.setter | |
def environment(self, value: Union[None, List[str]]) -> None: | |
"""Setter: A further factor affecting MLModel performance is the environment in which it is deployed.""" | |
self._inner_dict['environment'] = value | |
class MLModelGroupPropertiesClass(_Aspect): | |
"""Properties associated with an ML Model Group""" | |
ASPECT_NAME = 'mlModelGroupProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLModelGroupProperties") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
description: Union[None, str]=None, | |
createdAt: Union[None, int]=None, | |
version: Union[None, "VersionTagClass"]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.description = description | |
self.createdAt = createdAt | |
self.version = version | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelGroupPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLModelGroup""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLModelGroup""" | |
self._inner_dict['description'] = value | |
@property | |
def createdAt(self) -> Union[None, int]: | |
"""Getter: Date when the MLModelGroup was developed""" | |
return self._inner_dict.get('createdAt') # type: ignore | |
@createdAt.setter | |
def createdAt(self, value: Union[None, int]) -> None: | |
"""Setter: Date when the MLModelGroup was developed""" | |
self._inner_dict['createdAt'] = value | |
@property | |
def version(self) -> Union[None, "VersionTagClass"]: | |
"""Getter: Version of the MLModelGroup""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionTagClass"]) -> None: | |
"""Setter: Version of the MLModelGroup""" | |
self._inner_dict['version'] = value | |
class MLModelPropertiesClass(_Aspect): | |
"""Properties associated with a ML Model""" | |
ASPECT_NAME = 'mlModelProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLModelProperties") | |
def __init__(self, | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
description: Union[None, str]=None, | |
date: Union[None, int]=None, | |
version: Union[None, "VersionTagClass"]=None, | |
type: Union[None, str]=None, | |
hyperParameters: Union[None, Dict[str, Union[str, int, float, float, bool]]]=None, | |
hyperParams: Union[None, List["MLHyperParamClass"]]=None, | |
trainingMetrics: Union[None, List["MLMetricClass"]]=None, | |
onlineMetrics: Union[None, List["MLMetricClass"]]=None, | |
mlFeatures: Union[None, List[str]]=None, | |
tags: Optional[List[str]]=None, | |
deployments: Union[None, List[str]]=None, | |
trainingJobs: Union[None, List[str]]=None, | |
downstreamJobs: Union[None, List[str]]=None, | |
groups: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.description = description | |
self.date = date | |
self.version = version | |
self.type = type | |
self.hyperParameters = hyperParameters | |
self.hyperParams = hyperParams | |
self.trainingMetrics = trainingMetrics | |
self.onlineMetrics = onlineMetrics | |
self.mlFeatures = mlFeatures | |
if tags is None: | |
# default: [] | |
self.tags = list() | |
else: | |
self.tags = tags | |
self.deployments = deployments | |
self.trainingJobs = trainingJobs | |
self.downstreamJobs = downstreamJobs | |
self.groups = groups | |
@classmethod | |
def construct_with_defaults(cls) -> "MLModelPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.date = self.RECORD_SCHEMA.fields_dict["date"].default | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
self.hyperParameters = self.RECORD_SCHEMA.fields_dict["hyperParameters"].default | |
self.hyperParams = self.RECORD_SCHEMA.fields_dict["hyperParams"].default | |
self.trainingMetrics = self.RECORD_SCHEMA.fields_dict["trainingMetrics"].default | |
self.onlineMetrics = self.RECORD_SCHEMA.fields_dict["onlineMetrics"].default | |
self.mlFeatures = self.RECORD_SCHEMA.fields_dict["mlFeatures"].default | |
self.tags = list() | |
self.deployments = self.RECORD_SCHEMA.fields_dict["deployments"].default | |
self.trainingJobs = self.RECORD_SCHEMA.fields_dict["trainingJobs"].default | |
self.downstreamJobs = self.RECORD_SCHEMA.fields_dict["downstreamJobs"].default | |
self.groups = self.RECORD_SCHEMA.fields_dict["groups"].default | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLModel""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLModel""" | |
self._inner_dict['description'] = value | |
@property | |
def date(self) -> Union[None, int]: | |
"""Getter: Date when the MLModel was developed""" | |
return self._inner_dict.get('date') # type: ignore | |
@date.setter | |
def date(self, value: Union[None, int]) -> None: | |
"""Setter: Date when the MLModel was developed""" | |
self._inner_dict['date'] = value | |
@property | |
def version(self) -> Union[None, "VersionTagClass"]: | |
"""Getter: Version of the MLModel""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionTagClass"]) -> None: | |
"""Setter: Version of the MLModel""" | |
self._inner_dict['version'] = value | |
@property | |
def type(self) -> Union[None, str]: | |
"""Getter: Type of Algorithm or MLModel such as whether it is a Naive Bayes classifier, Convolutional Neural Network, etc""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[None, str]) -> None: | |
"""Setter: Type of Algorithm or MLModel such as whether it is a Naive Bayes classifier, Convolutional Neural Network, etc""" | |
self._inner_dict['type'] = value | |
@property | |
def hyperParameters(self) -> Union[None, Dict[str, Union[str, int, float, float, bool]]]: | |
"""Getter: Hyper Parameters of the MLModel | |
NOTE: these are deprecated in favor of hyperParams""" | |
return self._inner_dict.get('hyperParameters') # type: ignore | |
@hyperParameters.setter | |
def hyperParameters(self, value: Union[None, Dict[str, Union[str, int, float, float, bool]]]) -> None: | |
"""Setter: Hyper Parameters of the MLModel | |
NOTE: these are deprecated in favor of hyperParams""" | |
self._inner_dict['hyperParameters'] = value | |
@property | |
def hyperParams(self) -> Union[None, List["MLHyperParamClass"]]: | |
"""Getter: Hyperparameters of the MLModel""" | |
return self._inner_dict.get('hyperParams') # type: ignore | |
@hyperParams.setter | |
def hyperParams(self, value: Union[None, List["MLHyperParamClass"]]) -> None: | |
"""Setter: Hyperparameters of the MLModel""" | |
self._inner_dict['hyperParams'] = value | |
@property | |
def trainingMetrics(self) -> Union[None, List["MLMetricClass"]]: | |
"""Getter: Metrics of the MLModel used in training""" | |
return self._inner_dict.get('trainingMetrics') # type: ignore | |
@trainingMetrics.setter | |
def trainingMetrics(self, value: Union[None, List["MLMetricClass"]]) -> None: | |
"""Setter: Metrics of the MLModel used in training""" | |
self._inner_dict['trainingMetrics'] = value | |
@property | |
def onlineMetrics(self) -> Union[None, List["MLMetricClass"]]: | |
"""Getter: Metrics of the MLModel used in production""" | |
return self._inner_dict.get('onlineMetrics') # type: ignore | |
@onlineMetrics.setter | |
def onlineMetrics(self, value: Union[None, List["MLMetricClass"]]) -> None: | |
"""Setter: Metrics of the MLModel used in production""" | |
self._inner_dict['onlineMetrics'] = value | |
@property | |
def mlFeatures(self) -> Union[None, List[str]]: | |
"""Getter: List of features used for MLModel training""" | |
return self._inner_dict.get('mlFeatures') # type: ignore | |
@mlFeatures.setter | |
def mlFeatures(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of features used for MLModel training""" | |
self._inner_dict['mlFeatures'] = value | |
@property | |
def tags(self) -> List[str]: | |
"""Getter: Tags for the MLModel""" | |
return self._inner_dict.get('tags') # type: ignore | |
@tags.setter | |
def tags(self, value: List[str]) -> None: | |
"""Setter: Tags for the MLModel""" | |
self._inner_dict['tags'] = value | |
@property | |
def deployments(self) -> Union[None, List[str]]: | |
"""Getter: Deployments for the MLModel""" | |
return self._inner_dict.get('deployments') # type: ignore | |
@deployments.setter | |
def deployments(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Deployments for the MLModel""" | |
self._inner_dict['deployments'] = value | |
@property | |
def trainingJobs(self) -> Union[None, List[str]]: | |
"""Getter: List of jobs (if any) used to train the model""" | |
return self._inner_dict.get('trainingJobs') # type: ignore | |
@trainingJobs.setter | |
def trainingJobs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of jobs (if any) used to train the model""" | |
self._inner_dict['trainingJobs'] = value | |
@property | |
def downstreamJobs(self) -> Union[None, List[str]]: | |
"""Getter: List of jobs (if any) that use the model""" | |
return self._inner_dict.get('downstreamJobs') # type: ignore | |
@downstreamJobs.setter | |
def downstreamJobs(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of jobs (if any) that use the model""" | |
self._inner_dict['downstreamJobs'] = value | |
@property | |
def groups(self) -> Union[None, List[str]]: | |
"""Getter: Groups the model belongs to""" | |
return self._inner_dict.get('groups') # type: ignore | |
@groups.setter | |
def groups(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Groups the model belongs to""" | |
self._inner_dict['groups'] = value | |
class MLPrimaryKeyPropertiesClass(_Aspect): | |
"""Properties associated with a MLPrimaryKey""" | |
ASPECT_NAME = 'mlPrimaryKeyProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.MLPrimaryKeyProperties") | |
def __init__(self, | |
sources: List[str], | |
description: Union[None, str]=None, | |
dataType: Union[None, Union[str, "MLFeatureDataTypeClass"]]=None, | |
version: Union[None, "VersionTagClass"]=None, | |
): | |
super().__init__() | |
self.description = description | |
self.dataType = dataType | |
self.version = version | |
self.sources = sources | |
@classmethod | |
def construct_with_defaults(cls) -> "MLPrimaryKeyPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.dataType = self.RECORD_SCHEMA.fields_dict["dataType"].default | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.sources = list() | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the MLPrimaryKey""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the MLPrimaryKey""" | |
self._inner_dict['description'] = value | |
@property | |
def dataType(self) -> Union[None, Union[str, "MLFeatureDataTypeClass"]]: | |
"""Getter: Data Type of the MLPrimaryKey""" | |
return self._inner_dict.get('dataType') # type: ignore | |
@dataType.setter | |
def dataType(self, value: Union[None, Union[str, "MLFeatureDataTypeClass"]]) -> None: | |
"""Setter: Data Type of the MLPrimaryKey""" | |
self._inner_dict['dataType'] = value | |
@property | |
def version(self) -> Union[None, "VersionTagClass"]: | |
"""Getter: Version of the MLPrimaryKey""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionTagClass"]) -> None: | |
"""Setter: Version of the MLPrimaryKey""" | |
self._inner_dict['version'] = value | |
@property | |
def sources(self) -> List[str]: | |
"""Getter: Source of the MLPrimaryKey""" | |
return self._inner_dict.get('sources') # type: ignore | |
@sources.setter | |
def sources(self, value: List[str]) -> None: | |
"""Setter: Source of the MLPrimaryKey""" | |
self._inner_dict['sources'] = value | |
class MetricsClass(_Aspect): | |
"""Metrics to be featured for the MLModel.""" | |
ASPECT_NAME = 'mlModelMetrics' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.Metrics") | |
def __init__(self, | |
performanceMeasures: Union[None, List[str]]=None, | |
decisionThreshold: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.performanceMeasures = performanceMeasures | |
self.decisionThreshold = decisionThreshold | |
@classmethod | |
def construct_with_defaults(cls) -> "MetricsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.performanceMeasures = self.RECORD_SCHEMA.fields_dict["performanceMeasures"].default | |
self.decisionThreshold = self.RECORD_SCHEMA.fields_dict["decisionThreshold"].default | |
@property | |
def performanceMeasures(self) -> Union[None, List[str]]: | |
"""Getter: Measures of MLModel performance""" | |
return self._inner_dict.get('performanceMeasures') # type: ignore | |
@performanceMeasures.setter | |
def performanceMeasures(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Measures of MLModel performance""" | |
self._inner_dict['performanceMeasures'] = value | |
@property | |
def decisionThreshold(self) -> Union[None, List[str]]: | |
"""Getter: Decision Thresholds used (if any)?""" | |
return self._inner_dict.get('decisionThreshold') # type: ignore | |
@decisionThreshold.setter | |
def decisionThreshold(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Decision Thresholds used (if any)?""" | |
self._inner_dict['decisionThreshold'] = value | |
class QuantitativeAnalysesClass(_Aspect): | |
"""Quantitative analyses should be disaggregated, that is, broken down by the chosen factors. Quantitative analyses should provide the results of evaluating the MLModel according to the chosen metrics, providing confidence interval values when possible.""" | |
ASPECT_NAME = 'mlModelQuantitativeAnalyses' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.QuantitativeAnalyses") | |
def __init__(self, | |
unitaryResults: Union[None, str]=None, | |
intersectionalResults: Union[None, str]=None, | |
): | |
super().__init__() | |
self.unitaryResults = unitaryResults | |
self.intersectionalResults = intersectionalResults | |
@classmethod | |
def construct_with_defaults(cls) -> "QuantitativeAnalysesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.unitaryResults = self.RECORD_SCHEMA.fields_dict["unitaryResults"].default | |
self.intersectionalResults = self.RECORD_SCHEMA.fields_dict["intersectionalResults"].default | |
@property | |
def unitaryResults(self) -> Union[None, str]: | |
"""Getter: Link to a dashboard with results showing how the MLModel performed with respect to each factor""" | |
return self._inner_dict.get('unitaryResults') # type: ignore | |
@unitaryResults.setter | |
def unitaryResults(self, value: Union[None, str]) -> None: | |
"""Setter: Link to a dashboard with results showing how the MLModel performed with respect to each factor""" | |
self._inner_dict['unitaryResults'] = value | |
@property | |
def intersectionalResults(self) -> Union[None, str]: | |
"""Getter: Link to a dashboard with results showing how the MLModel performed with respect to the intersection of evaluated factors?""" | |
return self._inner_dict.get('intersectionalResults') # type: ignore | |
@intersectionalResults.setter | |
def intersectionalResults(self, value: Union[None, str]) -> None: | |
"""Setter: Link to a dashboard with results showing how the MLModel performed with respect to the intersection of evaluated factors?""" | |
self._inner_dict['intersectionalResults'] = value | |
class SourceCodeClass(_Aspect): | |
"""Source Code""" | |
ASPECT_NAME = 'sourceCode' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.SourceCode") | |
def __init__(self, | |
sourceCode: List["SourceCodeUrlClass"], | |
): | |
super().__init__() | |
self.sourceCode = sourceCode | |
@classmethod | |
def construct_with_defaults(cls) -> "SourceCodeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.sourceCode = list() | |
@property | |
def sourceCode(self) -> List["SourceCodeUrlClass"]: | |
"""Getter: Source Code along with types""" | |
return self._inner_dict.get('sourceCode') # type: ignore | |
@sourceCode.setter | |
def sourceCode(self, value: List["SourceCodeUrlClass"]) -> None: | |
"""Setter: Source Code along with types""" | |
self._inner_dict['sourceCode'] = value | |
class SourceCodeUrlClass(DictWrapper): | |
"""Source Code Url Entity""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.SourceCodeUrl") | |
def __init__(self, | |
type: Union[str, "SourceCodeUrlTypeClass"], | |
sourceCodeUrl: str, | |
): | |
super().__init__() | |
self.type = type | |
self.sourceCodeUrl = sourceCodeUrl | |
@classmethod | |
def construct_with_defaults(cls) -> "SourceCodeUrlClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = SourceCodeUrlTypeClass.ML_MODEL_SOURCE_CODE | |
self.sourceCodeUrl = str() | |
@property | |
def type(self) -> Union[str, "SourceCodeUrlTypeClass"]: | |
"""Getter: Source Code Url Types""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "SourceCodeUrlTypeClass"]) -> None: | |
"""Setter: Source Code Url Types""" | |
self._inner_dict['type'] = value | |
@property | |
def sourceCodeUrl(self) -> str: | |
"""Getter: Source Code Url""" | |
return self._inner_dict.get('sourceCodeUrl') # type: ignore | |
@sourceCodeUrl.setter | |
def sourceCodeUrl(self, value: str) -> None: | |
"""Setter: Source Code Url""" | |
self._inner_dict['sourceCodeUrl'] = value | |
class SourceCodeUrlTypeClass(object): | |
# No docs available. | |
ML_MODEL_SOURCE_CODE = "ML_MODEL_SOURCE_CODE" | |
TRAINING_PIPELINE_SOURCE_CODE = "TRAINING_PIPELINE_SOURCE_CODE" | |
EVALUATION_PIPELINE_SOURCE_CODE = "EVALUATION_PIPELINE_SOURCE_CODE" | |
class TrainingDataClass(_Aspect): | |
"""Ideally, the MLModel card would contain as much information about the training data as the evaluation data. However, there might be cases where it is not feasible to provide this level of detailed information about the training data. For example, the data may be proprietary, or require a non-disclosure agreement. In these cases, we advocate for basic details about the distributions over groups in the data, as well as any other details that could inform stakeholders on the kinds of biases the model may have encoded.""" | |
ASPECT_NAME = 'mlModelTrainingData' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.ml.metadata.TrainingData") | |
def __init__(self, | |
trainingData: List["BaseDataClass"], | |
): | |
super().__init__() | |
self.trainingData = trainingData | |
@classmethod | |
def construct_with_defaults(cls) -> "TrainingDataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.trainingData = list() | |
@property | |
def trainingData(self) -> List["BaseDataClass"]: | |
"""Getter: Details on the dataset(s) used for training the MLModel""" | |
return self._inner_dict.get('trainingData') # type: ignore | |
@trainingData.setter | |
def trainingData(self, value: List["BaseDataClass"]) -> None: | |
"""Setter: Details on the dataset(s) used for training the MLModel""" | |
self._inner_dict['trainingData'] = value | |
class GenericAspectClass(DictWrapper): | |
"""Generic record structure for serializing an Aspect""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.GenericAspect") | |
def __init__(self, | |
value: bytes, | |
contentType: str, | |
): | |
super().__init__() | |
self.value = value | |
self.contentType = contentType | |
@classmethod | |
def construct_with_defaults(cls) -> "GenericAspectClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.value = bytes() | |
self.contentType = str() | |
@property | |
def value(self) -> bytes: | |
"""Getter: The value of the aspect, serialized as bytes.""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: bytes) -> None: | |
"""Setter: The value of the aspect, serialized as bytes.""" | |
self._inner_dict['value'] = value | |
@property | |
def contentType(self) -> str: | |
"""Getter: The content type, which represents the fashion in which the aspect was serialized. | |
The only type currently supported is application/json.""" | |
return self._inner_dict.get('contentType') # type: ignore | |
@contentType.setter | |
def contentType(self, value: str) -> None: | |
"""Setter: The content type, which represents the fashion in which the aspect was serialized. | |
The only type currently supported is application/json.""" | |
self._inner_dict['contentType'] = value | |
class GenericPayloadClass(DictWrapper): | |
"""Generic payload record structure for serializing a Platform Event.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.GenericPayload") | |
def __init__(self, | |
value: bytes, | |
contentType: str, | |
): | |
super().__init__() | |
self.value = value | |
self.contentType = contentType | |
@classmethod | |
def construct_with_defaults(cls) -> "GenericPayloadClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.value = bytes() | |
self.contentType = str() | |
@property | |
def value(self) -> bytes: | |
"""Getter: The value of the event, serialized as bytes.""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: bytes) -> None: | |
"""Setter: The value of the event, serialized as bytes.""" | |
self._inner_dict['value'] = value | |
@property | |
def contentType(self) -> str: | |
"""Getter: The content type, which represents the fashion in which the event was serialized. | |
The only type currently supported is application/json.""" | |
return self._inner_dict.get('contentType') # type: ignore | |
@contentType.setter | |
def contentType(self, value: str) -> None: | |
"""Setter: The content type, which represents the fashion in which the event was serialized. | |
The only type currently supported is application/json.""" | |
self._inner_dict['contentType'] = value | |
class MetadataChangeEventClass(DictWrapper): | |
"""Kafka event for proposing a metadata change for an entity. A corresponding MetadataAuditEvent is emitted when the change is accepted and committed, otherwise a FailedMetadataChangeEvent will be emitted instead.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.MetadataChangeEvent") | |
def __init__(self, | |
proposedSnapshot: Union["ChartSnapshotClass", "CorpGroupSnapshotClass", "CorpUserSnapshotClass", "DashboardSnapshotClass", "DataFlowSnapshotClass", "DataJobSnapshotClass", "DatasetSnapshotClass", "DataProcessSnapshotClass", "DataPlatformSnapshotClass", "MLModelSnapshotClass", "MLPrimaryKeySnapshotClass", "MLFeatureSnapshotClass", "MLFeatureTableSnapshotClass", "MLModelDeploymentSnapshotClass", "MLModelGroupSnapshotClass", "TagSnapshotClass", "GlossaryTermSnapshotClass", "GlossaryNodeSnapshotClass", "DataHubPolicySnapshotClass", "SchemaFieldSnapshotClass", "DataHubRetentionSnapshotClass"], | |
auditHeader: Union[None, "KafkaAuditHeaderClass"]=None, | |
proposedDelta: None=None, | |
systemMetadata: Union[None, "SystemMetadataClass"]=None, | |
): | |
super().__init__() | |
self.auditHeader = auditHeader | |
self.proposedSnapshot = proposedSnapshot | |
self.proposedDelta = proposedDelta | |
self.systemMetadata = systemMetadata | |
@classmethod | |
def construct_with_defaults(cls) -> "MetadataChangeEventClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.auditHeader = self.RECORD_SCHEMA.fields_dict["auditHeader"].default | |
self.proposedSnapshot = ChartSnapshotClass.construct_with_defaults() | |
self.proposedDelta = self.RECORD_SCHEMA.fields_dict["proposedDelta"].default | |
self.systemMetadata = self.RECORD_SCHEMA.fields_dict["systemMetadata"].default | |
@property | |
def auditHeader(self) -> Union[None, "KafkaAuditHeaderClass"]: | |
"""Getter: Kafka audit header. See go/kafkaauditheader for more info.""" | |
return self._inner_dict.get('auditHeader') # type: ignore | |
@auditHeader.setter | |
def auditHeader(self, value: Union[None, "KafkaAuditHeaderClass"]) -> None: | |
"""Setter: Kafka audit header. See go/kafkaauditheader for more info.""" | |
self._inner_dict['auditHeader'] = value | |
@property | |
def proposedSnapshot(self) -> Union["ChartSnapshotClass", "CorpGroupSnapshotClass", "CorpUserSnapshotClass", "DashboardSnapshotClass", "DataFlowSnapshotClass", "DataJobSnapshotClass", "DatasetSnapshotClass", "DataProcessSnapshotClass", "DataPlatformSnapshotClass", "MLModelSnapshotClass", "MLPrimaryKeySnapshotClass", "MLFeatureSnapshotClass", "MLFeatureTableSnapshotClass", "MLModelDeploymentSnapshotClass", "MLModelGroupSnapshotClass", "TagSnapshotClass", "GlossaryTermSnapshotClass", "GlossaryNodeSnapshotClass", "DataHubPolicySnapshotClass", "SchemaFieldSnapshotClass", "DataHubRetentionSnapshotClass"]: | |
"""Getter: Snapshot of the proposed metadata change. Include only the aspects affected by the change in the snapshot.""" | |
return self._inner_dict.get('proposedSnapshot') # type: ignore | |
@proposedSnapshot.setter | |
def proposedSnapshot(self, value: Union["ChartSnapshotClass", "CorpGroupSnapshotClass", "CorpUserSnapshotClass", "DashboardSnapshotClass", "DataFlowSnapshotClass", "DataJobSnapshotClass", "DatasetSnapshotClass", "DataProcessSnapshotClass", "DataPlatformSnapshotClass", "MLModelSnapshotClass", "MLPrimaryKeySnapshotClass", "MLFeatureSnapshotClass", "MLFeatureTableSnapshotClass", "MLModelDeploymentSnapshotClass", "MLModelGroupSnapshotClass", "TagSnapshotClass", "GlossaryTermSnapshotClass", "GlossaryNodeSnapshotClass", "DataHubPolicySnapshotClass", "SchemaFieldSnapshotClass", "DataHubRetentionSnapshotClass"]) -> None: | |
"""Setter: Snapshot of the proposed metadata change. Include only the aspects affected by the change in the snapshot.""" | |
self._inner_dict['proposedSnapshot'] = value | |
@property | |
def proposedDelta(self) -> None: | |
"""Getter: Delta of the proposed metadata partial update.""" | |
return self._inner_dict.get('proposedDelta') # type: ignore | |
@proposedDelta.setter | |
def proposedDelta(self, value: None) -> None: | |
"""Setter: Delta of the proposed metadata partial update.""" | |
self._inner_dict['proposedDelta'] = value | |
@property | |
def systemMetadata(self) -> Union[None, "SystemMetadataClass"]: | |
"""Getter: Metadata around how the snapshot was ingested""" | |
return self._inner_dict.get('systemMetadata') # type: ignore | |
@systemMetadata.setter | |
def systemMetadata(self, value: Union[None, "SystemMetadataClass"]) -> None: | |
"""Setter: Metadata around how the snapshot was ingested""" | |
self._inner_dict['systemMetadata'] = value | |
class MetadataChangeLogClass(DictWrapper): | |
"""Kafka event for capturing update made to an entity's metadata.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.MetadataChangeLog") | |
def __init__(self, | |
entityType: str, | |
changeType: Union[str, "ChangeTypeClass"], | |
auditHeader: Union[None, "KafkaAuditHeaderClass"]=None, | |
entityUrn: Union[None, str]=None, | |
entityKeyAspect: Union[None, "GenericAspectClass"]=None, | |
aspectName: Union[None, str]=None, | |
aspect: Union[None, "GenericAspectClass"]=None, | |
systemMetadata: Union[None, "SystemMetadataClass"]=None, | |
previousAspectValue: Union[None, "GenericAspectClass"]=None, | |
previousSystemMetadata: Union[None, "SystemMetadataClass"]=None, | |
created: Union[None, "AuditStampClass"]=None, | |
): | |
super().__init__() | |
self.auditHeader = auditHeader | |
self.entityType = entityType | |
self.entityUrn = entityUrn | |
self.entityKeyAspect = entityKeyAspect | |
self.changeType = changeType | |
self.aspectName = aspectName | |
self.aspect = aspect | |
self.systemMetadata = systemMetadata | |
self.previousAspectValue = previousAspectValue | |
self.previousSystemMetadata = previousSystemMetadata | |
self.created = created | |
@classmethod | |
def construct_with_defaults(cls) -> "MetadataChangeLogClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.auditHeader = self.RECORD_SCHEMA.fields_dict["auditHeader"].default | |
self.entityType = str() | |
self.entityUrn = self.RECORD_SCHEMA.fields_dict["entityUrn"].default | |
self.entityKeyAspect = self.RECORD_SCHEMA.fields_dict["entityKeyAspect"].default | |
self.changeType = ChangeTypeClass.UPSERT | |
self.aspectName = self.RECORD_SCHEMA.fields_dict["aspectName"].default | |
self.aspect = self.RECORD_SCHEMA.fields_dict["aspect"].default | |
self.systemMetadata = self.RECORD_SCHEMA.fields_dict["systemMetadata"].default | |
self.previousAspectValue = self.RECORD_SCHEMA.fields_dict["previousAspectValue"].default | |
self.previousSystemMetadata = self.RECORD_SCHEMA.fields_dict["previousSystemMetadata"].default | |
self.created = self.RECORD_SCHEMA.fields_dict["created"].default | |
@property | |
def auditHeader(self) -> Union[None, "KafkaAuditHeaderClass"]: | |
"""Getter: Kafka audit header. Currently remains unused in the open source.""" | |
return self._inner_dict.get('auditHeader') # type: ignore | |
@auditHeader.setter | |
def auditHeader(self, value: Union[None, "KafkaAuditHeaderClass"]) -> None: | |
"""Setter: Kafka audit header. Currently remains unused in the open source.""" | |
self._inner_dict['auditHeader'] = value | |
@property | |
def entityType(self) -> str: | |
"""Getter: Type of the entity being written to""" | |
return self._inner_dict.get('entityType') # type: ignore | |
@entityType.setter | |
def entityType(self, value: str) -> None: | |
"""Setter: Type of the entity being written to""" | |
self._inner_dict['entityType'] = value | |
@property | |
def entityUrn(self) -> Union[None, str]: | |
"""Getter: Urn of the entity being written""" | |
return self._inner_dict.get('entityUrn') # type: ignore | |
@entityUrn.setter | |
def entityUrn(self, value: Union[None, str]) -> None: | |
"""Setter: Urn of the entity being written""" | |
self._inner_dict['entityUrn'] = value | |
@property | |
def entityKeyAspect(self) -> Union[None, "GenericAspectClass"]: | |
"""Getter: Key aspect of the entity being written""" | |
return self._inner_dict.get('entityKeyAspect') # type: ignore | |
@entityKeyAspect.setter | |
def entityKeyAspect(self, value: Union[None, "GenericAspectClass"]) -> None: | |
"""Setter: Key aspect of the entity being written""" | |
self._inner_dict['entityKeyAspect'] = value | |
@property | |
def changeType(self) -> Union[str, "ChangeTypeClass"]: | |
"""Getter: Type of change being proposed""" | |
return self._inner_dict.get('changeType') # type: ignore | |
@changeType.setter | |
def changeType(self, value: Union[str, "ChangeTypeClass"]) -> None: | |
"""Setter: Type of change being proposed""" | |
self._inner_dict['changeType'] = value | |
@property | |
def aspectName(self) -> Union[None, str]: | |
"""Getter: Aspect of the entity being written to | |
Not filling this out implies that the writer wants to affect the entire entity | |
Note: This is only valid for CREATE, UPSERT, and DELETE operations.""" | |
return self._inner_dict.get('aspectName') # type: ignore | |
@aspectName.setter | |
def aspectName(self, value: Union[None, str]) -> None: | |
"""Setter: Aspect of the entity being written to | |
Not filling this out implies that the writer wants to affect the entire entity | |
Note: This is only valid for CREATE, UPSERT, and DELETE operations.""" | |
self._inner_dict['aspectName'] = value | |
@property | |
def aspect(self) -> Union[None, "GenericAspectClass"]: | |
"""Getter: The value of the new aspect.""" | |
return self._inner_dict.get('aspect') # type: ignore | |
@aspect.setter | |
def aspect(self, value: Union[None, "GenericAspectClass"]) -> None: | |
"""Setter: The value of the new aspect.""" | |
self._inner_dict['aspect'] = value | |
@property | |
def systemMetadata(self) -> Union[None, "SystemMetadataClass"]: | |
"""Getter: A string->string map of custom properties that one might want to attach to an event""" | |
return self._inner_dict.get('systemMetadata') # type: ignore | |
@systemMetadata.setter | |
def systemMetadata(self, value: Union[None, "SystemMetadataClass"]) -> None: | |
"""Setter: A string->string map of custom properties that one might want to attach to an event""" | |
self._inner_dict['systemMetadata'] = value | |
@property | |
def previousAspectValue(self) -> Union[None, "GenericAspectClass"]: | |
"""Getter: The previous value of the aspect that has changed.""" | |
return self._inner_dict.get('previousAspectValue') # type: ignore | |
@previousAspectValue.setter | |
def previousAspectValue(self, value: Union[None, "GenericAspectClass"]) -> None: | |
"""Setter: The previous value of the aspect that has changed.""" | |
self._inner_dict['previousAspectValue'] = value | |
@property | |
def previousSystemMetadata(self) -> Union[None, "SystemMetadataClass"]: | |
"""Getter: The previous value of the system metadata field that has changed.""" | |
return self._inner_dict.get('previousSystemMetadata') # type: ignore | |
@previousSystemMetadata.setter | |
def previousSystemMetadata(self, value: Union[None, "SystemMetadataClass"]) -> None: | |
"""Setter: The previous value of the system metadata field that has changed.""" | |
self._inner_dict['previousSystemMetadata'] = value | |
@property | |
def created(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An audit stamp detailing who and when the aspect was changed by. Required for all intents and purposes.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An audit stamp detailing who and when the aspect was changed by. Required for all intents and purposes.""" | |
self._inner_dict['created'] = value | |
class MetadataChangeProposalClass(DictWrapper): | |
"""Kafka event for proposing a metadata change for an entity. A corresponding MetadataChangeLog is emitted when the change is accepted and committed, otherwise a FailedMetadataChangeProposal will be emitted instead.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.MetadataChangeProposal") | |
def __init__(self, | |
entityType: str, | |
changeType: Union[str, "ChangeTypeClass"], | |
auditHeader: Union[None, "KafkaAuditHeaderClass"]=None, | |
entityUrn: Union[None, str]=None, | |
entityKeyAspect: Union[None, "GenericAspectClass"]=None, | |
aspectName: Union[None, str]=None, | |
aspect: Union[None, "GenericAspectClass"]=None, | |
systemMetadata: Union[None, "SystemMetadataClass"]=None, | |
): | |
super().__init__() | |
self.auditHeader = auditHeader | |
self.entityType = entityType | |
self.entityUrn = entityUrn | |
self.entityKeyAspect = entityKeyAspect | |
self.changeType = changeType | |
self.aspectName = aspectName | |
self.aspect = aspect | |
self.systemMetadata = systemMetadata | |
@classmethod | |
def construct_with_defaults(cls) -> "MetadataChangeProposalClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.auditHeader = self.RECORD_SCHEMA.fields_dict["auditHeader"].default | |
self.entityType = str() | |
self.entityUrn = self.RECORD_SCHEMA.fields_dict["entityUrn"].default | |
self.entityKeyAspect = self.RECORD_SCHEMA.fields_dict["entityKeyAspect"].default | |
self.changeType = ChangeTypeClass.UPSERT | |
self.aspectName = self.RECORD_SCHEMA.fields_dict["aspectName"].default | |
self.aspect = self.RECORD_SCHEMA.fields_dict["aspect"].default | |
self.systemMetadata = self.RECORD_SCHEMA.fields_dict["systemMetadata"].default | |
@property | |
def auditHeader(self) -> Union[None, "KafkaAuditHeaderClass"]: | |
"""Getter: Kafka audit header. Currently remains unused in the open source.""" | |
return self._inner_dict.get('auditHeader') # type: ignore | |
@auditHeader.setter | |
def auditHeader(self, value: Union[None, "KafkaAuditHeaderClass"]) -> None: | |
"""Setter: Kafka audit header. Currently remains unused in the open source.""" | |
self._inner_dict['auditHeader'] = value | |
@property | |
def entityType(self) -> str: | |
"""Getter: Type of the entity being written to""" | |
return self._inner_dict.get('entityType') # type: ignore | |
@entityType.setter | |
def entityType(self, value: str) -> None: | |
"""Setter: Type of the entity being written to""" | |
self._inner_dict['entityType'] = value | |
@property | |
def entityUrn(self) -> Union[None, str]: | |
"""Getter: Urn of the entity being written""" | |
return self._inner_dict.get('entityUrn') # type: ignore | |
@entityUrn.setter | |
def entityUrn(self, value: Union[None, str]) -> None: | |
"""Setter: Urn of the entity being written""" | |
self._inner_dict['entityUrn'] = value | |
@property | |
def entityKeyAspect(self) -> Union[None, "GenericAspectClass"]: | |
"""Getter: Key aspect of the entity being written""" | |
return self._inner_dict.get('entityKeyAspect') # type: ignore | |
@entityKeyAspect.setter | |
def entityKeyAspect(self, value: Union[None, "GenericAspectClass"]) -> None: | |
"""Setter: Key aspect of the entity being written""" | |
self._inner_dict['entityKeyAspect'] = value | |
@property | |
def changeType(self) -> Union[str, "ChangeTypeClass"]: | |
"""Getter: Type of change being proposed""" | |
return self._inner_dict.get('changeType') # type: ignore | |
@changeType.setter | |
def changeType(self, value: Union[str, "ChangeTypeClass"]) -> None: | |
"""Setter: Type of change being proposed""" | |
self._inner_dict['changeType'] = value | |
@property | |
def aspectName(self) -> Union[None, str]: | |
"""Getter: Aspect of the entity being written to | |
Not filling this out implies that the writer wants to affect the entire entity | |
Note: This is only valid for CREATE, UPSERT, and DELETE operations.""" | |
return self._inner_dict.get('aspectName') # type: ignore | |
@aspectName.setter | |
def aspectName(self, value: Union[None, str]) -> None: | |
"""Setter: Aspect of the entity being written to | |
Not filling this out implies that the writer wants to affect the entire entity | |
Note: This is only valid for CREATE, UPSERT, and DELETE operations.""" | |
self._inner_dict['aspectName'] = value | |
@property | |
def aspect(self) -> Union[None, "GenericAspectClass"]: | |
"""Getter: The value of the new aspect.""" | |
return self._inner_dict.get('aspect') # type: ignore | |
@aspect.setter | |
def aspect(self, value: Union[None, "GenericAspectClass"]) -> None: | |
"""Setter: The value of the new aspect.""" | |
self._inner_dict['aspect'] = value | |
@property | |
def systemMetadata(self) -> Union[None, "SystemMetadataClass"]: | |
"""Getter: A string->string map of custom properties that one might want to attach to an event""" | |
return self._inner_dict.get('systemMetadata') # type: ignore | |
@systemMetadata.setter | |
def systemMetadata(self, value: Union[None, "SystemMetadataClass"]) -> None: | |
"""Setter: A string->string map of custom properties that one might want to attach to an event""" | |
self._inner_dict['systemMetadata'] = value | |
class PlatformEventClass(DictWrapper): | |
"""A DataHub Platform Event.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.PlatformEvent") | |
def __init__(self, | |
header: "PlatformEventHeaderClass", | |
name: str, | |
payload: "GenericPayloadClass", | |
): | |
super().__init__() | |
self.header = header | |
self.name = name | |
self.payload = payload | |
@classmethod | |
def construct_with_defaults(cls) -> "PlatformEventClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.header = PlatformEventHeaderClass.construct_with_defaults() | |
self.name = str() | |
self.payload = GenericPayloadClass.construct_with_defaults() | |
@property | |
def header(self) -> "PlatformEventHeaderClass": | |
"""Getter: Header information stored with the event.""" | |
return self._inner_dict.get('header') # type: ignore | |
@header.setter | |
def header(self, value: "PlatformEventHeaderClass") -> None: | |
"""Setter: Header information stored with the event.""" | |
self._inner_dict['header'] = value | |
@property | |
def name(self) -> str: | |
"""Getter: The name of the event, e.g. the type of event. For example, 'notificationRequestEvent', 'entityChangeEvent'""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The name of the event, e.g. the type of event. For example, 'notificationRequestEvent', 'entityChangeEvent'""" | |
self._inner_dict['name'] = value | |
@property | |
def payload(self) -> "GenericPayloadClass": | |
"""Getter: The event payload.""" | |
return self._inner_dict.get('payload') # type: ignore | |
@payload.setter | |
def payload(self, value: "GenericPayloadClass") -> None: | |
"""Setter: The event payload.""" | |
self._inner_dict['payload'] = value | |
class PlatformEventHeaderClass(DictWrapper): | |
"""A header included with each DataHub platform event.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.PlatformEventHeader") | |
def __init__(self, | |
timestampMillis: int, | |
): | |
super().__init__() | |
self.timestampMillis = timestampMillis | |
@classmethod | |
def construct_with_defaults(cls) -> "PlatformEventHeaderClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMillis = int() | |
@property | |
def timestampMillis(self) -> int: | |
"""Getter: The event timestamp field as epoch at UTC in milli seconds.""" | |
return self._inner_dict.get('timestampMillis') # type: ignore | |
@timestampMillis.setter | |
def timestampMillis(self, value: int) -> None: | |
"""Setter: The event timestamp field as epoch at UTC in milli seconds.""" | |
self._inner_dict['timestampMillis'] = value | |
class SystemMetadataClass(DictWrapper): | |
"""Metadata associated with each metadata change that is processed by the system""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.mxe.SystemMetadata") | |
def __init__(self, | |
lastObserved: Optional[Union[int, None]]=None, | |
runId: Optional[Union[str, None]]=None, | |
registryName: Union[None, str]=None, | |
registryVersion: Union[None, str]=None, | |
properties: Union[None, Dict[str, str]]=None, | |
): | |
super().__init__() | |
if lastObserved is None: | |
# default: 0 | |
self.lastObserved = self.RECORD_SCHEMA.fields_dict["lastObserved"].default | |
else: | |
self.lastObserved = lastObserved | |
if runId is None: | |
# default: 'no-run-id-provided' | |
self.runId = self.RECORD_SCHEMA.fields_dict["runId"].default | |
else: | |
self.runId = runId | |
self.registryName = registryName | |
self.registryVersion = registryVersion | |
self.properties = properties | |
@classmethod | |
def construct_with_defaults(cls) -> "SystemMetadataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.lastObserved = self.RECORD_SCHEMA.fields_dict["lastObserved"].default | |
self.runId = self.RECORD_SCHEMA.fields_dict["runId"].default | |
self.registryName = self.RECORD_SCHEMA.fields_dict["registryName"].default | |
self.registryVersion = self.RECORD_SCHEMA.fields_dict["registryVersion"].default | |
self.properties = self.RECORD_SCHEMA.fields_dict["properties"].default | |
@property | |
def lastObserved(self) -> Union[int, None]: | |
"""Getter: The timestamp the metadata was observed at""" | |
return self._inner_dict.get('lastObserved') # type: ignore | |
@lastObserved.setter | |
def lastObserved(self, value: Union[int, None]) -> None: | |
"""Setter: The timestamp the metadata was observed at""" | |
self._inner_dict['lastObserved'] = value | |
@property | |
def runId(self) -> Union[str, None]: | |
"""Getter: The run id that produced the metadata. Populated in case of batch-ingestion.""" | |
return self._inner_dict.get('runId') # type: ignore | |
@runId.setter | |
def runId(self, value: Union[str, None]) -> None: | |
"""Setter: The run id that produced the metadata. Populated in case of batch-ingestion.""" | |
self._inner_dict['runId'] = value | |
@property | |
def registryName(self) -> Union[None, str]: | |
"""Getter: The model registry name that was used to process this event""" | |
return self._inner_dict.get('registryName') # type: ignore | |
@registryName.setter | |
def registryName(self, value: Union[None, str]) -> None: | |
"""Setter: The model registry name that was used to process this event""" | |
self._inner_dict['registryName'] = value | |
@property | |
def registryVersion(self) -> Union[None, str]: | |
"""Getter: The model registry version that was used to process this event""" | |
return self._inner_dict.get('registryVersion') # type: ignore | |
@registryVersion.setter | |
def registryVersion(self, value: Union[None, str]) -> None: | |
"""Setter: The model registry version that was used to process this event""" | |
self._inner_dict['registryVersion'] = value | |
@property | |
def properties(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Additional properties""" | |
return self._inner_dict.get('properties') # type: ignore | |
@properties.setter | |
def properties(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Additional properties""" | |
self._inner_dict['properties'] = value | |
class ChartCellClass(DictWrapper): | |
"""Chart cell in a notebook, which will present content in chart format""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.ChartCell") | |
def __init__(self, | |
cellId: str, | |
changeAuditStamps: "ChangeAuditStampsClass", | |
cellTitle: Union[None, str]=None, | |
): | |
super().__init__() | |
self.cellTitle = cellTitle | |
self.cellId = cellId | |
self.changeAuditStamps = changeAuditStamps | |
@classmethod | |
def construct_with_defaults(cls) -> "ChartCellClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.cellTitle = self.RECORD_SCHEMA.fields_dict["cellTitle"].default | |
self.cellId = str() | |
self.changeAuditStamps = ChangeAuditStampsClass.construct_with_defaults() | |
@property | |
def cellTitle(self) -> Union[None, str]: | |
"""Getter: Title of the cell""" | |
return self._inner_dict.get('cellTitle') # type: ignore | |
@cellTitle.setter | |
def cellTitle(self, value: Union[None, str]) -> None: | |
"""Setter: Title of the cell""" | |
self._inner_dict['cellTitle'] = value | |
@property | |
def cellId(self) -> str: | |
"""Getter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
return self._inner_dict.get('cellId') # type: ignore | |
@cellId.setter | |
def cellId(self, value: str) -> None: | |
"""Setter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
self._inner_dict['cellId'] = value | |
@property | |
def changeAuditStamps(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
return self._inner_dict.get('changeAuditStamps') # type: ignore | |
@changeAuditStamps.setter | |
def changeAuditStamps(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
self._inner_dict['changeAuditStamps'] = value | |
class EditableNotebookPropertiesClass(_Aspect): | |
"""Stores editable changes made to properties. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines | |
Note: This is IN BETA version""" | |
ASPECT_NAME = 'editableNotebookProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.EditableNotebookProperties") | |
def __init__(self, | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableNotebookPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Edited documentation of the Notebook""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Edited documentation of the Notebook""" | |
self._inner_dict['description'] = value | |
class NotebookCellClass(DictWrapper): | |
"""A record of all supported cells for a Notebook. Only one type of cell will be non-null.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.NotebookCell") | |
def __init__(self, | |
type: Union[str, "NotebookCellTypeClass"], | |
textCell: Union[None, "TextCellClass"]=None, | |
queryCell: Union[None, "QueryCellClass"]=None, | |
chartCell: Union[None, "ChartCellClass"]=None, | |
): | |
super().__init__() | |
self.textCell = textCell | |
self.queryCell = queryCell | |
self.chartCell = chartCell | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "NotebookCellClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.textCell = self.RECORD_SCHEMA.fields_dict["textCell"].default | |
self.queryCell = self.RECORD_SCHEMA.fields_dict["queryCell"].default | |
self.chartCell = self.RECORD_SCHEMA.fields_dict["chartCell"].default | |
self.type = NotebookCellTypeClass.TEXT_CELL | |
@property | |
def textCell(self) -> Union[None, "TextCellClass"]: | |
"""Getter: The text cell content. The will be non-null only when all other cell field is null.""" | |
return self._inner_dict.get('textCell') # type: ignore | |
@textCell.setter | |
def textCell(self, value: Union[None, "TextCellClass"]) -> None: | |
"""Setter: The text cell content. The will be non-null only when all other cell field is null.""" | |
self._inner_dict['textCell'] = value | |
@property | |
def queryCell(self) -> Union[None, "QueryCellClass"]: | |
"""Getter: The query cell content. The will be non-null only when all other cell field is null.""" | |
return self._inner_dict.get('queryCell') # type: ignore | |
@queryCell.setter | |
def queryCell(self, value: Union[None, "QueryCellClass"]) -> None: | |
"""Setter: The query cell content. The will be non-null only when all other cell field is null.""" | |
self._inner_dict['queryCell'] = value | |
@property | |
def chartCell(self) -> Union[None, "ChartCellClass"]: | |
"""Getter: The chart cell content. The will be non-null only when all other cell field is null.""" | |
return self._inner_dict.get('chartCell') # type: ignore | |
@chartCell.setter | |
def chartCell(self, value: Union[None, "ChartCellClass"]) -> None: | |
"""Setter: The chart cell content. The will be non-null only when all other cell field is null.""" | |
self._inner_dict['chartCell'] = value | |
@property | |
def type(self) -> Union[str, "NotebookCellTypeClass"]: | |
"""Getter: The type of this Notebook cell""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "NotebookCellTypeClass"]) -> None: | |
"""Setter: The type of this Notebook cell""" | |
self._inner_dict['type'] = value | |
class NotebookCellTypeClass(object): | |
"""Type of Notebook Cell""" | |
"""TEXT Notebook cell type. The cell context is text only.""" | |
TEXT_CELL = "TEXT_CELL" | |
"""QUERY Notebook cell type. The cell context is query only.""" | |
QUERY_CELL = "QUERY_CELL" | |
"""CHART Notebook cell type. The cell content is chart only.""" | |
CHART_CELL = "CHART_CELL" | |
class NotebookContentClass(_Aspect): | |
"""Content in a Notebook | |
Note: This is IN BETA version""" | |
ASPECT_NAME = 'notebookContent' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.NotebookContent") | |
def __init__(self, | |
cells: Optional[List["NotebookCellClass"]]=None, | |
): | |
super().__init__() | |
if cells is None: | |
# default: [] | |
self.cells = list() | |
else: | |
self.cells = cells | |
@classmethod | |
def construct_with_defaults(cls) -> "NotebookContentClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.cells = list() | |
@property | |
def cells(self) -> List["NotebookCellClass"]: | |
"""Getter: The content of a Notebook which is composed by a list of NotebookCell""" | |
return self._inner_dict.get('cells') # type: ignore | |
@cells.setter | |
def cells(self, value: List["NotebookCellClass"]) -> None: | |
"""Setter: The content of a Notebook which is composed by a list of NotebookCell""" | |
self._inner_dict['cells'] = value | |
class NotebookInfoClass(_Aspect): | |
"""Information about a Notebook | |
Note: This is IN BETA version""" | |
ASPECT_NAME = 'notebookInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.NotebookInfo") | |
def __init__(self, | |
title: str, | |
changeAuditStamps: "ChangeAuditStampsClass", | |
customProperties: Optional[Dict[str, str]]=None, | |
externalUrl: Union[None, str]=None, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
if customProperties is None: | |
# default: {} | |
self.customProperties = dict() | |
else: | |
self.customProperties = customProperties | |
self.externalUrl = externalUrl | |
self.title = title | |
self.description = description | |
self.changeAuditStamps = changeAuditStamps | |
@classmethod | |
def construct_with_defaults(cls) -> "NotebookInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.customProperties = dict() | |
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default | |
self.title = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.changeAuditStamps = ChangeAuditStampsClass.construct_with_defaults() | |
@property | |
def customProperties(self) -> Dict[str, str]: | |
"""Getter: Custom property bag.""" | |
return self._inner_dict.get('customProperties') # type: ignore | |
@customProperties.setter | |
def customProperties(self, value: Dict[str, str]) -> None: | |
"""Setter: Custom property bag.""" | |
self._inner_dict['customProperties'] = value | |
@property | |
def externalUrl(self) -> Union[None, str]: | |
"""Getter: URL where the reference exist""" | |
return self._inner_dict.get('externalUrl') # type: ignore | |
@externalUrl.setter | |
def externalUrl(self, value: Union[None, str]) -> None: | |
"""Setter: URL where the reference exist""" | |
self._inner_dict['externalUrl'] = value | |
@property | |
def title(self) -> str: | |
"""Getter: Title of the Notebook""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: str) -> None: | |
"""Setter: Title of the Notebook""" | |
self._inner_dict['title'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Detailed description about the Notebook""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Detailed description about the Notebook""" | |
self._inner_dict['description'] = value | |
@property | |
def changeAuditStamps(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this Notebook and when""" | |
return self._inner_dict.get('changeAuditStamps') # type: ignore | |
@changeAuditStamps.setter | |
def changeAuditStamps(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this Notebook and when""" | |
self._inner_dict['changeAuditStamps'] = value | |
class QueryCellClass(DictWrapper): | |
"""Query cell in a Notebook, which will present content in query format""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.QueryCell") | |
def __init__(self, | |
cellId: str, | |
changeAuditStamps: "ChangeAuditStampsClass", | |
rawQuery: str, | |
cellTitle: Union[None, str]=None, | |
lastExecuted: Union[None, "AuditStampClass"]=None, | |
): | |
super().__init__() | |
self.cellTitle = cellTitle | |
self.cellId = cellId | |
self.changeAuditStamps = changeAuditStamps | |
self.rawQuery = rawQuery | |
self.lastExecuted = lastExecuted | |
@classmethod | |
def construct_with_defaults(cls) -> "QueryCellClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.cellTitle = self.RECORD_SCHEMA.fields_dict["cellTitle"].default | |
self.cellId = str() | |
self.changeAuditStamps = ChangeAuditStampsClass.construct_with_defaults() | |
self.rawQuery = str() | |
self.lastExecuted = self.RECORD_SCHEMA.fields_dict["lastExecuted"].default | |
@property | |
def cellTitle(self) -> Union[None, str]: | |
"""Getter: Title of the cell""" | |
return self._inner_dict.get('cellTitle') # type: ignore | |
@cellTitle.setter | |
def cellTitle(self, value: Union[None, str]) -> None: | |
"""Setter: Title of the cell""" | |
self._inner_dict['cellTitle'] = value | |
@property | |
def cellId(self) -> str: | |
"""Getter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
return self._inner_dict.get('cellId') # type: ignore | |
@cellId.setter | |
def cellId(self, value: str) -> None: | |
"""Setter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
self._inner_dict['cellId'] = value | |
@property | |
def changeAuditStamps(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
return self._inner_dict.get('changeAuditStamps') # type: ignore | |
@changeAuditStamps.setter | |
def changeAuditStamps(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
self._inner_dict['changeAuditStamps'] = value | |
@property | |
def rawQuery(self) -> str: | |
"""Getter: Raw query to explain some specific logic in a Notebook""" | |
return self._inner_dict.get('rawQuery') # type: ignore | |
@rawQuery.setter | |
def rawQuery(self, value: str) -> None: | |
"""Setter: Raw query to explain some specific logic in a Notebook""" | |
self._inner_dict['rawQuery'] = value | |
@property | |
def lastExecuted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: Captures information about who last executed this query cell and when""" | |
return self._inner_dict.get('lastExecuted') # type: ignore | |
@lastExecuted.setter | |
def lastExecuted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: Captures information about who last executed this query cell and when""" | |
self._inner_dict['lastExecuted'] = value | |
class TextCellClass(DictWrapper): | |
"""Text cell in a Notebook, which will present content in text format""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.notebook.TextCell") | |
def __init__(self, | |
cellId: str, | |
changeAuditStamps: "ChangeAuditStampsClass", | |
text: str, | |
cellTitle: Union[None, str]=None, | |
): | |
super().__init__() | |
self.cellTitle = cellTitle | |
self.cellId = cellId | |
self.changeAuditStamps = changeAuditStamps | |
self.text = text | |
@classmethod | |
def construct_with_defaults(cls) -> "TextCellClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.cellTitle = self.RECORD_SCHEMA.fields_dict["cellTitle"].default | |
self.cellId = str() | |
self.changeAuditStamps = ChangeAuditStampsClass.construct_with_defaults() | |
self.text = str() | |
@property | |
def cellTitle(self) -> Union[None, str]: | |
"""Getter: Title of the cell""" | |
return self._inner_dict.get('cellTitle') # type: ignore | |
@cellTitle.setter | |
def cellTitle(self, value: Union[None, str]) -> None: | |
"""Setter: Title of the cell""" | |
self._inner_dict['cellTitle'] = value | |
@property | |
def cellId(self) -> str: | |
"""Getter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
return self._inner_dict.get('cellId') # type: ignore | |
@cellId.setter | |
def cellId(self, value: str) -> None: | |
"""Setter: Unique id for the cell. This id should be globally unique for a Notebook tool even when there are multiple deployments of it. As an example, Notebook URL could be used here for QueryBook such as 'querybook.com/notebook/773/?cellId=1234'""" | |
self._inner_dict['cellId'] = value | |
@property | |
def changeAuditStamps(self) -> "ChangeAuditStampsClass": | |
"""Getter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
return self._inner_dict.get('changeAuditStamps') # type: ignore | |
@changeAuditStamps.setter | |
def changeAuditStamps(self, value: "ChangeAuditStampsClass") -> None: | |
"""Setter: Captures information about who created/last modified/deleted this Notebook cell and when""" | |
self._inner_dict['changeAuditStamps'] = value | |
@property | |
def text(self) -> str: | |
"""Getter: The actual text in a TextCell in a Notebook""" | |
return self._inner_dict.get('text') # type: ignore | |
@text.setter | |
def text(self, value: str) -> None: | |
"""Setter: The actual text in a TextCell in a Notebook""" | |
self._inner_dict['text'] = value | |
class EntityChangeEventClass(DictWrapper): | |
"""Shared fields for all entity change events.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.platform.event.v1.EntityChangeEvent") | |
def __init__(self, | |
entityType: str, | |
entityUrn: str, | |
category: str, | |
operation: str, | |
auditStamp: "AuditStampClass", | |
version: int, | |
modifier: Union[None, str]=None, | |
parameters: Union[None, "ParametersClass"]=None, | |
): | |
super().__init__() | |
self.entityType = entityType | |
self.entityUrn = entityUrn | |
self.category = category | |
self.operation = operation | |
self.modifier = modifier | |
self.parameters = parameters | |
self.auditStamp = auditStamp | |
self.version = version | |
@classmethod | |
def construct_with_defaults(cls) -> "EntityChangeEventClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.entityType = str() | |
self.entityUrn = str() | |
self.category = str() | |
self.operation = str() | |
self.modifier = self.RECORD_SCHEMA.fields_dict["modifier"].default | |
self.parameters = self.RECORD_SCHEMA.fields_dict["parameters"].default | |
self.auditStamp = AuditStampClass.construct_with_defaults() | |
self.version = int() | |
@property | |
def entityType(self) -> str: | |
"""Getter: The type of the entity affected. Corresponds to the entity registry, e.g. 'dataset', 'chart', 'dashboard', etc.""" | |
return self._inner_dict.get('entityType') # type: ignore | |
@entityType.setter | |
def entityType(self, value: str) -> None: | |
"""Setter: The type of the entity affected. Corresponds to the entity registry, e.g. 'dataset', 'chart', 'dashboard', etc.""" | |
self._inner_dict['entityType'] = value | |
@property | |
def entityUrn(self) -> str: | |
"""Getter: The urn of the entity which was affected.""" | |
return self._inner_dict.get('entityUrn') # type: ignore | |
@entityUrn.setter | |
def entityUrn(self, value: str) -> None: | |
"""Setter: The urn of the entity which was affected.""" | |
self._inner_dict['entityUrn'] = value | |
@property | |
def category(self) -> str: | |
"""Getter: The category type (TAG, GLOSSARY_TERM, OWNERSHIP, TECHNICAL_SCHEMA, etc). This is used to determine what the rest of the schema will look like.""" | |
return self._inner_dict.get('category') # type: ignore | |
@category.setter | |
def category(self, value: str) -> None: | |
"""Setter: The category type (TAG, GLOSSARY_TERM, OWNERSHIP, TECHNICAL_SCHEMA, etc). This is used to determine what the rest of the schema will look like.""" | |
self._inner_dict['category'] = value | |
@property | |
def operation(self) -> str: | |
"""Getter: The operation type. This is used to determine what the rest of the schema will look like.""" | |
return self._inner_dict.get('operation') # type: ignore | |
@operation.setter | |
def operation(self, value: str) -> None: | |
"""Setter: The operation type. This is used to determine what the rest of the schema will look like.""" | |
self._inner_dict['operation'] = value | |
@property | |
def modifier(self) -> Union[None, str]: | |
"""Getter: The urn of the entity which was affected.""" | |
return self._inner_dict.get('modifier') # type: ignore | |
@modifier.setter | |
def modifier(self, value: Union[None, str]) -> None: | |
"""Setter: The urn of the entity which was affected.""" | |
self._inner_dict['modifier'] = value | |
@property | |
def parameters(self) -> Union[None, "ParametersClass"]: | |
"""Getter: Arbitrary key-value parameters corresponding to the event.""" | |
return self._inner_dict.get('parameters') # type: ignore | |
@parameters.setter | |
def parameters(self, value: Union[None, "ParametersClass"]) -> None: | |
"""Setter: Arbitrary key-value parameters corresponding to the event.""" | |
self._inner_dict['parameters'] = value | |
@property | |
def auditStamp(self) -> "AuditStampClass": | |
"""Getter: Audit stamp of the operation""" | |
return self._inner_dict.get('auditStamp') # type: ignore | |
@auditStamp.setter | |
def auditStamp(self, value: "AuditStampClass") -> None: | |
"""Setter: Audit stamp of the operation""" | |
self._inner_dict['auditStamp'] = value | |
@property | |
def version(self) -> int: | |
"""Getter: The version of the event type, incremented in integers.""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: int) -> None: | |
"""Setter: The version of the event type, incremented in integers.""" | |
self._inner_dict['version'] = value | |
class ParametersClass(DictWrapper): | |
"""Arbitrary key-value parameters for an Entity Change Event. (any record).""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.platform.event.v1.Parameters") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "ParametersClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class DataHubActorFilterClass(DictWrapper): | |
"""Information used to filter DataHub actors.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.DataHubActorFilter") | |
def __init__(self, | |
users: Union[None, List[str]]=None, | |
groups: Union[None, List[str]]=None, | |
resourceOwners: Optional[bool]=None, | |
allUsers: Optional[bool]=None, | |
allGroups: Optional[bool]=None, | |
roles: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.users = users | |
self.groups = groups | |
if resourceOwners is None: | |
# default: False | |
self.resourceOwners = self.RECORD_SCHEMA.fields_dict["resourceOwners"].default | |
else: | |
self.resourceOwners = resourceOwners | |
if allUsers is None: | |
# default: False | |
self.allUsers = self.RECORD_SCHEMA.fields_dict["allUsers"].default | |
else: | |
self.allUsers = allUsers | |
if allGroups is None: | |
# default: False | |
self.allGroups = self.RECORD_SCHEMA.fields_dict["allGroups"].default | |
else: | |
self.allGroups = allGroups | |
self.roles = roles | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubActorFilterClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.users = self.RECORD_SCHEMA.fields_dict["users"].default | |
self.groups = self.RECORD_SCHEMA.fields_dict["groups"].default | |
self.resourceOwners = self.RECORD_SCHEMA.fields_dict["resourceOwners"].default | |
self.allUsers = self.RECORD_SCHEMA.fields_dict["allUsers"].default | |
self.allGroups = self.RECORD_SCHEMA.fields_dict["allGroups"].default | |
self.roles = self.RECORD_SCHEMA.fields_dict["roles"].default | |
@property | |
def users(self) -> Union[None, List[str]]: | |
"""Getter: A specific set of users to apply the policy to (disjunctive)""" | |
return self._inner_dict.get('users') # type: ignore | |
@users.setter | |
def users(self, value: Union[None, List[str]]) -> None: | |
"""Setter: A specific set of users to apply the policy to (disjunctive)""" | |
self._inner_dict['users'] = value | |
@property | |
def groups(self) -> Union[None, List[str]]: | |
"""Getter: A specific set of groups to apply the policy to (disjunctive)""" | |
return self._inner_dict.get('groups') # type: ignore | |
@groups.setter | |
def groups(self, value: Union[None, List[str]]) -> None: | |
"""Setter: A specific set of groups to apply the policy to (disjunctive)""" | |
self._inner_dict['groups'] = value | |
@property | |
def resourceOwners(self) -> bool: | |
"""Getter: Whether the filter should return true for owners of a particular resource. | |
Only applies to policies of type 'Metadata', which have a resource associated with them.""" | |
return self._inner_dict.get('resourceOwners') # type: ignore | |
@resourceOwners.setter | |
def resourceOwners(self, value: bool) -> None: | |
"""Setter: Whether the filter should return true for owners of a particular resource. | |
Only applies to policies of type 'Metadata', which have a resource associated with them.""" | |
self._inner_dict['resourceOwners'] = value | |
@property | |
def allUsers(self) -> bool: | |
"""Getter: Whether the filter should apply to all users.""" | |
return self._inner_dict.get('allUsers') # type: ignore | |
@allUsers.setter | |
def allUsers(self, value: bool) -> None: | |
"""Setter: Whether the filter should apply to all users.""" | |
self._inner_dict['allUsers'] = value | |
@property | |
def allGroups(self) -> bool: | |
"""Getter: Whether the filter should apply to all groups.""" | |
return self._inner_dict.get('allGroups') # type: ignore | |
@allGroups.setter | |
def allGroups(self, value: bool) -> None: | |
"""Setter: Whether the filter should apply to all groups.""" | |
self._inner_dict['allGroups'] = value | |
@property | |
def roles(self) -> Union[None, List[str]]: | |
"""Getter: A specific set of roles to apply the policy to (disjunctive).""" | |
return self._inner_dict.get('roles') # type: ignore | |
@roles.setter | |
def roles(self, value: Union[None, List[str]]) -> None: | |
"""Setter: A specific set of roles to apply the policy to (disjunctive).""" | |
self._inner_dict['roles'] = value | |
class DataHubPolicyInfoClass(_Aspect): | |
"""Information about a DataHub (UI) access policy.""" | |
ASPECT_NAME = 'dataHubPolicyInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.DataHubPolicyInfo") | |
def __init__(self, | |
displayName: str, | |
description: str, | |
type: str, | |
state: str, | |
privileges: List[str], | |
actors: "DataHubActorFilterClass", | |
resources: Union[None, "DataHubResourceFilterClass"]=None, | |
editable: Optional[bool]=None, | |
lastUpdatedTimestamp: Union[None, int]=None, | |
): | |
super().__init__() | |
self.displayName = displayName | |
self.description = description | |
self.type = type | |
self.state = state | |
self.resources = resources | |
self.privileges = privileges | |
self.actors = actors | |
if editable is None: | |
# default: True | |
self.editable = self.RECORD_SCHEMA.fields_dict["editable"].default | |
else: | |
self.editable = editable | |
self.lastUpdatedTimestamp = lastUpdatedTimestamp | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubPolicyInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.displayName = str() | |
self.description = str() | |
self.type = str() | |
self.state = str() | |
self.resources = self.RECORD_SCHEMA.fields_dict["resources"].default | |
self.privileges = list() | |
self.actors = DataHubActorFilterClass.construct_with_defaults() | |
self.editable = self.RECORD_SCHEMA.fields_dict["editable"].default | |
self.lastUpdatedTimestamp = self.RECORD_SCHEMA.fields_dict["lastUpdatedTimestamp"].default | |
@property | |
def displayName(self) -> str: | |
"""Getter: Display name of the Policy""" | |
return self._inner_dict.get('displayName') # type: ignore | |
@displayName.setter | |
def displayName(self, value: str) -> None: | |
"""Setter: Display name of the Policy""" | |
self._inner_dict['displayName'] = value | |
@property | |
def description(self) -> str: | |
"""Getter: Description of the Policy""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: str) -> None: | |
"""Setter: Description of the Policy""" | |
self._inner_dict['description'] = value | |
@property | |
def type(self) -> str: | |
"""Getter: The type of policy""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: str) -> None: | |
"""Setter: The type of policy""" | |
self._inner_dict['type'] = value | |
@property | |
def state(self) -> str: | |
"""Getter: The state of policy, ACTIVE or INACTIVE""" | |
return self._inner_dict.get('state') # type: ignore | |
@state.setter | |
def state(self, value: str) -> None: | |
"""Setter: The state of policy, ACTIVE or INACTIVE""" | |
self._inner_dict['state'] = value | |
@property | |
def resources(self) -> Union[None, "DataHubResourceFilterClass"]: | |
"""Getter: The resource that the policy applies to. Not required for some 'Platform' privileges.""" | |
return self._inner_dict.get('resources') # type: ignore | |
@resources.setter | |
def resources(self, value: Union[None, "DataHubResourceFilterClass"]) -> None: | |
"""Setter: The resource that the policy applies to. Not required for some 'Platform' privileges.""" | |
self._inner_dict['resources'] = value | |
@property | |
def privileges(self) -> List[str]: | |
"""Getter: The privileges that the policy grants.""" | |
return self._inner_dict.get('privileges') # type: ignore | |
@privileges.setter | |
def privileges(self, value: List[str]) -> None: | |
"""Setter: The privileges that the policy grants.""" | |
self._inner_dict['privileges'] = value | |
@property | |
def actors(self) -> "DataHubActorFilterClass": | |
"""Getter: The actors that the policy applies to.""" | |
return self._inner_dict.get('actors') # type: ignore | |
@actors.setter | |
def actors(self, value: "DataHubActorFilterClass") -> None: | |
"""Setter: The actors that the policy applies to.""" | |
self._inner_dict['actors'] = value | |
@property | |
def editable(self) -> bool: | |
"""Getter: Whether the policy should be editable via the UI""" | |
return self._inner_dict.get('editable') # type: ignore | |
@editable.setter | |
def editable(self, value: bool) -> None: | |
"""Setter: Whether the policy should be editable via the UI""" | |
self._inner_dict['editable'] = value | |
@property | |
def lastUpdatedTimestamp(self) -> Union[None, int]: | |
"""Getter: Timestamp when the policy was last updated""" | |
return self._inner_dict.get('lastUpdatedTimestamp') # type: ignore | |
@lastUpdatedTimestamp.setter | |
def lastUpdatedTimestamp(self, value: Union[None, int]) -> None: | |
"""Setter: Timestamp when the policy was last updated""" | |
self._inner_dict['lastUpdatedTimestamp'] = value | |
class DataHubResourceFilterClass(DictWrapper): | |
"""Information used to filter DataHub resource.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.DataHubResourceFilter") | |
def __init__(self, | |
type: Union[None, str]=None, | |
resources: Union[None, List[str]]=None, | |
allResources: Optional[bool]=None, | |
filter: Union[None, "PolicyMatchFilterClass"]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.resources = resources | |
if allResources is None: | |
# default: False | |
self.allResources = self.RECORD_SCHEMA.fields_dict["allResources"].default | |
else: | |
self.allResources = allResources | |
self.filter = filter | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubResourceFilterClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
self.resources = self.RECORD_SCHEMA.fields_dict["resources"].default | |
self.allResources = self.RECORD_SCHEMA.fields_dict["allResources"].default | |
self.filter = self.RECORD_SCHEMA.fields_dict["filter"].default | |
@property | |
def type(self) -> Union[None, str]: | |
"""Getter: The type of resource that the policy applies to. This will most often be a data asset entity name, for | |
example 'dataset'. It is not strictly required because in the future we will want to support filtering a resource | |
by domain, as well.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[None, str]) -> None: | |
"""Setter: The type of resource that the policy applies to. This will most often be a data asset entity name, for | |
example 'dataset'. It is not strictly required because in the future we will want to support filtering a resource | |
by domain, as well.""" | |
self._inner_dict['type'] = value | |
@property | |
def resources(self) -> Union[None, List[str]]: | |
"""Getter: A specific set of resources to apply the policy to, e.g. asset urns""" | |
return self._inner_dict.get('resources') # type: ignore | |
@resources.setter | |
def resources(self, value: Union[None, List[str]]) -> None: | |
"""Setter: A specific set of resources to apply the policy to, e.g. asset urns""" | |
self._inner_dict['resources'] = value | |
@property | |
def allResources(self) -> bool: | |
"""Getter: Whether the policy should be applied to all assets matching the filter.""" | |
return self._inner_dict.get('allResources') # type: ignore | |
@allResources.setter | |
def allResources(self, value: bool) -> None: | |
"""Setter: Whether the policy should be applied to all assets matching the filter.""" | |
self._inner_dict['allResources'] = value | |
@property | |
def filter(self) -> Union[None, "PolicyMatchFilterClass"]: | |
"""Getter: Filter to apply privileges to""" | |
return self._inner_dict.get('filter') # type: ignore | |
@filter.setter | |
def filter(self, value: Union[None, "PolicyMatchFilterClass"]) -> None: | |
"""Setter: Filter to apply privileges to""" | |
self._inner_dict['filter'] = value | |
class DataHubRoleInfoClass(_Aspect): | |
"""Information about a DataHub Role.""" | |
ASPECT_NAME = 'dataHubRoleInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.DataHubRoleInfo") | |
def __init__(self, | |
name: str, | |
description: str, | |
editable: Optional[bool]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.description = description | |
if editable is None: | |
# default: False | |
self.editable = self.RECORD_SCHEMA.fields_dict["editable"].default | |
else: | |
self.editable = editable | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubRoleInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.description = str() | |
self.editable = self.RECORD_SCHEMA.fields_dict["editable"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the Role""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the Role""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> str: | |
"""Getter: Description of the Role""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: str) -> None: | |
"""Setter: Description of the Role""" | |
self._inner_dict['description'] = value | |
@property | |
def editable(self) -> bool: | |
"""Getter: Whether the role should be editable via the UI""" | |
return self._inner_dict.get('editable') # type: ignore | |
@editable.setter | |
def editable(self, value: bool) -> None: | |
"""Setter: Whether the role should be editable via the UI""" | |
self._inner_dict['editable'] = value | |
class PolicyMatchConditionClass(object): | |
"""The matching condition in a filter criterion""" | |
"""Whether the field matches the value""" | |
EQUALS = "EQUALS" | |
class PolicyMatchCriterionClass(DictWrapper): | |
"""A criterion for matching a field with given value""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.PolicyMatchCriterion") | |
def __init__(self, | |
field: str, | |
values: List[str], | |
condition: Optional[Union[str, "PolicyMatchConditionClass"]]=None, | |
): | |
super().__init__() | |
self.field = field | |
self.values = values | |
if condition is None: | |
# default: 'EQUALS' | |
self.condition = self.RECORD_SCHEMA.fields_dict["condition"].default | |
else: | |
self.condition = condition | |
@classmethod | |
def construct_with_defaults(cls) -> "PolicyMatchCriterionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.field = str() | |
self.values = list() | |
self.condition = self.RECORD_SCHEMA.fields_dict["condition"].default | |
@property | |
def field(self) -> str: | |
"""Getter: The name of the field that the criterion refers to""" | |
return self._inner_dict.get('field') # type: ignore | |
@field.setter | |
def field(self, value: str) -> None: | |
"""Setter: The name of the field that the criterion refers to""" | |
self._inner_dict['field'] = value | |
@property | |
def values(self) -> List[str]: | |
"""Getter: Values. Matches criterion if any one of the values matches condition (OR-relationship)""" | |
return self._inner_dict.get('values') # type: ignore | |
@values.setter | |
def values(self, value: List[str]) -> None: | |
"""Setter: Values. Matches criterion if any one of the values matches condition (OR-relationship)""" | |
self._inner_dict['values'] = value | |
@property | |
def condition(self) -> Union[str, "PolicyMatchConditionClass"]: | |
"""Getter: The condition for the criterion""" | |
return self._inner_dict.get('condition') # type: ignore | |
@condition.setter | |
def condition(self, value: Union[str, "PolicyMatchConditionClass"]) -> None: | |
"""Setter: The condition for the criterion""" | |
self._inner_dict['condition'] = value | |
class PolicyMatchFilterClass(DictWrapper): | |
"""The filter for specifying the resource or actor to apply privileges to""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.policy.PolicyMatchFilter") | |
def __init__(self, | |
criteria: List["PolicyMatchCriterionClass"], | |
): | |
super().__init__() | |
self.criteria = criteria | |
@classmethod | |
def construct_with_defaults(cls) -> "PolicyMatchFilterClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.criteria = list() | |
@property | |
def criteria(self) -> List["PolicyMatchCriterionClass"]: | |
"""Getter: A list of criteria to apply conjunctively (so all criteria must pass)""" | |
return self._inner_dict.get('criteria') # type: ignore | |
@criteria.setter | |
def criteria(self, value: List["PolicyMatchCriterionClass"]) -> None: | |
"""Setter: A list of criteria to apply conjunctively (so all criteria must pass)""" | |
self._inner_dict['criteria'] = value | |
class PostContentClass(DictWrapper): | |
"""Content stored inside a Post.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.post.PostContent") | |
def __init__(self, | |
title: str, | |
type: Union[str, "PostContentTypeClass"], | |
description: Union[None, str]=None, | |
link: Union[None, str]=None, | |
media: Union[None, "MediaClass"]=None, | |
): | |
super().__init__() | |
self.title = title | |
self.type = type | |
self.description = description | |
self.link = link | |
self.media = media | |
@classmethod | |
def construct_with_defaults(cls) -> "PostContentClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.title = str() | |
self.type = PostContentTypeClass.TEXT | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.link = self.RECORD_SCHEMA.fields_dict["link"].default | |
self.media = self.RECORD_SCHEMA.fields_dict["media"].default | |
@property | |
def title(self) -> str: | |
"""Getter: Title of the post.""" | |
return self._inner_dict.get('title') # type: ignore | |
@title.setter | |
def title(self, value: str) -> None: | |
"""Setter: Title of the post.""" | |
self._inner_dict['title'] = value | |
@property | |
def type(self) -> Union[str, "PostContentTypeClass"]: | |
"""Getter: Type of content held in the post.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "PostContentTypeClass"]) -> None: | |
"""Setter: Type of content held in the post.""" | |
self._inner_dict['type'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Optional description of the post.""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Optional description of the post.""" | |
self._inner_dict['description'] = value | |
@property | |
def link(self) -> Union[None, str]: | |
"""Getter: Optional link that the post is associated with.""" | |
return self._inner_dict.get('link') # type: ignore | |
@link.setter | |
def link(self, value: Union[None, str]) -> None: | |
"""Setter: Optional link that the post is associated with.""" | |
self._inner_dict['link'] = value | |
@property | |
def media(self) -> Union[None, "MediaClass"]: | |
"""Getter: Optional media that the post is storing""" | |
return self._inner_dict.get('media') # type: ignore | |
@media.setter | |
def media(self, value: Union[None, "MediaClass"]) -> None: | |
"""Setter: Optional media that the post is storing""" | |
self._inner_dict['media'] = value | |
class PostContentTypeClass(object): | |
"""Enum defining the type of content held in a Post.""" | |
"""Text content""" | |
TEXT = "TEXT" | |
"""Link content""" | |
LINK = "LINK" | |
class PostInfoClass(_Aspect): | |
"""Information about a DataHub Post.""" | |
ASPECT_NAME = 'postInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.post.PostInfo") | |
def __init__(self, | |
type: Union[str, "PostTypeClass"], | |
content: "PostContentClass", | |
created: int, | |
lastModified: int, | |
): | |
super().__init__() | |
self.type = type | |
self.content = content | |
self.created = created | |
self.lastModified = lastModified | |
@classmethod | |
def construct_with_defaults(cls) -> "PostInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = PostTypeClass.HOME_PAGE_ANNOUNCEMENT | |
self.content = PostContentClass.construct_with_defaults() | |
self.created = int() | |
self.lastModified = int() | |
@property | |
def type(self) -> Union[str, "PostTypeClass"]: | |
"""Getter: Type of the Post.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "PostTypeClass"]) -> None: | |
"""Setter: Type of the Post.""" | |
self._inner_dict['type'] = value | |
@property | |
def content(self) -> "PostContentClass": | |
"""Getter: Content stored in the post.""" | |
return self._inner_dict.get('content') # type: ignore | |
@content.setter | |
def content(self, value: "PostContentClass") -> None: | |
"""Setter: Content stored in the post.""" | |
self._inner_dict['content'] = value | |
@property | |
def created(self) -> int: | |
"""Getter: The time at which the post was initially created""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: int) -> None: | |
"""Setter: The time at which the post was initially created""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> int: | |
"""Getter: The time at which the post was last modified""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: int) -> None: | |
"""Setter: The time at which the post was last modified""" | |
self._inner_dict['lastModified'] = value | |
class PostTypeClass(object): | |
"""Enum defining types of Posts.""" | |
"""The Post is an Home Page announcement.""" | |
HOME_PAGE_ANNOUNCEMENT = "HOME_PAGE_ANNOUNCEMENT" | |
class DataHubRetentionConfigClass(_Aspect): | |
# No docs available. | |
ASPECT_NAME = 'dataHubRetentionConfig' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.retention.DataHubRetentionConfig") | |
def __init__(self, | |
retention: "RetentionClass", | |
): | |
super().__init__() | |
self.retention = retention | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubRetentionConfigClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.retention = RetentionClass.construct_with_defaults() | |
@property | |
def retention(self) -> "RetentionClass": | |
# No docs available. | |
return self._inner_dict.get('retention') # type: ignore | |
@retention.setter | |
def retention(self, value: "RetentionClass") -> None: | |
# No docs available. | |
self._inner_dict['retention'] = value | |
class RetentionClass(DictWrapper): | |
"""Base class that encapsulates different retention policies. | |
Only one of the fields should be set""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.retention.Retention") | |
def __init__(self, | |
version: Union[None, "VersionBasedRetentionClass"]=None, | |
time: Union[None, "TimeBasedRetentionClass"]=None, | |
): | |
super().__init__() | |
self.version = version | |
self.time = time | |
@classmethod | |
def construct_with_defaults(cls) -> "RetentionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.version = self.RECORD_SCHEMA.fields_dict["version"].default | |
self.time = self.RECORD_SCHEMA.fields_dict["time"].default | |
@property | |
def version(self) -> Union[None, "VersionBasedRetentionClass"]: | |
# No docs available. | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: Union[None, "VersionBasedRetentionClass"]) -> None: | |
# No docs available. | |
self._inner_dict['version'] = value | |
@property | |
def time(self) -> Union[None, "TimeBasedRetentionClass"]: | |
# No docs available. | |
return self._inner_dict.get('time') # type: ignore | |
@time.setter | |
def time(self, value: Union[None, "TimeBasedRetentionClass"]) -> None: | |
# No docs available. | |
self._inner_dict['time'] = value | |
class TimeBasedRetentionClass(DictWrapper): | |
"""Keep records that are less than X seconds old""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.retention.TimeBasedRetention") | |
def __init__(self, | |
maxAgeInSeconds: int, | |
): | |
super().__init__() | |
self.maxAgeInSeconds = maxAgeInSeconds | |
@classmethod | |
def construct_with_defaults(cls) -> "TimeBasedRetentionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.maxAgeInSeconds = int() | |
@property | |
def maxAgeInSeconds(self) -> int: | |
# No docs available. | |
return self._inner_dict.get('maxAgeInSeconds') # type: ignore | |
@maxAgeInSeconds.setter | |
def maxAgeInSeconds(self, value: int) -> None: | |
# No docs available. | |
self._inner_dict['maxAgeInSeconds'] = value | |
class VersionBasedRetentionClass(DictWrapper): | |
"""Keep max N latest records""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.retention.VersionBasedRetention") | |
def __init__(self, | |
maxVersions: int, | |
): | |
super().__init__() | |
self.maxVersions = maxVersions | |
@classmethod | |
def construct_with_defaults(cls) -> "VersionBasedRetentionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.maxVersions = int() | |
@property | |
def maxVersions(self) -> int: | |
# No docs available. | |
return self._inner_dict.get('maxVersions') # type: ignore | |
@maxVersions.setter | |
def maxVersions(self, value: int) -> None: | |
# No docs available. | |
self._inner_dict['maxVersions'] = value | |
class ArrayTypeClass(DictWrapper): | |
"""Array field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.ArrayType") | |
def __init__(self, | |
nestedType: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.nestedType = nestedType | |
@classmethod | |
def construct_with_defaults(cls) -> "ArrayTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.nestedType = self.RECORD_SCHEMA.fields_dict["nestedType"].default | |
@property | |
def nestedType(self) -> Union[None, List[str]]: | |
"""Getter: List of types this array holds.""" | |
return self._inner_dict.get('nestedType') # type: ignore | |
@nestedType.setter | |
def nestedType(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of types this array holds.""" | |
self._inner_dict['nestedType'] = value | |
class BinaryJsonSchemaClass(DictWrapper): | |
"""Schema text of binary JSON schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.BinaryJsonSchema") | |
def __init__(self, | |
schema: str, | |
): | |
super().__init__() | |
self.schema = schema | |
@classmethod | |
def construct_with_defaults(cls) -> "BinaryJsonSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.schema = str() | |
@property | |
def schema(self) -> str: | |
"""Getter: The native schema text for binary JSON file format.""" | |
return self._inner_dict.get('schema') # type: ignore | |
@schema.setter | |
def schema(self, value: str) -> None: | |
"""Setter: The native schema text for binary JSON file format.""" | |
self._inner_dict['schema'] = value | |
class BooleanTypeClass(DictWrapper): | |
"""Boolean field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.BooleanType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "BooleanTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class BytesTypeClass(DictWrapper): | |
"""Bytes field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.BytesType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "BytesTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class DatasetFieldForeignKeyClass(DictWrapper): | |
"""For non-urn based foregin keys.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.DatasetFieldForeignKey") | |
def __init__(self, | |
parentDataset: str, | |
currentFieldPaths: List[str], | |
parentField: str, | |
): | |
super().__init__() | |
self.parentDataset = parentDataset | |
self.currentFieldPaths = currentFieldPaths | |
self.parentField = parentField | |
@classmethod | |
def construct_with_defaults(cls) -> "DatasetFieldForeignKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.parentDataset = str() | |
self.currentFieldPaths = list() | |
self.parentField = str() | |
@property | |
def parentDataset(self) -> str: | |
"""Getter: dataset that stores the resource.""" | |
return self._inner_dict.get('parentDataset') # type: ignore | |
@parentDataset.setter | |
def parentDataset(self, value: str) -> None: | |
"""Setter: dataset that stores the resource.""" | |
self._inner_dict['parentDataset'] = value | |
@property | |
def currentFieldPaths(self) -> List[str]: | |
"""Getter: List of fields in hosting(current) SchemaMetadata that conform a foreign key. List can contain a single entry or multiple entries if several entries in hosting schema conform a foreign key in a single parent dataset.""" | |
return self._inner_dict.get('currentFieldPaths') # type: ignore | |
@currentFieldPaths.setter | |
def currentFieldPaths(self, value: List[str]) -> None: | |
"""Setter: List of fields in hosting(current) SchemaMetadata that conform a foreign key. List can contain a single entry or multiple entries if several entries in hosting schema conform a foreign key in a single parent dataset.""" | |
self._inner_dict['currentFieldPaths'] = value | |
@property | |
def parentField(self) -> str: | |
"""Getter: SchemaField@fieldPath that uniquely identify field in parent dataset that this field references.""" | |
return self._inner_dict.get('parentField') # type: ignore | |
@parentField.setter | |
def parentField(self, value: str) -> None: | |
"""Setter: SchemaField@fieldPath that uniquely identify field in parent dataset that this field references.""" | |
self._inner_dict['parentField'] = value | |
class DateTypeClass(DictWrapper): | |
"""Date field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.DateType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "DateTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class EditableSchemaFieldInfoClass(DictWrapper): | |
"""SchemaField to describe metadata related to dataset schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.EditableSchemaFieldInfo") | |
def __init__(self, | |
fieldPath: str, | |
description: Union[None, str]=None, | |
globalTags: Union[None, "GlobalTagsClass"]=None, | |
glossaryTerms: Union[None, "GlossaryTermsClass"]=None, | |
): | |
super().__init__() | |
self.fieldPath = fieldPath | |
self.description = description | |
self.globalTags = globalTags | |
self.glossaryTerms = glossaryTerms | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableSchemaFieldInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldPath = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.globalTags = self.RECORD_SCHEMA.fields_dict["globalTags"].default | |
self.glossaryTerms = self.RECORD_SCHEMA.fields_dict["glossaryTerms"].default | |
@property | |
def fieldPath(self) -> str: | |
"""Getter: FieldPath uniquely identifying the SchemaField this metadata is associated with""" | |
return self._inner_dict.get('fieldPath') # type: ignore | |
@fieldPath.setter | |
def fieldPath(self, value: str) -> None: | |
"""Setter: FieldPath uniquely identifying the SchemaField this metadata is associated with""" | |
self._inner_dict['fieldPath'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description""" | |
self._inner_dict['description'] = value | |
@property | |
def globalTags(self) -> Union[None, "GlobalTagsClass"]: | |
"""Getter: Tags associated with the field""" | |
return self._inner_dict.get('globalTags') # type: ignore | |
@globalTags.setter | |
def globalTags(self, value: Union[None, "GlobalTagsClass"]) -> None: | |
"""Setter: Tags associated with the field""" | |
self._inner_dict['globalTags'] = value | |
@property | |
def glossaryTerms(self) -> Union[None, "GlossaryTermsClass"]: | |
"""Getter: Glossary terms associated with the field""" | |
return self._inner_dict.get('glossaryTerms') # type: ignore | |
@glossaryTerms.setter | |
def glossaryTerms(self, value: Union[None, "GlossaryTermsClass"]) -> None: | |
"""Setter: Glossary terms associated with the field""" | |
self._inner_dict['glossaryTerms'] = value | |
class EditableSchemaMetadataClass(_Aspect): | |
"""EditableSchemaMetadata stores editable changes made to schema metadata. This separates changes made from | |
ingestion pipelines and edits in the UI to avoid accidental overwrites of user-provided data by ingestion pipelines.""" | |
ASPECT_NAME = 'editableSchemaMetadata' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.EditableSchemaMetadata") | |
def __init__(self, | |
editableSchemaFieldInfo: List["EditableSchemaFieldInfoClass"], | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
): | |
super().__init__() | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.editableSchemaFieldInfo = editableSchemaFieldInfo | |
@classmethod | |
def construct_with_defaults(cls) -> "EditableSchemaMetadataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.editableSchemaFieldInfo = list() | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def editableSchemaFieldInfo(self) -> List["EditableSchemaFieldInfoClass"]: | |
"""Getter: Client provided a list of fields from document schema.""" | |
return self._inner_dict.get('editableSchemaFieldInfo') # type: ignore | |
@editableSchemaFieldInfo.setter | |
def editableSchemaFieldInfo(self, value: List["EditableSchemaFieldInfoClass"]) -> None: | |
"""Setter: Client provided a list of fields from document schema.""" | |
self._inner_dict['editableSchemaFieldInfo'] = value | |
class EnumTypeClass(DictWrapper): | |
"""Enum field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.EnumType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "EnumTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class EspressoSchemaClass(DictWrapper): | |
"""Schema text of an espresso table schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.EspressoSchema") | |
def __init__(self, | |
documentSchema: str, | |
tableSchema: str, | |
): | |
super().__init__() | |
self.documentSchema = documentSchema | |
self.tableSchema = tableSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "EspressoSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.documentSchema = str() | |
self.tableSchema = str() | |
@property | |
def documentSchema(self) -> str: | |
"""Getter: The native espresso document schema.""" | |
return self._inner_dict.get('documentSchema') # type: ignore | |
@documentSchema.setter | |
def documentSchema(self, value: str) -> None: | |
"""Setter: The native espresso document schema.""" | |
self._inner_dict['documentSchema'] = value | |
@property | |
def tableSchema(self) -> str: | |
"""Getter: The espresso table schema definition.""" | |
return self._inner_dict.get('tableSchema') # type: ignore | |
@tableSchema.setter | |
def tableSchema(self, value: str) -> None: | |
"""Setter: The espresso table schema definition.""" | |
self._inner_dict['tableSchema'] = value | |
class FixedTypeClass(DictWrapper): | |
"""Fixed field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.FixedType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "FixedTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class ForeignKeyConstraintClass(DictWrapper): | |
"""Description of a foreign key constraint in a schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.ForeignKeyConstraint") | |
def __init__(self, | |
name: str, | |
foreignFields: List[str], | |
sourceFields: List[str], | |
foreignDataset: str, | |
): | |
super().__init__() | |
self.name = name | |
self.foreignFields = foreignFields | |
self.sourceFields = sourceFields | |
self.foreignDataset = foreignDataset | |
@classmethod | |
def construct_with_defaults(cls) -> "ForeignKeyConstraintClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.foreignFields = list() | |
self.sourceFields = list() | |
self.foreignDataset = str() | |
@property | |
def name(self) -> str: | |
"""Getter: Name of the constraint, likely provided from the source""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Name of the constraint, likely provided from the source""" | |
self._inner_dict['name'] = value | |
@property | |
def foreignFields(self) -> List[str]: | |
"""Getter: Fields the constraint maps to on the foreign dataset""" | |
return self._inner_dict.get('foreignFields') # type: ignore | |
@foreignFields.setter | |
def foreignFields(self, value: List[str]) -> None: | |
"""Setter: Fields the constraint maps to on the foreign dataset""" | |
self._inner_dict['foreignFields'] = value | |
@property | |
def sourceFields(self) -> List[str]: | |
"""Getter: Fields the constraint maps to on the source dataset""" | |
return self._inner_dict.get('sourceFields') # type: ignore | |
@sourceFields.setter | |
def sourceFields(self, value: List[str]) -> None: | |
"""Setter: Fields the constraint maps to on the source dataset""" | |
self._inner_dict['sourceFields'] = value | |
@property | |
def foreignDataset(self) -> str: | |
"""Getter: Reference to the foreign dataset for ease of lookup""" | |
return self._inner_dict.get('foreignDataset') # type: ignore | |
@foreignDataset.setter | |
def foreignDataset(self, value: str) -> None: | |
"""Setter: Reference to the foreign dataset for ease of lookup""" | |
self._inner_dict['foreignDataset'] = value | |
class ForeignKeySpecClass(DictWrapper): | |
"""Description of a foreign key in a schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.ForeignKeySpec") | |
def __init__(self, | |
foreignKey: Union["DatasetFieldForeignKeyClass", "UrnForeignKeyClass"], | |
): | |
super().__init__() | |
self.foreignKey = foreignKey | |
@classmethod | |
def construct_with_defaults(cls) -> "ForeignKeySpecClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.foreignKey = DatasetFieldForeignKeyClass.construct_with_defaults() | |
@property | |
def foreignKey(self) -> Union["DatasetFieldForeignKeyClass", "UrnForeignKeyClass"]: | |
"""Getter: Foreign key definition in metadata schema.""" | |
return self._inner_dict.get('foreignKey') # type: ignore | |
@foreignKey.setter | |
def foreignKey(self, value: Union["DatasetFieldForeignKeyClass", "UrnForeignKeyClass"]) -> None: | |
"""Setter: Foreign key definition in metadata schema.""" | |
self._inner_dict['foreignKey'] = value | |
class KafkaSchemaClass(DictWrapper): | |
"""Schema holder for kafka schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.KafkaSchema") | |
def __init__(self, | |
documentSchema: str, | |
keySchema: Union[None, str]=None, | |
): | |
super().__init__() | |
self.documentSchema = documentSchema | |
self.keySchema = keySchema | |
@classmethod | |
def construct_with_defaults(cls) -> "KafkaSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.documentSchema = str() | |
self.keySchema = self.RECORD_SCHEMA.fields_dict["keySchema"].default | |
@property | |
def documentSchema(self) -> str: | |
"""Getter: The native kafka document schema. This is a human readable avro document schema.""" | |
return self._inner_dict.get('documentSchema') # type: ignore | |
@documentSchema.setter | |
def documentSchema(self, value: str) -> None: | |
"""Setter: The native kafka document schema. This is a human readable avro document schema.""" | |
self._inner_dict['documentSchema'] = value | |
@property | |
def keySchema(self) -> Union[None, str]: | |
"""Getter: The native kafka key schema as retrieved from Schema Registry""" | |
return self._inner_dict.get('keySchema') # type: ignore | |
@keySchema.setter | |
def keySchema(self, value: Union[None, str]) -> None: | |
"""Setter: The native kafka key schema as retrieved from Schema Registry""" | |
self._inner_dict['keySchema'] = value | |
class KeyValueSchemaClass(DictWrapper): | |
"""Schema text of a key-value store schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.KeyValueSchema") | |
def __init__(self, | |
keySchema: str, | |
valueSchema: str, | |
): | |
super().__init__() | |
self.keySchema = keySchema | |
self.valueSchema = valueSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "KeyValueSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.keySchema = str() | |
self.valueSchema = str() | |
@property | |
def keySchema(self) -> str: | |
"""Getter: The raw schema for the key in the key-value store.""" | |
return self._inner_dict.get('keySchema') # type: ignore | |
@keySchema.setter | |
def keySchema(self, value: str) -> None: | |
"""Setter: The raw schema for the key in the key-value store.""" | |
self._inner_dict['keySchema'] = value | |
@property | |
def valueSchema(self) -> str: | |
"""Getter: The raw schema for the value in the key-value store.""" | |
return self._inner_dict.get('valueSchema') # type: ignore | |
@valueSchema.setter | |
def valueSchema(self, value: str) -> None: | |
"""Setter: The raw schema for the value in the key-value store.""" | |
self._inner_dict['valueSchema'] = value | |
class MapTypeClass(DictWrapper): | |
"""Map field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.MapType") | |
def __init__(self, | |
keyType: Union[None, str]=None, | |
valueType: Union[None, str]=None, | |
): | |
super().__init__() | |
self.keyType = keyType | |
self.valueType = valueType | |
@classmethod | |
def construct_with_defaults(cls) -> "MapTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.keyType = self.RECORD_SCHEMA.fields_dict["keyType"].default | |
self.valueType = self.RECORD_SCHEMA.fields_dict["valueType"].default | |
@property | |
def keyType(self) -> Union[None, str]: | |
"""Getter: Key type in a map""" | |
return self._inner_dict.get('keyType') # type: ignore | |
@keyType.setter | |
def keyType(self, value: Union[None, str]) -> None: | |
"""Setter: Key type in a map""" | |
self._inner_dict['keyType'] = value | |
@property | |
def valueType(self) -> Union[None, str]: | |
"""Getter: Type of the value in a map""" | |
return self._inner_dict.get('valueType') # type: ignore | |
@valueType.setter | |
def valueType(self, value: Union[None, str]) -> None: | |
"""Setter: Type of the value in a map""" | |
self._inner_dict['valueType'] = value | |
class MySqlDDLClass(DictWrapper): | |
"""Schema holder for MySql data definition language that describes an MySql table.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.MySqlDDL") | |
def __init__(self, | |
tableSchema: str, | |
): | |
super().__init__() | |
self.tableSchema = tableSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "MySqlDDLClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.tableSchema = str() | |
@property | |
def tableSchema(self) -> str: | |
"""Getter: The native schema in the dataset's platform. This is a human readable (json blob) table schema.""" | |
return self._inner_dict.get('tableSchema') # type: ignore | |
@tableSchema.setter | |
def tableSchema(self, value: str) -> None: | |
"""Setter: The native schema in the dataset's platform. This is a human readable (json blob) table schema.""" | |
self._inner_dict['tableSchema'] = value | |
class NullTypeClass(DictWrapper): | |
"""Null field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.NullType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "NullTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class NumberTypeClass(DictWrapper): | |
"""Number data type: long, integer, short, etc..""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.NumberType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "NumberTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class OracleDDLClass(DictWrapper): | |
"""Schema holder for oracle data definition language that describes an oracle table.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.OracleDDL") | |
def __init__(self, | |
tableSchema: str, | |
): | |
super().__init__() | |
self.tableSchema = tableSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "OracleDDLClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.tableSchema = str() | |
@property | |
def tableSchema(self) -> str: | |
"""Getter: The native schema in the dataset's platform. This is a human readable (json blob) table schema.""" | |
return self._inner_dict.get('tableSchema') # type: ignore | |
@tableSchema.setter | |
def tableSchema(self, value: str) -> None: | |
"""Setter: The native schema in the dataset's platform. This is a human readable (json blob) table schema.""" | |
self._inner_dict['tableSchema'] = value | |
class OrcSchemaClass(DictWrapper): | |
"""Schema text of an ORC schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.OrcSchema") | |
def __init__(self, | |
schema: str, | |
): | |
super().__init__() | |
self.schema = schema | |
@classmethod | |
def construct_with_defaults(cls) -> "OrcSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.schema = str() | |
@property | |
def schema(self) -> str: | |
"""Getter: The native schema for ORC file format.""" | |
return self._inner_dict.get('schema') # type: ignore | |
@schema.setter | |
def schema(self, value: str) -> None: | |
"""Setter: The native schema for ORC file format.""" | |
self._inner_dict['schema'] = value | |
class OtherSchemaClass(DictWrapper): | |
"""Schema holder for undefined schema types.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.OtherSchema") | |
def __init__(self, | |
rawSchema: str, | |
): | |
super().__init__() | |
self.rawSchema = rawSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "OtherSchemaClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.rawSchema = str() | |
@property | |
def rawSchema(self) -> str: | |
"""Getter: The native schema in the dataset's platform.""" | |
return self._inner_dict.get('rawSchema') # type: ignore | |
@rawSchema.setter | |
def rawSchema(self, value: str) -> None: | |
"""Setter: The native schema in the dataset's platform.""" | |
self._inner_dict['rawSchema'] = value | |
class PrestoDDLClass(DictWrapper): | |
"""Schema holder for presto data definition language that describes a presto view.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.PrestoDDL") | |
def __init__(self, | |
rawSchema: str, | |
): | |
super().__init__() | |
self.rawSchema = rawSchema | |
@classmethod | |
def construct_with_defaults(cls) -> "PrestoDDLClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.rawSchema = str() | |
@property | |
def rawSchema(self) -> str: | |
"""Getter: The raw schema in the dataset's platform. This includes the DDL and the columns extracted from DDL.""" | |
return self._inner_dict.get('rawSchema') # type: ignore | |
@rawSchema.setter | |
def rawSchema(self, value: str) -> None: | |
"""Setter: The raw schema in the dataset's platform. This includes the DDL and the columns extracted from DDL.""" | |
self._inner_dict['rawSchema'] = value | |
class RecordTypeClass(DictWrapper): | |
"""Record field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.RecordType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "RecordTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class SchemaFieldClass(DictWrapper): | |
"""SchemaField to describe metadata related to dataset schema.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.SchemaField") | |
def __init__(self, | |
fieldPath: str, | |
type: "SchemaFieldDataTypeClass", | |
nativeDataType: str, | |
jsonPath: Union[None, str]=None, | |
nullable: Optional[bool]=None, | |
description: Union[None, str]=None, | |
label: Union[None, str]=None, | |
created: Union[None, "AuditStampClass"]=None, | |
lastModified: Union[None, "AuditStampClass"]=None, | |
recursive: Optional[bool]=None, | |
globalTags: Union[None, "GlobalTagsClass"]=None, | |
glossaryTerms: Union[None, "GlossaryTermsClass"]=None, | |
isPartOfKey: Optional[bool]=None, | |
isPartitioningKey: Union[None, bool]=None, | |
jsonProps: Union[None, str]=None, | |
): | |
super().__init__() | |
self.fieldPath = fieldPath | |
self.jsonPath = jsonPath | |
if nullable is None: | |
# default: False | |
self.nullable = self.RECORD_SCHEMA.fields_dict["nullable"].default | |
else: | |
self.nullable = nullable | |
self.description = description | |
self.label = label | |
self.created = created | |
self.lastModified = lastModified | |
self.type = type | |
self.nativeDataType = nativeDataType | |
if recursive is None: | |
# default: False | |
self.recursive = self.RECORD_SCHEMA.fields_dict["recursive"].default | |
else: | |
self.recursive = recursive | |
self.globalTags = globalTags | |
self.glossaryTerms = glossaryTerms | |
if isPartOfKey is None: | |
# default: False | |
self.isPartOfKey = self.RECORD_SCHEMA.fields_dict["isPartOfKey"].default | |
else: | |
self.isPartOfKey = isPartOfKey | |
self.isPartitioningKey = isPartitioningKey | |
self.jsonProps = jsonProps | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemaFieldClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldPath = str() | |
self.jsonPath = self.RECORD_SCHEMA.fields_dict["jsonPath"].default | |
self.nullable = self.RECORD_SCHEMA.fields_dict["nullable"].default | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.label = self.RECORD_SCHEMA.fields_dict["label"].default | |
self.created = self.RECORD_SCHEMA.fields_dict["created"].default | |
self.lastModified = self.RECORD_SCHEMA.fields_dict["lastModified"].default | |
self.type = SchemaFieldDataTypeClass.construct_with_defaults() | |
self.nativeDataType = str() | |
self.recursive = self.RECORD_SCHEMA.fields_dict["recursive"].default | |
self.globalTags = self.RECORD_SCHEMA.fields_dict["globalTags"].default | |
self.glossaryTerms = self.RECORD_SCHEMA.fields_dict["glossaryTerms"].default | |
self.isPartOfKey = self.RECORD_SCHEMA.fields_dict["isPartOfKey"].default | |
self.isPartitioningKey = self.RECORD_SCHEMA.fields_dict["isPartitioningKey"].default | |
self.jsonProps = self.RECORD_SCHEMA.fields_dict["jsonProps"].default | |
@property | |
def fieldPath(self) -> str: | |
"""Getter: Flattened name of the field. Field is computed from jsonPath field.""" | |
return self._inner_dict.get('fieldPath') # type: ignore | |
@fieldPath.setter | |
def fieldPath(self, value: str) -> None: | |
"""Setter: Flattened name of the field. Field is computed from jsonPath field.""" | |
self._inner_dict['fieldPath'] = value | |
@property | |
def jsonPath(self) -> Union[None, str]: | |
"""Getter: Flattened name of a field in JSON Path notation.""" | |
return self._inner_dict.get('jsonPath') # type: ignore | |
@jsonPath.setter | |
def jsonPath(self, value: Union[None, str]) -> None: | |
"""Setter: Flattened name of a field in JSON Path notation.""" | |
self._inner_dict['jsonPath'] = value | |
@property | |
def nullable(self) -> bool: | |
"""Getter: Indicates if this field is optional or nullable""" | |
return self._inner_dict.get('nullable') # type: ignore | |
@nullable.setter | |
def nullable(self, value: bool) -> None: | |
"""Setter: Indicates if this field is optional or nullable""" | |
self._inner_dict['nullable'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description""" | |
self._inner_dict['description'] = value | |
@property | |
def label(self) -> Union[None, str]: | |
"""Getter: Label of the field. Provides a more human-readable name for the field than field path. Some sources will | |
provide this metadata but not all sources have the concept of a label. If just one string is associated with | |
a field in a source, that is most likely a description.""" | |
return self._inner_dict.get('label') # type: ignore | |
@label.setter | |
def label(self, value: Union[None, str]) -> None: | |
"""Setter: Label of the field. Provides a more human-readable name for the field than field path. Some sources will | |
provide this metadata but not all sources have the concept of a label. If just one string is associated with | |
a field in a source, that is most likely a description.""" | |
self._inner_dict['label'] = value | |
@property | |
def created(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the creation of this schema field.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this schema field.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the last modification of this schema field.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this schema field.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def type(self) -> "SchemaFieldDataTypeClass": | |
"""Getter: Platform independent field type of the field.""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: "SchemaFieldDataTypeClass") -> None: | |
"""Setter: Platform independent field type of the field.""" | |
self._inner_dict['type'] = value | |
@property | |
def nativeDataType(self) -> str: | |
"""Getter: The native type of the field in the dataset's platform as declared by platform schema.""" | |
return self._inner_dict.get('nativeDataType') # type: ignore | |
@nativeDataType.setter | |
def nativeDataType(self, value: str) -> None: | |
"""Setter: The native type of the field in the dataset's platform as declared by platform schema.""" | |
self._inner_dict['nativeDataType'] = value | |
@property | |
def recursive(self) -> bool: | |
"""Getter: There are use cases when a field in type B references type A. A field in A references field of type B. In such cases, we will mark the first field as recursive.""" | |
return self._inner_dict.get('recursive') # type: ignore | |
@recursive.setter | |
def recursive(self, value: bool) -> None: | |
"""Setter: There are use cases when a field in type B references type A. A field in A references field of type B. In such cases, we will mark the first field as recursive.""" | |
self._inner_dict['recursive'] = value | |
@property | |
def globalTags(self) -> Union[None, "GlobalTagsClass"]: | |
"""Getter: Tags associated with the field""" | |
return self._inner_dict.get('globalTags') # type: ignore | |
@globalTags.setter | |
def globalTags(self, value: Union[None, "GlobalTagsClass"]) -> None: | |
"""Setter: Tags associated with the field""" | |
self._inner_dict['globalTags'] = value | |
@property | |
def glossaryTerms(self) -> Union[None, "GlossaryTermsClass"]: | |
"""Getter: Glossary terms associated with the field""" | |
return self._inner_dict.get('glossaryTerms') # type: ignore | |
@glossaryTerms.setter | |
def glossaryTerms(self, value: Union[None, "GlossaryTermsClass"]) -> None: | |
"""Setter: Glossary terms associated with the field""" | |
self._inner_dict['glossaryTerms'] = value | |
@property | |
def isPartOfKey(self) -> bool: | |
"""Getter: For schema fields that are part of complex keys, set this field to true | |
We do this to easily distinguish between value and key fields""" | |
return self._inner_dict.get('isPartOfKey') # type: ignore | |
@isPartOfKey.setter | |
def isPartOfKey(self, value: bool) -> None: | |
"""Setter: For schema fields that are part of complex keys, set this field to true | |
We do this to easily distinguish between value and key fields""" | |
self._inner_dict['isPartOfKey'] = value | |
@property | |
def isPartitioningKey(self) -> Union[None, bool]: | |
"""Getter: For Datasets which are partitioned, this determines the partitioning key.""" | |
return self._inner_dict.get('isPartitioningKey') # type: ignore | |
@isPartitioningKey.setter | |
def isPartitioningKey(self, value: Union[None, bool]) -> None: | |
"""Setter: For Datasets which are partitioned, this determines the partitioning key.""" | |
self._inner_dict['isPartitioningKey'] = value | |
@property | |
def jsonProps(self) -> Union[None, str]: | |
"""Getter: For schema fields that have other properties that are not modeled explicitly, | |
use this field to serialize those properties into a JSON string""" | |
return self._inner_dict.get('jsonProps') # type: ignore | |
@jsonProps.setter | |
def jsonProps(self, value: Union[None, str]) -> None: | |
"""Setter: For schema fields that have other properties that are not modeled explicitly, | |
use this field to serialize those properties into a JSON string""" | |
self._inner_dict['jsonProps'] = value | |
class SchemaFieldDataTypeClass(DictWrapper): | |
"""Schema field data types""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.SchemaFieldDataType") | |
def __init__(self, | |
type: Union["BooleanTypeClass", "FixedTypeClass", "StringTypeClass", "BytesTypeClass", "NumberTypeClass", "DateTypeClass", "TimeTypeClass", "EnumTypeClass", "NullTypeClass", "MapTypeClass", "ArrayTypeClass", "UnionTypeClass", "RecordTypeClass"], | |
): | |
super().__init__() | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemaFieldDataTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = BooleanTypeClass.construct_with_defaults() | |
@property | |
def type(self) -> Union["BooleanTypeClass", "FixedTypeClass", "StringTypeClass", "BytesTypeClass", "NumberTypeClass", "DateTypeClass", "TimeTypeClass", "EnumTypeClass", "NullTypeClass", "MapTypeClass", "ArrayTypeClass", "UnionTypeClass", "RecordTypeClass"]: | |
"""Getter: Data platform specific types""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union["BooleanTypeClass", "FixedTypeClass", "StringTypeClass", "BytesTypeClass", "NumberTypeClass", "DateTypeClass", "TimeTypeClass", "EnumTypeClass", "NullTypeClass", "MapTypeClass", "ArrayTypeClass", "UnionTypeClass", "RecordTypeClass"]) -> None: | |
"""Setter: Data platform specific types""" | |
self._inner_dict['type'] = value | |
class SchemaMetadataClass(_Aspect): | |
"""SchemaMetadata to describe metadata related to store schema""" | |
ASPECT_NAME = 'schemaMetadata' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.SchemaMetadata") | |
def __init__(self, | |
schemaName: str, | |
platform: str, | |
version: int, | |
hash: str, | |
platformSchema: Union["EspressoSchemaClass", "OracleDDLClass", "MySqlDDLClass", "PrestoDDLClass", "KafkaSchemaClass", "BinaryJsonSchemaClass", "OrcSchemaClass", "SchemalessClass", "KeyValueSchemaClass", "OtherSchemaClass"], | |
fields: List["SchemaFieldClass"], | |
created: Optional["AuditStampClass"]=None, | |
lastModified: Optional["AuditStampClass"]=None, | |
deleted: Union[None, "AuditStampClass"]=None, | |
dataset: Union[None, str]=None, | |
cluster: Union[None, str]=None, | |
primaryKeys: Union[None, List[str]]=None, | |
foreignKeysSpecs: Union[None, Dict[str, "ForeignKeySpecClass"]]=None, | |
foreignKeys: Union[None, List["ForeignKeyConstraintClass"]]=None, | |
): | |
super().__init__() | |
self.schemaName = schemaName | |
self.platform = platform | |
self.version = version | |
if created is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
else: | |
self.created = created | |
if lastModified is None: | |
# default: {'actor': 'urn:li:corpuser:unknown', 'impersonator': None, 'time': 0, 'message': None} | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
else: | |
self.lastModified = lastModified | |
self.deleted = deleted | |
self.dataset = dataset | |
self.cluster = cluster | |
self.hash = hash | |
self.platformSchema = platformSchema | |
self.fields = fields | |
self.primaryKeys = primaryKeys | |
self.foreignKeysSpecs = foreignKeysSpecs | |
self.foreignKeys = foreignKeys | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemaMetadataClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.schemaName = str() | |
self.platform = str() | |
self.version = int() | |
self.created = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["created"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["created"].type) | |
self.lastModified = _json_converter.from_json_object(self.RECORD_SCHEMA.fields_dict["lastModified"].default, writers_schema=self.RECORD_SCHEMA.fields_dict["lastModified"].type) | |
self.deleted = self.RECORD_SCHEMA.fields_dict["deleted"].default | |
self.dataset = self.RECORD_SCHEMA.fields_dict["dataset"].default | |
self.cluster = self.RECORD_SCHEMA.fields_dict["cluster"].default | |
self.hash = str() | |
self.platformSchema = EspressoSchemaClass.construct_with_defaults() | |
self.fields = list() | |
self.primaryKeys = self.RECORD_SCHEMA.fields_dict["primaryKeys"].default | |
self.foreignKeysSpecs = self.RECORD_SCHEMA.fields_dict["foreignKeysSpecs"].default | |
self.foreignKeys = self.RECORD_SCHEMA.fields_dict["foreignKeys"].default | |
@property | |
def schemaName(self) -> str: | |
"""Getter: Schema name e.g. PageViewEvent, identity.Profile, ams.account_management_tracking""" | |
return self._inner_dict.get('schemaName') # type: ignore | |
@schemaName.setter | |
def schemaName(self, value: str) -> None: | |
"""Setter: Schema name e.g. PageViewEvent, identity.Profile, ams.account_management_tracking""" | |
self._inner_dict['schemaName'] = value | |
@property | |
def platform(self) -> str: | |
"""Getter: Standardized platform urn where schema is defined. The data platform Urn (urn:li:platform:{platform_name})""" | |
return self._inner_dict.get('platform') # type: ignore | |
@platform.setter | |
def platform(self, value: str) -> None: | |
"""Setter: Standardized platform urn where schema is defined. The data platform Urn (urn:li:platform:{platform_name})""" | |
self._inner_dict['platform'] = value | |
@property | |
def version(self) -> int: | |
"""Getter: Every change to SchemaMetadata in the resource results in a new version. Version is server assigned. This version is differ from platform native schema version.""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: int) -> None: | |
"""Setter: Every change to SchemaMetadata in the resource results in a new version. Version is server assigned. This version is differ from platform native schema version.""" | |
self._inner_dict['version'] = value | |
@property | |
def created(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('created') # type: ignore | |
@created.setter | |
def created(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the creation of this resource/association/sub-resource. A value of 0 for time indicates missing data.""" | |
self._inner_dict['created'] = value | |
@property | |
def lastModified(self) -> "AuditStampClass": | |
"""Getter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
return self._inner_dict.get('lastModified') # type: ignore | |
@lastModified.setter | |
def lastModified(self, value: "AuditStampClass") -> None: | |
"""Setter: An AuditStamp corresponding to the last modification of this resource/association/sub-resource. If no modification has happened since creation, lastModified should be the same as created. A value of 0 for time indicates missing data.""" | |
self._inner_dict['lastModified'] = value | |
@property | |
def deleted(self) -> Union[None, "AuditStampClass"]: | |
"""Getter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
return self._inner_dict.get('deleted') # type: ignore | |
@deleted.setter | |
def deleted(self, value: Union[None, "AuditStampClass"]) -> None: | |
"""Setter: An AuditStamp corresponding to the deletion of this resource/association/sub-resource. Logically, deleted MUST have a later timestamp than creation. It may or may not have the same time as lastModified depending upon the resource/association/sub-resource semantics.""" | |
self._inner_dict['deleted'] = value | |
@property | |
def dataset(self) -> Union[None, str]: | |
"""Getter: Dataset this schema metadata is associated with.""" | |
return self._inner_dict.get('dataset') # type: ignore | |
@dataset.setter | |
def dataset(self, value: Union[None, str]) -> None: | |
"""Setter: Dataset this schema metadata is associated with.""" | |
self._inner_dict['dataset'] = value | |
@property | |
def cluster(self) -> Union[None, str]: | |
"""Getter: The cluster this schema metadata resides from""" | |
return self._inner_dict.get('cluster') # type: ignore | |
@cluster.setter | |
def cluster(self, value: Union[None, str]) -> None: | |
"""Setter: The cluster this schema metadata resides from""" | |
self._inner_dict['cluster'] = value | |
@property | |
def hash(self) -> str: | |
"""Getter: the SHA1 hash of the schema content""" | |
return self._inner_dict.get('hash') # type: ignore | |
@hash.setter | |
def hash(self, value: str) -> None: | |
"""Setter: the SHA1 hash of the schema content""" | |
self._inner_dict['hash'] = value | |
@property | |
def platformSchema(self) -> Union["EspressoSchemaClass", "OracleDDLClass", "MySqlDDLClass", "PrestoDDLClass", "KafkaSchemaClass", "BinaryJsonSchemaClass", "OrcSchemaClass", "SchemalessClass", "KeyValueSchemaClass", "OtherSchemaClass"]: | |
"""Getter: The native schema in the dataset's platform.""" | |
return self._inner_dict.get('platformSchema') # type: ignore | |
@platformSchema.setter | |
def platformSchema(self, value: Union["EspressoSchemaClass", "OracleDDLClass", "MySqlDDLClass", "PrestoDDLClass", "KafkaSchemaClass", "BinaryJsonSchemaClass", "OrcSchemaClass", "SchemalessClass", "KeyValueSchemaClass", "OtherSchemaClass"]) -> None: | |
"""Setter: The native schema in the dataset's platform.""" | |
self._inner_dict['platformSchema'] = value | |
@property | |
def fields(self) -> List["SchemaFieldClass"]: | |
"""Getter: Client provided a list of fields from document schema.""" | |
return self._inner_dict.get('fields') # type: ignore | |
@fields.setter | |
def fields(self, value: List["SchemaFieldClass"]) -> None: | |
"""Setter: Client provided a list of fields from document schema.""" | |
self._inner_dict['fields'] = value | |
@property | |
def primaryKeys(self) -> Union[None, List[str]]: | |
"""Getter: Client provided list of fields that define primary keys to access record. Field order defines hierarchical espresso keys. Empty lists indicates absence of primary key access patter. Value is a SchemaField@fieldPath.""" | |
return self._inner_dict.get('primaryKeys') # type: ignore | |
@primaryKeys.setter | |
def primaryKeys(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Client provided list of fields that define primary keys to access record. Field order defines hierarchical espresso keys. Empty lists indicates absence of primary key access patter. Value is a SchemaField@fieldPath.""" | |
self._inner_dict['primaryKeys'] = value | |
@property | |
def foreignKeysSpecs(self) -> Union[None, Dict[str, "ForeignKeySpecClass"]]: | |
"""Getter: Map captures all the references schema makes to external datasets. Map key is ForeignKeySpecName typeref.""" | |
return self._inner_dict.get('foreignKeysSpecs') # type: ignore | |
@foreignKeysSpecs.setter | |
def foreignKeysSpecs(self, value: Union[None, Dict[str, "ForeignKeySpecClass"]]) -> None: | |
"""Setter: Map captures all the references schema makes to external datasets. Map key is ForeignKeySpecName typeref.""" | |
self._inner_dict['foreignKeysSpecs'] = value | |
@property | |
def foreignKeys(self) -> Union[None, List["ForeignKeyConstraintClass"]]: | |
"""Getter: List of foreign key constraints for the schema""" | |
return self._inner_dict.get('foreignKeys') # type: ignore | |
@foreignKeys.setter | |
def foreignKeys(self, value: Union[None, List["ForeignKeyConstraintClass"]]) -> None: | |
"""Setter: List of foreign key constraints for the schema""" | |
self._inner_dict['foreignKeys'] = value | |
class SchemalessClass(DictWrapper): | |
"""The dataset has no specific schema associated with it""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.Schemaless") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "SchemalessClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class StringTypeClass(DictWrapper): | |
"""String field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.StringType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "StringTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class TimeTypeClass(DictWrapper): | |
"""Time field type. This should also be used for datetimes.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.TimeType") | |
def __init__(self, | |
): | |
super().__init__() | |
@classmethod | |
def construct_with_defaults(cls) -> "TimeTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
pass | |
class UnionTypeClass(DictWrapper): | |
"""Union field type.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.UnionType") | |
def __init__(self, | |
nestedTypes: Union[None, List[str]]=None, | |
): | |
super().__init__() | |
self.nestedTypes = nestedTypes | |
@classmethod | |
def construct_with_defaults(cls) -> "UnionTypeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.nestedTypes = self.RECORD_SCHEMA.fields_dict["nestedTypes"].default | |
@property | |
def nestedTypes(self) -> Union[None, List[str]]: | |
"""Getter: List of types in union type.""" | |
return self._inner_dict.get('nestedTypes') # type: ignore | |
@nestedTypes.setter | |
def nestedTypes(self, value: Union[None, List[str]]) -> None: | |
"""Setter: List of types in union type.""" | |
self._inner_dict['nestedTypes'] = value | |
class UrnForeignKeyClass(DictWrapper): | |
"""If SchemaMetadata fields make any external references and references are of type com.linkedin.pegasus2avro.common.Urn or any children, this models can be used to mark it.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.schema.UrnForeignKey") | |
def __init__(self, | |
currentFieldPath: str, | |
): | |
super().__init__() | |
self.currentFieldPath = currentFieldPath | |
@classmethod | |
def construct_with_defaults(cls) -> "UrnForeignKeyClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.currentFieldPath = str() | |
@property | |
def currentFieldPath(self) -> str: | |
"""Getter: Field in hosting(current) SchemaMetadata.""" | |
return self._inner_dict.get('currentFieldPath') # type: ignore | |
@currentFieldPath.setter | |
def currentFieldPath(self, value: str) -> None: | |
"""Setter: Field in hosting(current) SchemaMetadata.""" | |
self._inner_dict['currentFieldPath'] = value | |
class DataHubSecretValueClass(_Aspect): | |
"""The value of a DataHub Secret""" | |
ASPECT_NAME = 'dataHubSecretValue' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.secret.DataHubSecretValue") | |
def __init__(self, | |
name: str, | |
value: str, | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.value = value | |
self.description = description | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubSecretValueClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.value = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
@property | |
def name(self) -> str: | |
"""Getter: The display name for the secret""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The display name for the secret""" | |
self._inner_dict['name'] = value | |
@property | |
def value(self) -> str: | |
"""Getter: The AES-encrypted value of the DataHub secret.""" | |
return self._inner_dict.get('value') # type: ignore | |
@value.setter | |
def value(self, value: str) -> None: | |
"""Setter: The AES-encrypted value of the DataHub secret.""" | |
self._inner_dict['value'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the secret""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the secret""" | |
self._inner_dict['description'] = value | |
class TagPropertiesClass(_Aspect): | |
"""Properties associated with a Tag""" | |
ASPECT_NAME = 'tagProperties' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.tag.TagProperties") | |
def __init__(self, | |
name: str, | |
description: Union[None, str]=None, | |
colorHex: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.description = description | |
self.colorHex = colorHex | |
@classmethod | |
def construct_with_defaults(cls) -> "TagPropertiesClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.colorHex = self.RECORD_SCHEMA.fields_dict["colorHex"].default | |
@property | |
def name(self) -> str: | |
"""Getter: Display name of the tag""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: Display name of the tag""" | |
self._inner_dict['name'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Documentation of the tag""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Documentation of the tag""" | |
self._inner_dict['description'] = value | |
@property | |
def colorHex(self) -> Union[None, str]: | |
"""Getter: The color associated with the Tag in Hex. For example #FFFFFF.""" | |
return self._inner_dict.get('colorHex') # type: ignore | |
@colorHex.setter | |
def colorHex(self, value: Union[None, str]) -> None: | |
"""Setter: The color associated with the Tag in Hex. For example #FFFFFF.""" | |
self._inner_dict['colorHex'] = value | |
class TelemetryClientIdClass(_Aspect): | |
"""A simple wrapper around a String to persist the client ID for telemetry in DataHub's backend DB""" | |
ASPECT_NAME = 'telemetryClientId' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.telemetry.TelemetryClientId") | |
def __init__(self, | |
clientId: str, | |
): | |
super().__init__() | |
self.clientId = clientId | |
@classmethod | |
def construct_with_defaults(cls) -> "TelemetryClientIdClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.clientId = str() | |
@property | |
def clientId(self) -> str: | |
"""Getter: A string representing the telemetry client ID""" | |
return self._inner_dict.get('clientId') # type: ignore | |
@clientId.setter | |
def clientId(self, value: str) -> None: | |
"""Setter: A string representing the telemetry client ID""" | |
self._inner_dict['clientId'] = value | |
class TestDefinitionClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.test.TestDefinition") | |
def __init__(self, | |
type: Union[str, "TestDefinitionTypeClass"], | |
json: Union[None, str]=None, | |
): | |
super().__init__() | |
self.type = type | |
self.json = json | |
@classmethod | |
def construct_with_defaults(cls) -> "TestDefinitionClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = TestDefinitionTypeClass.JSON | |
self.json = self.RECORD_SCHEMA.fields_dict["json"].default | |
@property | |
def type(self) -> Union[str, "TestDefinitionTypeClass"]: | |
"""Getter: The Test Definition Type""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "TestDefinitionTypeClass"]) -> None: | |
"""Setter: The Test Definition Type""" | |
self._inner_dict['type'] = value | |
@property | |
def json(self) -> Union[None, str]: | |
"""Getter: JSON format configuration for the test""" | |
return self._inner_dict.get('json') # type: ignore | |
@json.setter | |
def json(self, value: Union[None, str]) -> None: | |
"""Setter: JSON format configuration for the test""" | |
self._inner_dict['json'] = value | |
class TestDefinitionTypeClass(object): | |
# No docs available. | |
"""JSON / YAML test def""" | |
JSON = "JSON" | |
class TestInfoClass(_Aspect): | |
"""Information about a DataHub Test""" | |
ASPECT_NAME = 'testInfo' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.test.TestInfo") | |
def __init__(self, | |
name: str, | |
category: str, | |
definition: "TestDefinitionClass", | |
description: Union[None, str]=None, | |
): | |
super().__init__() | |
self.name = name | |
self.category = category | |
self.description = description | |
self.definition = definition | |
@classmethod | |
def construct_with_defaults(cls) -> "TestInfoClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.name = str() | |
self.category = str() | |
self.description = self.RECORD_SCHEMA.fields_dict["description"].default | |
self.definition = TestDefinitionClass.construct_with_defaults() | |
@property | |
def name(self) -> str: | |
"""Getter: The name of the test""" | |
return self._inner_dict.get('name') # type: ignore | |
@name.setter | |
def name(self, value: str) -> None: | |
"""Setter: The name of the test""" | |
self._inner_dict['name'] = value | |
@property | |
def category(self) -> str: | |
"""Getter: Category of the test""" | |
return self._inner_dict.get('category') # type: ignore | |
@category.setter | |
def category(self, value: str) -> None: | |
"""Setter: Category of the test""" | |
self._inner_dict['category'] = value | |
@property | |
def description(self) -> Union[None, str]: | |
"""Getter: Description of the test""" | |
return self._inner_dict.get('description') # type: ignore | |
@description.setter | |
def description(self, value: Union[None, str]) -> None: | |
"""Setter: Description of the test""" | |
self._inner_dict['description'] = value | |
@property | |
def definition(self) -> "TestDefinitionClass": | |
"""Getter: Configuration for the Test""" | |
return self._inner_dict.get('definition') # type: ignore | |
@definition.setter | |
def definition(self, value: "TestDefinitionClass") -> None: | |
"""Setter: Configuration for the Test""" | |
self._inner_dict['definition'] = value | |
class TestResultClass(DictWrapper): | |
"""Information about a Test Result""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.test.TestResult") | |
def __init__(self, | |
test: str, | |
type: Union[str, "TestResultTypeClass"], | |
): | |
super().__init__() | |
self.test = test | |
self.type = type | |
@classmethod | |
def construct_with_defaults(cls) -> "TestResultClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.test = str() | |
self.type = TestResultTypeClass.SUCCESS | |
@property | |
def test(self) -> str: | |
"""Getter: The urn of the test""" | |
return self._inner_dict.get('test') # type: ignore | |
@test.setter | |
def test(self, value: str) -> None: | |
"""Setter: The urn of the test""" | |
self._inner_dict['test'] = value | |
@property | |
def type(self) -> Union[str, "TestResultTypeClass"]: | |
"""Getter: The type of the result""" | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "TestResultTypeClass"]) -> None: | |
"""Setter: The type of the result""" | |
self._inner_dict['type'] = value | |
class TestResultTypeClass(object): | |
# No docs available. | |
""" The Test Succeeded""" | |
SUCCESS = "SUCCESS" | |
""" The Test Failed""" | |
FAILURE = "FAILURE" | |
class TestResultsClass(_Aspect): | |
"""Information about a Test Result""" | |
ASPECT_NAME = 'testResults' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.test.TestResults") | |
def __init__(self, | |
failing: List["TestResultClass"], | |
passing: List["TestResultClass"], | |
): | |
super().__init__() | |
self.failing = failing | |
self.passing = passing | |
@classmethod | |
def construct_with_defaults(cls) -> "TestResultsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.failing = list() | |
self.passing = list() | |
@property | |
def failing(self) -> List["TestResultClass"]: | |
"""Getter: Results that are failing""" | |
return self._inner_dict.get('failing') # type: ignore | |
@failing.setter | |
def failing(self, value: List["TestResultClass"]) -> None: | |
"""Setter: Results that are failing""" | |
self._inner_dict['failing'] = value | |
@property | |
def passing(self) -> List["TestResultClass"]: | |
"""Getter: Results that are passing""" | |
return self._inner_dict.get('passing') # type: ignore | |
@passing.setter | |
def passing(self, value: List["TestResultClass"]) -> None: | |
"""Setter: Results that are passing""" | |
self._inner_dict['passing'] = value | |
class CalendarIntervalClass(object): | |
# No docs available. | |
SECOND = "SECOND" | |
MINUTE = "MINUTE" | |
HOUR = "HOUR" | |
DAY = "DAY" | |
WEEK = "WEEK" | |
MONTH = "MONTH" | |
QUARTER = "QUARTER" | |
YEAR = "YEAR" | |
class PartitionSpecClass(DictWrapper): | |
"""Defines how the data is partitioned""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.timeseries.PartitionSpec") | |
def __init__(self, | |
partition: str, | |
type: Optional[Union[str, "PartitionTypeClass"]]=None, | |
timePartition: Union[None, "TimeWindowClass"]=None, | |
): | |
super().__init__() | |
if type is None: | |
# default: 'PARTITION' | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
else: | |
self.type = type | |
self.partition = partition | |
self.timePartition = timePartition | |
@classmethod | |
def construct_with_defaults(cls) -> "PartitionSpecClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.type = self.RECORD_SCHEMA.fields_dict["type"].default | |
self.partition = str() | |
self.timePartition = self.RECORD_SCHEMA.fields_dict["timePartition"].default | |
@property | |
def type(self) -> Union[str, "PartitionTypeClass"]: | |
# No docs available. | |
return self._inner_dict.get('type') # type: ignore | |
@type.setter | |
def type(self, value: Union[str, "PartitionTypeClass"]) -> None: | |
# No docs available. | |
self._inner_dict['type'] = value | |
@property | |
def partition(self) -> str: | |
"""Getter: String representation of the partition""" | |
return self._inner_dict.get('partition') # type: ignore | |
@partition.setter | |
def partition(self, value: str) -> None: | |
"""Setter: String representation of the partition""" | |
self._inner_dict['partition'] = value | |
@property | |
def timePartition(self) -> Union[None, "TimeWindowClass"]: | |
"""Getter: Time window of the partition if applicable""" | |
return self._inner_dict.get('timePartition') # type: ignore | |
@timePartition.setter | |
def timePartition(self, value: Union[None, "TimeWindowClass"]) -> None: | |
"""Setter: Time window of the partition if applicable""" | |
self._inner_dict['timePartition'] = value | |
class PartitionTypeClass(object): | |
# No docs available. | |
FULL_TABLE = "FULL_TABLE" | |
QUERY = "QUERY" | |
PARTITION = "PARTITION" | |
class TimeWindowClass(DictWrapper): | |
# No docs available. | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.timeseries.TimeWindow") | |
def __init__(self, | |
startTimeMillis: int, | |
length: "TimeWindowSizeClass", | |
): | |
super().__init__() | |
self.startTimeMillis = startTimeMillis | |
self.length = length | |
@classmethod | |
def construct_with_defaults(cls) -> "TimeWindowClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.startTimeMillis = int() | |
self.length = TimeWindowSizeClass.construct_with_defaults() | |
@property | |
def startTimeMillis(self) -> int: | |
"""Getter: Start time as epoch at UTC.""" | |
return self._inner_dict.get('startTimeMillis') # type: ignore | |
@startTimeMillis.setter | |
def startTimeMillis(self, value: int) -> None: | |
"""Setter: Start time as epoch at UTC.""" | |
self._inner_dict['startTimeMillis'] = value | |
@property | |
def length(self) -> "TimeWindowSizeClass": | |
"""Getter: The length of the window.""" | |
return self._inner_dict.get('length') # type: ignore | |
@length.setter | |
def length(self, value: "TimeWindowSizeClass") -> None: | |
"""Setter: The length of the window.""" | |
self._inner_dict['length'] = value | |
class TimeWindowSizeClass(DictWrapper): | |
"""Defines the size of a time window.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.timeseries.TimeWindowSize") | |
def __init__(self, | |
unit: Union[str, "CalendarIntervalClass"], | |
multiple: Optional[int]=None, | |
): | |
super().__init__() | |
self.unit = unit | |
if multiple is None: | |
# default: 1 | |
self.multiple = self.RECORD_SCHEMA.fields_dict["multiple"].default | |
else: | |
self.multiple = multiple | |
@classmethod | |
def construct_with_defaults(cls) -> "TimeWindowSizeClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.unit = CalendarIntervalClass.SECOND | |
self.multiple = self.RECORD_SCHEMA.fields_dict["multiple"].default | |
@property | |
def unit(self) -> Union[str, "CalendarIntervalClass"]: | |
"""Getter: Interval unit such as minute/hour/day etc.""" | |
return self._inner_dict.get('unit') # type: ignore | |
@unit.setter | |
def unit(self, value: Union[str, "CalendarIntervalClass"]) -> None: | |
"""Setter: Interval unit such as minute/hour/day etc.""" | |
self._inner_dict['unit'] = value | |
@property | |
def multiple(self) -> int: | |
"""Getter: How many units. Defaults to 1.""" | |
return self._inner_dict.get('multiple') # type: ignore | |
@multiple.setter | |
def multiple(self, value: int) -> None: | |
"""Setter: How many units. Defaults to 1.""" | |
self._inner_dict['multiple'] = value | |
class DataHubUpgradeRequestClass(_Aspect): | |
"""Information collected when kicking off a DataHubUpgrade""" | |
ASPECT_NAME = 'dataHubUpgradeRequest' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.upgrade.DataHubUpgradeRequest") | |
def __init__(self, | |
timestampMs: int, | |
version: str, | |
): | |
super().__init__() | |
self.timestampMs = timestampMs | |
self.version = version | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubUpgradeRequestClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMs = int() | |
self.version = str() | |
@property | |
def timestampMs(self) -> int: | |
"""Getter: Timestamp when we started this DataHubUpgrade""" | |
return self._inner_dict.get('timestampMs') # type: ignore | |
@timestampMs.setter | |
def timestampMs(self, value: int) -> None: | |
"""Setter: Timestamp when we started this DataHubUpgrade""" | |
self._inner_dict['timestampMs'] = value | |
@property | |
def version(self) -> str: | |
"""Getter: Version of this upgrade""" | |
return self._inner_dict.get('version') # type: ignore | |
@version.setter | |
def version(self, value: str) -> None: | |
"""Setter: Version of this upgrade""" | |
self._inner_dict['version'] = value | |
class DataHubUpgradeResultClass(_Aspect): | |
"""Information collected when a DataHubUpgrade successfully finishes""" | |
ASPECT_NAME = 'dataHubUpgradeResult' | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.upgrade.DataHubUpgradeResult") | |
def __init__(self, | |
timestampMs: int, | |
result: Union[None, Dict[str, str]]=None, | |
): | |
super().__init__() | |
self.timestampMs = timestampMs | |
self.result = result | |
@classmethod | |
def construct_with_defaults(cls) -> "DataHubUpgradeResultClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.timestampMs = int() | |
self.result = self.RECORD_SCHEMA.fields_dict["result"].default | |
@property | |
def timestampMs(self) -> int: | |
"""Getter: Timestamp when we started this DataHubUpgrade""" | |
return self._inner_dict.get('timestampMs') # type: ignore | |
@timestampMs.setter | |
def timestampMs(self, value: int) -> None: | |
"""Setter: Timestamp when we started this DataHubUpgrade""" | |
self._inner_dict['timestampMs'] = value | |
@property | |
def result(self) -> Union[None, Dict[str, str]]: | |
"""Getter: Result map to place helpful information about this upgrade job""" | |
return self._inner_dict.get('result') # type: ignore | |
@result.setter | |
def result(self, value: Union[None, Dict[str, str]]) -> None: | |
"""Setter: Result map to place helpful information about this upgrade job""" | |
self._inner_dict['result'] = value | |
class FieldUsageCountsClass(DictWrapper): | |
""" Records field-level usage counts for a given resource """ | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.usage.FieldUsageCounts") | |
def __init__(self, | |
fieldName: str, | |
count: int, | |
): | |
super().__init__() | |
self.fieldName = fieldName | |
self.count = count | |
@classmethod | |
def construct_with_defaults(cls) -> "FieldUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.fieldName = str() | |
self.count = int() | |
@property | |
def fieldName(self) -> str: | |
# No docs available. | |
return self._inner_dict.get('fieldName') # type: ignore | |
@fieldName.setter | |
def fieldName(self, value: str) -> None: | |
# No docs available. | |
self._inner_dict['fieldName'] = value | |
@property | |
def count(self) -> int: | |
# No docs available. | |
return self._inner_dict.get('count') # type: ignore | |
@count.setter | |
def count(self, value: int) -> None: | |
# No docs available. | |
self._inner_dict['count'] = value | |
class UsageAggregationClass(DictWrapper): | |
"""Usage data for a given resource, rolled up into a bucket.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.usage.UsageAggregation") | |
def __init__(self, | |
bucket: int, | |
duration: Union[str, "WindowDurationClass"], | |
resource: str, | |
metrics: "UsageAggregationMetricsClass", | |
): | |
super().__init__() | |
self.bucket = bucket | |
self.duration = duration | |
self.resource = resource | |
self.metrics = metrics | |
@classmethod | |
def construct_with_defaults(cls) -> "UsageAggregationClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.bucket = int() | |
self.duration = WindowDurationClass.YEAR | |
self.resource = str() | |
self.metrics = UsageAggregationMetricsClass.construct_with_defaults() | |
@property | |
def bucket(self) -> int: | |
"""Getter: Bucket start time in milliseconds """ | |
return self._inner_dict.get('bucket') # type: ignore | |
@bucket.setter | |
def bucket(self, value: int) -> None: | |
"""Setter: Bucket start time in milliseconds """ | |
self._inner_dict['bucket'] = value | |
@property | |
def duration(self) -> Union[str, "WindowDurationClass"]: | |
"""Getter: Bucket duration """ | |
return self._inner_dict.get('duration') # type: ignore | |
@duration.setter | |
def duration(self, value: Union[str, "WindowDurationClass"]) -> None: | |
"""Setter: Bucket duration """ | |
self._inner_dict['duration'] = value | |
@property | |
def resource(self) -> str: | |
"""Getter: Resource associated with these usage stats """ | |
return self._inner_dict.get('resource') # type: ignore | |
@resource.setter | |
def resource(self, value: str) -> None: | |
"""Setter: Resource associated with these usage stats """ | |
self._inner_dict['resource'] = value | |
@property | |
def metrics(self) -> "UsageAggregationMetricsClass": | |
"""Getter: Metrics associated with this bucket """ | |
return self._inner_dict.get('metrics') # type: ignore | |
@metrics.setter | |
def metrics(self, value: "UsageAggregationMetricsClass") -> None: | |
"""Setter: Metrics associated with this bucket """ | |
self._inner_dict['metrics'] = value | |
class UsageAggregationMetricsClass(DictWrapper): | |
"""Metrics for usage data for a given resource and bucket. Not all fields | |
make sense for all buckets, so every field is optional.""" | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.usage.UsageAggregationMetrics") | |
def __init__(self, | |
uniqueUserCount: Union[None, int]=None, | |
users: Union[None, List["UserUsageCountsClass"]]=None, | |
totalSqlQueries: Union[None, int]=None, | |
topSqlQueries: Union[None, List[str]]=None, | |
fields: Union[None, List["FieldUsageCountsClass"]]=None, | |
): | |
super().__init__() | |
self.uniqueUserCount = uniqueUserCount | |
self.users = users | |
self.totalSqlQueries = totalSqlQueries | |
self.topSqlQueries = topSqlQueries | |
self.fields = fields | |
@classmethod | |
def construct_with_defaults(cls) -> "UsageAggregationMetricsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.uniqueUserCount = self.RECORD_SCHEMA.fields_dict["uniqueUserCount"].default | |
self.users = self.RECORD_SCHEMA.fields_dict["users"].default | |
self.totalSqlQueries = self.RECORD_SCHEMA.fields_dict["totalSqlQueries"].default | |
self.topSqlQueries = self.RECORD_SCHEMA.fields_dict["topSqlQueries"].default | |
self.fields = self.RECORD_SCHEMA.fields_dict["fields"].default | |
@property | |
def uniqueUserCount(self) -> Union[None, int]: | |
"""Getter: Unique user count """ | |
return self._inner_dict.get('uniqueUserCount') # type: ignore | |
@uniqueUserCount.setter | |
def uniqueUserCount(self, value: Union[None, int]) -> None: | |
"""Setter: Unique user count """ | |
self._inner_dict['uniqueUserCount'] = value | |
@property | |
def users(self) -> Union[None, List["UserUsageCountsClass"]]: | |
"""Getter: Users within this bucket, with frequency counts """ | |
return self._inner_dict.get('users') # type: ignore | |
@users.setter | |
def users(self, value: Union[None, List["UserUsageCountsClass"]]) -> None: | |
"""Setter: Users within this bucket, with frequency counts """ | |
self._inner_dict['users'] = value | |
@property | |
def totalSqlQueries(self) -> Union[None, int]: | |
"""Getter: Total SQL query count """ | |
return self._inner_dict.get('totalSqlQueries') # type: ignore | |
@totalSqlQueries.setter | |
def totalSqlQueries(self, value: Union[None, int]) -> None: | |
"""Setter: Total SQL query count """ | |
self._inner_dict['totalSqlQueries'] = value | |
@property | |
def topSqlQueries(self) -> Union[None, List[str]]: | |
"""Getter: Frequent SQL queries; mostly makes sense for datasets in SQL databases """ | |
return self._inner_dict.get('topSqlQueries') # type: ignore | |
@topSqlQueries.setter | |
def topSqlQueries(self, value: Union[None, List[str]]) -> None: | |
"""Setter: Frequent SQL queries; mostly makes sense for datasets in SQL databases """ | |
self._inner_dict['topSqlQueries'] = value | |
@property | |
def fields(self) -> Union[None, List["FieldUsageCountsClass"]]: | |
"""Getter: Field-level usage stats """ | |
return self._inner_dict.get('fields') # type: ignore | |
@fields.setter | |
def fields(self, value: Union[None, List["FieldUsageCountsClass"]]) -> None: | |
"""Setter: Field-level usage stats """ | |
self._inner_dict['fields'] = value | |
class UserUsageCountsClass(DictWrapper): | |
""" Records a single user's usage counts for a given resource """ | |
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.usage.UserUsageCounts") | |
def __init__(self, | |
count: int, | |
user: Union[None, str]=None, | |
userEmail: Union[None, str]=None, | |
): | |
super().__init__() | |
self.user = user | |
self.count = count | |
self.userEmail = userEmail | |
@classmethod | |
def construct_with_defaults(cls) -> "UserUsageCountsClass": | |
self = cls.construct({}) | |
self._restore_defaults() | |
return self | |
def _restore_defaults(self) -> None: | |
self.user = self.RECORD_SCHEMA.fields_dict["user"].default | |
self.count = int() | |
self.userEmail = self.RECORD_SCHEMA.fields_dict["userEmail"].default | |
@property | |
def user(self) -> Union[None, str]: | |
# No docs available. | |
return self._inner_dict.get('user') # type: ignore | |
@user.setter | |
def user(self, value: Union[None, str]) -> None: | |
# No docs available. | |
self._inner_dict['user'] = value | |
@property | |
def count(self) -> int: | |
# No docs available. | |
return self._inner_dict.get('count') # type: ignore | |
@count.setter | |
def count(self, value: int) -> None: | |
# No docs available. | |
self._inner_dict['count'] = value | |
@property | |
def userEmail(self) -> Union[None, str]: | |
"""Getter: If user_email is set, we attempt to resolve the user's urn upon ingest """ | |
return self._inner_dict.get('userEmail') # type: ignore | |
@userEmail.setter | |
def userEmail(self, value: Union[None, str]) -> None: | |
"""Setter: If user_email is set, we attempt to resolve the user's urn upon ingest """ | |
self._inner_dict['userEmail'] = value | |
__SCHEMA_TYPES = { | |
'com.linkedin.events.KafkaAuditHeader': KafkaAuditHeaderClass, | |
'com.linkedin.pegasus2avro.access.token.DataHubAccessTokenInfo': DataHubAccessTokenInfoClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionInfo': AssertionInfoClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionResult': AssertionResultClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionResultType': AssertionResultTypeClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionRunEvent': AssertionRunEventClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionRunStatus': AssertionRunStatusClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionStdAggregation': AssertionStdAggregationClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionStdOperator': AssertionStdOperatorClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionStdParameter': AssertionStdParameterClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionStdParameterType': AssertionStdParameterTypeClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionStdParameters': AssertionStdParametersClass, | |
'com.linkedin.pegasus2avro.assertion.AssertionType': AssertionTypeClass, | |
'com.linkedin.pegasus2avro.assertion.BatchSpec': BatchSpecClass, | |
'com.linkedin.pegasus2avro.assertion.DatasetAssertionInfo': DatasetAssertionInfoClass, | |
'com.linkedin.pegasus2avro.assertion.DatasetAssertionScope': DatasetAssertionScopeClass, | |
'com.linkedin.pegasus2avro.chart.ChartInfo': ChartInfoClass, | |
'com.linkedin.pegasus2avro.chart.ChartQuery': ChartQueryClass, | |
'com.linkedin.pegasus2avro.chart.ChartQueryType': ChartQueryTypeClass, | |
'com.linkedin.pegasus2avro.chart.ChartType': ChartTypeClass, | |
'com.linkedin.pegasus2avro.chart.ChartUsageStatistics': ChartUsageStatisticsClass, | |
'com.linkedin.pegasus2avro.chart.ChartUserUsageCounts': ChartUserUsageCountsClass, | |
'com.linkedin.pegasus2avro.chart.EditableChartProperties': EditableChartPropertiesClass, | |
'com.linkedin.pegasus2avro.common.AccessLevel': AccessLevelClass, | |
'com.linkedin.pegasus2avro.common.AuditStamp': AuditStampClass, | |
'com.linkedin.pegasus2avro.common.BrowsePaths': BrowsePathsClass, | |
'com.linkedin.pegasus2avro.common.ChangeAuditStamps': ChangeAuditStampsClass, | |
'com.linkedin.pegasus2avro.common.Cost': CostClass, | |
'com.linkedin.pegasus2avro.common.CostCost': CostCostClass, | |
'com.linkedin.pegasus2avro.common.CostCostDiscriminator': CostCostDiscriminatorClass, | |
'com.linkedin.pegasus2avro.common.CostType': CostTypeClass, | |
'com.linkedin.pegasus2avro.common.DataPlatformInstance': DataPlatformInstanceClass, | |
'com.linkedin.pegasus2avro.common.Deprecation': DeprecationClass, | |
'com.linkedin.pegasus2avro.common.FabricType': FabricTypeClass, | |
'com.linkedin.pegasus2avro.common.GlobalTags': GlobalTagsClass, | |
'com.linkedin.pegasus2avro.common.GlossaryTermAssociation': GlossaryTermAssociationClass, | |
'com.linkedin.pegasus2avro.common.GlossaryTerms': GlossaryTermsClass, | |
'com.linkedin.pegasus2avro.common.InputField': InputFieldClass, | |
'com.linkedin.pegasus2avro.common.InputFields': InputFieldsClass, | |
'com.linkedin.pegasus2avro.common.InstitutionalMemory': InstitutionalMemoryClass, | |
'com.linkedin.pegasus2avro.common.InstitutionalMemoryMetadata': InstitutionalMemoryMetadataClass, | |
'com.linkedin.pegasus2avro.common.MLFeatureDataType': MLFeatureDataTypeClass, | |
'com.linkedin.pegasus2avro.common.Media': MediaClass, | |
'com.linkedin.pegasus2avro.common.MediaType': MediaTypeClass, | |
'com.linkedin.pegasus2avro.common.Operation': OperationClass, | |
'com.linkedin.pegasus2avro.common.OperationSourceType': OperationSourceTypeClass, | |
'com.linkedin.pegasus2avro.common.OperationType': OperationTypeClass, | |
'com.linkedin.pegasus2avro.common.Origin': OriginClass, | |
'com.linkedin.pegasus2avro.common.OriginType': OriginTypeClass, | |
'com.linkedin.pegasus2avro.common.Owner': OwnerClass, | |
'com.linkedin.pegasus2avro.common.Ownership': OwnershipClass, | |
'com.linkedin.pegasus2avro.common.OwnershipSource': OwnershipSourceClass, | |
'com.linkedin.pegasus2avro.common.OwnershipSourceType': OwnershipSourceTypeClass, | |
'com.linkedin.pegasus2avro.common.OwnershipType': OwnershipTypeClass, | |
'com.linkedin.pegasus2avro.common.Siblings': SiblingsClass, | |
'com.linkedin.pegasus2avro.common.Status': StatusClass, | |
'com.linkedin.pegasus2avro.common.SubTypes': SubTypesClass, | |
'com.linkedin.pegasus2avro.common.TagAssociation': TagAssociationClass, | |
'com.linkedin.pegasus2avro.common.VersionTag': VersionTagClass, | |
'com.linkedin.pegasus2avro.common.WindowDuration': WindowDurationClass, | |
'com.linkedin.pegasus2avro.common.fieldtransformer.TransformationType': TransformationTypeClass, | |
'com.linkedin.pegasus2avro.common.fieldtransformer.UDFTransformer': UDFTransformerClass, | |
'com.linkedin.pegasus2avro.container.Container': ContainerClass, | |
'com.linkedin.pegasus2avro.container.ContainerProperties': ContainerPropertiesClass, | |
'com.linkedin.pegasus2avro.container.EditableContainerProperties': EditableContainerPropertiesClass, | |
'com.linkedin.pegasus2avro.dashboard.DashboardInfo': DashboardInfoClass, | |
'com.linkedin.pegasus2avro.dashboard.DashboardUsageStatistics': DashboardUsageStatisticsClass, | |
'com.linkedin.pegasus2avro.dashboard.DashboardUserUsageCounts': DashboardUserUsageCountsClass, | |
'com.linkedin.pegasus2avro.dashboard.EditableDashboardProperties': EditableDashboardPropertiesClass, | |
'com.linkedin.pegasus2avro.datajob.DataFlowInfo': DataFlowInfoClass, | |
'com.linkedin.pegasus2avro.datajob.DataJobInfo': DataJobInfoClass, | |
'com.linkedin.pegasus2avro.datajob.DataJobInputOutput': DataJobInputOutputClass, | |
'com.linkedin.pegasus2avro.datajob.EditableDataFlowProperties': EditableDataFlowPropertiesClass, | |
'com.linkedin.pegasus2avro.datajob.EditableDataJobProperties': EditableDataJobPropertiesClass, | |
'com.linkedin.pegasus2avro.datajob.JobStatus': JobStatusClass, | |
'com.linkedin.pegasus2avro.datajob.VersionInfo': VersionInfoClass, | |
'com.linkedin.pegasus2avro.datajob.azkaban.AzkabanJobType': AzkabanJobTypeClass, | |
'com.linkedin.pegasus2avro.datajob.datahub.DatahubIngestionCheckpoint': DatahubIngestionCheckpointClass, | |
'com.linkedin.pegasus2avro.datajob.datahub.DatahubIngestionRunSummary': DatahubIngestionRunSummaryClass, | |
'com.linkedin.pegasus2avro.datajob.datahub.IngestionCheckpointState': IngestionCheckpointStateClass, | |
'com.linkedin.pegasus2avro.dataplatform.DataPlatformInfo': DataPlatformInfoClass, | |
'com.linkedin.pegasus2avro.dataplatform.PlatformType': PlatformTypeClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInfo': DataProcessInfoClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceInput': DataProcessInstanceInputClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceOutput': DataProcessInstanceOutputClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceProperties': DataProcessInstancePropertiesClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRelationships': DataProcessInstanceRelationshipsClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRunEvent': DataProcessInstanceRunEventClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessInstanceRunResult': DataProcessInstanceRunResultClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessRunStatus': DataProcessRunStatusClass, | |
'com.linkedin.pegasus2avro.dataprocess.DataProcessType': DataProcessTypeClass, | |
'com.linkedin.pegasus2avro.dataprocess.RunResultType': RunResultTypeClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetDeprecation': DatasetDeprecationClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetFieldMapping': DatasetFieldMappingClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetFieldProfile': DatasetFieldProfileClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetFieldUsageCounts': DatasetFieldUsageCountsClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetLineageType': DatasetLineageTypeClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetProfile': DatasetProfileClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetProperties': DatasetPropertiesClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetUpstreamLineage': DatasetUpstreamLineageClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetUsageStatistics': DatasetUsageStatisticsClass, | |
'com.linkedin.pegasus2avro.dataset.DatasetUserUsageCounts': DatasetUserUsageCountsClass, | |
'com.linkedin.pegasus2avro.dataset.EditableDatasetProperties': EditableDatasetPropertiesClass, | |
'com.linkedin.pegasus2avro.dataset.FineGrainedLineage': FineGrainedLineageClass, | |
'com.linkedin.pegasus2avro.dataset.FineGrainedLineageDownstreamType': FineGrainedLineageDownstreamTypeClass, | |
'com.linkedin.pegasus2avro.dataset.FineGrainedLineageUpstreamType': FineGrainedLineageUpstreamTypeClass, | |
'com.linkedin.pegasus2avro.dataset.Histogram': HistogramClass, | |
'com.linkedin.pegasus2avro.dataset.Quantile': QuantileClass, | |
'com.linkedin.pegasus2avro.dataset.Upstream': UpstreamClass, | |
'com.linkedin.pegasus2avro.dataset.UpstreamLineage': UpstreamLineageClass, | |
'com.linkedin.pegasus2avro.dataset.ValueFrequency': ValueFrequencyClass, | |
'com.linkedin.pegasus2avro.dataset.ViewProperties': ViewPropertiesClass, | |
'com.linkedin.pegasus2avro.domain.DomainProperties': DomainPropertiesClass, | |
'com.linkedin.pegasus2avro.domain.Domains': DomainsClass, | |
'com.linkedin.pegasus2avro.events.metadata.ChangeType': ChangeTypeClass, | |
'com.linkedin.pegasus2avro.execution.ExecutionRequestInput': ExecutionRequestInputClass, | |
'com.linkedin.pegasus2avro.execution.ExecutionRequestResult': ExecutionRequestResultClass, | |
'com.linkedin.pegasus2avro.execution.ExecutionRequestSignal': ExecutionRequestSignalClass, | |
'com.linkedin.pegasus2avro.execution.ExecutionRequestSource': ExecutionRequestSourceClass, | |
'com.linkedin.pegasus2avro.execution.StructuredExecutionReport': StructuredExecutionReportClass, | |
'com.linkedin.pegasus2avro.glossary.GlossaryNodeInfo': GlossaryNodeInfoClass, | |
'com.linkedin.pegasus2avro.glossary.GlossaryRelatedTerms': GlossaryRelatedTermsClass, | |
'com.linkedin.pegasus2avro.glossary.GlossaryTermInfo': GlossaryTermInfoClass, | |
'com.linkedin.pegasus2avro.identity.CorpGroupEditableInfo': CorpGroupEditableInfoClass, | |
'com.linkedin.pegasus2avro.identity.CorpGroupInfo': CorpGroupInfoClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserAppearanceSettings': CorpUserAppearanceSettingsClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserCredentials': CorpUserCredentialsClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserEditableInfo': CorpUserEditableInfoClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserInfo': CorpUserInfoClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserSettings': CorpUserSettingsClass, | |
'com.linkedin.pegasus2avro.identity.CorpUserStatus': CorpUserStatusClass, | |
'com.linkedin.pegasus2avro.identity.GroupMembership': GroupMembershipClass, | |
'com.linkedin.pegasus2avro.identity.InviteToken': InviteTokenClass, | |
'com.linkedin.pegasus2avro.identity.NativeGroupMembership': NativeGroupMembershipClass, | |
'com.linkedin.pegasus2avro.identity.RoleMembership': RoleMembershipClass, | |
'com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceConfig': DataHubIngestionSourceConfigClass, | |
'com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceInfo': DataHubIngestionSourceInfoClass, | |
'com.linkedin.pegasus2avro.ingestion.DataHubIngestionSourceSchedule': DataHubIngestionSourceScheduleClass, | |
'com.linkedin.pegasus2avro.metadata.key.AssertionKey': AssertionKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.ChartKey': ChartKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.ContainerKey': ContainerKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.CorpGroupKey': CorpGroupKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.CorpUserKey': CorpUserKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DashboardKey': DashboardKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataFlowKey': DataFlowKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubAccessTokenKey': DataHubAccessTokenKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubIngestionSourceKey': DataHubIngestionSourceKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubPolicyKey': DataHubPolicyKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubRetentionKey': DataHubRetentionKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubRoleKey': DataHubRoleKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubSecretKey': DataHubSecretKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataHubUpgradeKey': DataHubUpgradeKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataJobKey': DataJobKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataPlatformInstanceKey': DataPlatformInstanceKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataPlatformKey': DataPlatformKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataProcessInstanceKey': DataProcessInstanceKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DataProcessKey': DataProcessKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DatasetKey': DatasetKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.DomainKey': DomainKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.ExecutionRequestKey': ExecutionRequestKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.GlossaryNodeKey': GlossaryNodeKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.GlossaryTermKey': GlossaryTermKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.InviteTokenKey': InviteTokenKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLFeatureKey': MLFeatureKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLFeatureTableKey': MLFeatureTableKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLModelDeploymentKey': MLModelDeploymentKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLModelGroupKey': MLModelGroupKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLModelKey': MLModelKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.MLPrimaryKeyKey': MLPrimaryKeyKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.NotebookKey': NotebookKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.PostKey': PostKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.SchemaFieldKey': SchemaFieldKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.TagKey': TagKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.TelemetryKey': TelemetryKeyClass, | |
'com.linkedin.pegasus2avro.metadata.key.TestKey': TestKeyClass, | |
'com.linkedin.pegasus2avro.metadata.query.filter.Condition': ConditionClass, | |
'com.linkedin.pegasus2avro.metadata.query.filter.ConjunctiveCriterion': ConjunctiveCriterionClass, | |
'com.linkedin.pegasus2avro.metadata.query.filter.Criterion': CriterionClass, | |
'com.linkedin.pegasus2avro.metadata.query.filter.Filter': FilterClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.ChartSnapshot': ChartSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.CorpGroupSnapshot': CorpGroupSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.CorpUserSnapshot': CorpUserSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DashboardSnapshot': DashboardSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataFlowSnapshot': DataFlowSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataHubPolicySnapshot': DataHubPolicySnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataHubRetentionSnapshot': DataHubRetentionSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataJobSnapshot': DataJobSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataPlatformSnapshot': DataPlatformSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DataProcessSnapshot': DataProcessSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.DatasetSnapshot': DatasetSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.GlossaryNodeSnapshot': GlossaryNodeSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.GlossaryTermSnapshot': GlossaryTermSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLFeatureSnapshot': MLFeatureSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLFeatureTableSnapshot': MLFeatureTableSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLModelDeploymentSnapshot': MLModelDeploymentSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLModelGroupSnapshot': MLModelGroupSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLModelSnapshot': MLModelSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.MLPrimaryKeySnapshot': MLPrimaryKeySnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.SchemaFieldSnapshot': SchemaFieldSnapshotClass, | |
'com.linkedin.pegasus2avro.metadata.snapshot.TagSnapshot': TagSnapshotClass, | |
'com.linkedin.pegasus2avro.ml.metadata.BaseData': BaseDataClass, | |
'com.linkedin.pegasus2avro.ml.metadata.CaveatDetails': CaveatDetailsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.CaveatsAndRecommendations': CaveatsAndRecommendationsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.DeploymentStatus': DeploymentStatusClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EditableMLFeatureProperties': EditableMLFeaturePropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EditableMLFeatureTableProperties': EditableMLFeatureTablePropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EditableMLModelGroupProperties': EditableMLModelGroupPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EditableMLModelProperties': EditableMLModelPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EditableMLPrimaryKeyProperties': EditableMLPrimaryKeyPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EthicalConsiderations': EthicalConsiderationsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.EvaluationData': EvaluationDataClass, | |
'com.linkedin.pegasus2avro.ml.metadata.IntendedUse': IntendedUseClass, | |
'com.linkedin.pegasus2avro.ml.metadata.IntendedUserType': IntendedUserTypeClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLFeatureProperties': MLFeaturePropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLFeatureTableProperties': MLFeatureTablePropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLHyperParam': MLHyperParamClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLMetric': MLMetricClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLModelDeploymentProperties': MLModelDeploymentPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLModelFactorPrompts': MLModelFactorPromptsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLModelFactors': MLModelFactorsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLModelGroupProperties': MLModelGroupPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLModelProperties': MLModelPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.Metrics': MetricsClass, | |
'com.linkedin.pegasus2avro.ml.metadata.QuantitativeAnalyses': QuantitativeAnalysesClass, | |
'com.linkedin.pegasus2avro.ml.metadata.SourceCode': SourceCodeClass, | |
'com.linkedin.pegasus2avro.ml.metadata.SourceCodeUrl': SourceCodeUrlClass, | |
'com.linkedin.pegasus2avro.ml.metadata.SourceCodeUrlType': SourceCodeUrlTypeClass, | |
'com.linkedin.pegasus2avro.ml.metadata.TrainingData': TrainingDataClass, | |
'com.linkedin.pegasus2avro.mxe.GenericAspect': GenericAspectClass, | |
'com.linkedin.pegasus2avro.mxe.GenericPayload': GenericPayloadClass, | |
'com.linkedin.pegasus2avro.mxe.MetadataChangeEvent': MetadataChangeEventClass, | |
'com.linkedin.pegasus2avro.mxe.MetadataChangeLog': MetadataChangeLogClass, | |
'com.linkedin.pegasus2avro.mxe.MetadataChangeProposal': MetadataChangeProposalClass, | |
'com.linkedin.pegasus2avro.mxe.PlatformEvent': PlatformEventClass, | |
'com.linkedin.pegasus2avro.mxe.PlatformEventHeader': PlatformEventHeaderClass, | |
'com.linkedin.pegasus2avro.mxe.SystemMetadata': SystemMetadataClass, | |
'com.linkedin.pegasus2avro.notebook.ChartCell': ChartCellClass, | |
'com.linkedin.pegasus2avro.notebook.EditableNotebookProperties': EditableNotebookPropertiesClass, | |
'com.linkedin.pegasus2avro.notebook.NotebookCell': NotebookCellClass, | |
'com.linkedin.pegasus2avro.notebook.NotebookCellType': NotebookCellTypeClass, | |
'com.linkedin.pegasus2avro.notebook.NotebookContent': NotebookContentClass, | |
'com.linkedin.pegasus2avro.notebook.NotebookInfo': NotebookInfoClass, | |
'com.linkedin.pegasus2avro.notebook.QueryCell': QueryCellClass, | |
'com.linkedin.pegasus2avro.notebook.TextCell': TextCellClass, | |
'com.linkedin.pegasus2avro.platform.event.v1.EntityChangeEvent': EntityChangeEventClass, | |
'com.linkedin.pegasus2avro.platform.event.v1.Parameters': ParametersClass, | |
'com.linkedin.pegasus2avro.policy.DataHubActorFilter': DataHubActorFilterClass, | |
'com.linkedin.pegasus2avro.policy.DataHubPolicyInfo': DataHubPolicyInfoClass, | |
'com.linkedin.pegasus2avro.policy.DataHubResourceFilter': DataHubResourceFilterClass, | |
'com.linkedin.pegasus2avro.policy.DataHubRoleInfo': DataHubRoleInfoClass, | |
'com.linkedin.pegasus2avro.policy.PolicyMatchCondition': PolicyMatchConditionClass, | |
'com.linkedin.pegasus2avro.policy.PolicyMatchCriterion': PolicyMatchCriterionClass, | |
'com.linkedin.pegasus2avro.policy.PolicyMatchFilter': PolicyMatchFilterClass, | |
'com.linkedin.pegasus2avro.post.PostContent': PostContentClass, | |
'com.linkedin.pegasus2avro.post.PostContentType': PostContentTypeClass, | |
'com.linkedin.pegasus2avro.post.PostInfo': PostInfoClass, | |
'com.linkedin.pegasus2avro.post.PostType': PostTypeClass, | |
'com.linkedin.pegasus2avro.retention.DataHubRetentionConfig': DataHubRetentionConfigClass, | |
'com.linkedin.pegasus2avro.retention.Retention': RetentionClass, | |
'com.linkedin.pegasus2avro.retention.TimeBasedRetention': TimeBasedRetentionClass, | |
'com.linkedin.pegasus2avro.retention.VersionBasedRetention': VersionBasedRetentionClass, | |
'com.linkedin.pegasus2avro.schema.ArrayType': ArrayTypeClass, | |
'com.linkedin.pegasus2avro.schema.BinaryJsonSchema': BinaryJsonSchemaClass, | |
'com.linkedin.pegasus2avro.schema.BooleanType': BooleanTypeClass, | |
'com.linkedin.pegasus2avro.schema.BytesType': BytesTypeClass, | |
'com.linkedin.pegasus2avro.schema.DatasetFieldForeignKey': DatasetFieldForeignKeyClass, | |
'com.linkedin.pegasus2avro.schema.DateType': DateTypeClass, | |
'com.linkedin.pegasus2avro.schema.EditableSchemaFieldInfo': EditableSchemaFieldInfoClass, | |
'com.linkedin.pegasus2avro.schema.EditableSchemaMetadata': EditableSchemaMetadataClass, | |
'com.linkedin.pegasus2avro.schema.EnumType': EnumTypeClass, | |
'com.linkedin.pegasus2avro.schema.EspressoSchema': EspressoSchemaClass, | |
'com.linkedin.pegasus2avro.schema.FixedType': FixedTypeClass, | |
'com.linkedin.pegasus2avro.schema.ForeignKeyConstraint': ForeignKeyConstraintClass, | |
'com.linkedin.pegasus2avro.schema.ForeignKeySpec': ForeignKeySpecClass, | |
'com.linkedin.pegasus2avro.schema.KafkaSchema': KafkaSchemaClass, | |
'com.linkedin.pegasus2avro.schema.KeyValueSchema': KeyValueSchemaClass, | |
'com.linkedin.pegasus2avro.schema.MapType': MapTypeClass, | |
'com.linkedin.pegasus2avro.schema.MySqlDDL': MySqlDDLClass, | |
'com.linkedin.pegasus2avro.schema.NullType': NullTypeClass, | |
'com.linkedin.pegasus2avro.schema.NumberType': NumberTypeClass, | |
'com.linkedin.pegasus2avro.schema.OracleDDL': OracleDDLClass, | |
'com.linkedin.pegasus2avro.schema.OrcSchema': OrcSchemaClass, | |
'com.linkedin.pegasus2avro.schema.OtherSchema': OtherSchemaClass, | |
'com.linkedin.pegasus2avro.schema.PrestoDDL': PrestoDDLClass, | |
'com.linkedin.pegasus2avro.schema.RecordType': RecordTypeClass, | |
'com.linkedin.pegasus2avro.schema.SchemaField': SchemaFieldClass, | |
'com.linkedin.pegasus2avro.schema.SchemaFieldDataType': SchemaFieldDataTypeClass, | |
'com.linkedin.pegasus2avro.schema.SchemaMetadata': SchemaMetadataClass, | |
'com.linkedin.pegasus2avro.schema.Schemaless': SchemalessClass, | |
'com.linkedin.pegasus2avro.schema.StringType': StringTypeClass, | |
'com.linkedin.pegasus2avro.schema.TimeType': TimeTypeClass, | |
'com.linkedin.pegasus2avro.schema.UnionType': UnionTypeClass, | |
'com.linkedin.pegasus2avro.schema.UrnForeignKey': UrnForeignKeyClass, | |
'com.linkedin.pegasus2avro.secret.DataHubSecretValue': DataHubSecretValueClass, | |
'com.linkedin.pegasus2avro.tag.TagProperties': TagPropertiesClass, | |
'com.linkedin.pegasus2avro.telemetry.TelemetryClientId': TelemetryClientIdClass, | |
'com.linkedin.pegasus2avro.test.TestDefinition': TestDefinitionClass, | |
'com.linkedin.pegasus2avro.test.TestDefinitionType': TestDefinitionTypeClass, | |
'com.linkedin.pegasus2avro.test.TestInfo': TestInfoClass, | |
'com.linkedin.pegasus2avro.test.TestResult': TestResultClass, | |
'com.linkedin.pegasus2avro.test.TestResultType': TestResultTypeClass, | |
'com.linkedin.pegasus2avro.test.TestResults': TestResultsClass, | |
'com.linkedin.pegasus2avro.timeseries.CalendarInterval': CalendarIntervalClass, | |
'com.linkedin.pegasus2avro.timeseries.PartitionSpec': PartitionSpecClass, | |
'com.linkedin.pegasus2avro.timeseries.PartitionType': PartitionTypeClass, | |
'com.linkedin.pegasus2avro.timeseries.TimeWindow': TimeWindowClass, | |
'com.linkedin.pegasus2avro.timeseries.TimeWindowSize': TimeWindowSizeClass, | |
'com.linkedin.pegasus2avro.upgrade.DataHubUpgradeRequest': DataHubUpgradeRequestClass, | |
'com.linkedin.pegasus2avro.upgrade.DataHubUpgradeResult': DataHubUpgradeResultClass, | |
'com.linkedin.pegasus2avro.usage.FieldUsageCounts': FieldUsageCountsClass, | |
'com.linkedin.pegasus2avro.usage.UsageAggregation': UsageAggregationClass, | |
'com.linkedin.pegasus2avro.usage.UsageAggregationMetrics': UsageAggregationMetricsClass, | |
'com.linkedin.pegasus2avro.usage.UserUsageCounts': UserUsageCountsClass, | |
'KafkaAuditHeader': KafkaAuditHeaderClass, | |
'DataHubAccessTokenInfo': DataHubAccessTokenInfoClass, | |
'AssertionInfo': AssertionInfoClass, | |
'AssertionResult': AssertionResultClass, | |
'AssertionResultType': AssertionResultTypeClass, | |
'AssertionRunEvent': AssertionRunEventClass, | |
'AssertionRunStatus': AssertionRunStatusClass, | |
'AssertionStdAggregation': AssertionStdAggregationClass, | |
'AssertionStdOperator': AssertionStdOperatorClass, | |
'AssertionStdParameter': AssertionStdParameterClass, | |
'AssertionStdParameterType': AssertionStdParameterTypeClass, | |
'AssertionStdParameters': AssertionStdParametersClass, | |
'AssertionType': AssertionTypeClass, | |
'BatchSpec': BatchSpecClass, | |
'DatasetAssertionInfo': DatasetAssertionInfoClass, | |
'DatasetAssertionScope': DatasetAssertionScopeClass, | |
'ChartInfo': ChartInfoClass, | |
'ChartQuery': ChartQueryClass, | |
'ChartQueryType': ChartQueryTypeClass, | |
'ChartType': ChartTypeClass, | |
'ChartUsageStatistics': ChartUsageStatisticsClass, | |
'ChartUserUsageCounts': ChartUserUsageCountsClass, | |
'EditableChartProperties': EditableChartPropertiesClass, | |
'AccessLevel': AccessLevelClass, | |
'AuditStamp': AuditStampClass, | |
'BrowsePaths': BrowsePathsClass, | |
'ChangeAuditStamps': ChangeAuditStampsClass, | |
'Cost': CostClass, | |
'CostCost': CostCostClass, | |
'CostCostDiscriminator': CostCostDiscriminatorClass, | |
'CostType': CostTypeClass, | |
'DataPlatformInstance': DataPlatformInstanceClass, | |
'Deprecation': DeprecationClass, | |
'FabricType': FabricTypeClass, | |
'GlobalTags': GlobalTagsClass, | |
'GlossaryTermAssociation': GlossaryTermAssociationClass, | |
'GlossaryTerms': GlossaryTermsClass, | |
'InputField': InputFieldClass, | |
'InputFields': InputFieldsClass, | |
'InstitutionalMemory': InstitutionalMemoryClass, | |
'InstitutionalMemoryMetadata': InstitutionalMemoryMetadataClass, | |
'MLFeatureDataType': MLFeatureDataTypeClass, | |
'Media': MediaClass, | |
'MediaType': MediaTypeClass, | |
'Operation': OperationClass, | |
'OperationSourceType': OperationSourceTypeClass, | |
'OperationType': OperationTypeClass, | |
'Origin': OriginClass, | |
'OriginType': OriginTypeClass, | |
'Owner': OwnerClass, | |
'Ownership': OwnershipClass, | |
'OwnershipSource': OwnershipSourceClass, | |
'OwnershipSourceType': OwnershipSourceTypeClass, | |
'OwnershipType': OwnershipTypeClass, | |
'Siblings': SiblingsClass, | |
'Status': StatusClass, | |
'SubTypes': SubTypesClass, | |
'TagAssociation': TagAssociationClass, | |
'VersionTag': VersionTagClass, | |
'WindowDuration': WindowDurationClass, | |
'TransformationType': TransformationTypeClass, | |
'UDFTransformer': UDFTransformerClass, | |
'Container': ContainerClass, | |
'ContainerProperties': ContainerPropertiesClass, | |
'EditableContainerProperties': EditableContainerPropertiesClass, | |
'DashboardInfo': DashboardInfoClass, | |
'DashboardUsageStatistics': DashboardUsageStatisticsClass, | |
'DashboardUserUsageCounts': DashboardUserUsageCountsClass, | |
'EditableDashboardProperties': EditableDashboardPropertiesClass, | |
'DataFlowInfo': DataFlowInfoClass, | |
'DataJobInfo': DataJobInfoClass, | |
'DataJobInputOutput': DataJobInputOutputClass, | |
'EditableDataFlowProperties': EditableDataFlowPropertiesClass, | |
'EditableDataJobProperties': EditableDataJobPropertiesClass, | |
'JobStatus': JobStatusClass, | |
'VersionInfo': VersionInfoClass, | |
'AzkabanJobType': AzkabanJobTypeClass, | |
'DatahubIngestionCheckpoint': DatahubIngestionCheckpointClass, | |
'DatahubIngestionRunSummary': DatahubIngestionRunSummaryClass, | |
'IngestionCheckpointState': IngestionCheckpointStateClass, | |
'DataPlatformInfo': DataPlatformInfoClass, | |
'PlatformType': PlatformTypeClass, | |
'DataProcessInfo': DataProcessInfoClass, | |
'DataProcessInstanceInput': DataProcessInstanceInputClass, | |
'DataProcessInstanceOutput': DataProcessInstanceOutputClass, | |
'DataProcessInstanceProperties': DataProcessInstancePropertiesClass, | |
'DataProcessInstanceRelationships': DataProcessInstanceRelationshipsClass, | |
'DataProcessInstanceRunEvent': DataProcessInstanceRunEventClass, | |
'DataProcessInstanceRunResult': DataProcessInstanceRunResultClass, | |
'DataProcessRunStatus': DataProcessRunStatusClass, | |
'DataProcessType': DataProcessTypeClass, | |
'RunResultType': RunResultTypeClass, | |
'DatasetDeprecation': DatasetDeprecationClass, | |
'DatasetFieldMapping': DatasetFieldMappingClass, | |
'DatasetFieldProfile': DatasetFieldProfileClass, | |
'DatasetFieldUsageCounts': DatasetFieldUsageCountsClass, | |
'DatasetLineageType': DatasetLineageTypeClass, | |
'DatasetProfile': DatasetProfileClass, | |
'DatasetProperties': DatasetPropertiesClass, | |
'DatasetUpstreamLineage': DatasetUpstreamLineageClass, | |
'DatasetUsageStatistics': DatasetUsageStatisticsClass, | |
'DatasetUserUsageCounts': DatasetUserUsageCountsClass, | |
'EditableDatasetProperties': EditableDatasetPropertiesClass, | |
'FineGrainedLineage': FineGrainedLineageClass, | |
'FineGrainedLineageDownstreamType': FineGrainedLineageDownstreamTypeClass, | |
'FineGrainedLineageUpstreamType': FineGrainedLineageUpstreamTypeClass, | |
'Histogram': HistogramClass, | |
'Quantile': QuantileClass, | |
'Upstream': UpstreamClass, | |
'UpstreamLineage': UpstreamLineageClass, | |
'ValueFrequency': ValueFrequencyClass, | |
'ViewProperties': ViewPropertiesClass, | |
'DomainProperties': DomainPropertiesClass, | |
'Domains': DomainsClass, | |
'ChangeType': ChangeTypeClass, | |
'ExecutionRequestInput': ExecutionRequestInputClass, | |
'ExecutionRequestResult': ExecutionRequestResultClass, | |
'ExecutionRequestSignal': ExecutionRequestSignalClass, | |
'ExecutionRequestSource': ExecutionRequestSourceClass, | |
'StructuredExecutionReport': StructuredExecutionReportClass, | |
'GlossaryNodeInfo': GlossaryNodeInfoClass, | |
'GlossaryRelatedTerms': GlossaryRelatedTermsClass, | |
'GlossaryTermInfo': GlossaryTermInfoClass, | |
'CorpGroupEditableInfo': CorpGroupEditableInfoClass, | |
'CorpGroupInfo': CorpGroupInfoClass, | |
'CorpUserAppearanceSettings': CorpUserAppearanceSettingsClass, | |
'CorpUserCredentials': CorpUserCredentialsClass, | |
'CorpUserEditableInfo': CorpUserEditableInfoClass, | |
'CorpUserInfo': CorpUserInfoClass, | |
'CorpUserSettings': CorpUserSettingsClass, | |
'CorpUserStatus': CorpUserStatusClass, | |
'GroupMembership': GroupMembershipClass, | |
'InviteToken': InviteTokenClass, | |
'NativeGroupMembership': NativeGroupMembershipClass, | |
'RoleMembership': RoleMembershipClass, | |
'DataHubIngestionSourceConfig': DataHubIngestionSourceConfigClass, | |
'DataHubIngestionSourceInfo': DataHubIngestionSourceInfoClass, | |
'DataHubIngestionSourceSchedule': DataHubIngestionSourceScheduleClass, | |
'AssertionKey': AssertionKeyClass, | |
'ChartKey': ChartKeyClass, | |
'ContainerKey': ContainerKeyClass, | |
'CorpGroupKey': CorpGroupKeyClass, | |
'CorpUserKey': CorpUserKeyClass, | |
'DashboardKey': DashboardKeyClass, | |
'DataFlowKey': DataFlowKeyClass, | |
'DataHubAccessTokenKey': DataHubAccessTokenKeyClass, | |
'DataHubIngestionSourceKey': DataHubIngestionSourceKeyClass, | |
'DataHubPolicyKey': DataHubPolicyKeyClass, | |
'DataHubRetentionKey': DataHubRetentionKeyClass, | |
'DataHubRoleKey': DataHubRoleKeyClass, | |
'DataHubSecretKey': DataHubSecretKeyClass, | |
'DataHubUpgradeKey': DataHubUpgradeKeyClass, | |
'DataJobKey': DataJobKeyClass, | |
'DataPlatformInstanceKey': DataPlatformInstanceKeyClass, | |
'DataPlatformKey': DataPlatformKeyClass, | |
'DataProcessInstanceKey': DataProcessInstanceKeyClass, | |
'DataProcessKey': DataProcessKeyClass, | |
'DatasetKey': DatasetKeyClass, | |
'DomainKey': DomainKeyClass, | |
'ExecutionRequestKey': ExecutionRequestKeyClass, | |
'GlossaryNodeKey': GlossaryNodeKeyClass, | |
'GlossaryTermKey': GlossaryTermKeyClass, | |
'InviteTokenKey': InviteTokenKeyClass, | |
'MLFeatureKey': MLFeatureKeyClass, | |
'MLFeatureTableKey': MLFeatureTableKeyClass, | |
'MLModelDeploymentKey': MLModelDeploymentKeyClass, | |
'MLModelGroupKey': MLModelGroupKeyClass, | |
'MLModelKey': MLModelKeyClass, | |
'MLPrimaryKeyKey': MLPrimaryKeyKeyClass, | |
'NotebookKey': NotebookKeyClass, | |
'PostKey': PostKeyClass, | |
'SchemaFieldKey': SchemaFieldKeyClass, | |
'TagKey': TagKeyClass, | |
'TelemetryKey': TelemetryKeyClass, | |
'TestKey': TestKeyClass, | |
'Condition': ConditionClass, | |
'ConjunctiveCriterion': ConjunctiveCriterionClass, | |
'Criterion': CriterionClass, | |
'Filter': FilterClass, | |
'ChartSnapshot': ChartSnapshotClass, | |
'CorpGroupSnapshot': CorpGroupSnapshotClass, | |
'CorpUserSnapshot': CorpUserSnapshotClass, | |
'DashboardSnapshot': DashboardSnapshotClass, | |
'DataFlowSnapshot': DataFlowSnapshotClass, | |
'DataHubPolicySnapshot': DataHubPolicySnapshotClass, | |
'DataHubRetentionSnapshot': DataHubRetentionSnapshotClass, | |
'DataJobSnapshot': DataJobSnapshotClass, | |
'DataPlatformSnapshot': DataPlatformSnapshotClass, | |
'DataProcessSnapshot': DataProcessSnapshotClass, | |
'DatasetSnapshot': DatasetSnapshotClass, | |
'GlossaryNodeSnapshot': GlossaryNodeSnapshotClass, | |
'GlossaryTermSnapshot': GlossaryTermSnapshotClass, | |
'MLFeatureSnapshot': MLFeatureSnapshotClass, | |
'MLFeatureTableSnapshot': MLFeatureTableSnapshotClass, | |
'MLModelDeploymentSnapshot': MLModelDeploymentSnapshotClass, | |
'MLModelGroupSnapshot': MLModelGroupSnapshotClass, | |
'MLModelSnapshot': MLModelSnapshotClass, | |
'MLPrimaryKeySnapshot': MLPrimaryKeySnapshotClass, | |
'SchemaFieldSnapshot': SchemaFieldSnapshotClass, | |
'TagSnapshot': TagSnapshotClass, | |
'BaseData': BaseDataClass, | |
'CaveatDetails': CaveatDetailsClass, | |
'CaveatsAndRecommendations': CaveatsAndRecommendationsClass, | |
'DeploymentStatus': DeploymentStatusClass, | |
'EditableMLFeatureProperties': EditableMLFeaturePropertiesClass, | |
'EditableMLFeatureTableProperties': EditableMLFeatureTablePropertiesClass, | |
'EditableMLModelGroupProperties': EditableMLModelGroupPropertiesClass, | |
'EditableMLModelProperties': EditableMLModelPropertiesClass, | |
'EditableMLPrimaryKeyProperties': EditableMLPrimaryKeyPropertiesClass, | |
'EthicalConsiderations': EthicalConsiderationsClass, | |
'EvaluationData': EvaluationDataClass, | |
'IntendedUse': IntendedUseClass, | |
'IntendedUserType': IntendedUserTypeClass, | |
'MLFeatureProperties': MLFeaturePropertiesClass, | |
'MLFeatureTableProperties': MLFeatureTablePropertiesClass, | |
'MLHyperParam': MLHyperParamClass, | |
'MLMetric': MLMetricClass, | |
'MLModelDeploymentProperties': MLModelDeploymentPropertiesClass, | |
'MLModelFactorPrompts': MLModelFactorPromptsClass, | |
'MLModelFactors': MLModelFactorsClass, | |
'MLModelGroupProperties': MLModelGroupPropertiesClass, | |
'MLModelProperties': MLModelPropertiesClass, | |
'MLPrimaryKeyProperties': MLPrimaryKeyPropertiesClass, | |
'Metrics': MetricsClass, | |
'QuantitativeAnalyses': QuantitativeAnalysesClass, | |
'SourceCode': SourceCodeClass, | |
'SourceCodeUrl': SourceCodeUrlClass, | |
'SourceCodeUrlType': SourceCodeUrlTypeClass, | |
'TrainingData': TrainingDataClass, | |
'GenericAspect': GenericAspectClass, | |
'GenericPayload': GenericPayloadClass, | |
'MetadataChangeEvent': MetadataChangeEventClass, | |
'MetadataChangeLog': MetadataChangeLogClass, | |
'MetadataChangeProposal': MetadataChangeProposalClass, | |
'PlatformEvent': PlatformEventClass, | |
'PlatformEventHeader': PlatformEventHeaderClass, | |
'SystemMetadata': SystemMetadataClass, | |
'ChartCell': ChartCellClass, | |
'EditableNotebookProperties': EditableNotebookPropertiesClass, | |
'NotebookCell': NotebookCellClass, | |
'NotebookCellType': NotebookCellTypeClass, | |
'NotebookContent': NotebookContentClass, | |
'NotebookInfo': NotebookInfoClass, | |
'QueryCell': QueryCellClass, | |
'TextCell': TextCellClass, | |
'EntityChangeEvent': EntityChangeEventClass, | |
'Parameters': ParametersClass, | |
'DataHubActorFilter': DataHubActorFilterClass, | |
'DataHubPolicyInfo': DataHubPolicyInfoClass, | |
'DataHubResourceFilter': DataHubResourceFilterClass, | |
'DataHubRoleInfo': DataHubRoleInfoClass, | |
'PolicyMatchCondition': PolicyMatchConditionClass, | |
'PolicyMatchCriterion': PolicyMatchCriterionClass, | |
'PolicyMatchFilter': PolicyMatchFilterClass, | |
'PostContent': PostContentClass, | |
'PostContentType': PostContentTypeClass, | |
'PostInfo': PostInfoClass, | |
'PostType': PostTypeClass, | |
'DataHubRetentionConfig': DataHubRetentionConfigClass, | |
'Retention': RetentionClass, | |
'TimeBasedRetention': TimeBasedRetentionClass, | |
'VersionBasedRetention': VersionBasedRetentionClass, | |
'ArrayType': ArrayTypeClass, | |
'BinaryJsonSchema': BinaryJsonSchemaClass, | |
'BooleanType': BooleanTypeClass, | |
'BytesType': BytesTypeClass, | |
'DatasetFieldForeignKey': DatasetFieldForeignKeyClass, | |
'DateType': DateTypeClass, | |
'EditableSchemaFieldInfo': EditableSchemaFieldInfoClass, | |
'EditableSchemaMetadata': EditableSchemaMetadataClass, | |
'EnumType': EnumTypeClass, | |
'EspressoSchema': EspressoSchemaClass, | |
'FixedType': FixedTypeClass, | |
'ForeignKeyConstraint': ForeignKeyConstraintClass, | |
'ForeignKeySpec': ForeignKeySpecClass, | |
'KafkaSchema': KafkaSchemaClass, | |
'KeyValueSchema': KeyValueSchemaClass, | |
'MapType': MapTypeClass, | |
'MySqlDDL': MySqlDDLClass, | |
'NullType': NullTypeClass, | |
'NumberType': NumberTypeClass, | |
'OracleDDL': OracleDDLClass, | |
'OrcSchema': OrcSchemaClass, | |
'OtherSchema': OtherSchemaClass, | |
'PrestoDDL': PrestoDDLClass, | |
'RecordType': RecordTypeClass, | |
'SchemaField': SchemaFieldClass, | |
'SchemaFieldDataType': SchemaFieldDataTypeClass, | |
'SchemaMetadata': SchemaMetadataClass, | |
'Schemaless': SchemalessClass, | |
'StringType': StringTypeClass, | |
'TimeType': TimeTypeClass, | |
'UnionType': UnionTypeClass, | |
'UrnForeignKey': UrnForeignKeyClass, | |
'DataHubSecretValue': DataHubSecretValueClass, | |
'TagProperties': TagPropertiesClass, | |
'TelemetryClientId': TelemetryClientIdClass, | |
'TestDefinition': TestDefinitionClass, | |
'TestDefinitionType': TestDefinitionTypeClass, | |
'TestInfo': TestInfoClass, | |
'TestResult': TestResultClass, | |
'TestResultType': TestResultTypeClass, | |
'TestResults': TestResultsClass, | |
'CalendarInterval': CalendarIntervalClass, | |
'PartitionSpec': PartitionSpecClass, | |
'PartitionType': PartitionTypeClass, | |
'TimeWindow': TimeWindowClass, | |
'TimeWindowSize': TimeWindowSizeClass, | |
'DataHubUpgradeRequest': DataHubUpgradeRequestClass, | |
'DataHubUpgradeResult': DataHubUpgradeResultClass, | |
'FieldUsageCounts': FieldUsageCountsClass, | |
'UsageAggregation': UsageAggregationClass, | |
'UsageAggregationMetrics': UsageAggregationMetricsClass, | |
'UserUsageCounts': UserUsageCountsClass, | |
} | |
_json_converter = avrojson.AvroJsonConverter(use_logical_types=False, schema_types=__SCHEMA_TYPES) | |
from typing import Type | |
ASPECT_CLASSES: List[Type[_Aspect]] = [ | |
DataProcessInstanceRelationshipsClass, | |
DataProcessInstanceRunEventClass, | |
DataProcessInfoClass, | |
DataProcessInstanceOutputClass, | |
DataProcessInstancePropertiesClass, | |
DataProcessInstanceInputClass, | |
PostInfoClass, | |
DashboardUsageStatisticsClass, | |
DashboardInfoClass, | |
EditableDashboardPropertiesClass, | |
DataFlowInfoClass, | |
DataJobInfoClass, | |
EditableDataJobPropertiesClass, | |
VersionInfoClass, | |
EditableDataFlowPropertiesClass, | |
DataJobInputOutputClass, | |
DatahubIngestionRunSummaryClass, | |
DatahubIngestionCheckpointClass, | |
DataHubSecretValueClass, | |
IntendedUseClass, | |
EditableMLFeatureTablePropertiesClass, | |
EditableMLModelGroupPropertiesClass, | |
MLMetricClass, | |
TrainingDataClass, | |
MetricsClass, | |
MLFeatureTablePropertiesClass, | |
MLHyperParamClass, | |
EditableMLPrimaryKeyPropertiesClass, | |
MLModelDeploymentPropertiesClass, | |
QuantitativeAnalysesClass, | |
MLPrimaryKeyPropertiesClass, | |
MLFeaturePropertiesClass, | |
CaveatsAndRecommendationsClass, | |
EthicalConsiderationsClass, | |
EditableMLFeaturePropertiesClass, | |
EvaluationDataClass, | |
EditableMLModelPropertiesClass, | |
MLModelFactorPromptsClass, | |
MLModelPropertiesClass, | |
SourceCodeClass, | |
MLModelGroupPropertiesClass, | |
TelemetryClientIdClass, | |
GlossaryNodeInfoClass, | |
GlossaryRelatedTermsClass, | |
GlossaryTermInfoClass, | |
DataHubRoleInfoClass, | |
DataHubPolicyInfoClass, | |
EditableNotebookPropertiesClass, | |
NotebookContentClass, | |
NotebookInfoClass, | |
CorpUserStatusClass, | |
CorpUserEditableInfoClass, | |
CorpUserInfoClass, | |
CorpGroupEditableInfoClass, | |
RoleMembershipClass, | |
InviteTokenClass, | |
CorpGroupInfoClass, | |
GroupMembershipClass, | |
CorpUserCredentialsClass, | |
CorpUserSettingsClass, | |
NativeGroupMembershipClass, | |
TestResultsClass, | |
TestInfoClass, | |
DataHubSecretKeyClass, | |
MLModelDeploymentKeyClass, | |
ChartKeyClass, | |
DataHubUpgradeKeyClass, | |
DataJobKeyClass, | |
PostKeyClass, | |
DataProcessInstanceKeyClass, | |
DataPlatformKeyClass, | |
DataHubRetentionKeyClass, | |
MLModelGroupKeyClass, | |
MLFeatureKeyClass, | |
DatasetKeyClass, | |
TelemetryKeyClass, | |
DashboardKeyClass, | |
GlossaryNodeKeyClass, | |
InviteTokenKeyClass, | |
CorpGroupKeyClass, | |
DataHubIngestionSourceKeyClass, | |
MLModelKeyClass, | |
ContainerKeyClass, | |
DataFlowKeyClass, | |
TagKeyClass, | |
CorpUserKeyClass, | |
ExecutionRequestKeyClass, | |
DomainKeyClass, | |
MLPrimaryKeyKeyClass, | |
SchemaFieldKeyClass, | |
TestKeyClass, | |
AssertionKeyClass, | |
MLFeatureTableKeyClass, | |
DataHubAccessTokenKeyClass, | |
DataPlatformInstanceKeyClass, | |
NotebookKeyClass, | |
GlossaryTermKeyClass, | |
DataHubPolicyKeyClass, | |
DataProcessKeyClass, | |
DataHubRoleKeyClass, | |
AssertionRunEventClass, | |
AssertionInfoClass, | |
EditableChartPropertiesClass, | |
ChartUsageStatisticsClass, | |
ChartQueryClass, | |
ChartInfoClass, | |
DatasetPropertiesClass, | |
ViewPropertiesClass, | |
DatasetUpstreamLineageClass, | |
DatasetUsageStatisticsClass, | |
EditableDatasetPropertiesClass, | |
UpstreamLineageClass, | |
DatasetDeprecationClass, | |
DatasetProfileClass, | |
EditableContainerPropertiesClass, | |
ContainerClass, | |
ContainerPropertiesClass, | |
DataPlatformInfoClass, | |
DataHubIngestionSourceInfoClass, | |
DomainPropertiesClass, | |
DomainsClass, | |
EditableSchemaMetadataClass, | |
SchemaMetadataClass, | |
ExecutionRequestInputClass, | |
ExecutionRequestResultClass, | |
ExecutionRequestSignalClass, | |
DataPlatformInstanceClass, | |
CostClass, | |
DeprecationClass, | |
SiblingsClass, | |
InstitutionalMemoryClass, | |
GlobalTagsClass, | |
StatusClass, | |
BrowsePathsClass, | |
InputFieldsClass, | |
OwnershipClass, | |
OperationClass, | |
SubTypesClass, | |
OriginClass, | |
GlossaryTermsClass, | |
TagPropertiesClass, | |
DataHubAccessTokenInfoClass, | |
DataHubUpgradeResultClass, | |
DataHubUpgradeRequestClass, | |
DataHubRetentionConfigClass | |
] | |
# fmt: on |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment