diff --git a/data/dirty_overrides.json b/data/dirty_overrides.json index c447f06..d54809c 100644 --- a/data/dirty_overrides.json +++ b/data/dirty_overrides.json @@ -55,6 +55,13 @@ "multivalue": true } } + }, + "host": { + "params": { + "managedby_host": { + "required": false + } + } } } } \ No newline at end of file diff --git a/freeipa/generated.go b/freeipa/generated.go index 9760857..88c39c2 100644 --- a/freeipa/generated.go +++ b/freeipa/generated.go @@ -1,4 +1,4 @@ -// Code generated by `github.com/tehwalris/go-freeipa/gen` - DO NOT EDIT. +// Code generated by `github.com/ccin2p3/go-freeipa/gen` - DO NOT EDIT. package freeipa; @@ -89456,7 +89456,7 @@ Keytab Managed by */ - ManagedbyHost string `json:"managedby_host,omitempty"` + ManagedbyHost *string `json:"managedby_host,omitempty"` /* Managing @@ -91309,7 +91309,7 @@ func (out *Host) UnmarshalJSON(data []byte) error { } - if true { + if in.ManagedbyHost != nil { raw := in.ManagedbyHost plainV, plainOk := raw.(string) sliceWrapperV, sliceWrapperOk := raw.([]interface{}) @@ -91334,13 +91334,14 @@ func (out *Host) UnmarshalJSON(data []byte) error { } if plainOk { - out.ManagedbyHost = plainV + out.ManagedbyHost = &plainV } else if sliceOk { - if len(sliceV) != 1 { - return fmt.Errorf("unexpected value for field ManagedbyHost: %v; expected exactly one element", raw) + if len(sliceV) == 1 { + out.ManagedbyHost = &sliceV[0] + } else if len(sliceV) > 1 { + return fmt.Errorf("unexpected value for field ManagedbyHost: %v; expected at most one element", raw) } - out.ManagedbyHost = sliceV[0] } else { return fmt.Errorf("unexpected value for field ManagedbyHost: %v (%v)", raw, reflect.TypeOf(raw))