[occi-wg] Syntax of OCCI API

Alexis Richardson alexis.richardson at gmail.com
Fri Apr 17 04:07:50 CDT 2009


+1

Is there any way to put the FORMAT discussion to one side for now?

I really liked Chris' example, and can say that we've found similar
approaches very powerful in our work with RabbitMQ.  But as Andre
says, the issue is secondary to noun/verb.

Right?


On Fri, Apr 17, 2009 at 10:02 AM, Andre Merzky <andre at merzky.net> wrote:
> Once we get the noun/verb/attribute part settled, there is
> no harm in doing an ini and a key/val binding.  In fact, a
> translator would be trivial...
>
> You can argue endlessly about the better format: there are
> too many PROs and CONs for both of them to come to an
> conclusive answer, IMHO.
>
> My $0.02, Andre.
>
>
> Quoting [Chris Webb] (Apr 17 2009):
>>
>> Sam Johnston <samj at samj.net> writes:
>>
>> > but in any case INI files are
>> > simple, standard across platforms, well defined, etc.
>> >
>> > You can parse them in shell like
>> > this<http://www.debian-administration.org/articles/55#comment_24>
>> > :
>> >
>> > #!/bin/sh
>> > [ -z "$1" ] || [ -z "$2" ] && exit 1
>> > sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \
>> >     -e 's/;.*$//' \
>> >     -e 's/[[:space:]]*$//' \
>> >     -e 's/^[[:space:]]*//' \
>> >     -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \
>> >    < $1 \
>> >    | sed -n -e "/^\[$2\]/,/^\s*\[/{/^[^;].*\=.*/p;}"
>>
>> You've completely missed the point again. (Perhaps understandably, since
>> you're not in the target audience for this format.)
>>
>>   while read K V; do FOO; done
>>
>> is something you can type in a shell one-liner, which is the most
>> interesting 'use case' (sorry, horrible jargon!) for shell people. This
>> complex hack is not, and I note that you had to google for it rather than
>> writing it off the top of your head, which should have been enough to make
>> the point clear. (Incidentally, it doesn't get INI quoting right. Doing it
>> correctly and allowing for backslash escapes is somewhat harder.)
>>
>> Whitespace separated KEY VALUE is better-defined than INI[1], can be parsed by
>> shell read, by C strtok() or strsep(), and is generally pleasant to work
>> with in languages without sophisticated string handling or data structures.
>> Here's your sample translated to that format:
>>
>>   id decca5a5-8952-4004-9793-cdbbf05c3c63
>>   category server
>>   title Debian GNU/Linux 5.0 Virtual Appliance
>>   summary Base installation of Debian GNU/Linux 5.0
>>   content.cpu 2
>>   content.memory 4Gb
>>   link.disk[0].id 4696b561-a253-42b4-bd27-7aa4950e0a60
>>   link.disk[0].dev sda
>>   link.network[0].id 45a73b80-c957-4ae1-97c6-b70652eba1d1
>>   link.network[0].dev eth0
>>   mc.state RUNNING
>>   br.meter.rate 0.10
>>   br.meter.currency USD
>>   br.meter.unit hours
>>   br.meter.total 35.27
>>   pm.monitor.cpu 75.2
>>   pm.monitor.mem 1059374258
>>   mc.ops.start http://example.com/decca5a5-8952-4004-9793-cdbbf05c3c63/ops/start
>>   mc.ops.stop http://example.com/decca5a5-8952-4004-9793-cdbbf05c3c63/ops/stop
>>   mc.ops.restart http://example.com/decca5a5-8952-4004-9793-cdbbf05c3c63/ops/restart
>>   mc.ops.suspend http://example.com/decca5a5-8952-4004-9793-cdbbf05c3c63/ops/suspend
>>
>>   id 4696b561-a253-42b4-bd27-7aa4950e0a60
>>   category storage
>>   content.size 148251374
>>   link.self virtual-disk.vmdk
>>
>>   id 45a73b80-c957-4ae1-97c6-b70652eba1d1
>>   category network
>>   content.vlan 4095
>>   content.dhcp true
>>   content.subnet 192.168.0.0
>>   content.netmask 255.255.0.0
>>   content.gateway 192.168.0.1
>>   vnd.com.cisco.cdp true
>>
>> I'll not comment on the key space or conflation of objects into one
>> namespace with a category key in this post.
>>
>> Cheers,
>>
>> Chris.
>>
>> [1] See http://en.wikipedia.org/wiki/Initialization_file for details on some
>> of the variation seen in the wild. There's no formal spec to disambiguate.
>> _______________________________________________
>> occi-wg mailing list
>> occi-wg at ogf.org
>> http://www.ogf.org/mailman/listinfo/occi-wg
>
>
>
> --
> Nothing is ever easy.
> _______________________________________________
> occi-wg mailing list
> occi-wg at ogf.org
> http://www.ogf.org/mailman/listinfo/occi-wg
>



More information about the occi-wg mailing list