nolint:gocyclo
(tx *gorm.DB, pool Pool, param params.UpdatePoolParams)
| 578 | |
| 579 | // nolint:gocyclo |
| 580 | func (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 |
no test coverage detected