github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/apiserver/resumer/resumer.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  // The resumer package implements the API interface
     5  // used by the resumer worker.
     6  package resumer
     7  
     8  import (
     9  	"github.com/juju/loggo"
    10  
    11  	"github.com/juju/juju/apiserver/common"
    12  	"github.com/juju/juju/state"
    13  )
    14  
    15  func init() {
    16  	common.RegisterStandardFacade("Resumer", 1, NewResumerAPI)
    17  }
    18  
    19  var logger = loggo.GetLogger("juju.apiserver.resumer")
    20  
    21  // ResumerAPI implements the API used by the resumer worker.
    22  type ResumerAPI struct {
    23  	st   stateInterface
    24  	auth common.Authorizer
    25  }
    26  
    27  // NewResumerAPI creates a new instance of the Resumer API.
    28  func NewResumerAPI(st *state.State, _ *common.Resources, authorizer common.Authorizer) (*ResumerAPI, error) {
    29  	if !authorizer.AuthEnvironManager() {
    30  		return nil, common.ErrPerm
    31  	}
    32  	return &ResumerAPI{
    33  		st:   getState(st),
    34  		auth: authorizer,
    35  	}, nil
    36  }
    37  
    38  func (api *ResumerAPI) ResumeTransactions() error {
    39  	return api.st.ResumeTransactions()
    40  }