geni.rspec.pgad

class geni.rspec.pgad.AdInterface(name)[source]

Wrapper object for a Node Interface in a GENIv3 Advertisement.

component_id

str – Component ID URN

role

str – The resource role of this interface (typically “control” or “experimental”). None if unset.

name

str – Friendly name for this interface, None if unset.

text
class geni.rspec.pgad.AdNode[source]

Wrapper object for a Node in a GENIv3 advertisement.

Note

In general this object is created on-demand through Advertisement objects, but you can load this object from a Node XML element by using the _fromdom classmethod.

component_id

str – Component ID URN

component_manager_id

str – Component Manager ID URN

name

str – Friendly name provided by aggregate for this resource.

exclusive

bool – True if a node can be reserved as a raw PC

available

bool – Whether this node is currently available for reservations

hardware_types

dict – Mapping of { type_name : type_slots, ... }

sliver_types

set – Supported sliver type

images

dict – Mapping of { sliver_type : [supported_image_name, ...], ... }

shared

bool – True if currently being used as a shared resource

interfaces

list – List of AdInterface objects for this Node

location

AdLocation – None if not available

ram

int – Currently available system RAM in megabytes. None if not available.

cpu

int – Maximum Per-core CPU speed in Mhz. None if not available.

text
class geni.rspec.pgad.AdSharedVLAN[source]
class geni.rspec.pgad.Advertisement(path=None, xml=None)[source]

Wrapper object for a GENIv3 XML advertisement.

Only one argument can be supplied (if both are provided path will be used)

Parameters:
  • path (str, unicode) – Path to XML file on disk containing an advertisement
  • xml (str, unicode) – In-memory XML byte stream containing an advertisement
images

An iterable of the unique images found in this advertisement.

An indexable iterator over the AdLink objects in this advertisement.

nodes

An indexable iterator over the AdNode objects in this advertisement.

routable_addresses

A RoutableAddresses object containing the number of configured and available publicly routable IP addresses at this site.

shared_vlans

An indexable iterator of the shared vlan names found in this advertisement.

stitchinfo

Reference to the stitching info in the manifest, if present.

text

Advertisement XML contents as a string, formatted with whitespace for easier reading.

writeXML(path)[source]

Write the current advertisement as an XML file that contains an rspec in the format returned by the aggregate.

class geni.rspec.pgad.Image[source]
class geni.rspec.pgad.Location[source]
class geni.rspec.pgad.RoutableAddresses[source]
capacity