1
// Copyright 2015 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
"github.com/juju/errors"
9
"github.com/juju/juju/api/base"
10
"github.com/juju/juju/api/firewaller"
11
"github.com/juju/juju/cmd/jujud/agent/engine"
12
"github.com/juju/juju/worker"
13
"github.com/juju/juju/worker/dependency"
16
// ManifoldConfig describes the resources used by the firewaller worker.
17
type ManifoldConfig engine.ApiManifoldConfig
19
// Manifold returns a Manifold that encapsulates the firewaller worker.
20
func Manifold(config ManifoldConfig) dependency.Manifold {
21
return engine.ApiManifold(
22
engine.ApiManifoldConfig(config),
27
// manifoldStart creates a firewaller worker, given a base.APICaller.
28
func manifoldStart(apiCaller base.APICaller) (worker.Worker, error) {
29
api := firewaller.NewState(apiCaller)
30
w, err := NewFirewaller(api)
32
return nil, errors.Trace(err)