about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py
new file mode 100644
index 00000000..1e5227b0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/pipeline/settings.py
@@ -0,0 +1,42 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+from marshmallow import INCLUDE, Schema, fields, post_dump, post_load
+
+from azure.ai.ml._schema.core.fields import ArmStr, StringTransformedEnum, UnionField
+from azure.ai.ml._schema.pipeline.pipeline_component import NodeNameStr
+from azure.ai.ml._utils.utils import is_private_preview_enabled
+from azure.ai.ml.constants._common import AzureMLResourceType, SERVERLESS_COMPUTE
+
+
+class PipelineJobSettingsSchema(Schema):
+    class Meta:
+        unknown = INCLUDE
+
+    default_datastore = ArmStr(azureml_type=AzureMLResourceType.DATASTORE)
+    default_compute = UnionField(
+        [
+            StringTransformedEnum(allowed_values=[SERVERLESS_COMPUTE]),
+            ArmStr(azureml_type=AzureMLResourceType.COMPUTE),
+        ]
+    )
+    continue_on_step_failure = fields.Bool()
+    force_rerun = fields.Bool()
+
+    # move init/finalize under private preview flag to hide them in spec
+    if is_private_preview_enabled():
+        on_init = NodeNameStr()
+        on_finalize = NodeNameStr()
+
+    @post_load
+    def make(self, data, **kwargs) -> "PipelineJobSettings":
+        from azure.ai.ml.entities import PipelineJobSettings
+
+        return PipelineJobSettings(**data)
+
+    @post_dump
+    def remove_none(self, data, **kwargs):
+        return {key: value for key, value in data.items() if value is not None}