resources: Specify defaults for the MetaParams
When creating new resources, we didn't specify the defaults, which for the limit metaparam caused invalid resources by default. It would be nice to change the limit param to have the 1/X (reciprocal) as the default, although the problem with that is that (1) it is illogical, and (2) it's not clear if the precision for the common cases is enough. If someone wants to investigate this further, please do! Zero value structs are definitely more useful! In any case, we can now specify the default. It's not entirely obvious to me if this is the best way to do it, or if there is a superior method.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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*
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user