On 05/17/2017 10:14 AM, Joe Topjian wrote:


On Tue, May 16, 2017 at 4:13 PM, Monty Taylor <mord...@inaugust.com
<mailto:mord...@inaugust.com>> wrote:

    Hey all!

    I read the API docs A LOT. (thank you to all of you who have worked
    on writing them)

    As I do, a gotcha I hit up against a non-zero amount is mapping the
    descriptions of the response parameters to the form of the response
    itself. Most of the time there is a top level parameter under which
    either an object or a list resides, but the description lists list
    the top level and the sub-parameters as siblings.

    So I wrote a patch to os-api-ref taking a stab at providing a way to
    show things a little differently:

    https://review.openstack.org/#/c/464255/
    <https://review.openstack.org/#/c/464255/>

    You can see the output here:

    
http://docs-draft.openstack.org/55/464255/5/check/gate-nova-api-ref-src/f02b170//api-ref/build/html/
    
<http://docs-draft.openstack.org/55/464255/5/check/gate-nova-api-ref-src/f02b170//api-ref/build/html/>

    If you go expand either the GET / or the GET /servers/details
    sections and go to look at their Response sections, you can see it
    in action.

    We'd like some feedback on impact from humans who read the API docs
    decently regularly...

    The questions:

    - Does this help, hurt, no difference?


It helps. It seems noisy at first glance, but the information being
denoted is important. It's one of those situations where once you start
reading deeper into the information, this kind of markup makes the API
more understandable more quickly.

Awesome. Thanks!

    - servers[].name - servers is a list, containing objects with a name
    field. Good or bad?
    - servers[].addresses.$network-name - addresses is an object and the
    keys of the object are the name of the network in question.


Again, these seem noisy at first, but having parsed complex paths,
especially the above address info, by dumping variables too many times,
I really appreciate the above syntax.

Going even further:

servers[].addresses.$network-name[].OS-EXT-IPS-MAC:mac_addr

looks a mess, but I can see how exactly to navigate to the leaf as well
as understand what types make up the path. Being able to succinctly
(relatively/subjectively speaking) describe something like the above is
very helpful. This definitely gets my support.

Sweet. thanks for the feedback! I just pushed up a new rev yesterday based on some feedback from Anne:

http://docs-draft.openstack.org/55/464255/5/check/gate-nova-api-ref-src/f02b170//api-ref/build/html/

That adds <strong> tags around the leaf element. so basically:

servers[].addresses.$network-name[].OS-EXT-IPS-MAC:mac_addr

becomes

servers[].addresses.$network-name[].**OS-EXT-IPS-MAC:mac_addr**

which I hope will ease any confusion when leaf elements have punctuation in their names - like OS-EXT-IPS-MAC:mac_addr

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to