github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/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 "github.com/juju/names" 8 9 "github.com/juju/juju/apiserver/params" 10 ) 11 12 type LeadershipService interface { 13 // ClaimLeadership makes a leadership claim with the given parameters. 14 ClaimLeadership(params params.ClaimLeadershipBulkParams) (params.ClaimLeadershipBulkResults, error) 15 // ReleaseLeadership makes a call to release leadership for all the 16 // parameters passed in. 17 ReleaseLeadership(params params.ReleaseLeadershipBulkParams) (params.ReleaseLeadershipBulkResults, error) 18 // BlockUntilLeadershipReleased blocks the caller until leadership is 19 // released for the given service. 20 BlockUntilLeadershipReleased(serviceTag names.ServiceTag) (params.ErrorResult, error) 21 }