@@ -54,7 +54,7 @@ def custom_sql_creator(
5454 asset : Asset ,
5555 custom_sql : str ,
5656 threshold_compare_operator : alpha_DQRuleThresholdCompareOperator ,
57- threshold_value : float ,
57+ threshold_value : int ,
5858 alert_priority : alpha_DQRuleAlertPriority ,
5959 dimension : alpha_DQDimension ,
6060 description : Optional [str ] = None ,
@@ -105,7 +105,7 @@ def table_level_rule_creator(
105105 rule_type : str ,
106106 asset : Asset ,
107107 threshold_compare_operator : alpha_DQRuleThresholdCompareOperator ,
108- threshold_value : float ,
108+ threshold_value : int ,
109109 alert_priority : alpha_DQRuleAlertPriority ,
110110 ) -> alpha_DQRule :
111111 validate_required_fields (
@@ -150,9 +150,11 @@ def column_level_rule_creator(
150150 rule_type : str ,
151151 asset : Asset ,
152152 column : Asset ,
153- threshold_compare_operator : alpha_DQRuleThresholdCompareOperator ,
154- threshold_value : float ,
153+ threshold_value : int ,
155154 alert_priority : alpha_DQRuleAlertPriority ,
155+ threshold_compare_operator : Optional [
156+ alpha_DQRuleThresholdCompareOperator
157+ ] = alpha_DQRuleThresholdCompareOperator .LESS_THAN_EQUAL ,
156158 threshold_unit : Optional [alpha_DQRuleThresholdUnit ] = None ,
157159 ) -> alpha_DQRule :
158160 validate_required_fields (
@@ -190,6 +192,116 @@ def column_level_rule_creator(
190192 )
191193 return cls (attributes = attributes )
192194
195+ @classmethod
196+ @init_guid
197+ def updater (
198+ cls : type [SelfAsset ],
199+ client : AtlanClient ,
200+ qualified_name : str ,
201+ threshold_compare_operator : Optional [
202+ alpha_DQRuleThresholdCompareOperator
203+ ] = None ,
204+ threshold_value : Optional [int ] = None ,
205+ alert_priority : Optional [alpha_DQRuleAlertPriority ] = None ,
206+ threshold_unit : Optional [alpha_DQRuleThresholdUnit ] = None ,
207+ dimension : Optional [alpha_DQDimension ] = None ,
208+ custom_sql : Optional [str ] = None ,
209+ rule_name : Optional [str ] = None ,
210+ description : Optional [str ] = None ,
211+ ) -> SelfAsset :
212+ from pyatlan .model .fluent_search import FluentSearch
213+
214+ validate_required_fields (
215+ ["qualified_name" ],
216+ [qualified_name ],
217+ )
218+ request = (
219+ FluentSearch ()
220+ .where (alpha_DQRule .QUALIFIED_NAME .eq (qualified_name ))
221+ .include_on_results (alpha_DQRule .NAME )
222+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_TEMPLATE_NAME )
223+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_TEMPLATE )
224+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_BASE_DATASET )
225+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_BASE_COLUMN )
226+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_ALERT_PRIORITY )
227+ .include_on_results (alpha_DQRule .DISPLAY_NAME )
228+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_CUSTOM_SQL )
229+ .include_on_results (alpha_DQRule .USER_DESCRIPTION )
230+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_DIMENSION )
231+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_CONFIG_ARGUMENTS )
232+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_SOURCE_SYNC_STATUS )
233+ .include_on_results (alpha_DQRule .ALPHADQ_RULE_STATUS )
234+ ).to_request ()
235+
236+ for result in client .asset .search (request ):
237+ retrieved_custom_sql = result .alpha_dq_rule_custom_s_q_l # type: ignore[attr-defined]
238+ retrieved_rule_name = result .display_name
239+ retrieved_dimension = result .alpha_dq_rule_dimension # type: ignore[attr-defined]
240+ retrieved_column = result .alpha_dq_rule_base_column # type: ignore[attr-defined]
241+ retrieved_alert_priority = result .alpha_dq_rule_alert_priority # type: ignore[attr-defined]
242+ retrieved_description = result .user_description
243+ retrieved_asset = result .alpha_dq_rule_base_dataset # type: ignore[attr-defined]
244+ retrieved_template_rule_name = result .alpha_dq_rule_template_name # type: ignore[attr-defined]
245+ retrieved_template = result .alpha_dq_rule_template # type: ignore[attr-defined]
246+ retrieved_threshold_compare_operator = result .alpha_dq_rule_config_arguments .alpha_dq_rule_threshold_object .alpha_dq_rule_threshold_compare_operator # type: ignore[attr-defined]
247+ retrieved_threshold_value = result .alpha_dq_rule_config_arguments .alpha_dq_rule_threshold_object .alpha_dq_rule_threshold_value # type: ignore[attr-defined]
248+ retrieved_threshold_unit = result .alpha_dq_rule_config_arguments .alpha_dq_rule_threshold_object .alpha_dq_rule_threshold_unit # type: ignore[attr-defined]
249+
250+ config_arguments_raw = alpha_DQRule .Attributes ._generate_config_arguments_raw (
251+ is_alert_enabled = True ,
252+ custom_sql = custom_sql or retrieved_custom_sql ,
253+ display_name = rule_name or retrieved_rule_name ,
254+ dimension = dimension or retrieved_dimension ,
255+ compare_operator = threshold_compare_operator
256+ or retrieved_threshold_compare_operator ,
257+ threshold_value = threshold_value or retrieved_threshold_value ,
258+ threshold_unit = threshold_unit or retrieved_threshold_unit ,
259+ column = retrieved_column ,
260+ dq_priority = alert_priority or retrieved_alert_priority ,
261+ description = description or retrieved_description ,
262+ )
263+
264+ attr_dq = cls .Attributes (
265+ name = "" ,
266+ alpha_dq_rule_config_arguments = alpha_DQRuleConfigArguments (
267+ alpha_dq_rule_threshold_object = alpha_DQRuleThresholdObject (
268+ alpha_dq_rule_threshold_compare_operator = threshold_compare_operator
269+ or retrieved_threshold_compare_operator ,
270+ alpha_dq_rule_threshold_value = threshold_value
271+ or retrieved_threshold_value ,
272+ alpha_dq_rule_threshold_unit = threshold_unit
273+ or retrieved_threshold_unit ,
274+ ),
275+ alpha_dq_rule_config_arguments_raw = config_arguments_raw ,
276+ ),
277+ alpha_dq_rule_base_dataset_qualified_name = retrieved_asset .qualified_name ,
278+ alpha_dq_rule_alert_priority = alert_priority or retrieved_alert_priority ,
279+ alpha_dq_rule_source_sync_status = alpha_DQSourceSyncStatus .IN_PROGRESS ,
280+ alpha_dq_rule_status = alpha_DQRuleStatus .ACTIVE ,
281+ alpha_dq_rule_base_dataset = retrieved_asset ,
282+ qualified_name = retrieved_asset .qualified_name ,
283+ alpha_dq_rule_dimension = dimension or retrieved_dimension ,
284+ alpha_dq_rule_template_name = retrieved_template_rule_name ,
285+ alpha_dq_rule_template = alpha_DQRuleTemplate .ref_by_qualified_name (
286+ qualified_name = retrieved_template .qualified_name
287+ ),
288+ )
289+
290+ if retrieved_column is not None :
291+ attr_dq .alpha_dq_rule_base_column_qualified_name = (
292+ retrieved_column .qualified_name
293+ )
294+ attr_dq .alpha_dq_rule_base_column = retrieved_column # type: ignore
295+
296+ custom_sql = custom_sql or retrieved_custom_sql
297+ if custom_sql is not None :
298+ attr_dq .alpha_dq_rule_custom_s_q_l = custom_sql
299+ attr_dq .display_name = rule_name or retrieved_rule_name
300+ if description is not None :
301+ attr_dq .user_description = description or retrieved_description
302+
303+ return cls (attributes = attr_dq )
304+
193305 type_name : str = Field (default = "alpha_DQRule" , allow_mutation = False )
194306
195307 @validator ("type_name" )
@@ -865,7 +977,7 @@ def _generate_config_arguments_raw(
865977 display_name : Optional [str ] = None ,
866978 dimension : Optional [alpha_DQDimension ] = None ,
867979 compare_operator : alpha_DQRuleThresholdCompareOperator ,
868- threshold_value : float ,
980+ threshold_value : int ,
869981 threshold_unit : Optional [alpha_DQRuleThresholdUnit ] = None ,
870982 column : Optional [Asset ] = None ,
871983 dq_priority : alpha_DQRuleAlertPriority ,
@@ -932,7 +1044,7 @@ def creator(
9321044 rule_type : str ,
9331045 asset : Asset ,
9341046 threshold_compare_operator : alpha_DQRuleThresholdCompareOperator ,
935- threshold_value : float ,
1047+ threshold_value : int ,
9361048 alert_priority : alpha_DQRuleAlertPriority ,
9371049 column : Optional [Asset ] = None ,
9381050 threshold_unit : Optional [alpha_DQRuleThresholdUnit ] = None ,
@@ -1007,7 +1119,7 @@ def creator(
10071119 attr_dq .alpha_dq_rule_base_column_qualified_name = column .qualified_name
10081120 attr_dq .alpha_dq_rule_base_column = column # type: ignore
10091121
1010- if rule_type == "Custom SQL" :
1122+ if custom_sql is not None :
10111123 attr_dq .alpha_dq_rule_custom_s_q_l = custom_sql
10121124 attr_dq .display_name = rule_name
10131125 if description is not None :
@@ -1026,5 +1138,5 @@ def creator(
10261138
10271139
10281140from .alpha__d_q_rule_template import alpha_DQRuleTemplate # noqa: E402, F401
1029- from .asset import Asset # noqa: E402, F401
1141+ from .asset import Asset , SelfAsset # noqa: E402, F401
10301142# from .column import co
0 commit comments