# ---------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# ---------------------------------------------------------
# pylint: disable=unused-argument
from marshmallow import fields
from marshmallow.decorators import post_load
from azure.ai.ml._schema.core.fields import NestedField
from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
class ScriptReferenceSchema(metaclass=PatchedSchemaMeta):
path = fields.Str()
command = fields.Str()
timeout_minutes = fields.Int()
@post_load
def make(self, data, **kwargs):
from azure.ai.ml.entities._compute._setup_scripts import ScriptReference
return ScriptReference(**data)
class SetupScriptsSchema(metaclass=PatchedSchemaMeta):
creation_script = NestedField(ScriptReferenceSchema())
startup_script = NestedField(ScriptReferenceSchema())
@post_load
def make(self, data, **kwargs):
from azure.ai.ml.entities._compute._setup_scripts import SetupScripts
return SetupScripts(**data)