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

Method updatePool

database/sql/util.go:580–689  ·  view source on GitHub ↗

nolint:gocyclo

(tx *gorm.DB, pool Pool, param params.UpdatePoolParams)

Source from the content-addressed store, hash-verified

578
579// nolint:gocyclo
580func (s *sqlDatabase) updatePool(tx *gorm.DB, pool Pool, param params.UpdatePoolParams) (params.Pool, int64, error) {
581 incrementGeneration := false
582 updates := make(map[string]interface{})
583
584 if param.Enabled != nil && pool.Enabled != *param.Enabled {
585 updates["enabled"] = *param.Enabled
586 }
587
588 if param.Flavor != "" && param.Flavor != pool.Flavor {
589 updates["flavor"] = param.Flavor
590 incrementGeneration = true
591 }
592
593 if param.EnableShell != nil && *param.EnableShell != pool.EnableShell {
594 updates["enable_shell"] = *param.EnableShell
595 incrementGeneration = true
596 }
597
598 if param.Image != "" && param.Image != pool.Image {
599 updates["image"] = param.Image
600 incrementGeneration = true
601 }
602
603 if param.Prefix != "" && param.Prefix != pool.RunnerPrefix {
604 updates["runner_prefix"] = param.Prefix
605 }
606
607 if param.MaxRunners != nil && *param.MaxRunners != pool.MaxRunners {
608 updates["max_runners"] = *param.MaxRunners
609 }
610
611 if param.TemplateID != nil && (pool.TemplateID == nil || *param.TemplateID != *pool.TemplateID) {
612 updates["template_id"] = param.TemplateID
613 }
614
615 if param.MinIdleRunners != nil && *param.MinIdleRunners != pool.MinIdleRunners {
616 updates["min_idle_runners"] = *param.MinIdleRunners
617 }
618
619 if param.OSArch != "" && param.OSArch != pool.OSArch {
620 updates["os_arch"] = param.OSArch
621 incrementGeneration = true
622 }
623
624 if param.OSType != "" && param.OSType != pool.OSType {
625 updates["os_type"] = param.OSType
626 incrementGeneration = true
627 }
628
629 if param.ExtraSpecs != nil && string(param.ExtraSpecs) != string(pool.ExtraSpecs) {
630 updates["extra_specs"] = datatypes.JSON(param.ExtraSpecs)
631 incrementGeneration = true
632 }
633
634 if param.RunnerBootstrapTimeout != nil && *param.RunnerBootstrapTimeout > 0 && *param.RunnerBootstrapTimeout != pool.RunnerBootstrapTimeout {
635 updates["runner_bootstrap_timeout"] = *param.RunnerBootstrapTimeout
636 }
637

Callers 1

UpdateEntityPoolMethod · 0.95

Calls 2

getOrCreateTagMethod · 0.95
sqlToCommonPoolMethod · 0.95

Tested by

no test coverage detected