about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute.py47
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute_node_info.py15
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/attached_compute.py12
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute.py85
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute_instance.py83
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/custom_applications.py60
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/kubernetes_compute.py16
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/schedule.py118
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/setup_scripts.py33
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/synapsespark_compute.py49
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/usage.py42
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/virtual_machine_compute.py34
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/vm_size.py19
14 files changed, 618 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/__init__.py
new file mode 100644
index 00000000..29a4fcd3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/__init__.py
@@ -0,0 +1,5 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+__path__ = __import__("pkgutil").extend_path(__path__, __name__)  # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute.py
new file mode 100644
index 00000000..304b0eae
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute.py
@@ -0,0 +1,47 @@
+# ---------------------------------------------------------
+# 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.schema_meta import PatchedSchemaMeta
+from azure.ai.ml.constants._compute import ComputeTier, ComputeType, ComputeSizeTier
+
+from ..core.fields import NestedField, StringTransformedEnum, UnionField
+from .compute import ComputeSchema, IdentitySchema, NetworkSettingsSchema
+
+
+class AmlComputeSshSettingsSchema(metaclass=PatchedSchemaMeta):
+    admin_username = fields.Str()
+    admin_password = fields.Str()
+    ssh_key_value = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import AmlComputeSshSettings
+
+        return AmlComputeSshSettings(**data)
+
+
+class AmlComputeSchema(ComputeSchema):
+    type = StringTransformedEnum(allowed_values=[ComputeType.AMLCOMPUTE], required=True)
+    size = UnionField(
+        union_fields=[
+            fields.Str(metadata={"arm_type": ComputeSizeTier.AML_COMPUTE_DEDICATED, "tier": ComputeTier.DEDICATED}),
+            fields.Str(metadata={"arm_type": ComputeSizeTier.AML_COMPUTE_LOWPRIORITY, "tier": ComputeTier.LOWPRIORITY}),
+        ],
+    )
+    tier = StringTransformedEnum(allowed_values=[ComputeTier.LOWPRIORITY, ComputeTier.DEDICATED])
+    min_instances = fields.Int()
+    max_instances = fields.Int()
+    idle_time_before_scale_down = fields.Int()
+    ssh_public_access_enabled = fields.Bool()
+    ssh_settings = NestedField(AmlComputeSshSettingsSchema)
+    network_settings = NestedField(NetworkSettingsSchema)
+    identity = NestedField(IdentitySchema)
+    enable_node_public_ip = fields.Bool(
+        metadata={"description": "Enable or disable node public IP address provisioning."}
+    )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute_node_info.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute_node_info.py
new file mode 100644
index 00000000..983f76f6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/aml_compute_node_info.py
@@ -0,0 +1,15 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+from marshmallow import fields
+
+from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
+
+
+class AmlComputeNodeInfoSchema(metaclass=PatchedSchemaMeta):
+    node_id = fields.Str()
+    private_ip_address = fields.Str()
+    public_ip_address = fields.Str()
+    port = fields.Str()
+    node_state = fields.Str()
+    current_job_name = fields.Str()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/attached_compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/attached_compute.py
new file mode 100644
index 00000000..2ac4ce9e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/attached_compute.py
@@ -0,0 +1,12 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+from marshmallow import fields
+
+from .compute import ComputeSchema
+
+
+class AttachedComputeSchema(ComputeSchema):
+    resource_id = fields.Str(required=True)
+    ssh_port = fields.Int()
+    compute_location = fields.Str()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute.py
new file mode 100644
index 00000000..4488b53d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute.py
@@ -0,0 +1,85 @@
+# ---------------------------------------------------------
+# 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, StringTransformedEnum
+from azure.ai.ml._utils.utils import camel_to_snake
+from azure.ai.ml._vendor.azure_resources.models._resource_management_client_enums import ResourceIdentityType
+from azure.ai.ml.entities._credentials import ManagedIdentityConfiguration
+
+from ..core.schema import PathAwareSchema
+
+
+class ComputeSchema(PathAwareSchema):
+    name = fields.Str(required=True)
+    id = fields.Str(dump_only=True)
+    type = fields.Str()
+    location = fields.Str()
+    description = fields.Str()
+    provisioning_errors = fields.Str(dump_only=True)
+    created_on = fields.Str(dump_only=True)
+    provisioning_state = fields.Str(dump_only=True)
+    resource_id = fields.Str()
+    tags = fields.Dict(keys=fields.Str(), values=fields.Str())
+
+
+class NetworkSettingsSchema(PathAwareSchema):
+    vnet_name = fields.Str()
+    subnet = fields.Str()
+    public_ip_address = fields.Str(dump_only=True)
+    private_ip_address = fields.Str(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import NetworkSettings
+
+        return NetworkSettings(**data)
+
+
+class UserAssignedIdentitySchema(PathAwareSchema):
+    resource_id = fields.Str()
+    principal_id = fields.Str(dump_only=True)
+    client_id = fields.Str(dump_only=True)
+    tenant_id = fields.Str(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        return ManagedIdentityConfiguration(**data)
+
+
+class IdentitySchema(PathAwareSchema):
+    type = StringTransformedEnum(
+        allowed_values=[
+            ResourceIdentityType.SYSTEM_ASSIGNED,
+            ResourceIdentityType.USER_ASSIGNED,
+            ResourceIdentityType.NONE,
+            ResourceIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED,
+        ],
+        casing_transform=camel_to_snake,
+        metadata={"description": "resource identity type."},
+    )
+    user_assigned_identities = fields.List(NestedField(UserAssignedIdentitySchema))
+    principal_id = fields.Str(dump_only=True)
+    tenant_id = fields.Str(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import IdentityConfiguration
+
+        user_assigned_identities_list = []
+        user_assigned_identities = data.pop("user_assigned_identities", None)
+        if user_assigned_identities:
+            for identity in user_assigned_identities:
+                user_assigned_identities_list.append(
+                    ManagedIdentityConfiguration(
+                        resource_id=identity.get("resource_id", None),
+                        client_id=identity.get("client_id", None),
+                        object_id=identity.get("object_id", None),
+                    )
+                )
+            data["user_assigned_identities"] = user_assigned_identities_list
+        return IdentityConfiguration(**data)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute_instance.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute_instance.py
new file mode 100644
index 00000000..c72e06bb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/compute_instance.py
@@ -0,0 +1,83 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+from marshmallow import fields
+from marshmallow.decorators import post_load
+
+# pylint: disable=unused-argument
+from azure.ai.ml._schema import PathAwareSchema
+from azure.ai.ml.constants._compute import ComputeType, ComputeSizeTier
+
+from ..core.fields import ExperimentalField, NestedField, StringTransformedEnum
+from .compute import ComputeSchema, IdentitySchema, NetworkSettingsSchema
+from .schedule import ComputeSchedulesSchema
+from .setup_scripts import SetupScriptsSchema
+from .custom_applications import CustomApplicationsSchema
+
+
+class ComputeInstanceSshSettingsSchema(PathAwareSchema):
+    admin_username = fields.Str(dump_only=True)
+    ssh_port = fields.Str(dump_only=True)
+    ssh_key_value = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import ComputeInstanceSshSettings
+
+        return ComputeInstanceSshSettings(**data)
+
+
+class CreateOnBehalfOfSchema(PathAwareSchema):
+    user_tenant_id = fields.Str()
+    user_object_id = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import AssignedUserConfiguration
+
+        return AssignedUserConfiguration(**data)
+
+
+class OsImageMetadataSchema(PathAwareSchema):
+    is_latest_os_image_version = fields.Bool(dump_only=True)
+    current_image_version = fields.Str(dump_only=True)
+    latest_image_version = fields.Str(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import ImageMetadata
+
+        return ImageMetadata(**data)
+
+
+class ComputeInstanceSchema(ComputeSchema):
+    type = StringTransformedEnum(allowed_values=[ComputeType.COMPUTEINSTANCE], required=True)
+    size = fields.Str(metadata={"arm_type": ComputeSizeTier.COMPUTE_INSTANCE})
+    network_settings = NestedField(NetworkSettingsSchema)
+    create_on_behalf_of = NestedField(CreateOnBehalfOfSchema)
+    ssh_settings = NestedField(ComputeInstanceSshSettingsSchema)
+    ssh_public_access_enabled = fields.Bool(dump_default=None)
+    state = fields.Str(dump_only=True)
+    last_operation = fields.Dict(keys=fields.Str(), values=fields.Str(), dump_only=True)
+    services = fields.List(fields.Dict(keys=fields.Str(), values=fields.Str()), dump_only=True)
+    schedules = NestedField(ComputeSchedulesSchema)
+    identity = ExperimentalField(NestedField(IdentitySchema))
+    idle_time_before_shutdown = fields.Str()
+    idle_time_before_shutdown_minutes = fields.Int()
+    custom_applications = fields.List(NestedField(CustomApplicationsSchema))
+    setup_scripts = NestedField(SetupScriptsSchema)
+    os_image_metadata = NestedField(OsImageMetadataSchema, dump_only=True)
+    enable_node_public_ip = fields.Bool(
+        metadata={"description": "Enable or disable node public IP address provisioning."}
+    )
+    enable_sso = fields.Bool(metadata={"description": "Enable or disable single sign-on for the compute instance."})
+    enable_root_access = fields.Bool(
+        metadata={"description": "Enable or disable root access for the compute instance."}
+    )
+    release_quota_on_stop = fields.Bool(
+        metadata={"description": "Release quota on stop for the compute instance. Defaults to False."}
+    )
+    enable_os_patching = fields.Bool(
+        metadata={"description": "Enable or disable OS patching for the compute instance. Defaults to False."}
+    )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/custom_applications.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/custom_applications.py
new file mode 100644
index 00000000..66fa587c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/custom_applications.py
@@ -0,0 +1,60 @@
+# ---------------------------------------------------------
+# 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, StringTransformedEnum
+from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
+from azure.ai.ml.constants._compute import CustomApplicationDefaults
+
+
+class ImageSettingsSchema(metaclass=PatchedSchemaMeta):
+    reference = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities._compute._custom_applications import ImageSettings
+
+        return ImageSettings(**data)
+
+
+class EndpointsSettingsSchema(metaclass=PatchedSchemaMeta):
+    target = fields.Int()
+    published = fields.Int()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities._compute._custom_applications import EndpointsSettings
+
+        return EndpointsSettings(**data)
+
+
+class VolumeSettingsSchema(metaclass=PatchedSchemaMeta):
+    source = fields.Str()
+    target = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities._compute._custom_applications import VolumeSettings
+
+        return VolumeSettings(**data)
+
+
+class CustomApplicationsSchema(metaclass=PatchedSchemaMeta):
+    name = fields.Str(required=True)
+    type = StringTransformedEnum(allowed_values=[CustomApplicationDefaults.DOCKER])
+    image = NestedField(ImageSettingsSchema)
+    endpoints = fields.List(NestedField(EndpointsSettingsSchema))
+    environment_variables = fields.Dict()
+    bind_mounts = fields.List(NestedField(VolumeSettingsSchema))
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities._compute._custom_applications import (
+            CustomApplications,
+        )
+
+        return CustomApplications(**data)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/kubernetes_compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/kubernetes_compute.py
new file mode 100644
index 00000000..a84102ca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/kubernetes_compute.py
@@ -0,0 +1,16 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+from marshmallow import fields
+
+from azure.ai.ml.constants._compute import ComputeType
+
+from ..core.fields import NestedField, StringTransformedEnum
+from .compute import ComputeSchema, IdentitySchema
+
+
+class KubernetesComputeSchema(ComputeSchema):
+    type = StringTransformedEnum(allowed_values=[ComputeType.KUBERNETES], required=True)
+    namespace = fields.Str(required=True, dump_default="default")
+    properties = fields.Dict()
+    identity = NestedField(IdentitySchema)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/schedule.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/schedule.py
new file mode 100644
index 00000000..49f41edf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/schedule.py
@@ -0,0 +1,118 @@
+# ---------------------------------------------------------
+# 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._restclient.v2022_10_01_preview.models import ComputePowerAction, RecurrenceFrequency
+from azure.ai.ml._restclient.v2022_10_01_preview.models import ScheduleStatus as ScheduleState
+from azure.ai.ml._restclient.v2022_10_01_preview.models import TriggerType, WeekDay
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum, UnionField
+from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
+
+
+class BaseTriggerSchema(metaclass=PatchedSchemaMeta):
+    start_time = fields.Str()
+    time_zone = fields.Str()
+
+
+class CronTriggerSchema(BaseTriggerSchema):
+    type = StringTransformedEnum(required=True, allowed_values=TriggerType.CRON)
+    expression = fields.Str(required=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import CronTrigger
+
+        data.pop("type")
+        return CronTrigger(**data)
+
+
+class RecurrenceScheduleSchema(metaclass=PatchedSchemaMeta):
+    week_days = fields.List(
+        StringTransformedEnum(
+            allowed_values=[
+                WeekDay.SUNDAY,
+                WeekDay.MONDAY,
+                WeekDay.TUESDAY,
+                WeekDay.WEDNESDAY,
+                WeekDay.THURSDAY,
+                WeekDay.FRIDAY,
+                WeekDay.SATURDAY,
+            ],
+        )
+    )
+    hours = fields.List(fields.Int())
+    minutes = fields.List(fields.Int())
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import RecurrencePattern
+
+        return RecurrencePattern(**data)
+
+
+class RecurrenceTriggerSchema(BaseTriggerSchema):
+    type = StringTransformedEnum(required=True, allowed_values=TriggerType.RECURRENCE)
+    frequency = StringTransformedEnum(
+        required=True,
+        allowed_values=[
+            RecurrenceFrequency.MINUTE,
+            RecurrenceFrequency.HOUR,
+            RecurrenceFrequency.DAY,
+            RecurrenceFrequency.WEEK,
+            RecurrenceFrequency.MONTH,
+        ],
+    )
+    interval = fields.Int()
+    schedule = NestedField(RecurrenceScheduleSchema)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import RecurrenceTrigger
+
+        data.pop("type")
+        return RecurrenceTrigger(**data)
+
+
+class ComputeStartStopScheduleSchema(metaclass=PatchedSchemaMeta):
+    trigger = UnionField(
+        [
+            NestedField(CronTriggerSchema()),
+            NestedField(RecurrenceTriggerSchema()),
+        ],
+    )
+    action = StringTransformedEnum(
+        required=True,
+        allowed_values=[
+            ComputePowerAction.START,
+            ComputePowerAction.STOP,
+        ],
+    )
+    state = StringTransformedEnum(
+        allowed_values=[
+            ScheduleState.ENABLED,
+            ScheduleState.DISABLED,
+        ],
+    )
+    schedule_id = fields.Str(dump_only=True)
+    provisioning_state = fields.Str(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import ComputeStartStopSchedule
+
+        return ComputeStartStopSchedule(**data)
+
+
+class ComputeSchedulesSchema(metaclass=PatchedSchemaMeta):
+    compute_start_stop = fields.List(NestedField(ComputeStartStopScheduleSchema))
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import ComputeSchedules
+
+        return ComputeSchedules(**data)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/setup_scripts.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/setup_scripts.py
new file mode 100644
index 00000000..da3f3c14
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/setup_scripts.py
@@ -0,0 +1,33 @@
+# ---------------------------------------------------------
+# 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)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/synapsespark_compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/synapsespark_compute.py
new file mode 100644
index 00000000..11760186
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/synapsespark_compute.py
@@ -0,0 +1,49 @@
+# ---------------------------------------------------------
+# 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.constants._compute import ComputeType
+
+from ..core.fields import NestedField, StringTransformedEnum
+from ..core.schema import PathAwareSchema
+from .compute import ComputeSchema, IdentitySchema
+
+
+class AutoScaleSettingsSchema(PathAwareSchema):
+    min_node_count = fields.Int(dump_only=True)
+    max_node_count = fields.Int(dump_only=True)
+    auto_scale_enabled = fields.Bool(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import AutoScaleSettings
+
+        return AutoScaleSettings(**data)
+
+
+class AutoPauseSettingsSchema(PathAwareSchema):
+    delay_in_minutes = fields.Int(dump_only=True)
+    auto_pause_enabled = fields.Bool(dump_only=True)
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import AutoPauseSettings
+
+        return AutoPauseSettings(**data)
+
+
+class SynapseSparkComputeSchema(ComputeSchema):
+    type = StringTransformedEnum(allowed_values=[ComputeType.SYNAPSESPARK], required=True)
+    resource_id = fields.Str(required=True)
+    identity = NestedField(IdentitySchema)
+    node_family = fields.Str(dump_only=True)
+    node_size = fields.Str(dump_only=True)
+    node_count = fields.Int(dump_only=True)
+    spark_version = fields.Str(dump_only=True)
+    scale_settings = NestedField(AutoScaleSettingsSchema)
+    auto_pause_settings = NestedField(AutoPauseSettingsSchema)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/usage.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/usage.py
new file mode 100644
index 00000000..4860946b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/usage.py
@@ -0,0 +1,42 @@
+# ---------------------------------------------------------
+# 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._restclient.v2022_10_01_preview.models import UsageUnit
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum, UnionField
+from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
+from azure.ai.ml._utils.utils import camel_to_snake
+
+
+class UsageNameSchema(metaclass=PatchedSchemaMeta):
+    value = fields.Str()
+    localized_value = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import UsageName
+
+        return UsageName(**data)
+
+
+class UsageSchema(metaclass=PatchedSchemaMeta):
+    id = fields.Str()
+    aml_workspace_location = fields.Str()
+    type = fields.Str()
+    unit = UnionField(
+        [
+            fields.Str(),
+            StringTransformedEnum(
+                allowed_values=UsageUnit.COUNT,
+                casing_transform=camel_to_snake,
+            ),
+        ]
+    )
+    current_value = fields.Int()
+    limit = fields.Int()
+    name = NestedField(UsageNameSchema)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/virtual_machine_compute.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/virtual_machine_compute.py
new file mode 100644
index 00000000..deb92d3c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/virtual_machine_compute.py
@@ -0,0 +1,34 @@
+# ---------------------------------------------------------
+# 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.schema_meta import PatchedSchemaMeta
+from azure.ai.ml.constants._compute import ComputeType
+
+from ..core.fields import NestedField, StringTransformedEnum
+from .compute import ComputeSchema
+
+
+class VirtualMachineSshSettingsSchema(metaclass=PatchedSchemaMeta):
+    admin_username = fields.Str()
+    admin_password = fields.Str()
+    ssh_port = fields.Int()
+    ssh_private_key_file = fields.Str()
+
+    @post_load
+    def make(self, data, **kwargs):
+        from azure.ai.ml.entities import VirtualMachineSshSettings
+
+        return VirtualMachineSshSettings(**data)
+
+
+class VirtualMachineComputeSchema(ComputeSchema):
+    type = StringTransformedEnum(allowed_values=[ComputeType.VIRTUALMACHINE], required=True)
+    resource_id = fields.Str(required=True)
+    compute_location = fields.Str(dump_only=True)
+    ssh_settings = NestedField(VirtualMachineSshSettingsSchema)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/vm_size.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/vm_size.py
new file mode 100644
index 00000000..79ee8ea7
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/compute/vm_size.py
@@ -0,0 +1,19 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+from marshmallow import fields
+
+from azure.ai.ml._schema.core.schema_meta import PatchedSchemaMeta
+
+
+class VmSizeSchema(metaclass=PatchedSchemaMeta):
+    name = fields.Str()
+    family = fields.Str()
+    v_cp_us = fields.Int()
+    gpus = fields.Int()
+    os_vhd_size_mb = fields.Int()
+    max_resource_volume_mb = fields.Int()
+    memory_gb = fields.Float()
+    low_priority_capable = fields.Bool()
+    premium_io = fields.Bool()
+    supported_compute_types = fields.Str()