github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/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 }