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  }