import toto.graph;
facet VM {
installer: iaas;
}
VM_ec2 {
facets: VM;
children: cluster-node, mysql;
}
VM_openstack {
facets: VM;
children: cluster-node, mysql;
}
cluster-node {
alias: a cluster node;
installer: puppet;
exports: ip, port, optional-property1, optional_property2;
imports: cluster-node.ip (optional), cluster-node.port (optional), mysql.ip, mysql.port;
}
mysql {
alias: a MySQL database;
installer: puppet;
exports: ip, port;
}
instance of VM_ec2 {
name: VM_;
count: 3;
my-instance-property: whatever;
instance of cluster-node {
name: cluster node;
}
}
instance of VM_openstack {
name: VM_database;
instance of mysql {
name: mysql;
}
}