Small edit in order to test the git repo. NT.
[sfa.git] / sfa / managers / eucalyptus / eucalyptus.rnc
1 start = RSpec
2 RSpec = element RSpec {
3     attribute type { xsd:NMTOKEN },
4     cloud
5 }
6 cloud = element cloud {
7     attribute id { xsd:NMTOKEN },
8     user_info?,
9     ipv4,
10     bundles,
11     #keypairs,
12     #images,
13     cluster+
14 }
15
16 user_info = element user_info { 
17     element credential { text }
18 }
19
20 keypairs = element keypairs { keypair+ }
21 keypair = element keypair { text }
22
23 bundles = element bundles {
24     element bundle {
25         attribute id { xsd:ID },
26         empty
27     }+
28 }
29
30 images = element images { image+ }
31 image = element image {
32    attribute id { xsd:ID },
33    type,
34    arch,
35    state,
36    location
37 }
38 cluster = element cluster {
39    attribute id { xsd:ID },
40    ipv4,
41    vm_types
42 }
43 vm_types = element vm_types { vm_type+ }
44 vm_type = element vm_type {
45    attribute name { xsd:ID },
46    free_slots,
47    max_instances,
48    cores,
49    memory,
50    disk_space,
51    euca_instances?,
52    request?
53 }
54
55 request = element request {
56     instances,
57     element bundle {
58         xsd:IDREF
59     }
60 }
61
62 oldrequest = element oldrequest {
63    instances,
64    kernel_image,
65    ramdisk,
66    disk_image,
67    keypair
68 }
69
70 euca_instances = element euca_instances {
71    euca_instance+
72 }
73 euca_instance = element euca_instance {
74    attribute id { xsd:ID },
75    state,
76    public_dns,
77    keypair?
78 }
79 ipv4 = element ipv4 { text }
80 type = element type { text }
81 arch = element arch { text }
82 state = element state { text }
83 location = element location { text }
84 free_slots = element free_slots { text }
85 max_instances = element max_instances { text }
86 cores = element cores { text }
87 public_dns = element public_dns { text }
88 memory = element memory {
89    attribute unit { xsd:NMTOKEN },
90    text
91 }
92 disk_space = element disk_space {
93    attribute unit { xsd:NMTOKEN },
94    text
95 }
96 instances = element instances { xsd:unsignedInt }
97 kernel_image = element kernel_image {
98    attribute id { xsd:IDREF },
99    empty
100 }
101 ramdisk = element ramdisk {
102    attribute id { xsd:IDREF }?,
103    empty
104 }
105 disk_image = element disk_image {
106    attribute id { xsd:IDREF },
107    empty
108 }