summaryrefslogtreecommitdiff
path: root/api/resource.go
blob: 5c95211533c635a58d68a534c2a45aabeb255a45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package api

import (
	internal "codeberg.org/snonux/gonf/internal/resource"
)

// Resource represents a system resource managed by gonfs.
// It is an interface to hide the internal implementation details
// of the resource registry.
type Resource interface {
	ID() string
	String() string
	// Dependencies returns the flattened resource IDs this value represents,
	// so it can be passed to the DependsOn option. A single resource yields
	// its own ID; a Multi yields the IDs of all its members.
	Dependencies() []string
}

func Apply() error {
	return internal.Apply()
}