func()

in pkg/api/platformapi/allocatorapi/vacate_params.go [176:209]


func (params VacateClusterParams) Validate() error {
	var merr = multierror.NewPrefixed("invalid allocator vacate params")
	if params.API == nil {
		merr = merr.Append(apierror.ErrMissingAPI)
	}

	if params.ID == "" {
		merr = merr.Append(
			fmt.Errorf("invalid allocator ID %s", params.ID),
		)
	}

	if len(params.ClusterID) != 32 {
		merr = merr.Append(
			fmt.Errorf("invalid cluster ID %s", params.ClusterID),
		)
	}

	if !slice.HasString(allowedClusterKinds, params.Kind) {
		merr = merr.Append(
			fmt.Errorf("invalid kind %s", params.Kind),
		)
	}

	if params.Output == nil {
		merr = merr.Append(errOutputDeviceCannotBeNil)
	}

	if err := ec.RequireRegionSet(params.Region); err != nil {
		merr = merr.Append(err)
	}

	return merr.ErrorOrNil()
}