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.
- buildzr/__about__.py +1 -0
- buildzr/__init__.py +4 -0
- buildzr/dsl/__init__.py +18 -0
- buildzr/dsl/dsl.py +990 -0
- buildzr/dsl/explorer.py +67 -0
- buildzr/dsl/expression.py +208 -0
- buildzr/dsl/factory/__init__.py +1 -0
- buildzr/dsl/factory/gen_id.py +23 -0
- buildzr/dsl/interfaces/__init__.py +14 -0
- buildzr/dsl/interfaces/interfaces.py +207 -0
- buildzr/dsl/relations.py +367 -0
- buildzr/encoders/__init__.py +1 -0
- buildzr/encoders/encoder.py +61 -0
- buildzr/models/__init__.py +1 -0
- buildzr/models/generate.sh +21 -0
- buildzr/models/models.py +1739 -0
- buildzr-0.0.1.dist-info/METADATA +140 -0
- buildzr-0.0.1.dist-info/RECORD +20 -0
- buildzr-0.0.1.dist-info/WHEEL +4 -0
- buildzr-0.0.1.dist-info/licenses/LICENSE.md +21 -0
buildzr/models/models.py
ADDED
@@ -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
|
+
"""
|