Add support to show all pool attributes and set them.
Also add some helper functions to FieldMap to change and check the
requested attributes.
This was needed because the layer3domain needs to be set through
attributes instead of a link function (this should be changed, but for
now we will be compatible to ndcli).
So we filter out the layer3domain name and replace it with the ID, so
that the update can do both at the same time. Maybe there is a better
way to handle this in the future.
For this to work, I have added a new function that takes a list of
key looking things and converts them into json.
At the same time, it also can convert json looking payloads and
prepare it for the database (that last part was not intended, but
works).
With the many columns where setting attributes is possible, this
functionality should help quite a bit.
This is the first draft of creating layer3domains and
ipblocks/containers.
This allows some testing with different things, like list building for
complex container output, but also how containers should behave.
This type represents a list of fields someone might want to have
returned.
This can be used together with the query library to build select
statements that return the exact data the user might need or want.
This way we may be able to avoid selecting data one might not need at
the end and therefore provide better performance.
This package will contain all the parameter types that need parsing from
the outside world into internal types.
Each type is required to implement its own UnmarshalJSON. At this point
it should also make the checks, if the incoming data is valid input, but
is not required to check against the database.