aboutsummaryrefslogtreecommitdiff
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()