diff --git a/resources/augeas.go b/resources/augeas.go index 09ec17ac..89c82025 100644 --- a/resources/augeas.go +++ b/resources/augeas.go @@ -71,7 +71,11 @@ type AugeasSet struct { // Default returns some sensible defaults for this resource. func (obj *AugeasRes) Default() Res { - return &AugeasRes{} + return &AugeasRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate if the params passed in are valid data. diff --git a/resources/exec.go b/resources/exec.go index 8d9ffa33..09ef4a07 100644 --- a/resources/exec.go +++ b/resources/exec.go @@ -52,7 +52,11 @@ type ExecRes struct { // Default returns some sensible defaults for this resource. func (obj *ExecRes) Default() Res { - return &ExecRes{} + return &ExecRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate if the params passed in are valid data. diff --git a/resources/file.go b/resources/file.go index cd375c51..8664f3aa 100644 --- a/resources/file.go +++ b/resources/file.go @@ -68,6 +68,9 @@ type FileRes struct { // Default returns some sensible defaults for this resource. func (obj *FileRes) Default() Res { return &FileRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, State: "exists", } } diff --git a/resources/hostname.go b/resources/hostname.go index 909fac50..d39b86dd 100644 --- a/resources/hostname.go +++ b/resources/hostname.go @@ -71,7 +71,11 @@ type HostnameRes struct { // Default returns some sensible defaults for this resource. func (obj *HostnameRes) Default() Res { - return &HostnameRes{} + return &HostnameRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate if the params passed in are valid data. diff --git a/resources/msg.go b/resources/msg.go index 5a3fb004..48ae4dee 100644 --- a/resources/msg.go +++ b/resources/msg.go @@ -54,7 +54,11 @@ type MsgUID struct { // Default returns some sensible defaults for this resource. func (obj *MsgRes) Default() Res { - return &MsgRes{} + return &MsgRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate the params that are passed to MsgRes. diff --git a/resources/noop.go b/resources/noop.go index 2a3ed853..9b41fbb4 100644 --- a/resources/noop.go +++ b/resources/noop.go @@ -37,7 +37,11 @@ type NoopRes struct { // Default returns some sensible defaults for this resource. func (obj *NoopRes) Default() Res { - return &NoopRes{} + return &NoopRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate if the params passed in are valid data. diff --git a/resources/nspawn.go b/resources/nspawn.go index 41328e36..bc984d14 100644 --- a/resources/nspawn.go +++ b/resources/nspawn.go @@ -60,6 +60,9 @@ type NspawnRes struct { // Default returns some sensible defaults for this resource. func (obj *NspawnRes) Default() Res { return &NspawnRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, State: running, } } diff --git a/resources/password.go b/resources/password.go index e5e5ad75..69ad1c45 100644 --- a/resources/password.go +++ b/resources/password.go @@ -59,6 +59,9 @@ type PasswordRes struct { // Default returns some sensible defaults for this resource. func (obj *PasswordRes) Default() Res { return &PasswordRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, Length: 64, // safe default } } diff --git a/resources/pkg.go b/resources/pkg.go index cb50035e..daa04e99 100644 --- a/resources/pkg.go +++ b/resources/pkg.go @@ -49,6 +49,9 @@ type PkgRes struct { // Default returns some sensible defaults for this resource. func (obj *PkgRes) Default() Res { return &PkgRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, State: "installed", // i think this is preferable to "latest" } } diff --git a/resources/resources.go b/resources/resources.go index dff23411..b1c42662 100644 --- a/resources/resources.go +++ b/resources/resources.go @@ -213,7 +213,7 @@ type BaseRes struct { // UnmarshalYAML is the custom unmarshal handler for the BaseRes struct. It is // primarily useful for setting the defaults, in particular if meta is absent! -// FIXME: uncommenting this seems to block the graph from exiting, how come??? +// FIXME: how come we can't get this to work properly without dropping fields? //func (obj *BaseRes) UnmarshalYAML(unmarshal func(interface{}) error) error { // DefaultBaseRes := BaseRes{ // // without specifying a default here, if we don't specify *any* @@ -222,7 +222,7 @@ type BaseRes struct { // MetaParams: DefaultMetaParams, // force a default // } -// type rawBaseRes BaseRes // indirection to avoid infinite recursion +// type rawBaseRes BaseRes // indirection to avoid infinite recursion // raw := rawBaseRes(DefaultBaseRes) // convert; the defaults go here // //raw := rawBaseRes{} diff --git a/resources/svc.go b/resources/svc.go index b1f30248..35fcdfcd 100644 --- a/resources/svc.go +++ b/resources/svc.go @@ -46,7 +46,11 @@ type SvcRes struct { // Default returns some sensible defaults for this resource. func (obj *SvcRes) Default() Res { - return &SvcRes{} + return &SvcRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate checks if the resource data structure was populated correctly. diff --git a/resources/timer.go b/resources/timer.go index 41b12440..3f8c087a 100644 --- a/resources/timer.go +++ b/resources/timer.go @@ -46,7 +46,11 @@ type TimerUID struct { // Default returns some sensible defaults for this resource. func (obj *TimerRes) Default() Res { - return &TimerRes{} + return &TimerRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Validate the params that are passed to TimerRes. diff --git a/resources/virt.go b/resources/virt.go index 8a1dad63..b6418a7e 100644 --- a/resources/virt.go +++ b/resources/virt.go @@ -81,7 +81,11 @@ type VirtRes struct { // Default returns some sensible defaults for this resource. func (obj *VirtRes) Default() Res { - return &VirtRes{} + return &VirtRes{ + BaseRes: BaseRes{ + MetaParams: DefaultMetaParams, // force a default + }, + } } // Init runs some startup code for this resource.