Complex Type: UserInfo
This is a data structure for user credentials. Most calls have such credentials in them, if not as an explicit parameter than as an understood one. I'm planning to move this out of the body of most calls into a common header, along with commonly used information like transaction numbers, for clarity. Currently the layout is a placeholder. I expect that keys and other credentials will develop more complex structure.
  • Sequence of:
    • Element: <Name>
      • type: xsd:string
      • occurs: Once
    • Element: <GID>
      • type: xsd:string
      • occurs: Once
    • Element: <KeyID>
      • type: xsd:string
      • occurs: Once
Complex Type: UserList
This encapsulates a list of more than one user. I expect that more than one will be attached to groups.
  • Sequence of:
    • Element: <users>
Simple Type: SliceName
The Slicename is generated by a Naming authority and is, in principle, unique across GENI. It is one of the results of a GetSlice call. SliceNames, SliverNames and TicketNames are all basically simple strings now, but they have distinct type names allocated to them. Again, these names may become more complex, including a version number or an issuing host.
Base Type: xsd:string
Simple Type: SliverName
This name is agreed upon between the component and the user to refer to this resource allocation. Multiple slivers on the same component may be in the same slice, so a separate identifier is needed to manipulate the slivers. When a ticket is made into a sliver the component assigns a name. Because it is really scoped between the component and the user who realizes the ticket, that scope might be good to include. See the documentation of SliceName for notes on the current complexity.
Base Type: xsd:string
Simple Type: TicketName
A ticket is a pre-realization sliver. Because the same two entities who will agree on a ticket - the user and the component - agree on a ticket name, it should be enough to send teh ticket name at realization time. Even when realizing a derived ticket from a GrantTicket, sending the whole ticket data structure back to the component which must keep it around anyway seems unnecessary. See the documentation of SliceName for notes on the current complexity.
Base Type: xsd:string
Simple Type: GMCError
This is a placeholder for an errno-style GMC error descriptor. Most operations would return this on a fault.
Base Type: xsd:int
Simple Type: Resource
Placeholder for at least part of an r?spec. This is the string referring to a resource to allocate. That will certainly become more rich.
Base Type: xsd:string
Simple Type: ResourceBinding
This is the description of the binding from "things on a component" to "resoucres requested in a sliver." Right now just a string as a placeholder.
Base Type: xsd:string
Complex Type: Request
A resuest for resources. Right now this is an unordered list of one or more Resource-typed objects. More complexity will undoubtedly ensue.
  • Sequence of:
    • Element: <ResourceRequest>
Complex Type: Sliver
The description of a sliver, returned by CreateSliver. This includes the name of the sliver created, the slice it's assigned to and a list of resources and the bindings of component stuff to that realizes those resources. The component issuing it and the user creating it agree on its contents.
Complex Type: Ticket
A ticket is a promise to fulfill a resource request at some later time. Because the binding that realizes that request may not be fully resolvable until the request is made, the ticket just includes the resources that will be provided and the slice to which they will be bound. This will eventually be signed, etc. A name is included so that the component and the user can refer to it without passing the whole structure around.
Complex Type: SliverOrSliceName
This combination parameter - a union in C - allows some requests to request either that a specific sliver be operated on or that the all slivers associated with a given slice be operated on. The generated call includes the typing of the parameter so a single interface can accomplish both things. The parameter is either the sliver name (agreed on between the component and the user) or the slice name (which is globally unique).
Complex Type: ComponentSlice
This data structure is used when querying a component about currently realized slices. For each slice active on the machine a list of sliver names is provided. The intent is that these are the slivers associated with that slice.
Complex Type: ComponentSlices
A list of slice to sliver(s) bindings for a given component.
Complex Type: ComponentSliver
This is analogous to ComponentSlice, but with the binding reversed. This lists the slice a sliver is currently bound to. It is used in answering queries about allocated slivers on a component.
Complex Type: ComponentSlivers
A list of sliver to slice bindings for a given component.