diff --git a/docs/conf.py b/docs/conf.py index ad093f1e2e379726902f340068d18a460634f855..eef39638ef132ca57af783eaa43e5d5ca024d8b6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,7 +23,7 @@ copyright = '2022, Michele Chiari, Michele De Pascalis, Andrea Franchini' author = 'Michele Chiari, Michele De Pascalis, Andrea Franchini' # The full version, including alpha/beta/rc tags -release = '2.2.1' +release = '2.5.2' # -- General configuration --------------------------------------------------- diff --git a/docs/reference_index.rst b/docs/reference_index.rst index 435655e9dbba50e09fd7ac60777f44d063ae46cb..78cb54ba0472be1c76f7ac94a5382137c34e2793 100644 --- a/docs/reference_index.rst +++ b/docs/reference_index.rst @@ -13,3 +13,5 @@ For a comprehensive list of all the classes, attributes and associations support --------------------------------------------------- :doc:`Reference for DOML v2.3 <reference_v2.3>` ----------------------------------------------- +:doc:`Reference for DOML v3.0 <reference_v3.0>` +----------------------------------------------- diff --git a/docs/reference_v3.0.rst b/docs/reference_v3.0.rst new file mode 100644 index 0000000000000000000000000000000000000000..096c738f9709f24e21b5a6089dc8c737d712d575 --- /dev/null +++ b/docs/reference_v3.0.rst @@ -0,0 +1,595 @@ +DOML v3.0 Reference +============================= + + +commons +^^^^^^^ + +.. _v3.0_commons_BProperty: + +BProperty +""""""""" +*Inherits from* :ref:`Property <v3.0_commons_Property>` + +* Attributes: + * ``value`` [Boolean] + +.. _v3.0_commons_Configuration: + +Configuration +""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``deployments`` → Deployment [0..*] + +.. _v3.0_commons_Credentials: + +Credentials +""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + + +.. _v3.0_commons_DOMLElement: + +DOMLElement +""""""""""" +* Associations: + * ``annotations`` → Property [0..*] +* Attributes: + * ``name`` [String] + * ``description`` [String] + +.. _v3.0_commons_DeployableElement: + +DeployableElement +""""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + + +.. _v3.0_commons_Deployment: + +Deployment +"""""""""" +* Associations: + * ``component`` → DeployableElement [1..1] + * ``node`` → InfrastructureElement [1..1] + +.. _v3.0_commons_FProperty: + +FProperty +""""""""" +*Inherits from* :ref:`Property <v3.0_commons_Property>` + +* Attributes: + * ``value`` [String] + +.. _v3.0_commons_IProperty: + +IProperty +""""""""" +*Inherits from* :ref:`Property <v3.0_commons_Property>` + +* Attributes: + * ``value`` [Integer] + +.. _v3.0_commons_KeyPair: + +KeyPair +""""""" +*Inherits from* :ref:`Credentials <v3.0_commons_Credentials>` + +* Attributes: + * ``user`` [String] + * ``keyfile`` [String] + * ``algorithm`` [String] + * ``bits`` [Integer] + +.. _v3.0_commons_Property: + +Property +"""""""" +* Associations: + * ``reference`` → DOMLElement [0..1] +* Attributes: + * ``key`` [String] + +.. _v3.0_commons_SProperty: + +SProperty +""""""""" +*Inherits from* :ref:`Property <v3.0_commons_Property>` + +* Attributes: + * ``value`` [String] + +.. _v3.0_commons_Source: + +Source +"""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Attributes: + * ``entry`` [String] + * ``backend`` [String] + +.. _v3.0_commons_UserPass: + +UserPass +"""""""" +*Inherits from* :ref:`Credentials <v3.0_commons_Credentials>` + +* Attributes: + * ``username`` [String] + * ``password`` [String] + +application +^^^^^^^^^^^ + +.. _v3.0_application_ApplicationComponent: + +ApplicationComponent +"""""""""""""""""""" +*Inherits from* :ref:`DeployableElement <v3.0_commons_DeployableElement>` + + +.. _v3.0_application_ApplicationLayer: + +ApplicationLayer +"""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``components`` → ApplicationComponent [0..*] + +.. _v3.0_application_DBMS: + +DBMS +"""" +*Inherits from* :ref:`SoftwareComponent <v3.0_application_SoftwareComponent>` + + +.. _v3.0_application_SaaS: + +SaaS +"""" +*Inherits from* :ref:`ApplicationComponent <v3.0_application_ApplicationComponent>` + +* Associations: + * ``exposedInterfaces`` → SoftwareInterface [0..*] +* Attributes: + * ``licenseCost`` [String] + +.. _v3.0_application_SaaSDBMS: + +SaaSDBMS +"""""""" +*Inherits from* :ref:`SaaS <v3.0_application_SaaS>` + + +.. _v3.0_application_SoftwareComponent: + +SoftwareComponent +""""""""""""""""" +*Inherits from* :ref:`ApplicationComponent <v3.0_application_ApplicationComponent>` + +* Associations: + * ``exposedInterfaces`` → SoftwareInterface [0..*] + * ``consumedInterfaces`` → SoftwareInterface [0..*] + * ``src`` → Source [0..1] +* Attributes: + * ``isPersistent`` [Boolean] + * ``licenseCost`` [String] + +.. _v3.0_application_SoftwareInterface: + +SoftwareInterface +""""""""""""""""" +*Inherits from* :ref:`ApplicationComponent <v3.0_application_ApplicationComponent>` + +* Attributes: + * ``endPoint`` [String] + +infrastructure +^^^^^^^^^^^^^^ + +.. _v3.0_infrastructure_AutoScalingGroup: + +AutoScalingGroup +"""""""""""""""" +*Inherits from* :ref:`ComputingGroup <v3.0_infrastructure_ComputingGroup>` + +* Associations: + * ``machineDefinition`` → VirtualMachine [1..1] + * ``securityGroup`` → SecurityGroup [0..1] +* Attributes: + * ``min`` [Integer] + * ``max`` [Integer] + * ``loadBalancer`` [String] + +.. _v3.0_infrastructure_ComputingGroup: + +ComputingGroup +"""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``groupedNodes`` → ComputingNode [0..*] + +.. _v3.0_infrastructure_ComputingNode: + +ComputingNode +""""""""""""" +*Inherits from* :ref:`Node <v3.0_infrastructure_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] + +.. _v3.0_infrastructure_ComputingNodeGenerator: + +ComputingNodeGenerator +"""""""""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Attributes: + * ``uri`` [String] + * ``kind`` [GeneratorKind] + +.. _v3.0_infrastructure_Container: + +Container +""""""""" +*Inherits from* :ref:`ComputingNode <v3.0_infrastructure_ComputingNode>` + +* Associations: + * ``generatedFrom`` → ContainerImage [0..1] + * ``configs`` → ContainerConfig [0..*] + +.. _v3.0_infrastructure_ContainerConfig: + +ContainerConfig +""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``host`` → ComputingNode [0..1] + * ``iface`` → NetworkInterface [0..1] +* Attributes: + * ``container_port`` [Integer] + * ``vm_port`` [Integer] + +.. _v3.0_infrastructure_ContainerImage: + +ContainerImage +"""""""""""""" +*Inherits from* :ref:`ComputingNodeGenerator <v3.0_infrastructure_ComputingNodeGenerator>` + +* Associations: + * ``generatedContainers`` → Container [0..*] + +.. _v3.0_infrastructure_ExtInfrastructureElement: + +ExtInfrastructureElement +"""""""""""""""""""""""" +*Inherits from* :ref:`InfrastructureElement <v3.0_infrastructure_InfrastructureElement>` + + +.. _v3.0_infrastructure_FunctionAsAService: + +FunctionAsAService +"""""""""""""""""" +*Inherits from* :ref:`InfrastructureElement <v3.0_infrastructure_InfrastructureElement>` + +* Attributes: + * ``cost`` [Integer] + +.. _v3.0_infrastructure_InfrastructureElement: + +InfrastructureElement +""""""""""""""""""""" +*Inherits from* :ref:`DeployableElement <v3.0_commons_DeployableElement>` + + +.. _v3.0_infrastructure_InfrastructureLayer: + +InfrastructureLayer +""""""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_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..*] + +.. _v3.0_infrastructure_InternetGateway: + +InternetGateway +""""""""""""""" +*Inherits from* :ref:`Node <v3.0_infrastructure_Node>` + +* Attributes: + * ``address`` [String] + +.. _v3.0_infrastructure_Location: + +Location +"""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Attributes: + * ``region`` [String] + * ``zone`` [String] + +.. _v3.0_infrastructure_MonitoringRule: + +MonitoringRule +"""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Attributes: + * ``condition`` [String] + * ``strategy`` [String] + * ``strategyConfigurationString`` [String] + +.. _v3.0_infrastructure_Network: + +Network +""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``connectedIfaces`` → NetworkInterface [0..*] + * ``gateways`` → InternetGateway [0..*] + * ``subnets`` → Subnet [0..*] +* Attributes: + * ``protocol`` [String] + * ``addressRange`` [String] + * ``cidr`` [Integer] + +.. _v3.0_infrastructure_NetworkInterface: + +NetworkInterface +"""""""""""""""" +*Inherits from* :ref:`InfrastructureElement <v3.0_infrastructure_InfrastructureElement>` + +* Associations: + * ``belongsTo`` → Network [0..1] + * ``associated`` → SecurityGroup [0..1] +* Attributes: + * ``endPoint`` [Integer] + * ``speed`` [String] + +.. _v3.0_infrastructure_Node: + +Node +"""" +*Inherits from* :ref:`InfrastructureElement <v3.0_infrastructure_InfrastructureElement>` + +* Associations: + * ``ifaces`` → NetworkInterface [0..*] + +.. _v3.0_infrastructure_PhysicalComputingNode: + +PhysicalComputingNode +""""""""""""""""""""" +*Inherits from* :ref:`ComputingNode <v3.0_infrastructure_ComputingNode>` + + +.. _v3.0_infrastructure_Rule: + +Rule +"""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Attributes: + * ``kind`` [String] + * ``protocol`` [String] + * ``fromPort`` [Integer] + * ``toPort`` [Integer] + * ``cidr`` [String] + +.. _v3.0_infrastructure_SecurityGroup: + +SecurityGroup +""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``rules`` → Rule [0..*] + * ``ifaces`` → NetworkInterface [0..*] + +.. _v3.0_infrastructure_Storage: + +Storage +""""""" +*Inherits from* :ref:`Node <v3.0_infrastructure_Node>` + +* Attributes: + * ``label`` [String] + * ``size_gb`` [Integer] + * ``cost`` [Integer] + +.. _v3.0_infrastructure_Subnet: + +Subnet +"""""" +*Inherits from* :ref:`Network <v3.0_infrastructure_Network>` + +* Associations: + * ``connectedTo`` → Network [0..*] + +.. _v3.0_infrastructure_Swarm: + +Swarm +""""" +*Inherits from* :ref:`ComputingGroup <v3.0_infrastructure_ComputingGroup>` + +* Associations: + * ``roles`` → SwarmRole [0..*] + +.. _v3.0_infrastructure_SwarmRole: + +SwarmRole +""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``nodes`` → ComputingNode [0..*] +* Attributes: + * ``kind`` [String] + +.. _v3.0_infrastructure_VMImage: + +VMImage +""""""" +*Inherits from* :ref:`ComputingNodeGenerator <v3.0_infrastructure_ComputingNodeGenerator>` + +* Associations: + * ``generatedVMs`` → VirtualMachine [0..*] + +.. _v3.0_infrastructure_VirtualMachine: + +VirtualMachine +"""""""""""""" +*Inherits from* :ref:`ComputingNode <v3.0_infrastructure_ComputingNode>` + +* Associations: + * ``generatedFrom`` → VMImage [0..1] +* Attributes: + * ``sizeDescription`` [String] + +concrete +^^^^^^^^ + +.. _v3.0_concrete_ComputingGroup: + +ComputingGroup +"""""""""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → ComputingGroup [1..1] + +.. _v3.0_concrete_ConcreteElement: + +ConcreteElement +""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``refs`` → ConcreteElement [0..*] +* Attributes: + * ``configurationScript`` [String] + * ``preexisting`` [Boolean] + +.. _v3.0_concrete_ConcreteInfrastructure: + +ConcreteInfrastructure +"""""""""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_DOMLElement>` + +* Associations: + * ``providers`` → RuntimeProvider [0..*] + +.. _v3.0_concrete_ContainerImage: + +ContainerImage +"""""""""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → ContainerImage [0..1] + +.. _v3.0_concrete_FunctionAsAService: + +FunctionAsAService +"""""""""""""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → FunctionAsAService [0..1] + +.. _v3.0_concrete_GenericResource: + +GenericResource +""""""""""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Attributes: + * ``type`` [String] + * ``gname`` [String] + +.. _v3.0_concrete_Network: + +Network +""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → Network [0..1] + +.. _v3.0_concrete_RuntimeProvider: + +RuntimeProvider +""""""""""""""" +*Inherits from* :ref:`DOMLElement <v3.0_commons_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..*] + +.. _v3.0_concrete_Storage: + +Storage +""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → Storage [0..1] + +.. _v3.0_concrete_VMImage: + +VMImage +""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → VMImage [0..1] +* Attributes: + * ``image_name`` [String] + +.. _v3.0_concrete_VirtualMachine: + +VirtualMachine +"""""""""""""" +*Inherits from* :ref:`ConcreteElement <v3.0_concrete_ConcreteElement>` + +* Associations: + * ``maps`` → VirtualMachine [0..1] + + +