![Kostiantyn Kalynovskyi](/assets/img/avatar_default.png)
Now we would be able to render phase bundle, executor bundle and config bundle. Config bundle will contain documents such as phases and executors. Relates-To: #459 Closes: #459 Change-Id: Ia6b9196dfb3d8fb3264fef676c975ccc32883fee
85 lines
2.6 KiB
Go
85 lines
2.6 KiB
Go
/*
|
|
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
|
|
|
|
https://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 phase
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
)
|
|
|
|
// ErrExecutorNotFound is returned if phase executor was not found in executor
|
|
// registry map
|
|
type ErrExecutorNotFound struct {
|
|
GVK schema.GroupVersionKind
|
|
}
|
|
|
|
func (e ErrExecutorNotFound) Error() string {
|
|
return fmt.Sprintf("executor identified by '%s' is not found", e.GVK)
|
|
}
|
|
|
|
// ErrExecutorRegistration is a wrapper for executor registration errors
|
|
type ErrExecutorRegistration struct {
|
|
ExecutorName string
|
|
Err error
|
|
}
|
|
|
|
func (e ErrExecutorRegistration) Error() string {
|
|
return fmt.Sprintf("failed to register executor %s, registration function returned %s", e.ExecutorName, e.Err.Error())
|
|
}
|
|
|
|
// ErrDocumentEntrypointNotDefined returned when phase has no entrypoint defined and phase needs it
|
|
type ErrDocumentEntrypointNotDefined struct {
|
|
PhaseName string
|
|
PhaseNamespace string
|
|
}
|
|
|
|
func (e ErrDocumentEntrypointNotDefined) Error() string {
|
|
return fmt.Sprintf("documentEntryPoint is not defined for the phase '%s' in namespace '%s'",
|
|
e.PhaseName,
|
|
e.PhaseNamespace)
|
|
}
|
|
|
|
// ErrExecutorRefNotDefined returned when phase has no entrypoint defined and phase needs it
|
|
type ErrExecutorRefNotDefined struct {
|
|
PhaseName string
|
|
PhaseNamespace string
|
|
}
|
|
|
|
func (e ErrExecutorRefNotDefined) Error() string {
|
|
return fmt.Sprintf("Phase name '%s', namespace '%s' must have executorRef field defined in config",
|
|
e.PhaseName,
|
|
e.PhaseNamespace)
|
|
}
|
|
|
|
// ErrUknownRenderSource returned when render command source doesn't match any known types
|
|
type ErrUknownRenderSource struct {
|
|
Source string
|
|
}
|
|
|
|
func (e ErrUknownRenderSource) Error() string {
|
|
return fmt.Sprintf("wrong render source '%s' specified must be one of %s, %s, %s",
|
|
e.Source, RenderSourceConfig, RenderSourceExecutor, RenderSourceExecutor)
|
|
}
|
|
|
|
// ErrRenderPhaseNameNotSpecified returned when render command is called with either phase or
|
|
// executor source and phase name is not specified
|
|
type ErrRenderPhaseNameNotSpecified struct{}
|
|
|
|
func (e ErrRenderPhaseNameNotSpecified) Error() string {
|
|
return fmt.Sprintf("must specify phase name when using '%s' or '%s' as source",
|
|
RenderSourceExecutor, RenderSourcePhase)
|
|
}
|