DOML v2.0 Reference#
commons#
BProperty#
Inherits from Property
- Attributes:
value[Boolean]
Configuration#
Inherits from DOMLElement
- Associations:
deployments→ Deployment [0..*]
DOMLElement#
- Associations:
annotations→ Property [0..*]
- Attributes:
name[String]description[String]
Deployment#
- Associations:
component→ ApplicationComponent [1..1]node→ InfrastructureElement [1..1]
FProperty#
Inherits from Property
- Attributes:
value[String]
IProperty#
Inherits from Property
- Attributes:
value[Integer]
Property#
- Associations:
reference→ DOMLElement [0..1]
- Attributes:
key[String]
SProperty#
Inherits from Property
- Attributes:
value[String]
application#
ApplicationComponent#
Inherits from DOMLElement
ApplicationLayer#
Inherits from DOMLElement
- Associations:
components→ ApplicationComponent [0..*]
DBMS#
Inherits from SoftwareComponent
SaaS#
Inherits from ApplicationComponent
- Associations:
exposedInterfaces→ SoftwareInterface [0..*]
- Attributes:
licenseCost[String]
SaaSDBMS#
Inherits from SaaS
SoftwareComponent#
Inherits from ApplicationComponent
- Associations:
exposedInterfaces→ SoftwareInterface [0..*]consumedInterfaces→ SoftwareInterface [0..*]
- Attributes:
isPersistent[Boolean]licenseCost[String]configFile[String]
SoftwareInterface#
Inherits from ApplicationComponent
- Attributes:
endPoint[String]
infrastructure#
AutoScalingGroup#
Inherits from ComputingGroup
- Associations:
machineDefinition→ VirtualMachine [1..1]deploymentNetwork→ Network [0..1]securityGroup→ SecurityGroup [0..1]
- Attributes:
min[Integer]max[Integer]loadBalancer[String]
ComputingGroup#
Inherits from DOMLElement
- Associations:
groupedNodes→ ComputingNode [0..*]
ComputingNode#
Inherits from InfrastructureElement
- Associations:
ifaces→ NetworkInterface [0..*]location→ Location [0..1]credentials→ Credentials [0..1]group→ ComputingGroup [0..1]
- Attributes:
architecture[String]os[String]memory_mb[Integer]memory_kb[Integer]storage[String]cpu_count[Integer]cost[Integer]
ComputingNodeGenerator#
Inherits from DOMLElement
- Attributes:
uri[String]kind[GeneratorKind]
Container#
Inherits from ComputingNode
- Associations:
generatedFrom→ ContainerImage [0..1]hosts→ ComputingNode [0..*]
ContainerImage#
Inherits from ComputingNodeGenerator
- Associations:
generatedContainers→ Container [0..*]
Credentials#
Inherits from DOMLElement
ExtInfrastructureElement#
Inherits from InfrastructureElement
FunctionAsAService#
Inherits from InfrastructureElement
- Associations:
ifaces→ NetworkInterface [0..*]
- Attributes:
cost[Integer]
InfrastructureElement#
Inherits from DOMLElement
InfrastructureLayer#
Inherits from DOMLElement
- Associations:
nodes→ ComputingNode [0..*]generators→ ComputingNodeGenerator [0..*]storages→ Storage [0..*]faas→ FunctionAsAService [0..*]credentials→ Credentials [0..*]groups→ ComputingGroup [0..*]securityGroups→ SecurityGroup [0..*]networks→ Network [0..*]
InternetGateway#
Inherits from NetworkInterface
KeyPair#
Inherits from Credentials
- Attributes:
user[String]keyfile[String]algorithm[String]bits[Integer]
Location#
Inherits from DOMLElement
- Attributes:
region[String]zone[String]
Network#
Inherits from DOMLElement
- Associations:
connectedIfaces→ NetworkInterface [0..*]igws→ InternetGateway [0..*]subnets→ Subnet [0..*]
- Attributes:
protocol[String]address_lb[Integer]address_ub[Integer]
NetworkInterface#
Inherits from InfrastructureElement
- Associations:
belongsTo→ Network [0..1]associated→ SecurityGroup [0..1]
- Attributes:
endPoint[Integer]speed[String]
PhysicalComputingNode#
Inherits from ComputingNode
Rule#
Inherits from DOMLElement
- Attributes:
kind[String]protocol[String]fromPort[Integer]toPort[Integer]cidr[String]
SecurityGroup#
Inherits from DOMLElement
- Associations:
rules→ Rule [0..*]ifaces→ NetworkInterface [0..*]
Storage#
Inherits from InfrastructureElement
- Associations:
ifaces→ NetworkInterface [0..*]
- Attributes:
label[String]size_gb[Integer]cost[Integer]
Subnet#
Inherits from Network
- Associations:
connectedTo→ Network [0..1]
Swarm#
Inherits from ComputingGroup
- Associations:
roles→ SwarmRole [0..*]
SwarmRole#
Inherits from DOMLElement
- Associations:
nodes→ ComputingNode [0..*]
- Attributes:
kind[String]
UserPass#
Inherits from Credentials
- Attributes:
username[String]password[String]
VMImage#
Inherits from ComputingNodeGenerator
- Associations:
generatedVMs→ VirtualMachine [0..*]
VirtualMachine#
Inherits from ComputingNode
- Associations:
generatedFrom→ VMImage [0..1]
- Attributes:
sizeDescription[String]
concrete#
ComputingGroup#
Inherits from ConcreteElement
- Associations:
maps→ ComputingGroup [1..1]
ConcreteElement#
Inherits from DOMLElement
- Attributes:
configurationScript[String]
ConcreteInfrastructure#
Inherits from DOMLElement
- Associations:
providers→ RuntimeProvider [0..*]
ContainerImage#
Inherits from ConcreteElement
- Associations:
maps→ ContainerImage [0..1]
FunctionAsAService#
Inherits from ConcreteElement
- Associations:
maps→ FunctionAsAService [0..1]
Network#
Inherits from ConcreteElement
- Associations:
maps→ Network [0..1]
RuntimeProvider#
Inherits from DOMLElement
- Associations:
vms→ VirtualMachine [0..*]vmImages→ VMImage [0..*]containerImages→ ContainerImage [0..*]networks→ Network [0..*]storages→ Storage [0..*]faas→ FunctionAsAService [0..*]group→ ComputingGroup [0..*]
Storage#
Inherits from ConcreteElement
- Associations:
maps→ Storage [0..1]
VMImage#
Inherits from ConcreteElement
- Associations:
maps→ VMImage [0..1]
VirtualMachine#
Inherits from ConcreteElement
- Associations:
maps→ VirtualMachine [0..1]