Changes between Version 1 and Version 2 of GAPI_AM_API_DRAFT
- Timestamp:
- 06/23/11 08:53:57 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GAPI_AM_API_DRAFT
v1 v2 37 37 * !ListResources: Return value of !ListResources remains an [http://www.xmlrpc.com/spec XMLRPC] string, but its format and meaning are now proscribed. 38 38 39 The return value is an RSpec matching the [http://www.protogeni.net/trac/protogeni/wiki/RSpec ProtoGENI V2] advertisement RSpec [http://www.protogeni.net/resources/rspec/2/ad.xsd schema] in text format if {{{geni_compressed}}} is unspecified or set to {{{false}}}. The return value will be a ZLib compressed and then base 64 encoded string representation of the RSpec if {{{geni_compressed}}} is specified and set to {{{true}}}. 39 The return value is an RSpec matching the [http://www.protogeni.net/trac/protogeni/wiki/RSpec ProtoGENI V2] RSpec in text format if {{{geni_compressed}}} is unspecified or set to {{{false}}}. The return value will be a ZLib compressed and then base 64 encoded string representation of the RSpec if {{{geni_compressed}}} is specified and set to {{{true}}}. 40 41 This RSpec will be a [http://www.protogeni.net/resources/rspec/2/ad.xsd advertisement RSpec] when invoked with no {{{geni_slice_urn}}} option, representing the resources available at this aggregate. When the client supplies the {{{geni_slice_urn}}} option, then the aggregate will return a [http://www.protogeni.net/resources/rspec/2/manifest.xsd manifest RSpec], representing all resources allocated to that slice by this aggregate. 40 42 41 43 * !CreateSliver: rspec argument remains an [http://www.xmlrpc.com/spec XMLRPC] string, but its format and meaning are now proscribed. 42 44 43 45 `rspec`:: 44 An RSpec matching the [http://www.protogeni.net/trac/protogeni/wiki/RSpec ProtoGENI V2] advertisement RSpec [http://www.protogeni.net/resources/rspec/2/request.xsd schema] containing the resources that the caller is requesting for allocation to the slice specified in {{{slice_urn}}}. These are expected to be based on resources returned by a previous invocation of [wiki:GAPI_AM_API#ListResources ListResources].46 An RSpec matching the [http://www.protogeni.net/trac/protogeni/wiki/RSpec ProtoGENI V2] request RSpec [http://www.protogeni.net/resources/rspec/2/request.xsd schema] containing the resources that the caller is requesting for allocation to the slice specified in {{{slice_urn}}}. These are expected to be based on resources returned by a previous invocation of [wiki:GAPI_AM_API#ListResources ListResources]. 45 47 46 48 * !CreateSliver: return value remains an [http://www.xmlrpc.com/spec XMLRPC] string, but its format and meaning are now proscribed. … … 59 61 If an aggregate advertises a particular {{{type}}}/{{{version}}} (optionally defined with a combination of {{{schema}}}, {{{namespace}}} and {{{extensions}}}) in the {{{ad_rspec_versions}}} attribute of !GetVersion, then it promises to send a correct Advertisement RSpec in response to a !ListResources call which supplies an {{{rspec_version}}} option containing that {{{type}}}/{{{version}}}. ({{{rspec_version}}} is a {{{struct}}} with 2 members, {{{type}}} and {{{version}}}. {{{type}}} and {{{version}}} are ''case-sensitive'' strings, matching those in {{{ad_rspec_versions}}}). 60 62 61 If an Aggregate advertises a particular {{{type}}}/{{{version}}} (optionally defined with a combination of {{{schema}}}, {{{namespace}}} and {{{extensions}}}) in the {{{request_rspec_versions}}} attribute of !GetVersion then it promises to correctly honor a !CreateSliver call containing a request RSpec in the given format, and then to return a Manifest RSpec in the corresponding format (ie a PGV2 request is answered with a PG V2 manifest). 63 If an Aggregate advertises a particular {{{type}}}/{{{version}}} (optionally defined with a combination of {{{schema}}}, {{{namespace}}} and {{{extensions}}}) in the {{{request_rspec_versions}}} attribute of !GetVersion then it promises to correctly honor a !CreateSliver call containing a request RSpec in the given format, and then to return a Manifest RSpec in the corresponding format (ie a PGV2 request is answered with a PG V2 manifest). The aggregate also promises to send a correctly formatted Manifest RSpec in response to a !ListResources call which supplies a valid {{{geni_slice_urn}}} option and an {{{rspec_version}}} option containing that supported {{{type}}}/{{{version}}}. 62 64 63 65 The !GetVersion attribute {{{default_ad_rspec}}} will be one of the values in the !GetVersion {{{ad_rspec_versions}}} array. … … 111 113 Elements used within {{{request_rspec_versions}}}, {{{ad_rspec_versions}}}, and {{{default_ad_rspec}}}: 112 114 `type`, `version`:: 113 Two ''case-sensitive'' strings which together comprise the type of RSpec. The RSpec `type` should be one of "protogeni", "sfa", "orca", or "orbit" and `version` should be a type-specific version identifier as specified by the appropriate control framework.115 Two ''case-sensitive'' strings which together comprise the type of RSpec. The RSpec `type` should be one of "protogeni", "sfa", "orca", "openflow", or "orbit" and `version` should be a type-specific version identifier as specified by the appropriate control framework. 114 116 115 117 `schema`:: … … 127 129 128 130 ==== New !ListResources Option ==== 129 !ListResources will take an additional option, {{{rspec_version}}}, allowing a user to request an Advertisement Rspec in a particular format. This struct must contain a {{{type}}} and {{{version}}} matching one of this Aggregate's advertised {{{ad_rspec_versions}}}.131 !ListResources will take an additional option, {{{rspec_version}}}, allowing a user to request an Advertisement or Manifest Rspec in a particular format. This struct must contain a {{{type}}} and {{{version}}} matching one of this Aggregate's advertised {{{ad_rspec_versions}}}. 130 132 131 133 Specifics: … … 159 161 160 162 `rspec_version`:: 161 An [http://www.xmlrpc.com/spec XMLRPC] struct indicating the type and version of Advertisement RSpec to return. The struct contains 2 members, {{{type}}} and {{{version}}}. {{{type}}} and {{{version}}} are ''case-sensitive'' strings, matching those in {{{ad_rspec_versions}}} as returned by !GetVersion at this aggregate.163 An [http://www.xmlrpc.com/spec XMLRPC] struct indicating the type and version of Advertisement or Manifest RSpec to return. The struct contains 2 members, {{{type}}} and {{{version}}}. {{{type}}} and {{{version}}} are ''case-sensitive'' strings, matching those in {{{ad_rspec_versions}}} as returned by !GetVersion at this aggregate. 162 164 163 If this option is not included in the request, then the returned Ad RSpec will be of the type specified in {{{default_ad_rspec}}}.165 If this option is not included in the request, then the returned RSpec will be of the type specified in {{{default_ad_rspec}}}. That Rspec will be an Advertisement RSpec when no {{{geni_slice_urn}}} option is supplied. When a valid {{{geni_slice_urn}}} option is supplied, the returned RSpec will be a Manifest RSpec of the type corresponding to {{{default_ad_rspec}}}, but in manifest format. 164 166 165 167 If the aggregate cannot support the requested {{{type}}}/{{{version}}} (that pair is not listed in {{{ad_rspec_versions}}}), then the aggregate returns an Exception.