diff --git a/docs/docs/variability4tosca/rules/index.md b/docs/docs/variability4tosca/rules/index.md index b1d1fc8399..e717f4c901 100644 --- a/docs/docs/variability4tosca/rules/index.md +++ b/docs/docs/variability4tosca/rules/index.md @@ -65,9 +65,10 @@ We assess the deployment quality of the following scenarios. ### Scenario #1 -A node template whose node type is or is derived from the node type [docker.engine](/normative#dockerengine){target=_blank} and which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [docker.engine](/normative#dockerengine){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(docker.engine)host 1(remote.machine)host
+
component(docker.engine)host 1(remote.machine)host
!!! success "Ansible (Quality: 1)" @@ -80,9 +81,10 @@ A node template whose node type is or is derived from the node type [docker.engi ### Scenario #2 -A node template whose node type is or is derived from the node type [gcp.service](/normative#gcpservice){target=_blank}. +In this scenario, the node template "component" of node type [gcp.service](/normative#gcpservice){target=_blank} is deployed. +The scenario does not require a specific hosting. -
component(gcp.service)
+
component(gcp.service)
!!! success "Ansible (Quality: 1)" @@ -95,9 +97,10 @@ A node template whose node type is or is derived from the node type [gcp.service ### Scenario #3 -A node template whose node type is or is derived from the node type [ingress](/normative#ingress){target=_blank} and which is hosted on a node template whose node type is or is derived from [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. +In this scenario, the node template "component" of node type [ingress](/normative#ingress){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. -
component(ingress)host 1(kubernetes.cluster)host
+
component(ingress)host 1(kubernetes.cluster)host
!!! info "Ansible (Quality: 0.5)" @@ -113,9 +116,10 @@ A node template whose node type is or is derived from the node type [ingress](/n ### Scenario #4 -A node template whose node type is or is derived from the node type [ingress](/normative#ingress){target=_blank} and which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [ingress](/normative#ingress){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(ingress)host 1(remote.machine)host
+
component(ingress)host 1(remote.machine)host
!!! success "Ansible (Quality: 1)" @@ -128,9 +132,10 @@ A node template whose node type is or is derived from the node type [ingress](/n ### Scenario #5 -A node template whose node type is or is derived from the node type [mysql.database](/normative#mysqldatabase){target=_blank} and which is hosted on a node template whose node type is or is derived from [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on a node template whose node type is or is derived from [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [mysql.database](/normative#mysqldatabase){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on the node template "host 2" of node type [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on the node template "host 3" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
+
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
!!! success "Ansible (Quality: 1)" @@ -146,9 +151,10 @@ A node template whose node type is or is derived from the node type [mysql.datab ### Scenario #6 -A node template whose node type is or is derived from the node type [mysql.database](/normative#mysqldatabase){target=_blank} and which is hosted on a node template whose node type is or is derived from [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on a node template whose node type is or is derived from [gcp.cloudsql](/normative#gcpcloudsql){target=_blank}. +In this scenario, the node template "component" of node type [mysql.database](/normative#mysqldatabase){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on the node template "host 2" of node type [gcp.cloudsql](/normative#gcpcloudsql){target=_blank}. -
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
+
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
!!! info "Ansible (Quality: 0.5)" @@ -161,9 +167,10 @@ A node template whose node type is or is derived from the node type [mysql.datab ### Scenario #7 -A node template whose node type is or is derived from the node type [mysql.database](/normative#mysqldatabase){target=_blank} and which is hosted on a node template whose node type is or is derived from [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on a node template whose node type is or is derived from [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. +In this scenario, the node template "component" of node type [mysql.database](/normative#mysqldatabase){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on the node template "host 2" of node type [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. -
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
+
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
!!! success "Ansible (Quality: 1)" @@ -179,9 +186,10 @@ A node template whose node type is or is derived from the node type [mysql.datab ### Scenario #8 -A node template whose node type is or is derived from the node type [mysql.database](/normative#mysqldatabase){target=_blank} and which is hosted on a node template whose node type is or is derived from [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [mysql.database](/normative#mysqldatabase){target=_blank} is deployed. +The node template is hosted on the node template "host 1" of node type [mysql.dbms](/normative#mysqldbms){target=_blank}, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
+
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
!!! success "Ansible (Quality: 1)" @@ -194,10 +202,11 @@ A node template whose node type is or is derived from the node type [mysql.datab ### Scenario #9 -A node template whose node type is or is derived from the node type [mysql.dbms](/normative#mysqldbms){target=_blank} and which has an artifact whose artifact type is or is derived from [dbms.image](/normative#dbmsimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [mysql.dbms](/normative#mysqldbms){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [dbms.image](/normative#dbmsimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
+
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
!!! info "Ansible (Quality: 0.5)" @@ -213,10 +222,11 @@ A node template whose node type is or is derived from the node type [mysql.dbms] ### Scenario #10 -A node template whose node type is or is derived from the node type [mysql.dbms](/normative#mysqldbms){target=_blank} and which has an artifact whose artifact type is or is derived from [dbms.image](/normative#dbmsimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [gcp.cloudsql](/normative#gcpcloudsql){target=_blank}. +In this scenario, the node template "component" of node type [mysql.dbms](/normative#mysqldbms){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [dbms.image](/normative#dbmsimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [gcp.cloudsql](/normative#gcpcloudsql){target=_blank}. -
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
+
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
!!! success "Ansible (Quality: 1)" @@ -229,10 +239,11 @@ A node template whose node type is or is derived from the node type [mysql.dbms] ### Scenario #11 -A node template whose node type is or is derived from the node type [mysql.dbms](/normative#mysqldbms){target=_blank} and which has an artifact whose artifact type is or is derived from [dbms.image](/normative#dbmsimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. +In this scenario, the node template "component" of node type [mysql.dbms](/normative#mysqldbms){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [dbms.image](/normative#dbmsimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. -
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
+
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
!!! info "Ansible (Quality: 0.5)" @@ -248,10 +259,11 @@ A node template whose node type is or is derived from the node type [mysql.dbms] ### Scenario #12 -A node template whose node type is or is derived from the node type [mysql.dbms](/normative#mysqldbms){target=_blank} and which has an artifact whose artifact type is or is derived from [dbms.image](/normative#dbmsimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [mysql.dbms](/normative#mysqldbms){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [dbms.image](/normative#dbmsimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
+
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
!!! success "Ansible (Quality: 1)" @@ -264,10 +276,11 @@ A node template whose node type is or is derived from the node type [mysql.dbms] ### Scenario #13 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [docker.image](/normative#dockerimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [docker.image](/normative#dockerimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [docker.engine](/normative#dockerengine){target=_blank}, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
+
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
!!! info "Ansible (Quality: 0.5)" @@ -283,10 +296,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #14 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [docker.image](/normative#dockerimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [gcp.cloudrun](/normative#gcpcloudrun){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [docker.image](/normative#dockerimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [gcp.cloudrun](/normative#gcpcloudrun){target=_blank}. -
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
+
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
!!! failure "Ansible (Quality: 0)" @@ -299,10 +313,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #15 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [docker.image](/normative#dockerimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [docker.image](/normative#dockerimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [kubernetes.cluster](/normative#kubernetescluster){target=_blank}. -
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
+
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
!!! info "Ansible (Quality: 0.5)" @@ -318,10 +333,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #16 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [tar.archive](/normative#tararchive){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [tar.archive](/normative#tararchive){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(service.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
+
component(service.application)artifact(tar.archive)...host 2(remote.machine)hosthost
!!! success "Ansible (Quality: 1)" @@ -334,10 +350,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #17 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [zip.archive](/normative#ziparchive){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [zip.archive](/normative#ziparchive){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(service.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
+
component(service.application)artifact(zip.archive)...host 2(remote.machine)hosthost
!!! success "Ansible (Quality: 1)" @@ -350,10 +367,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #18 -A node template whose node type is or is derived from the node type [service.application](/normative#serviceapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [zip.archive](/normative#ziparchive){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [gcp.appengine](/normative#gcpappengine){target=_blank}. +In this scenario, the node template "component" of node type [service.application](/normative#serviceapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [zip.archive](/normative#ziparchive){target=_blank}. +The node template is hosted on the node template "host 1" of node type [gcp.appengine](/normative#gcpappengine){target=_blank}. -
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
+
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
!!! failure "Ansible (Quality: 0)" @@ -366,10 +384,11 @@ A node template whose node type is or is derived from the node type [service.app ### Scenario #19 -A node template whose node type is or is derived from the node type [software.application](/normative#softwareapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [apt.package](/normative#aptpackage){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [software.application](/normative#softwareapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [apt.package](/normative#aptpackage){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(software.application)artifact(apt.package)host 1(*)host 2(remote.machine)hosthost
+
component(software.application)artifact(apt.package)...host 2(remote.machine)hosthost
!!! success "Ansible (Quality: 1)" @@ -379,10 +398,11 @@ A node template whose node type is or is derived from the node type [software.ap ### Scenario #20 -A node template whose node type is or is derived from the node type [software.application](/normative#softwareapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [tar.archive](/normative#tararchive){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [software.application](/normative#softwareapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [tar.archive](/normative#tararchive){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(software.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
+
component(software.application)artifact(tar.archive)...host 2(remote.machine)hosthost
!!! info "Ansible (Quality: 0.5)" @@ -395,10 +415,11 @@ A node template whose node type is or is derived from the node type [software.ap ### Scenario #21 -A node template whose node type is or is derived from the node type [software.application](/normative#softwareapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [zip.archive](/normative#ziparchive){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [software.application](/normative#softwareapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [zip.archive](/normative#ziparchive){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(software.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
+
component(software.application)artifact(zip.archive)...host 2(remote.machine)hosthost
!!! info "Ansible (Quality: 0.5)" @@ -411,10 +432,11 @@ A node template whose node type is or is derived from the node type [software.ap ### Scenario #22 -A node template whose node type is or is derived from the node type [virtual.machine](/normative#virtualmachine){target=_blank} and which has an artifact whose artifact type is or is derived from [machine.image](/normative#machineimage){target=_blank}, - and which is hosted on a node template whose node type is or is derived from [openstack.provider](/normative#openstackprovider){target=_blank}. +In this scenario, the node template "component" of node type [virtual.machine](/normative#virtualmachine){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [machine.image](/normative#machineimage){target=_blank}. +The node template is hosted on the node template "host 1" of node type [openstack.provider](/normative#openstackprovider){target=_blank}. -
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
+
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
!!! info "Ansible (Quality: 0.5)" @@ -427,10 +449,11 @@ A node template whose node type is or is derived from the node type [virtual.mac ### Scenario #23 -A node template whose node type is or is derived from the node type [software.application](/normative#softwareapplication){target=_blank} and which has an artifact whose artifact type is or is derived from [apt.archive](/normative#aptarchive){target=_blank}, - and which is hosted on an arbitrary hosting stack, which is hosted on a node template whose node type is or is derived from [remote.machine](/normative#remotemachine){target=_blank}. +In this scenario, the node template "component" of node type [software.application](/normative#softwareapplication){target=_blank} is deployed. +This node template is implemented by its deployment artifact "artifact" of artifact type [apt.archive](/normative#aptarchive){target=_blank}. +The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type [remote.machine](/normative#remotemachine){target=_blank}. -
component(software.application)artifact(apt.archive)host 1(*)host 2(remote.machine)hosthost
+
component(software.application)artifact(apt.archive)...host 2(remote.machine)hosthost
!!! failure "Terraform (Quality: 0)" @@ -453,7 +476,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | "ansible.builtin.shell", "ansible.builtin.group", and "ansible.builtin.user" tasks | -| Graph |
component(docker.engine)host 1(remote.machine)host
| +| Graph |
component(docker.engine)host 1(remote.machine)host
| ### Rule #2 | Attribute | Value | @@ -463,7 +486,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Ansible provides a declarative module | | Details | "google.cloud.gcp_serviceusage_service" task | -| Graph |
component(gcp.service)
| +| Graph |
component(gcp.service)
| ### Rule #3 | Attribute | Value | @@ -474,7 +497,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes.core.k8s" task | -| Graph |
component(ingress)host 1(kubernetes.cluster)host
| +| Graph |
component(ingress)host 1(kubernetes.cluster)host
| ### Rule #4 | Attribute | Value | @@ -485,7 +508,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | "ansible.builtin.apt_key", "ansible.builtin.apt_repository", "ansible.builtin.apt", "ansible.builtin.copy", and "ansible.builtin.systemd" tasks | -| Graph |
component(ingress)host 1(remote.machine)host
| +| Graph |
component(ingress)host 1(remote.machine)host
| ### Rule #5 | Attribute | Value | @@ -496,7 +519,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| ### Rule #6 | Attribute | Value | @@ -507,7 +530,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Primary use case due to the specialization of Ansible. However, need to install and handle GCP CloudSQL Proxy, while the corresponding Terraform module already provides this. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
| ### Rule #7 | Attribute | Value | @@ -518,7 +541,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| ### Rule #8 | Attribute | Value | @@ -529,7 +552,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
| ### Rule #9 | Attribute | Value | @@ -541,7 +564,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Docker Compose is more specialized | | Details | "community.docker.docker_container" task | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| ### Rule #10 | Attribute | Value | @@ -553,7 +576,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | "google.cloud.gcp_sql_instance" and "google.cloud.gcp_sql_user" tasks | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
| ### Rule #11 | Attribute | Value | @@ -565,7 +588,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes.core.k8s" tasks | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| ### Rule #12 | Attribute | Value | @@ -577,7 +600,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | "ansible.builtin.apt", "ansible.builtin.systemd", "ansible.builtin.copy", "ansible.builtin.lineinfile", and "community.mysql.mysql_user" tasks | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
| ### Rule #13 | Attribute | Value | @@ -589,7 +612,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Docker Compose is more specialized. | | Details | "community.docker.docker_container" task | -| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| ### Rule #14 | Attribute | Value | @@ -601,7 +624,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Custom module with imperative parts, while Terraform provides a declarative module. | | Details | "ansible.builtin.shell", "ansible.builtin.tempfile", and "ansible.builtin.copy" tasks | -| Graph |
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
| +| Graph |
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
| ### Rule #15 | Attribute | Value | @@ -613,7 +636,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes.core.k8s" tasks | -| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| +| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| ### Rule #16 | Attribute | Value | @@ -625,7 +648,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. Special integration for systemd. | | Details | "ansible.builtin.file", "ansible.builtin.unarchive", "ansible.builtin.copy", "ansible.builtin.fail", "ansible.builtin.shell", and "ansible.builtin.systemd" tasks with "when" statements | -| Graph |
component(service.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(tar.archive)...host 2(remote.machine)hosthost
| ### Rule #17 | Attribute | Value | @@ -637,7 +660,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. Special integration for systemd. | | Details | "ansible.builtin.file", "ansible.builtin.unarchive", "ansible.builtin.copy", "ansible.builtin.fail", "ansible.builtin.shell", and "ansible.builtin.systemd" tasks with "when" statements | -| Graph |
component(service.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(zip.archive)...host 2(remote.machine)hosthost
| ### Rule #18 | Attribute | Value | @@ -649,7 +672,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Custom module with imperative parts, while Terraform provides a declarative module. | | Details | "ansible.builtin.shell", "ansible.builtin.tempfile", "ansible.builtin.unarchive", and "ansible.builtin.copy" tasks | -| Graph |
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
| +| Graph |
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
| ### Rule #19 | Attribute | Value | @@ -661,7 +684,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Primary use case due to the specialization of Ansible. | | Details | "ansible.builtin.shell", "ansible.builtin.apt_key", "ansible.builtin.apt_repository", "ansible.builtin.apt", and "ansible.builtin.copy", tasks with "when" statements | -| Graph |
component(software.application)artifact(apt.package)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(apt.package)...host 2(remote.machine)hosthost
| ### Rule #20 | Attribute | Value | @@ -673,7 +696,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | While this is a primary use case due to the specialization of Ansible, we must rely on scripts. More specialized types should be used, e.g., "service.application". | | Details | "ansible.builtin.file", "ansible.builtin.unarchive", "ansible.builtin.copy", "ansible.builtin.fail", and "ansible.builtin.shell" tasks with "when" statements | -| Graph |
component(software.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(tar.archive)...host 2(remote.machine)hosthost
| ### Rule #21 | Attribute | Value | @@ -685,7 +708,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | While this is a primary use case due to the specialization of Ansible, we must rely on scripts. More specialized types should be used, e.g., service.application. | | Details | "ansible.builtin.apt", "ansible.builtin.file", "ansible.builtin.unarchive", "ansible.builtin.copy", "ansible.builtin.fail", and "ansible.builtin.shell" tasks with "when" statements | -| Graph |
component(software.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(zip.archive)...host 2(remote.machine)hosthost
| ### Rule #22 | Attribute | Value | @@ -697,7 +720,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Terraform is more specialized. | | Details | "openstack.cloud.security_group", "openstack.cloud.security_group_rule" and "openstack.cloud.server" tasks | -| Graph |
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
| +| Graph |
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
| @@ -710,7 +733,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "remote-exec" provider | -| Graph |
component(docker.engine)host 1(remote.machine)host
| +| Graph |
component(docker.engine)host 1(remote.machine)host
| ### Rule #24 | Attribute | Value | @@ -720,7 +743,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | "google_project_service" resource | -| Graph |
component(gcp.service)
| +| Graph |
component(gcp.service)
| ### Rule #25 | Attribute | Value | @@ -731,7 +754,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes_service_v1" resource | -| Graph |
component(ingress)host 1(kubernetes.cluster)host
| +| Graph |
component(ingress)host 1(kubernetes.cluster)host
| ### Rule #26 | Attribute | Value | @@ -742,7 +765,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "terraform_data" resource with an "ssh" connection to the virtual machine to copy the install script using the "file" provisioner on the virtual machine and to execute the script using the "remote-exec" provisioner | -| Graph |
component(ingress)host 1(remote.machine)host
| +| Graph |
component(ingress)host 1(remote.machine)host
| ### Rule #27 | Attribute | Value | @@ -753,7 +776,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Terraform provides a declarative module. However, Terraform requires an SSH workaround. Ansible is more specialized. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| ### Rule #28 | Attribute | Value | @@ -764,7 +787,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(gcp.cloudsql)hosthost
| ### Rule #29 | Attribute | Value | @@ -775,7 +798,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| ### Rule #30 | Attribute | Value | @@ -786,7 +809,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Terraform provides a declarative module. However, Terraform requires an SSH workaround. Ansible is more specialized. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(remote.machine)hosthost
| ### Rule #31 | Attribute | Value | @@ -798,7 +821,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Docker Compose is more specialized. | | Details | "docker_container" and "docker_image" resources | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| ### Rule #32 | Attribute | Value | @@ -810,7 +833,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | "google_sql_database_instance" and "google_sql_user" resources | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(gcp.cloudsql)host
| ### Rule #33 | Attribute | Value | @@ -822,7 +845,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes_deployment_v1" and "kubernetes_service_v1" resources | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| ### Rule #34 | Attribute | Value | @@ -834,7 +857,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "terraform_data" resource with an "ssh" connection to the virtual machine to copy the install script using the "file" provisioner on the virtual machine and to execute the script using the "remote-exec" provisioner | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(remote.machine)host
| ### Rule #35 | Attribute | Value | @@ -846,7 +869,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Docker Compose is more specialized. | | Details | "docker_container" and "docker_image" resources | -| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| ### Rule #36 | Attribute | Value | @@ -858,7 +881,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | "google_cloud_run_v2_service" and "google_cloud_run_service_iam_binding" resources | -| Graph |
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
| +| Graph |
component(service.application)artifact(docker.image)host 1(gcp.cloudrun)host
| ### Rule #37 | Attribute | Value | @@ -870,7 +893,7 @@ This appendix contains the deployment technology rules. | Quality | 0.5 | | Reason | Kubernetes is more specialized. | | Details | "kubernetes_deployment_v1" and "kubernetes_service_v1" resources | -| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| +| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| ### Rule #38 | Attribute | Value | @@ -882,7 +905,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "file" provisioner to upload artifacts and scripts and "remote-exec" to execute scripts | -| Graph |
component(service.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(tar.archive)...host 2(remote.machine)hosthost
| ### Rule #39 | Attribute | Value | @@ -894,7 +917,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "file" provisioner to upload artifacts and scripts and "remote-exec" to execute scripts | -| Graph |
component(service.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(zip.archive)...host 2(remote.machine)hosthost
| ### Rule #40 | Attribute | Value | @@ -906,7 +929,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | "google_app_engine_standard_app_version", "google_project_iam_member", "google_service_account", "google_storage_bucket", and "google_storage_bucket_object" resources | -| Graph |
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
| +| Graph |
component(service.application)artifact(zip.archive)host 1(gcp.appengine)host
| ### Rule #41 | Attribute | Value | @@ -918,7 +941,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "file" provisioner to upload scripts and "remote-exec" to execute scripts | -| Graph |
component(software.application)artifact(apt.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(apt.archive)...host 2(remote.machine)hosthost
| ### Rule #42 | Attribute | Value | @@ -930,7 +953,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "file" provisioner to upload artifacts and scripts and "remote-exec" to execute scripts | -| Graph |
component(software.application)artifact(tar.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(tar.archive)...host 2(remote.machine)hosthost
| ### Rule #43 | Attribute | Value | @@ -942,7 +965,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Ansible is more specialized. Also using provisioners is a "last resort". | | Details | "file" provisioner to upload artifacts and scripts and "remote-exec" to execute scripts | -| Graph |
component(software.application)artifact(zip.archive)host 1(*)host 2(remote.machine)hosthost
| +| Graph |
component(software.application)artifact(zip.archive)...host 2(remote.machine)hosthost
| ### Rule #44 | Attribute | Value | @@ -954,7 +977,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Terraform provides a declarative module. | | Details | "openstack_compute_instance_v2", "openstack_networking_secgroup_rule_v2" and "openstack_networking_secgroup_v2" resources | -| Graph |
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
| +| Graph |
component(virtual.machine)artifact(machine.image)host 1(openstack.provider)host
| @@ -967,7 +990,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Kubernetes is the underlying technology. | | Details | Kubernetes manifest generated and applied | -| Graph |
component(ingress)host 1(kubernetes.cluster)host
| +| Graph |
component(ingress)host 1(kubernetes.cluster)host
| ### Rule #46 | Attribute | Value | @@ -978,7 +1001,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | Kubernetes Job with imperative parts, while declarative other technologies provide declarative modules. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(kubernetes.cluster)hosthost
| ### Rule #47 | Attribute | Value | @@ -990,7 +1013,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Kubernetes is the underlying technology. | | Details | Kubernetes manifest generated and applied | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(kubernetes.cluster)host
| ### Rule #48 | Attribute | Value | @@ -1002,7 +1025,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Kubernetes is the underlying technology. | | Details | Kubernetes manifest generated and applied | -| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| +| Graph |
component(service.application)artifact(docker.image)host 1(kubernetes.cluster)host
| @@ -1015,7 +1038,7 @@ This appendix contains the deployment technology rules. | Quality | 0 | | Reason | One-time use docker container ("fake Kubernetes job") with imperative parts, while other technologies provide declarative modules. | | Details | | -| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| +| Graph |
component(mysql.database)host 1(mysql.dbms)host 2(docker.engine)host 3(remote.machine)hosthosthost
| ### Rule #50 | Attribute | Value | @@ -1027,7 +1050,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Docker is the underlying technology. | | Details | docker-compose manifest generated and applied | -| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(mysql.dbms)artifact(dbms.image)host 1(docker.engine)host 2(remote.machine)hosthost
| ### Rule #51 | Attribute | Value | @@ -1039,7 +1062,7 @@ This appendix contains the deployment technology rules. | Quality | 1 | | Reason | Docker is the underlying technology. | | Details | docker compose manifest generated and applied | -| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| +| Graph |
component(service.application)artifact(docker.image)host 1(docker.engine)host 2(remote.machine)hosthost
| diff --git a/src/assets/templates/puml/topology/artifact.template.ejs b/src/assets/templates/puml/topology/artifact.template.ejs index 372f58fe18..9fb63f198a 100644 --- a/src/assets/templates/puml/topology/artifact.template.ejs +++ b/src/assets/templates/puml/topology/artifact.template.ejs @@ -2,4 +2,4 @@ file "<%= puml.toText(artifact) %>" as <%= puml.toId(artifact) %> <% if(puml.hasLink(artifact)) {-%> url of <%= puml.toId(artifact) %> is [[ <%= puml.getLink(artifact) %> ]] <% } -%> -<%= puml.toId(artifact) %> - <%= puml.toId(artifact.container) %> \ No newline at end of file +<%= puml.toId(artifact) %> . <%= puml.toId(artifact.container) %> \ No newline at end of file diff --git a/src/assets/templates/puml/topology/node.template.ejs b/src/assets/templates/puml/topology/node.template.ejs index fbc4595e79..3a72ab273d 100644 --- a/src/assets/templates/puml/topology/node.template.ejs +++ b/src/assets/templates/puml/topology/node.template.ejs @@ -1,4 +1,8 @@ -rectangle "<%= puml.toText(node) %>" as <%= puml.toId(node) -%><%= puml.isAsterisk(node) ? ' #line.dashed' : '' -%> +<% if (puml.isAsterisk(node)) { -%> +rectangle "..." as <%= puml.toId(node) -%> #white;line.dotted -%> +<% } else { -%> +rectangle "<%= puml.toText(node) %>" as <%= puml.toId(node) -%> +<% } -%> <% if(puml.hasLink(node)) {-%> url of <%= puml.toId(node) %> is [[ <%= puml.getLink(node) %> ]] diff --git a/src/assets/templates/puml/topology/template.template.ejs b/src/assets/templates/puml/topology/template.template.ejs index 6639674459..8eca3fc624 100644 --- a/src/assets/templates/puml/topology/template.template.ejs +++ b/src/assets/templates/puml/topology/template.template.ejs @@ -7,6 +7,7 @@ skinparam ArrowThickness 1.5 skinparam file { BorderColor black BorderThickness 1.5 + BackgroundColor white } skinparam interface { diff --git a/tasks/docs/generate/rules/template.ejs b/tasks/docs/generate/rules/template.ejs index 0353aafe6c..7126d2feed 100644 --- a/tasks/docs/generate/rules/template.ejs +++ b/tasks/docs/generate/rules/template.ejs @@ -53,14 +53,15 @@ We assess the deployment quality of the following scenarios. ### Scenario #<%= index + 1 %> -A node template whose node type is or is derived from the node type <%= link(group.component) -%> +In this scenario, the node template "component" of node type <%= link(group.component) -%> is deployed. <% if (group.artifact) { -%> - and which has an artifact whose artifact type is or is derived from <%= link(group.artifact) -%>, +This node template is implemented by its deployment artifact "artifact" of artifact type <%= link(group.artifact) -%>. <% } -%> <% if (group.hosting.length !== 0) { -%> - and which <%- group.hosting.map(it => it === "*" ? "is hosted on an arbitrary hosting stack" : `is hosted on a node template whose node type is or is derived from ${link(it)}`).join(", which ") -%> +The node template <%- group.hosting.map((type, index) => type === "*" ? "is hosted on an arbitrary hosting stack of arbitrary length" : `is hosted on the node template "host ${index + 1}" of node type ${link(type)}`).join(", which ") -%>. +<% } else { -%> +The scenario does not require a specific hosting. <% } -%> -.
<%- group.svg %>
diff --git a/tests/puml/topology/service-template.topology.puml b/tests/puml/topology/service-template.topology.puml index 9a27c912c5..b2f6db2738 100644 --- a/tests/puml/topology/service-template.topology.puml +++ b/tests/puml/topology/service-template.topology.puml @@ -7,6 +7,7 @@ skinparam ArrowThickness 1.5 skinparam file { BorderColor black BorderThickness 1.5 + BackgroundColor white } skinparam interface { @@ -26,7 +27,7 @@ rectangle "application\n(example.nodes.Application)" as node_application url of node_application is [[ https://vintner.opentosca.org ]] file "tar_archive\n(tar.archive)" as artifact_tar_archive_0_node_application url of artifact_tar_archive_0_node_application is [[ https://vintner.opentosca.org ]] -artifact_tar_archive_0_node_application - node_application +artifact_tar_archive_0_node_application . node_application rectangle "runtime\n(example.nodes.Runtime)" as node_runtime @@ -40,7 +41,7 @@ rectangle "dbms\n(example.nodes.DBMS)" as node_dbms rectangle "compute\n(example.nodes.Compute)" as node_compute -rectangle "hosting\n(*)" as node_hosting #line.dashed +rectangle "..." as node_hosting #white;line.dotted rectangle "provider\n(some.provider)" as node_provider