github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/singular/shim.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package singular
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  	"gopkg.in/juju/names.v2"
     9  	"gopkg.in/juju/worker.v1"
    10  
    11  	"github.com/juju/juju/api/base"
    12  	"github.com/juju/juju/api/singular"
    13  )
    14  
    15  // NewFacade creates a Facade from an APICaller and an entity for which
    16  // administrative control will be claimed. It's a suitable default value
    17  // for ManifoldConfig.NewFacade.
    18  func NewFacade(apiCaller base.APICaller, claimant names.MachineTag, entity names.Tag) (Facade, error) {
    19  	facade, err := singular.NewAPI(apiCaller, claimant, entity)
    20  	if err != nil {
    21  		return nil, errors.Trace(err)
    22  	}
    23  	return facade, nil
    24  }
    25  
    26  // NewWorker calls NewFlagWorker but returns a more convenient type. It's
    27  // a suitable default value for ManifoldConfig.NewWorker.
    28  func NewWorker(config FlagConfig) (worker.Worker, error) {
    29  	worker, err := NewFlagWorker(config)
    30  	if err != nil {
    31  		return nil, errors.Trace(err)
    32  	}
    33  	return worker, nil
    34  }