aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py
new file mode 100644
index 00000000..852d3921
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/job/base_job.py
@@ -0,0 +1,69 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+import logging
+
+from marshmallow import fields
+
+from azure.ai.ml._schema.core.fields import ArmStr, ComputeField, NestedField, UnionField
+from azure.ai.ml._schema.core.resource import ResourceSchema
+from azure.ai.ml._schema.job.identity import AMLTokenIdentitySchema, ManagedIdentitySchema, UserIdentitySchema
+from azure.ai.ml.constants._common import AzureMLResourceType
+
+from .creation_context import CreationContextSchema
+from .services import (
+ JobServiceSchema,
+ SshJobServiceSchema,
+ VsCodeJobServiceSchema,
+ TensorBoardJobServiceSchema,
+ JupyterLabJobServiceSchema,
+)
+
+module_logger = logging.getLogger(__name__)
+
+
+class BaseJobSchema(ResourceSchema):
+ creation_context = NestedField(CreationContextSchema, dump_only=True)
+ services = fields.Dict(
+ keys=fields.Str(),
+ values=UnionField(
+ [
+ NestedField(SshJobServiceSchema),
+ NestedField(TensorBoardJobServiceSchema),
+ NestedField(VsCodeJobServiceSchema),
+ NestedField(JupyterLabJobServiceSchema),
+ # JobServiceSchema should be the last in the list.
+ # To support types not set by users like Custom, Tracking, Studio.
+ NestedField(JobServiceSchema),
+ ],
+ is_strict=True,
+ ),
+ )
+ name = fields.Str()
+ id = ArmStr(azureml_type=AzureMLResourceType.JOB, dump_only=True, required=False)
+ display_name = fields.Str(required=False)
+ tags = fields.Dict(keys=fields.Str(), values=fields.Str(allow_none=True))
+ status = fields.Str(dump_only=True)
+ experiment_name = fields.Str()
+ properties = fields.Dict(keys=fields.Str(), values=fields.Str(allow_none=True))
+ description = fields.Str()
+ log_files = fields.Dict(
+ keys=fields.Str(),
+ values=fields.Str(),
+ dump_only=True,
+ metadata={
+ "description": (
+ "The list of log files associated with this run. This section is only populated "
+ "by the service and will be ignored if contained in a yaml sent to the service "
+ "(e.g. via `az ml job create` ...)"
+ )
+ },
+ )
+ compute = ComputeField(required=False)
+ identity = UnionField(
+ [
+ NestedField(ManagedIdentitySchema),
+ NestedField(AMLTokenIdentitySchema),
+ NestedField(UserIdentitySchema),
+ ]
+ )