While working on the console extension mechanism [1], I discovered that we don't use a
common representation of properties within the management model. Below are two
descriptions of properties (name/value pairs) taken from security domains and
server-groups. Server-groups use a addressable resource representations for name value
pairs, while security domains use some (bogus?) definition of type=object and
value-type=String.
Is it possible to make resources rely on the same representation for properties?
I don't even know how it's currently possible to define a login module option
using the CLI today. Non addressable resources cannot be *:add()'ed, can't they?
/profile=default/subsystem=security/security-domain=other/authentication=classic/login-module=RealmDirect
"module-options" => {
"type" => OBJECT,
"description" => "List of module options containing a
name/value pair.",
"expressions-allowed" => true,
"nillable" => true,
"value-type" => STRING,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "no-services"
}
/server-group=*
"system-property" => {
"description" => "A list of system properties to set
on all servers in this server-group.",
"model-description" => {"*" => {
"description" => "A system property to set on
all servers in this server-group.",
"access-constraints" => {"sensitive" =>
{"system-property" => {"type" => "core"}}},
"attributes" => {
"value" => {
"type" => STRING,
"description" => "The value of the
system property.",
"expressions-allowed" => true,
"nillable" => true,
"min-length" => 0L,
"max-length" => 2147483647L,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" =>
"no-services"
},
"boot-time" => {
"type" => BOOLEAN,
"description" => "If true the system
property is passed on the command-line to the started server jvm. If false, it will be
pushed to the server as part of the startup sequence.",
"expressions-allowed" => true,
"nillable" => true,
"default" => true,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" =>
"no-services"
}
},
"operations" => undefined,
"children" => {}
}}
}