Topology schema for VIRL, v0.95 (C) Copyright 2012-2016 Cisco Systems Inc. All rights reserved. This optional decimal value is used to indicate the instance document's schema version compatibility, which is not necessarily the version of the schema that updated the document. VM Maestro uses this to enforce version specific changes. This specifies which validation rules should be enforced before sending the document to the simulation back-end. This may be as simple as warning the user about incompatibilities or missing elements (which is what VM Maestro does through visual problem markers on the graphical editor). Note: The current list of available options for this attribute is just a suggestion, as there are currently no other implementers. Connections define links (physical or not) between any model elements. A connection's endpoints may be nodes, but may also be a model element within a node. For instance, when connecting to a CRS1, it may terminate at a specific port within the platform complex. For bi-direction connections, the target and source elements are interchangeable, but that is up to the actual model's interpretation. The src and dst attributes are XPath expressions identifying the connection's endpoints. Note: In the case of using pre-built components, it is possible that these refer to internal components that are not necessarily present in the document. Parsers must allow for this. (Please contact me, Dan Bourque, for suggestions on how to achieve this) A group may contain any number of sub-groups and/or nodes, allowing us unlimited depth nesting. This effectively allows us to define arbitrarily huge topologies while allowing the UI to remain performant and intuitive. Any string, rendered as its label in VM Maestro. It may include special characters (e.g. newline, accents, etc), but must be escape-sequenced. Nodes represent all edge devices on a network, and are the basic building blocks of a topology. A node may be as simple as an IP Phone, or as complex as a fully stacked CRS1. Any string, rendered as its label in VM Maestro. It may include special characters (e.g. newline, accents, etc), but must be escape-sequenced. This indicates the node's type, and determines which (if any) schema specific validation rules to enforce on it. WARNING: The SEGMENT type has been deprecated. It is only present for backward compatibility. If used, this attribute indicates a more specific category of node. The list of valid subtypes depends on the back end used to simulate the topology. Specifies the node's x/y location on a canvas, in a comma-separated x,y string. This optional attribute may specify the OpenStack VM Image to use for this node. This optional parameter may specify the OpenStack's Flavor (a.k.a. profile) to use for this node. This optional parameter may specify the OpenStack's Volume to use for this node. This optional attribute may specify the IPV6 address for this node. This optional attribute indicates whether or not this node is to be skipped during the simulation launch. By default, all nodes in a topology are launched. Nodes of type ROUTER may declare interfaces. Nodes of type VXR expose their interfaces by declaring ports within the VXR platform complex instead. Any string. The valid format, such as GigabitEthernet0/0/0/2, depends on the parent node's subtype. This string will be rendered as a connection endpoint's label decoration in VM Maestro. This optional attribute may specify the IPv4 address for this node. This optional attribute may specify the IPv6 address for this node. This optional attribute may specify the IPv4 net prefix length for this node. This optional attribute may specify the IPv6 net prefix length for this node. Container element for the list of tags. Tags are simple labels that can be associated with most elements in the document. Element that contains one tag. The tag is the character content of this element, and that tag is associated with the grand-parent of this element (i.e., the parent of the tags element). An extensions block may be added to any abstract model object. This extensions block contains one or more entry, which is a key/value pair, allowing any metadata to be attached to any model element. This type field will typically be any of the java.lang.* classes, such as String, Integer, Boolean, etc. However, it may even be any custom package's class, such as com.cisco.MySpiffyClass. The only requirement is that this class's .toString() output may be used as the input parameter to the same class's constructor, in order to produce an exact copy of the original instance. The ipv4Type data type is an xs:string of decimal digits separated by '.' (period) characters. It represents the 32-bit dotted-decimal notation of IPv4 addresses. Valid IPv4 addresses contain a series of four one-byte long decimal numbers (0 - 255) separated by the '.' character (a total of three '.' characters appear). A valid value of the IPv4Address data type is "212.23.123.0". See RFC 790 in Section 2.2.2 for further details on IPv4 addresses. The ipv6Type data type is an xs:string of hexadecimal digits ('0'-'9' and 'A'-'F' or 'a'-'f') separated by ':' (colon) characters. It represents the 128-bit notation of IPv6 addresses. Fully expanded IPv6 addresses contain a series of eight two-byte long hexadecimal numbers separated by the ":" character (a total of seven ':' characters appear). A single two-byte long hexadecimal number contains up to four hexadecimal digits. All valid IPv6 addresses are supported in the MDL. A valid value of the ipv6Type data type is "2001:DB8:0000:0056:0000:ABCD:EF12:1234". See RFC 2460 for further details on IPv6 addresses and valid shorthand notations. Space separated number. The valid format, such as 0 0 0 2, or 0 1, depends on the parent node's subtype. The color, using hexadecimal notation. It's the value of red<<16|green<<8|blue, left-padded to fill 6 hex chars. A rectangle annotation. The rectangle's left edge. The rectangle's top edge. The radius of the rectangle's rounded edges. The initial value shall be 10. The rectangle's width. The rectangle's height. The fill's opacity. The fill's color. The initial value shall be CCCCCC. The border's opacity. The border's color. The border's width. The initial value shall be 3. The border's pattern. An ellipse annotation. The ellipse's left edge. The ellipse's top edge. The ellipse's width. The ellipse's height. The fill's opacity. The fill's color. The initial value shall be CCCCCC. The border's opacity. The border's color. The border's width. The initial value shall be 3. The border's pattern. A line annotation. The X component of the start point. The Y component of the start point. The X component of the end point. The Y component of the end point. The line's start arrow type. The line's end arrow type. The border's opacity. The border's color. The border's width. The initial value shall be 3. The border's pattern. A text annotation. The left edge of the text. The top edge of the text. The font. The font's point size. The text's alignment. Whether or not the text is bold. Whether or not the text is italicized. Whether or not the text is underlined. Whether or not the text has a strikethrough. The font's opacity. The font's color.