github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/state/errors.go (about) 1 // Copyright 2020 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package state 5 6 import ( 7 "github.com/juju/errors" 8 "github.com/juju/mgo/v3/txn" 9 10 stateerrors "github.com/juju/juju/state/errors" 11 ) 12 13 var ( 14 newProviderIDNotUniqueError = stateerrors.NewProviderIDNotUniqueError 15 newParentDeviceHasChildrenError = stateerrors.NewParentDeviceHasChildrenError 16 newErrCharmAlreadyUploaded = stateerrors.NewErrCharmAlreadyUploaded 17 newDeletedUserError = stateerrors.NewDeletedUserError 18 newNeverLoggedInError = stateerrors.NewNeverLoggedInError 19 newNeverConnectedError = stateerrors.NewNeverConnectedError 20 newVersionInconsistentError = stateerrors.NewVersionInconsistentError 21 22 IsCharmAlreadyUploadedError = stateerrors.IsCharmAlreadyUploadedError 23 IsProviderIDNotUniqueError = stateerrors.IsProviderIDNotUniqueError 24 IsParentDeviceHasChildrenError = stateerrors.IsParentDeviceHasChildrenError 25 IsNotAlive = stateerrors.IsNotAlive 26 IsDeletedUserError = stateerrors.IsDeletedUserError 27 IsNeverLoggedInError = stateerrors.IsNeverLoggedInError 28 IsNeverConnectedError = stateerrors.IsNeverConnectedError 29 IsVersionInconsistentError = stateerrors.IsVersionInconsistentError 30 ) 31 32 var ( 33 // State package internal errors. 34 machineNotAliveErr = stateerrors.NewNotAliveError("machine") 35 applicationNotAliveErr = stateerrors.NewNotAliveError("application") 36 unitNotAliveErr = stateerrors.NewNotAliveError("unit") 37 spaceNotAliveErr = stateerrors.NewNotAliveError("space") 38 subnetNotAliveErr = stateerrors.NewNotAliveError("subnet") 39 notAliveErr = stateerrors.NewNotAliveError("") 40 ) 41 42 func onAbort(txnErr, err error) error { 43 if txnErr == txn.ErrAborted || 44 errors.Cause(txnErr) == txn.ErrAborted { 45 return errors.Trace(err) 46 } 47 return errors.Trace(txnErr) 48 }