1
// Copyright 2014 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
9
"github.com/juju/errors"
10
corecharm "gopkg.in/juju/charm.v6-unstable"
14
ErrNoStateFile = errors.New("uniter state file does not exist")
15
ErrSkipExecute = errors.New("operation already executed")
16
ErrNeedsReboot = errors.New("reboot request issued")
17
ErrHookFailed = errors.New("hook failed")
18
ErrCannotAcceptLeadership = errors.New("cannot accept leadership")
21
type deployConflictError struct {
22
charmURL *corecharm.URL
25
func (err *deployConflictError) Error() string {
26
return fmt.Sprintf("cannot deploy charm %s", err.charmURL)
29
// NewDeployConflictError returns an error indicating that the charm with
30
// the supplied URL failed to deploy.
31
func NewDeployConflictError(charmURL *corecharm.URL) error {
32
return &deployConflictError{charmURL}
35
// IsDeployConflictError returns true if the error is a
36
// deploy conflict error.
37
func IsDeployConflictError(err error) bool {
38
_, ok := err.(*deployConflictError)