github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/controller/machineundertaker/register.go (about) 1 // Copyright 2022 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package machineundertaker 5 6 import ( 7 "reflect" 8 9 "github.com/juju/juju/apiserver/facade" 10 ) 11 12 // Register is called to expose a package of facades onto a given registry. 13 func Register(registry facade.FacadeRegistry) { 14 registry.MustRegister("MachineUndertaker", 1, func(ctx facade.Context) (facade.Facade, error) { 15 return newFacade(ctx) 16 }, reflect.TypeOf((*API)(nil))) 17 } 18 19 // newFacade provides the signature required for facade registration. 20 func newFacade(ctx facade.Context) (*API, error) { 21 return NewAPI(&backendShim{ctx.State()}, ctx.Resources(), ctx.Auth()) 22 }