Structurizr DSL language preview
1. A basic workspace
model, relationships, and a system context view
horizon-dark
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
atom-one-dark
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
github-dark
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
dracula
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
nord
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
github
workspace "Big Bank" {
!identifiers hierarchical
model {
customer = person "Customer"
softwareSystem = softwareSystem "Internet Banking" {
webapp = container "Web Application"
}
customer -> softwareSystem.webapp "Uses" "HTTPS"
}
views {
systemContext softwareSystem {
include *
autoLayout lr
}
}
}
2. Deployment nodes
deploymentEnvironment, deploymentNode, and infrastructure
horizon-dark
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
atom-one-dark
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
github-dark
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
dracula
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
nord
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
github
model {
deploymentEnvironment "Production" {
deploymentNode "AWS" {
deploymentNode "EC2" {
containerInstance webapp
}
infrastructureNode "Load Balancer"
}
}
}
3. Styles and theming
the styles block and element styling properties
horizon-dark
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}
atom-one-dark
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}
github-dark
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}
dracula
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}
nord
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}
github
views {
styles {
element "Software System" {
background #1168bd
color #ffffff
shape roundedBox
}
relationship "Relationship" {
color #707070
dashed false
thickness 2
}
}
}