Skip to content

Commit e45ce9c

Browse files
committed
Update method signature for create methods to better specify required and optional parameters
1 parent 17c5b63 commit e45ce9c

4 files changed

Lines changed: 88 additions & 50 deletions

File tree

pyatlan/generator/templates/entity.jinja2

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
368368
# @validate_arguments()
369369
def create(
370370
cls,
371+
*,
371372
name: str,
372373
connector_type: AtlanConnectorType,
373374
admin_users: Optional[list[str]] = None,
@@ -414,7 +415,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
414415
{%- elif entity_def.name == "Schema" %}
415416
@classmethod
416417
# @validate_arguments()
417-
def create(cls, name: str, database_qualified_name: str)->{{ entity_def.name }}.Attributes:
418+
def create(cls, *, name: str, database_qualified_name: str)->{{ entity_def.name }}.Attributes:
418419
if not name:
419420
raise ValueError("name cannot be blank")
420421
validate_required_fields(["database_qualified_name"], [database_qualified_name])
@@ -436,7 +437,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
436437
{%- elif entity_def.name == "Table" or entity_def.name == "View" %}
437438
@classmethod
438439
# @validate_arguments()
439-
def create(cls, name: str, schema_qualified_name: str)->{{ entity_def.name }}.Attributes:
440+
def create(cls, *, name: str, schema_qualified_name: str)->{{ entity_def.name }}.Attributes:
440441
if not name:
441442
raise ValueError("name cannot be blank")
442443
validate_required_fields(["schema_qualified_name"], [schema_qualified_name])
@@ -461,7 +462,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
461462
@classmethod
462463
# @validate_arguments()
463464
def create(
464-
cls, name: str, connection_qualified_name: str, aws_arn: str
465+
cls, *, name: str, connection_qualified_name: str, aws_arn: str
465466
) -> {{ entity_def.name }}.Attributes:
466467
validate_required_fields(
467468
["name", "connection_qualified_name", "aws_arn"],
@@ -490,6 +491,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
490491
# @validate_arguments()
491492
def create(
492493
cls,
494+
*,
493495
name: str,
494496
connection_qualified_name: str,
495497
aws_arn: str,
@@ -521,14 +523,15 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
521523
{%- elif entity_def.name == "AtlasGlossary" %}
522524
@classmethod
523525
# @validate_arguments()
524-
def create(cls, name: StrictStr)->{{ entity_def.name }}.Attributes:
526+
def create(cls, *, name: StrictStr)->{{ entity_def.name }}.Attributes:
525527
validate_required_fields(["name"], [name])
526528
return AtlasGlossary.Attributes(name=name, qualified_name=next_id())
527529
{%- elif entity_def.name == "AtlasGlossaryCategory" %}
528530
@classmethod
529531
# @validate_arguments()
530532
def create(
531533
cls,
534+
*,
532535
name: StrictStr,
533536
anchor: AtlasGlossary,
534537
parent_category: Optional[AtlasGlossaryCategory] = None,
@@ -542,6 +545,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
542545
# @validate_arguments()
543546
def create(
544547
cls,
548+
*,
545549
name: StrictStr,
546550
anchor: AtlasGlossary,
547551
categories: Optional[list[AtlasGlossaryCategory]] = None,
@@ -561,6 +565,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
561565
# @validate_arguments()
562566
def create(
563567
cls,
568+
*,
564569
name: str,
565570
connector_type: AtlanConnectorType,
566571
admin_users: Optional[list[str]] = None,
@@ -588,7 +593,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
588593
{%- elif entity_def.name == "Database" %}
589594
@classmethod
590595
# @validate_arguments()
591-
def create(cls, name: str, connection_qualified_name: str)->{{ entity_def.name }}:
596+
def create(cls, *, name: str, connection_qualified_name: str)->{{ entity_def.name }}:
592597
if not name:
593598
raise ValueError("name cannot be blank")
594599
validate_required_fields(["connection_qualified_name"], [connection_qualified_name])
@@ -609,36 +614,37 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
609614
{%- elif entity_def.name == "Schema" %}
610615
@classmethod
611616
# @validate_arguments()
612-
def create(cls, name: str, database_qualified_name: str)->{{ entity_def.name }}:
617+
def create(cls, *, name: str, database_qualified_name: str)->{{ entity_def.name }}:
613618
validate_required_fields(["name", "database_qualified_name"], [name, database_qualified_name])
614-
attributes = Schema.Attributes.create(name, database_qualified_name)
619+
attributes = Schema.Attributes.create(name=name, database_qualified_name=database_qualified_name)
615620
return cls(attributes=attributes)
616621
{%- elif entity_def.name == "Table" or entity_def.name == "View" %}
617622
@classmethod
618623
# @validate_arguments()
619-
def create(cls, name: str, schema_qualified_name: str)->{{ entity_def.name }}:
624+
def create(cls, *, name: str, schema_qualified_name: str)->{{ entity_def.name }}:
620625
validate_required_fields(["name", "schema_qualified_name"], [name, schema_qualified_name])
621-
attributes = {{ entity_def.name }}.Attributes.create(name, schema_qualified_name)
626+
attributes = {{ entity_def.name }}.Attributes.create(name=name, schema_qualified_name=schema_qualified_name)
622627
return cls(attributes=attributes)
623628
{%- elif entity_def.name == "S3Bucket" %}
624629
@classmethod
625630
# @validate_arguments()
626631
def create(
627-
cls, name: str, connection_qualified_name: str, aws_arn: str
632+
cls, *, name: str, connection_qualified_name: str, aws_arn: str
628633
) -> {{ entity_def.name }}:
629634
validate_required_fields(
630635
["name", "connection_qualified_name", "aws_arn"],
631636
[name, connection_qualified_name, aws_arn],
632637
)
633638
attributes = {{ entity_def.name }}.Attributes.create(
634-
name, connection_qualified_name, aws_arn
639+
name=name, connection_qualified_name=connection_qualified_name, aws_arn=aws_arn
635640
)
636641
return cls(attributes=attributes)
637642
{%- elif entity_def.name == "S3Object" %}
638643
@classmethod
639644
# @validate_arguments()
640645
def create(
641646
cls,
647+
*,
642648
name: str,
643649
connection_qualified_name: str,
644650
aws_arn: str,
@@ -649,7 +655,10 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
649655
[name, connection_qualified_name, aws_arn],
650656
)
651657
attributes = S3Object.Attributes.create(
652-
name, connection_qualified_name, aws_arn, s3_bucket_qualified_name
658+
name=name,
659+
connection_qualified_name=connection_qualified_name,
660+
aws_arn=aws_arn,
661+
s3_bucket_qualified_name=s3_bucket_qualified_name
653662
)
654663
return cls(attributes=attributes)
655664
{%- endif %}
@@ -662,14 +671,15 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
662671
{%- if entity_def.name == "AtlasGlossary" %}
663672
@classmethod
664673
# @validate_arguments()
665-
def create(cls, name: StrictStr)->{{ entity_def.name }}:
674+
def create(cls, *, name: StrictStr)->{{ entity_def.name }}:
666675
validate_required_fields(["name"], [name])
667-
return AtlasGlossary(attributes=AtlasGlossary.Attributes.create(name))
676+
return AtlasGlossary(attributes=AtlasGlossary.Attributes.create(name=name))
668677
{% elif entity_def.name == "AtlasGlossaryCategory" %}
669678
@classmethod
670679
# @validate_arguments()
671680
def create(
672681
cls,
682+
*,
673683
name: StrictStr,
674684
anchor: AtlasGlossary,
675685
parent_category: Optional[AtlasGlossaryCategory] = None,
@@ -685,6 +695,7 @@ class {{ entity_def.name }}({{super_classes[0]}} {%- if "Asset" in super_classes
685695
# @validate_arguments()
686696
def create(
687697
cls,
698+
*,
688699
name: StrictStr,
689700
anchor: AtlasGlossary,
690701
categories: Optional[list[AtlasGlossaryCategory]] = None,

pyatlan/model/assets.py

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1980,7 +1980,7 @@ class Attributes(Asset.Attributes):
19801980

19811981
@classmethod
19821982
# @validate_arguments()
1983-
def create(cls, name: StrictStr) -> AtlasGlossary.Attributes:
1983+
def create(cls, *, name: StrictStr) -> AtlasGlossary.Attributes:
19841984
validate_required_fields(["name"], [name])
19851985
return AtlasGlossary.Attributes(name=name, qualified_name=next_id())
19861986

@@ -2002,9 +2002,9 @@ def update_qualified_name(cls, values):
20022002

20032003
@classmethod
20042004
# @validate_arguments()
2005-
def create(cls, name: StrictStr) -> AtlasGlossary:
2005+
def create(cls, *, name: StrictStr) -> AtlasGlossary:
20062006
validate_required_fields(["name"], [name])
2007-
return AtlasGlossary(attributes=AtlasGlossary.Attributes.create(name))
2007+
return AtlasGlossary(attributes=AtlasGlossary.Attributes.create(name=name))
20082008

20092009

20102010
class DataSet(Asset, type_name="DataSet"):
@@ -2208,6 +2208,7 @@ class Attributes(Asset.Attributes):
22082208
# @validate_arguments()
22092209
def create(
22102210
cls,
2211+
*,
22112212
name: StrictStr,
22122213
anchor: AtlasGlossary,
22132214
categories: Optional[list[AtlasGlossaryCategory]] = None,
@@ -2240,6 +2241,7 @@ def update_qualified_name(cls, values):
22402241
# @validate_arguments()
22412242
def create(
22422243
cls,
2244+
*,
22432245
name: StrictStr,
22442246
anchor: AtlasGlossary,
22452247
categories: Optional[list[AtlasGlossaryCategory]] = None,
@@ -2646,6 +2648,7 @@ def validate_required(self):
26462648
# @validate_arguments()
26472649
def create(
26482650
cls,
2651+
*,
26492652
name: str,
26502653
connector_type: AtlanConnectorType,
26512654
admin_users: Optional[list[str]] = None,
@@ -2680,6 +2683,7 @@ def create(
26802683
# @validate_arguments()
26812684
def create(
26822685
cls,
2686+
*,
26832687
name: str,
26842688
connector_type: AtlanConnectorType,
26852689
admin_users: Optional[list[str]] = None,
@@ -2900,6 +2904,7 @@ class Attributes(Asset.Attributes):
29002904
# @validate_arguments()
29012905
def create(
29022906
cls,
2907+
*,
29032908
name: StrictStr,
29042909
anchor: AtlasGlossary,
29052910
parent_category: Optional[AtlasGlossaryCategory] = None,
@@ -2932,6 +2937,7 @@ def update_qualified_name(cls, values):
29322937
# @validate_arguments()
29332938
def create(
29342939
cls,
2940+
*,
29352941
name: StrictStr,
29362942
anchor: AtlasGlossary,
29372943
parent_category: Optional[AtlasGlossaryCategory] = None,
@@ -9024,7 +9030,7 @@ class Attributes(SQL.Attributes):
90249030

90259031
@classmethod
90269032
# @validate_arguments()
9027-
def create(cls, name: str, schema_qualified_name: str) -> Table.Attributes:
9033+
def create(cls, *, name: str, schema_qualified_name: str) -> Table.Attributes:
90289034
if not name:
90299035
raise ValueError("name cannot be blank")
90309036
validate_required_fields(["schema_qualified_name"], [schema_qualified_name])
@@ -9054,11 +9060,13 @@ def create(cls, name: str, schema_qualified_name: str) -> Table.Attributes:
90549060

90559061
@classmethod
90569062
# @validate_arguments()
9057-
def create(cls, name: str, schema_qualified_name: str) -> Table:
9063+
def create(cls, *, name: str, schema_qualified_name: str) -> Table:
90589064
validate_required_fields(
90599065
["name", "schema_qualified_name"], [name, schema_qualified_name]
90609066
)
9061-
attributes = Table.Attributes.create(name, schema_qualified_name)
9067+
attributes = Table.Attributes.create(
9068+
name=name, schema_qualified_name=schema_qualified_name
9069+
)
90629070
return cls(attributes=attributes)
90639071

90649072

@@ -10070,7 +10078,9 @@ class Attributes(SQL.Attributes):
1007010078

1007110079
@classmethod
1007210080
# @validate_arguments()
10073-
def create(cls, name: str, database_qualified_name: str) -> Schema.Attributes:
10081+
def create(
10082+
cls, *, name: str, database_qualified_name: str
10083+
) -> Schema.Attributes:
1007410084
if not name:
1007510085
raise ValueError("name cannot be blank")
1007610086
validate_required_fields(
@@ -10100,11 +10110,13 @@ def create(cls, name: str, database_qualified_name: str) -> Schema.Attributes:
1010010110

1010110111
@classmethod
1010210112
# @validate_arguments()
10103-
def create(cls, name: str, database_qualified_name: str) -> Schema:
10113+
def create(cls, *, name: str, database_qualified_name: str) -> Schema:
1010410114
validate_required_fields(
1010510115
["name", "database_qualified_name"], [name, database_qualified_name]
1010610116
)
10107-
attributes = Schema.Attributes.create(name, database_qualified_name)
10117+
attributes = Schema.Attributes.create(
10118+
name=name, database_qualified_name=database_qualified_name
10119+
)
1010810120
return cls(attributes=attributes)
1010910121

1011010122

@@ -10448,7 +10460,7 @@ def create(
1044810460

1044910461
@classmethod
1045010462
# @validate_arguments()
10451-
def create(cls, name: str, connection_qualified_name: str) -> Database:
10463+
def create(cls, *, name: str, connection_qualified_name: str) -> Database:
1045210464
if not name:
1045310465
raise ValueError("name cannot be blank")
1045410466
validate_required_fields(
@@ -10705,7 +10717,7 @@ class Attributes(SQL.Attributes):
1070510717

1070610718
@classmethod
1070710719
# @validate_arguments()
10708-
def create(cls, name: str, schema_qualified_name: str) -> View.Attributes:
10720+
def create(cls, *, name: str, schema_qualified_name: str) -> View.Attributes:
1070910721
if not name:
1071010722
raise ValueError("name cannot be blank")
1071110723
validate_required_fields(["schema_qualified_name"], [schema_qualified_name])
@@ -10735,11 +10747,13 @@ def create(cls, name: str, schema_qualified_name: str) -> View.Attributes:
1073510747

1073610748
@classmethod
1073710749
# @validate_arguments()
10738-
def create(cls, name: str, schema_qualified_name: str) -> View:
10750+
def create(cls, *, name: str, schema_qualified_name: str) -> View:
1073910751
validate_required_fields(
1074010752
["name", "schema_qualified_name"], [name, schema_qualified_name]
1074110753
)
10742-
attributes = View.Attributes.create(name, schema_qualified_name)
10754+
attributes = View.Attributes.create(
10755+
name=name, schema_qualified_name=schema_qualified_name
10756+
)
1074310757
return cls(attributes=attributes)
1074410758

1074510759

@@ -12110,7 +12124,7 @@ class Attributes(S3.Attributes):
1211012124
@classmethod
1211112125
# @validate_arguments()
1211212126
def create(
12113-
cls, name: str, connection_qualified_name: str, aws_arn: str
12127+
cls, *, name: str, connection_qualified_name: str, aws_arn: str
1211412128
) -> S3Bucket.Attributes:
1211512129
validate_required_fields(
1211612130
["name", "connection_qualified_name", "aws_arn"],
@@ -12144,14 +12158,16 @@ def create(
1214412158
@classmethod
1214512159
# @validate_arguments()
1214612160
def create(
12147-
cls, name: str, connection_qualified_name: str, aws_arn: str
12161+
cls, *, name: str, connection_qualified_name: str, aws_arn: str
1214812162
) -> S3Bucket:
1214912163
validate_required_fields(
1215012164
["name", "connection_qualified_name", "aws_arn"],
1215112165
[name, connection_qualified_name, aws_arn],
1215212166
)
1215312167
attributes = S3Bucket.Attributes.create(
12154-
name, connection_qualified_name, aws_arn
12168+
name=name,
12169+
connection_qualified_name=connection_qualified_name,
12170+
aws_arn=aws_arn,
1215512171
)
1215612172
return cls(attributes=attributes)
1215712173

@@ -12330,6 +12346,7 @@ class Attributes(S3.Attributes):
1233012346
# @validate_arguments()
1233112347
def create(
1233212348
cls,
12349+
*,
1233312350
name: str,
1233412351
connection_qualified_name: str,
1233512352
aws_arn: str,
@@ -12369,6 +12386,7 @@ def create(
1236912386
# @validate_arguments()
1237012387
def create(
1237112388
cls,
12389+
*,
1237212390
name: str,
1237312391
connection_qualified_name: str,
1237412392
aws_arn: str,
@@ -12379,7 +12397,10 @@ def create(
1237912397
[name, connection_qualified_name, aws_arn],
1238012398
)
1238112399
attributes = S3Object.Attributes.create(
12382-
name, connection_qualified_name, aws_arn, s3_bucket_qualified_name
12400+
name=name,
12401+
connection_qualified_name=connection_qualified_name,
12402+
aws_arn=aws_arn,
12403+
s3_bucket_qualified_name=s3_bucket_qualified_name,
1238312404
)
1238412405
return cls(attributes=attributes)
1238512406

0 commit comments

Comments
 (0)