dasl-client 1.0.7__py3-none-any.whl → 1.0.9__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.
Potentially problematic release.
This version of dasl-client might be problematic. Click here for more details.
- dasl_client/client.py +10 -8
- dasl_client/preset_development/__init__.py +4 -0
- dasl_client/preset_development/errors.py +159 -0
- dasl_client/preset_development/preview_engine.py +344 -0
- dasl_client/preset_development/preview_parameters.py +386 -0
- dasl_client/preset_development/stage.py +559 -0
- dasl_client/types/admin_config.py +10 -7
- dasl_client/types/datasource.py +177 -138
- dasl_client/types/dbui.py +46 -34
- dasl_client/types/rule.py +91 -65
- dasl_client/types/types.py +67 -54
- dasl_client/types/workspace_config.py +86 -74
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.9.dist-info}/METADATA +2 -1
- dasl_client-1.0.9.dist-info/RECORD +28 -0
- dasl_client-1.0.7.dist-info/RECORD +0 -23
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.9.dist-info}/LICENSE +0 -0
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.9.dist-info}/WHEEL +0 -0
- {dasl_client-1.0.7.dist-info → dasl_client-1.0.9.dist-info}/top_level.txt +0 -0
dasl_client/types/rule.py
CHANGED
|
@@ -29,15 +29,22 @@ class Rule(BaseModel):
|
|
|
29
29
|
Rules define how to generate notables from input data.
|
|
30
30
|
|
|
31
31
|
Attributes:
|
|
32
|
-
metadata (Optional[Metadata]):
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
metadata (Optional[Metadata]):
|
|
33
|
+
Standard object metadata.
|
|
34
|
+
rule_metadata (Optional[Rule.RuleMetadata]):
|
|
35
|
+
The rule configuration metadata.
|
|
36
|
+
schedule (Schedule):
|
|
37
|
+
The rule schedule.
|
|
38
|
+
input (Rule.Input):
|
|
39
|
+
The rule input configuration.
|
|
40
|
+
observables (Optional[List[Rule.Observable]]):
|
|
41
|
+
A list of observables.
|
|
42
|
+
output (Rule.Output):
|
|
43
|
+
The rule output configuration.
|
|
44
|
+
collate (Optional[Rule.Collate]):
|
|
45
|
+
The collate configuration.
|
|
46
|
+
status (Optional[ResourceStatus]):
|
|
47
|
+
The current status of the rule.
|
|
41
48
|
"""
|
|
42
49
|
|
|
43
50
|
class RuleMetadata(BaseModel):
|
|
@@ -45,23 +52,26 @@ class Rule(BaseModel):
|
|
|
45
52
|
RuleMetadata object wrapping CoreV1RuleSpecMetadata.
|
|
46
53
|
|
|
47
54
|
Attributes:
|
|
48
|
-
version (Optional[Union[float, int]]):
|
|
49
|
-
the rule.
|
|
50
|
-
category (Optional[str]):
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
version (Optional[Union[float, int]]):
|
|
56
|
+
The current version of the rule.
|
|
57
|
+
category (Optional[str]):
|
|
58
|
+
The category of this detection. The available values are
|
|
59
|
+
configured in workspace config.
|
|
60
|
+
severity (Optional[str]):
|
|
61
|
+
The threat level associated with the notable.
|
|
62
|
+
fidelity (Optional[str]):
|
|
63
|
+
Fidelity is used to capture the maturity of a rule. Newly
|
|
64
|
+
created, untested rules should be marked as Investigative
|
|
65
|
+
fidelity. Older, more well-tested rules should be marked as
|
|
66
|
+
High fidelity. This helps an analyst determine how likely a
|
|
67
|
+
notable is a false positive.
|
|
68
|
+
mitre (Optional[List[Rule.RuleMetadata.Mitre]]):
|
|
69
|
+
Mitre ATT&CK tactic information.
|
|
70
|
+
objective (Optional[str]):
|
|
71
|
+
A longer form description of what this rule is attempting to
|
|
72
|
+
detect (objectMeta.comment is a summary).
|
|
73
|
+
response (Optional[Rule.RuleMetadata.Response]):
|
|
74
|
+
Response configuration for the rule.
|
|
65
75
|
"""
|
|
66
76
|
|
|
67
77
|
class Mitre(BaseModel):
|
|
@@ -69,16 +79,18 @@ class Rule(BaseModel):
|
|
|
69
79
|
Mitre ATT&CK details associated with a Rule.
|
|
70
80
|
|
|
71
81
|
Attributes:
|
|
72
|
-
taxonomy (Optional[str]):
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
technique
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
taxonomy (Optional[str]):
|
|
83
|
+
Mitre ATT&CK taxonomy.
|
|
84
|
+
tactic (Optional[str]):
|
|
85
|
+
Mitre ATT&CK tactic.
|
|
86
|
+
technique_id (Optional[str]):
|
|
87
|
+
The Mitre ATT&CK technique identifier.
|
|
88
|
+
technique (Optional[str]):
|
|
89
|
+
The Mitre ATT&CK technique human-readable name.
|
|
90
|
+
sub_technique_id (Optional[str]):
|
|
91
|
+
The Mitre ATT&CK sub-technique identifier.
|
|
92
|
+
sub_technique (Optional[str]):
|
|
93
|
+
The Mitre ATT&CK sub-technique human-readable name.
|
|
82
94
|
"""
|
|
83
95
|
|
|
84
96
|
taxonomy: Optional[str] = None
|
|
@@ -120,7 +132,9 @@ class Rule(BaseModel):
|
|
|
120
132
|
|
|
121
133
|
Attributes:
|
|
122
134
|
guidelines (Optional[str]):
|
|
135
|
+
Response guidelines.
|
|
123
136
|
playbooks (Optional[List[Rule.RuleMetadata.Response.Playbook]]):
|
|
137
|
+
Suggested response playbooks.
|
|
124
138
|
"""
|
|
125
139
|
|
|
126
140
|
class Playbook(BaseModel):
|
|
@@ -130,9 +144,10 @@ class Rule(BaseModel):
|
|
|
130
144
|
|
|
131
145
|
Attributes:
|
|
132
146
|
notebook (Optional[str]):
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
147
|
+
Notebook to run.
|
|
148
|
+
options (Optional[Dict[str, str]]):
|
|
149
|
+
These are templated, if they contain ${} this will be
|
|
150
|
+
filled in using the notable.
|
|
136
151
|
"""
|
|
137
152
|
|
|
138
153
|
notebook: Optional[str] = None
|
|
@@ -231,7 +246,9 @@ class Rule(BaseModel):
|
|
|
231
246
|
|
|
232
247
|
Attributes:
|
|
233
248
|
stream (Optional[Rule.Input.Stream]):
|
|
249
|
+
Input if the Rule should operate on streaming input data.
|
|
234
250
|
batch (Optional[Rule.Input.Batch]):
|
|
251
|
+
Input if the rule should operate on batched input data.
|
|
235
252
|
"""
|
|
236
253
|
|
|
237
254
|
class Custom(BaseModel):
|
|
@@ -282,16 +299,21 @@ class Rule(BaseModel):
|
|
|
282
299
|
|
|
283
300
|
Attributes:
|
|
284
301
|
name (Optional[str]):
|
|
302
|
+
Name of the table.
|
|
285
303
|
watermark (Optional[Rule.Input.Stream.Table.Watermark]):
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
304
|
+
Watermark configuration.
|
|
305
|
+
alias (Optional[str]):
|
|
306
|
+
Alias name for the table.
|
|
307
|
+
join_type (Optional[str]):
|
|
308
|
+
For tables other than the first, how to join to the
|
|
309
|
+
preceding table.
|
|
310
|
+
join_expr (Optional[str]):
|
|
311
|
+
For tables other than the first, the join condition
|
|
312
|
+
expression to join with the preceding table.
|
|
313
|
+
streaming (Optional[bool]):
|
|
314
|
+
For tables other than the first, is this a streaming
|
|
315
|
+
join or static. Default is false, except on the first
|
|
316
|
+
table.
|
|
295
317
|
"""
|
|
296
318
|
|
|
297
319
|
class Watermark(BaseModel):
|
|
@@ -299,13 +321,14 @@ class Rule(BaseModel):
|
|
|
299
321
|
Watermark for a streaming input table.
|
|
300
322
|
|
|
301
323
|
Attributes:
|
|
302
|
-
event_time_column (str):
|
|
303
|
-
time for the delay
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
324
|
+
event_time_column (str):
|
|
325
|
+
Which column is the event time for the delay
|
|
326
|
+
threshold.
|
|
327
|
+
delay_threshold (str):
|
|
328
|
+
A time duration string for the watermark delay.
|
|
329
|
+
drop_duplicates (Optional[List[str]]):
|
|
330
|
+
Pass into pyspark dropDuplicates (effectively
|
|
331
|
+
columns for group by).
|
|
309
332
|
"""
|
|
310
333
|
|
|
311
334
|
event_time_column: str
|
|
@@ -467,10 +490,12 @@ class Rule(BaseModel):
|
|
|
467
490
|
Risk level associated with an Observable.
|
|
468
491
|
|
|
469
492
|
Attributes:
|
|
470
|
-
impact (str):
|
|
493
|
+
impact (str):
|
|
494
|
+
A SQL expression indicating the impact (should evaluate to
|
|
495
|
+
a number between 0-100).
|
|
496
|
+
confidence (str):
|
|
497
|
+
A SQL expression indicating the confidence (should
|
|
471
498
|
evaluate to a number between 0-100).
|
|
472
|
-
confidence (str): A SQL expression indicating the confidence
|
|
473
|
-
(should evaluate to a number between 0-100).
|
|
474
499
|
"""
|
|
475
500
|
|
|
476
501
|
impact: str
|
|
@@ -550,13 +575,14 @@ class Rule(BaseModel):
|
|
|
550
575
|
within a given timeframe.
|
|
551
576
|
|
|
552
577
|
Attributes:
|
|
553
|
-
collate_on (Optional[List[str]]):
|
|
554
|
-
notables on. This must be either
|
|
555
|
-
a JSON key within 'context'. Only
|
|
556
|
-
currently supported.
|
|
557
|
-
within (Optional[str]):
|
|
558
|
-
to collate within.
|
|
559
|
-
action (Optional[str]):
|
|
578
|
+
collate_on (Optional[List[str]]):
|
|
579
|
+
SQL column(s) to collate notables on. This must be either
|
|
580
|
+
'summary', 'context', or a JSON key within 'context'. Only
|
|
581
|
+
one level of nesting is currently supported.
|
|
582
|
+
within (Optional[str]):
|
|
583
|
+
A time duration string for the window to collate within.
|
|
584
|
+
action (Optional[str]):
|
|
585
|
+
append | updateStats | inhibit.
|
|
560
586
|
"""
|
|
561
587
|
|
|
562
588
|
collate_on: Optional[List[str]] = None
|
dasl_client/types/types.py
CHANGED
|
@@ -17,32 +17,38 @@ class Metadata(BaseModel):
|
|
|
17
17
|
General resource metadata.
|
|
18
18
|
|
|
19
19
|
Attributes:
|
|
20
|
-
name (Optional[str]):
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
the resource.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
resource was
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
20
|
+
name (Optional[str]):
|
|
21
|
+
The name of the resource.
|
|
22
|
+
workspace (Optional[str]):
|
|
23
|
+
The workspace to which the resource belongs.
|
|
24
|
+
comment (Optional[str]):
|
|
25
|
+
A description or comment associated with the resource.
|
|
26
|
+
annotations (Optional[Dict[str, Optional[str]]]):
|
|
27
|
+
Annotations is an unstructured key value map stored with a
|
|
28
|
+
resource that may be set by external tools to store and retrieve
|
|
29
|
+
arbitrary metadata. They are not queryable and should be preserved
|
|
30
|
+
when modifying objects.
|
|
31
|
+
created_timestamp (Optional[datetime]):
|
|
32
|
+
The time at which this resource was created.
|
|
33
|
+
created_by (Optional[str]):
|
|
34
|
+
The account that created this resource.
|
|
35
|
+
modified_timestamp (Optional[datetime]):
|
|
36
|
+
The last time at which this resource was modified.
|
|
37
|
+
last_successful_run_timestamp (Optional[datetime]):
|
|
38
|
+
The last time at which the job associated with this resource
|
|
39
|
+
successfuly completed.
|
|
40
|
+
modified_by (Optional[str]):
|
|
41
|
+
The account that modified this resource most recently.
|
|
42
|
+
version (Optional[int]):
|
|
43
|
+
The resource's version.
|
|
44
|
+
deleted (Optional[bool]):
|
|
45
|
+
Indicates whether the resource has been deleted.
|
|
46
|
+
resource_status (Optional[str]):
|
|
47
|
+
Internal resource status. Cannot be updated by the user.
|
|
48
|
+
ui_status (Optional[str]):
|
|
49
|
+
Internal resource status. Cannot be updated by the user.
|
|
50
|
+
client_of_origin (Optional[str]):
|
|
51
|
+
The client that last created or modified this resource.
|
|
46
52
|
"""
|
|
47
53
|
|
|
48
54
|
name: Optional[str] = None
|
|
@@ -105,16 +111,21 @@ class ResourceStatus(BaseModel):
|
|
|
105
111
|
The status of the resource, along with status update events.
|
|
106
112
|
|
|
107
113
|
Attributes:
|
|
108
|
-
job_id (Optional[int]):
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
job_id (Optional[int]):
|
|
115
|
+
The associated Databricks Job ID.
|
|
116
|
+
job_name (str):
|
|
117
|
+
The associated Databricks Job name.
|
|
118
|
+
enabled (bool):
|
|
119
|
+
Indicates whether the resource is enabled.
|
|
120
|
+
notebook_path (str):
|
|
121
|
+
The path to the Databricks notebook that the Job has been
|
|
122
|
+
scheduled with.
|
|
123
|
+
created_at (datetime):
|
|
124
|
+
The time at which the resources were created in Databricks.
|
|
125
|
+
job_status (str):
|
|
126
|
+
The current reported status of the job.
|
|
127
|
+
events (List[StatusEvent]):
|
|
128
|
+
The most recent 25 events related to this resource.
|
|
118
129
|
"""
|
|
119
130
|
|
|
120
131
|
class StatusEvent(BaseModel):
|
|
@@ -122,12 +133,12 @@ class ResourceStatus(BaseModel):
|
|
|
122
133
|
An event related to changes in the status of the resource.
|
|
123
134
|
|
|
124
135
|
Attributes:
|
|
125
|
-
action (Optional[str]):
|
|
126
|
-
of a resource.
|
|
127
|
-
message (Optional[str]):
|
|
128
|
-
event.
|
|
129
|
-
recorded_at (Optional[datetime]):
|
|
130
|
-
the event.
|
|
136
|
+
action (Optional[str]):
|
|
137
|
+
The action taken as part of the lifecycle of a resource.
|
|
138
|
+
message (Optional[str]):
|
|
139
|
+
A human-readable message describing the event.
|
|
140
|
+
recorded_at (Optional[datetime]):
|
|
141
|
+
The timestamp associated with the event.
|
|
131
142
|
"""
|
|
132
143
|
|
|
133
144
|
action: Optional[str] = None
|
|
@@ -190,18 +201,20 @@ class Schedule(BaseModel):
|
|
|
190
201
|
A schedule for recurring dispatch of the Job(s) associated with a resource.
|
|
191
202
|
|
|
192
203
|
Attributes:
|
|
193
|
-
at_least_every (Optional[str]):
|
|
194
|
-
schedule. The string may contain
|
|
195
|
-
minutes and seconds. Examples include
|
|
196
|
-
and '12m16s'.
|
|
197
|
-
exactly (Optional[str]):
|
|
198
|
-
precise schedule for dispatch.
|
|
199
|
-
continuous (Optional[bool]):
|
|
200
|
-
dispatched, False/None
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
204
|
+
at_least_every (Optional[str]):
|
|
205
|
+
A duration string defining the schedule. The string may contain
|
|
206
|
+
components for days, hours, minutes and seconds. Examples include
|
|
207
|
+
'5d', '5d3h', '3d2h5m12s', and '12m16s'.
|
|
208
|
+
exactly (Optional[str]):
|
|
209
|
+
A quartz cron expression defining the precise schedule for dispatch.
|
|
210
|
+
continuous (Optional[bool]):
|
|
211
|
+
True if the Job should be continuously dispatched, False/None
|
|
212
|
+
otherwise.
|
|
213
|
+
compute_group (Optional[str]):
|
|
214
|
+
'dedicated', 'automatic' or a custom group name.
|
|
215
|
+
enabled (Optional[bool]):
|
|
216
|
+
Whether the schedule (and hence Job associated with the resource)
|
|
217
|
+
is active.
|
|
205
218
|
"""
|
|
206
219
|
|
|
207
220
|
at_least_every: Optional[str] = None
|
|
@@ -30,13 +30,14 @@ class ExportConfig(BaseModel):
|
|
|
30
30
|
|
|
31
31
|
Attributes:
|
|
32
32
|
destination (Optional[str]):
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
Name of the destination. 'webhook' or 'slack'.
|
|
34
|
+
export_open_only (Optional[bool]):
|
|
35
|
+
If true, only open events are exported. If false, any event not
|
|
36
|
+
in state ClosedAsExported will be exported.
|
|
37
|
+
webhook_config (Optional[ExportConfig.WebhookConfig]):
|
|
38
|
+
Set when exporting to a webhook.
|
|
39
|
+
slack_config (Optional[ExportConfig.SlackConfig]):
|
|
40
|
+
Set when exporting to slack.
|
|
40
41
|
"""
|
|
41
42
|
|
|
42
43
|
class WebhookDestination(BaseModel):
|
|
@@ -245,15 +246,15 @@ class DefaultConfig(BaseModel):
|
|
|
245
246
|
specified DefaultConfig.
|
|
246
247
|
|
|
247
248
|
Attributes:
|
|
248
|
-
datasources (Optional[DefaultConfig.Config]):
|
|
249
|
-
applies to DataSources. May be omitted.
|
|
250
|
-
transforms (Optional[DefaultConfig.Config]):
|
|
251
|
-
applies to Transforms. May be omitted.
|
|
252
|
-
rules (Optional[DefaultConfig.Config]):
|
|
253
|
-
to Rules. May be omitted.
|
|
254
|
-
var_global (Optional[DefaultConfig.Config]):
|
|
255
|
-
applies globally to resources without a
|
|
256
|
-
configuration specified. Must be specified.
|
|
249
|
+
datasources (Optional[DefaultConfig.Config]):
|
|
250
|
+
Configuration that applies to DataSources. May be omitted.
|
|
251
|
+
transforms (Optional[DefaultConfig.Config]):
|
|
252
|
+
Configuration that applies to Transforms. May be omitted.
|
|
253
|
+
rules (Optional[DefaultConfig.Config]):
|
|
254
|
+
Configuration that applies to Rules. May be omitted.
|
|
255
|
+
var_global (Optional[DefaultConfig.Config]):
|
|
256
|
+
Configuration that applies globally to resources without a
|
|
257
|
+
resource-specific configuration specified. Must be specified.
|
|
257
258
|
"""
|
|
258
259
|
|
|
259
260
|
class Config(BaseModel):
|
|
@@ -261,26 +262,25 @@ class DefaultConfig(BaseModel):
|
|
|
261
262
|
Default configuration for a specific resource type.
|
|
262
263
|
|
|
263
264
|
Attributes:
|
|
264
|
-
notebook_location (Optional[str]):
|
|
265
|
-
edited/provided notebook.
|
|
266
|
-
bronze_schema (Optional[str]):
|
|
267
|
-
the catalog.
|
|
268
|
-
silver_schema (Optional[str]):
|
|
269
|
-
the catalog.
|
|
270
|
-
gold_schema (Optional[str]):
|
|
271
|
-
the catalog.
|
|
272
|
-
catalog_name (Optional[str]):
|
|
273
|
-
resource's default.
|
|
274
|
-
default_max_resources_per_job (Optional[int]):
|
|
275
|
-
number of resources that can be placed into
|
|
276
|
-
subject to compute_group_overrides.
|
|
277
|
-
checkpoint_location (Optional[str]):
|
|
278
|
-
checkpoints for streaming writes. If
|
|
279
|
-
daslStoragePath will be used.
|
|
280
|
-
compute_group_overrides (Optional[Dict[str, DefaultConfig.
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
keyed by the compute group name.
|
|
265
|
+
notebook_location (Optional[str]):
|
|
266
|
+
A location for user created/edited/provided notebook.
|
|
267
|
+
bronze_schema (Optional[str]):
|
|
268
|
+
Name of the bronze schema in the catalog.
|
|
269
|
+
silver_schema (Optional[str]):
|
|
270
|
+
Name of the silver schema in the catalog.
|
|
271
|
+
gold_schema (Optional[str]):
|
|
272
|
+
Name of the gold schema in the catalog.
|
|
273
|
+
catalog_name (Optional[str]):
|
|
274
|
+
The catalog name to use as the resource's default.
|
|
275
|
+
default_max_resources_per_job (Optional[int]):
|
|
276
|
+
Default maximum number of resources that can be placed into
|
|
277
|
+
a single job, subject to compute_group_overrides.
|
|
278
|
+
checkpoint_location (Optional[str]):
|
|
279
|
+
The location to store checkpoints for streaming writes. If
|
|
280
|
+
not provided, the daslStoragePath will be used.
|
|
281
|
+
compute_group_overrides (Optional[Dict[str, DefaultConfig.Config.ComputeGroupOverrides]]):
|
|
282
|
+
Overrides for the maximum number of resources that can be
|
|
283
|
+
placed into a single job, keyed by the compute group name.
|
|
284
284
|
"""
|
|
285
285
|
|
|
286
286
|
class ComputeGroupOverrides(BaseModel):
|
|
@@ -289,9 +289,9 @@ class DefaultConfig(BaseModel):
|
|
|
289
289
|
into a single job.
|
|
290
290
|
|
|
291
291
|
Attributes:
|
|
292
|
-
max_resources_per_job (Optional[int]):
|
|
293
|
-
of resources that can be placed into a
|
|
294
|
-
new job will be created.
|
|
292
|
+
max_resources_per_job (Optional[int]):
|
|
293
|
+
The maximum number of resources that can be placed into a
|
|
294
|
+
job before a new job will be created.
|
|
295
295
|
"""
|
|
296
296
|
|
|
297
297
|
max_resources_per_job: Optional[int] = None
|
|
@@ -408,14 +408,18 @@ class ManagedRetention(BaseModel):
|
|
|
408
408
|
Configuration of cleanup jobs for old data stored by DASL.
|
|
409
409
|
|
|
410
410
|
Attributes:
|
|
411
|
-
catalog (str):
|
|
412
|
-
|
|
411
|
+
catalog (str):
|
|
412
|
+
The name of the catalog.
|
|
413
|
+
var_schema (str):
|
|
414
|
+
The name of the schema.
|
|
413
415
|
column (Optional[str]):
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
416
|
+
The name of the column.
|
|
417
|
+
duration (Optional[str]):
|
|
418
|
+
The duration for which to retain data in the schema. It may also
|
|
419
|
+
be "forever" to indicate data should not be deleted.
|
|
420
|
+
overrides (Optional[List[ManagedRetention.Overrides]]):
|
|
421
|
+
Overrides for per-table retention rules within the specified
|
|
422
|
+
catalog and schema.
|
|
419
423
|
"""
|
|
420
424
|
|
|
421
425
|
class Overrides(BaseModel):
|
|
@@ -423,11 +427,13 @@ class ManagedRetention(BaseModel):
|
|
|
423
427
|
Per-table retention override settings.
|
|
424
428
|
|
|
425
429
|
Attributes:
|
|
426
|
-
table (str):
|
|
430
|
+
table (str):
|
|
431
|
+
The name of the table in the catalog and schema.
|
|
427
432
|
column (Optional[str]):
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
433
|
+
The name of the column.
|
|
434
|
+
duration (Optional[str]):
|
|
435
|
+
The duration for which to retain data in the table. It may
|
|
436
|
+
also be "forever" to indicate data should not be deleted.
|
|
431
437
|
"""
|
|
432
438
|
|
|
433
439
|
table: str
|
|
@@ -495,8 +501,10 @@ class SystemTablesConfig(BaseModel):
|
|
|
495
501
|
control plane) will be stored.
|
|
496
502
|
|
|
497
503
|
Attributes:
|
|
498
|
-
catalog_name (str):
|
|
499
|
-
|
|
504
|
+
catalog_name (str):
|
|
505
|
+
The name of the catalog in which to store data.
|
|
506
|
+
var_schema (str):
|
|
507
|
+
The name of the schema in which to create tables.
|
|
500
508
|
"""
|
|
501
509
|
|
|
502
510
|
catalog_name: str
|
|
@@ -549,29 +557,33 @@ class WorkspaceConfig(BaseModel):
|
|
|
549
557
|
General configuration settings for the Workspace.
|
|
550
558
|
|
|
551
559
|
Attributes:
|
|
552
|
-
metadata (Optional[Metadata]):
|
|
553
|
-
managed by the control plane.
|
|
554
|
-
system_tables_config (SystemTablesConfig):
|
|
555
|
-
storage of metadata by the control plane.
|
|
556
|
-
default_sql_warehouse (Optional[str]):
|
|
557
|
-
for executing certain queries. May
|
|
560
|
+
metadata (Optional[Metadata]):
|
|
561
|
+
Common resource metadata; generally managed by the control plane.
|
|
562
|
+
system_tables_config (SystemTablesConfig):
|
|
563
|
+
Configuration for the storage of metadata by the control plane.
|
|
564
|
+
default_sql_warehouse (Optional[str]):
|
|
565
|
+
Default SQL warehouse to use for executing certain queries. May
|
|
566
|
+
be overridden in some cases.
|
|
558
567
|
detection_rule_metadata (Optional[DetectionRuleMetadata]):
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
568
|
+
Detection rule metadata.
|
|
569
|
+
notable_export (Optional[ExportConfig]):
|
|
570
|
+
Settings related to the export of notables to various destinations.
|
|
571
|
+
operational_alert_export (Optional[ExportConfig]):
|
|
572
|
+
Settings related to the export of operational alerts to various
|
|
573
|
+
destinations.
|
|
574
|
+
observables (Optional[WorkspaceConfigObservables]):
|
|
575
|
+
Declaration of the types of observables generated by the system.
|
|
576
|
+
dasl_storage_path (Optional[str]):
|
|
577
|
+
The path to a directory where DASL can store internal files and
|
|
578
|
+
state.
|
|
579
|
+
default_config (Optional[DefaultConfig]):
|
|
580
|
+
Configuration settings regarding storage of bronze, silver, and
|
|
581
|
+
gold tables and related assets for each resource type.
|
|
582
|
+
managed_retention (Optional[List[ManagedRetention]]):
|
|
583
|
+
Configuration of regular cleanup (i.e. pruning) jobs for various
|
|
584
|
+
catalogs, schemas, and tables.
|
|
585
|
+
status (Optional[ResourceStatus]):
|
|
586
|
+
Common resource status; wholly managed by the control plane.
|
|
575
587
|
"""
|
|
576
588
|
|
|
577
589
|
metadata: Optional[Metadata] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dasl_client
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
4
4
|
Summary: The DASL client library used for interacting with the DASL workspace
|
|
5
5
|
Home-page: https://github.com/antimatter/asl
|
|
6
6
|
Author: Antimatter Team
|
|
@@ -11,6 +11,7 @@ License-File: LICENSE
|
|
|
11
11
|
Requires-Dist: dasl-api ==0.1.12
|
|
12
12
|
Requires-Dist: databricks-sdk >=0.41.0
|
|
13
13
|
Requires-Dist: pydantic >=2
|
|
14
|
+
Requires-Dist: typing-extensions ==4.10.0
|
|
14
15
|
|
|
15
16
|
# DASL Client Library
|
|
16
17
|
|