diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-05 10:48:52 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-05 10:48:52 +0300 |
| commit | 1b97ed3ca759a530585a520c8edd01e26bdee582 (patch) | |
| tree | 02cc4abd4374a515a2ac9df592144839bbc148b4 /internal/resource/resource.go | |
| parent | 7fdcb5ed7639508e05c9a3851704cf1de9f4476a (diff) | |
initial work for a central applier algo
Diffstat (limited to 'internal/resource/resource.go')
| -rw-r--r-- | internal/resource/resource.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/internal/resource/resource.go b/internal/resource/resource.go index f7951c3..4e72485 100644 --- a/internal/resource/resource.go +++ b/internal/resource/resource.go @@ -5,16 +5,28 @@ import ( "log" ) +type Applier interface { + Apply() error +} + +type ApplierFunc func() error + +func (f ApplierFunc) Apply() error { + return f() +} + type Resource struct { Type string Name string + Apply Applier dependsOn map[string]struct{} } -func Register(type_, name string) Resource { +func Register(type_, name string, apply Applier) Resource { r := Resource{ Type: type_, Name: name, + Apply: apply, dependsOn: make(map[string]struct{}), } |
