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