Changes between Version 27 and Version 28 of NewTestbedAPISpec


Ignore:
Timestamp:
Jul 8, 2014 2:55:14 PM (10 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewTestbedAPISpec

    v27 v28  
    11611161After {{{releaseExperiment}}} succeeds, experiment state remains in the testbed, but containers are stopped and resources are returned to the testbed.
    11621162
     1163=== Experiment Profiles ===
     1164
     1165Experiments have profiles attached to them, as users, circles, and projects do.  Information in a profile is metadata about the experiment, intended for human consumption.  This is in opposition to an aspect which is intended for the testbed or experiment infrastructure to interpret.
     1166
     1167The calls for manipulating an experiment profile are very similar to other profiles:
     1168
     1169To get a profile schema, for example to create an empty web page,
     1170
     1171 * '''Service:''' Experiments
     1172 * '''Operation:''' getProfileDescription
     1173 * '''Input Parameters:'''
     1174 * '''Return Values:'''
     1175   * ExperimentId - always empty
     1176   * A list of profile elements each containing
     1177     * Name - a string, the element's name
     1178     * DataType - a string giving the element's
     1179       * string
     1180       * integer
     1181       * double
     1182       * binary/opaque
     1183     * Value - a string containing the element's value
     1184     * Access - a string describing the access values (values [http://www.isi.edu/~faber/tmp/DeterAPI/doc/constant-values.html here])
     1185     * Optional - a flag true if the field is optional (must be present but may be empty)
     1186     * Removable - a flag true if the field can be removed
     1187     * Description - a string explaining the field
     1188     * Format - a regular expression that can be used to validate the field entry (may be null, and generally is for optional fields)
     1189     * FormatDescription - A brief, natural language description of the field input constraints, e.g. "A valid e-mail address" or "only numbers and spaces".
     1190     * OrderingHint - an integer suggesting where to present the attribute. Lower numbers come first
     1191     * LengthHint - an integer suggesting how long an input firld should be presented
     1192
     1193To read an experiment's profile.
     1194
     1195 * '''Service:''' Experiments
     1196 * '''Operation:''' getExperimentProfile
     1197 * '''Input Parameters:'''
     1198  * eid - a string naming the experiment to be retrieved
     1199 * '''Return Values:'''
     1200   * ExperimentId - the experiment whose profile is returned
     1201   * A list of profile elements each containing
     1202     * Name - a string, the element's name
     1203     * DataType - a string giving the element's
     1204       * string
     1205       * integer
     1206       * double
     1207       * binary/opaque
     1208     * Value - a string containing the element's value
     1209     * Access - a string describing the access values (Defined [http://www.isi.edu/~faber/tmp/DeterAPI/doc/constant-values.html here])
     1210     * Optional - a flag true if the field is optional (must be present but may be empty)
     1211     * Removable - a flag true if the field can be removed
     1212     * Description - a string explaining the field
     1213     * Format - a regular expression that can be used to validate the field entry (may be null, and generally is for optional fields)
     1214     * FormatDescription - A brief, natural language description of the field input constraints, e.g. "A valid e-mail address" or "only numbers and spaces".
     1215     * OrderingHint - an integer suggesting where to present the attribute. Lower numbers come first
     1216     * LengthHint - an integer suggesting how long an input field should be presented
     1217
     1218Finally a user can modify an experiment profile:
     1219 
     1220 * '''Service:''' Experiments
     1221 * '''Operation:''' changeExperimentProfile
     1222 * '''Input Parameters:'''
     1223   * Eid - the experiment's profile to modify
     1224   * A list of change requests. Each request contains
     1225     * Name - the name of the field to change
     1226     * Value - the new value of the field
     1227     * Delete - a flag, if true delete the field rather than modify it
     1228 * '''Return Values:'''
     1229   * A list of responses each containing
     1230    * Name - astring with the name of the field
     1231    * Success - a flag indicating if the request succeeded
     1232    * Reason - a string indicating the reason if Success is false
     1233
     1234
     1235=== Manipulating Profile Attributes ===
     1236
     1237Administrators may add attributes to experiment profiles or remove them.  That is to say, add a schema (including format constraints and descriptions), not set a value for a project.
     1238
     1239Creating an attribute:
     1240
     1241* '''Service:''' Experiments
     1242 * '''Operation:''' createExperimentAttribute
     1243 * '''Input Parameters:'''
     1244   * Name - the attribute name
     1245   * Type - the type (STRING, INT, FLOAT, OPAQUE)
     1246   * Optional - a boolean, true if this attribute is optional
     1247   * Access - a string: the user's ability to modify (READ_WRITE, READ_ONLY, WRITE_ONLY, NO_ACCESS)
     1248   * Description - natural language description of the field (optional)
     1249   * Format - a regular expression describing the format (optional)
     1250   * Formatdescription - a natural language explanation of the format (optional)
     1251   * OrderingHint - an integer suggesting where to present the attribute. Lower numbers come first
     1252   * LengthHint - an integer suggesting how long an input
     1253   * Def - default value of the attribute (will be set for all users)
     1254 * '''Return Values:'''
     1255  * a boolean, true if the attribute was created
     1256
     1257And removing an attribute:
     1258
     1259* '''Service:''' Experiments
     1260 * '''Operation:''' removeExperimentAttribute
     1261 * '''Input Parameters:'''
     1262   * Name - the attribute name
     1263 * '''Return Values:'''
     1264  * a boolean, true if the attribute was removed
     1265
     1266Finally administrators can modify profile attributes:
     1267
     1268* '''Service:''' Experiments
     1269 * '''Operation:''' modifyExperimentAttribute
     1270 * '''Input Parameters:'''
     1271   * Name - the attribute name
     1272   * Type - the type (STRING, INT, FLOAT, OPAQUE)
     1273   * Optional - a boolean, true if this attribute is optional
     1274   * Access - a string: the user's ability to modify (READ_WRITE, READ_ONLY, WRITE_ONLY, NO_ACCESS)
     1275   * Description - natural language description of the field (optional)
     1276   * Format - a regular expression describing the format (optional)
     1277   * Formatdescription - a natural language explanation of the format (optional)
     1278   * OrderingHint - an integer suggesting where to present the attribute. Lower numbers come first
     1279   * LengthHint - an integer suggesting how long an input
     1280 * '''Return Values:'''
     1281  * a boolean, true if the attribute was created
     1282
     1283
    11631284== Admin ==
    11641285