5151 RegistryCredentials as RegistryCredentialsModel ,
5252 ContainerResources as ContainerResourcesModel ,
5353 Scale as ScaleModel ,
54- JobScale as JobScaleModel ,
5554 Container as ContainerModel ,
5655 GitHubActionConfiguration ,
5756 RegistryInfo as RegistryInfoModel ,
@@ -1200,16 +1199,7 @@ def update_containerappsjob_logic(cmd,
12001199 eventTriggerConfig_def ["scale" ]["maxExecutions" ] = max_executions
12011200 if polling_interval is not None :
12021201 eventTriggerConfig_def ["scale" ]["pollingInterval" ] = polling_interval
1203-
1204- scale_def = None
1205- if min_executions is not None or max_executions is not None or polling_interval is not None :
1206- scale_def = JobScaleModel
1207- scale_def ["pollingInterval" ] = polling_interval
1208- scale_def ["minExecutions" ] = min_executions
1209- scale_def ["maxReplicas" ] = max_executions
1210- # so we don't overwrite rules
1211- if safe_get (new_containerappsjob , "properties" , "template" , "scale" , "rules" ):
1212- new_containerappsjob ["properties" ]["template" ]["scale" ].pop (["rules" ])
1202+ # ScaleRule
12131203 if scale_rule_name :
12141204 scale_rule_type = scale_rule_type .lower ()
12151205 scale_rule_def = ScaleRuleModel
@@ -1220,10 +1210,17 @@ def update_containerappsjob_logic(cmd,
12201210 scale_rule_def ["type" ] = scale_rule_type
12211211 scale_rule_def ["metadata" ] = metadata_def
12221212 scale_rule_def ["auth" ] = auth_def
1223- if not scale_def :
1224- scale_def = JobScaleModel
1225- scale_def ["rules" ] = [scale_rule_def ]
1226- eventTriggerConfig_def ["scale" ]["rules" ] = scale_def ["rules" ]
1213+ if safe_get (eventTriggerConfig_def , "scale" , "rules" ) is None :
1214+ eventTriggerConfig_def ["scale" ]["rules" ] = []
1215+ existing_rules = eventTriggerConfig_def ["scale" ]["rules" ]
1216+ updated_rule = False
1217+ for rule in existing_rules :
1218+ if rule ["name" ] == scale_rule_name :
1219+ rule .update (scale_rule_def )
1220+ updated_rule = True
1221+ break
1222+ if not updated_rule :
1223+ existing_rules .append (scale_rule_def )
12271224
12281225 new_containerappsjob ["properties" ]["configuration" ]["eventTriggerConfig" ] = eventTriggerConfig_def
12291226
0 commit comments