Proposed Eucalyptus RSpec
[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    keypairs,
11    images,
12    cluster+
13 }
14 user-info = element user-info {
15    credential
16 }
17 keypairs = element keypairs { keypair+ }
18 images = element images { image+ }
19 image = element image {
20    attribute id { xsd:ID },
21    type,
22    arch,
23    state,
24    location
25 }
26 cluster = element cluster {
27    attribute id { xsd:ID },
28    ipv4,
29    vm-types
30 }
31 vm-types = element vm-types { vm-type+ }
32 vm-type = element vm-type {
33    attribute name { xsd:ID },
34    free-slots,
35    max-instances,
36    cores,
37    memory,
38    disk-space,
39    request?
40 }
41 request = element request {
42    instances,
43    kernel-image,
44    ramdisk,
45    disk-image,
46    keypair
47 }
48 credential = element credential { text }
49 ipv4 = element ipv4 { text }
50 keypair = element keypair { text }
51 type = element type { text }
52 arch = element arch { text }
53 state = element state { text }
54 location = element location { text }
55 free-slots = element free-slots { text }
56 max-instances = element max-instances { text }
57 cores = element cores { text }
58 memory = element memory {
59    attribute unit { xsd:NMTOKEN },
60    text
61 }
62 disk-space = element disk-space {
63    attribute unit { xsd:NMTOKEN },
64    text
65 }
66 instances = element instances { text }
67 kernel-image = element kernel-image {
68    attribute id { xsd:IDREF },
69    empty
70 }
71 ramdisk = element ramdisk {
72    attribute id { xsd:IDREF }?,
73    empty
74 }
75 disk-image = element disk-image {
76    attribute id { xsd:IDREF },
77    empty
78 }