in pkg/api/platformapi/allocatorapi/vacate.go [343:382]
func fillVacateClusterParams(params *VacateClusterParams) (*VacateClusterParams, error) {
if params == nil {
return nil, errors.New("allocator vacate: params cannot be nil")
}
if err := params.Validate(); err != nil {
return nil, multierror.NewPrefixed(fmt.Sprintf(
"allocator %s: resource id [%s][%s]",
params.ID, params.ClusterID, params.Kind), err,
)
}
if params.AllocatorDown == nil {
alloc, err := Get(
GetParams{API: params.API, ID: params.ID, Region: params.Region},
)
if err != nil {
return nil, VacateError{
AllocatorID: params.ID,
ResourceID: params.ClusterID,
Kind: params.Kind,
Ctx: "allocator health autodiscovery",
Err: err,
}
}
if alloc.Status != nil {
params.AllocatorDown = ec.Bool(!*alloc.Status.Connected || !*alloc.Status.Healthy)
}
}
if params.MaxPollRetries == 0 {
params.MaxPollRetries = util.DefaultRetries
}
if params.TrackFrequency.Nanoseconds() == 0 {
params.TrackFrequency = util.DefaultPollFrequency
}
return params, nil
}