1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<span class="hljs-comment"># This is a comment</span>
<span class="hljs-keyword">import</span> toto.graph;
<span class="hljs-comment">##</span>
<span class="hljs-comment"># Facet</span>
<span class="hljs-comment">##</span>
<span class="hljs-keyword">facet</span> VM {
<span class="hljs-attribute">installer</span>: iaas;
}
<span class="hljs-comment"># Components</span>
VM_ec2 {
<span class="hljs-attribute">facets</span>: VM;
<span class="hljs-attribute">children</span>: cluster-node, mysql;
}
VM_openstack {
<span class="hljs-attribute">facets</span>: VM;
<span class="hljs-attribute">children</span>: cluster-node, mysql;
}
cluster-node {
<span class="hljs-attribute">alias</span>: a cluster node;
<span class="hljs-attribute">installer</span>: puppet;
<span class="hljs-attribute">exports</span>: ip, port, optional-property1, optional_property2;
<span class="hljs-attribute">imports</span>: cluster-node<span class="hljs-variable">.ip</span> <span class="hljs-keyword">(optional)</span>, cluster-node<span class="hljs-variable">.port</span> <span class="hljs-keyword">(optional)</span>, mysql<span class="hljs-variable">.ip</span>, mysql<span class="hljs-variable">.port</span>;
}
mysql {
<span class="hljs-attribute">alias</span>: a MySQL database;
<span class="hljs-attribute">installer</span>: puppet;
<span class="hljs-attribute">exports</span>: ip, port;
}
<span class="hljs-comment">##</span>
<span class="hljs-comment"># Normally, instances are defined in another file...</span>
<span class="hljs-comment">##</span>
<span class="hljs-keyword">instance</span> <span class="hljs-keyword">of</span> VM_ec2 {
<span class="hljs-attribute">name</span>: VM_;
<span class="hljs-attribute">count</span>: 3;
<span class="hljs-attribute">my-instance-property</span>: whatever;
<span class="hljs-keyword">instance</span> <span class="hljs-keyword">of</span> cluster-node {
<span class="hljs-attribute">name</span>: cluster node; <span class="hljs-comment"># An in-line comment</span>
}
}
<span class="hljs-keyword">instance</span> <span class="hljs-keyword">of</span> VM_openstack {
<span class="hljs-attribute">name</span>: VM_database;
<span class="hljs-keyword">instance</span> <span class="hljs-keyword">of</span> mysql {
<span class="hljs-attribute">name</span>: mysql;
}
}
|