buildzr 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1739 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: structurizr.yaml
3
+ # timestamp: 2024-07-06T09:38:20+00:00
4
+
5
+ from __future__ import annotations
6
+
7
+ from dataclasses import dataclass
8
+ from enum import Enum
9
+ from typing import Any, Dict, List, Optional
10
+
11
+
12
+ @dataclass
13
+ class Enterprise:
14
+ """
15
+ The enterprise associated with this model.
16
+ """
17
+
18
+ name: Optional[str] = None
19
+ """
20
+ The name of the enterprise.
21
+ """
22
+
23
+
24
+ class Location(Enum):
25
+ """
26
+ The location of this person.
27
+ """
28
+
29
+ External = 'External'
30
+ Internal = 'Internal'
31
+ Unspecified = 'Unspecified'
32
+
33
+
34
+ class Location1(Enum):
35
+ """
36
+ The location of this software system.
37
+ """
38
+
39
+ External = 'External'
40
+ Internal = 'Internal'
41
+ Unspecified = 'Unspecified'
42
+
43
+
44
+ @dataclass
45
+ class HttpHealthCheck:
46
+ """
47
+ Describes a HTTP based health check.
48
+ """
49
+
50
+ name: Optional[str] = None
51
+ """
52
+ The name of the health check.
53
+ """
54
+ url: Optional[str] = None
55
+ """
56
+ The health check URL/endpoint.
57
+ """
58
+ interval: Optional[float] = None
59
+ """
60
+ The polling interval, in seconds.
61
+ """
62
+ timeout: Optional[float] = None
63
+ """
64
+ The timeout after which a health check is deemed as failed, in milliseconds.
65
+ """
66
+ headers: Optional[Dict[str, Any]] = None
67
+ """
68
+ A set of name-value pairs corresponding to HTTP headers that should be sent with the request.
69
+ """
70
+
71
+
72
+ class InteractionStyle(Enum):
73
+ """
74
+ The interaction style (synchronous or asynchronous).
75
+ """
76
+
77
+ Synchronous = 'Synchronous'
78
+ Asynchronous = 'Asynchronous'
79
+
80
+
81
+ @dataclass
82
+ class Perspective:
83
+ """
84
+ Represents an architectural perspective, that can be applied to elements and relationships.
85
+ """
86
+
87
+ name: Optional[str] = None
88
+ """
89
+ The name of this perspective (e.g. "Security").
90
+ """
91
+ description: Optional[str] = None
92
+ """
93
+ The description of this perspective.
94
+ """
95
+ value: Optional[str] = None
96
+ """
97
+ The value of this perspective (optional).
98
+ """
99
+
100
+
101
+ class PaperSize(Enum):
102
+ """
103
+ The paper size that should be used to render this view.
104
+ """
105
+
106
+ A6_Portrait = 'A6_Portrait'
107
+ A6_Landscape = 'A6_Landscape'
108
+ A5_Portrait = 'A5_Portrait'
109
+ A5_Landscape = 'A5_Landscape'
110
+ A4_Portrait = 'A4_Portrait'
111
+ A4_Landscape = 'A4_Landscape'
112
+ A3_Portrait = 'A3_Portrait'
113
+ A3_Landscape = 'A3_Landscape'
114
+ A2_Portrait = 'A2_Portrait'
115
+ A2_Landscape = 'A2_Landscape'
116
+ A1_Portrait = 'A1_Portrait'
117
+ A1_Landscape = 'A1_Landscape'
118
+ A0_Portrait = 'A0_Portrait'
119
+ A0_Landscape = 'A0_Landscape'
120
+ Letter_Portrait = 'Letter_Portrait'
121
+ Letter_Landscape = 'Letter_Landscape'
122
+ Legal_Portrait = 'Legal_Portrait'
123
+ Legal_Landscape = 'Legal_Landscape'
124
+ Slide_4_3 = 'Slide_4_3'
125
+ Slide_16_9 = 'Slide_16_9'
126
+ Slide_16_10 = 'Slide_16_10'
127
+
128
+
129
+ class Mode(Enum):
130
+ """
131
+ Whether elements/relationships are being included or excluded based upon the set of tags.
132
+ """
133
+
134
+ Include = 'Include'
135
+ Exclude = 'Exclude'
136
+
137
+
138
+ @dataclass
139
+ class FilteredView:
140
+ """
141
+ Represents a view on top of a view, which can be used to include or exclude specific elements.
142
+ """
143
+
144
+ key: Optional[str] = None
145
+ """
146
+ A unique identifier for this view.
147
+ """
148
+ order: Optional[float] = None
149
+ """
150
+ An integer representing the creation order of this view.
151
+ """
152
+ title: Optional[str] = None
153
+ """
154
+ The title of this view (optional).
155
+ """
156
+ description: Optional[str] = None
157
+ """
158
+ The description of this view.
159
+ """
160
+ properties: Optional[Dict[str, Any]] = None
161
+ """
162
+ A set of arbitrary name-value properties.
163
+ """
164
+ baseViewKey: Optional[str] = None
165
+ """
166
+ The key of the view on which this filtered view is based.
167
+ """
168
+ mode: Optional[Mode] = None
169
+ """
170
+ Whether elements/relationships are being included or excluded based upon the set of tags.
171
+ """
172
+ tags: Optional[List[str]] = None
173
+ """
174
+ The set of tags to include/exclude elements/relationships when rendering this filtered view.
175
+ """
176
+
177
+
178
+ @dataclass
179
+ class ImageView:
180
+ """
181
+ A view that has been rendered elsewhere (e.g. PlantUML, Mermaid, Kroki, etc) as a image (e.g. PNG).
182
+ """
183
+
184
+ key: Optional[str] = None
185
+ """
186
+ A unique identifier for this view.
187
+ """
188
+ order: Optional[float] = None
189
+ """
190
+ An integer representing the creation order of this view.
191
+ """
192
+ title: Optional[str] = None
193
+ """
194
+ The title of this view (optional).
195
+ """
196
+ description: Optional[str] = None
197
+ """
198
+ The description of this view.
199
+ """
200
+ properties: Optional[Dict[str, Any]] = None
201
+ """
202
+ A set of arbitrary name-value properties.
203
+ """
204
+ elementId: Optional[str] = None
205
+ """
206
+ The ID of the element this view is associated with (optional).
207
+ """
208
+ content: Optional[str] = None
209
+ """
210
+ The content of this image view, which needs to be a URL or a data URI.
211
+ """
212
+ contentType: Optional[str] = None
213
+ """
214
+ The content type of this view (e.g. "image/png").
215
+ """
216
+
217
+
218
+ @dataclass
219
+ class ElementView:
220
+ """
221
+ An instance of a model element (Person, Software System, Container or Component) in a View.
222
+ """
223
+
224
+ id: Optional[str] = None
225
+ """
226
+ The ID of the element.
227
+ """
228
+ x: Optional[float] = None
229
+ """
230
+ The horizontal position of the element when rendered.
231
+ """
232
+ y: Optional[float] = None
233
+ """
234
+ The vertical position of the element when rendered.
235
+ """
236
+
237
+
238
+ class Routing(Enum):
239
+ """
240
+ The routing algorithm used when rendering this individual relationship.
241
+ """
242
+
243
+ Direct = 'Direct'
244
+ Curved = 'Curved'
245
+ Orthogonal = 'Orthogonal'
246
+
247
+
248
+ @dataclass
249
+ class Vertex:
250
+ """
251
+ The X, Y coordinate of a bend in a line.
252
+ """
253
+
254
+ x: Optional[float] = None
255
+ """
256
+ The horizontal position of the vertex when rendered.
257
+ """
258
+ y: Optional[float] = None
259
+ """
260
+ The vertical position of the vertex when rendered.
261
+ """
262
+
263
+
264
+ @dataclass
265
+ class AnimationStep:
266
+ """
267
+ An animation step
268
+ """
269
+
270
+ order: Optional[float] = None
271
+ """
272
+ The order of this animation step.
273
+ """
274
+ elements: Optional[List[str]] = None
275
+ """
276
+ The set of element IDs that should be included in this animation step.
277
+ """
278
+ relationships: Optional[List[str]] = None
279
+ """
280
+ The set of relationship IDs that should be included in this animation step.
281
+ """
282
+
283
+
284
+ @dataclass
285
+ class Dimensions:
286
+ """
287
+ Represents a width and height pair.
288
+ """
289
+
290
+ width: Optional[float] = None
291
+ """
292
+ The width (pixels).
293
+ """
294
+ height: Optional[float] = None
295
+ """
296
+ The height (pixels).
297
+ """
298
+
299
+
300
+ class Implementation(Enum):
301
+ """
302
+ The automatic layout implementation.
303
+ """
304
+
305
+ Graphviz = 'Graphviz'
306
+ Dagre = 'Dagre'
307
+
308
+
309
+ class RankDirection(Enum):
310
+ """
311
+ The algorithm rank direction.
312
+ """
313
+
314
+ TopBottom = 'TopBottom'
315
+ BottomTop = 'BottomTop'
316
+ LeftRight = 'LeftRight'
317
+ RightLeft = 'RightLeft'
318
+
319
+
320
+ @dataclass
321
+ class AutomaticLayout:
322
+ """
323
+ Represents the auto-layout configuration for a given view.
324
+ """
325
+
326
+ implementation: Optional[Implementation] = None
327
+ """
328
+ The automatic layout implementation.
329
+ """
330
+ rankDirection: Optional[RankDirection] = None
331
+ """
332
+ The algorithm rank direction.
333
+ """
334
+ rankSeparation: Optional[float] = None
335
+ """
336
+ The separation between ranks (pixels).
337
+ """
338
+ nodeSeparation: Optional[float] = None
339
+ """
340
+ The separation between nodes in the same rank (pixels).
341
+ """
342
+ edgeSeparation: Optional[float] = None
343
+ """
344
+ The separation between edges (pixels).
345
+ """
346
+ vertices: Optional[bool] = None
347
+ """
348
+ Whether vertices should be created during automatic layout.
349
+ """
350
+
351
+
352
+ class MetadataSymbols(Enum):
353
+ """
354
+ The type of symbols to use when rendering metadata.
355
+ """
356
+
357
+ SquareBrackets_ = 'SquareBrackets,'
358
+ RoundBrackets_ = 'RoundBrackets,'
359
+ CurlyBrackets_ = 'CurlyBrackets,'
360
+ AngleBrackets_ = 'AngleBrackets,'
361
+ DoubleAngleBrackets_ = 'DoubleAngleBrackets,'
362
+ None_ = 'None'
363
+
364
+
365
+ @dataclass
366
+ class Font:
367
+ """
368
+ Represents a font, including a name and an optional URL for web fonts.
369
+ """
370
+
371
+ name: Optional[str] = None
372
+ """
373
+ The font name (e.g. "Times New Roman", "Open Sans", etc).
374
+ """
375
+ url: Optional[str] = None
376
+ """
377
+ For web fonts, the URL where the font can be found.
378
+ """
379
+
380
+
381
+ @dataclass
382
+ class Branding:
383
+ """
384
+ A wrapper for the font and logo for diagram/documentation branding purposes.
385
+ """
386
+
387
+ logo: Optional[str] = None
388
+ """
389
+ A Base64 data URI representation of a PNG/JPG/GIF file.
390
+ """
391
+ font: Optional[Font] = None
392
+ """
393
+ Represents a font, including a name and an optional URL for web fonts.
394
+ """
395
+
396
+
397
+ class Shape(Enum):
398
+ """
399
+ The shape used to render the element.
400
+ """
401
+
402
+ Box = 'Box'
403
+ RoundedBox = 'RoundedBox'
404
+ Component = 'Component'
405
+ Circle = 'Circle'
406
+ Ellipse = 'Ellipse'
407
+ Hexagon = 'Hexagon'
408
+ Diamond = 'Diamond'
409
+ Folder = 'Folder'
410
+ Cylinder = 'Cylinder'
411
+ Pipe = 'Pipe'
412
+ WebBrowser = 'WebBrowser'
413
+ Window = 'Window'
414
+ MobileDevicePortrait = 'MobileDevicePortrait'
415
+ MobileDeviceLandscape = 'MobileDeviceLandscape'
416
+ Person = 'Person'
417
+ Robot = 'Robot'
418
+
419
+
420
+ class Border(Enum):
421
+ """
422
+ The type of border used to render the element.
423
+ """
424
+
425
+ Solid = 'Solid'
426
+ Dashed = 'Dashed'
427
+ Dotted = 'Dotted'
428
+
429
+
430
+ @dataclass
431
+ class ElementStyle:
432
+ """
433
+ A definition of an element style.
434
+ """
435
+
436
+ tag: Optional[str] = None
437
+ """
438
+ The tag to which this element style applies.
439
+ """
440
+ width: Optional[float] = None
441
+ """
442
+ The width of the element, in pixels.
443
+ """
444
+ height: Optional[float] = None
445
+ """
446
+ The height of the element, in pixels.
447
+ """
448
+ background: Optional[str] = None
449
+ """
450
+ The background colour of the element, as a HTML RGB hex string (e.g. '#ffffff').
451
+ """
452
+ stroke: Optional[str] = None
453
+ """
454
+ The stroke colour of the element, as a HTML RGB hex string (e.g. '#000000').
455
+ """
456
+ strokeWidth: Optional[float] = None
457
+ """
458
+ The width of the stroke, in pixels.
459
+ """
460
+ color: Optional[str] = None
461
+ """
462
+ The foreground (text) colour of the element, as a HTML RGB hex string (e.g. '#ffffff').
463
+ """
464
+ fontSize: Optional[float] = None
465
+ """
466
+ The standard font size used to render text, in pixels.
467
+ """
468
+ shape: Optional[Shape] = None
469
+ """
470
+ The shape used to render the element.
471
+ """
472
+ icon: Optional[str] = None
473
+ """
474
+ A Base64 data URI representation of a PNG/JPG/GIF file.
475
+ """
476
+ border: Optional[Border] = None
477
+ """
478
+ The type of border used to render the element.
479
+ """
480
+ opacity: Optional[float] = None
481
+ """
482
+ The opacity used when rendering the element; 0-100.
483
+ """
484
+ metadata: Optional[bool] = None
485
+ """
486
+ Whether the element metadata should be shown or not.
487
+ """
488
+ description: Optional[bool] = None
489
+ """
490
+ Whether the element description should be shown or not.
491
+ """
492
+
493
+
494
+ class Routing1(Enum):
495
+ """
496
+ The routing algorithm used when rendering lines.
497
+ """
498
+
499
+ Direct = 'Direct'
500
+ Curved = 'Curved'
501
+ Orthogonal = 'Orthogonal'
502
+
503
+
504
+ @dataclass
505
+ class RelationshipStyle:
506
+ """
507
+ A definition of a relationship style.
508
+ """
509
+
510
+ tag: Optional[str] = None
511
+ """
512
+ The tag to which this relationship style applies.
513
+ """
514
+ thickness: Optional[float] = None
515
+ """
516
+ The thickness of the line, in pixels.
517
+ """
518
+ color: Optional[str] = None
519
+ """
520
+ The colour of the line, as a HTML RGB hex string (e.g. '#ffffff').
521
+ """
522
+ fontSize: Optional[float] = None
523
+ """
524
+ The standard font size used to render the relationship annotation, in pixels.
525
+ """
526
+ width: Optional[float] = None
527
+ """
528
+ The width of the relationship annotation, in pixels.
529
+ """
530
+ dashed: Optional[bool] = None
531
+ """
532
+ A flag to indicate whether the line is rendered as dashed or not.
533
+ """
534
+ routing: Optional[Routing1] = None
535
+ """
536
+ The routing algorithm used when rendering lines.
537
+ """
538
+ position: Optional[float] = None
539
+ """
540
+ The position of the annotation along the line; 0 (start) to 100 (end).
541
+ """
542
+ opacity: Optional[float] = None
543
+ """
544
+ The opacity used when rendering the line; 0-100.
545
+ """
546
+
547
+
548
+ class Format(Enum):
549
+ """
550
+ The content format type.
551
+ """
552
+
553
+ Markdown = 'Markdown'
554
+ AsciiDoc = 'AsciiDoc'
555
+
556
+
557
+ @dataclass
558
+ class DocumentationSection:
559
+ """
560
+ A documentation section.
561
+ """
562
+
563
+ content: Optional[str] = None
564
+ """
565
+ The Markdown or AsciiDoc content of the section.
566
+ """
567
+ format: Optional[Format] = None
568
+ """
569
+ The content format type.
570
+ """
571
+ order: Optional[float] = None
572
+ """
573
+ The order (index) of the section in the document.
574
+ """
575
+
576
+
577
+ class Status(Enum):
578
+ """
579
+ The status of the decision.
580
+ """
581
+
582
+ Proposed = 'Proposed'
583
+ Accepted = 'Accepted'
584
+ Superseded = 'Superseded'
585
+ Deprecated = 'Deprecated'
586
+ Rejected = 'Rejected'
587
+
588
+
589
+ @dataclass
590
+ class Decision:
591
+ """
592
+ A decision record (e.g. architecture decision record).
593
+ """
594
+
595
+ id: Optional[str] = None
596
+ """
597
+ The ID of the decision.
598
+ """
599
+ date: Optional[str] = None
600
+ """
601
+ The date that the decision was made (ISO 8601 format).
602
+ """
603
+ status: Optional[Status] = None
604
+ """
605
+ The status of the decision.
606
+ """
607
+ title: Optional[str] = None
608
+ """
609
+ The title of the decision.
610
+ """
611
+ content: Optional[str] = None
612
+ """
613
+ The Markdown or AsciiDoc content of the section.
614
+ """
615
+ format: Optional[Format] = None
616
+ """
617
+ The content format type.
618
+ """
619
+ elementId: Optional[str] = None
620
+ """
621
+ The ID of the element (in the model) that this decision applies to (optional).
622
+ """
623
+
624
+
625
+ @dataclass
626
+ class Image:
627
+ """
628
+ Represents a base64 encoded image (png/jpg/gif).
629
+ """
630
+
631
+ name: Optional[str] = None
632
+ """
633
+ The name of the image.
634
+ """
635
+ content: Optional[str] = None
636
+ """
637
+ The (base64 encoded) content of the image.
638
+ """
639
+ type: Optional[str] = None
640
+ """
641
+ The image MIME type (e.g. "image/png").
642
+ """
643
+
644
+
645
+ @dataclass
646
+ class Terminology:
647
+ """
648
+ Provides a way for the terminology on diagrams, etc to be modified (e.g. language translations).
649
+ """
650
+
651
+ enterprise: Optional[str] = None
652
+ """
653
+ The terminology used when rendering the enterprise boundary.
654
+ """
655
+ person: Optional[str] = None
656
+ """
657
+ The terminology used when rendering people.
658
+ """
659
+ softwareSystem: Optional[str] = None
660
+ """
661
+ The terminology used when rendering software systems.
662
+ """
663
+ container: Optional[str] = None
664
+ """
665
+ The terminology used when rendering containers.
666
+ """
667
+ component: Optional[str] = None
668
+ """
669
+ The terminology used when rendering components.
670
+ """
671
+ code: Optional[str] = None
672
+ """
673
+ The terminology used when rendering code elements.
674
+ """
675
+ deploymentNode: Optional[str] = None
676
+ """
677
+ The terminology used when rendering deployment nodes.
678
+ """
679
+ relationship: Optional[str] = None
680
+ """
681
+ The terminology used when rendering relationships.
682
+ """
683
+
684
+
685
+ class Visibility(Enum):
686
+ """
687
+ The visibility of the workspace
688
+ """
689
+
690
+ Public = 'Public'
691
+ Private = 'Private'
692
+
693
+
694
+ class Scope(Enum):
695
+ """
696
+ The scope of the workspace (can be unset for unscoped).
697
+ """
698
+
699
+ Landscape = 'Landscape'
700
+ SoftwareSystem = 'SoftwareSystem'
701
+
702
+
703
+ class Role(Enum):
704
+ """
705
+ The user's role.
706
+ """
707
+
708
+ ReadWrite = 'ReadWrite'
709
+ ReadOnly = 'ReadOnly'
710
+
711
+
712
+ @dataclass
713
+ class User:
714
+ """
715
+ Represents a user who should have access to a workspace.
716
+ """
717
+
718
+ username: Optional[str] = None
719
+ """
720
+ The username of the user (e.g. e-mail address).
721
+ """
722
+ role: Optional[Role] = None
723
+ """
724
+ The user's role.
725
+ """
726
+
727
+
728
+ @dataclass
729
+ class APIResponse:
730
+ """
731
+ An API response.
732
+ """
733
+
734
+ success: Optional[bool] = None
735
+ """
736
+ true if the API call was successful, false otherwise.
737
+ """
738
+ message: Optional[str] = None
739
+ """
740
+ A human readable response message.
741
+ """
742
+ revision: Optional[int] = None
743
+ """
744
+ The internal revision number.
745
+ """
746
+
747
+
748
+ @dataclass
749
+ class Relationship:
750
+ """
751
+ A relationship between two elements.
752
+ """
753
+
754
+ id: Optional[str] = None
755
+ """
756
+ The ID of this relationship in the model.
757
+ """
758
+ description: Optional[str] = None
759
+ """
760
+ A short description of this relationship.
761
+ """
762
+ tags: Optional[str] = None
763
+ """
764
+ A comma separated list of tags associated with this relationship.
765
+ """
766
+ url: Optional[str] = None
767
+ """
768
+ The URL where more information about this relationship can be found.
769
+ """
770
+ properties: Optional[Dict[str, Any]] = None
771
+ """
772
+ A set of arbitrary name-value properties.
773
+ """
774
+ perspectives: Optional[List[Perspective]] = None
775
+ """
776
+ The set of perspectives associated with this relationship.
777
+ """
778
+ sourceId: Optional[str] = None
779
+ """
780
+ The ID of the source element.
781
+ """
782
+ destinationId: Optional[str] = None
783
+ """
784
+ The ID of the destination element.
785
+ """
786
+ technology: Optional[str] = None
787
+ """
788
+ The technology associated with this relationship (e.g. HTTPS, JDBC, etc).
789
+ """
790
+ interactionStyle: Optional[InteractionStyle] = None
791
+ """
792
+ The interaction style (synchronous or asynchronous).
793
+ """
794
+ linkedRelationshipId: Optional[str] = None
795
+ """
796
+ The ID of the container-container relationship upon which this container instance-container instance relationship is based.
797
+ """
798
+
799
+
800
+ @dataclass
801
+ class RelationshipView:
802
+ """
803
+ An instance of a model relationship in a View.
804
+ """
805
+
806
+ id: Optional[str] = None
807
+ """
808
+ The ID of the relationship.
809
+ """
810
+ description: Optional[str] = None
811
+ """
812
+ The description of this relationship (used in dynamic views only).
813
+ """
814
+ response: Optional[bool] = None
815
+ """
816
+ Signifies whether this relationship represents a return/response message (used in dynamic views only).
817
+ """
818
+ order: Optional[str] = None
819
+ """
820
+ Gets the order of this relationship (used in dynamic views only; e.g. 1.0, 1.1, 2.0, etc).
821
+ """
822
+ vertices: Optional[List[Vertex]] = None
823
+ """
824
+ The set of vertices used to render the relationship.
825
+ """
826
+ routing: Optional[Routing] = None
827
+ """
828
+ The routing algorithm used when rendering this individual relationship.
829
+ """
830
+ position: Optional[float] = None
831
+ """
832
+ The position of the annotation along the line; 0 (start) to 100 (end).
833
+ """
834
+
835
+
836
+ @dataclass
837
+ class Styles:
838
+ """
839
+ The styles associated with this set of views.
840
+ """
841
+
842
+ elements: Optional[List[ElementStyle]] = None
843
+ """
844
+ The set of element styles.
845
+ """
846
+ relationships: Optional[List[RelationshipStyle]] = None
847
+ """
848
+ The set of relationship styles.
849
+ """
850
+
851
+
852
+ @dataclass
853
+ class Configuration:
854
+ """
855
+ The configuration associated with a set of views.
856
+ """
857
+
858
+ styles: Optional[Styles] = None
859
+ """
860
+ The styles associated with this set of views.
861
+ """
862
+ lastSavedView: Optional[str] = None
863
+ """
864
+ The key of the view that was saved most recently.
865
+ """
866
+ defaultView: Optional[str] = None
867
+ """
868
+ The key of the view that should be shown by default.
869
+ """
870
+ themes: Optional[List[str]] = None
871
+ """
872
+ The URL(s) of the theme(s) to be used when rendering diagrams.
873
+ """
874
+ branding: Optional[Branding] = None
875
+ terminology: Optional[Terminology] = None
876
+ metadataSymbols: Optional[MetadataSymbols] = None
877
+ """
878
+ The type of symbols to use when rendering metadata.
879
+ """
880
+ properties: Optional[Dict[str, Any]] = None
881
+ """
882
+ A set of arbitrary name-value properties.
883
+ """
884
+
885
+
886
+ @dataclass
887
+ class Documentation:
888
+ """
889
+ A wrapper for documentation.
890
+ """
891
+
892
+ sections: Optional[List[DocumentationSection]] = None
893
+ decisions: Optional[List[Decision]] = None
894
+ images: Optional[List[Image]] = None
895
+
896
+
897
+ @dataclass
898
+ class WorkspaceConfiguration:
899
+ """
900
+ The workspace configuration (for Structurizr cloud service and on-premises installation).
901
+ """
902
+
903
+ users: Optional[List[User]] = None
904
+ visibility: Optional[Visibility] = None
905
+ """
906
+ The visibility of the workspace
907
+ """
908
+ scope: Optional[Scope] = None
909
+ """
910
+ The scope of the workspace (can be unset for unscoped).
911
+ """
912
+
913
+
914
+ @dataclass
915
+ class Person:
916
+ """
917
+ A person who uses a software system.
918
+ """
919
+
920
+ id: Optional[str] = None
921
+ """
922
+ The ID of this person in the model.
923
+ """
924
+ name: Optional[str] = None
925
+ """
926
+ The name of this person.
927
+ """
928
+ description: Optional[str] = None
929
+ """
930
+ A short description of this person.
931
+ """
932
+ tags: Optional[str] = None
933
+ """
934
+ A comma separated list of tags associated with this person.
935
+ """
936
+ url: Optional[str] = None
937
+ """
938
+ The URL where more information about this element can be found.
939
+ """
940
+ location: Optional[Location] = None
941
+ """
942
+ The location of this person.
943
+ """
944
+ group: Optional[str] = None
945
+ """
946
+ The name of the group in which this person should be included in.
947
+ """
948
+ properties: Optional[Dict[str, Any]] = None
949
+ """
950
+ A set of arbitrary name-value properties.
951
+ """
952
+ perspectives: Optional[List[Perspective]] = None
953
+ """
954
+ The set of perspectives associated with this element.
955
+ """
956
+ relationships: Optional[List[Relationship]] = None
957
+ """
958
+ The set of relationships from this person to other elements.
959
+ """
960
+
961
+
962
+ @dataclass
963
+ class Component:
964
+ """
965
+ A component (a grouping of related functionality behind an interface that runs inside a container).
966
+ """
967
+
968
+ id: Optional[str] = None
969
+ """
970
+ The ID of this component in the model.
971
+ """
972
+ name: Optional[str] = None
973
+ """
974
+ The name of this component.
975
+ """
976
+ description: Optional[str] = None
977
+ """
978
+ A short description of this component.
979
+ """
980
+ technology: Optional[str] = None
981
+ """
982
+ The technology associated with this component (e.g. Spring Bean).
983
+ """
984
+ tags: Optional[str] = None
985
+ """
986
+ A comma separated list of tags associated with this component.
987
+ """
988
+ url: Optional[str] = None
989
+ """
990
+ The URL where more information about this element can be found.
991
+ """
992
+ group: Optional[str] = None
993
+ """
994
+ The name of the group in which this component should be included in.
995
+ """
996
+ properties: Optional[Dict[str, Any]] = None
997
+ """
998
+ A set of arbitrary name-value properties.
999
+ """
1000
+ perspectives: Optional[List[Perspective]] = None
1001
+ """
1002
+ The set of perspectives associated with this element.
1003
+ """
1004
+ relationships: Optional[List[Relationship]] = None
1005
+ """
1006
+ The set of relationships from this component to other elements.
1007
+ """
1008
+ documentation: Optional[Documentation] = None
1009
+
1010
+
1011
+ @dataclass
1012
+ class InfrastructureNode:
1013
+ """
1014
+ An infrastructure node.
1015
+ """
1016
+
1017
+ id: Optional[str] = None
1018
+ """
1019
+ The ID of this infrastructure node in the model.
1020
+ """
1021
+ name: Optional[str] = None
1022
+ """
1023
+ The name of this infrastructure node.
1024
+ """
1025
+ description: Optional[str] = None
1026
+ """
1027
+ A short description of this infrastructure node.
1028
+ """
1029
+ technology: Optional[str] = None
1030
+ """
1031
+ The technology associated with this infrastructure node (e.g. "Route 53").
1032
+ """
1033
+ environment: Optional[str] = None
1034
+ """
1035
+ The deployment environment in which this infrastructure node resides (e.g. "Development", "Live", etc).
1036
+ """
1037
+ tags: Optional[str] = None
1038
+ """
1039
+ A comma separated list of tags associated with this infrastructure node.
1040
+ """
1041
+ url: Optional[str] = None
1042
+ """
1043
+ The URL where more information about this element can be found.
1044
+ """
1045
+ properties: Optional[Dict[str, Any]] = None
1046
+ """
1047
+ A set of arbitrary name-value properties.
1048
+ """
1049
+ perspectives: Optional[List[Perspective]] = None
1050
+ """
1051
+ The set of perspectives associated with this element.
1052
+ """
1053
+ relationships: Optional[List[Relationship]] = None
1054
+ """
1055
+ The set of relationships from this infrastructure node to other elements.
1056
+ """
1057
+
1058
+
1059
+ @dataclass
1060
+ class SoftwareSystemInstance:
1061
+ """
1062
+ An instance of a software system, running on a deployment node.
1063
+ """
1064
+
1065
+ id: Optional[str] = None
1066
+ """
1067
+ The ID of this software system instance in the model.
1068
+ """
1069
+ softwareSystemId: Optional[str] = None
1070
+ """
1071
+ The ID of the software system this is an instance of.
1072
+ """
1073
+ instanceId: Optional[float] = None
1074
+ """
1075
+ The number/index of this instance.
1076
+ """
1077
+ environment: Optional[str] = None
1078
+ """
1079
+ The deployment environment in which this software system instance resides (e.g. "Development", "Live", etc).
1080
+ """
1081
+ tags: Optional[str] = None
1082
+ """
1083
+ A comma separated list of tags associated with this software system instance.
1084
+ """
1085
+ properties: Optional[Dict[str, Any]] = None
1086
+ """
1087
+ A set of arbitrary name-value properties.
1088
+ """
1089
+ perspectives: Optional[List[Perspective]] = None
1090
+ """
1091
+ The set of perspectives associated with this element.
1092
+ """
1093
+ relationships: Optional[List[Relationship]] = None
1094
+ """
1095
+ The set of relationships from this software system instance to other elements.
1096
+ """
1097
+ healthChecks: Optional[List[HttpHealthCheck]] = None
1098
+ """
1099
+ The set of HTTP-based health checks for this software system instance.
1100
+ """
1101
+
1102
+
1103
+ @dataclass
1104
+ class ContainerInstance:
1105
+ """
1106
+ An instance of a container, running on a deployment node.
1107
+ """
1108
+
1109
+ id: Optional[str] = None
1110
+ """
1111
+ The ID of this container instance in the model.
1112
+ """
1113
+ containerId: Optional[str] = None
1114
+ """
1115
+ The ID of the container this is an instance of.
1116
+ """
1117
+ instanceId: Optional[float] = None
1118
+ """
1119
+ The number/index of this instance.
1120
+ """
1121
+ environment: Optional[str] = None
1122
+ """
1123
+ The deployment environment in which this container instance resides (e.g. "Development", "Live", etc).
1124
+ """
1125
+ tags: Optional[str] = None
1126
+ """
1127
+ A comma separated list of tags associated with this container instance.
1128
+ """
1129
+ properties: Optional[Dict[str, Any]] = None
1130
+ """
1131
+ A set of arbitrary name-value properties.
1132
+ """
1133
+ perspectives: Optional[List[Perspective]] = None
1134
+ """
1135
+ The set of perspectives associated with this element.
1136
+ """
1137
+ relationships: Optional[List[Relationship]] = None
1138
+ """
1139
+ The set of relationships from this container instance to other elements.
1140
+ """
1141
+ healthChecks: Optional[List[HttpHealthCheck]] = None
1142
+ """
1143
+ The set of HTTP-based health checks for this container instance.
1144
+ """
1145
+
1146
+
1147
+ @dataclass
1148
+ class SystemLandscapeView:
1149
+ """
1150
+ A system landscape view.
1151
+ """
1152
+
1153
+ key: Optional[str] = None
1154
+ """
1155
+ A unique identifier for this view.
1156
+ """
1157
+ order: Optional[float] = None
1158
+ """
1159
+ An integer representing the creation order of this view.
1160
+ """
1161
+ title: Optional[str] = None
1162
+ """
1163
+ The title of this view (optional).
1164
+ """
1165
+ description: Optional[str] = None
1166
+ """
1167
+ The description of this view.
1168
+ """
1169
+ properties: Optional[Dict[str, Any]] = None
1170
+ """
1171
+ A set of arbitrary name-value properties.
1172
+ """
1173
+ paperSize: Optional[PaperSize] = None
1174
+ """
1175
+ The paper size that should be used to render this view.
1176
+ """
1177
+ dimensions: Optional[Dimensions] = None
1178
+ automaticLayout: Optional[AutomaticLayout] = None
1179
+ enterpriseBoundaryVisible: Optional[bool] = None
1180
+ """
1181
+ Specifies whether the enterprise boundary (to differentiate internal elements from external elements) should be visible on the resulting diagram.
1182
+ """
1183
+ elements: Optional[List[ElementView]] = None
1184
+ """
1185
+ The set of elements in this views.
1186
+ """
1187
+ relationships: Optional[List[RelationshipView]] = None
1188
+ """
1189
+ The set of relationships in this views.
1190
+ """
1191
+ animations: Optional[List[AnimationStep]] = None
1192
+ """
1193
+ The set of animation steps (optional).
1194
+ """
1195
+
1196
+
1197
+ @dataclass
1198
+ class SystemContextView:
1199
+ """
1200
+ A system context view.
1201
+ """
1202
+
1203
+ key: Optional[str] = None
1204
+ """
1205
+ A unique identifier for this view.
1206
+ """
1207
+ order: Optional[float] = None
1208
+ """
1209
+ An integer representing the creation order of this view.
1210
+ """
1211
+ title: Optional[str] = None
1212
+ """
1213
+ The title of this view (optional).
1214
+ """
1215
+ description: Optional[str] = None
1216
+ """
1217
+ The description of this view.
1218
+ """
1219
+ properties: Optional[Dict[str, Any]] = None
1220
+ """
1221
+ A set of arbitrary name-value properties.
1222
+ """
1223
+ softwareSystemId: Optional[str] = None
1224
+ """
1225
+ The ID of the software system this view is associated with.
1226
+ """
1227
+ paperSize: Optional[PaperSize] = None
1228
+ """
1229
+ The paper size that should be used to render this view.
1230
+ """
1231
+ dimensions: Optional[Dimensions] = None
1232
+ automaticLayout: Optional[AutomaticLayout] = None
1233
+ enterpriseBoundaryVisible: Optional[bool] = None
1234
+ """
1235
+ Specifies whether the enterprise boundary (to differentiate internal elements from external elements") should be visible on the resulting diagram.
1236
+ """
1237
+ elements: Optional[List[ElementView]] = None
1238
+ """
1239
+ The set of elements in this view.
1240
+ """
1241
+ relationships: Optional[List[RelationshipView]] = None
1242
+ """
1243
+ The set of relationships in this view.
1244
+ """
1245
+ animations: Optional[List[AnimationStep]] = None
1246
+ """
1247
+ The set of animation steps (optional).
1248
+ """
1249
+
1250
+
1251
+ @dataclass
1252
+ class ContainerView:
1253
+ """
1254
+ A container view.
1255
+ """
1256
+
1257
+ key: Optional[str] = None
1258
+ """
1259
+ A unique identifier for this view.
1260
+ """
1261
+ order: Optional[float] = None
1262
+ """
1263
+ An integer representing the creation order of this view.
1264
+ """
1265
+ title: Optional[str] = None
1266
+ """
1267
+ The title of this view (optional).
1268
+ """
1269
+ description: Optional[str] = None
1270
+ """
1271
+ The description of this view.
1272
+ """
1273
+ properties: Optional[Dict[str, Any]] = None
1274
+ """
1275
+ A set of arbitrary name-value properties.
1276
+ """
1277
+ softwareSystemId: Optional[str] = None
1278
+ """
1279
+ The ID of the software system this view is associated with.
1280
+ """
1281
+ paperSize: Optional[PaperSize] = None
1282
+ """
1283
+ The paper size that should be used to render this view.
1284
+ """
1285
+ dimensions: Optional[Dimensions] = None
1286
+ automaticLayout: Optional[AutomaticLayout] = None
1287
+ elements: Optional[List[ElementView]] = None
1288
+ """
1289
+ The set of elements in this views.
1290
+ """
1291
+ relationships: Optional[List[RelationshipView]] = None
1292
+ """
1293
+ The set of relationships in this views.
1294
+ """
1295
+ animations: Optional[List[AnimationStep]] = None
1296
+ """
1297
+ The set of animation steps (optional).
1298
+ """
1299
+ externalSoftwareSystemBoundariesVisible: Optional[bool] = None
1300
+ """
1301
+ Specifies whether software system boundaries should be visible for "external" containers (those outside the software system in scope).
1302
+ """
1303
+
1304
+
1305
+ @dataclass
1306
+ class ComponentView:
1307
+ """
1308
+ A component view.
1309
+ """
1310
+
1311
+ key: Optional[str] = None
1312
+ """
1313
+ A unique identifier for this view.
1314
+ """
1315
+ order: Optional[float] = None
1316
+ """
1317
+ An integer representing the creation order of this view.
1318
+ """
1319
+ title: Optional[str] = None
1320
+ """
1321
+ The title of this view (optional).
1322
+ """
1323
+ description: Optional[str] = None
1324
+ """
1325
+ The description of this view.
1326
+ """
1327
+ properties: Optional[Dict[str, Any]] = None
1328
+ """
1329
+ A set of arbitrary name-value properties.
1330
+ """
1331
+ containerId: Optional[str] = None
1332
+ """
1333
+ The ID of the container this view is associated with.
1334
+ """
1335
+ paperSize: Optional[PaperSize] = None
1336
+ """
1337
+ The paper size that should be used to render this view.
1338
+ """
1339
+ dimensions: Optional[Dimensions] = None
1340
+ automaticLayout: Optional[AutomaticLayout] = None
1341
+ elements: Optional[List[ElementView]] = None
1342
+ """
1343
+ The set of elements in this views.
1344
+ """
1345
+ relationships: Optional[List[RelationshipView]] = None
1346
+ """
1347
+ The set of relationships in this views.
1348
+ """
1349
+ animations: Optional[List[AnimationStep]] = None
1350
+ """
1351
+ The set of animation steps (optional).
1352
+ """
1353
+ externalContainerBoundariesVisible: Optional[bool] = None
1354
+ """
1355
+ Specifies whether container boundaries should be visible for "external" components (those outside the container in scope).
1356
+ """
1357
+
1358
+
1359
+ @dataclass
1360
+ class DynamicView:
1361
+ """
1362
+ A dynamic view.
1363
+ """
1364
+
1365
+ key: Optional[str] = None
1366
+ """
1367
+ A unique identifier for this view.
1368
+ """
1369
+ order: Optional[float] = None
1370
+ """
1371
+ An integer representing the creation order of this view.
1372
+ """
1373
+ title: Optional[str] = None
1374
+ """
1375
+ The title of this view (optional).
1376
+ """
1377
+ description: Optional[str] = None
1378
+ """
1379
+ The description of this view.
1380
+ """
1381
+ properties: Optional[Dict[str, Any]] = None
1382
+ """
1383
+ A set of arbitrary name-value properties.
1384
+ """
1385
+ elementId: Optional[str] = None
1386
+ """
1387
+ The ID of the element this view is associated with (optional).
1388
+ """
1389
+ paperSize: Optional[PaperSize] = None
1390
+ """
1391
+ The paper size that should be used to render this view.
1392
+ """
1393
+ dimensions: Optional[Dimensions] = None
1394
+ automaticLayout: Optional[AutomaticLayout] = None
1395
+ elements: Optional[List[ElementView]] = None
1396
+ """
1397
+ The set of elements in this views.
1398
+ """
1399
+ relationships: Optional[List[RelationshipView]] = None
1400
+ """
1401
+ The set of relationships in this views.
1402
+ """
1403
+ externalBoundariesVisible: Optional[bool] = None
1404
+ """
1405
+ Specifies software system/container boundaries should be visible for "external" containers/components (those outside the element in scope)
1406
+ """
1407
+
1408
+
1409
+ @dataclass
1410
+ class DeploymentView:
1411
+ """
1412
+ A deployment view.
1413
+ """
1414
+
1415
+ key: Optional[str] = None
1416
+ """
1417
+ A unique identifier for this view.
1418
+ """
1419
+ order: Optional[float] = None
1420
+ """
1421
+ An integer representing the creation order of this view.
1422
+ """
1423
+ title: Optional[str] = None
1424
+ """
1425
+ The title of this view (optional).
1426
+ """
1427
+ description: Optional[str] = None
1428
+ """
1429
+ The description of this view.
1430
+ """
1431
+ properties: Optional[Dict[str, Any]] = None
1432
+ """
1433
+ A set of arbitrary name-value properties.
1434
+ """
1435
+ softwareSystemId: Optional[str] = None
1436
+ """
1437
+ The ID of the software system this view is associated with (optional).
1438
+ """
1439
+ environment: Optional[str] = None
1440
+ """
1441
+ The name of the environment that this deployment view is for (e.g. "Development", "Live", etc).
1442
+ """
1443
+ paperSize: Optional[PaperSize] = None
1444
+ """
1445
+ The paper size that should be used to render this view.
1446
+ """
1447
+ dimensions: Optional[Dimensions] = None
1448
+ automaticLayout: Optional[AutomaticLayout] = None
1449
+ elements: Optional[List[ElementView]] = None
1450
+ """
1451
+ The set of elements in this views.
1452
+ """
1453
+ relationships: Optional[List[RelationshipView]] = None
1454
+ """
1455
+ The set of relationships in this views.
1456
+ """
1457
+ animations: Optional[List[AnimationStep]] = None
1458
+ """
1459
+ The set of animation steps (optional).
1460
+ """
1461
+
1462
+
1463
+ @dataclass
1464
+ class Container:
1465
+ """
1466
+ A container (something that can execute code or host data).
1467
+ """
1468
+
1469
+ id: Optional[str] = None
1470
+ """
1471
+ The ID of this container in the model.
1472
+ """
1473
+ name: Optional[str] = None
1474
+ """
1475
+ The name of this container.
1476
+ """
1477
+ description: Optional[str] = None
1478
+ """
1479
+ A short description of this container.
1480
+ """
1481
+ technology: Optional[str] = None
1482
+ """
1483
+ The technology associated with this container (e.g. Apache Tomcat).
1484
+ """
1485
+ tags: Optional[str] = None
1486
+ """
1487
+ A comma separated list of tags associated with this container.
1488
+ """
1489
+ url: Optional[str] = None
1490
+ """
1491
+ The URL where more information about this element can be found.
1492
+ """
1493
+ components: Optional[List[Component]] = None
1494
+ """
1495
+ The set of components within this container.
1496
+ """
1497
+ group: Optional[str] = None
1498
+ """
1499
+ The name of the group in which this container should be included in.
1500
+ """
1501
+ properties: Optional[Dict[str, Any]] = None
1502
+ """
1503
+ A set of arbitrary name-value properties.
1504
+ """
1505
+ perspectives: Optional[List[Perspective]] = None
1506
+ """
1507
+ The set of perspectives associated with this element.
1508
+ """
1509
+ relationships: Optional[List[Relationship]] = None
1510
+ """
1511
+ The set of relationships from this container to other elements.
1512
+ """
1513
+ documentation: Optional[Documentation] = None
1514
+
1515
+
1516
+ @dataclass
1517
+ class DeploymentNode:
1518
+ """
1519
+ A deployment node.
1520
+ """
1521
+
1522
+ id: Optional[str] = None
1523
+ """
1524
+ The ID of this deployment node in the model.
1525
+ """
1526
+ name: Optional[str] = None
1527
+ """
1528
+ The name of this deployment node.
1529
+ """
1530
+ description: Optional[str] = None
1531
+ """
1532
+ A short description of this deployment node.
1533
+ """
1534
+ technology: Optional[str] = None
1535
+ """
1536
+ The technology associated with this deployment node (e.g. Apache Tomcat).
1537
+ """
1538
+ environment: Optional[str] = None
1539
+ """
1540
+ The deployment environment in which this deployment node resides (e.g. "Development", "Live", etc).
1541
+ """
1542
+ instances: Optional[str] = None
1543
+ """
1544
+ The number of instances; either a number (e.g. 1, 2, etc) or a range (e.g. 0..N, 0..*, 1..3, etc).
1545
+ """
1546
+ tags: Optional[str] = None
1547
+ """
1548
+ A comma separated list of tags associated with this deployment node.
1549
+ """
1550
+ url: Optional[str] = None
1551
+ """
1552
+ The URL where more information about this element can be found.
1553
+ """
1554
+ children: Optional[List[DeploymentNode]] = None
1555
+ """
1556
+ The set of child/nested deployment nodes.
1557
+ """
1558
+ infrastructureNodes: Optional[List[InfrastructureNode]] = None
1559
+ softwareSystemInstances: Optional[List[SoftwareSystemInstance]] = None
1560
+ """
1561
+ The set of software systems instances running in this deployment node..
1562
+ """
1563
+ containerInstances: Optional[List[ContainerInstance]] = None
1564
+ """
1565
+ The set of container instances running in this deployment node..
1566
+ """
1567
+ properties: Optional[Dict[str, Any]] = None
1568
+ """
1569
+ A set of arbitrary name-value properties.
1570
+ """
1571
+ perspectives: Optional[List[Perspective]] = None
1572
+ """
1573
+ The set of perspectives associated with this element.
1574
+ """
1575
+ relationships: Optional[List[Relationship]] = None
1576
+ """
1577
+ The set of relationships from this deployment node to other elements.
1578
+ """
1579
+
1580
+
1581
+ @dataclass
1582
+ class Views:
1583
+ """
1584
+ The set of views onto a software architecture model.
1585
+ """
1586
+
1587
+ systemLandscapeViews: Optional[List[SystemLandscapeView]] = None
1588
+ """
1589
+ The set of system landscape views.
1590
+ """
1591
+ systemContextViews: Optional[List[SystemContextView]] = None
1592
+ """
1593
+ The set of system context views.
1594
+ """
1595
+ containerViews: Optional[List[ContainerView]] = None
1596
+ """
1597
+ The set of container views.
1598
+ """
1599
+ componentViews: Optional[List[ComponentView]] = None
1600
+ """
1601
+ The set of component views.
1602
+ """
1603
+ dynamicViews: Optional[List[DynamicView]] = None
1604
+ """
1605
+ The set of dynamic views.
1606
+ """
1607
+ deploymentViews: Optional[List[DeploymentView]] = None
1608
+ """
1609
+ The set of deployment views.
1610
+ """
1611
+ filteredViews: Optional[List[FilteredView]] = None
1612
+ """
1613
+ The set of filtered views.
1614
+ """
1615
+ imageViews: Optional[List[ImageView]] = None
1616
+ """
1617
+ The set of image views.
1618
+ """
1619
+ configuration: Optional[Configuration] = None
1620
+
1621
+
1622
+ @dataclass
1623
+ class SoftwareSystem:
1624
+ """
1625
+ A software system.
1626
+ """
1627
+
1628
+ id: Optional[str] = None
1629
+ """
1630
+ The ID of this software system in the model.
1631
+ """
1632
+ name: Optional[str] = None
1633
+ """
1634
+ The name of this software system.
1635
+ """
1636
+ description: Optional[str] = None
1637
+ """
1638
+ A short description of this software system.
1639
+ """
1640
+ location: Optional[Location1] = None
1641
+ """
1642
+ The location of this software system.
1643
+ """
1644
+ tags: Optional[str] = None
1645
+ """
1646
+ A comma separated list of tags associated with this software system.
1647
+ """
1648
+ url: Optional[str] = None
1649
+ """
1650
+ The URL where more information about this element can be found.
1651
+ """
1652
+ containers: Optional[List[Container]] = None
1653
+ """
1654
+ The set of containers within this software system.
1655
+ """
1656
+ group: Optional[str] = None
1657
+ """
1658
+ The name of the group in which this software system should be included in.
1659
+ """
1660
+ properties: Optional[Dict[str, Any]] = None
1661
+ """
1662
+ A set of arbitrary name-value properties.
1663
+ """
1664
+ perspectives: Optional[List[Perspective]] = None
1665
+ """
1666
+ The set of perspectives associated with this element.
1667
+ """
1668
+ relationships: Optional[List[Relationship]] = None
1669
+ """
1670
+ The set of relationships from this software system to other elements.
1671
+ """
1672
+ documentation: Optional[Documentation] = None
1673
+
1674
+
1675
+ @dataclass
1676
+ class Model:
1677
+ """
1678
+ A software architecture model.
1679
+ """
1680
+
1681
+ enterprise: Optional[Enterprise] = None
1682
+ """
1683
+ The enterprise associated with this model.
1684
+ """
1685
+ people: Optional[List[Person]] = None
1686
+ softwareSystems: Optional[List[SoftwareSystem]] = None
1687
+ deploymentNodes: Optional[List[DeploymentNode]] = None
1688
+ properties: Optional[Dict[str, Any]] = None
1689
+ """
1690
+ A set of arbitrary name-value properties.
1691
+ """
1692
+
1693
+
1694
+ @dataclass
1695
+ class Workspace:
1696
+ """
1697
+ Represents a Structurizr workspace, which is a wrapper for a software architecture model, views, and documentation.
1698
+ """
1699
+
1700
+ id: Optional[int] = None
1701
+ """
1702
+ The workspace ID.
1703
+ """
1704
+ name: Optional[str] = None
1705
+ """
1706
+ The name of the workspace.
1707
+ """
1708
+ description: Optional[str] = None
1709
+ """
1710
+ A short description of the workspace.
1711
+ """
1712
+ version: Optional[str] = None
1713
+ """
1714
+ A version number for the workspace.
1715
+ """
1716
+ thumbnail: Optional[str] = None
1717
+ """
1718
+ The thumbnail associated with the workspace; a Base64 encoded PNG file as a data URI (data:image/png;base64).
1719
+ """
1720
+ lastModifiedDate: Optional[str] = None
1721
+ """
1722
+ The last modified date, in ISO 8601 format (e.g. "2018-09-08T12:40:03Z").
1723
+ """
1724
+ lastModifiedUser: Optional[str] = None
1725
+ """
1726
+ A string identifying the user who last modified the workspace (e.g. an e-mail address or username).
1727
+ """
1728
+ lastModifiedAgent: Optional[str] = None
1729
+ """
1730
+ A string identifying the agent that was last used to modify the workspace (e.g. "structurizr-java/1.2.0").
1731
+ """
1732
+ model: Optional[Model] = None
1733
+ views: Optional[Views] = None
1734
+ documentation: Optional[Documentation] = None
1735
+ configuration: Optional[WorkspaceConfiguration] = None
1736
+ properties: Optional[Dict[str, Any]] = None
1737
+ """
1738
+ A set of arbitrary name-value properties.
1739
+ """