// NewAPI implements the API used by the machine undertaker worker to // find out what provider-level resources need to be cleaned up when a // machine goes away. func NewAPI(backend Backend, resources facade.Resources, authorizer facade.Authorizer) (*API, error) { if !authorizer.AuthModelManager() { return nil, errors.Trace(common.ErrPerm) } api := &API{ backend: backend, resources: resources, canManageModel: func(modelUUID string) bool { return modelUUID == authorizer.ConnectedModel() }, } return api, nil }