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 &notAvailable{
    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  }