github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/apiserver/leadership/interface.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package leadership
     5  
     6  import (
     7  	"gopkg.in/juju/names.v2"
     8  
     9  	"github.com/juju/juju/apiserver/params"
    10  )
    11  
    12  // LeadershipService implements a variant of leadership.Claimer for consumption
    13  // over the API.
    14  type LeadershipService interface {
    15  
    16  	// ClaimLeadership makes a leadership claim with the given parameters.
    17  	ClaimLeadership(params params.ClaimLeadershipBulkParams) (params.ClaimLeadershipBulkResults, error)
    18  
    19  	// BlockUntilLeadershipReleased blocks the caller until leadership is
    20  	// released for the given service.
    21  	BlockUntilLeadershipReleased(ApplicationTag names.ApplicationTag) (params.ErrorResult, error)
    22  }