Skip to content

Commit 6a5f1cd

Browse files
authored
Merge pull request #501 from atlanhq/APP-4979
APP-4979 : Added support for `AnaplanSystemDimension.creator()`
2 parents 5db1ff4 + a716f89 commit 6a5f1cd

13 files changed

+270
-60
lines changed

docs/asset/anaplansystemdimension.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.. _anaplansystemdimension:
2+
3+
AnaplanSystemDimension
4+
======================
5+
6+
.. module:: pyatlan.model.assets
7+
:no-index:
8+
9+
.. autoclass:: AnaplanSystemDimension
10+
:members:

docs/asset/sourcetag.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.. _sourcetag:
2+
3+
sourceTag
4+
=========
5+
6+
.. module:: pyatlan.model.assets
7+
:no-index:
8+
9+
.. autoclass:: sourceTag
10+
:members:

docs/assets.rst

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ You can interact with all of the following different kinds of assets:
3737
asset/anaplanmodel
3838
asset/anaplanmodule
3939
asset/anaplanpage
40+
asset/anaplansystemdimension
4041
asset/anaplanview
4142
asset/anaplanworkspace
4243
asset/anomalo
@@ -317,3 +318,4 @@ You can interact with all of the following different kinds of assets:
317318
asset/view
318319
asset/workflow
319320
asset/workflowrun
321+
asset/sourcetag
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
@classmethod
3+
@init_guid
4+
def creator(
5+
cls, *, name: str, connection_qualified_name: str
6+
) -> AnaplanSystemDimension:
7+
validate_required_fields(
8+
["name", "connection_qualified_name"], [name, connection_qualified_name]
9+
)
10+
attributes = AnaplanSystemDimension.Attributes(
11+
name=name,
12+
qualified_name=f"{connection_qualified_name}/{name}",
13+
connection_qualified_name=connection_qualified_name,
14+
connector_name=AtlanConnectorType.get_connector_name(
15+
connection_qualified_name
16+
),
17+
)
18+
return cls(attributes=attributes)

pyatlan/generator/templates/methods/asset/connection.jinja2

+4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
admin_users: Optional[List[str]] = None,
1010
admin_groups: Optional[List[str]] = None,
1111
admin_roles: Optional[List[str]] = None,
12+
host: Optional[str] = None,
13+
port: Optional[int] = None,
1214
) -> Connection:
1315
validate_required_fields(["name", "connector_type"], [name, connector_type])
1416
if not admin_users and not admin_groups and not admin_roles:
@@ -24,6 +26,8 @@
2426
attr.admin_users = set() if admin_users is None else set(admin_users)
2527
attr.admin_groups = set() if admin_groups is None else set(admin_groups)
2628
attr.admin_roles = set() if admin_roles is None else set(admin_roles)
29+
attr.host = host
30+
attr.port = port
2731
return cls(attributes=attr)
2832

2933
@classmethod

pyatlan/model/assets/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
"Column",
6868
"DatabricksUnityCatalogTag",
6969
"SnowflakeStream",
70-
"Database",
7170
"CalculationView",
71+
"Database",
7272
"Procedure",
7373
"SnowflakeTag",
7474
"CosmosMongoDB",
@@ -214,6 +214,7 @@
214214
"anaplan_module": ["AnaplanModule"],
215215
"anaplan_model": ["AnaplanModel"],
216216
"anaplan_app": ["AnaplanApp"],
217+
"anaplan_system_dimension": ["AnaplanSystemDimension"],
217218
"anaplan_dimension": ["AnaplanDimension"],
218219
"anaplan_view": ["AnaplanView"],
219220
"tableau_workbook": ["TableauWorkbook"],

pyatlan/model/assets/__init__.pyi

+3-1
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ __all__ = [
6464
"Column",
6565
"DatabricksUnityCatalogTag",
6666
"SnowflakeStream",
67-
"Database",
6867
"CalculationView",
68+
"Database",
6969
"Procedure",
7070
"SnowflakeTag",
7171
"CosmosMongoDB",
@@ -211,6 +211,7 @@ __all__ = [
211211
"AnaplanModule",
212212
"AnaplanModel",
213213
"AnaplanApp",
214+
"AnaplanSystemDimension",
214215
"AnaplanDimension",
215216
"AnaplanView",
216217
"TableauWorkbook",
@@ -332,6 +333,7 @@ from .anaplan_list import AnaplanList
332333
from .anaplan_model import AnaplanModel
333334
from .anaplan_module import AnaplanModule
334335
from .anaplan_page import AnaplanPage
336+
from .anaplan_system_dimension import AnaplanSystemDimension
335337
from .anaplan_view import AnaplanView
336338
from .anaplan_workspace import AnaplanWorkspace
337339
from .auth_service import AuthService
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
# Copyright 2022 Atlan Pte. Ltd.
3+
4+
5+
from __future__ import annotations
6+
7+
from typing import ClassVar, List
8+
9+
from pydantic.v1 import Field, validator
10+
11+
from pyatlan.model.enums import AtlanConnectorType
12+
from pyatlan.utils import init_guid, validate_required_fields
13+
14+
from .anaplan import Anaplan
15+
16+
17+
class AnaplanSystemDimension(Anaplan):
18+
"""Description"""
19+
20+
@classmethod
21+
@init_guid
22+
def creator(
23+
cls, *, name: str, connection_qualified_name: str
24+
) -> AnaplanSystemDimension:
25+
validate_required_fields(
26+
["name", "connection_qualified_name"], [name, connection_qualified_name]
27+
)
28+
attributes = AnaplanSystemDimension.Attributes(
29+
name=name,
30+
qualified_name=f"{connection_qualified_name}/{name}",
31+
connection_qualified_name=connection_qualified_name,
32+
connector_name=AtlanConnectorType.get_connector_name(
33+
connection_qualified_name
34+
),
35+
)
36+
return cls(attributes=attributes)
37+
38+
type_name: str = Field(default="AnaplanSystemDimension", allow_mutation=False)
39+
40+
@validator("type_name")
41+
def validate_type_name(cls, v):
42+
if v != "AnaplanSystemDimension":
43+
raise ValueError("must be AnaplanSystemDimension")
44+
return v
45+
46+
def __setattr__(self, name, value):
47+
if name in AnaplanSystemDimension._convenience_properties:
48+
return object.__setattr__(self, name, value)
49+
super().__setattr__(name, value)
50+
51+
_convenience_properties: ClassVar[List[str]] = []
52+
53+
54+
AnaplanSystemDimension.Attributes.update_forward_refs()

pyatlan/model/assets/core/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@
176176
Column.Attributes.update_forward_refs(**localns)
177177
DatabricksUnityCatalogTag.Attributes.update_forward_refs(**localns)
178178
SnowflakeStream.Attributes.update_forward_refs(**localns)
179-
Database.Attributes.update_forward_refs(**localns)
180179
CalculationView.Attributes.update_forward_refs(**localns)
180+
Database.Attributes.update_forward_refs(**localns)
181181
Procedure.Attributes.update_forward_refs(**localns)
182182
SnowflakeTag.Attributes.update_forward_refs(**localns)
183183
CosmosMongoDB.Attributes.update_forward_refs(**localns)

pyatlan/model/structs.py

+57-57
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,6 @@ class Action(AtlanObject):
8787
task_action_display_text: Optional[str] = Field(default=None, description="")
8888

8989

90-
class Histogram(AtlanObject):
91-
"""Description"""
92-
93-
boundaries: Set[float] = Field(description="")
94-
frequencies: Set[float] = Field(description="")
95-
96-
9790
class KafkaTopicConsumption(AtlanObject):
9891
"""Description"""
9992

@@ -103,45 +96,18 @@ class KafkaTopicConsumption(AtlanObject):
10396
topic_current_offset: Optional[int] = Field(default=None, description="")
10497

10598

106-
class ColumnValueFrequencyMap(AtlanObject):
99+
class Histogram(AtlanObject):
107100
"""Description"""
108101

109-
column_value: Optional[str] = Field(default=None, description="")
110-
column_value_frequency: Optional[int] = Field(default=None, description="")
102+
boundaries: Set[float] = Field(description="")
103+
frequencies: Set[float] = Field(description="")
111104

112105

113-
class BadgeCondition(AtlanObject):
106+
class ColumnValueFrequencyMap(AtlanObject):
114107
"""Description"""
115108

116-
@classmethod
117-
def create(
118-
cls,
119-
*,
120-
badge_condition_operator: BadgeComparisonOperator,
121-
badge_condition_value: str,
122-
badge_condition_colorhex: Union[BadgeConditionColor, str],
123-
) -> "BadgeCondition":
124-
validate_required_fields(
125-
[
126-
"badge_condition_operator",
127-
"badge_condition_value",
128-
"badge_condition_colorhex",
129-
],
130-
[badge_condition_operator, badge_condition_value, badge_condition_colorhex],
131-
)
132-
return cls(
133-
badge_condition_operator=badge_condition_operator.value,
134-
badge_condition_value=badge_condition_value,
135-
badge_condition_colorhex=(
136-
badge_condition_colorhex.value
137-
if isinstance(badge_condition_colorhex, BadgeConditionColor)
138-
else badge_condition_colorhex
139-
),
140-
)
141-
142-
badge_condition_operator: Optional[str] = Field(default=None, description="")
143-
badge_condition_value: Optional[str] = Field(default=None, description="")
144-
badge_condition_colorhex: Optional[str] = Field(default=None, description="")
109+
column_value: Optional[str] = Field(default=None, description="")
110+
column_value_frequency: Optional[int] = Field(default=None, description="")
145111

146112

147113
class SourceTagAttachmentValue(AtlanObject):
@@ -295,11 +261,38 @@ def of(
295261
)
296262

297263

298-
class AzureTag(AtlanObject):
264+
class BadgeCondition(AtlanObject):
299265
"""Description"""
300266

301-
azure_tag_key: str = Field(description="")
302-
azure_tag_value: str = Field(description="")
267+
@classmethod
268+
def create(
269+
cls,
270+
*,
271+
badge_condition_operator: BadgeComparisonOperator,
272+
badge_condition_value: str,
273+
badge_condition_colorhex: Union[BadgeConditionColor, str],
274+
) -> "BadgeCondition":
275+
validate_required_fields(
276+
[
277+
"badge_condition_operator",
278+
"badge_condition_value",
279+
"badge_condition_colorhex",
280+
],
281+
[badge_condition_operator, badge_condition_value, badge_condition_colorhex],
282+
)
283+
return cls(
284+
badge_condition_operator=badge_condition_operator.value,
285+
badge_condition_value=badge_condition_value,
286+
badge_condition_colorhex=(
287+
badge_condition_colorhex.value
288+
if isinstance(badge_condition_colorhex, BadgeConditionColor)
289+
else badge_condition_colorhex
290+
),
291+
)
292+
293+
badge_condition_operator: Optional[str] = Field(default=None, description="")
294+
badge_condition_value: Optional[str] = Field(default=None, description="")
295+
badge_condition_colorhex: Optional[str] = Field(default=None, description="")
303296

304297

305298
class StarredDetails(AtlanObject):
@@ -309,6 +302,13 @@ class StarredDetails(AtlanObject):
309302
asset_starred_at: Optional[datetime] = Field(default=None, description="")
310303

311304

305+
class AzureTag(AtlanObject):
306+
"""Description"""
307+
308+
azure_tag_key: str = Field(description="")
309+
azure_tag_value: str = Field(description="")
310+
311+
312312
class AuthPolicyCondition(AtlanObject):
313313
"""Description"""
314314

@@ -323,13 +323,6 @@ class AwsTag(AtlanObject):
323323
aws_tag_value: str = Field(description="")
324324

325325

326-
class GoogleTag(AtlanObject):
327-
"""Description"""
328-
329-
google_tag_key: str = Field(description="")
330-
google_tag_value: str = Field(description="")
331-
332-
333326
class DbtMetricFilter(AtlanObject):
334327
"""Description"""
335328

@@ -341,6 +334,13 @@ class DbtMetricFilter(AtlanObject):
341334
dbt_metric_filter_value: Optional[str] = Field(default=None, description="")
342335

343336

337+
class GoogleTag(AtlanObject):
338+
"""Description"""
339+
340+
google_tag_key: str = Field(description="")
341+
google_tag_value: str = Field(description="")
342+
343+
344344
class BusinessPolicyRule(AtlanObject):
345345
"""Description"""
346346

@@ -416,30 +416,30 @@ class SourceTagAttribute(AtlanObject):
416416

417417
Action.update_forward_refs()
418418

419-
Histogram.update_forward_refs()
420-
421419
KafkaTopicConsumption.update_forward_refs()
422420

423-
ColumnValueFrequencyMap.update_forward_refs()
421+
Histogram.update_forward_refs()
424422

425-
BadgeCondition.update_forward_refs()
423+
ColumnValueFrequencyMap.update_forward_refs()
426424

427425
SourceTagAttachmentValue.update_forward_refs()
428426

429427
SourceTagAttachment.update_forward_refs()
430428

431-
AzureTag.update_forward_refs()
429+
BadgeCondition.update_forward_refs()
432430

433431
StarredDetails.update_forward_refs()
434432

433+
AzureTag.update_forward_refs()
434+
435435
AuthPolicyCondition.update_forward_refs()
436436

437437
AwsTag.update_forward_refs()
438438

439-
GoogleTag.update_forward_refs()
440-
441439
DbtMetricFilter.update_forward_refs()
442440

441+
GoogleTag.update_forward_refs()
442+
443443
BusinessPolicyRule.update_forward_refs()
444444

445445
AuthPolicyValiditySchedule.update_forward_refs()

0 commit comments

Comments
 (0)