acryl-datahub 1.0.0.1rc1__py3-none-any.whl → 1.0.0.1rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of acryl-datahub might be problematic. Click here for more details.
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info}/METADATA +2471 -2470
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info}/RECORD +61 -46
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info}/WHEEL +1 -1
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info}/entry_points.txt +2 -1
- datahub/_version.py +1 -1
- datahub/api/entities/dataset/dataset.py +1 -28
- datahub/emitter/request_helper.py +19 -14
- datahub/ingestion/api/source.py +6 -2
- datahub/ingestion/api/source_helpers.py +6 -2
- datahub/ingestion/extractor/schema_util.py +1 -0
- datahub/ingestion/source/common/data_platforms.py +23 -0
- datahub/ingestion/source/common/gcp_credentials_config.py +6 -0
- datahub/ingestion/source/common/subtypes.py +15 -0
- datahub/ingestion/source/data_lake_common/path_spec.py +21 -1
- datahub/ingestion/source/dbt/dbt_common.py +6 -4
- datahub/ingestion/source/dbt/dbt_core.py +4 -6
- datahub/ingestion/source/dbt/dbt_tests.py +8 -6
- datahub/ingestion/source/dremio/dremio_datahub_source_mapping.py +1 -1
- datahub/ingestion/source/dremio/dremio_entities.py +6 -5
- datahub/ingestion/source/dremio/dremio_source.py +96 -117
- datahub/ingestion/source/hex/__init__.py +0 -0
- datahub/ingestion/source/hex/api.py +394 -0
- datahub/ingestion/source/hex/constants.py +3 -0
- datahub/ingestion/source/hex/hex.py +167 -0
- datahub/ingestion/source/hex/mapper.py +372 -0
- datahub/ingestion/source/hex/model.py +68 -0
- datahub/ingestion/source/iceberg/iceberg.py +62 -66
- datahub/ingestion/source/mlflow.py +198 -7
- datahub/ingestion/source/mode.py +11 -1
- datahub/ingestion/source/openapi.py +69 -34
- datahub/ingestion/source/powerbi/powerbi.py +29 -23
- datahub/ingestion/source/s3/source.py +11 -0
- datahub/ingestion/source/slack/slack.py +399 -82
- datahub/ingestion/source/superset.py +15 -6
- datahub/ingestion/source/vertexai/__init__.py +0 -0
- datahub/ingestion/source/vertexai/vertexai.py +1055 -0
- datahub/ingestion/source/vertexai/vertexai_config.py +29 -0
- datahub/ingestion/source/vertexai/vertexai_result_type_utils.py +68 -0
- datahub/metadata/_schema_classes.py +472 -1
- datahub/metadata/com/linkedin/pegasus2avro/dataplatform/slack/__init__.py +15 -0
- datahub/metadata/com/linkedin/pegasus2avro/event/__init__.py +11 -0
- datahub/metadata/com/linkedin/pegasus2avro/event/notification/__init__.py +15 -0
- datahub/metadata/com/linkedin/pegasus2avro/event/notification/settings/__init__.py +19 -0
- datahub/metadata/schema.avsc +307 -0
- datahub/metadata/schemas/CorpUserEditableInfo.avsc +14 -0
- datahub/metadata/schemas/CorpUserKey.avsc +2 -1
- datahub/metadata/schemas/CorpUserSettings.avsc +95 -0
- datahub/metadata/schemas/MLModelGroupProperties.avsc +16 -0
- datahub/metadata/schemas/MetadataChangeEvent.avsc +30 -0
- datahub/metadata/schemas/QueryProperties.avsc +20 -0
- datahub/metadata/schemas/Siblings.avsc +2 -0
- datahub/metadata/schemas/SlackUserInfo.avsc +160 -0
- datahub/sdk/dataset.py +122 -0
- datahub/sdk/entity.py +99 -3
- datahub/sdk/entity_client.py +27 -3
- datahub/sdk/main_client.py +22 -0
- datahub/sdk/search_filters.py +4 -4
- datahub/sql_parsing/sql_parsing_aggregator.py +6 -0
- datahub/sql_parsing/tool_meta_extractor.py +27 -2
- datahub/ingestion/source/vertexai.py +0 -695
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info/licenses}/LICENSE +0 -0
- {acryl_datahub-1.0.0.1rc1.dist-info → acryl_datahub-1.0.0.1rc2.dist-info}/top_level.txt +0 -0
|
@@ -9095,6 +9095,282 @@ class PlatformTypeClass(object):
|
|
|
9095
9095
|
|
|
9096
9096
|
|
|
9097
9097
|
|
|
9098
|
+
class SlackUserInfoClass(_Aspect):
|
|
9099
|
+
"""Information about a Slack user."""
|
|
9100
|
+
|
|
9101
|
+
|
|
9102
|
+
ASPECT_NAME = 'slackUserInfo'
|
|
9103
|
+
ASPECT_INFO = {}
|
|
9104
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.dataplatform.slack.SlackUserInfo")
|
|
9105
|
+
|
|
9106
|
+
def __init__(self,
|
|
9107
|
+
slackInstance: str,
|
|
9108
|
+
id: str,
|
|
9109
|
+
name: str,
|
|
9110
|
+
realName: str,
|
|
9111
|
+
displayName: str,
|
|
9112
|
+
teamId: str,
|
|
9113
|
+
isDeleted: bool,
|
|
9114
|
+
isAdmin: bool,
|
|
9115
|
+
isOwner: bool,
|
|
9116
|
+
isPrimaryOwner: bool,
|
|
9117
|
+
isBot: bool,
|
|
9118
|
+
email: Union[None, str]=None,
|
|
9119
|
+
timezone: Union[None, str]=None,
|
|
9120
|
+
timezoneOffset: Union[None, int]=None,
|
|
9121
|
+
title: Union[None, str]=None,
|
|
9122
|
+
phone: Union[None, str]=None,
|
|
9123
|
+
profilePictureUrl: Union[None, str]=None,
|
|
9124
|
+
statusText: Union[None, str]=None,
|
|
9125
|
+
statusEmoji: Union[None, str]=None,
|
|
9126
|
+
lastUpdatedSeconds: Union[None, int]=None,
|
|
9127
|
+
):
|
|
9128
|
+
super().__init__()
|
|
9129
|
+
|
|
9130
|
+
self.slackInstance = slackInstance
|
|
9131
|
+
self.id = id
|
|
9132
|
+
self.name = name
|
|
9133
|
+
self.realName = realName
|
|
9134
|
+
self.displayName = displayName
|
|
9135
|
+
self.email = email
|
|
9136
|
+
self.teamId = teamId
|
|
9137
|
+
self.isDeleted = isDeleted
|
|
9138
|
+
self.isAdmin = isAdmin
|
|
9139
|
+
self.isOwner = isOwner
|
|
9140
|
+
self.isPrimaryOwner = isPrimaryOwner
|
|
9141
|
+
self.isBot = isBot
|
|
9142
|
+
self.timezone = timezone
|
|
9143
|
+
self.timezoneOffset = timezoneOffset
|
|
9144
|
+
self.title = title
|
|
9145
|
+
self.phone = phone
|
|
9146
|
+
self.profilePictureUrl = profilePictureUrl
|
|
9147
|
+
self.statusText = statusText
|
|
9148
|
+
self.statusEmoji = statusEmoji
|
|
9149
|
+
self.lastUpdatedSeconds = lastUpdatedSeconds
|
|
9150
|
+
|
|
9151
|
+
def _restore_defaults(self) -> None:
|
|
9152
|
+
self.slackInstance = str()
|
|
9153
|
+
self.id = str()
|
|
9154
|
+
self.name = str()
|
|
9155
|
+
self.realName = str()
|
|
9156
|
+
self.displayName = str()
|
|
9157
|
+
self.email = self.RECORD_SCHEMA.fields_dict["email"].default
|
|
9158
|
+
self.teamId = str()
|
|
9159
|
+
self.isDeleted = bool()
|
|
9160
|
+
self.isAdmin = bool()
|
|
9161
|
+
self.isOwner = bool()
|
|
9162
|
+
self.isPrimaryOwner = bool()
|
|
9163
|
+
self.isBot = bool()
|
|
9164
|
+
self.timezone = self.RECORD_SCHEMA.fields_dict["timezone"].default
|
|
9165
|
+
self.timezoneOffset = self.RECORD_SCHEMA.fields_dict["timezoneOffset"].default
|
|
9166
|
+
self.title = self.RECORD_SCHEMA.fields_dict["title"].default
|
|
9167
|
+
self.phone = self.RECORD_SCHEMA.fields_dict["phone"].default
|
|
9168
|
+
self.profilePictureUrl = self.RECORD_SCHEMA.fields_dict["profilePictureUrl"].default
|
|
9169
|
+
self.statusText = self.RECORD_SCHEMA.fields_dict["statusText"].default
|
|
9170
|
+
self.statusEmoji = self.RECORD_SCHEMA.fields_dict["statusEmoji"].default
|
|
9171
|
+
self.lastUpdatedSeconds = self.RECORD_SCHEMA.fields_dict["lastUpdatedSeconds"].default
|
|
9172
|
+
|
|
9173
|
+
|
|
9174
|
+
@property
|
|
9175
|
+
def slackInstance(self) -> str:
|
|
9176
|
+
"""The dataplatform instance that this Slack member belongs to."""
|
|
9177
|
+
return self._inner_dict.get('slackInstance') # type: ignore
|
|
9178
|
+
|
|
9179
|
+
@slackInstance.setter
|
|
9180
|
+
def slackInstance(self, value: str) -> None:
|
|
9181
|
+
self._inner_dict['slackInstance'] = value
|
|
9182
|
+
|
|
9183
|
+
|
|
9184
|
+
@property
|
|
9185
|
+
def id(self) -> str:
|
|
9186
|
+
"""The unique identifier for the Slack member."""
|
|
9187
|
+
return self._inner_dict.get('id') # type: ignore
|
|
9188
|
+
|
|
9189
|
+
@id.setter
|
|
9190
|
+
def id(self, value: str) -> None:
|
|
9191
|
+
self._inner_dict['id'] = value
|
|
9192
|
+
|
|
9193
|
+
|
|
9194
|
+
@property
|
|
9195
|
+
def name(self) -> str:
|
|
9196
|
+
"""The username of the Slack member."""
|
|
9197
|
+
return self._inner_dict.get('name') # type: ignore
|
|
9198
|
+
|
|
9199
|
+
@name.setter
|
|
9200
|
+
def name(self, value: str) -> None:
|
|
9201
|
+
self._inner_dict['name'] = value
|
|
9202
|
+
|
|
9203
|
+
|
|
9204
|
+
@property
|
|
9205
|
+
def realName(self) -> str:
|
|
9206
|
+
"""The real name of the Slack member."""
|
|
9207
|
+
return self._inner_dict.get('realName') # type: ignore
|
|
9208
|
+
|
|
9209
|
+
@realName.setter
|
|
9210
|
+
def realName(self, value: str) -> None:
|
|
9211
|
+
self._inner_dict['realName'] = value
|
|
9212
|
+
|
|
9213
|
+
|
|
9214
|
+
@property
|
|
9215
|
+
def displayName(self) -> str:
|
|
9216
|
+
"""The display name of the Slack member."""
|
|
9217
|
+
return self._inner_dict.get('displayName') # type: ignore
|
|
9218
|
+
|
|
9219
|
+
@displayName.setter
|
|
9220
|
+
def displayName(self, value: str) -> None:
|
|
9221
|
+
self._inner_dict['displayName'] = value
|
|
9222
|
+
|
|
9223
|
+
|
|
9224
|
+
@property
|
|
9225
|
+
def email(self) -> Union[None, str]:
|
|
9226
|
+
"""The email associated with the Slack member."""
|
|
9227
|
+
return self._inner_dict.get('email') # type: ignore
|
|
9228
|
+
|
|
9229
|
+
@email.setter
|
|
9230
|
+
def email(self, value: Union[None, str]) -> None:
|
|
9231
|
+
self._inner_dict['email'] = value
|
|
9232
|
+
|
|
9233
|
+
|
|
9234
|
+
@property
|
|
9235
|
+
def teamId(self) -> str:
|
|
9236
|
+
"""The ID associated with the Slack team."""
|
|
9237
|
+
return self._inner_dict.get('teamId') # type: ignore
|
|
9238
|
+
|
|
9239
|
+
@teamId.setter
|
|
9240
|
+
def teamId(self, value: str) -> None:
|
|
9241
|
+
self._inner_dict['teamId'] = value
|
|
9242
|
+
|
|
9243
|
+
|
|
9244
|
+
@property
|
|
9245
|
+
def isDeleted(self) -> bool:
|
|
9246
|
+
"""Whether the member is deleted or not."""
|
|
9247
|
+
return self._inner_dict.get('isDeleted') # type: ignore
|
|
9248
|
+
|
|
9249
|
+
@isDeleted.setter
|
|
9250
|
+
def isDeleted(self, value: bool) -> None:
|
|
9251
|
+
self._inner_dict['isDeleted'] = value
|
|
9252
|
+
|
|
9253
|
+
|
|
9254
|
+
@property
|
|
9255
|
+
def isAdmin(self) -> bool:
|
|
9256
|
+
"""Whether the member is an admin."""
|
|
9257
|
+
return self._inner_dict.get('isAdmin') # type: ignore
|
|
9258
|
+
|
|
9259
|
+
@isAdmin.setter
|
|
9260
|
+
def isAdmin(self, value: bool) -> None:
|
|
9261
|
+
self._inner_dict['isAdmin'] = value
|
|
9262
|
+
|
|
9263
|
+
|
|
9264
|
+
@property
|
|
9265
|
+
def isOwner(self) -> bool:
|
|
9266
|
+
"""Whether the member is an owner."""
|
|
9267
|
+
return self._inner_dict.get('isOwner') # type: ignore
|
|
9268
|
+
|
|
9269
|
+
@isOwner.setter
|
|
9270
|
+
def isOwner(self, value: bool) -> None:
|
|
9271
|
+
self._inner_dict['isOwner'] = value
|
|
9272
|
+
|
|
9273
|
+
|
|
9274
|
+
@property
|
|
9275
|
+
def isPrimaryOwner(self) -> bool:
|
|
9276
|
+
"""Whether the member is a primary owner."""
|
|
9277
|
+
return self._inner_dict.get('isPrimaryOwner') # type: ignore
|
|
9278
|
+
|
|
9279
|
+
@isPrimaryOwner.setter
|
|
9280
|
+
def isPrimaryOwner(self, value: bool) -> None:
|
|
9281
|
+
self._inner_dict['isPrimaryOwner'] = value
|
|
9282
|
+
|
|
9283
|
+
|
|
9284
|
+
@property
|
|
9285
|
+
def isBot(self) -> bool:
|
|
9286
|
+
"""Whether the member is a bot."""
|
|
9287
|
+
return self._inner_dict.get('isBot') # type: ignore
|
|
9288
|
+
|
|
9289
|
+
@isBot.setter
|
|
9290
|
+
def isBot(self, value: bool) -> None:
|
|
9291
|
+
self._inner_dict['isBot'] = value
|
|
9292
|
+
|
|
9293
|
+
|
|
9294
|
+
@property
|
|
9295
|
+
def timezone(self) -> Union[None, str]:
|
|
9296
|
+
"""The timezone of the Slack member."""
|
|
9297
|
+
return self._inner_dict.get('timezone') # type: ignore
|
|
9298
|
+
|
|
9299
|
+
@timezone.setter
|
|
9300
|
+
def timezone(self, value: Union[None, str]) -> None:
|
|
9301
|
+
self._inner_dict['timezone'] = value
|
|
9302
|
+
|
|
9303
|
+
|
|
9304
|
+
@property
|
|
9305
|
+
def timezoneOffset(self) -> Union[None, int]:
|
|
9306
|
+
"""The timezone offset of the Slack member."""
|
|
9307
|
+
return self._inner_dict.get('timezoneOffset') # type: ignore
|
|
9308
|
+
|
|
9309
|
+
@timezoneOffset.setter
|
|
9310
|
+
def timezoneOffset(self, value: Union[None, int]) -> None:
|
|
9311
|
+
self._inner_dict['timezoneOffset'] = value
|
|
9312
|
+
|
|
9313
|
+
|
|
9314
|
+
@property
|
|
9315
|
+
def title(self) -> Union[None, str]:
|
|
9316
|
+
"""The title of the Slack member."""
|
|
9317
|
+
return self._inner_dict.get('title') # type: ignore
|
|
9318
|
+
|
|
9319
|
+
@title.setter
|
|
9320
|
+
def title(self, value: Union[None, str]) -> None:
|
|
9321
|
+
self._inner_dict['title'] = value
|
|
9322
|
+
|
|
9323
|
+
|
|
9324
|
+
@property
|
|
9325
|
+
def phone(self) -> Union[None, str]:
|
|
9326
|
+
"""The phone number of the Slack member."""
|
|
9327
|
+
return self._inner_dict.get('phone') # type: ignore
|
|
9328
|
+
|
|
9329
|
+
@phone.setter
|
|
9330
|
+
def phone(self, value: Union[None, str]) -> None:
|
|
9331
|
+
self._inner_dict['phone'] = value
|
|
9332
|
+
|
|
9333
|
+
|
|
9334
|
+
@property
|
|
9335
|
+
def profilePictureUrl(self) -> Union[None, str]:
|
|
9336
|
+
"""The URL of the member's profile picture."""
|
|
9337
|
+
return self._inner_dict.get('profilePictureUrl') # type: ignore
|
|
9338
|
+
|
|
9339
|
+
@profilePictureUrl.setter
|
|
9340
|
+
def profilePictureUrl(self, value: Union[None, str]) -> None:
|
|
9341
|
+
self._inner_dict['profilePictureUrl'] = value
|
|
9342
|
+
|
|
9343
|
+
|
|
9344
|
+
@property
|
|
9345
|
+
def statusText(self) -> Union[None, str]:
|
|
9346
|
+
"""The status text of the Slack member."""
|
|
9347
|
+
return self._inner_dict.get('statusText') # type: ignore
|
|
9348
|
+
|
|
9349
|
+
@statusText.setter
|
|
9350
|
+
def statusText(self, value: Union[None, str]) -> None:
|
|
9351
|
+
self._inner_dict['statusText'] = value
|
|
9352
|
+
|
|
9353
|
+
|
|
9354
|
+
@property
|
|
9355
|
+
def statusEmoji(self) -> Union[None, str]:
|
|
9356
|
+
"""The status emoji of the Slack member."""
|
|
9357
|
+
return self._inner_dict.get('statusEmoji') # type: ignore
|
|
9358
|
+
|
|
9359
|
+
@statusEmoji.setter
|
|
9360
|
+
def statusEmoji(self, value: Union[None, str]) -> None:
|
|
9361
|
+
self._inner_dict['statusEmoji'] = value
|
|
9362
|
+
|
|
9363
|
+
|
|
9364
|
+
@property
|
|
9365
|
+
def lastUpdatedSeconds(self) -> Union[None, int]:
|
|
9366
|
+
"""The timestamp of when the member was last updated. (in seconds)"""
|
|
9367
|
+
return self._inner_dict.get('lastUpdatedSeconds') # type: ignore
|
|
9368
|
+
|
|
9369
|
+
@lastUpdatedSeconds.setter
|
|
9370
|
+
def lastUpdatedSeconds(self, value: Union[None, int]) -> None:
|
|
9371
|
+
self._inner_dict['lastUpdatedSeconds'] = value
|
|
9372
|
+
|
|
9373
|
+
|
|
9098
9374
|
class DataPlatformInstancePropertiesClass(_Aspect):
|
|
9099
9375
|
"""Properties associated with a Data Platform Instance"""
|
|
9100
9376
|
|
|
@@ -12115,6 +12391,131 @@ class RelationshipFieldMappingClass(DictWrapper):
|
|
|
12115
12391
|
self._inner_dict['destinationField'] = value
|
|
12116
12392
|
|
|
12117
12393
|
|
|
12394
|
+
class NotificationSinkTypeClass(object):
|
|
12395
|
+
"""A type of sink / platform to send a notification to."""
|
|
12396
|
+
|
|
12397
|
+
SLACK = "SLACK"
|
|
12398
|
+
"""Slack target type."""
|
|
12399
|
+
|
|
12400
|
+
EMAIL = "EMAIL"
|
|
12401
|
+
"""Email target type."""
|
|
12402
|
+
|
|
12403
|
+
|
|
12404
|
+
|
|
12405
|
+
class EmailNotificationSettingsClass(DictWrapper):
|
|
12406
|
+
"""Email Notification settings for an actor."""
|
|
12407
|
+
|
|
12408
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.event.notification.settings.EmailNotificationSettings")
|
|
12409
|
+
def __init__(self,
|
|
12410
|
+
email: str,
|
|
12411
|
+
):
|
|
12412
|
+
super().__init__()
|
|
12413
|
+
|
|
12414
|
+
self.email = email
|
|
12415
|
+
|
|
12416
|
+
def _restore_defaults(self) -> None:
|
|
12417
|
+
self.email = str()
|
|
12418
|
+
|
|
12419
|
+
|
|
12420
|
+
@property
|
|
12421
|
+
def email(self) -> str:
|
|
12422
|
+
"""Optional user or group email address"""
|
|
12423
|
+
return self._inner_dict.get('email') # type: ignore
|
|
12424
|
+
|
|
12425
|
+
@email.setter
|
|
12426
|
+
def email(self, value: str) -> None:
|
|
12427
|
+
self._inner_dict['email'] = value
|
|
12428
|
+
|
|
12429
|
+
|
|
12430
|
+
class NotificationSettingsClass(DictWrapper):
|
|
12431
|
+
"""Notification settings for an actor or subscription."""
|
|
12432
|
+
|
|
12433
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.event.notification.settings.NotificationSettings")
|
|
12434
|
+
def __init__(self,
|
|
12435
|
+
sinkTypes: List[Union[str, "NotificationSinkTypeClass"]],
|
|
12436
|
+
slackSettings: Union[None, "SlackNotificationSettingsClass"]=None,
|
|
12437
|
+
emailSettings: Union[None, "EmailNotificationSettingsClass"]=None,
|
|
12438
|
+
):
|
|
12439
|
+
super().__init__()
|
|
12440
|
+
|
|
12441
|
+
self.sinkTypes = sinkTypes
|
|
12442
|
+
self.slackSettings = slackSettings
|
|
12443
|
+
self.emailSettings = emailSettings
|
|
12444
|
+
|
|
12445
|
+
def _restore_defaults(self) -> None:
|
|
12446
|
+
self.sinkTypes = list()
|
|
12447
|
+
self.slackSettings = self.RECORD_SCHEMA.fields_dict["slackSettings"].default
|
|
12448
|
+
self.emailSettings = self.RECORD_SCHEMA.fields_dict["emailSettings"].default
|
|
12449
|
+
|
|
12450
|
+
|
|
12451
|
+
@property
|
|
12452
|
+
def sinkTypes(self) -> List[Union[str, "NotificationSinkTypeClass"]]:
|
|
12453
|
+
"""Sink types that notifications are sent to."""
|
|
12454
|
+
return self._inner_dict.get('sinkTypes') # type: ignore
|
|
12455
|
+
|
|
12456
|
+
@sinkTypes.setter
|
|
12457
|
+
def sinkTypes(self, value: List[Union[str, "NotificationSinkTypeClass"]]) -> None:
|
|
12458
|
+
self._inner_dict['sinkTypes'] = value
|
|
12459
|
+
|
|
12460
|
+
|
|
12461
|
+
@property
|
|
12462
|
+
def slackSettings(self) -> Union[None, "SlackNotificationSettingsClass"]:
|
|
12463
|
+
"""Slack Notification Settings"""
|
|
12464
|
+
return self._inner_dict.get('slackSettings') # type: ignore
|
|
12465
|
+
|
|
12466
|
+
@slackSettings.setter
|
|
12467
|
+
def slackSettings(self, value: Union[None, "SlackNotificationSettingsClass"]) -> None:
|
|
12468
|
+
self._inner_dict['slackSettings'] = value
|
|
12469
|
+
|
|
12470
|
+
|
|
12471
|
+
@property
|
|
12472
|
+
def emailSettings(self) -> Union[None, "EmailNotificationSettingsClass"]:
|
|
12473
|
+
"""Email Notification Settings"""
|
|
12474
|
+
return self._inner_dict.get('emailSettings') # type: ignore
|
|
12475
|
+
|
|
12476
|
+
@emailSettings.setter
|
|
12477
|
+
def emailSettings(self, value: Union[None, "EmailNotificationSettingsClass"]) -> None:
|
|
12478
|
+
self._inner_dict['emailSettings'] = value
|
|
12479
|
+
|
|
12480
|
+
|
|
12481
|
+
class SlackNotificationSettingsClass(DictWrapper):
|
|
12482
|
+
"""Slack Notification settings for an actor."""
|
|
12483
|
+
|
|
12484
|
+
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.event.notification.settings.SlackNotificationSettings")
|
|
12485
|
+
def __init__(self,
|
|
12486
|
+
userHandle: Union[None, str]=None,
|
|
12487
|
+
channels: Union[None, List[str]]=None,
|
|
12488
|
+
):
|
|
12489
|
+
super().__init__()
|
|
12490
|
+
|
|
12491
|
+
self.userHandle = userHandle
|
|
12492
|
+
self.channels = channels
|
|
12493
|
+
|
|
12494
|
+
def _restore_defaults(self) -> None:
|
|
12495
|
+
self.userHandle = self.RECORD_SCHEMA.fields_dict["userHandle"].default
|
|
12496
|
+
self.channels = self.RECORD_SCHEMA.fields_dict["channels"].default
|
|
12497
|
+
|
|
12498
|
+
|
|
12499
|
+
@property
|
|
12500
|
+
def userHandle(self) -> Union[None, str]:
|
|
12501
|
+
"""Optional user handle"""
|
|
12502
|
+
return self._inner_dict.get('userHandle') # type: ignore
|
|
12503
|
+
|
|
12504
|
+
@userHandle.setter
|
|
12505
|
+
def userHandle(self, value: Union[None, str]) -> None:
|
|
12506
|
+
self._inner_dict['userHandle'] = value
|
|
12507
|
+
|
|
12508
|
+
|
|
12509
|
+
@property
|
|
12510
|
+
def channels(self) -> Union[None, List[str]]:
|
|
12511
|
+
"""Optional list of channels to send notifications to"""
|
|
12512
|
+
return self._inner_dict.get('channels') # type: ignore
|
|
12513
|
+
|
|
12514
|
+
@channels.setter
|
|
12515
|
+
def channels(self, value: Union[None, List[str]]) -> None:
|
|
12516
|
+
self._inner_dict['channels'] = value
|
|
12517
|
+
|
|
12518
|
+
|
|
12118
12519
|
class ChangeTypeClass(object):
|
|
12119
12520
|
"""Descriptor for a change action"""
|
|
12120
12521
|
|
|
@@ -13400,6 +13801,7 @@ class CorpUserEditableInfoClass(_Aspect):
|
|
|
13400
13801
|
slack: Union[None, str]=None,
|
|
13401
13802
|
phone: Union[None, str]=None,
|
|
13402
13803
|
email: Union[None, str]=None,
|
|
13804
|
+
informationSources: Union[None, List[str]]=None,
|
|
13403
13805
|
):
|
|
13404
13806
|
super().__init__()
|
|
13405
13807
|
|
|
@@ -13426,6 +13828,7 @@ class CorpUserEditableInfoClass(_Aspect):
|
|
|
13426
13828
|
self.slack = slack
|
|
13427
13829
|
self.phone = phone
|
|
13428
13830
|
self.email = email
|
|
13831
|
+
self.informationSources = informationSources
|
|
13429
13832
|
|
|
13430
13833
|
def _restore_defaults(self) -> None:
|
|
13431
13834
|
self.aboutMe = self.RECORD_SCHEMA.fields_dict["aboutMe"].default
|
|
@@ -13439,6 +13842,7 @@ class CorpUserEditableInfoClass(_Aspect):
|
|
|
13439
13842
|
self.slack = self.RECORD_SCHEMA.fields_dict["slack"].default
|
|
13440
13843
|
self.phone = self.RECORD_SCHEMA.fields_dict["phone"].default
|
|
13441
13844
|
self.email = self.RECORD_SCHEMA.fields_dict["email"].default
|
|
13845
|
+
self.informationSources = self.RECORD_SCHEMA.fields_dict["informationSources"].default
|
|
13442
13846
|
|
|
13443
13847
|
|
|
13444
13848
|
@property
|
|
@@ -13551,6 +13955,18 @@ class CorpUserEditableInfoClass(_Aspect):
|
|
|
13551
13955
|
self._inner_dict['email'] = value
|
|
13552
13956
|
|
|
13553
13957
|
|
|
13958
|
+
@property
|
|
13959
|
+
def informationSources(self) -> Union[None, List[str]]:
|
|
13960
|
+
"""Information sources that have been used to populate this CorpUserEditableInfo.
|
|
13961
|
+
These include platform resources, such as Slack members or Looker users.
|
|
13962
|
+
They can also refer to other semantic urns in the future."""
|
|
13963
|
+
return self._inner_dict.get('informationSources') # type: ignore
|
|
13964
|
+
|
|
13965
|
+
@informationSources.setter
|
|
13966
|
+
def informationSources(self, value: Union[None, List[str]]) -> None:
|
|
13967
|
+
self._inner_dict['informationSources'] = value
|
|
13968
|
+
|
|
13969
|
+
|
|
13554
13970
|
class CorpUserInfoClass(_Aspect):
|
|
13555
13971
|
"""Linkedin corp user information"""
|
|
13556
13972
|
|
|
@@ -13755,15 +14171,18 @@ class CorpUserSettingsClass(_Aspect):
|
|
|
13755
14171
|
def __init__(self,
|
|
13756
14172
|
appearance: "CorpUserAppearanceSettingsClass",
|
|
13757
14173
|
views: Union[None, "CorpUserViewsSettingsClass"]=None,
|
|
14174
|
+
notificationSettings: Union[None, "NotificationSettingsClass"]=None,
|
|
13758
14175
|
):
|
|
13759
14176
|
super().__init__()
|
|
13760
14177
|
|
|
13761
14178
|
self.appearance = appearance
|
|
13762
14179
|
self.views = views
|
|
14180
|
+
self.notificationSettings = notificationSettings
|
|
13763
14181
|
|
|
13764
14182
|
def _restore_defaults(self) -> None:
|
|
13765
14183
|
self.appearance = CorpUserAppearanceSettingsClass._construct_with_defaults()
|
|
13766
14184
|
self.views = self.RECORD_SCHEMA.fields_dict["views"].default
|
|
14185
|
+
self.notificationSettings = self.RECORD_SCHEMA.fields_dict["notificationSettings"].default
|
|
13767
14186
|
|
|
13768
14187
|
|
|
13769
14188
|
@property
|
|
@@ -13786,6 +14205,16 @@ class CorpUserSettingsClass(_Aspect):
|
|
|
13786
14205
|
self._inner_dict['views'] = value
|
|
13787
14206
|
|
|
13788
14207
|
|
|
14208
|
+
@property
|
|
14209
|
+
def notificationSettings(self) -> Union[None, "NotificationSettingsClass"]:
|
|
14210
|
+
"""Notification settings for a user"""
|
|
14211
|
+
return self._inner_dict.get('notificationSettings') # type: ignore
|
|
14212
|
+
|
|
14213
|
+
@notificationSettings.setter
|
|
14214
|
+
def notificationSettings(self, value: Union[None, "NotificationSettingsClass"]) -> None:
|
|
14215
|
+
self._inner_dict['notificationSettings'] = value
|
|
14216
|
+
|
|
14217
|
+
|
|
13789
14218
|
class CorpUserStatusClass(_Aspect):
|
|
13790
14219
|
"""The status of the user, e.g. provisioned, active, suspended, etc."""
|
|
13791
14220
|
|
|
@@ -14747,7 +15176,7 @@ class CorpUserKeyClass(_Aspect):
|
|
|
14747
15176
|
|
|
14748
15177
|
|
|
14749
15178
|
ASPECT_NAME = 'corpUserKey'
|
|
14750
|
-
ASPECT_INFO = {'keyForEntity': 'corpuser', 'entityCategory': '_unset_', 'entityAspects': ['corpUserInfo', 'corpUserEditableInfo', 'corpUserStatus', 'groupMembership', 'globalTags', 'status', 'corpUserCredentials', 'nativeGroupMembership', 'corpUserSettings', 'origin', 'roleMembership', 'structuredProperties', 'forms', 'testResults', 'subTypes'], 'entityDoc': 'CorpUser represents an identity of a person (or an account) in the enterprise.'}
|
|
15179
|
+
ASPECT_INFO = {'keyForEntity': 'corpuser', 'entityCategory': '_unset_', 'entityAspects': ['corpUserInfo', 'corpUserEditableInfo', 'corpUserStatus', 'groupMembership', 'globalTags', 'status', 'corpUserCredentials', 'nativeGroupMembership', 'corpUserSettings', 'origin', 'roleMembership', 'structuredProperties', 'forms', 'testResults', 'subTypes', 'slackUserInfo'], 'entityDoc': 'CorpUser represents an identity of a person (or an account) in the enterprise.'}
|
|
14751
15180
|
RECORD_SCHEMA = get_schema_type("com.linkedin.pegasus2avro.metadata.key.CorpUserKey")
|
|
14752
15181
|
|
|
14753
15182
|
def __init__(self,
|
|
@@ -18398,6 +18827,7 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
18398
18827
|
customProperties: Optional[Dict[str, str]]=None,
|
|
18399
18828
|
trainingJobs: Union[None, List[str]]=None,
|
|
18400
18829
|
downstreamJobs: Union[None, List[str]]=None,
|
|
18830
|
+
externalUrl: Union[None, str]=None,
|
|
18401
18831
|
name: Union[None, str]=None,
|
|
18402
18832
|
description: Union[None, str]=None,
|
|
18403
18833
|
createdAt: Union[None, int]=None,
|
|
@@ -18414,6 +18844,7 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
18414
18844
|
self.customProperties = customProperties
|
|
18415
18845
|
self.trainingJobs = trainingJobs
|
|
18416
18846
|
self.downstreamJobs = downstreamJobs
|
|
18847
|
+
self.externalUrl = externalUrl
|
|
18417
18848
|
self.name = name
|
|
18418
18849
|
self.description = description
|
|
18419
18850
|
self.createdAt = createdAt
|
|
@@ -18425,6 +18856,7 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
18425
18856
|
self.customProperties = dict()
|
|
18426
18857
|
self.trainingJobs = self.RECORD_SCHEMA.fields_dict["trainingJobs"].default
|
|
18427
18858
|
self.downstreamJobs = self.RECORD_SCHEMA.fields_dict["downstreamJobs"].default
|
|
18859
|
+
self.externalUrl = self.RECORD_SCHEMA.fields_dict["externalUrl"].default
|
|
18428
18860
|
self.name = self.RECORD_SCHEMA.fields_dict["name"].default
|
|
18429
18861
|
self.description = self.RECORD_SCHEMA.fields_dict["description"].default
|
|
18430
18862
|
self.createdAt = self.RECORD_SCHEMA.fields_dict["createdAt"].default
|
|
@@ -18463,6 +18895,16 @@ class MLModelGroupPropertiesClass(_Aspect):
|
|
|
18463
18895
|
self._inner_dict['downstreamJobs'] = value
|
|
18464
18896
|
|
|
18465
18897
|
|
|
18898
|
+
@property
|
|
18899
|
+
def externalUrl(self) -> Union[None, str]:
|
|
18900
|
+
"""URL where the reference exist"""
|
|
18901
|
+
return self._inner_dict.get('externalUrl') # type: ignore
|
|
18902
|
+
|
|
18903
|
+
@externalUrl.setter
|
|
18904
|
+
def externalUrl(self, value: Union[None, str]) -> None:
|
|
18905
|
+
self._inner_dict['externalUrl'] = value
|
|
18906
|
+
|
|
18907
|
+
|
|
18466
18908
|
@property
|
|
18467
18909
|
def name(self) -> Union[None, str]:
|
|
18468
18910
|
"""Display name of the MLModelGroup"""
|
|
@@ -21311,12 +21753,18 @@ class QueryPropertiesClass(_Aspect):
|
|
|
21311
21753
|
source: Union[str, "QuerySourceClass"],
|
|
21312
21754
|
created: "AuditStampClass",
|
|
21313
21755
|
lastModified: "AuditStampClass",
|
|
21756
|
+
customProperties: Optional[Dict[str, str]]=None,
|
|
21314
21757
|
name: Union[None, str]=None,
|
|
21315
21758
|
description: Union[None, str]=None,
|
|
21316
21759
|
origin: Union[None, str]=None,
|
|
21317
21760
|
):
|
|
21318
21761
|
super().__init__()
|
|
21319
21762
|
|
|
21763
|
+
if customProperties is None:
|
|
21764
|
+
# default: {}
|
|
21765
|
+
self.customProperties = dict()
|
|
21766
|
+
else:
|
|
21767
|
+
self.customProperties = customProperties
|
|
21320
21768
|
self.statement = statement
|
|
21321
21769
|
self.source = source
|
|
21322
21770
|
self.name = name
|
|
@@ -21326,6 +21774,7 @@ class QueryPropertiesClass(_Aspect):
|
|
|
21326
21774
|
self.origin = origin
|
|
21327
21775
|
|
|
21328
21776
|
def _restore_defaults(self) -> None:
|
|
21777
|
+
self.customProperties = dict()
|
|
21329
21778
|
self.statement = QueryStatementClass._construct_with_defaults()
|
|
21330
21779
|
self.source = QuerySourceClass.MANUAL
|
|
21331
21780
|
self.name = self.RECORD_SCHEMA.fields_dict["name"].default
|
|
@@ -21335,6 +21784,16 @@ class QueryPropertiesClass(_Aspect):
|
|
|
21335
21784
|
self.origin = self.RECORD_SCHEMA.fields_dict["origin"].default
|
|
21336
21785
|
|
|
21337
21786
|
|
|
21787
|
+
@property
|
|
21788
|
+
def customProperties(self) -> Dict[str, str]:
|
|
21789
|
+
"""Custom property bag."""
|
|
21790
|
+
return self._inner_dict.get('customProperties') # type: ignore
|
|
21791
|
+
|
|
21792
|
+
@customProperties.setter
|
|
21793
|
+
def customProperties(self, value: Dict[str, str]) -> None:
|
|
21794
|
+
self._inner_dict['customProperties'] = value
|
|
21795
|
+
|
|
21796
|
+
|
|
21338
21797
|
@property
|
|
21339
21798
|
def statement(self) -> "QueryStatementClass":
|
|
21340
21799
|
"""The Query Statement."""
|
|
@@ -25567,6 +26026,7 @@ __SCHEMA_TYPES = {
|
|
|
25567
26026
|
'com.linkedin.pegasus2avro.datajob.datahub.IngestionCheckpointState': IngestionCheckpointStateClass,
|
|
25568
26027
|
'com.linkedin.pegasus2avro.dataplatform.DataPlatformInfo': DataPlatformInfoClass,
|
|
25569
26028
|
'com.linkedin.pegasus2avro.dataplatform.PlatformType': PlatformTypeClass,
|
|
26029
|
+
'com.linkedin.pegasus2avro.dataplatform.slack.SlackUserInfo': SlackUserInfoClass,
|
|
25570
26030
|
'com.linkedin.pegasus2avro.dataplatforminstance.DataPlatformInstanceProperties': DataPlatformInstancePropertiesClass,
|
|
25571
26031
|
'com.linkedin.pegasus2avro.dataplatforminstance.IcebergWarehouseInfo': IcebergWarehouseInfoClass,
|
|
25572
26032
|
'com.linkedin.pegasus2avro.dataprocess.DataProcessInfo': DataProcessInfoClass,
|
|
@@ -25617,6 +26077,10 @@ __SCHEMA_TYPES = {
|
|
|
25617
26077
|
'com.linkedin.pegasus2avro.ermodelrelation.ERModelRelationshipProperties': ERModelRelationshipPropertiesClass,
|
|
25618
26078
|
'com.linkedin.pegasus2avro.ermodelrelation.EditableERModelRelationshipProperties': EditableERModelRelationshipPropertiesClass,
|
|
25619
26079
|
'com.linkedin.pegasus2avro.ermodelrelation.RelationshipFieldMapping': RelationshipFieldMappingClass,
|
|
26080
|
+
'com.linkedin.pegasus2avro.event.notification.NotificationSinkType': NotificationSinkTypeClass,
|
|
26081
|
+
'com.linkedin.pegasus2avro.event.notification.settings.EmailNotificationSettings': EmailNotificationSettingsClass,
|
|
26082
|
+
'com.linkedin.pegasus2avro.event.notification.settings.NotificationSettings': NotificationSettingsClass,
|
|
26083
|
+
'com.linkedin.pegasus2avro.event.notification.settings.SlackNotificationSettings': SlackNotificationSettingsClass,
|
|
25620
26084
|
'com.linkedin.pegasus2avro.events.metadata.ChangeType': ChangeTypeClass,
|
|
25621
26085
|
'com.linkedin.pegasus2avro.execution.ExecutionRequestInput': ExecutionRequestInputClass,
|
|
25622
26086
|
'com.linkedin.pegasus2avro.execution.ExecutionRequestResult': ExecutionRequestResultClass,
|
|
@@ -26047,6 +26511,7 @@ __SCHEMA_TYPES = {
|
|
|
26047
26511
|
'IngestionCheckpointState': IngestionCheckpointStateClass,
|
|
26048
26512
|
'DataPlatformInfo': DataPlatformInfoClass,
|
|
26049
26513
|
'PlatformType': PlatformTypeClass,
|
|
26514
|
+
'SlackUserInfo': SlackUserInfoClass,
|
|
26050
26515
|
'DataPlatformInstanceProperties': DataPlatformInstancePropertiesClass,
|
|
26051
26516
|
'IcebergWarehouseInfo': IcebergWarehouseInfoClass,
|
|
26052
26517
|
'DataProcessInfo': DataProcessInfoClass,
|
|
@@ -26097,6 +26562,10 @@ __SCHEMA_TYPES = {
|
|
|
26097
26562
|
'ERModelRelationshipProperties': ERModelRelationshipPropertiesClass,
|
|
26098
26563
|
'EditableERModelRelationshipProperties': EditableERModelRelationshipPropertiesClass,
|
|
26099
26564
|
'RelationshipFieldMapping': RelationshipFieldMappingClass,
|
|
26565
|
+
'NotificationSinkType': NotificationSinkTypeClass,
|
|
26566
|
+
'EmailNotificationSettings': EmailNotificationSettingsClass,
|
|
26567
|
+
'NotificationSettings': NotificationSettingsClass,
|
|
26568
|
+
'SlackNotificationSettings': SlackNotificationSettingsClass,
|
|
26100
26569
|
'ChangeType': ChangeTypeClass,
|
|
26101
26570
|
'ExecutionRequestInput': ExecutionRequestInputClass,
|
|
26102
26571
|
'ExecutionRequestResult': ExecutionRequestResultClass,
|
|
@@ -26446,6 +26915,7 @@ ASPECT_CLASSES: List[Type[_Aspect]] = [
|
|
|
26446
26915
|
InputFieldsClass,
|
|
26447
26916
|
FormsClass,
|
|
26448
26917
|
DataPlatformInfoClass,
|
|
26918
|
+
SlackUserInfoClass,
|
|
26449
26919
|
DataHubPolicyInfoClass,
|
|
26450
26920
|
DataHubRoleInfoClass,
|
|
26451
26921
|
IncidentSourceClass,
|
|
@@ -26668,6 +27138,7 @@ class AspectBag(TypedDict, total=False):
|
|
|
26668
27138
|
inputFields: InputFieldsClass
|
|
26669
27139
|
forms: FormsClass
|
|
26670
27140
|
dataPlatformInfo: DataPlatformInfoClass
|
|
27141
|
+
slackUserInfo: SlackUserInfoClass
|
|
26671
27142
|
dataHubPolicyInfo: DataHubPolicyInfoClass
|
|
26672
27143
|
dataHubRoleInfo: DataHubRoleInfoClass
|
|
26673
27144
|
incidentSource: IncidentSourceClass
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# mypy: ignore-errors
|
|
2
|
+
# flake8: noqa
|
|
3
|
+
|
|
4
|
+
# This file is autogenerated by /metadata-ingestion/scripts/avro_codegen.py
|
|
5
|
+
# Do not modify manually!
|
|
6
|
+
|
|
7
|
+
# pylint: skip-file
|
|
8
|
+
# fmt: off
|
|
9
|
+
# isort: skip_file
|
|
10
|
+
from ......schema_classes import SlackUserInfoClass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
SlackUserInfo = SlackUserInfoClass
|
|
14
|
+
|
|
15
|
+
# fmt: on
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# mypy: ignore-errors
|
|
2
|
+
# flake8: noqa
|
|
3
|
+
|
|
4
|
+
# This file is autogenerated by /metadata-ingestion/scripts/avro_codegen.py
|
|
5
|
+
# Do not modify manually!
|
|
6
|
+
|
|
7
|
+
# pylint: skip-file
|
|
8
|
+
# fmt: off
|
|
9
|
+
# isort: skip_file
|
|
10
|
+
from ......schema_classes import NotificationSinkTypeClass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
NotificationSinkType = NotificationSinkTypeClass
|
|
14
|
+
|
|
15
|
+
# fmt: on
|