| 46 | |
| 47 | * AM API version 2 will be change set A and B as documented [wiki:GAPI_AM_API_DRAFT on the GENI wiki] as it has now been edited. |
| 48 | * ProtoGENI, SFA, and FOAM will be updated to support API version 2 within weeks. |
| 49 | * We will discuss other API changes via email and periodic phone calls, no later than November 16th protoGENI cluster call. |
| 50 | * We adopted Nick Bastin's proposal to make the return code (part of change set B part 2) be an XMLRPC struct: |
| 51 | {{{ |
| 52 | code { |
| 53 | geni_code: XMLRPC integer, registered in an XML document off the GENI AM API page |
| 54 | am_type: [optional] XMLRPC string, case insensitive, types in a registry (XML document) linked off the GENI AM API page |
| 55 | am_code: [optional] XMLRPC integer |
| 56 | } |
| 57 | }}} |
| 58 | |
| 59 | The am_type and code are extra fields an aggregate may supply to further specify the nature of the error (or success). |
| 60 | |
| 61 | * geni_code values will initially be a set of 18 values, as proposed by ProtoGENI |
| 62 | * Aggregate specific error codes must be documented - we did not specify how. |
| 63 | * Aggregates are required to document in human-readable form any new options or return values that they support. The API will not specify how they are documented. |
| 64 | * Aggregates may support multiple versions of the API by using separate URLs. |
| 65 | * !GetVersion adds a new member (part of the new {{{value}}} return) for indicating which versions of the API are supported at what URLs: |
| 66 | {{{ |
| 67 | geni_api_versions: { |
| 68 | 1: <URL>, |
| 69 | 2: <URL>, |
| 70 | ... |
| 71 | } |
| 72 | }}} |
| 73 | * Modifying change set A: |
| 74 | * Remove the {{{default_ad_rspec}}} return from !GetVersion |
| 75 | * Make the {{{rspec_version}}} argument to !ListResources required |
| 76 | * Rename {{{ad_rspec_versions}}} as {{{geni_ad_rspec_versions}}} |
| 77 | * Rename {{{request_rspec_versions}}} as {{{geni_request_rspec_versions}}} |