func()

in pkg/api/deploymentapi/extensionapi/create.go [44:71]


func (params CreateParams) Validate() error {
	var merr = multierror.NewPrefixed("invalid extension create params")

	if params.API == nil {
		merr = merr.Append(apierror.ErrMissingAPI)
	}

	if params.Type == "" {
		merr = merr.Append(errors.New("an extension type is required for this operation"))
	}

	if params.Version == "" {
		merr = merr.Append(errors.New("an extension version is required for this operation"))
	}

	if params.Name == "" {
		merr = merr.Append(errors.New("an extension name is required for this operation"))
	}

	if params.DownloadURL != "" {
		_, err := url.ParseRequestURI(params.DownloadURL)
		if err != nil {
			merr = merr.Append(fmt.Errorf("the provided URL is invalid: %v", err))
		}
	}

	return merr.ErrorOrNil()
}