Runners can now be manually removed using the CLI. Some restrictions apply: * A runner must be idle in github. Github will not allow us to remove a runner that is running a workflow. * The runner status must be "running" Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
126 lines
3.1 KiB
Go
126 lines
3.1 KiB
Go
// Copyright 2022 Cloudbase Solutions SRL
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
// not use this file except in compliance with the License. You may obtain
|
|
// a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
// License for the specific language governing permissions and limitations
|
|
// under the License.
|
|
|
|
package errors
|
|
|
|
import "fmt"
|
|
|
|
var (
|
|
// ErrUnauthorized is returned when a user does not have
|
|
// authorization to perform a request
|
|
ErrUnauthorized = NewUnauthorizedError("Unauthorized")
|
|
// ErrNotFound is returned if an object is not found in
|
|
// the database.
|
|
ErrNotFound = NewNotFoundError("not found")
|
|
// ErrDuplicateUser is returned when creating a user, if the
|
|
// user already exists.
|
|
ErrDuplicateEntity = NewDuplicateUserError("duplicate")
|
|
// ErrBadRequest is returned is a malformed request is sent
|
|
ErrBadRequest = NewBadRequestError("invalid request")
|
|
// ErrTimeout is returned when a timeout occurs.
|
|
ErrTimeout = fmt.Errorf("timed out")
|
|
ErrUnprocessable = fmt.Errorf("cannot process request")
|
|
)
|
|
|
|
type baseError struct {
|
|
msg string
|
|
}
|
|
|
|
func (b *baseError) Error() string {
|
|
return b.msg
|
|
}
|
|
|
|
// NewProviderError returns a new ProviderError
|
|
func NewProviderError(msg string, a ...interface{}) error {
|
|
return &ProviderError{
|
|
baseError{
|
|
msg: fmt.Sprintf(msg, a...),
|
|
},
|
|
}
|
|
}
|
|
|
|
// UnauthorizedError is returned when a request is unauthorized
|
|
type ProviderError struct {
|
|
baseError
|
|
}
|
|
|
|
// NewUnauthorizedError returns a new UnauthorizedError
|
|
func NewUnauthorizedError(msg string) error {
|
|
return &UnauthorizedError{
|
|
baseError{
|
|
msg: msg,
|
|
},
|
|
}
|
|
}
|
|
|
|
// UnauthorizedError is returned when a request is unauthorized
|
|
type UnauthorizedError struct {
|
|
baseError
|
|
}
|
|
|
|
// NewNotFoundError returns a new NotFoundError
|
|
func NewNotFoundError(msg string, a ...interface{}) error {
|
|
return &NotFoundError{
|
|
baseError{
|
|
msg: fmt.Sprintf(msg, a...),
|
|
},
|
|
}
|
|
}
|
|
|
|
// NotFoundError is returned when a resource is not found
|
|
type NotFoundError struct {
|
|
baseError
|
|
}
|
|
|
|
// NewDuplicateUserError returns a new DuplicateUserError
|
|
func NewDuplicateUserError(msg string) error {
|
|
return &DuplicateUserError{
|
|
baseError{
|
|
msg: msg,
|
|
},
|
|
}
|
|
}
|
|
|
|
// DuplicateUserError is returned when a duplicate user is requested
|
|
type DuplicateUserError struct {
|
|
baseError
|
|
}
|
|
|
|
// NewBadRequestError returns a new BadRequestError
|
|
func NewBadRequestError(msg string, a ...interface{}) error {
|
|
return &BadRequestError{
|
|
baseError{
|
|
msg: fmt.Sprintf(msg, a...),
|
|
},
|
|
}
|
|
}
|
|
|
|
// BadRequestError is returned when a malformed request is received
|
|
type BadRequestError struct {
|
|
baseError
|
|
}
|
|
|
|
// NewConflictError returns a new ConflictError
|
|
func NewConflictError(msg string, a ...interface{}) error {
|
|
return &ConflictError{
|
|
baseError{
|
|
msg: fmt.Sprintf(msg, a...),
|
|
},
|
|
}
|
|
}
|
|
|
|
// ConflictError is returned when a conflicting request is made
|
|
type ConflictError struct {
|
|
baseError
|
|
}
|