MCPcopy Create free account
hub / github.com/cloudbase/garm / updateScaleSet

Method updateScaleSet

database/sql/scalesets.go:303–405  ·  view source on GitHub ↗

nolint:gocyclo

(tx *gorm.DB, scaleSet ScaleSet, param params.UpdateScaleSetParams)

Source from the content-addressed store, hash-verified

301
302// nolint:gocyclo
303func (s *sqlDatabase) updateScaleSet(tx *gorm.DB, scaleSet ScaleSet, param params.UpdateScaleSetParams) (params.ScaleSet, int64, error) {
304 updates := make(map[string]interface{})
305 incrementGeneration := false
306
307 if param.Enabled != nil && scaleSet.Enabled != *param.Enabled {
308 updates["enabled"] = *param.Enabled
309 }
310
311 if param.State != nil && *param.State != scaleSet.State {
312 updates["state"] = *param.State
313 }
314
315 if param.ExtendedState != nil && *param.ExtendedState != scaleSet.ExtendedState {
316 updates["extended_state"] = *param.ExtendedState
317 }
318
319 if param.ScaleSetID != 0 && param.ScaleSetID != scaleSet.ScaleSetID {
320 updates["scale_set_id"] = param.ScaleSetID
321 }
322
323 if param.TemplateID != nil && (scaleSet.TemplateID == nil || *param.TemplateID != *scaleSet.TemplateID) {
324 updates["template_id"] = param.TemplateID
325 }
326
327 if param.EnableShell != nil && *param.EnableShell != scaleSet.EnableShell {
328 updates["enable_shell"] = *param.EnableShell
329 incrementGeneration = true
330 }
331
332 if param.Name != "" && param.Name != scaleSet.Name {
333 updates["name"] = param.Name
334 }
335
336 if param.GitHubRunnerGroup != nil && *param.GitHubRunnerGroup != "" && *param.GitHubRunnerGroup != scaleSet.GitHubRunnerGroup {
337 updates["git_hub_runner_group"] = *param.GitHubRunnerGroup
338 incrementGeneration = true
339 }
340
341 if param.Flavor != "" && param.Flavor != scaleSet.Flavor {
342 updates["flavor"] = param.Flavor
343 incrementGeneration = true
344 }
345
346 if param.Image != "" && param.Image != scaleSet.Image {
347 updates["image"] = param.Image
348 incrementGeneration = true
349 }
350
351 if param.Prefix != "" && param.Prefix != scaleSet.RunnerPrefix {
352 updates["runner_prefix"] = param.Prefix
353 }
354
355 if param.MaxRunners != nil && *param.MaxRunners != scaleSet.MaxRunners {
356 updates["max_runners"] = *param.MaxRunners
357 }
358
359 if param.MinIdleRunners != nil && *param.MinIdleRunners != scaleSet.MinIdleRunners {
360 updates["min_idle_runners"] = *param.MinIdleRunners

Callers 1

UpdateEntityScaleSetMethod · 0.95

Calls 1

sqlToCommonScaleSetMethod · 0.95

Tested by

no test coverage detected