DOML v3.1 Reference#
commons#
BProperty#
Inherits from Property
- Attributes:
value[Boolean]
Configuration#
Inherits from DOMLElement
- Associations:
deployments→ Deployment [0..*]
Credentials#
Inherits from DOMLElement
DOMLElement#
- Associations:
annotations→ Property [0..*]
- Attributes:
name[String]description[String]
DeployableElement#
Inherits from DOMLElement
Deployment#
- Associations:
component→ DeployableElement [1..1]node→ InfrastructureElement [1..1]
FProperty#
Inherits from Property
- Attributes:
value[String]
IProperty#
Inherits from Property
- Attributes:
value[Integer]
KeyPair#
Inherits from Credentials
- Attributes:
user[String]key[String]algorithm[String]bits[Integer]
ListProperty#
Inherits from Property
- Associations:
values→ Property [0..*]
Property#
- Associations:
reference→ DOMLElement [0..1]
- Attributes:
key[String]
SProperty#
Inherits from Property
- Attributes:
value[String]
Source#
Inherits from DOMLElement
- Attributes:
entry[String]inventory[String]backend[String]
UserPass#
Inherits from Credentials
- Attributes:
username[String]password[String]
application#
ApplicationComponent#
Inherits from DeployableElement
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
- Attributes:
databaseName[String]engine[String]engineVersion[String]
SoftwareComponent#
Inherits from ApplicationComponent
- Associations:
exposedInterfaces→ SoftwareInterface [0..*]consumedInterfaces→ SoftwareInterface [0..*]src→ Source [0..1]
- Attributes:
isPersistent[Boolean]licenseCost[String]
SoftwareInterface#
Inherits from ApplicationComponent
- Attributes:
endPoint[String]
infrastructure#
AutoScalingGroup#
Inherits from ComputingGroup
- Associations:
machineDefinition→ VirtualMachine [1..1]
- Attributes:
min[Integer]max[Integer]loadBalancer[String]
ComputingGroup#
Inherits from DOMLElement
- Associations:
groupedNodes→ ComputingNode [0..*]
ComputingNode#
Inherits from Node
- Associations:
location→ Location [0..1]credentials→ Credentials [0..1]group→ ComputingGroup [0..1]nodeSpecificMonitoring→ MonitoringRule [0..1]
- Attributes:
architecture[String]os[String]memory_mb[Integer]memory_kb[Integer]storage[Integer]cpu_count[Integer]cost[Integer]disabledMonitorings[String]
ComputingNodeGenerator#
Inherits from DOMLElement
- Attributes:
uri[String]kind[GeneratorKind]
Container#
Inherits from ComputingNode
- Associations:
generatedFrom→ ContainerImage [0..1]hostConfigs→ ContainerHostConfig [0..*]networks→ ContainerNetwork [0..*]volumes→ ContainerVolume [0..*]dependsOn→ Container [0..*]
ContainerConfig#
Inherits from DOMLElement
- Associations:
iface→ NetworkInterface [0..1]
- Attributes:
container_port[Integer]vm_port[Integer]
ContainerGroup#
Inherits from ComputingGroup
- Associations:
services→ Container [1..*]networks→ ContainerNetwork [0..*]volumes→ ContainerVolume [0..*]
ContainerHostConfig#
Inherits from DOMLElement
- Associations:
environment_variables→ SProperty [0..*]host→ ComputingNode [0..1]configurations→ ContainerConfig [0..*]
ContainerImage#
Inherits from ComputingNodeGenerator
- Associations:
generatedContainers→ Container [0..*]
ContainerNetwork#
Inherits from DOMLElement
- Attributes:
containerNetworkName[String]
ContainerVolume#
Inherits from DOMLElement
- Attributes:
containerVolumeName[String]path[String]
ExecutionEnvironment#
Inherits from InfrastructureElement
- Associations:
location→ Location [0..1]network→ Network [0..1]securityGroups→ SecurityGroup [0..*]
- Attributes:
size[Integer]maxSize[Integer]
ExtInfrastructureElement#
Inherits from InfrastructureElement
FunctionAsAService#
Inherits from InfrastructureElement
- Attributes:
cost[Integer]
InfrastructureElement#
Inherits from DeployableElement
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..*]rules→ MonitoringRule [0..*]executionEnvironments→ ExecutionEnvironment [0..*]
InternetGateway#
Inherits from Node
- Attributes:
address[String]
Location#
Inherits from DOMLElement
- Attributes:
region[String]zone[String]
MonitoringRule#
Inherits from DOMLElement
- Attributes:
condition[String]strategy[String]strategyConfigurationString[String]
Network#
Inherits from DOMLElement
- Associations:
connectedIfaces→ NetworkInterface [0..*]gateways→ InternetGateway [0..*]subnets→ Subnet [0..*]
- Attributes:
protocol[String]cidr[Integer]
NetworkInterface#
Inherits from InfrastructureElement
- Associations:
belongsTo→ Network [0..1]associated→ SecurityGroup [0..1]
- Attributes:
endPoint[Integer]speed[String]
Node#
Inherits from InfrastructureElement
- Associations:
ifaces→ NetworkInterface [0..*]
PhysicalComputingNode#
Inherits from ComputingNode
- Associations:
configInterface→ NetworkInterface [0..1]
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 Node
- Attributes:
label[String]size_gb[Integer]cost[Integer]
Subnet#
Inherits from Network
- Associations:
connectedTo→ Network [0..*]
Swarm#
Inherits from ComputingGroup
- Associations:
roles→ SwarmRole [0..*]
SwarmRole#
Inherits from DOMLElement
- Associations:
nodes→ ComputingNode [0..*]
- Attributes:
kind[String]
VMImage#
Inherits from ComputingNodeGenerator
- Associations:
generatedVMs→ VirtualMachine [0..*]
VirtualMachine#
Inherits from ComputingNode
- Associations:
generatedFrom→ VMImage [0..1]configInterface→ NetworkInterface [0..1]
- Attributes:
sizeDescription[String]
concrete#
AutoScalingGroup#
Inherits from ConcreteElement
- Associations:
maps→ AutoScalingGroup [0..1]
- Attributes:
vm_type[String]
ConcreteElement#
Inherits from DOMLElement
- Associations:
refs→ ConcreteElement [0..*]
- Attributes:
resourceName[String]configurationScript[String]preexisting[Boolean]
ConcreteInfrastructure#
Inherits from DOMLElement
- Associations:
providers→ RuntimeProvider [0..*]
ContainerImage#
Inherits from ConcreteElement
- Associations:
maps→ ContainerImage [0..1]
ExecutionEnvironment#
Inherits from ConcreteElement
- Associations:
maps→ ExecutionEnvironment [0..1]
- Attributes:
instance_type[String]storage_type[String]
FunctionAsAService#
Inherits from ConcreteElement
- Associations:
maps→ FunctionAsAService [0..1]
GenericResource#
Inherits from ConcreteElement
- Attributes:
type[String]
Network#
Inherits from ConcreteElement
- Associations:
subnets→ Subnet [0..*]maps→ Network [0..1]
- Attributes:
protocol[String]addressRange[String]
RuntimeProvider#
Inherits from DOMLElement
- Associations:
resources→ GenericResource [0..*]vms→ VirtualMachine [0..*]executionEnvironments→ ExecutionEnvironment [0..*]vmImages→ VMImage [0..*]containerImages→ ContainerImage [0..*]networks→ Network [0..*]storages→ Storage [0..*]faas→ FunctionAsAService [0..*]autoScalingGroups→ AutoScalingGroup [0..*]
Storage#
Inherits from ConcreteElement
- Associations:
maps→ Storage [0..1]
Subnet#
Inherits from Network
VMImage#
Inherits from ConcreteElement
- Associations:
maps→ VMImage [0..1]
- Attributes:
image_name[String]
VirtualMachine#
Inherits from ConcreteElement
- Associations:
maps→ VirtualMachine [0..1]
- Attributes:
vm_type[String]