github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/worker/uniter/runner/jujuc/errors.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package jujuc 5 6 import ( 7 "github.com/juju/errors" 8 ) 9 10 type notAvailable struct { 11 errors.Err 12 } 13 14 // NotAvailable returns an error which satisfies IsNotAvailable. 15 func NotAvailable(thing string) error { 16 return ¬Available{ 17 errors.NewErr(thing + " is not available"), 18 } 19 } 20 21 // IsNotAvailable reports whether err was creates with NotAvailable(). 22 func IsNotAvailable(err error) bool { 23 err = errors.Cause(err) 24 _, ok := err.(*notAvailable) 25 return ok 26 }