DOML v3.0 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]

    • keyfile [String]

    • algorithm [String]

    • bits [Integer]

Property#

  • Associations:
    • reference → DOMLElement [0..1]

  • Attributes:
    • key [String]

SProperty#

Inherits from Property

  • Attributes:
    • value [String]

Source#

Inherits from DOMLElement

  • Attributes:
    • entry [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

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]

    • securityGroup → SecurityGroup [0..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 [String]

    • 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]

    • configs → ContainerConfig [0..*]

ContainerConfig#

Inherits from DOMLElement

  • Associations:
    • host → ComputingNode [0..1]

    • iface → NetworkInterface [0..1]

  • Attributes:
    • container_port [Integer]

    • vm_port [Integer]

ContainerImage#

Inherits from ComputingNodeGenerator

  • Associations:
    • generatedContainers → Container [0..*]

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..*]

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]

    • addressRange [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

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]

  • Attributes:
    • sizeDescription [String]

concrete#

ComputingGroup#

Inherits from ConcreteElement

  • Associations:
    • maps → ComputingGroup [1..1]

ConcreteElement#

Inherits from DOMLElement

  • Associations:
    • refs → ConcreteElement [0..*]

  • Attributes:
    • configurationScript [String]

    • preexisting [Boolean]

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]

GenericResource#

Inherits from ConcreteElement

  • Attributes:
    • type [String]

    • gname [String]

Network#

Inherits from ConcreteElement

  • Associations:
    • maps → Network [0..1]

RuntimeProvider#

Inherits from DOMLElement

  • Associations:
    • resources → GenericResource [0..*]

    • 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]

  • Attributes:
    • image_name [String]

VirtualMachine#

Inherits from ConcreteElement

  • Associations:
    • maps → VirtualMachine [0..1]