aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py
new file mode 100644
index 00000000..09edb115
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/assets/asset.py
@@ -0,0 +1,42 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+import logging
+
+from marshmallow import ValidationError, fields
+from marshmallow.decorators import pre_load
+
+from azure.ai.ml._schema.core.auto_delete_setting import AutoDeleteSettingSchema
+from azure.ai.ml._schema.core.fields import NestedField, VersionField, ExperimentalField
+from azure.ai.ml._schema.job.creation_context import CreationContextSchema
+
+from ..core.resource import ResourceSchema
+
+module_logger = logging.getLogger(__name__)
+
+
+class AssetSchema(ResourceSchema):
+ version = VersionField()
+ creation_context = NestedField(CreationContextSchema, dump_only=True)
+ latest_version = fields.Str(dump_only=True)
+ auto_delete_setting = ExperimentalField(NestedField(AutoDeleteSettingSchema))
+
+
+class AnonymousAssetSchema(AssetSchema):
+ version = VersionField(dump_only=True)
+ name = fields.Str(dump_only=True)
+
+ @pre_load
+ def warn_if_named(self, data, **kwargs):
+ if isinstance(data, str):
+ raise ValidationError("Anonymous assets must be defined inline")
+ name = data.pop("name", None)
+ data.pop("version", None)
+ if name is not None:
+ module_logger.warning(
+ "Warning: the provided asset name '%s' will not be used for anonymous registration.", name
+ )
+ return data