Changes between Version 20 and Version 21 of AaronHelsinger/GAPI_AM_API_DRAFT


Ignore:
Timestamp:
03/29/12 14:33:39 (7 years ago)
Author:
Aaron Helsinger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AaronHelsinger/GAPI_AM_API_DRAFT

    v20 v21  
    10111011The manifest is a manifest of only newly allocated slivers. The `geni_end_time` argument requests an expiration of the allocated slivers. AMs may not be able to honor it, but may still succeed the overall request.
    10121012
    1013  == !RenewAllocations ==
    1014 AKA Renew() or !RenewAllocated
    1015 {{{
    1016 struct RenewAllocations(string urn[],
     1013 == !Renew ==
     1014AKA !RenewSliver() or !RenewAllocated
     1015{{{
     1016struct Renew(string urn[],
    10171017                    struct credentials[],
    10181018                    string expiration_time,
     
    10401040   geni_sliver_urn: <string>,
    10411041   geni_allocation_status: <string>,
     1042   geni_operational_status: <string>,
    10421043   geni_expires: <time when the sliver expires from its current state>,
    10431044   <others AM or method specific>
     
    10471048}}}
    10481049
    1049 FIXME: Combine with !RenewSlivers()?
    10501050FIXME: Split Renew(slice) from Renew(slivers)
    10511051
     
    10961096{{{
    10971097struct ProvisionSlivers(string urn[], struct credentials[], 
    1098                                  struct users[], struct options)
     1098                                   struct options)
    10991099}}}
    11001100
     
    11111111}}}
    11121112
    1113 Options include {{{geni_best_effort = True/False, default false}}}, {{{geni_end_time}}}
     1113Options include:
     1114 - {{{geni_best_effort = True/False, default false}}}
     1115 - {{{geni_end_time}}}
     1116 - `struct users[]`: An array of user structs, which contain information about the users that might login to the sliver that the AM needs to know about. Each struct must include the key 'keys', which is an array of strings and can be empty. The struct must also include the key 'urn', which is the user’s URN string. The users array can be empty. For example:
     1117{{{
     1118[
     1119  {
     1120    urn: urn:publicid:IDN+geni.net:gcf+user+alice
     1121    keys: [<ssh key>, <ssh key>]
     1122  },
     1123  {
     1124    urn: urn:publicid:IDN+geni.net:gcf+user+bob
     1125    keys: [<ssh key>]
     1126  }
     1127]
     1128}}}
    11141129
    11151130Return struct:
     
    11391154{{{
    11401155struct UpdateSlivers(string urn[], struct credentials[], string rspec,
    1141                                                  struct users[], struct options)
     1156                                                 struct options)
    11421157}}}
    11431158
     
    11541169}}}
    11551170
    1156 Options include {{{geni_end_time}}} and {{{geni_best_effort: <True/False, default false>}}}
     1171Options include:
     1172 - {{{geni_end_time}}}
     1173 - {{{geni_best_effort: <True/False, default false>}}}
     1174 - `struct users[]`: An array of user structs, which contain information about the users that might login to the sliver that the AM needs to know about. Each struct must include the key 'keys', which is an array of strings and can be empty. The struct must also include the key 'urn', which is the user’s URN string. The users array can be empty. For example:
     1175{{{
     1176[
     1177  {
     1178    urn: urn:publicid:IDN+geni.net:gcf+user+alice
     1179    keys: [<ssh key>, <ssh key>]
     1180  },
     1181  {
     1182    urn: urn:publicid:IDN+geni.net:gcf+user+bob
     1183    keys: [<ssh key>]
     1184  }
     1185]
     1186}}}
    11571187
    11581188Return struct:
     
    11781208FIXME: Is this the same method as for updating allocated slivers?
    11791209FIXME: Return both a manifest and a delta RSpec?
    1180 
    1181  == !RenewSlivers ==
    1182 AKA Renew() or !RenewProvisioned()
    1183 {{{
    1184 struct RenewSlivers(string urn[],
    1185                     struct credentials[],
    1186                     string expiration_time,
    1187                     struct options)
    1188 }}}
    1189 
    1190 Where credentials is:
    1191 {{{
    1192 credentials = [
    1193    {
    1194     geni_type: <string>,
    1195     geni_version: <string>,
    1196     geni_value: <string>,
    1197     <others>
    1198    }
    1199 ]
    1200 }}}
    1201 
    1202 Options include {{{geni_best_effort: <True/False, default false>}}}
    1203 
    1204 Return list of structs:
    1205 {{{
    1206 [
    1207   {
    1208    geni_sliver_urn: <string>,
    1209    geni_allocation_status: <string>,
    1210    geni_operational_status: <string>,
    1211    geni_expires: <time when the sliver expires from its current state>,
    1212    <others AM or resource specific>
    1213   },
    1214   ...
    1215 ]
    1216 }}}
    1217 
    1218 FIXME: Combine with !RenewAllocations()?
    1219 FIXME: Split Renew(slice) from Renew(slivers)
    12201210
    12211211 == !SliversStatus ==