acryl-datahub 0.15.0.1rc11__py3-none-any.whl → 0.15.0.1rc12__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.

Files changed (33) hide show
  1. {acryl_datahub-0.15.0.1rc11.dist-info → acryl_datahub-0.15.0.1rc12.dist-info}/METADATA +2381 -2385
  2. {acryl_datahub-0.15.0.1rc11.dist-info → acryl_datahub-0.15.0.1rc12.dist-info}/RECORD +33 -33
  3. datahub/__init__.py +1 -1
  4. datahub/api/circuit_breaker/assertion_circuit_breaker.py +5 -4
  5. datahub/configuration/common.py +2 -5
  6. datahub/emitter/mce_builder.py +17 -1
  7. datahub/emitter/mcp_builder.py +2 -7
  8. datahub/emitter/mcp_patch_builder.py +2 -2
  9. datahub/emitter/rest_emitter.py +2 -2
  10. datahub/ingestion/api/closeable.py +3 -3
  11. datahub/ingestion/api/ingestion_job_checkpointing_provider_base.py +4 -7
  12. datahub/ingestion/api/report.py +4 -1
  13. datahub/ingestion/api/sink.py +4 -3
  14. datahub/ingestion/api/source_helpers.py +2 -6
  15. datahub/ingestion/source/bigquery_v2/bigquery_schema.py +5 -20
  16. datahub/ingestion/source/datahub/datahub_kafka_reader.py +2 -1
  17. datahub/ingestion/source/gc/dataprocess_cleanup.py +19 -6
  18. datahub/ingestion/source/s3/source.py +1 -1
  19. datahub/ingestion/source/sql/hive.py +15 -0
  20. datahub/ingestion/source/sql/hive_metastore.py +7 -0
  21. datahub/ingestion/source/sql/mssql/source.py +1 -1
  22. datahub/ingestion/source/sql/sql_common.py +41 -102
  23. datahub/ingestion/source/sql/sql_generic_profiler.py +5 -6
  24. datahub/ingestion/source/sql/sql_report.py +2 -0
  25. datahub/ingestion/source/state/checkpoint.py +2 -1
  26. datahub/ingestion/source/tableau/tableau.py +1 -4
  27. datahub/ingestion/source/unity/proxy.py +8 -27
  28. datahub/metadata/_urns/urn_defs.py +168 -168
  29. datahub/utilities/time.py +8 -3
  30. datahub/utilities/urns/_urn_base.py +5 -7
  31. {acryl_datahub-0.15.0.1rc11.dist-info → acryl_datahub-0.15.0.1rc12.dist-info}/WHEEL +0 -0
  32. {acryl_datahub-0.15.0.1rc11.dist-info → acryl_datahub-0.15.0.1rc12.dist-info}/entry_points.txt +0 -0
  33. {acryl_datahub-0.15.0.1rc11.dist-info → acryl_datahub-0.15.0.1rc12.dist-info}/top_level.txt +0 -0
@@ -26,7 +26,7 @@ if TYPE_CHECKING:
26
26
 
27
27
  class StructuredPropertyUrn(_SpecificUrn):
28
28
  ENTITY_TYPE: ClassVar[str] = "structuredProperty"
29
- URN_PARTS: ClassVar[int] = 1
29
+ _URN_PARTS: ClassVar[int] = 1
30
30
 
31
31
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
32
32
  if _allow_coercion:
@@ -43,8 +43,8 @@ class StructuredPropertyUrn(_SpecificUrn):
43
43
 
44
44
  @classmethod
45
45
  def _parse_ids(cls, entity_ids: List[str]) -> "StructuredPropertyUrn":
46
- if len(entity_ids) != cls.URN_PARTS:
47
- raise InvalidUrnError(f"StructuredPropertyUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
46
+ if len(entity_ids) != cls._URN_PARTS:
47
+ raise InvalidUrnError(f"StructuredPropertyUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
48
48
  return cls(id=entity_ids[0], _allow_coercion=False)
49
49
 
50
50
  @classmethod
@@ -71,7 +71,7 @@ if TYPE_CHECKING:
71
71
 
72
72
  class DataTypeUrn(_SpecificUrn):
73
73
  ENTITY_TYPE: ClassVar[str] = "dataType"
74
- URN_PARTS: ClassVar[int] = 1
74
+ _URN_PARTS: ClassVar[int] = 1
75
75
 
76
76
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
77
77
  if _allow_coercion:
@@ -88,8 +88,8 @@ class DataTypeUrn(_SpecificUrn):
88
88
 
89
89
  @classmethod
90
90
  def _parse_ids(cls, entity_ids: List[str]) -> "DataTypeUrn":
91
- if len(entity_ids) != cls.URN_PARTS:
92
- raise InvalidUrnError(f"DataTypeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
91
+ if len(entity_ids) != cls._URN_PARTS:
92
+ raise InvalidUrnError(f"DataTypeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
93
93
  return cls(id=entity_ids[0], _allow_coercion=False)
94
94
 
95
95
  @classmethod
@@ -116,7 +116,7 @@ if TYPE_CHECKING:
116
116
 
117
117
  class CorpGroupUrn(_SpecificUrn):
118
118
  ENTITY_TYPE: ClassVar[str] = "corpGroup"
119
- URN_PARTS: ClassVar[int] = 1
119
+ _URN_PARTS: ClassVar[int] = 1
120
120
 
121
121
  def __init__(self, name: str, *, _allow_coercion: bool = True) -> None:
122
122
  if _allow_coercion:
@@ -133,8 +133,8 @@ class CorpGroupUrn(_SpecificUrn):
133
133
 
134
134
  @classmethod
135
135
  def _parse_ids(cls, entity_ids: List[str]) -> "CorpGroupUrn":
136
- if len(entity_ids) != cls.URN_PARTS:
137
- raise InvalidUrnError(f"CorpGroupUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
136
+ if len(entity_ids) != cls._URN_PARTS:
137
+ raise InvalidUrnError(f"CorpGroupUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
138
138
  return cls(name=entity_ids[0], _allow_coercion=False)
139
139
 
140
140
  @classmethod
@@ -166,7 +166,7 @@ if TYPE_CHECKING:
166
166
 
167
167
  class GlobalSettingsUrn(_SpecificUrn):
168
168
  ENTITY_TYPE: ClassVar[str] = "globalSettings"
169
- URN_PARTS: ClassVar[int] = 1
169
+ _URN_PARTS: ClassVar[int] = 1
170
170
 
171
171
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
172
172
  if _allow_coercion:
@@ -183,8 +183,8 @@ class GlobalSettingsUrn(_SpecificUrn):
183
183
 
184
184
  @classmethod
185
185
  def _parse_ids(cls, entity_ids: List[str]) -> "GlobalSettingsUrn":
186
- if len(entity_ids) != cls.URN_PARTS:
187
- raise InvalidUrnError(f"GlobalSettingsUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
186
+ if len(entity_ids) != cls._URN_PARTS:
187
+ raise InvalidUrnError(f"GlobalSettingsUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
188
188
  return cls(id=entity_ids[0], _allow_coercion=False)
189
189
 
190
190
  @classmethod
@@ -211,7 +211,7 @@ if TYPE_CHECKING:
211
211
 
212
212
  class SchemaFieldUrn(_SpecificUrn):
213
213
  ENTITY_TYPE: ClassVar[str] = "schemaField"
214
- URN_PARTS: ClassVar[int] = 2
214
+ _URN_PARTS: ClassVar[int] = 2
215
215
 
216
216
  def __init__(self, parent: str, field_path: str, *, _allow_coercion: bool = True) -> None:
217
217
  if _allow_coercion:
@@ -232,8 +232,8 @@ class SchemaFieldUrn(_SpecificUrn):
232
232
 
233
233
  @classmethod
234
234
  def _parse_ids(cls, entity_ids: List[str]) -> "SchemaFieldUrn":
235
- if len(entity_ids) != cls.URN_PARTS:
236
- raise InvalidUrnError(f"SchemaFieldUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
235
+ if len(entity_ids) != cls._URN_PARTS:
236
+ raise InvalidUrnError(f"SchemaFieldUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
237
237
  return cls(parent=entity_ids[0], field_path=entity_ids[1], _allow_coercion=False)
238
238
 
239
239
  @classmethod
@@ -264,7 +264,7 @@ if TYPE_CHECKING:
264
264
 
265
265
  class DataHubStepStateUrn(_SpecificUrn):
266
266
  ENTITY_TYPE: ClassVar[str] = "dataHubStepState"
267
- URN_PARTS: ClassVar[int] = 1
267
+ _URN_PARTS: ClassVar[int] = 1
268
268
 
269
269
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
270
270
  if _allow_coercion:
@@ -281,8 +281,8 @@ class DataHubStepStateUrn(_SpecificUrn):
281
281
 
282
282
  @classmethod
283
283
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubStepStateUrn":
284
- if len(entity_ids) != cls.URN_PARTS:
285
- raise InvalidUrnError(f"DataHubStepStateUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
284
+ if len(entity_ids) != cls._URN_PARTS:
285
+ raise InvalidUrnError(f"DataHubStepStateUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
286
286
  return cls(id=entity_ids[0], _allow_coercion=False)
287
287
 
288
288
  @classmethod
@@ -309,7 +309,7 @@ if TYPE_CHECKING:
309
309
 
310
310
  class CorpUserUrn(_SpecificUrn):
311
311
  ENTITY_TYPE: ClassVar[str] = "corpuser"
312
- URN_PARTS: ClassVar[int] = 1
312
+ _URN_PARTS: ClassVar[int] = 1
313
313
 
314
314
  def __init__(self, username: str, *, _allow_coercion: bool = True) -> None:
315
315
  if _allow_coercion:
@@ -326,8 +326,8 @@ class CorpUserUrn(_SpecificUrn):
326
326
 
327
327
  @classmethod
328
328
  def _parse_ids(cls, entity_ids: List[str]) -> "CorpUserUrn":
329
- if len(entity_ids) != cls.URN_PARTS:
330
- raise InvalidUrnError(f"CorpUserUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
329
+ if len(entity_ids) != cls._URN_PARTS:
330
+ raise InvalidUrnError(f"CorpUserUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
331
331
  return cls(username=entity_ids[0], _allow_coercion=False)
332
332
 
333
333
  @classmethod
@@ -359,7 +359,7 @@ if TYPE_CHECKING:
359
359
 
360
360
  class DataHubConnectionUrn(_SpecificUrn):
361
361
  ENTITY_TYPE: ClassVar[str] = "dataHubConnection"
362
- URN_PARTS: ClassVar[int] = 1
362
+ _URN_PARTS: ClassVar[int] = 1
363
363
 
364
364
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
365
365
  if _allow_coercion:
@@ -376,8 +376,8 @@ class DataHubConnectionUrn(_SpecificUrn):
376
376
 
377
377
  @classmethod
378
378
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubConnectionUrn":
379
- if len(entity_ids) != cls.URN_PARTS:
380
- raise InvalidUrnError(f"DataHubConnectionUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
379
+ if len(entity_ids) != cls._URN_PARTS:
380
+ raise InvalidUrnError(f"DataHubConnectionUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
381
381
  return cls(id=entity_ids[0], _allow_coercion=False)
382
382
 
383
383
  @classmethod
@@ -404,7 +404,7 @@ if TYPE_CHECKING:
404
404
 
405
405
  class DashboardUrn(_SpecificUrn):
406
406
  ENTITY_TYPE: ClassVar[str] = "dashboard"
407
- URN_PARTS: ClassVar[int] = 2
407
+ _URN_PARTS: ClassVar[int] = 2
408
408
 
409
409
  def __init__(self, dashboard_tool: str, dashboard_id: str, *, _allow_coercion: bool = True) -> None:
410
410
  if _allow_coercion:
@@ -426,8 +426,8 @@ class DashboardUrn(_SpecificUrn):
426
426
 
427
427
  @classmethod
428
428
  def _parse_ids(cls, entity_ids: List[str]) -> "DashboardUrn":
429
- if len(entity_ids) != cls.URN_PARTS:
430
- raise InvalidUrnError(f"DashboardUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
429
+ if len(entity_ids) != cls._URN_PARTS:
430
+ raise InvalidUrnError(f"DashboardUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
431
431
  return cls(dashboard_tool=entity_ids[0], dashboard_id=entity_ids[1], _allow_coercion=False)
432
432
 
433
433
  @classmethod
@@ -458,7 +458,7 @@ if TYPE_CHECKING:
458
458
 
459
459
  class DataHubRoleUrn(_SpecificUrn):
460
460
  ENTITY_TYPE: ClassVar[str] = "dataHubRole"
461
- URN_PARTS: ClassVar[int] = 1
461
+ _URN_PARTS: ClassVar[int] = 1
462
462
 
463
463
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
464
464
  if _allow_coercion:
@@ -475,8 +475,8 @@ class DataHubRoleUrn(_SpecificUrn):
475
475
 
476
476
  @classmethod
477
477
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubRoleUrn":
478
- if len(entity_ids) != cls.URN_PARTS:
479
- raise InvalidUrnError(f"DataHubRoleUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
478
+ if len(entity_ids) != cls._URN_PARTS:
479
+ raise InvalidUrnError(f"DataHubRoleUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
480
480
  return cls(id=entity_ids[0], _allow_coercion=False)
481
481
 
482
482
  @classmethod
@@ -503,7 +503,7 @@ if TYPE_CHECKING:
503
503
 
504
504
  class DataHubExecutionRequestUrn(_SpecificUrn):
505
505
  ENTITY_TYPE: ClassVar[str] = "dataHubExecutionRequest"
506
- URN_PARTS: ClassVar[int] = 1
506
+ _URN_PARTS: ClassVar[int] = 1
507
507
 
508
508
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
509
509
  if _allow_coercion:
@@ -520,8 +520,8 @@ class DataHubExecutionRequestUrn(_SpecificUrn):
520
520
 
521
521
  @classmethod
522
522
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubExecutionRequestUrn":
523
- if len(entity_ids) != cls.URN_PARTS:
524
- raise InvalidUrnError(f"DataHubExecutionRequestUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
523
+ if len(entity_ids) != cls._URN_PARTS:
524
+ raise InvalidUrnError(f"DataHubExecutionRequestUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
525
525
  return cls(id=entity_ids[0], _allow_coercion=False)
526
526
 
527
527
  @classmethod
@@ -548,7 +548,7 @@ if TYPE_CHECKING:
548
548
 
549
549
  class DataProcessInstanceUrn(_SpecificUrn):
550
550
  ENTITY_TYPE: ClassVar[str] = "dataProcessInstance"
551
- URN_PARTS: ClassVar[int] = 1
551
+ _URN_PARTS: ClassVar[int] = 1
552
552
 
553
553
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
554
554
  if _allow_coercion:
@@ -565,8 +565,8 @@ class DataProcessInstanceUrn(_SpecificUrn):
565
565
 
566
566
  @classmethod
567
567
  def _parse_ids(cls, entity_ids: List[str]) -> "DataProcessInstanceUrn":
568
- if len(entity_ids) != cls.URN_PARTS:
569
- raise InvalidUrnError(f"DataProcessInstanceUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
568
+ if len(entity_ids) != cls._URN_PARTS:
569
+ raise InvalidUrnError(f"DataProcessInstanceUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
570
570
  return cls(id=entity_ids[0], _allow_coercion=False)
571
571
 
572
572
  @classmethod
@@ -602,7 +602,7 @@ if TYPE_CHECKING:
602
602
 
603
603
  class DataJobUrn(_SpecificUrn):
604
604
  ENTITY_TYPE: ClassVar[str] = "dataJob"
605
- URN_PARTS: ClassVar[int] = 2
605
+ _URN_PARTS: ClassVar[int] = 2
606
606
 
607
607
  def __init__(self, flow: str, job_id: str, *, _allow_coercion: bool = True) -> None:
608
608
  if _allow_coercion:
@@ -623,8 +623,8 @@ class DataJobUrn(_SpecificUrn):
623
623
 
624
624
  @classmethod
625
625
  def _parse_ids(cls, entity_ids: List[str]) -> "DataJobUrn":
626
- if len(entity_ids) != cls.URN_PARTS:
627
- raise InvalidUrnError(f"DataJobUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
626
+ if len(entity_ids) != cls._URN_PARTS:
627
+ raise InvalidUrnError(f"DataJobUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
628
628
  return cls(flow=entity_ids[0], job_id=entity_ids[1], _allow_coercion=False)
629
629
 
630
630
  @classmethod
@@ -666,7 +666,7 @@ if TYPE_CHECKING:
666
666
 
667
667
  class DataFlowUrn(_SpecificUrn):
668
668
  ENTITY_TYPE: ClassVar[str] = "dataFlow"
669
- URN_PARTS: ClassVar[int] = 3
669
+ _URN_PARTS: ClassVar[int] = 3
670
670
 
671
671
  def __init__(self, orchestrator: str, flow_id: str, cluster: str, *, _allow_coercion: bool = True) -> None:
672
672
  if _allow_coercion:
@@ -693,8 +693,8 @@ class DataFlowUrn(_SpecificUrn):
693
693
 
694
694
  @classmethod
695
695
  def _parse_ids(cls, entity_ids: List[str]) -> "DataFlowUrn":
696
- if len(entity_ids) != cls.URN_PARTS:
697
- raise InvalidUrnError(f"DataFlowUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
696
+ if len(entity_ids) != cls._URN_PARTS:
697
+ raise InvalidUrnError(f"DataFlowUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
698
698
  return cls(orchestrator=entity_ids[0], flow_id=entity_ids[1], cluster=entity_ids[2], _allow_coercion=False)
699
699
 
700
700
  @classmethod
@@ -755,7 +755,7 @@ if TYPE_CHECKING:
755
755
 
756
756
  class DataPlatformUrn(_SpecificUrn):
757
757
  ENTITY_TYPE: ClassVar[str] = "dataPlatform"
758
- URN_PARTS: ClassVar[int] = 1
758
+ _URN_PARTS: ClassVar[int] = 1
759
759
 
760
760
  def __init__(self, platform_name: str, *, _allow_coercion: bool = True) -> None:
761
761
  if _allow_coercion:
@@ -774,8 +774,8 @@ class DataPlatformUrn(_SpecificUrn):
774
774
 
775
775
  @classmethod
776
776
  def _parse_ids(cls, entity_ids: List[str]) -> "DataPlatformUrn":
777
- if len(entity_ids) != cls.URN_PARTS:
778
- raise InvalidUrnError(f"DataPlatformUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
777
+ if len(entity_ids) != cls._URN_PARTS:
778
+ raise InvalidUrnError(f"DataPlatformUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
779
779
  return cls(platform_name=entity_ids[0], _allow_coercion=False)
780
780
 
781
781
  @classmethod
@@ -807,7 +807,7 @@ if TYPE_CHECKING:
807
807
 
808
808
  class TagUrn(_SpecificUrn):
809
809
  ENTITY_TYPE: ClassVar[str] = "tag"
810
- URN_PARTS: ClassVar[int] = 1
810
+ _URN_PARTS: ClassVar[int] = 1
811
811
 
812
812
  def __init__(self, name: str, *, _allow_coercion: bool = True) -> None:
813
813
  if _allow_coercion:
@@ -824,8 +824,8 @@ class TagUrn(_SpecificUrn):
824
824
 
825
825
  @classmethod
826
826
  def _parse_ids(cls, entity_ids: List[str]) -> "TagUrn":
827
- if len(entity_ids) != cls.URN_PARTS:
828
- raise InvalidUrnError(f"TagUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
827
+ if len(entity_ids) != cls._URN_PARTS:
828
+ raise InvalidUrnError(f"TagUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
829
829
  return cls(name=entity_ids[0], _allow_coercion=False)
830
830
 
831
831
  @classmethod
@@ -857,7 +857,7 @@ if TYPE_CHECKING:
857
857
 
858
858
  class NotebookUrn(_SpecificUrn):
859
859
  ENTITY_TYPE: ClassVar[str] = "notebook"
860
- URN_PARTS: ClassVar[int] = 2
860
+ _URN_PARTS: ClassVar[int] = 2
861
861
 
862
862
  def __init__(self, notebook_tool: str, notebook_id: str, *, _allow_coercion: bool = True) -> None:
863
863
  if _allow_coercion:
@@ -879,8 +879,8 @@ class NotebookUrn(_SpecificUrn):
879
879
 
880
880
  @classmethod
881
881
  def _parse_ids(cls, entity_ids: List[str]) -> "NotebookUrn":
882
- if len(entity_ids) != cls.URN_PARTS:
883
- raise InvalidUrnError(f"NotebookUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
882
+ if len(entity_ids) != cls._URN_PARTS:
883
+ raise InvalidUrnError(f"NotebookUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
884
884
  return cls(notebook_tool=entity_ids[0], notebook_id=entity_ids[1], _allow_coercion=False)
885
885
 
886
886
  @classmethod
@@ -919,7 +919,7 @@ if TYPE_CHECKING:
919
919
 
920
920
  class DataHubAccessTokenUrn(_SpecificUrn):
921
921
  ENTITY_TYPE: ClassVar[str] = "dataHubAccessToken"
922
- URN_PARTS: ClassVar[int] = 1
922
+ _URN_PARTS: ClassVar[int] = 1
923
923
 
924
924
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
925
925
  if _allow_coercion:
@@ -936,8 +936,8 @@ class DataHubAccessTokenUrn(_SpecificUrn):
936
936
 
937
937
  @classmethod
938
938
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubAccessTokenUrn":
939
- if len(entity_ids) != cls.URN_PARTS:
940
- raise InvalidUrnError(f"DataHubAccessTokenUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
939
+ if len(entity_ids) != cls._URN_PARTS:
940
+ raise InvalidUrnError(f"DataHubAccessTokenUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
941
941
  return cls(id=entity_ids[0], _allow_coercion=False)
942
942
 
943
943
  @classmethod
@@ -964,7 +964,7 @@ if TYPE_CHECKING:
964
964
 
965
965
  class ErModelRelationshipUrn(_SpecificUrn):
966
966
  ENTITY_TYPE: ClassVar[str] = "erModelRelationship"
967
- URN_PARTS: ClassVar[int] = 1
967
+ _URN_PARTS: ClassVar[int] = 1
968
968
 
969
969
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
970
970
  if _allow_coercion:
@@ -981,8 +981,8 @@ class ErModelRelationshipUrn(_SpecificUrn):
981
981
 
982
982
  @classmethod
983
983
  def _parse_ids(cls, entity_ids: List[str]) -> "ErModelRelationshipUrn":
984
- if len(entity_ids) != cls.URN_PARTS:
985
- raise InvalidUrnError(f"ErModelRelationshipUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
984
+ if len(entity_ids) != cls._URN_PARTS:
985
+ raise InvalidUrnError(f"ErModelRelationshipUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
986
986
  return cls(id=entity_ids[0], _allow_coercion=False)
987
987
 
988
988
  @classmethod
@@ -1009,7 +1009,7 @@ if TYPE_CHECKING:
1009
1009
 
1010
1010
  class OwnershipTypeUrn(_SpecificUrn):
1011
1011
  ENTITY_TYPE: ClassVar[str] = "ownershipType"
1012
- URN_PARTS: ClassVar[int] = 1
1012
+ _URN_PARTS: ClassVar[int] = 1
1013
1013
 
1014
1014
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1015
1015
  if _allow_coercion:
@@ -1026,8 +1026,8 @@ class OwnershipTypeUrn(_SpecificUrn):
1026
1026
 
1027
1027
  @classmethod
1028
1028
  def _parse_ids(cls, entity_ids: List[str]) -> "OwnershipTypeUrn":
1029
- if len(entity_ids) != cls.URN_PARTS:
1030
- raise InvalidUrnError(f"OwnershipTypeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1029
+ if len(entity_ids) != cls._URN_PARTS:
1030
+ raise InvalidUrnError(f"OwnershipTypeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1031
1031
  return cls(id=entity_ids[0], _allow_coercion=False)
1032
1032
 
1033
1033
  @classmethod
@@ -1054,7 +1054,7 @@ if TYPE_CHECKING:
1054
1054
 
1055
1055
  class QueryUrn(_SpecificUrn):
1056
1056
  ENTITY_TYPE: ClassVar[str] = "query"
1057
- URN_PARTS: ClassVar[int] = 1
1057
+ _URN_PARTS: ClassVar[int] = 1
1058
1058
 
1059
1059
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1060
1060
  if _allow_coercion:
@@ -1071,8 +1071,8 @@ class QueryUrn(_SpecificUrn):
1071
1071
 
1072
1072
  @classmethod
1073
1073
  def _parse_ids(cls, entity_ids: List[str]) -> "QueryUrn":
1074
- if len(entity_ids) != cls.URN_PARTS:
1075
- raise InvalidUrnError(f"QueryUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1074
+ if len(entity_ids) != cls._URN_PARTS:
1075
+ raise InvalidUrnError(f"QueryUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1076
1076
  return cls(id=entity_ids[0], _allow_coercion=False)
1077
1077
 
1078
1078
  @classmethod
@@ -1099,7 +1099,7 @@ if TYPE_CHECKING:
1099
1099
 
1100
1100
  class AssertionUrn(_SpecificUrn):
1101
1101
  ENTITY_TYPE: ClassVar[str] = "assertion"
1102
- URN_PARTS: ClassVar[int] = 1
1102
+ _URN_PARTS: ClassVar[int] = 1
1103
1103
 
1104
1104
  def __init__(self, assertion_id: str, *, _allow_coercion: bool = True) -> None:
1105
1105
  if _allow_coercion:
@@ -1116,8 +1116,8 @@ class AssertionUrn(_SpecificUrn):
1116
1116
 
1117
1117
  @classmethod
1118
1118
  def _parse_ids(cls, entity_ids: List[str]) -> "AssertionUrn":
1119
- if len(entity_ids) != cls.URN_PARTS:
1120
- raise InvalidUrnError(f"AssertionUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1119
+ if len(entity_ids) != cls._URN_PARTS:
1120
+ raise InvalidUrnError(f"AssertionUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1121
1121
  return cls(assertion_id=entity_ids[0], _allow_coercion=False)
1122
1122
 
1123
1123
  @classmethod
@@ -1144,7 +1144,7 @@ if TYPE_CHECKING:
1144
1144
 
1145
1145
  class DataContractUrn(_SpecificUrn):
1146
1146
  ENTITY_TYPE: ClassVar[str] = "dataContract"
1147
- URN_PARTS: ClassVar[int] = 1
1147
+ _URN_PARTS: ClassVar[int] = 1
1148
1148
 
1149
1149
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1150
1150
  if _allow_coercion:
@@ -1161,8 +1161,8 @@ class DataContractUrn(_SpecificUrn):
1161
1161
 
1162
1162
  @classmethod
1163
1163
  def _parse_ids(cls, entity_ids: List[str]) -> "DataContractUrn":
1164
- if len(entity_ids) != cls.URN_PARTS:
1165
- raise InvalidUrnError(f"DataContractUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1164
+ if len(entity_ids) != cls._URN_PARTS:
1165
+ raise InvalidUrnError(f"DataContractUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1166
1166
  return cls(id=entity_ids[0], _allow_coercion=False)
1167
1167
 
1168
1168
  @classmethod
@@ -1189,7 +1189,7 @@ if TYPE_CHECKING:
1189
1189
 
1190
1190
  class DataHubPolicyUrn(_SpecificUrn):
1191
1191
  ENTITY_TYPE: ClassVar[str] = "dataHubPolicy"
1192
- URN_PARTS: ClassVar[int] = 1
1192
+ _URN_PARTS: ClassVar[int] = 1
1193
1193
 
1194
1194
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1195
1195
  if _allow_coercion:
@@ -1206,8 +1206,8 @@ class DataHubPolicyUrn(_SpecificUrn):
1206
1206
 
1207
1207
  @classmethod
1208
1208
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubPolicyUrn":
1209
- if len(entity_ids) != cls.URN_PARTS:
1210
- raise InvalidUrnError(f"DataHubPolicyUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1209
+ if len(entity_ids) != cls._URN_PARTS:
1210
+ raise InvalidUrnError(f"DataHubPolicyUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1211
1211
  return cls(id=entity_ids[0], _allow_coercion=False)
1212
1212
 
1213
1213
  @classmethod
@@ -1234,7 +1234,7 @@ if TYPE_CHECKING:
1234
1234
 
1235
1235
  class DataHubActionUrn(_SpecificUrn):
1236
1236
  ENTITY_TYPE: ClassVar[str] = "dataHubAction"
1237
- URN_PARTS: ClassVar[int] = 1
1237
+ _URN_PARTS: ClassVar[int] = 1
1238
1238
 
1239
1239
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1240
1240
  if _allow_coercion:
@@ -1251,8 +1251,8 @@ class DataHubActionUrn(_SpecificUrn):
1251
1251
 
1252
1252
  @classmethod
1253
1253
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubActionUrn":
1254
- if len(entity_ids) != cls.URN_PARTS:
1255
- raise InvalidUrnError(f"DataHubActionUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1254
+ if len(entity_ids) != cls._URN_PARTS:
1255
+ raise InvalidUrnError(f"DataHubActionUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1256
1256
  return cls(id=entity_ids[0], _allow_coercion=False)
1257
1257
 
1258
1258
  @classmethod
@@ -1279,7 +1279,7 @@ if TYPE_CHECKING:
1279
1279
 
1280
1280
  class ContainerUrn(_SpecificUrn):
1281
1281
  ENTITY_TYPE: ClassVar[str] = "container"
1282
- URN_PARTS: ClassVar[int] = 1
1282
+ _URN_PARTS: ClassVar[int] = 1
1283
1283
 
1284
1284
  def __init__(self, guid: str, *, _allow_coercion: bool = True) -> None:
1285
1285
  if _allow_coercion:
@@ -1296,8 +1296,8 @@ class ContainerUrn(_SpecificUrn):
1296
1296
 
1297
1297
  @classmethod
1298
1298
  def _parse_ids(cls, entity_ids: List[str]) -> "ContainerUrn":
1299
- if len(entity_ids) != cls.URN_PARTS:
1300
- raise InvalidUrnError(f"ContainerUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1299
+ if len(entity_ids) != cls._URN_PARTS:
1300
+ raise InvalidUrnError(f"ContainerUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1301
1301
  return cls(guid=entity_ids[0], _allow_coercion=False)
1302
1302
 
1303
1303
  @classmethod
@@ -1324,7 +1324,7 @@ if TYPE_CHECKING:
1324
1324
 
1325
1325
  class DataProcessUrn(_SpecificUrn):
1326
1326
  ENTITY_TYPE: ClassVar[str] = "dataProcess"
1327
- URN_PARTS: ClassVar[int] = 3
1327
+ _URN_PARTS: ClassVar[int] = 3
1328
1328
 
1329
1329
  def __init__(self, name: str, orchestrator: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
1330
1330
  if _allow_coercion:
@@ -1352,8 +1352,8 @@ class DataProcessUrn(_SpecificUrn):
1352
1352
 
1353
1353
  @classmethod
1354
1354
  def _parse_ids(cls, entity_ids: List[str]) -> "DataProcessUrn":
1355
- if len(entity_ids) != cls.URN_PARTS:
1356
- raise InvalidUrnError(f"DataProcessUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1355
+ if len(entity_ids) != cls._URN_PARTS:
1356
+ raise InvalidUrnError(f"DataProcessUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1357
1357
  return cls(name=entity_ids[0], orchestrator=entity_ids[1], env=entity_ids[2], _allow_coercion=False)
1358
1358
 
1359
1359
  @classmethod
@@ -1388,7 +1388,7 @@ if TYPE_CHECKING:
1388
1388
 
1389
1389
  class DataHubViewUrn(_SpecificUrn):
1390
1390
  ENTITY_TYPE: ClassVar[str] = "dataHubView"
1391
- URN_PARTS: ClassVar[int] = 1
1391
+ _URN_PARTS: ClassVar[int] = 1
1392
1392
 
1393
1393
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1394
1394
  if _allow_coercion:
@@ -1405,8 +1405,8 @@ class DataHubViewUrn(_SpecificUrn):
1405
1405
 
1406
1406
  @classmethod
1407
1407
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubViewUrn":
1408
- if len(entity_ids) != cls.URN_PARTS:
1409
- raise InvalidUrnError(f"DataHubViewUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1408
+ if len(entity_ids) != cls._URN_PARTS:
1409
+ raise InvalidUrnError(f"DataHubViewUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1410
1410
  return cls(id=entity_ids[0], _allow_coercion=False)
1411
1411
 
1412
1412
  @classmethod
@@ -1433,7 +1433,7 @@ if TYPE_CHECKING:
1433
1433
 
1434
1434
  class DataPlatformInstanceUrn(_SpecificUrn):
1435
1435
  ENTITY_TYPE: ClassVar[str] = "dataPlatformInstance"
1436
- URN_PARTS: ClassVar[int] = 2
1436
+ _URN_PARTS: ClassVar[int] = 2
1437
1437
 
1438
1438
  def __init__(self, platform: str, instance: str, *, _allow_coercion: bool = True) -> None:
1439
1439
  if _allow_coercion:
@@ -1455,8 +1455,8 @@ class DataPlatformInstanceUrn(_SpecificUrn):
1455
1455
 
1456
1456
  @classmethod
1457
1457
  def _parse_ids(cls, entity_ids: List[str]) -> "DataPlatformInstanceUrn":
1458
- if len(entity_ids) != cls.URN_PARTS:
1459
- raise InvalidUrnError(f"DataPlatformInstanceUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1458
+ if len(entity_ids) != cls._URN_PARTS:
1459
+ raise InvalidUrnError(f"DataPlatformInstanceUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1460
1460
  return cls(platform=entity_ids[0], instance=entity_ids[1], _allow_coercion=False)
1461
1461
 
1462
1462
  @classmethod
@@ -1487,7 +1487,7 @@ if TYPE_CHECKING:
1487
1487
 
1488
1488
  class RoleUrn(_SpecificUrn):
1489
1489
  ENTITY_TYPE: ClassVar[str] = "role"
1490
- URN_PARTS: ClassVar[int] = 1
1490
+ _URN_PARTS: ClassVar[int] = 1
1491
1491
 
1492
1492
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1493
1493
  if _allow_coercion:
@@ -1504,8 +1504,8 @@ class RoleUrn(_SpecificUrn):
1504
1504
 
1505
1505
  @classmethod
1506
1506
  def _parse_ids(cls, entity_ids: List[str]) -> "RoleUrn":
1507
- if len(entity_ids) != cls.URN_PARTS:
1508
- raise InvalidUrnError(f"RoleUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1507
+ if len(entity_ids) != cls._URN_PARTS:
1508
+ raise InvalidUrnError(f"RoleUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1509
1509
  return cls(id=entity_ids[0], _allow_coercion=False)
1510
1510
 
1511
1511
  @classmethod
@@ -1532,7 +1532,7 @@ if TYPE_CHECKING:
1532
1532
 
1533
1533
  class FormUrn(_SpecificUrn):
1534
1534
  ENTITY_TYPE: ClassVar[str] = "form"
1535
- URN_PARTS: ClassVar[int] = 1
1535
+ _URN_PARTS: ClassVar[int] = 1
1536
1536
 
1537
1537
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1538
1538
  if _allow_coercion:
@@ -1549,8 +1549,8 @@ class FormUrn(_SpecificUrn):
1549
1549
 
1550
1550
  @classmethod
1551
1551
  def _parse_ids(cls, entity_ids: List[str]) -> "FormUrn":
1552
- if len(entity_ids) != cls.URN_PARTS:
1553
- raise InvalidUrnError(f"FormUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1552
+ if len(entity_ids) != cls._URN_PARTS:
1553
+ raise InvalidUrnError(f"FormUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1554
1554
  return cls(id=entity_ids[0], _allow_coercion=False)
1555
1555
 
1556
1556
  @classmethod
@@ -1577,7 +1577,7 @@ if TYPE_CHECKING:
1577
1577
 
1578
1578
  class MlFeatureUrn(_SpecificUrn):
1579
1579
  ENTITY_TYPE: ClassVar[str] = "mlFeature"
1580
- URN_PARTS: ClassVar[int] = 2
1580
+ _URN_PARTS: ClassVar[int] = 2
1581
1581
 
1582
1582
  def __init__(self, feature_namespace: str, name: str, *, _allow_coercion: bool = True) -> None:
1583
1583
  if _allow_coercion:
@@ -1599,8 +1599,8 @@ class MlFeatureUrn(_SpecificUrn):
1599
1599
 
1600
1600
  @classmethod
1601
1601
  def _parse_ids(cls, entity_ids: List[str]) -> "MlFeatureUrn":
1602
- if len(entity_ids) != cls.URN_PARTS:
1603
- raise InvalidUrnError(f"MlFeatureUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1602
+ if len(entity_ids) != cls._URN_PARTS:
1603
+ raise InvalidUrnError(f"MlFeatureUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1604
1604
  return cls(feature_namespace=entity_ids[0], name=entity_ids[1], _allow_coercion=False)
1605
1605
 
1606
1606
  @classmethod
@@ -1631,7 +1631,7 @@ if TYPE_CHECKING:
1631
1631
 
1632
1632
  class PostUrn(_SpecificUrn):
1633
1633
  ENTITY_TYPE: ClassVar[str] = "post"
1634
- URN_PARTS: ClassVar[int] = 1
1634
+ _URN_PARTS: ClassVar[int] = 1
1635
1635
 
1636
1636
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
1637
1637
  if _allow_coercion:
@@ -1648,8 +1648,8 @@ class PostUrn(_SpecificUrn):
1648
1648
 
1649
1649
  @classmethod
1650
1650
  def _parse_ids(cls, entity_ids: List[str]) -> "PostUrn":
1651
- if len(entity_ids) != cls.URN_PARTS:
1652
- raise InvalidUrnError(f"PostUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1651
+ if len(entity_ids) != cls._URN_PARTS:
1652
+ raise InvalidUrnError(f"PostUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1653
1653
  return cls(id=entity_ids[0], _allow_coercion=False)
1654
1654
 
1655
1655
  @classmethod
@@ -1676,7 +1676,7 @@ if TYPE_CHECKING:
1676
1676
 
1677
1677
  class DatasetUrn(_SpecificUrn):
1678
1678
  ENTITY_TYPE: ClassVar[str] = "dataset"
1679
- URN_PARTS: ClassVar[int] = 3
1679
+ _URN_PARTS: ClassVar[int] = 3
1680
1680
 
1681
1681
  def __init__(self, platform: str, name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
1682
1682
  if _allow_coercion:
@@ -1704,8 +1704,8 @@ class DatasetUrn(_SpecificUrn):
1704
1704
 
1705
1705
  @classmethod
1706
1706
  def _parse_ids(cls, entity_ids: List[str]) -> "DatasetUrn":
1707
- if len(entity_ids) != cls.URN_PARTS:
1708
- raise InvalidUrnError(f"DatasetUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1707
+ if len(entity_ids) != cls._URN_PARTS:
1708
+ raise InvalidUrnError(f"DatasetUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1709
1709
  return cls(platform=entity_ids[0], name=entity_ids[1], env=entity_ids[2], _allow_coercion=False)
1710
1710
 
1711
1711
  @classmethod
@@ -1769,7 +1769,7 @@ if TYPE_CHECKING:
1769
1769
 
1770
1770
  class MlModelUrn(_SpecificUrn):
1771
1771
  ENTITY_TYPE: ClassVar[str] = "mlModel"
1772
- URN_PARTS: ClassVar[int] = 3
1772
+ _URN_PARTS: ClassVar[int] = 3
1773
1773
 
1774
1774
  def __init__(self, platform: str, name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
1775
1775
  if _allow_coercion:
@@ -1797,8 +1797,8 @@ class MlModelUrn(_SpecificUrn):
1797
1797
 
1798
1798
  @classmethod
1799
1799
  def _parse_ids(cls, entity_ids: List[str]) -> "MlModelUrn":
1800
- if len(entity_ids) != cls.URN_PARTS:
1801
- raise InvalidUrnError(f"MlModelUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1800
+ if len(entity_ids) != cls._URN_PARTS:
1801
+ raise InvalidUrnError(f"MlModelUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1802
1802
  return cls(platform=entity_ids[0], name=entity_ids[1], env=entity_ids[2], _allow_coercion=False)
1803
1803
 
1804
1804
  @classmethod
@@ -1833,7 +1833,7 @@ if TYPE_CHECKING:
1833
1833
 
1834
1834
  class MlPrimaryKeyUrn(_SpecificUrn):
1835
1835
  ENTITY_TYPE: ClassVar[str] = "mlPrimaryKey"
1836
- URN_PARTS: ClassVar[int] = 2
1836
+ _URN_PARTS: ClassVar[int] = 2
1837
1837
 
1838
1838
  def __init__(self, feature_namespace: str, name: str, *, _allow_coercion: bool = True) -> None:
1839
1839
  if _allow_coercion:
@@ -1855,8 +1855,8 @@ class MlPrimaryKeyUrn(_SpecificUrn):
1855
1855
 
1856
1856
  @classmethod
1857
1857
  def _parse_ids(cls, entity_ids: List[str]) -> "MlPrimaryKeyUrn":
1858
- if len(entity_ids) != cls.URN_PARTS:
1859
- raise InvalidUrnError(f"MlPrimaryKeyUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1858
+ if len(entity_ids) != cls._URN_PARTS:
1859
+ raise InvalidUrnError(f"MlPrimaryKeyUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1860
1860
  return cls(feature_namespace=entity_ids[0], name=entity_ids[1], _allow_coercion=False)
1861
1861
 
1862
1862
  @classmethod
@@ -1887,7 +1887,7 @@ if TYPE_CHECKING:
1887
1887
 
1888
1888
  class MlModelDeploymentUrn(_SpecificUrn):
1889
1889
  ENTITY_TYPE: ClassVar[str] = "mlModelDeployment"
1890
- URN_PARTS: ClassVar[int] = 3
1890
+ _URN_PARTS: ClassVar[int] = 3
1891
1891
 
1892
1892
  def __init__(self, platform: str, name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
1893
1893
  if _allow_coercion:
@@ -1915,8 +1915,8 @@ class MlModelDeploymentUrn(_SpecificUrn):
1915
1915
 
1916
1916
  @classmethod
1917
1917
  def _parse_ids(cls, entity_ids: List[str]) -> "MlModelDeploymentUrn":
1918
- if len(entity_ids) != cls.URN_PARTS:
1919
- raise InvalidUrnError(f"MlModelDeploymentUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1918
+ if len(entity_ids) != cls._URN_PARTS:
1919
+ raise InvalidUrnError(f"MlModelDeploymentUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1920
1920
  return cls(platform=entity_ids[0], name=entity_ids[1], env=entity_ids[2], _allow_coercion=False)
1921
1921
 
1922
1922
  @classmethod
@@ -1951,7 +1951,7 @@ if TYPE_CHECKING:
1951
1951
 
1952
1952
  class MlFeatureTableUrn(_SpecificUrn):
1953
1953
  ENTITY_TYPE: ClassVar[str] = "mlFeatureTable"
1954
- URN_PARTS: ClassVar[int] = 2
1954
+ _URN_PARTS: ClassVar[int] = 2
1955
1955
 
1956
1956
  def __init__(self, platform: str, name: str, *, _allow_coercion: bool = True) -> None:
1957
1957
  if _allow_coercion:
@@ -1973,8 +1973,8 @@ class MlFeatureTableUrn(_SpecificUrn):
1973
1973
 
1974
1974
  @classmethod
1975
1975
  def _parse_ids(cls, entity_ids: List[str]) -> "MlFeatureTableUrn":
1976
- if len(entity_ids) != cls.URN_PARTS:
1977
- raise InvalidUrnError(f"MlFeatureTableUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1976
+ if len(entity_ids) != cls._URN_PARTS:
1977
+ raise InvalidUrnError(f"MlFeatureTableUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
1978
1978
  return cls(platform=entity_ids[0], name=entity_ids[1], _allow_coercion=False)
1979
1979
 
1980
1980
  @classmethod
@@ -2005,7 +2005,7 @@ if TYPE_CHECKING:
2005
2005
 
2006
2006
  class DataHubUpgradeUrn(_SpecificUrn):
2007
2007
  ENTITY_TYPE: ClassVar[str] = "dataHubUpgrade"
2008
- URN_PARTS: ClassVar[int] = 1
2008
+ _URN_PARTS: ClassVar[int] = 1
2009
2009
 
2010
2010
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2011
2011
  if _allow_coercion:
@@ -2022,8 +2022,8 @@ class DataHubUpgradeUrn(_SpecificUrn):
2022
2022
 
2023
2023
  @classmethod
2024
2024
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubUpgradeUrn":
2025
- if len(entity_ids) != cls.URN_PARTS:
2026
- raise InvalidUrnError(f"DataHubUpgradeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2025
+ if len(entity_ids) != cls._URN_PARTS:
2026
+ raise InvalidUrnError(f"DataHubUpgradeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2027
2027
  return cls(id=entity_ids[0], _allow_coercion=False)
2028
2028
 
2029
2029
  @classmethod
@@ -2050,7 +2050,7 @@ if TYPE_CHECKING:
2050
2050
 
2051
2051
  class GlossaryNodeUrn(_SpecificUrn):
2052
2052
  ENTITY_TYPE: ClassVar[str] = "glossaryNode"
2053
- URN_PARTS: ClassVar[int] = 1
2053
+ _URN_PARTS: ClassVar[int] = 1
2054
2054
 
2055
2055
  def __init__(self, name: str, *, _allow_coercion: bool = True) -> None:
2056
2056
  if _allow_coercion:
@@ -2067,8 +2067,8 @@ class GlossaryNodeUrn(_SpecificUrn):
2067
2067
 
2068
2068
  @classmethod
2069
2069
  def _parse_ids(cls, entity_ids: List[str]) -> "GlossaryNodeUrn":
2070
- if len(entity_ids) != cls.URN_PARTS:
2071
- raise InvalidUrnError(f"GlossaryNodeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2070
+ if len(entity_ids) != cls._URN_PARTS:
2071
+ raise InvalidUrnError(f"GlossaryNodeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2072
2072
  return cls(name=entity_ids[0], _allow_coercion=False)
2073
2073
 
2074
2074
  @classmethod
@@ -2095,7 +2095,7 @@ if TYPE_CHECKING:
2095
2095
 
2096
2096
  class DataHubPersonaUrn(_SpecificUrn):
2097
2097
  ENTITY_TYPE: ClassVar[str] = "dataHubPersona"
2098
- URN_PARTS: ClassVar[int] = 1
2098
+ _URN_PARTS: ClassVar[int] = 1
2099
2099
 
2100
2100
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2101
2101
  if _allow_coercion:
@@ -2112,8 +2112,8 @@ class DataHubPersonaUrn(_SpecificUrn):
2112
2112
 
2113
2113
  @classmethod
2114
2114
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubPersonaUrn":
2115
- if len(entity_ids) != cls.URN_PARTS:
2116
- raise InvalidUrnError(f"DataHubPersonaUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2115
+ if len(entity_ids) != cls._URN_PARTS:
2116
+ raise InvalidUrnError(f"DataHubPersonaUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2117
2117
  return cls(id=entity_ids[0], _allow_coercion=False)
2118
2118
 
2119
2119
  @classmethod
@@ -2140,7 +2140,7 @@ if TYPE_CHECKING:
2140
2140
 
2141
2141
  class DataHubSecretUrn(_SpecificUrn):
2142
2142
  ENTITY_TYPE: ClassVar[str] = "dataHubSecret"
2143
- URN_PARTS: ClassVar[int] = 1
2143
+ _URN_PARTS: ClassVar[int] = 1
2144
2144
 
2145
2145
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2146
2146
  if _allow_coercion:
@@ -2157,8 +2157,8 @@ class DataHubSecretUrn(_SpecificUrn):
2157
2157
 
2158
2158
  @classmethod
2159
2159
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubSecretUrn":
2160
- if len(entity_ids) != cls.URN_PARTS:
2161
- raise InvalidUrnError(f"DataHubSecretUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2160
+ if len(entity_ids) != cls._URN_PARTS:
2161
+ raise InvalidUrnError(f"DataHubSecretUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2162
2162
  return cls(id=entity_ids[0], _allow_coercion=False)
2163
2163
 
2164
2164
  @classmethod
@@ -2185,7 +2185,7 @@ if TYPE_CHECKING:
2185
2185
 
2186
2186
  class DataHubIngestionSourceUrn(_SpecificUrn):
2187
2187
  ENTITY_TYPE: ClassVar[str] = "dataHubIngestionSource"
2188
- URN_PARTS: ClassVar[int] = 1
2188
+ _URN_PARTS: ClassVar[int] = 1
2189
2189
 
2190
2190
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2191
2191
  if _allow_coercion:
@@ -2202,8 +2202,8 @@ class DataHubIngestionSourceUrn(_SpecificUrn):
2202
2202
 
2203
2203
  @classmethod
2204
2204
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubIngestionSourceUrn":
2205
- if len(entity_ids) != cls.URN_PARTS:
2206
- raise InvalidUrnError(f"DataHubIngestionSourceUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2205
+ if len(entity_ids) != cls._URN_PARTS:
2206
+ raise InvalidUrnError(f"DataHubIngestionSourceUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2207
2207
  return cls(id=entity_ids[0], _allow_coercion=False)
2208
2208
 
2209
2209
  @classmethod
@@ -2230,7 +2230,7 @@ if TYPE_CHECKING:
2230
2230
 
2231
2231
  class DataHubRetentionUrn(_SpecificUrn):
2232
2232
  ENTITY_TYPE: ClassVar[str] = "dataHubRetention"
2233
- URN_PARTS: ClassVar[int] = 2
2233
+ _URN_PARTS: ClassVar[int] = 2
2234
2234
 
2235
2235
  def __init__(self, entity_name: str, aspect_name: str, *, _allow_coercion: bool = True) -> None:
2236
2236
  if _allow_coercion:
@@ -2252,8 +2252,8 @@ class DataHubRetentionUrn(_SpecificUrn):
2252
2252
 
2253
2253
  @classmethod
2254
2254
  def _parse_ids(cls, entity_ids: List[str]) -> "DataHubRetentionUrn":
2255
- if len(entity_ids) != cls.URN_PARTS:
2256
- raise InvalidUrnError(f"DataHubRetentionUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2255
+ if len(entity_ids) != cls._URN_PARTS:
2256
+ raise InvalidUrnError(f"DataHubRetentionUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2257
2257
  return cls(entity_name=entity_ids[0], aspect_name=entity_ids[1], _allow_coercion=False)
2258
2258
 
2259
2259
  @classmethod
@@ -2284,7 +2284,7 @@ if TYPE_CHECKING:
2284
2284
 
2285
2285
  class TestUrn(_SpecificUrn):
2286
2286
  ENTITY_TYPE: ClassVar[str] = "test"
2287
- URN_PARTS: ClassVar[int] = 1
2287
+ _URN_PARTS: ClassVar[int] = 1
2288
2288
 
2289
2289
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2290
2290
  if _allow_coercion:
@@ -2301,8 +2301,8 @@ class TestUrn(_SpecificUrn):
2301
2301
 
2302
2302
  @classmethod
2303
2303
  def _parse_ids(cls, entity_ids: List[str]) -> "TestUrn":
2304
- if len(entity_ids) != cls.URN_PARTS:
2305
- raise InvalidUrnError(f"TestUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2304
+ if len(entity_ids) != cls._URN_PARTS:
2305
+ raise InvalidUrnError(f"TestUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2306
2306
  return cls(id=entity_ids[0], _allow_coercion=False)
2307
2307
 
2308
2308
  @classmethod
@@ -2329,7 +2329,7 @@ if TYPE_CHECKING:
2329
2329
 
2330
2330
  class ChartUrn(_SpecificUrn):
2331
2331
  ENTITY_TYPE: ClassVar[str] = "chart"
2332
- URN_PARTS: ClassVar[int] = 2
2332
+ _URN_PARTS: ClassVar[int] = 2
2333
2333
 
2334
2334
  def __init__(self, dashboard_tool: str, chart_id: str, *, _allow_coercion: bool = True) -> None:
2335
2335
  if _allow_coercion:
@@ -2351,8 +2351,8 @@ class ChartUrn(_SpecificUrn):
2351
2351
 
2352
2352
  @classmethod
2353
2353
  def _parse_ids(cls, entity_ids: List[str]) -> "ChartUrn":
2354
- if len(entity_ids) != cls.URN_PARTS:
2355
- raise InvalidUrnError(f"ChartUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2354
+ if len(entity_ids) != cls._URN_PARTS:
2355
+ raise InvalidUrnError(f"ChartUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2356
2356
  return cls(dashboard_tool=entity_ids[0], chart_id=entity_ids[1], _allow_coercion=False)
2357
2357
 
2358
2358
  @classmethod
@@ -2383,7 +2383,7 @@ if TYPE_CHECKING:
2383
2383
 
2384
2384
  class MlModelGroupUrn(_SpecificUrn):
2385
2385
  ENTITY_TYPE: ClassVar[str] = "mlModelGroup"
2386
- URN_PARTS: ClassVar[int] = 3
2386
+ _URN_PARTS: ClassVar[int] = 3
2387
2387
 
2388
2388
  def __init__(self, platform: str, name: str, env: str = "PROD", *, _allow_coercion: bool = True) -> None:
2389
2389
  if _allow_coercion:
@@ -2411,8 +2411,8 @@ class MlModelGroupUrn(_SpecificUrn):
2411
2411
 
2412
2412
  @classmethod
2413
2413
  def _parse_ids(cls, entity_ids: List[str]) -> "MlModelGroupUrn":
2414
- if len(entity_ids) != cls.URN_PARTS:
2415
- raise InvalidUrnError(f"MlModelGroupUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2414
+ if len(entity_ids) != cls._URN_PARTS:
2415
+ raise InvalidUrnError(f"MlModelGroupUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2416
2416
  return cls(platform=entity_ids[0], name=entity_ids[1], env=entity_ids[2], _allow_coercion=False)
2417
2417
 
2418
2418
  @classmethod
@@ -2447,7 +2447,7 @@ if TYPE_CHECKING:
2447
2447
 
2448
2448
  class TelemetryUrn(_SpecificUrn):
2449
2449
  ENTITY_TYPE: ClassVar[str] = "telemetry"
2450
- URN_PARTS: ClassVar[int] = 1
2450
+ _URN_PARTS: ClassVar[int] = 1
2451
2451
 
2452
2452
  def __init__(self, name: str, *, _allow_coercion: bool = True) -> None:
2453
2453
  if _allow_coercion:
@@ -2464,8 +2464,8 @@ class TelemetryUrn(_SpecificUrn):
2464
2464
 
2465
2465
  @classmethod
2466
2466
  def _parse_ids(cls, entity_ids: List[str]) -> "TelemetryUrn":
2467
- if len(entity_ids) != cls.URN_PARTS:
2468
- raise InvalidUrnError(f"TelemetryUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2467
+ if len(entity_ids) != cls._URN_PARTS:
2468
+ raise InvalidUrnError(f"TelemetryUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2469
2469
  return cls(name=entity_ids[0], _allow_coercion=False)
2470
2470
 
2471
2471
  @classmethod
@@ -2492,7 +2492,7 @@ if TYPE_CHECKING:
2492
2492
 
2493
2493
  class DomainUrn(_SpecificUrn):
2494
2494
  ENTITY_TYPE: ClassVar[str] = "domain"
2495
- URN_PARTS: ClassVar[int] = 1
2495
+ _URN_PARTS: ClassVar[int] = 1
2496
2496
 
2497
2497
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2498
2498
  if _allow_coercion:
@@ -2509,8 +2509,8 @@ class DomainUrn(_SpecificUrn):
2509
2509
 
2510
2510
  @classmethod
2511
2511
  def _parse_ids(cls, entity_ids: List[str]) -> "DomainUrn":
2512
- if len(entity_ids) != cls.URN_PARTS:
2513
- raise InvalidUrnError(f"DomainUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2512
+ if len(entity_ids) != cls._URN_PARTS:
2513
+ raise InvalidUrnError(f"DomainUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2514
2514
  return cls(id=entity_ids[0], _allow_coercion=False)
2515
2515
 
2516
2516
  @classmethod
@@ -2542,7 +2542,7 @@ if TYPE_CHECKING:
2542
2542
 
2543
2543
  class IncidentUrn(_SpecificUrn):
2544
2544
  ENTITY_TYPE: ClassVar[str] = "incident"
2545
- URN_PARTS: ClassVar[int] = 1
2545
+ _URN_PARTS: ClassVar[int] = 1
2546
2546
 
2547
2547
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2548
2548
  if _allow_coercion:
@@ -2559,8 +2559,8 @@ class IncidentUrn(_SpecificUrn):
2559
2559
 
2560
2560
  @classmethod
2561
2561
  def _parse_ids(cls, entity_ids: List[str]) -> "IncidentUrn":
2562
- if len(entity_ids) != cls.URN_PARTS:
2563
- raise InvalidUrnError(f"IncidentUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2562
+ if len(entity_ids) != cls._URN_PARTS:
2563
+ raise InvalidUrnError(f"IncidentUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2564
2564
  return cls(id=entity_ids[0], _allow_coercion=False)
2565
2565
 
2566
2566
  @classmethod
@@ -2587,7 +2587,7 @@ if TYPE_CHECKING:
2587
2587
 
2588
2588
  class GlossaryTermUrn(_SpecificUrn):
2589
2589
  ENTITY_TYPE: ClassVar[str] = "glossaryTerm"
2590
- URN_PARTS: ClassVar[int] = 1
2590
+ _URN_PARTS: ClassVar[int] = 1
2591
2591
 
2592
2592
  def __init__(self, name: str, *, _allow_coercion: bool = True) -> None:
2593
2593
  if _allow_coercion:
@@ -2604,8 +2604,8 @@ class GlossaryTermUrn(_SpecificUrn):
2604
2604
 
2605
2605
  @classmethod
2606
2606
  def _parse_ids(cls, entity_ids: List[str]) -> "GlossaryTermUrn":
2607
- if len(entity_ids) != cls.URN_PARTS:
2608
- raise InvalidUrnError(f"GlossaryTermUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2607
+ if len(entity_ids) != cls._URN_PARTS:
2608
+ raise InvalidUrnError(f"GlossaryTermUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2609
2609
  return cls(name=entity_ids[0], _allow_coercion=False)
2610
2610
 
2611
2611
  @classmethod
@@ -2632,7 +2632,7 @@ if TYPE_CHECKING:
2632
2632
 
2633
2633
  class InviteTokenUrn(_SpecificUrn):
2634
2634
  ENTITY_TYPE: ClassVar[str] = "inviteToken"
2635
- URN_PARTS: ClassVar[int] = 1
2635
+ _URN_PARTS: ClassVar[int] = 1
2636
2636
 
2637
2637
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2638
2638
  if _allow_coercion:
@@ -2649,8 +2649,8 @@ class InviteTokenUrn(_SpecificUrn):
2649
2649
 
2650
2650
  @classmethod
2651
2651
  def _parse_ids(cls, entity_ids: List[str]) -> "InviteTokenUrn":
2652
- if len(entity_ids) != cls.URN_PARTS:
2653
- raise InvalidUrnError(f"InviteTokenUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2652
+ if len(entity_ids) != cls._URN_PARTS:
2653
+ raise InvalidUrnError(f"InviteTokenUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2654
2654
  return cls(id=entity_ids[0], _allow_coercion=False)
2655
2655
 
2656
2656
  @classmethod
@@ -2677,7 +2677,7 @@ if TYPE_CHECKING:
2677
2677
 
2678
2678
  class PlatformResourceUrn(_SpecificUrn):
2679
2679
  ENTITY_TYPE: ClassVar[str] = "platformResource"
2680
- URN_PARTS: ClassVar[int] = 1
2680
+ _URN_PARTS: ClassVar[int] = 1
2681
2681
 
2682
2682
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2683
2683
  if _allow_coercion:
@@ -2694,8 +2694,8 @@ class PlatformResourceUrn(_SpecificUrn):
2694
2694
 
2695
2695
  @classmethod
2696
2696
  def _parse_ids(cls, entity_ids: List[str]) -> "PlatformResourceUrn":
2697
- if len(entity_ids) != cls.URN_PARTS:
2698
- raise InvalidUrnError(f"PlatformResourceUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2697
+ if len(entity_ids) != cls._URN_PARTS:
2698
+ raise InvalidUrnError(f"PlatformResourceUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2699
2699
  return cls(id=entity_ids[0], _allow_coercion=False)
2700
2700
 
2701
2701
  @classmethod
@@ -2722,7 +2722,7 @@ if TYPE_CHECKING:
2722
2722
 
2723
2723
  class EntityTypeUrn(_SpecificUrn):
2724
2724
  ENTITY_TYPE: ClassVar[str] = "entityType"
2725
- URN_PARTS: ClassVar[int] = 1
2725
+ _URN_PARTS: ClassVar[int] = 1
2726
2726
 
2727
2727
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2728
2728
  if _allow_coercion:
@@ -2739,8 +2739,8 @@ class EntityTypeUrn(_SpecificUrn):
2739
2739
 
2740
2740
  @classmethod
2741
2741
  def _parse_ids(cls, entity_ids: List[str]) -> "EntityTypeUrn":
2742
- if len(entity_ids) != cls.URN_PARTS:
2743
- raise InvalidUrnError(f"EntityTypeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2742
+ if len(entity_ids) != cls._URN_PARTS:
2743
+ raise InvalidUrnError(f"EntityTypeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2744
2744
  return cls(id=entity_ids[0], _allow_coercion=False)
2745
2745
 
2746
2746
  @classmethod
@@ -2767,7 +2767,7 @@ if TYPE_CHECKING:
2767
2767
 
2768
2768
  class DataProductUrn(_SpecificUrn):
2769
2769
  ENTITY_TYPE: ClassVar[str] = "dataProduct"
2770
- URN_PARTS: ClassVar[int] = 1
2770
+ _URN_PARTS: ClassVar[int] = 1
2771
2771
 
2772
2772
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2773
2773
  if _allow_coercion:
@@ -2784,8 +2784,8 @@ class DataProductUrn(_SpecificUrn):
2784
2784
 
2785
2785
  @classmethod
2786
2786
  def _parse_ids(cls, entity_ids: List[str]) -> "DataProductUrn":
2787
- if len(entity_ids) != cls.URN_PARTS:
2788
- raise InvalidUrnError(f"DataProductUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2787
+ if len(entity_ids) != cls._URN_PARTS:
2788
+ raise InvalidUrnError(f"DataProductUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2789
2789
  return cls(id=entity_ids[0], _allow_coercion=False)
2790
2790
 
2791
2791
  @classmethod
@@ -2812,7 +2812,7 @@ if TYPE_CHECKING:
2812
2812
 
2813
2813
  class BusinessAttributeUrn(_SpecificUrn):
2814
2814
  ENTITY_TYPE: ClassVar[str] = "businessAttribute"
2815
- URN_PARTS: ClassVar[int] = 1
2815
+ _URN_PARTS: ClassVar[int] = 1
2816
2816
 
2817
2817
  def __init__(self, id: str, *, _allow_coercion: bool = True) -> None:
2818
2818
  if _allow_coercion:
@@ -2829,8 +2829,8 @@ class BusinessAttributeUrn(_SpecificUrn):
2829
2829
 
2830
2830
  @classmethod
2831
2831
  def _parse_ids(cls, entity_ids: List[str]) -> "BusinessAttributeUrn":
2832
- if len(entity_ids) != cls.URN_PARTS:
2833
- raise InvalidUrnError(f"BusinessAttributeUrn should have {cls.URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2832
+ if len(entity_ids) != cls._URN_PARTS:
2833
+ raise InvalidUrnError(f"BusinessAttributeUrn should have {cls._URN_PARTS} parts, got {len(entity_ids)}: {entity_ids}")
2834
2834
  return cls(id=entity_ids[0], _allow_coercion=False)
2835
2835
 
2836
2836
  @classmethod