What I want is: An interoperable way to talk with JBoss.
application/dmr
is a binary/proprietary format.
I'm not aware of a Ruby implementation, but it shouldn't be _that_ hard
to build.
Then, parsing the CLI strings into a ModelNode structure should be
fairly simple too... for those CLI commands that translate directly to
management operations.
The "local" CLI commands (e.g. "batch", "patch" or
"if") require
client-side processing, and that is a whole new can of worms.
LT
On Fri, May 29, 2015 at 8:17 AM Heiko Braun <hbraun(a)redhat.com
<mailto:hbraun@redhat.com>> wrote:
What the constraints when developing a puppet module? Is plain java
supported?
Am 29.05.2015 um 01:39 schrieb Jairo Junior <junior.jairo1(a)gmail.com
<mailto:junior.jairo1@gmail.com>>:
> Heiko,
>
> Thank you, but how do I build a ModelNode from a CLI command?
>
> Before using JSON I was investigating how Administration Console
> perform operations and I realized (using firebug) that it uses
> application/dmr, but I presumed it uses ModelNode to build
> commands, not plain CLI syntax.
>
> On Thu, May 28, 2015 at 5:58 AM Heiko Braun <hbraun(a)redhat.com
> <mailto:hbraun@redhat.com>> wrote:
>
> The DMR library can be found here:
>
>
https://github.com/jbossas/jboss-dmr
>
>
>> On 28 May 2015, at 10:56, Heiko Braun <hbraun(a)redhat.com
>> <mailto:hbraun@redhat.com>> wrote:
>>
>>
>> You can already use DMR over HTTP. It requires a different
>> content-type ('application/dmr-encoded') and uses a base64
>> encoded representation of the payload
>> ('ModelNode.toBase64String()').
>>
>> You can describe an operation through the DMR API and then
>> simply do HTTP POST to ‘/management’ endpoint. make sure to
>> use 'application/dmr-encoded’ for both 'Content-Type' and
>> ‘Accept’ headers.
>>
>> The response can be parse using 'ModelNode.fromBase64()'.
>>
>> Hope this helps,
>> Heiko
>>
>>
>>
>>> On 27 May 2015, at 19:54, Jairo Junior
>>> <junior.jairo1(a)gmail.com
<mailto:junior.jairo1@gmail.com>>
>>> wrote:
>>>
>>> I've been working on a Puppet Module for Wildfly [1] that
>>> uses his HTTP Management API to perform operations (manage
>>> resources/deploys and execute commands), but my command
>>> execution code is a little bit limited cause I have to
>>> transform from CLI syntax to JSON. e.g.:
>>>
>>> :shutdown(restart=true)
>>>
>>> becomes
>>>
>>> {"operation" : "shutdown", "restart" :
"true" }
>>>
>>> Is there any specific reason to not support plain CLI
>>> commands through HTTP API? I looked at the code and it
>>> didn't see hard to implement this...
>>>
>>> [1]
https://github.com/biemond/biemond-wildfly
>>>
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev(a)lists.jboss.org
<mailto:wildfly-dev@lists.jboss.org>
>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>
>
_______________________________________________
wildfly-dev mailing list
wildfly-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev