github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/api/statushistory/pruner.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package statushistory 5 6 import ( 7 "time" 8 9 "github.com/juju/juju/api/base" 10 "github.com/juju/juju/api/common" 11 "github.com/juju/juju/apiserver/params" 12 ) 13 14 const apiName = "StatusHistory" 15 16 // Facade allows calls to "StatusHistory" endpoints 17 type Facade struct { 18 facade base.FacadeCaller 19 *common.ModelWatcher 20 } 21 22 // NewFacade returns a status "StatusHistory" Facade. 23 func NewFacade(caller base.APICaller) *Facade { 24 facadeCaller := base.NewFacadeCaller(caller, apiName) 25 return &Facade{facade: facadeCaller, ModelWatcher: common.NewModelWatcher(facadeCaller)} 26 } 27 28 // Prune calls "StatusHistory.Prune" 29 func (s *Facade) Prune(maxHistoryTime time.Duration, maxHistoryMB int) error { 30 p := params.StatusHistoryPruneArgs{ 31 MaxHistoryTime: maxHistoryTime, 32 MaxHistoryMB: maxHistoryMB, 33 } 34 return s.facade.FacadeCall("Prune", p, nil) 35 }