autopep8
[sfa.git] / sfa / rspecs / versions / pgv3.py
1 from sfa.rspecs.versions.pgv2 import PGv2
2
3
4 class GENIv3(PGv2):
5     type = 'GENI'
6     content_type = 'ad'
7     version = '3'
8     schema = 'http://www.geni.net/resources/rspec/3/ad.xsd'
9     namespace = 'http://www.geni.net/resources/rspec/3'
10     extensions = {
11         'flack': "http://www.protogeni.net/resources/rspec/ext/flack/1",
12         'planetlab': "http://www.planet-lab.org/resources/sfa/ext/planetlab/1",
13         'plos': "http://www.planet-lab.org/resources/sfa/ext/plos/1",
14     }
15     namespaces = dict(list(extensions.items()) + [('default', namespace)])
16     elements = []
17
18
19 class GENIv3Ad(GENIv3):
20     enabled = True
21     content_type = 'ad'
22     schema = 'http://www.geni.net/resources/rspec/3/ad.xsd'
23     template = """<rspec type="advertisement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3" xmlns:plos="http://www.planet-lab.org/resources/sfa/ext/plos/1" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" xmlns:opstate="http://www.geni.net/resources/rspec/ext/opstate/1" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/ad.xsd http://www.planet-lab.org/resources/sfa/ext/planetlab/1 http://www.planet-lab.org/resources/sfa/ext/planetlab/1/planetlab.xsd http://www.planet-lab.org/resources/sfa/ext/plos/1 http://www.planet-lab.org/resources/sfa/ext/plos/1/plos.xsd http://www.geni.net/resources/rspec/ext/opstate/1 http://www.geni.net/resources/rspec/ext/opstate/1/ad.xsd">
24     <opstate:rspec_opstate aggregate_manager_id="urn:publicid:IDN+plc+authority+cm" start="geni_notready">
25       <opstate:sliver_type name="plab-vserver" />
26       <opstate:sliver_type name="plos-pc" />
27       <opstate:state name="geni_notready">
28         <opstate:action name="geni_start" next="geni_ready">
29           <opstate:description>Boot the node</opstate:description>
30         </opstate:action>
31         <opstate:description>VMs begin powered down or inactive. They
32         must be explicitly booted before use.</opstate:description>
33       </opstate:state>
34       <opstate:state name="geni_ready">
35         <opstate:description>The node is up and ready to use.</opstate:description>
36       </opstate:state>
37       <opstate:state name="geni_failed">
38         <opstate:description>The node has failed and requires administrator
39         intervention before it can be used. Please contact support
40         for assistance.</opstate:description>
41       </opstate:state>
42     </opstate:rspec_opstate>
43 </rspec>"""
44
45
46 class GENIv3Request(GENIv3):
47     enabled = True
48     content_type = 'request'
49     schema = 'http://www.geni.net/resources/rspec/3/request.xsd'
50     template = '<rspec type="request" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3" xmlns:plos="http://www.planet-lab.org/resources/sfa/ext/plos/1" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd http://www.planet-lab.org/resources/sfa/ext/planetlab/1 http://www.planet-lab.org/resources/sfa/ext/planetlab/1/planetlab.xsd http://www.planet-lab.org/resources/sfa/ext/plos/1 http://www.planet-lab.org/resources/sfa/ext/plos/1/plos.xsd"/>'
51
52
53 class GENIv2Manifest(GENIv3):
54     enabled = True
55     content_type = 'manifest'
56     schema = 'http://www.geni.net/resources/rspec/3/manifest.xsd'
57     template = '<rspec type="manifest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3" xmlns:plos="http://www.planet-lab.org/resources/sfa/ext/plos/1" xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" xmlns:ssh-user="http://www.geni.net/resources/rspec/ext/user/1" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/manifest.xsd http://www.planet-lab.org/resources/sfa/ext/planetlab/1 http://www.planet-lab.org/resources/sfa/ext/planetlab/1/planetlab.xsd http://www.planet-lab.org/resources/sfa/ext/plos/1 http://www.planet-lab.org/resources/sfa/ext/plos/1/plos.xsd http://www.geni.net/resources/rspec/ext/user/1 http://www.geni.net/resources/rspec/ext/user/1/manifest.xsd"/>'