added 'enabled' attribute. orgaized
[sfa.git] / sfa / rspecs / versions / pgv2.py
1 from sfa.rspecs.rspec_version import BaseVersion
2 from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements
3
4 class PGv2Ad(PGv2):
5     enabled = True
6     type = 'ProtoGENI'
7     content_type = 'ad'
8     version = '2'
9     schema = 'http://www.protogeni.net/resources/rspec/2/ad.xsd'
10     namespace = 'http://www.protogeni.net/resources/rspec/2' 
11     extensions = { 
12         'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
13         'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1", 
14     }
15     template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/ad.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'      
16
17 class PGv2Request(PGv2):
18     enabled = True
19     type = 'ProtoGENI'
20     content_type = 'request'
21     version = '2'
22     schema = 'http://www.protogeni.net/resources/rspec/2/request.xsd'
23     namespace = 'http://www.protogeni.net/resources/rspec/2'
24     extensions = {
25         'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
26         'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
27     }
28     template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/request.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'
29
30 class PGv2Manifest(PGv2):
31     enabled = True
32     type = 'ProtoGENI'
33     content_type = 'manifest'
34     version = '2'
35     schema = 'http://www.protogeni.net/resources/rspec/2/manifest.xsd'
36     namespace = 'http://www.protogeni.net/resources/rspec/2'
37     extensions = {
38         'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
39         'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
40     }
41     template = '<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.protogeni.net/resources/rspec/2" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" />'
42
43 class PGv2(BaseVersion):
44     elements = [
45         RSpecElement(RSpecElements.NETWORK, 'network', '//default:node[@component_manager_id][1]'),
46         RSpecElement(RSpecElements.NODE, 'node', '//default:node | //node'),
47         RSpecElement(RSpecElements.SLIVER, 'sliver', '//default:node/default:sliver_type | //node/sliver_type'),
48     ]
49  
50
51
52 if __name__ == '__main__':
53     from sfa.rspecs.rspec import RSpec
54     from sfa.rspecs.rspec_elements import *
55     r = RSpec('/tmp/pg.rspec')
56     r.load_rspec_elements(PGv2.elements)
57     r.namespaces = PGv2.namespaces
58     print r.get(RSpecElements.NODE)