You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
C4-PlantUML/C4_Container.puml

67 lines
2.4 KiB
Plaintext

!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
' uncomment the following line and comment the first to use locally
' !include C4_Context.puml
' Scope: A single software system.
' Primary elements: Containers within the software system in scope.
' Supporting elements: People and software systems directly connected to the containers.
' Intended audience: Technical people inside and outside of the software development team; including software architects, developers and operations/support staff.
' Colors
' ##################################
!ifndef CONTAINER_FONT_COLOR
!define CONTAINER_FONT_COLOR ELEMENT_FONT_COLOR
!endif
!ifndef CONTAINER_BG_COLOR
!define CONTAINER_BG_COLOR #438DD5
!endif
!ifndef CONTAINER_BORDER_COLOR
!define CONTAINER_BORDER_COLOR #3C7FC0
!endif
' Styling
' ##################################
skinparam rectangle<<container>> {
StereotypeFontColor CONTAINER_FONT_COLOR
FontColor CONTAINER_FONT_COLOR
BackgroundColor CONTAINER_BG_COLOR
BorderColor CONTAINER_BORDER_COLOR
}
skinparam database<<container>> {
StereotypeFontColor CONTAINER_FONT_COLOR
FontColor CONTAINER_FONT_COLOR
BackgroundColor CONTAINER_BG_COLOR
BorderColor CONTAINER_BORDER_COLOR
}
' Layout
' ##################################
!definelong LAYOUT_WITH_LEGEND
hide stereotype
legend right
|= |= Type |
|<PERSON_BG_COLOR> | person |
|<EXTERNAL_PERSON_BG_COLOR> | external person |
|<SYSTEM_BG_COLOR> | system |
|<EXTERNAL_SYSTEM_BG_COLOR> | external system |
|<CONTAINER_BG_COLOR> | container |
endlegend
!enddefinelong
' Elements
' ##################################
!define Container(e_alias, e_label, e_techn) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<container>> as e_alias
!define Container(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<container>> as e_alias
!define ContainerDb(e_alias, e_label, e_techn) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<container>> as e_alias
!define ContainerDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<container>> as e_alias
' Boundaries
' ##################################
!define Container_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "Container")