aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_utils')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_appinsights_utils.py16
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_arm_id_utils.py506
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_artifact_utils.py454
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_asset_utils.py1224
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_azureml_polling.py48
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_cache_utils.py437
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_data_utils.py82
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_endpoint_utils.py229
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_experimental.py156
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_feature_store_utils.py109
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_func_utils.py471
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_html_utils.py155
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_http_utils.py180
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_logger_utils.py62
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_package_utils.py99
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_pathspec.py587
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_preflight_utils.py26
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_registry_utils.py222
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_storage_utils.py207
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/__init__.py57
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/__init__.py17
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_configuration.py63
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_index_service_apis.py91
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_patch.py32
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_vendor.py14
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_version.py7
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/__init__.py15
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_configuration.py53
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_index_service_apis.py75
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_patch.py32
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/__init__.py11
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/_index_entities_operations.py128
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/__init__.py517
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_index_service_apis_enums.py344
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models.py9226
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models_py3.py10478
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/__init__.py11
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/_index_entities_operations.py151
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/py.typed1
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_workspace_utils.py99
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/azure_resource_utils.py79
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/utils.py1429
44 files changed, 28210 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/__init__.py
new file mode 100644
index 00000000..29a4fcd3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/__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/_utils/_appinsights_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_appinsights_utils.py
new file mode 100644
index 00000000..579ece7a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_appinsights_utils.py
@@ -0,0 +1,16 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+
+module_logger = logging.getLogger(__name__)
+
+
+def get_log_analytics_arm_id(subscription_id: str, resource_group_name: str, log_analytics_name: str) -> str:
+ return (
+ f"/subscriptions/{subscription_id}/"
+ f"resourceGroups/{resource_group_name}/"
+ "providers/Microsoft.OperationalInsights/workspaces/"
+ f"{log_analytics_name}"
+ )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_arm_id_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_arm_id_utils.py
new file mode 100644
index 00000000..83545b9d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_arm_id_utils.py
@@ -0,0 +1,506 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+import re
+from typing import Any, Optional, Tuple, Union
+
+from azure.ai.ml._scope_dependent_operations import OperationScope
+from azure.ai.ml.constants._common import (
+ ARM_ID_PREFIX,
+ ASSET_ID_URI_REGEX_FORMAT,
+ AZUREML_RESOURCE_PROVIDER,
+ DATA_ARM_TYPE,
+ DATASTORE_RESOURCE_ID,
+ DATASTORE_SHORT_URI,
+ LEVEL_ONE_NAMED_RESOURCE_ID_FORMAT,
+ NAMED_RESOURCE_ID_FORMAT,
+ NAMED_RESOURCE_ID_FORMAT_WITH_PARENT,
+ PROVIDER_RESOURCE_ID_WITH_VERSION,
+ REGISTRY_URI_REGEX_FORMAT,
+ REGISTRY_VERSION_PATTERN,
+ SINGULARITY_FULL_NAME_REGEX_FORMAT,
+ SINGULARITY_ID_REGEX_FORMAT,
+ SINGULARITY_SHORT_NAME_REGEX_FORMAT,
+)
+from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+module_logger = logging.getLogger(__name__)
+
+
+class AMLVersionedArmId(object):
+ """Parser for versioned arm id: e.g. /subscription/.../code/my- code/versions/1.
+
+ :param arm_id: The versioned ARM id.
+ :type arm_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if the ARM id is incorrectly formatted.
+ """
+
+ REGEX_PATTERN = (
+ "^/?subscriptions/([^/]+)/resourceGroups/(["
+ "^/]+)/providers/Microsoft.MachineLearningServices/workspaces/([^/]+)/([^/]+)/([^/]+)/versions/(["
+ "^/]+)"
+ )
+
+ def __init__(self, arm_id=None):
+ self.is_registry_id = None
+ if arm_id:
+ match = re.match(AMLVersionedArmId.REGEX_PATTERN, arm_id)
+ if match:
+ self.subscription_id = match.group(1)
+ self.resource_group_name = match.group(2)
+ self.workspace_name = match.group(3)
+ self.asset_type = match.group(4)
+ self.asset_name = match.group(5)
+ self.asset_version = match.group(6)
+ else:
+ match = re.match(REGISTRY_VERSION_PATTERN, arm_id)
+ if match:
+ self.asset_name = match.group(3)
+ self.asset_version = match.group(4)
+ self.is_registry_id = True
+ else:
+ msg = "Invalid AzureML ARM versioned Id {}"
+ raise ValidationException(
+ message=msg.format(arm_id),
+ no_personal_data_message=msg.format("[arm_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+
+
+def get_datastore_arm_id(
+ datastore_name: Optional[str] = None, operation_scope: Optional[OperationScope] = None
+) -> Optional[str]:
+ return (
+ DATASTORE_RESOURCE_ID.format(
+ operation_scope.subscription_id,
+ operation_scope.resource_group_name,
+ operation_scope.workspace_name,
+ datastore_name,
+ )
+ if datastore_name
+ else None
+ )
+
+
+class AMLLabelledArmId(object):
+ """Parser for versioned arm id: e.g. /subscription/.../code/my- code/labels/default.
+
+ :param arm_id: The labelled ARM id.
+ :type arm_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if the ARM id is incorrectly formatted.
+ """
+
+ REGEX_PATTERN = (
+ "^/?subscriptions/([^/]+)/resourceGroups/(["
+ "^/]+)/providers/Microsoft.MachineLearningServices/workspaces/([^/]+)/([^/]+)/([^/]+)/labels/(["
+ "^/]+)"
+ )
+
+ def __init__(self, arm_id=None):
+ self.is_registry_id = None
+ if arm_id:
+ match = re.match(AMLLabelledArmId.REGEX_PATTERN, arm_id)
+ if match:
+ self.subscription_id = match.group(1)
+ self.resource_group_name = match.group(2)
+ self.workspace_name = match.group(3)
+ self.asset_type = match.group(4)
+ self.asset_name = match.group(5)
+ self.asset_label = match.group(6)
+ else:
+ match = re.match(REGISTRY_VERSION_PATTERN, arm_id)
+ if match:
+ self.asset_name = match.group(3)
+ self.asset_label = match.group(4)
+ self.is_registry_id = True
+ else:
+ msg = "Invalid AzureML ARM versioned Id {}"
+ raise ValidationException(
+ message=msg.format(arm_id),
+ no_personal_data_message=msg.format("[arm_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+
+
+class AMLNamedArmId:
+ """Parser for named arm id (no version): e.g.
+
+ /subscription/.../compute/cpu-cluster.
+
+ :param arm_id: The named ARM id.
+ :type arm_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException~: Raised if the ARM id is incorrectly formatted.
+ """
+
+ REGEX_PATTERN = (
+ "^/?subscriptions/([^/]+)/resourceGroups/(["
+ "^/]+)/providers/Microsoft.MachineLearningServices/workspaces/([^/]+)/([^/]+)/([^/]+)"
+ )
+
+ REGEX_PATTERN_WITH_PARENT = (
+ "^/?subscriptions/([^/]+)/resourceGroups/(["
+ "^/]+)/providers/Microsoft.MachineLearningServices/workspaces/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)"
+ )
+
+ def __init__(self, arm_id=None):
+ if arm_id:
+ match = re.match(AMLNamedArmId.REGEX_PATTERN_WITH_PARENT, arm_id)
+ if match:
+ self.asset_name = match.group(7)
+ self.asset_type = match.group(6)
+ self.parent_asset_name = match.group(5)
+ self.parent_azureml_type = match.group(4)
+ if match is None:
+ match = re.match(AMLNamedArmId.REGEX_PATTERN, arm_id)
+ if match:
+ self.asset_type = match.group(4)
+ self.asset_name = match.group(5)
+ self.parent_asset_name = None
+ self.parent_azureml_type = None
+ else:
+ msg = "Invalid AzureML ARM named Id {}"
+ raise ValidationException(
+ message=msg.format(arm_id),
+ no_personal_data_message=msg.format("[arm_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+
+ self.subscription_id = match.group(1)
+ self.resource_group_name = match.group(2)
+ self.workspace_name = match.group(3)
+
+
+class AMLAssetId:
+ REGEX_PATTERN = ASSET_ID_URI_REGEX_FORMAT
+
+ def __init__(self, asset_id: str):
+ """Parser for asset id.
+
+ :param asset_id: The asset id.
+ :type asset_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException~: Raised if the asset id is incorrectly formatted.
+ """
+ match = re.match(AMLAssetId.REGEX_PATTERN, asset_id)
+ if match is None:
+ msg = "Invalid AzureML Asset Id {}"
+ raise ValidationException(
+ message=msg.format(asset_id),
+ no_personal_data_message=msg.format("[asset_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ASSET,
+ )
+
+ self.location = match.group(1)
+ self.workspace_id = match.group(2)
+ self.asset_type = match.group(3)
+ self.asset_name = match.group(4)
+ self.asset_version = match.group(5)
+
+
+class AzureResourceId:
+ """Parser for a non-AzureML ARM Id.
+
+ :param arm_id: The non-AzureML ARM id.
+ :type arm_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException~: Raised if the ARM id is incorrectly formatted.
+ """
+
+ REGEX_PATTERN = "^/?subscriptions/([^/]+)/resourceGroups/([^/]+)/providers/Microsoft.([^/]+)/([^/]+)/([^/]+)"
+ RESOURCEGROUP_PATTERN = "^/?subscriptions/([^/]+)/providers/Microsoft.([^/]+)/([^/]+)/([^/]+)"
+
+ def __init__(self, arm_id=None):
+ if arm_id:
+ match = re.match(AzureResourceId.REGEX_PATTERN, arm_id)
+ rg_match = re.match(AzureResourceId.RESOURCEGROUP_PATTERN, arm_id)
+ if match:
+ self.subscription_id = match.group(1)
+ self.resource_group_name = match.group(2)
+ self.provider_namespace_with_type = match.group(3) + match.group(4)
+ self.asset_type = match.group(4)
+ self.asset_name = match.group(5)
+ elif rg_match:
+ self.subscription_id = rg_match.group(1)
+ self.resource_group_name = None
+ self.asset_name = rg_match.group(4)
+ self.asset_type = rg_match.group(3)
+ else:
+ msg = "Invalid ARM Id {}"
+ raise ValidationException(
+ message=msg.format(arm_id),
+ no_personal_data_message=msg.format("[arm_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+
+
+class AzureStorageContainerResourceId:
+ """Parser for a Azure Storage Container ARM id.
+
+ :param arm_id: The Azure Storage Container ARM id.
+ :type arm_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException~: Raised if the ARM id is incorrectly formatted.
+ """
+
+ REGEX_PATTERN = (
+ "^/?subscriptions/([^/]+)/resourceGroups/([^/]+)/providers/Microsoft.Storage"
+ "/storageAccounts/([^/]+)/blobServices/default/containers/([^/]+)"
+ )
+
+ def __init__(self, arm_id=None):
+ if arm_id:
+ match = re.match(AzureStorageContainerResourceId.REGEX_PATTERN, arm_id)
+ if match:
+ self.subscription_id = match.group(1)
+ self.resource_group_name = match.group(2)
+ self.storage_account = match.group(3)
+ self.container = match.group(4)
+ else:
+ msg = "Invalid Azure Storage Container Resource Id {}"
+ raise ValidationException(
+ message=msg.format(arm_id),
+ no_personal_data_message=msg.format("[arm_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+
+
+def _parse_endpoint_name_from_deployment_id(deployment_id: str) -> str:
+ REGEX_PATTERN = (
+ "^/?subscriptions/([^/]+)/resourceGroups/(["
+ "^/]+)/providers/Microsoft.MachineLearningServices/workspaces/([^/]+)/([^/]+)/([^/]+)/deployments/([^/]+)"
+ )
+ match = re.match(REGEX_PATTERN, deployment_id)
+ if match is None:
+ msg = "Invalid Deployment Id {}"
+ raise ValidationException(
+ message=msg.format(deployment_id),
+ no_personal_data_message=msg.format("[id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.DEPLOYMENT,
+ )
+ return match.group(5)
+
+
+def parse_AzureML_id(name: str) -> Tuple[str, str, str]:
+ if name.startswith(ARM_ID_PREFIX):
+ name = name[len(ARM_ID_PREFIX) :]
+
+ at_splits = name.rsplit("@", 1)
+ if len(at_splits) > 1:
+ return at_splits[0], None, name[1]
+ colon_splits = name.rsplit(":", 1)
+ return (
+ colon_splits[0],
+ None if len(colon_splits) == 1 else colon_splits[1],
+ None,
+ )
+
+
+def parse_prefixed_name_version(name: str) -> Tuple[str, Optional[str]]:
+ if name.startswith(ARM_ID_PREFIX):
+ return parse_name_version(name[len(ARM_ID_PREFIX) :])
+ return parse_name_version(name)
+
+
+def parse_name_version(name: str) -> Tuple[str, Optional[str]]:
+ if name.find("/") != -1 and name[0] != "/":
+ raise ValidationException(
+ f"Could not parse {name}. If providing an ARM id, it should start with a '/'.",
+ no_personal_data_message=f"Could not parse {name}.",
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+ token_list = name.split(":")
+ if len(token_list) == 1:
+ return name, None
+ name, *version = token_list # type: ignore
+ return name, ":".join(version)
+
+
+def parse_name_label(name: Optional[str]) -> Tuple[str, Optional[str]]:
+ if not name or (name.find("/") != -1 and name[0] != "/"):
+ raise ValidationException(
+ f"Could not parse {name}. If providing an ARM id, it should start with a '/'.",
+ no_personal_data_message=f"Could not parse {name}.",
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.ARM_RESOURCE,
+ )
+ token_list = name.rpartition("@")
+ if not token_list[1]: # separator not found
+ *_, name = token_list
+ return name, None
+ name, _, label = token_list
+ return name, label
+
+
+def is_ARM_id_for_resource(name: Any, resource_type: str = ".*", sub_workspace_resource: bool = True) -> bool:
+ if sub_workspace_resource:
+ resource_regex = NAMED_RESOURCE_ID_FORMAT.format(
+ ".*", ".*", AZUREML_RESOURCE_PROVIDER, ".*", resource_type, ".*"
+ )
+ else:
+ resource_regex = LEVEL_ONE_NAMED_RESOURCE_ID_FORMAT.format(
+ ".*", ".*", AZUREML_RESOURCE_PROVIDER, resource_type, ".*"
+ )
+ if isinstance(name, str) and re.match(resource_regex, name, re.IGNORECASE):
+ return True
+ return False
+
+
+def is_ARM_id_for_parented_resource(name: str, parent_resource_type: str, child_resource_type: str) -> bool:
+ resource_regex = NAMED_RESOURCE_ID_FORMAT_WITH_PARENT.format(
+ ".*",
+ ".*",
+ AZUREML_RESOURCE_PROVIDER,
+ ".*",
+ parent_resource_type,
+ ".*",
+ child_resource_type,
+ "*",
+ )
+ return re.match(resource_regex, name, re.IGNORECASE) is not None
+
+
+def is_registry_id_for_resource(name: Any) -> bool:
+ if isinstance(name, str) and re.match(REGISTRY_URI_REGEX_FORMAT, name, re.IGNORECASE):
+ return True
+ return False
+
+
+def is_singularity_id_for_resource(name: Any) -> bool:
+ if isinstance(name, str) and re.match(SINGULARITY_ID_REGEX_FORMAT, name, re.IGNORECASE):
+ return True
+ return False
+
+
+def is_singularity_full_name_for_resource(name: Any) -> bool:
+ if isinstance(name, str) and (re.match(SINGULARITY_FULL_NAME_REGEX_FORMAT, name, re.IGNORECASE)):
+ return True
+ return False
+
+
+def is_singularity_short_name_for_resource(name: Any) -> bool:
+ if isinstance(name, str) and re.match(SINGULARITY_SHORT_NAME_REGEX_FORMAT, name, re.IGNORECASE):
+ return True
+ return False
+
+
+def get_arm_id_with_version(
+ operation_scope: OperationScope,
+ provider_name: str,
+ provider_value: str,
+ provider_version: str,
+):
+ return PROVIDER_RESOURCE_ID_WITH_VERSION.format(
+ operation_scope.subscription_id,
+ operation_scope.resource_group_name,
+ operation_scope.workspace_name,
+ provider_name,
+ provider_value,
+ provider_version,
+ )
+
+
+def generate_data_arm_id(operation_scope: OperationScope, name: str, version: int):
+ return get_arm_id_with_version(operation_scope, DATA_ARM_TYPE, name, str(version))
+
+
+def remove_aml_prefix(resource_id: Optional[str]) -> Optional[str]:
+ if not resource_id:
+ return None
+
+ if resource_id.startswith(ARM_ID_PREFIX):
+ return resource_id[len(ARM_ID_PREFIX) :]
+ return resource_id
+
+
+def get_resource_name_from_arm_id(resource_id: str) -> str:
+ # parse arm id to datastore name
+ return AMLNamedArmId(resource_id).asset_name
+
+
+def get_resource_name_from_arm_id_safe(resource_id: str) -> str:
+ """Get the resource name from an ARM id.
+
+ :param resource_id: The resource's ARM ID
+ :type resource_id: str
+ :return:
+ * Resource Name if input string is ARM id
+ * Original input otherwise
+ :rtype: str
+ """
+ try:
+ return get_resource_name_from_arm_id(resource_id)
+ except ValidationException:
+ # already a name
+ return resource_id
+ except AttributeError:
+ # None or empty string
+ return resource_id
+ except Exception: # pylint: disable=W0718
+ # unexpected error
+ module_logger.warning("Failed to parse resource id: %s", resource_id)
+ return resource_id
+
+
+def get_arm_id_object_from_id(
+ resource_id: str,
+) -> Union[AMLVersionedArmId, AMLNamedArmId, AzureResourceId]:
+ """Attempts to create and return one of: AMLVersionedId, AMLNamedId, AzureResoureId. In the case than an AzureML ARM
+ Id is passed in, either AMLVersionedId or AMLNamedId will be created depending on resource type In the case that a
+ non-AzureML ARM id is passed in, an AzureResourceId will be returned.
+
+ :param resource_id: the ARM Id to parse
+ :type resource_id: str
+ :raises ~azure.ai.ml.exceptions.ValidationException~: Raised if the ARM id is incorrectly formatted.
+ :return: The parser for the given ARM Id
+ :rtype: Union[AMLVersionedArmId, AMLNamedArmId, AzureResourceId]
+ """
+
+ # Try each type of parser for the ARM id. If none succeed, raise a ValueError
+ try:
+ return AMLVersionedArmId(resource_id)
+ except ValidationException:
+ pass
+
+ try:
+ return AMLNamedArmId(resource_id)
+ except ValidationException:
+ pass
+
+ try:
+ return AzureResourceId(resource_id)
+ except ValidationException:
+ pass
+
+ msg = "Invalid ARM Id {}"
+ raise ValidationException(
+ message=msg.format(resource_id),
+ no_personal_data_message=msg.format("[resource_id]"),
+ error_type=ValidationErrorType.INVALID_VALUE,
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.DEPLOYMENT,
+ )
+
+
+def remove_datastore_prefix(datastore_id: Optional[str]) -> Optional[str]:
+ if not datastore_id:
+ return None
+
+ if datastore_id.startswith(DATASTORE_SHORT_URI):
+ return datastore_id[len(DATASTORE_SHORT_URI) :]
+ return datastore_id
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_artifact_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_artifact_utils.py
new file mode 100644
index 00000000..9dafaf79
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_artifact_utils.py
@@ -0,0 +1,454 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+import copy
+import hashlib
+import logging
+import os
+import re
+import shutil
+import subprocess
+import tempfile
+import zipfile
+from collections import defaultdict
+from io import BytesIO
+from pathlib import Path
+from threading import Lock
+from typing import Iterable, List, Optional, Union
+
+from typing_extensions import Literal
+
+from azure.ai.ml.constants._common import DefaultOpenEncoding
+
+from ._http_utils import HttpPipeline
+from .utils import get_base_directory_for_cache
+
+_logger = logging.getLogger(__name__)
+
+
+class ArtifactCache:
+ """Disk cache of azure artifact packages.
+
+ The key of the cache is path of artifact packages in local, like this
+ azure-ai-ml/components/additional_includes/artifacts/{organization}/{project}/{feed}/{package_name}/{version}.
+ The value is the files/folders in this cache folder.
+ """
+
+ # artifact cache is shared across SDK versions and across workspaces/registries
+ DEFAULT_DISK_CACHE_DIRECTORY = get_base_directory_for_cache().joinpath(
+ "components",
+ "additional_includes",
+ "artifacts",
+ )
+ POSTFIX_CHECKSUM = "checksum"
+ _instance_lock = Lock()
+ _instance = None
+
+ def __new__(cls):
+ """Singleton creation disk cache."""
+ if cls._instance is None:
+ with cls._instance_lock:
+ if cls._instance is None:
+ cls._instance = object.__new__(cls)
+ cls.check_artifact_extension()
+ return cls._instance
+
+ @staticmethod
+ def check_artifact_extension():
+ # check az extension azure-devops installed. Install it if not installed.
+ result = subprocess.run(
+ [shutil.which("az"), "artifacts", "--help", "--yes"],
+ capture_output=True,
+ check=False,
+ )
+
+ if result.returncode != 0:
+ raise RuntimeError(
+ "Auto-installation failed. Please install azure-devops "
+ "extension by 'az extension add --name azure-devops'."
+ )
+
+ def __init__(self, cache_directory=None):
+ self._cache_directory = cache_directory or self.DEFAULT_DISK_CACHE_DIRECTORY
+ Path(self._cache_directory).mkdir(exist_ok=True, parents=True)
+ self._artifacts_tool_path = None
+ self._download_locks = defaultdict(Lock)
+
+ @property
+ def cache_directory(self) -> Path:
+ """Cache directory path.
+
+ :return: The cache directory
+ :rtype: Path
+ """
+ return self._cache_directory
+
+ @staticmethod
+ def hash_files_content(file_list: List[Union[str, os.PathLike]]) -> str:
+ """Hash the file content in the file list.
+
+ :param file_list: The list of files to hash
+ :type file_list: List[Union[str, os.PathLike]]
+ :return: Hashed file contents
+ :rtype: str
+ """
+ ordered_file_list = copy.copy(file_list)
+ hasher = hashlib.sha256()
+ ordered_file_list.sort()
+ for item in ordered_file_list:
+ with open(item, "rb") as f:
+ hasher.update(f.read())
+ return hasher.hexdigest()
+
+ @staticmethod
+ def _format_organization_name(organization):
+ pattern = r'[<>:"\\/|?*]'
+ normalized_organization_name = re.sub(pattern, "_", organization)
+ return normalized_organization_name
+
+ @staticmethod
+ def get_organization_project_by_git():
+ """Get organization and project from git remote url. For example, the git remote url is
+ "https://organization.visualstudio.com/xxx/project_name/_git/repositry_name" or
+ "https://dev.azure.com/{organization}/project".
+
+ :return organization_url, project: organization_url, project
+ :rtype organization_url, project: str, str
+ """
+ result = subprocess.run(
+ [shutil.which("git"), "config", "--get", "remote.origin.url"],
+ capture_output=True,
+ encoding="utf-8",
+ check=False,
+ )
+
+ if result.returncode != 0:
+ # When organization and project cannot be retrieved from the origin url.
+ raise RuntimeError(
+ f"Get the git origin url failed, you must be in a local Git directory, "
+ f"error message: {result.stderr}"
+ )
+ origin_url = result.stdout.strip()
+
+ # Organization URL has two format, https://dev.azure.com/{organization} and
+ # https://{organization}.visualstudio.com
+ # https://learn.microsoft.com/azure/devops/extend/develop/work-with-urls?view=azure-devops&tabs=http
+ if "dev.azure.com" in origin_url:
+ regex = r"^https:\/\/\w*@?dev\.azure\.com\/(\w*)\/(\w*)"
+ results = re.findall(regex, origin_url)
+ if results:
+ organization, project = results[0]
+ return f"https://dev.azure.com/{organization}", project
+ elif "visualstudio.com" in origin_url:
+ regex = r"https:\/\/(\w*)\.visualstudio\.com.*\/(\w*)\/_git"
+ results = re.findall(regex, origin_url)
+ if results:
+ organization, project = results[0]
+ return f"https://{organization}.visualstudio.com", project
+
+ # When organization and project cannot be retrieved from the origin url.
+ raise RuntimeError(
+ f'Cannot get organization and project from git origin url "{origin_url}", '
+ f'you must be in a local Git directory that has a "remote" referencing a '
+ f"Azure DevOps or Azure DevOps Server repository."
+ )
+
+ @classmethod
+ def _get_checksum_path(cls, path):
+ artifact_path = Path(path)
+ return artifact_path.parent / f"{artifact_path.name}_{cls.POSTFIX_CHECKSUM}"
+
+ def _redirect_artifacts_tool_path(self, organization: Optional[str]):
+ """Downloads the artifacts tool and redirects `az artifact` command to it.
+
+ Done to avoid the transient issue when download artifacts
+
+ :param organization: The organization url. If None, is determined by local git repo
+ :type organization: Optional[str]
+ """
+ from azure.identity import DefaultAzureCredential
+
+ if not organization:
+ organization, _ = self.get_organization_project_by_git()
+
+ organization_pattern = r"https:\/\/(.*)\.visualstudio\.com"
+ result = re.findall(pattern=organization_pattern, string=organization)
+ if result:
+ organization_name = result[0]
+ else:
+ organization_pattern = r"https:\/\/dev\.azure\.com\/(.*)"
+ result = re.findall(pattern=organization_pattern, string=organization)
+ if not result:
+ raise RuntimeError("Cannot find artifact organization.")
+ organization_name = result[0]
+
+ if not self._artifacts_tool_path:
+ os_name = "Windows" if os.name == "nt" else "Linux"
+ credential = DefaultAzureCredential()
+ token = credential.get_token("https://management.azure.com/.default")
+ header = {"Authorization": "Bearer " + token.token}
+
+ # The underlying HttpTransport is meant to be user configurable.
+ # MLClient instances have a user configured Pipeline for sending http requests
+ # TODO: Replace this with MlCLient._requests_pipeline
+ requests_pipeline = HttpPipeline()
+ url = (
+ f"https://{organization_name}.vsblob.visualstudio.com/_apis/clienttools/ArtifactTool/release?"
+ f"osName={os_name}&arch=AMD64"
+ )
+ response = requests_pipeline.get( # pylint: disable=too-many-function-args,unexpected-keyword-arg
+ url, headers=header
+ )
+ if response.status_code == 200:
+ artifacts_tool_path = tempfile.mkdtemp() # nosec B306
+ artifacts_tool_uri = response.json()["uri"]
+ response = requests_pipeline.get(artifacts_tool_uri) # pylint: disable=too-many-function-args
+ with zipfile.ZipFile(BytesIO(response.content)) as zip_file:
+ zip_file.extractall(artifacts_tool_path)
+ os.environ["AZURE_DEVOPS_EXT_ARTIFACTTOOL_OVERRIDE_PATH"] = str(artifacts_tool_path.resolve())
+ self._artifacts_tool_path = artifacts_tool_path
+ else:
+ _logger.warning("Download artifact tool failed: %s", response.text)
+
+ def _download_artifacts(
+ self,
+ download_cmd: Iterable[str],
+ organization: Optional[str],
+ name: str,
+ version: str,
+ feed: str,
+ max_retries: int = 3,
+ ):
+ """Download artifacts with retry.
+
+ :param download_cmd: The command used to download the artifact
+ :type download_cmd: Iterable[str]
+ :param organization: The artifact organization
+ :type organization: Optional[str]
+ :param name: The package name
+ :type name: str
+ :param version: The package version
+ :type version: str
+ :param feed: The download feed
+ :type feed: str
+ :param max_retries: The number of times to retry the download. Defaults to 3
+ :type max_retries: int
+ """
+ retries = 0
+ while retries <= max_retries:
+ try:
+ self._redirect_artifacts_tool_path(organization)
+ except Exception as e: # pylint: disable=W0718
+ _logger.warning("Redirect artifacts tool path failed, details: %s", e)
+
+ retries += 1
+ result = subprocess.run(
+ download_cmd,
+ capture_output=True,
+ encoding="utf-8",
+ check=False,
+ )
+
+ if result.returncode != 0:
+ error_msg = (
+ f"Download package {name}:{version} from the feed {feed} failed {retries} times: {result.stderr}"
+ )
+ if retries < max_retries:
+ _logger.warning(error_msg)
+ else:
+ error_msg = error_msg + f"\nDownload artifact debug info: {result.stdout}"
+ raise RuntimeError(error_msg)
+ else:
+ return
+
+ def _check_artifacts(self, artifact_package_path: Union[str, os.PathLike]) -> bool:
+ """Check the artifact folder is legal.
+
+ :param artifact_package_path: The artifact package path
+ :type artifact_package_path: Union[str, os.PathLike]
+ :return:
+ * If the artifact folder or checksum file does not exist, return false.
+ * If the checksum file exists and does not equal to the hash of artifact folder, return False.
+ * If the checksum file equals to the hash of artifact folder, return true.
+ :rtype: bool
+ """
+ path = Path(artifact_package_path)
+ if not path.exists():
+ return False
+ checksum_path = self._get_checksum_path(artifact_package_path)
+ if checksum_path.exists():
+ with open(checksum_path, "r", encoding=DefaultOpenEncoding.READ) as f:
+ checksum = f.read()
+ file_list = [os.path.join(root, f) for root, _, files in os.walk(path) for f in files]
+ artifact_hash = self.hash_files_content(file_list)
+ return checksum == artifact_hash
+ return False
+
+ def get(
+ self,
+ feed: str,
+ name: str,
+ version: str,
+ scope: Literal["project", "organization"],
+ organization: Optional[str] = None,
+ project: Optional[str] = None,
+ resolve: bool = True,
+ ) -> Optional[Path]:
+ """Get the catch path of artifact package. Package path like this azure-ai-
+ ml/components/additional_includes/artifacts/{organization}/{project}/{feed}/{package_name}/{version}. If the
+ path exits, it will return the package path. If the path not exist and resolve=True, it will download the
+ artifact package and return package path. If the path not exist and resolve=False, it will return None.
+
+ :param feed: Name or ID of the feed.
+ :type feed: str
+ :param name: Name of the package.
+ :type name: str
+ :param version: Version of the package.
+ :type version: str
+ :param scope: Scope of the feed: 'project' if the feed was created in a project, and 'organization' otherwise.
+ :type scope: Literal["project", "organization"]
+ :param organization: Azure DevOps organization URL.
+ :type organization: str
+ :param project: Name or ID of the project.
+ :type project: str
+ :param resolve: Whether download package when package does not exist in local.
+ :type resolve: bool
+ :return artifact_package_path: Cache path of the artifact package
+ :rtype: Optional[Path]
+ """
+ if not all([organization, project]):
+ org_val, project_val = self.get_organization_project_by_git()
+ organization = organization or org_val
+ project = project or project_val
+ artifact_package_path = (
+ Path(self.DEFAULT_DISK_CACHE_DIRECTORY)
+ / self._format_organization_name(organization)
+ / project
+ / feed
+ / name
+ / version
+ )
+ # Use lock to avoid downloading the same package at the same time.
+ with self._download_locks[artifact_package_path]:
+ if self._check_artifacts(artifact_package_path):
+ # When the cache folder of artifact package exists, it's sure that the package has been downloaded.
+ return artifact_package_path.absolute().resolve()
+ if resolve:
+ check_sum_path = self._get_checksum_path(artifact_package_path)
+ if Path(check_sum_path).exists():
+ os.unlink(check_sum_path)
+ if artifact_package_path.exists():
+ # Remove invalid artifact package to avoid affecting download artifact.
+ temp_folder = tempfile.mkdtemp() # nosec B306
+ os.rename(artifact_package_path, temp_folder)
+ shutil.rmtree(temp_folder)
+ # Download artifact
+ return self.set(
+ feed=feed,
+ name=name,
+ version=version,
+ organization=organization,
+ project=project,
+ scope=scope,
+ )
+ return None
+
+ def set(
+ self,
+ feed: str,
+ name: str,
+ version: str,
+ scope: Literal["project", "organization"],
+ organization: Optional[str] = None,
+ project: Optional[str] = None,
+ ) -> Path:
+ """Set the artifact package to the cache. The key of the cache is path of artifact packages in local. The value
+ is the files/folders in this cache folder. If package path exists, directly return package path.
+
+ :param feed: Name or ID of the feed.
+ :type feed: str
+ :param name: Name of the package.
+ :type name: str
+ :param version: Version of the package.
+ :type version: str
+ :param scope: Scope of the feed: 'project' if the feed was created in a project, and 'organization' otherwise.
+ :type scope: Literal["project", "organization"]
+ :param organization: Azure DevOps organization URL.
+ :type organization: str
+ :param project: Name or ID of the project.
+ :type project: str
+ :return artifact_package_path: Cache path of the artifact package
+ :rtype: Path
+ """
+ tempdir = tempfile.mkdtemp() # nosec B306
+ download_cmd = [
+ shutil.which("az"),
+ "artifacts",
+ "universal",
+ "download",
+ "--feed",
+ feed,
+ "--name",
+ name,
+ "--version",
+ version,
+ "--scope",
+ scope,
+ "--path",
+ tempdir,
+ ]
+ if organization:
+ download_cmd.extend(["--org", organization])
+ if project:
+ download_cmd.extend(["--project", project])
+ _logger.info("Start downloading artifacts %s:%s from %s.", name, version, feed)
+ result = subprocess.run(
+ download_cmd,
+ capture_output=True,
+ encoding="utf-8",
+ check=False,
+ )
+
+ if result.returncode != 0:
+ artifacts_tool_not_find_error_pattern = "No such file or directory: .*artifacttool"
+ if re.findall(artifacts_tool_not_find_error_pattern, result.stderr):
+ # When download artifacts tool failed retry download artifacts command
+ _logger.warning(
+ "Download package %s:%s from the feed %s failed: %s", name, version, feed, result.stderr
+ )
+ download_cmd.append("--debug")
+ self._download_artifacts(download_cmd, organization, name, version, feed)
+ else:
+ raise RuntimeError(f"Download package {name}:{version} from the feed {feed} failed: {result.stderr}")
+ try:
+ # Copy artifact package from temp folder to the cache path.
+ if not all([organization, project]):
+ org_val, project_val = self.get_organization_project_by_git()
+ organization = organization or org_val
+ project = project or project_val
+ artifact_package_path = (
+ Path(self.DEFAULT_DISK_CACHE_DIRECTORY)
+ / self._format_organization_name(organization)
+ / project
+ / feed
+ / name
+ / version
+ )
+ artifact_package_path.parent.mkdir(exist_ok=True, parents=True)
+ file_list = [os.path.join(root, f) for root, _, files in os.walk(tempdir) for f in files]
+ artifact_hash = self.hash_files_content(file_list)
+ os.rename(tempdir, artifact_package_path)
+ temp_checksum_file = os.path.join(tempfile.mkdtemp(), f"{version}_{self.POSTFIX_CHECKSUM}")
+ with open(temp_checksum_file, "w", encoding=DefaultOpenEncoding.WRITE) as f:
+ f.write(artifact_hash)
+ os.rename(
+ temp_checksum_file,
+ artifact_package_path.parent / f"{version}_{self.POSTFIX_CHECKSUM}",
+ )
+ except (FileExistsError, PermissionError, OSError):
+ # On Windows, if dst exists a FileExistsError is always raised.
+ # On Unix, if dst is a non-empty directory, an OSError is raised.
+ # If dst is being used by another process will raise PermissionError.
+ # https://docs.python.org/3/library/os.html#os.rename
+ pass
+ return artifact_package_path.absolute().resolve()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_asset_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_asset_utils.py
new file mode 100644
index 00000000..7081d9d6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_asset_utils.py
@@ -0,0 +1,1224 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=protected-access,too-many-lines
+
+import hashlib
+import logging
+import os
+import json
+import uuid
+import warnings
+from concurrent.futures import ThreadPoolExecutor, as_completed
+from contextlib import suppress
+from multiprocessing import cpu_count
+from os import PathLike
+from pathlib import Path
+from platform import system
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Dict,
+ Iterable,
+ List,
+ Optional,
+ Tuple,
+ Union,
+ cast,
+)
+
+from colorama import Fore
+from tqdm import TqdmWarning, tqdm
+from typing_extensions import Literal
+
+from azure.ai.ml._artifacts._constants import (
+ AML_IGNORE_FILE_NAME,
+ ARTIFACT_ORIGIN,
+ AUTO_DELETE_SETTING_NOT_ALLOWED_ERROR_NO_PERSONAL_DATA,
+ BLOB_STORAGE_CLIENT_NAME,
+ CHUNK_SIZE,
+ DEFAULT_CONNECTION_TIMEOUT,
+ EMPTY_DIRECTORY_ERROR,
+ GEN2_STORAGE_CLIENT_NAME,
+ GIT_IGNORE_FILE_NAME,
+ INVALID_MANAGED_DATASTORE_PATH_ERROR_NO_PERSONAL_DATA,
+ MAX_CONCURRENCY,
+ PROCESSES_PER_CORE,
+ UPLOAD_CONFIRMATION,
+ WORKSPACE_MANAGED_DATASTORE,
+ WORKSPACE_MANAGED_DATASTORE_WITH_SLASH,
+)
+from azure.ai.ml._restclient.v2022_02_01_preview.operations import (
+ ComponentContainersOperations,
+ ComponentVersionsOperations,
+ DataContainersOperations,
+ DataVersionsOperations,
+ EnvironmentContainersOperations,
+ EnvironmentVersionsOperations,
+ ModelContainersOperations,
+ ModelVersionsOperations,
+)
+from azure.ai.ml._restclient.v2022_05_01.models import (
+ DataVersionBaseData,
+ ModelVersionData,
+ ModelVersionResourceArmPaginatedResult,
+)
+from azure.ai.ml._restclient.v2023_04_01.models import PendingUploadRequestDto
+from azure.ai.ml._utils._pathspec import GitWildMatchPattern, normalize_file
+from azure.ai.ml._utils.utils import convert_windows_path_to_unix, retry, snake_to_camel
+from azure.ai.ml.constants._common import (
+ MAX_AUTOINCREMENT_ATTEMPTS,
+ DefaultOpenEncoding,
+ OrderString,
+)
+from azure.ai.ml.entities._assets.asset import Asset
+from azure.ai.ml.exceptions import (
+ AssetPathException,
+ EmptyDirectoryError,
+ ErrorCategory,
+ ErrorTarget,
+ ValidationErrorType,
+ ValidationException,
+)
+from azure.core.exceptions import ResourceExistsError, ResourceNotFoundError
+
+if TYPE_CHECKING:
+ from azure.ai.ml.operations import (
+ ComponentOperations,
+ DataOperations,
+ EnvironmentOperations,
+ IndexOperations,
+ ModelOperations,
+ )
+
+hash_type = type(hashlib.md5()) # nosec
+
+module_logger = logging.getLogger(__name__)
+
+
+class AssetNotChangedError(Exception):
+ pass
+
+
+class IgnoreFile(object):
+ def __init__(self, file_path: Optional[Union[str, os.PathLike]] = None):
+ """Base class for handling .gitignore and .amlignore files.
+
+ :param file_path: Relative path, or absolute path to the ignore file.
+ """
+ path = Path(file_path).resolve() if file_path else None
+ self._path = path
+ self._path_spec = None
+
+ def exists(self) -> bool:
+ """Checks if ignore file exists.
+ :return: True if file exists. False Otherwise
+ :rtype: bool
+ """
+ return self._file_exists()
+
+ def _file_exists(self) -> bool:
+ return self._path and self._path.exists()
+
+ @property
+ def base_path(self) -> Path:
+ return self._path.parent
+
+ def _get_ignore_list(self) -> List[str]:
+ """Get ignore list from ignore file contents.
+
+ :return: The lines of the ignore file
+ :rtype: List[str]
+ """
+ if not self.exists():
+ return []
+ if self._file_exists():
+ with open(self._path, "r", encoding=DefaultOpenEncoding.READ) as fh:
+ return [line.rstrip() for line in fh if line]
+ return []
+
+ def _create_pathspec(self) -> List[GitWildMatchPattern]:
+ """Creates path specification based on ignore list.
+
+ :return: Path specification
+ :rtype: List[GitWildMatchPattern]
+ """
+ return [GitWildMatchPattern(ignore) for ignore in self._get_ignore_list()]
+
+ def _get_rel_path(self, file_path: Union[str, os.PathLike]) -> Optional[str]:
+ """Get relative path of given file_path.
+
+ :param file_path: A file path
+ :type file_path: Union[str, os.PathLike]
+ :return: file_path relative to base_path, if computable. None otherwise
+ :rtype: Optional[str]
+ """
+ file_path = Path(file_path).absolute()
+ try:
+ # use os.path.relpath instead of Path.relative_to in case file_path is not a child of self.base_path
+ return os.path.relpath(file_path, self.base_path)
+ except ValueError:
+ # 2 paths are on different drives
+ return None
+
+ def is_file_excluded(self, file_path: Union[str, os.PathLike]) -> bool:
+ """Checks if given file_path is excluded.
+
+ :param file_path: File path to be checked against ignore file specifications
+ :type file_path: Union[str, os.PathLike]
+ :return: Whether the file is excluded by ignore file
+ :rtype: bool
+ """
+ # TODO: current design of ignore file can't distinguish between files and directories of the same name
+ if self._path_spec is None:
+ self._path_spec = self._create_pathspec()
+ if not self._path_spec:
+ return False
+ file_path = self._get_rel_path(file_path)
+ if file_path is None:
+ return True
+
+ norm_file = normalize_file(file_path)
+ matched = False
+ for pattern in self._path_spec:
+ if pattern.include is not None:
+ if pattern.match_file(norm_file) is not None:
+ matched = pattern.include
+
+ return matched
+
+ @property
+ def path(self) -> Union[Path, str]:
+ return self._path
+
+
+class AmlIgnoreFile(IgnoreFile):
+ def __init__(self, directory_path: Union[Path, str]):
+ file_path = Path(directory_path).joinpath(AML_IGNORE_FILE_NAME)
+ super(AmlIgnoreFile, self).__init__(file_path)
+
+
+class GitIgnoreFile(IgnoreFile):
+ def __init__(self, directory_path: Union[Path, str]):
+ file_path = Path(directory_path).joinpath(GIT_IGNORE_FILE_NAME)
+ super(GitIgnoreFile, self).__init__(file_path)
+
+
+def get_ignore_file(directory_path: Union[Path, str]) -> IgnoreFile:
+ """Finds and returns IgnoreFile object based on ignore file found in directory_path.
+
+ .amlignore takes precedence over .gitignore and if no file is found, an empty
+ IgnoreFile object will be returned.
+
+ The ignore file must be in the root directory.
+
+ :param directory_path: Path to the (root) directory where ignore file is located
+ :type directory_path: Union[Path, str]
+ :return: The IgnoreFile found in the directory
+ :rtype: IgnoreFile
+ """
+ aml_ignore = AmlIgnoreFile(directory_path)
+ git_ignore = GitIgnoreFile(directory_path)
+
+ if aml_ignore.exists():
+ return aml_ignore
+ if git_ignore.exists():
+ return git_ignore
+ return IgnoreFile()
+
+
+def _validate_path(path: Union[str, os.PathLike], _type: str) -> None:
+ path = Path(path) # Okay to do this since Path is idempotent
+ if not path.is_file() and not path.is_dir():
+ raise ValidationException(
+ message=f"No such file or directory: {path}",
+ target=_type,
+ error_type=ValidationErrorType.FILE_OR_FOLDER_NOT_FOUND,
+ no_personal_data_message="No such file or directory",
+ error_category=ErrorCategory.USER_ERROR,
+ )
+
+
+def _parse_name_version(
+ name: Optional[str] = None, version_as_int: bool = True
+) -> Tuple[Optional[str], Optional[Union[str, int]]]:
+ if not name:
+ return None, None
+
+ token_list = name.split(":")
+ if len(token_list) == 1:
+ return name, None
+ *name, version = token_list
+ if version_as_int:
+ version = int(version)
+ return ":".join(name), version
+
+
+def _get_file_hash(filename: Union[str, os.PathLike], _hash: hash_type) -> hash_type:
+ with open(str(filename), "rb") as f:
+ for chunk in iter(lambda: f.read(CHUNK_SIZE), b""):
+ _hash.update(chunk)
+ return _hash
+
+
+def delete_two_catalog_files(path):
+ """
+ Function that deletes the "catalog.json" and "catalog.json.sig" files located at 'path', if they exist
+
+ :param path: Path to the folder for signing
+ :type path: Union[Path, str]
+ :return: None
+ """
+ # catalog.json
+ file_path_json = os.path.join(path, "catalog.json")
+ if os.path.exists(file_path_json):
+ module_logger.warning("%s already exists. Deleting it", file_path_json)
+ os.remove(file_path_json)
+ # catalog.json.sig
+ file_path_json_sig = os.path.join(path, "catalog.json.sig")
+ if os.path.exists(file_path_json_sig):
+ module_logger.warning("%s already exists. Deleting it", file_path_json_sig)
+ os.remove(file_path_json_sig)
+
+
+def create_catalog_files(path, json_stub):
+ with open(os.path.join(path, "catalog.json"), "w", encoding=DefaultOpenEncoding.WRITE) as jsonFile1:
+ json.dump(json_stub, jsonFile1)
+ with open(os.path.join(path, "catalog.json.sig"), "w", encoding=DefaultOpenEncoding.WRITE) as jsonFile2:
+ json.dump(json_stub, jsonFile2)
+
+
+def _get_dir_hash(directory: Union[str, os.PathLike], _hash: hash_type, ignore_file: IgnoreFile) -> hash_type:
+ dir_contents = Path(directory).iterdir()
+ sorted_contents = sorted(dir_contents, key=lambda path: str(path).lower())
+ for path in sorted_contents:
+ if ignore_file.is_file_excluded(path):
+ continue
+ _hash.update(path.name.encode())
+ if os.path.islink(path): # ensure we're hashing the contents of the linked file
+ path = _resolve_path(path)
+ if path.is_file():
+ _hash = _get_file_hash(path, _hash)
+ elif path.is_dir():
+ _hash = _get_dir_hash(path, _hash, ignore_file)
+ return _hash
+
+
+def _build_metadata_dict(name: str, version: str) -> Dict[str, str]:
+ """Build metadata dictionary to attach to uploaded data.
+
+ Metadata includes an upload confirmation field, and for code uploads only, the name and version of the code asset
+ being created for that data.
+
+ :param name: The name of the uploaded data
+ :type name: str
+ :param version: The version of the uploaded data
+ :type version: str
+ :return: Metadata dict
+ :rtype: Dict[str, str]
+ """
+ if name:
+ linked_asset_arm_id = {"name": name, "version": version}
+ else:
+ msg = "'name' cannot be NoneType for asset artifact upload."
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message=msg,
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ metadata_dict = {**UPLOAD_CONFIRMATION, **linked_asset_arm_id}
+ return metadata_dict
+
+
+def get_object_hash(path: Union[str, os.PathLike], ignore_file: IgnoreFile = IgnoreFile()) -> str:
+ _hash = hashlib.md5(b"Initialize for october 2021 AML CLI version") # nosec
+ if Path(path).is_dir():
+ object_hash = _get_dir_hash(directory=path, _hash=_hash, ignore_file=ignore_file)
+ else:
+ if os.path.islink(path): # ensure we're hashing the contents of the linked file
+ path = _resolve_path(Path(path))
+ object_hash = _get_file_hash(filename=path, _hash=_hash)
+ return str(object_hash.hexdigest())
+
+
+def get_content_hash_version():
+ return 202208
+
+
+def get_content_hash(path: Union[str, os.PathLike], ignore_file: IgnoreFile = IgnoreFile()) -> Optional[str]:
+ """Generating sha256 hash for file/folder,
+
+ e.g. Code snapshot fingerprints to prevent tampering.
+
+ The process of hashing is:
+ 1. If it's a link, get the actual path of the link.
+ 2. If it's a file, append file content.
+ 3. If it's a folder:
+ 1. list all files under the folder
+ 2. convert file count to str and append to hash
+ 3. sort the files by lower case of relative path
+ 4. for each file append '#'+relative path+'#' and file size to hash
+ 5. do another iteration on file list to append each files content to hash.
+ The example of absolute path to relative path mapping is:
+ [
+ ('/mnt/c/codehash/code/file1.txt', 'file1.txt'),
+ ('/mnt/c/codehash/code/folder1/file1.txt', 'folder1/file1.txt'),
+ ('/mnt/c/codehash/code/Folder2/file1.txt', 'Folder2/file1.txt'),
+ ('/mnt/c/codehash/code/Folder2/folder1/file1.txt', 'Folder2/folder1/file1.txt')
+ ]
+ 4. Hash the content and convert to hex digest string.
+
+ :param path: The directory to calculate the size of
+ :type path: Union[str, os.PathLike]
+ :param ignore_file: An ignore file that specifies files to ignore when computing the size
+ :type ignore_file: IgnoreFile
+ :return: The content hash if the content is a link, directory, or file. None otherwise
+ :rtype: Optional[str]
+ """
+ # DO NOT change this function unless you change the verification logic together
+ actual_path = path
+ if os.path.islink(path):
+ actual_path = _resolve_path(Path(path)).as_posix()
+ if os.path.isdir(actual_path):
+ return _get_file_list_content_hash(get_upload_files_from_folder(actual_path, ignore_file=ignore_file))
+ if os.path.isfile(actual_path):
+ return _get_file_list_content_hash([(actual_path, Path(actual_path).name)])
+ return None
+
+
+def get_upload_files_from_folder(
+ path: Union[str, os.PathLike],
+ *,
+ prefix: str = "",
+ ignore_file: IgnoreFile = IgnoreFile(),
+) -> List[str]:
+ path = Path(path)
+ upload_paths = []
+ for root, _, files in os.walk(path, followlinks=True):
+ upload_paths += list(
+ traverse_directory(
+ root,
+ files,
+ prefix=Path(prefix).joinpath(Path(root).relative_to(path)).as_posix(),
+ ignore_file=ignore_file,
+ )
+ )
+ return upload_paths
+
+
+def _get_file_list_content_hash(file_list) -> str:
+ # file_list is a list of tuples, (absolute_path, relative_path)
+
+ _hash = hashlib.sha256()
+ # Add file count to the hash and add '#' around file name then add each file's size to avoid collision like:
+ # Case 1:
+ # 'a.txt' with contents 'a'
+ # 'b.txt' with contents 'b'
+ #
+ # Case 2:
+ # cspell:disable-next-line
+ # 'a.txt' with contents 'ab.txtb'
+ _hash.update(str(len(file_list)).encode())
+ # Sort by "destination" path, since in this function destination prefix is empty and keep the link name in path.
+ for file_path, file_name in sorted(file_list, key=lambda x: str(x[1]).lower()):
+ _hash.update(("#" + file_name + "#").encode())
+ _hash.update(str(os.path.getsize(file_path)).encode())
+ for file_path, file_name in sorted(file_list, key=lambda x: str(x[1]).lower()):
+ _hash = _get_file_hash(file_path, _hash)
+ return str(_hash.hexdigest())
+
+
+def traverse_directory( # pylint: disable=unused-argument
+ root: str,
+ files: List[str],
+ *,
+ prefix: str,
+ ignore_file: IgnoreFile = IgnoreFile(),
+ # keep this for backward compatibility
+ **kwargs: Any,
+) -> Iterable[Tuple[str, Union[str, Any]]]:
+ """Enumerate all files in the given directory and compose paths for them to be uploaded to in the remote storage.
+ e.g.
+
+ [/mnt/c/Users/dipeck/upload_files/my_file1.txt,
+ /mnt/c/Users/dipeck/upload_files/my_file2.txt] -->
+
+ [(/mnt/c/Users/dipeck/upload_files/my_file1.txt, LocalUpload/<guid>/upload_files/my_file1.txt),
+ (/mnt/c/Users/dipeck/upload_files/my_file2.txt, LocalUpload/<guid>/upload_files/my_file2.txt))]
+
+ :param root: Root directory path
+ :type root: str
+ :param files: List of all file paths in the directory
+ :type files: List[str]
+ :keyword prefix: Remote upload path for project directory (e.g. LocalUpload/<guid>/project_dir)
+ :paramtype prefix: str
+ :keyword ignore_file: The .amlignore or .gitignore file in the project directory
+ :paramtype ignore_file: azure.ai.ml._utils._asset_utils.IgnoreFile
+ :return: Zipped list of tuples representing the local path and remote destination path for each file
+ :rtype: Iterable[Tuple[str, Union[str, Any]]]
+ """
+ # Normalize Windows paths. Note that path should be resolved first as long part will be converted to a shortcut in
+ # Windows. For example, C:\Users\too-long-user-name\test will be converted to C:\Users\too-lo~1\test by default.
+ # Refer to https://en.wikipedia.org/wiki/8.3_filename for more details.
+ root = Path(root).resolve().absolute()
+
+ # filter out files excluded by the ignore file
+ # TODO: inner ignore file won't take effect. A merged IgnoreFile need to be generated in code resolution.
+ origin_file_paths = [
+ root.joinpath(filename)
+ for filename in files
+ if not ignore_file.is_file_excluded(root.joinpath(filename).as_posix())
+ ]
+
+ result = []
+ for origin_file_path in origin_file_paths:
+ relative_path = origin_file_path.relative_to(root)
+ result.append(
+ (
+ _resolve_path(origin_file_path).as_posix(),
+ Path(prefix).joinpath(relative_path).as_posix(),
+ )
+ )
+ return result
+
+
+def _resolve_path(path: Path) -> Path:
+ if not path.is_symlink():
+ return path
+
+ link_path = path.resolve()
+ if not link_path.is_absolute():
+ link_path = path.parent.joinpath(link_path).resolve()
+ return _resolve_path(link_path)
+
+
+def generate_asset_id(asset_hash: str, include_directory=True) -> str:
+ asset_id = asset_hash or str(uuid.uuid4())
+ if include_directory:
+ asset_id = "/".join((ARTIFACT_ORIGIN, asset_id))
+ return asset_id
+
+
+def get_directory_size(
+ root: Union[str, os.PathLike], ignore_file: IgnoreFile = IgnoreFile(None)
+) -> Tuple[int, Dict[str, int]]:
+ """Returns total size of a directory and a dictionary itemizing each sub- path and its size.
+
+ If an optional ignore_file argument is provided, then files specified in the ignore file are not included in the
+ directory size calculation.
+
+ :param root: The directory to calculate the size of
+ :type root: Union[str, os.PathLike]
+ :param ignore_file: An ignore file that specifies files to ignore when computing the size
+ :type ignore_file: IgnoreFile
+ :return: The computed size of the directory, and the sizes of the child paths
+ :rtype: Tuple[int, Dict[str, int]]
+ """
+ total_size = 0
+ size_list = {}
+ for dirpath, _, filenames in os.walk(root, followlinks=True):
+ for name in filenames:
+ full_path = os.path.join(dirpath, name)
+ # Don't count files that are excluded by an ignore file
+ if ignore_file.is_file_excluded(full_path):
+ continue
+ if not os.path.islink(full_path):
+ path_size = os.path.getsize(full_path)
+ else:
+ # ensure we're counting the size of the linked file
+ # os.readlink returns a file path relative to dirpath, and must be
+ # re-joined to get a workable result
+ path_size = os.path.getsize(os.path.join(dirpath, os.readlink(convert_windows_path_to_unix(full_path))))
+ size_list[full_path] = path_size
+ total_size += path_size
+ return total_size, size_list
+
+
+def upload_file(
+ storage_client: Union["BlobStorageClient", "Gen2StorageClient"],
+ source: str,
+ dest: Optional[str] = None,
+ msg: Optional[str] = None,
+ size: int = 0,
+ show_progress: Optional[bool] = None,
+ in_directory: bool = False,
+ callback: Optional[Any] = None,
+) -> None:
+ """Upload a single file to remote storage.
+
+ :param storage_client: Storage client object
+ :type storage_client: Union[
+ azure.ai.ml._artifacts._blob_storage_helper.BlobStorageClient,
+ azure.ai.ml._artifacts._gen2_storage_helper.Gen2StorageClient]
+ :param source: Local path to project directory
+ :type source: str
+ :param dest: Remote upload path for project directory (e.g. LocalUpload/<guid>/project_dir)
+ :type dest: str
+ :param msg: Message to be shown with progress bar (e.g. "Uploading <source>")
+ :type msg: str
+ :param size: Size of the file in bytes
+ :type size: int
+ :param show_progress: Whether to show progress bar or not
+ :type show_progress: bool
+ :param in_directory: Whether the file is part of a directory of files
+ :type in_directory: bool
+ :param callback: Callback to progress bar
+ :type callback: Any
+ :return: None
+ """
+ validate_content = size > 0 # don't do checksum for empty files
+
+ if (
+ type(storage_client).__name__ == GEN2_STORAGE_CLIENT_NAME
+ ): # Only for Gen2StorageClient, Blob Storage doesn't have true directories
+ if in_directory:
+ storage_client.temp_sub_directory_client = None
+ file_name_tail = dest.split(os.path.sep)[-1]
+ # Indexing from 2 because the first two parts of the remote path will always be LocalUpload/<asset_id>
+ all_sub_folders = dest.split(os.path.sep)[2:-1]
+
+ # Create remote directories for each nested directory if file is in a nested directory
+ for sub_folder in all_sub_folders:
+ if storage_client.temp_sub_directory_client:
+ storage_client.temp_sub_directory_client = (
+ storage_client.temp_sub_directory_client.create_sub_directory(sub_folder)
+ )
+ else:
+ storage_client.temp_sub_directory_client = storage_client.directory_client.create_sub_directory(
+ sub_folder
+ )
+
+ storage_client.file_client = storage_client.temp_sub_directory_client.create_file(file_name_tail)
+ else:
+ storage_client.file_client = storage_client.directory_client.create_file(source.split("/")[-1])
+
+ with open(source, "rb") as data:
+ if show_progress and not in_directory:
+ file_size, _ = get_directory_size(source)
+ file_size_in_mb = file_size / 10**6
+ if file_size_in_mb < 1:
+ msg += Fore.GREEN + " (< 1 MB)"
+ else:
+ msg += Fore.GREEN + f" ({round(file_size_in_mb, 2)} MBs)"
+ cntx_manager = FileUploadProgressBar(msg=msg)
+ else:
+ cntx_manager = suppress()
+
+ with cntx_manager as c:
+ callback = c.update_to if (show_progress and not in_directory) else None
+ if type(storage_client).__name__ == GEN2_STORAGE_CLIENT_NAME:
+ storage_client.file_client.upload_data(
+ data=data.read(),
+ overwrite=True,
+ validate_content=validate_content,
+ raw_response_hook=callback,
+ max_concurrency=MAX_CONCURRENCY,
+ )
+ elif type(storage_client).__name__ == BLOB_STORAGE_CLIENT_NAME:
+ storage_client.container_client.upload_blob(
+ name=dest,
+ data=data,
+ validate_content=validate_content,
+ overwrite=storage_client.overwrite,
+ raw_response_hook=callback,
+ max_concurrency=MAX_CONCURRENCY,
+ connection_timeout=DEFAULT_CONNECTION_TIMEOUT,
+ )
+
+ storage_client.uploaded_file_count += 1
+
+
+def upload_directory(
+ storage_client: Union["BlobStorageClient", "Gen2StorageClient"],
+ source: Union[str, os.PathLike],
+ dest: str,
+ msg: str,
+ show_progress: bool,
+ ignore_file: IgnoreFile,
+) -> None:
+ """Upload directory to remote storage.
+
+ :param storage_client: Storage client object
+ :type storage_client: Union[
+ azure.ai.ml._artifacts._blob_storage_helper.BlobStorageClient,
+ azure.ai.ml._artifacts._gen2_storage_helper.Gen2StorageClient]
+ :param source: Local path to project directory
+ :type source: Union[str, os.PathLike]
+ :param dest: Remote upload path for project directory (e.g. LocalUpload/<guid>/project_dir)
+ :type dest: str
+ :param msg: Message to be shown with progress bar (e.g. "Uploading <source>")
+ :type msg: str
+ :param show_progress: Whether to show progress bar or not
+ :type show_progress: bool
+ :param ignore_file: The .amlignore or .gitignore file in the project directory
+ :type ignore_file: azure.ai.ml._utils._asset_utils.IgnoreFile
+ :return: None
+ """
+ source_path = Path(source).resolve()
+ prefix = "" if dest == "" else dest + "/"
+ prefix += os.path.basename(source_path) + "/"
+
+ if (
+ type(storage_client).__name__ == GEN2_STORAGE_CLIENT_NAME
+ ): # Only for Gen2StorageClient, Blob Storage doesn't have true directories
+ storage_client.sub_directory_client = storage_client.directory_client.create_sub_directory(
+ prefix.strip("/").split("/")[-1]
+ )
+
+ # Enumerate all files in the given directory and compose paths for them to be uploaded to in the remote storage
+ upload_paths = get_upload_files_from_folder(
+ source_path,
+ prefix=prefix,
+ ignore_file=ignore_file,
+ )
+ size_dict = {}
+ total_size = 0
+
+ # Get each file's size for progress bar tracking
+ for path, _ in upload_paths:
+ # TODO: symbol links are already resolved
+ if os.path.islink(path):
+ path_size = os.path.getsize(
+ os.readlink(convert_windows_path_to_unix(path))
+ ) # ensure we're counting the size of the linked file
+ else:
+ path_size = os.path.getsize(path)
+ size_dict[path] = path_size
+ total_size += path_size
+
+ upload_paths = sorted(upload_paths)
+ if len(upload_paths) == 0:
+ raise EmptyDirectoryError(
+ message=EMPTY_DIRECTORY_ERROR.format(source),
+ no_personal_data_message=msg.format("[source]"),
+ target=ErrorTarget.ARTIFACT,
+ error_category=ErrorCategory.USER_ERROR,
+ )
+ storage_client.total_file_count = len(upload_paths)
+
+ if (
+ type(storage_client).__name__ == BLOB_STORAGE_CLIENT_NAME
+ ): # Only for Gen2StorageClient, Blob Storage doesn't have true directories
+ # Only for BlobStorageClient
+ # Azure Blob doesn't allow metadata setting at the directory level, so the first
+ # file in the directory is designated as the file where the confirmation metadata
+ # will be added at the end of the upload.
+ storage_client.indicator_file = upload_paths[0][1]
+ storage_client.check_blob_exists()
+
+ # Submit paths to workers for upload
+ num_cores = int(cpu_count()) * PROCESSES_PER_CORE
+ with ThreadPoolExecutor(max_workers=num_cores) as ex:
+ futures_dict = {
+ ex.submit(
+ upload_file,
+ storage_client=storage_client,
+ source=src,
+ dest=dest,
+ size=size_dict.get(src),
+ in_directory=True,
+ show_progress=show_progress,
+ ): (src, dest)
+ for (src, dest) in upload_paths
+ }
+ if show_progress:
+ warnings.simplefilter("ignore", category=TqdmWarning)
+ msg += f" ({round(total_size/10**6, 2)} MBs)"
+ is_windows = system() == "Windows" # Default unicode progress bar doesn't display well on Windows
+ with tqdm(total=total_size, desc=msg, ascii=is_windows) as pbar:
+ for future in as_completed(futures_dict):
+ future.result() # access result to propagate any exceptions
+ file_path_name = futures_dict[future][0]
+ pbar.update(size_dict.get(file_path_name) or 0)
+
+
+@retry(
+ exceptions=ResourceExistsError,
+ failure_msg="Asset creation exceeded maximum retries.",
+ logger=module_logger,
+ max_attempts=MAX_AUTOINCREMENT_ATTEMPTS,
+)
+def _create_or_update_autoincrement(
+ name: str,
+ body: Any,
+ version_operation: Any,
+ container_operation: Any,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs,
+) -> Any:
+ try:
+ container = container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ **kwargs,
+ )
+ version = container.properties.next_version
+
+ except ResourceNotFoundError:
+ version = "1"
+
+ result = version_operation.create_or_update(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ body=body,
+ **kwargs,
+ )
+ return result
+
+
+def _get_next_version_from_container(
+ name: str,
+ container_operation: Any,
+ resource_group_name: str,
+ workspace_name: str,
+ registry_name: str = None,
+ **kwargs,
+) -> str:
+ try:
+ container = (
+ container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ **kwargs,
+ )
+ if registry_name
+ else container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ **kwargs,
+ )
+ )
+ version = container.properties.next_version
+
+ except ResourceNotFoundError:
+ version = "1"
+ return version
+
+
+def _get_next_latest_versions_from_container(
+ name: str,
+ container_operation: Any,
+ resource_group_name: str,
+ workspace_name: str,
+ registry_name: str = None,
+ **kwargs,
+) -> str:
+ try:
+ container = (
+ container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ **kwargs,
+ )
+ if registry_name
+ else container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ **kwargs,
+ )
+ )
+ next_version = container.properties.next_version
+ latest_version = container.properties.latest_version
+
+ except ResourceNotFoundError:
+ next_version = "1"
+ latest_version = "1"
+ return next_version, latest_version
+
+
+def _get_latest_version_from_container(
+ asset_name: str,
+ container_operation: Any,
+ resource_group_name: str,
+ workspace_name: Optional[str] = None,
+ registry_name: Optional[str] = None,
+ **kwargs,
+) -> str:
+ try:
+ container = (
+ container_operation.get(
+ name=asset_name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ **kwargs,
+ )
+ if registry_name
+ else container_operation.get(
+ name=asset_name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ **kwargs,
+ )
+ )
+ version = container.properties.latest_version
+
+ except ResourceNotFoundError as e:
+ message = (
+ f"Asset {asset_name} does not exist in registry {registry_name}."
+ if registry_name
+ else f"Asset {asset_name} does not exist in workspace {workspace_name}."
+ )
+ no_personal_data_message = (
+ "Asset {asset_name} does not exist in registry {registry_name}."
+ if registry_name
+ else "Asset {asset_name} does not exist in workspace {workspace_name}."
+ )
+ raise ValidationException(
+ message=message,
+ no_personal_data_message=no_personal_data_message,
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.RESOURCE_NOT_FOUND,
+ ) from e
+ return version
+
+
+def _get_latest(
+ asset_name: str,
+ version_operation: Any,
+ resource_group_name: str,
+ workspace_name: Optional[str] = None,
+ registry_name: Optional[str] = None,
+ order_by: Literal[OrderString.CREATED_AT, OrderString.CREATED_AT_DESC] = OrderString.CREATED_AT_DESC,
+ **kwargs,
+) -> Union[ModelVersionData, DataVersionBaseData]:
+ """Retrieve the latest version of the asset with the given name.
+
+ Latest is defined as the most recently created, not the most recently updated.
+
+ :param asset_name: The asset name
+ :type asset_name: str
+ :param version_operation: Any
+ :type version_operation: Any
+ :param resource_group_name: The resource group name
+ :type resource_group_name: str
+ :param workspace_name: The workspace name
+ :type workspace_name: Optional[str]
+ :param registry_name: The registry name
+ :type registry_name: Optional[str]
+ :param order_by: Specifies how to order the results. Defaults to :attr:`OrderString.CREATED_AT_DESC`
+ :type order_by: Literal[OrderString.CREATED_AT, OrderString.CREATED_AT_DESC]
+ :return: The latest version of the requested asset
+ :rtype: Union[ModelVersionData, DataVersionBaseData]
+ """
+ result = (
+ version_operation.list(
+ name=asset_name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ order_by=order_by,
+ top=1,
+ **kwargs,
+ )
+ if registry_name
+ else version_operation.list(
+ name=asset_name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ order_by=order_by,
+ top=1,
+ **kwargs,
+ )
+ )
+ try:
+ latest = result.next()
+ except StopIteration:
+ latest = None
+
+ if latest and isinstance(latest, ModelVersionResourceArmPaginatedResult):
+ # Data list return object doesn't require this since its elements are already DatasetVersionResources
+ latest = cast(ModelVersionData, latest)
+ if not latest:
+ message = (
+ f"Asset {asset_name} does not exist in registry {registry_name}."
+ if registry_name
+ else f"Asset {asset_name} does not exist in workspace {workspace_name}."
+ )
+ no_personal_data_message = (
+ "Asset {asset_name} does not exist in registry {registry_name}."
+ if registry_name
+ else "Asset {asset_name} does not exist in workspace {workspace_name}."
+ )
+ raise ValidationException(
+ message=message,
+ no_personal_data_message=no_personal_data_message,
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.RESOURCE_NOT_FOUND,
+ )
+ return latest
+
+
+def _archive_or_restore(
+ asset_operations: Union[
+ "DataOperations",
+ "EnvironmentOperations",
+ "ModelOperations",
+ "ComponentOperations",
+ ],
+ version_operation: Union[
+ "DataVersionsOperations",
+ "EnvironmentVersionsOperations",
+ "ModelVersionsOperations",
+ "ComponentVersionsOperations",
+ ],
+ container_operation: Union[
+ "DataContainersOperations",
+ "EnvironmentContainersOperations",
+ "ModelContainersOperations",
+ "ComponentContainersOperations",
+ ],
+ is_archived: bool,
+ name: str,
+ version: Optional[str] = None,
+ label: Optional[str] = None,
+) -> None:
+ resource_group_name = asset_operations._operation_scope._resource_group_name
+ workspace_name = asset_operations._workspace_name
+ registry_name = asset_operations._registry_name
+ if version and label:
+ msg = "Cannot specify both version and label."
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message=msg,
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.RESOURCE_NOT_FOUND,
+ )
+ if label:
+ version = _resolve_label_to_asset(asset_operations, name, label).version
+
+ if version:
+ version_resource = (
+ version_operation.get(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ )
+ if registry_name
+ else version_operation.get(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ )
+ )
+ version_resource.properties.is_archived = is_archived
+ version_resource.properties.stage = None
+ ( # pylint: disable=expression-not-assigned
+ version_operation.begin_create_or_update(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=version_resource,
+ )
+ if registry_name
+ else version_operation.create_or_update(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ body=version_resource,
+ )
+ )
+ else:
+ container_resource = (
+ container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ )
+ if registry_name
+ else container_operation.get(
+ name=name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ )
+ )
+ container_resource.properties.is_archived = is_archived
+ ( # pylint: disable=expression-not-assigned
+ container_operation.create_or_update(
+ name=name,
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=container_resource,
+ )
+ if registry_name
+ else container_operation.create_or_update(
+ name=name,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ body=container_resource,
+ )
+ )
+
+
+def _resolve_label_to_asset(
+ assetOperations: Union[
+ "DataOperations",
+ "ComponentOperations",
+ "EnvironmentOperations",
+ "ModelOperations",
+ "IndexOperations",
+ ],
+ name: str,
+ label: str,
+) -> Asset:
+ """Returns the asset referred to by the given label.
+
+ Throws if label does not refer to a version of the named asset
+
+ :param assetOperations: The operations class used to retrieve the asset
+ :type assetOperations:
+ Union["DataOperations", "ComponentOperations", "EnvironmentOperations", "ModelOperations", "IndexOperations"]
+ :param name: The name of the asset
+ :type name: str
+ :param label: The label to resolve
+ :type label: str
+ :return: The requested asset
+ :rtype: Asset
+ """
+
+ resolver = assetOperations._managed_label_resolver.get(label, None)
+ if not resolver:
+ scope = "registry" if assetOperations._registry_name else "workspace"
+ msg = "Asset {} with version label {} does not exist in {}."
+ raise ValidationException(
+ message=msg.format(name, label, scope),
+ no_personal_data_message=msg.format("[name]", "[label]", "[scope]"),
+ target=ErrorTarget.ASSET,
+ error_type=ValidationErrorType.RESOURCE_NOT_FOUND,
+ )
+ return resolver(name)
+
+
+def _check_or_modify_auto_delete_setting(
+ autoDeleteSetting: Union[Dict, "AutoDeleteSetting"],
+):
+ if autoDeleteSetting is not None:
+ if hasattr(autoDeleteSetting, "condition"):
+ condition = getattr(autoDeleteSetting, "condition")
+ condition = snake_to_camel(condition)
+ setattr(autoDeleteSetting, "condition", condition)
+ elif "condition" in autoDeleteSetting:
+ autoDeleteSetting["condition"] = snake_to_camel(autoDeleteSetting["condition"])
+
+
+def _validate_workspace_managed_datastore(path: Optional[Union[str, PathLike]]) -> Optional[Union[str, PathLike]]:
+ # block cumtomer specified path on managed datastore
+ if path.startswith(WORKSPACE_MANAGED_DATASTORE_WITH_SLASH) or path == WORKSPACE_MANAGED_DATASTORE:
+ path = path.rstrip("/")
+
+ if path != WORKSPACE_MANAGED_DATASTORE:
+ raise AssetPathException(
+ message=INVALID_MANAGED_DATASTORE_PATH_ERROR_NO_PERSONAL_DATA,
+ tartget=ErrorTarget.DATA,
+ no_personal_data_message=INVALID_MANAGED_DATASTORE_PATH_ERROR_NO_PERSONAL_DATA,
+ error_category=ErrorCategory.USER_ERROR,
+ )
+
+ return path + "/paths"
+ return path
+
+
+def _validate_auto_delete_setting_in_data_output(
+ auto_delete_setting: Optional[Union[Dict, "AutoDeleteSetting"]]
+) -> None:
+ # avoid specifying auto_delete_setting in job output now
+ if auto_delete_setting:
+ raise ValidationException(
+ message=AUTO_DELETE_SETTING_NOT_ALLOWED_ERROR_NO_PERSONAL_DATA,
+ tartget=ErrorTarget.DATA,
+ no_personal_data_message=AUTO_DELETE_SETTING_NOT_ALLOWED_ERROR_NO_PERSONAL_DATA,
+ error_category=ErrorCategory.USER_ERROR,
+ )
+
+
+class FileUploadProgressBar(tqdm):
+ def __init__(self, msg: Optional[str] = None):
+ warnings.simplefilter("ignore", category=TqdmWarning)
+ is_windows = system() == "Windows" # Default unicode progress bar doesn't display well on Windows
+ super().__init__(unit="B", unit_scale=True, desc=msg, ascii=is_windows)
+
+ def update_to(self, response):
+ current = response.context["upload_stream_current"]
+ self.total = response.context["data_stream_total"]
+ if current:
+ self.update(current - self.n)
+
+
+class DirectoryUploadProgressBar(tqdm):
+ def __init__(self, dir_size: int, msg: Optional[str] = None):
+ super().__init__(unit="B", unit_scale=True, desc=msg, colour="green")
+ self.total = dir_size
+ self.completed = 0
+
+ def update_to(self, response):
+ current = None
+ if response.context["upload_stream_current"]:
+ current = response.context["upload_stream_current"] + self.completed
+ self.completed = current
+ if current:
+ self.update(current - self.n)
+
+
+def get_storage_info_for_non_registry_asset(
+ service_client, workspace_name: str, name: str, version: str, resource_group: str
+) -> Dict[str, str]:
+ """Get SAS uri and blob uri for non-registry asset. Note that this function won't return the same
+ SAS uri and blob uri for the same asset. It will return a new SAS uri and blob uri every time it is called.
+ :param service_client: Service client
+ :type service_client: AzureMachineLearningWorkspaces
+ :param workspace_name: The workspace name
+ :type workspace_name: str
+ :param name: Asset name
+ :type name: str
+ :param version: Asset version
+ :type version: str
+ :param resource_group: Resource group
+ :type resource_group: str
+ :return: The sas_uri and blob_uri
+ :rtype: Dict[str, str]
+ """
+ request_body = PendingUploadRequestDto(pending_upload_type="TemporaryBlobReference")
+ response = service_client.code_versions.create_or_get_start_pending_upload(
+ resource_group_name=resource_group,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=request_body,
+ )
+
+ sas_info = {
+ "sas_uri": response.blob_reference_for_consumption.credential.sas_uri,
+ "blob_uri": response.blob_reference_for_consumption.blob_uri,
+ }
+
+ return sas_info
+
+
+def _get_existing_asset_name_and_version(existing_asset):
+ import re
+
+ regex = r"/codes/([^/]+)/versions/([^/]+)"
+
+ arm_id = existing_asset.id
+ match = re.search(regex, arm_id)
+ name = match.group(1)
+ version = match.group(2)
+
+ return name, version
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_azureml_polling.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_azureml_polling.py
new file mode 100644
index 00000000..fc148426
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_azureml_polling.py
@@ -0,0 +1,48 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+
+import logging
+from concurrent.futures import Future
+from time import time
+from typing import Optional, Union
+
+from azure.ai.ml.constants._common import LROConfigurations
+from azure.core.polling import LROPoller
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+module_logger = logging.getLogger(__name__)
+
+
+class AzureMLPolling(ARMPolling):
+ """A polling class for azure machine learning."""
+
+ def update_status(self):
+ """Update the current status of the LRO."""
+ super().update_status()
+ print(".", end="", flush=True)
+
+
+def polling_wait(
+ poller: Union[LROPoller, Future],
+ message: Optional[str] = None,
+ start_time: Optional[float] = None,
+) -> None:
+ """Print out status while polling and time of operation once completed.
+
+ :param poller: An poller which will return status update via function done().
+ :type poller: Union[LROPoller, concurrent.futures.Future]
+ :param message: Message to print out before starting operation write-out.
+ :type message: Optional[str]
+ :param start_time: Start time of operation.
+ :type start_time: Optional[float]
+ """
+ module_logger.info("%s", message)
+ poller.result(timeout=LROConfigurations.POLLING_TIMEOUT)
+ module_logger.info("Done.")
+
+ if start_time:
+ end_time = time()
+ duration = divmod(int(round(end_time - start_time)), 60)
+ module_logger.info("(%sm %ss)\n", duration[0], duration[1])
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_cache_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_cache_utils.py
new file mode 100644
index 00000000..a9947933
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_cache_utils.py
@@ -0,0 +1,437 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+import hashlib
+import logging
+import os.path
+import threading
+import time
+from collections import defaultdict
+from concurrent.futures import ThreadPoolExecutor
+from dataclasses import dataclass
+from pathlib import Path
+from typing import Callable, Dict, List, Optional, Tuple, Union
+
+from azure.ai.ml._utils._asset_utils import get_object_hash
+from azure.ai.ml._utils.utils import (
+ get_versioned_base_directory_for_cache,
+ is_concurrent_component_registration_enabled,
+ is_on_disk_cache_enabled,
+ is_private_preview_enabled,
+ write_to_shared_file,
+)
+from azure.ai.ml.constants._common import (
+ AZUREML_COMPONENT_REGISTRATION_MAX_WORKERS,
+ AzureMLResourceType,
+ DefaultOpenEncoding,
+)
+from azure.ai.ml.entities import Component
+from azure.ai.ml.entities._builders import BaseNode
+from azure.ai.ml.entities._component.code import ComponentCodeMixin
+from azure.ai.ml.operations._operation_orchestrator import _AssetResolver
+
+logger = logging.getLogger(__name__)
+
+_ANONYMOUS_HASH_PREFIX = "anonymous-component-"
+_YAML_SOURCE_PREFIX = "yaml-source-"
+_CODE_INVOLVED_PREFIX = "code-involved-"
+EXPIRE_TIME_IN_SECONDS = 60 * 60 * 24 * 7 # 7 days
+
+_node_resolution_lock = defaultdict(threading.Lock)
+
+
+@dataclass
+class _CacheContent:
+ component_ref: Component
+ # in-memory hash assume that the code folders are not changed during the run and
+ # use the hash of code path instead of code content to simplify the calculation
+ in_memory_hash: str
+ # on-disk hash will be calculated base on code content if applicable,
+ # so it will work even if the code folders are changed among runs
+ on_disk_hash: Optional[str] = None
+ arm_id: Optional[str] = None
+
+ def update_on_disk_hash(self):
+ self.on_disk_hash = CachedNodeResolver.calc_on_disk_hash_for_component(self.component_ref, self.in_memory_hash)
+
+
+class CachedNodeResolver(object):
+ """Class to resolve component in nodes with cached component resolution results.
+
+ This class is thread-safe if:
+ 1) self._resolve_nodes is not called concurrently. We guarantee this with a lock in self.resolve_nodes.
+ a) self._resolve_nodes won't be called recursively as all nodes will be skipped on
+ calling self.register_node_for_lazy_resolution.
+ b) it can't be called concurrently as node resolution involves filling back and will change the
+ state of nodes, e.g., hash of its inner component.
+ 2) self._resolve_component is only called concurrently on independent components
+ a) we have used an in-memory component hash to deduplicate components to resolve first;
+ b) dependent components have been resolved before registered as nodes are registered & resolved
+ layer by layer;
+ c) dependent code will never be an instance, so it won't cause cache hit issue described in d;
+ d) resolution of potential shared dependencies (1 instance used in 2 components) other than components
+ are thread-safe as they do not involve further dependency resolution. However, it's still a good practice to
+ resolve them before calling self.register_node_for_lazy_resolution as it will impact cache hit rate.
+ For example, if:
+ node1.component, node2.component = Component(environment=env1, ...), Component(environment=env1, ...)
+ root
+ | \
+ subgraph node2
+ |
+ node1
+ when registering node1, its component will be:
+ {
+ "name": "component1",
+ "environment": {
+ ...
+ }
+ ...
+ }
+ Its in-memory hash will be `hash_a` on registration.
+ Then when registering node2, the component will be:
+ {
+ "name": "component1",
+ "environment": "/subscriptions/.../environments/...",
+ ...
+ }
+ Its in-memory hash will be `hash_b`, which will be a cache miss.
+ """
+
+ def __init__(
+ self,
+ resolver: Callable[[Union[Component, str]], str],
+ client_key: str,
+ ):
+ self._resolver = resolver
+ self._cache: Dict[str, _CacheContent] = {}
+ self._nodes_to_resolve: List[BaseNode] = []
+
+ hash_obj = hashlib.sha256()
+ hash_obj.update(client_key.encode("utf-8"))
+ self._client_hash = hash_obj.hexdigest()
+ # the same client share 1 lock
+ self._lock = _node_resolution_lock[self._client_hash]
+
+ @staticmethod
+ def _get_component_registration_max_workers() -> int:
+ """Get the max workers for component registration.
+
+ Before Python 3.8, the default max_worker is the number of processors multiplied by 5.
+ It may send a large number of the uploading snapshot requests that will occur remote refuses requests.
+ In order to avoid retrying the upload requests, max_worker will use the default value in Python 3.8,
+ min(32, os.cpu_count + 4).
+
+ 1 risk is that, asset_utils will create a new thread pool to upload files in subprocesses, which may cause
+ the number of threads exceed the max_worker.
+
+ :return: The number of workers to use for component registration
+ :rtype: int
+ """
+ default_max_workers = min(32, (os.cpu_count() or 1) + 4)
+ try:
+ max_workers = int(os.environ.get(AZUREML_COMPONENT_REGISTRATION_MAX_WORKERS, default_max_workers))
+ except ValueError:
+ logger.info(
+ "Environment variable %s with value %s set but failed to parse. "
+ "Use the default max_worker %s as registration thread pool max_worker."
+ "Please reset the value to an integer.",
+ AZUREML_COMPONENT_REGISTRATION_MAX_WORKERS,
+ os.environ.get(AZUREML_COMPONENT_REGISTRATION_MAX_WORKERS),
+ default_max_workers,
+ )
+ max_workers = default_max_workers
+ return max_workers
+
+ @staticmethod
+ def _get_in_memory_hash_for_component(component: Component) -> str:
+ """Get a hash for a component.
+
+ This function assumes that there is no change in code folder among hash calculations, which is true during
+ resolution of 1 root pipeline component/job.
+
+ :param component: The component
+ :type component: Component
+ :return: The hash of the component
+ :rtype: str
+ """
+ if not isinstance(component, Component):
+ # this shouldn't happen; handle it in case invalid call is made outside this class
+ raise ValueError(f"Component {component} is not a Component object.")
+
+ # For components with code, its code will be an absolute path before uploaded to blob,
+ # so we can use a mixture of its anonymous hash and its source path as its hash, in case
+ # there are 2 components with same code but different ignore files
+ # Here we can check if the component has a source path instead of check if it has code, as
+ # there is no harm to add a source path to the hash even if the component doesn't have code
+ # Note that here we assume that the content of code folder won't change during the submission
+ if component._source_path: # pylint: disable=protected-access
+ object_hash = hashlib.sha256()
+ object_hash.update(component._get_anonymous_hash().encode("utf-8")) # pylint: disable=protected-access
+ object_hash.update(component._source_path.encode("utf-8")) # pylint: disable=protected-access
+ return _YAML_SOURCE_PREFIX + object_hash.hexdigest()
+ # For components without code, like pipeline component, their dependencies have already
+ # been resolved before calling this function, so we can use their anonymous hash directly
+ return _ANONYMOUS_HASH_PREFIX + component._get_anonymous_hash() # pylint: disable=protected-access
+
+ @staticmethod
+ def calc_on_disk_hash_for_component(component: Component, in_memory_hash: str) -> str:
+ """Get a hash for a component.
+
+ This function will calculate the hash based on the component's code folder if the component has code, so it's
+ unique even if code folder is changed.
+
+ :param component: The component to hash
+ :type component: Component
+ :param in_memory_hash: :attr:`_CacheNodeResolver.in_memory_hash`
+ :type in_memory_hash: str
+ :return: The hash of the component
+ :rtype: str
+ """
+ if not isinstance(component, Component):
+ # this shouldn't happen; handle it in case invalid call is made outside this class
+ raise ValueError(f"Component {component} is not a Component object.")
+
+ # TODO: calculate hash without resolving additional includes (copy code to temp folder)
+ # note that it's still thread-safe with current implementation, as only read operations are
+ # done on the original code folder
+ if not (
+ isinstance(component, ComponentCodeMixin)
+ and component._with_local_code() # pylint: disable=protected-access
+ ):
+ return in_memory_hash
+
+ with component._build_code() as code: # pylint: disable=protected-access
+ if hasattr(code, "_upload_hash"):
+ content_hash = code._upload_hash # pylint: disable=protected-access
+ else:
+ code_path = code.path if os.path.isabs(code.path) else os.path.join(code.base_path, code.path)
+ if os.path.exists(code_path):
+ content_hash = get_object_hash(code_path)
+ else:
+ # this will be gated by schema validation, so it shouldn't happen except for mock tests
+ return in_memory_hash
+
+ object_hash = hashlib.sha256()
+ object_hash.update(in_memory_hash.encode("utf-8"))
+
+ object_hash.update(content_hash.encode("utf-8"))
+ return _CODE_INVOLVED_PREFIX + object_hash.hexdigest()
+
+ @property
+ def _on_disk_cache_dir(self) -> Path:
+ """Get the base path for on disk cache.
+
+ :return: The base path for the on disk cache
+ :rtype: Path
+ """
+ return get_versioned_base_directory_for_cache().joinpath(
+ "components",
+ self._client_hash,
+ )
+
+ def _get_on_disk_cache_path(self, on_disk_hash: str) -> Path:
+ """Get the on disk cache path for a component.
+
+ :param on_disk_hash: The hash of the component
+ :type on_disk_hash: str
+ :return: The path to the disk cache
+ :rtype: Path
+ """
+ return self._on_disk_cache_dir.joinpath(on_disk_hash)
+
+ def _load_from_on_disk_cache(self, on_disk_hash: str) -> Optional[str]:
+ """Load component arm id from on disk cache.
+
+ :param on_disk_hash: The hash of the component
+ :type on_disk_hash: str
+ :return: The cached component arm id if reading was successful, None otherwise
+ :rtype: Optional[str]
+ """
+ # on-disk cache will expire in a new SDK version
+ on_disk_cache_path = self._get_on_disk_cache_path(on_disk_hash)
+ if on_disk_cache_path.is_file() and time.time() - on_disk_cache_path.stat().st_ctime < EXPIRE_TIME_IN_SECONDS:
+ try:
+ return on_disk_cache_path.read_text(encoding=DefaultOpenEncoding.READ).strip()
+ except (OSError, PermissionError) as e:
+ logger.warning(
+ "Failed to read on-disk cache for component due to %s. "
+ "Please check if the file %s is in use or current user doesn't have the permission.",
+ type(e).__name__,
+ on_disk_cache_path.as_posix(),
+ )
+ return None
+
+ def _save_to_on_disk_cache(self, on_disk_hash: str, arm_id: str) -> None:
+ """Save component arm id to on disk cache.
+
+ :param on_disk_hash: The on disk hash of the component
+ :type on_disk_hash: str
+ :param arm_id: The component ARM ID
+ :type arm_id: str
+ """
+ # this shouldn't happen in real case, but in case of current mock tests and potential future changes
+ if not isinstance(arm_id, str):
+ return
+ on_disk_cache_path = self._get_on_disk_cache_path(on_disk_hash)
+ on_disk_cache_path.parent.mkdir(parents=True, exist_ok=True)
+ try:
+ write_to_shared_file(on_disk_cache_path, arm_id)
+ except PermissionError:
+ logger.warning(
+ "Failed to save on-disk cache for component due to permission error. "
+ "Please check if the file %s is in use or current user doesn't have the permission.",
+ on_disk_cache_path.as_posix(),
+ )
+
+ def _resolve_cache_contents(self, cache_contents_to_resolve: List[_CacheContent], resolver: _AssetResolver):
+ """Resolve all components to resolve and save the results in cache.
+
+ :param cache_contents_to_resolve: The cache contents to resolve
+ :type cache_contents_to_resolve: List[_CacheContent]
+ :param resolver: The resolver function
+ :type resolver: _AssetResolver
+ """
+
+ def _map_func(_cache_content: _CacheContent):
+ _cache_content.arm_id = resolver(_cache_content.component_ref, azureml_type=AzureMLResourceType.COMPONENT)
+ if is_on_disk_cache_enabled() and is_private_preview_enabled():
+ self._save_to_on_disk_cache(_cache_content.on_disk_hash, _cache_content.arm_id)
+
+ if (
+ len(cache_contents_to_resolve) > 1
+ and is_concurrent_component_registration_enabled()
+ and is_private_preview_enabled()
+ ):
+ # given deduplication has already been done, we can safely assume that there is no
+ # conflict in concurrent local cache access
+ with ThreadPoolExecutor(max_workers=self._get_component_registration_max_workers()) as executor:
+ list(executor.map(_map_func, cache_contents_to_resolve))
+ else:
+ list(map(_map_func, cache_contents_to_resolve))
+
+ def _prepare_items_to_resolve(self) -> Tuple[Dict[str, List[BaseNode]], List[_CacheContent]]:
+ """Pop all nodes in self._nodes_to_resolve to prepare cache contents to resolve and nodes to resolve. Nodes in
+ self._nodes_to_resolve will be grouped by component hash and saved to a dict of list. Distinct dependent
+ components not in current cache will be saved to a list.
+
+ :return: a tuple of (dict of nodes to resolve, list of cache contents to resolve)
+ :rtype: Tuple[Dict[str, List[BaseNode]], List[_CacheContent]]
+ """
+ _components = list(map(lambda x: x._component, self._nodes_to_resolve)) # pylint: disable=protected-access
+ # we can do concurrent component in-memory hash calculation here
+ in_memory_component_hashes = map(self._get_in_memory_hash_for_component, _components)
+
+ dict_of_nodes_to_resolve = defaultdict(list)
+ cache_contents_to_resolve: List[_CacheContent] = []
+ for node, component_hash in zip(self._nodes_to_resolve, in_memory_component_hashes):
+ dict_of_nodes_to_resolve[component_hash].append(node)
+ if component_hash not in self._cache:
+ cache_content = _CacheContent(
+ component_ref=node._component, # pylint: disable=protected-access
+ in_memory_hash=component_hash,
+ )
+ self._cache[component_hash] = cache_content
+ cache_contents_to_resolve.append(cache_content)
+ self._nodes_to_resolve.clear()
+ return dict_of_nodes_to_resolve, cache_contents_to_resolve
+
+ def _resolve_cache_contents_from_disk(self, cache_contents_to_resolve: List[_CacheContent]) -> List[_CacheContent]:
+ """Check on-disk cache to resolve cache contents in cache_contents_to_resolve and return unresolved cache
+ contents.
+
+ :param cache_contents_to_resolve: The cache contents to resolve
+ :type cache_contents_to_resolve: List[_CacheContent]
+ :return: Unresolved cache contents
+ :rtype: List[_CacheContent]
+ """
+ # Note that we should recalculate the hash based on code for local cache, as
+ # we can't assume that the code folder won't change among dependency
+ # On-disk hash calculation can be slow as it involved data copying and artifact downloading.
+ # It is thread-safe given:
+ # 1. artifact downloading is thread-safe as we have a lock in ArtifactCache
+ # 2. data copying is thread-safe as there is only read operation on source folder
+ # and target folder is unique for each thread
+ if (
+ len(cache_contents_to_resolve) > 1
+ and is_concurrent_component_registration_enabled()
+ and is_private_preview_enabled()
+ ):
+ with ThreadPoolExecutor(max_workers=self._get_component_registration_max_workers()) as executor:
+ executor.map(_CacheContent.update_on_disk_hash, cache_contents_to_resolve)
+ else:
+ list(map(_CacheContent.update_on_disk_hash, cache_contents_to_resolve))
+
+ left_cache_contents_to_resolve = []
+ # need to deduplicate disk hash first if concurrent resolution is enabled
+ for cache_content in cache_contents_to_resolve:
+ cache_content.arm_id = self._load_from_on_disk_cache(cache_content.on_disk_hash)
+ if not cache_content.arm_id:
+ left_cache_contents_to_resolve.append(cache_content)
+
+ return left_cache_contents_to_resolve
+
+ def _fill_back_component_to_nodes(self, dict_of_nodes_to_resolve: Dict[str, List[BaseNode]]):
+ """Fill back resolved component to nodes.
+
+ :param dict_of_nodes_to_resolve: The nodes to resolve
+ :type dict_of_nodes_to_resolve: Dict[str, List[BaseNode]]
+ """
+ for component_hash, nodes in dict_of_nodes_to_resolve.items():
+ cache_content = self._cache[component_hash]
+ for node in nodes:
+ node._component = cache_content.arm_id # pylint: disable=protected-access
+
+ def _resolve_nodes(self):
+ """Processing logic of self.resolve_nodes.
+
+ Should not be called in subgraph creation.
+ """
+ dict_of_nodes_to_resolve, cache_contents_to_resolve = self._prepare_items_to_resolve()
+
+ if is_on_disk_cache_enabled() and is_private_preview_enabled():
+ cache_contents_to_resolve = self._resolve_cache_contents_from_disk(cache_contents_to_resolve)
+
+ self._resolve_cache_contents(cache_contents_to_resolve, resolver=self._resolver)
+
+ self._fill_back_component_to_nodes(dict_of_nodes_to_resolve)
+
+ def register_node_for_lazy_resolution(self, node: BaseNode):
+ """Register a node with its component to resolve.
+
+ :param node: The node
+ :type node: BaseNode
+ """
+ component = node._component # pylint: disable=protected-access
+
+ # directly resolve node and skip registration if the resolution involves no remote call
+ # so that all node will be skipped when resolving a subgraph recursively
+ if isinstance(component, str):
+ node._component = self._resolver( # pylint: disable=protected-access
+ component, azureml_type=AzureMLResourceType.COMPONENT
+ )
+ return
+ if component.id is not None:
+ node._component = component.id # pylint: disable=protected-access
+ return
+
+ self._nodes_to_resolve.append(node)
+
+ def resolve_nodes(self):
+ """Resolve all dependent components with resolver and set resolved component arm id back to newly registered
+ nodes.
+
+ Registered nodes will be cleared after resolution.
+ """
+ if not self._nodes_to_resolve:
+ return
+
+ # Lock here as node resolution involves filling back and will change the
+ # state of nodes, e.g. hash of its inner component.
+ # This will happen only on concurrent external calls; In 1 external call, all nodes in
+ # subgraph will be skipped on register_node_for_lazy_resolution when resolving subgraph
+ self._lock.acquire()
+ try:
+ self._resolve_nodes()
+ finally:
+ # release lock even if exception happens
+ self._lock.release()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_data_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_data_utils.py
new file mode 100644
index 00000000..bde91d34
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_data_utils.py
@@ -0,0 +1,82 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import io
+import json
+import logging
+from pathlib import Path
+from tempfile import TemporaryDirectory
+from typing import Dict, Union
+from urllib.parse import urljoin, urlparse
+
+import yaml
+from jsonschema import Draft7Validator, ValidationError
+from jsonschema.exceptions import best_match
+
+from azure.ai.ml._artifacts._artifact_utilities import get_datastore_info, get_storage_client
+from azure.ai.ml._artifacts._constants import INVALID_MLTABLE_METADATA_SCHEMA_ERROR, INVALID_MLTABLE_METADATA_SCHEMA_MSG
+from azure.ai.ml.constants._common import DefaultOpenEncoding
+from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+from azure.ai.ml.operations._datastore_operations import DatastoreOperations
+
+from ._http_utils import HttpPipeline
+from ._storage_utils import AzureMLDatastorePathUri
+from .utils import load_yaml
+
+module_logger = logging.getLogger(__name__)
+
+
+def download_mltable_metadata_schema(mltable_schema_url: str, requests_pipeline: HttpPipeline):
+ response = requests_pipeline.get(mltable_schema_url)
+ return response.json()
+
+
+def read_local_mltable_metadata_contents(*, path: str) -> Dict:
+ metadata_path = str(Path(path, "MLTable"))
+ return load_yaml(metadata_path)
+
+
+def read_remote_mltable_metadata_contents(
+ *,
+ base_uri: str,
+ datastore_operations: DatastoreOperations,
+ requests_pipeline: HttpPipeline,
+) -> Union[Dict, None]:
+ scheme = urlparse(base_uri).scheme
+ if scheme == "https":
+ response = requests_pipeline.get(urljoin(base_uri, "MLTable"))
+ yaml_file = io.BytesIO(response.content)
+ return yaml.safe_load(yaml_file)
+ if scheme == "azureml":
+ datastore_path_uri = AzureMLDatastorePathUri(base_uri)
+ datastore_info = get_datastore_info(datastore_operations, datastore_path_uri.datastore)
+ storage_client = get_storage_client(**datastore_info)
+ with TemporaryDirectory() as tmp_dir:
+ starts_with = datastore_path_uri.path.rstrip("/")
+ storage_client.download(f"{starts_with}/MLTable", tmp_dir)
+ downloaded_mltable_path = Path(tmp_dir, "MLTable")
+ with open(downloaded_mltable_path, "r", encoding=DefaultOpenEncoding.READ) as f:
+ return yaml.safe_load(f)
+ return None
+
+
+def validate_mltable_metadata(*, mltable_metadata_dict: Dict, mltable_schema: Dict):
+ # use json-schema to validate dict
+ error: Union[ValidationError, None] = best_match(Draft7Validator(mltable_schema).iter_errors(mltable_metadata_dict))
+ if error:
+ err_path = ".".join(error.path)
+ err_path = f"{err_path}: " if err_path != "" else ""
+ msg = INVALID_MLTABLE_METADATA_SCHEMA_ERROR.format(
+ jsonSchemaErrorPath=err_path,
+ jsonSchemaMessage=error.message,
+ invalidMLTableMsg=INVALID_MLTABLE_METADATA_SCHEMA_MSG,
+ invalidSchemaSnippet=json.dumps(error.schema, indent=2),
+ )
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message=INVALID_MLTABLE_METADATA_SCHEMA_MSG,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ target=ErrorTarget.DATA,
+ error_category=ErrorCategory.USER_ERROR,
+ )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_endpoint_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_endpoint_utils.py
new file mode 100644
index 00000000..b8bab283
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_endpoint_utils.py
@@ -0,0 +1,229 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=protected-access
+
+import ast
+import concurrent.futures
+import logging
+import time
+from concurrent.futures import Future
+from pathlib import Path
+from typing import Any, Callable, Dict, Optional, Union
+
+from azure.ai.ml._restclient.v2020_09_01_dataplanepreview.models import DataVersion, UriFileJobOutput
+from azure.ai.ml._utils._arm_id_utils import is_ARM_id_for_resource, is_registry_id_for_resource
+from azure.ai.ml._utils._logger_utils import initialize_logger_info
+from azure.ai.ml.constants._common import ARM_ID_PREFIX, AzureMLResourceType, DefaultOpenEncoding, LROConfigurations
+from azure.ai.ml.entities import BatchDeployment
+from azure.ai.ml.entities._assets._artifacts.code import Code
+from azure.ai.ml.entities._deployment.deployment import Deployment
+from azure.ai.ml.entities._deployment.model_batch_deployment import ModelBatchDeployment
+from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, MlException, ValidationErrorType, ValidationException
+from azure.ai.ml.operations._operation_orchestrator import OperationOrchestrator
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ServiceRequestTimeoutError,
+ map_error,
+)
+from azure.core.polling import LROPoller
+from azure.core.rest import HttpResponse
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+module_logger = logging.getLogger(__name__)
+initialize_logger_info(module_logger, terminator="")
+
+
+def get_duration(start_time: float) -> None:
+ """Calculates the duration of the Long running operation took to finish.
+
+ :param start_time: Start time
+ :type start_time: float
+ """
+ end_time = time.time()
+ duration = divmod(int(round(end_time - start_time)), 60)
+ module_logger.warning("(%sm %ss)\n", duration[0], duration[1])
+
+
+def polling_wait(
+ poller: Union[LROPoller, Future],
+ message: Optional[str] = None,
+ start_time: Optional[float] = None,
+ is_local=False,
+ timeout=LROConfigurations.POLLING_TIMEOUT,
+) -> Any:
+ """Print out status while polling and time of operation once completed.
+
+ :param poller: An poller which will return status update via function done().
+ :type poller: Union[LROPoller, concurrent.futures.Future]
+ :param (str, optional) message: Message to print out before starting operation write-out.
+ :param (float, optional) start_time: Start time of operation.
+ :param (bool, optional) is_local: If poller is for a local endpoint, so the timeout is removed.
+ :param (int, optional) timeout: New value to overwrite the default timeout.
+ """
+ module_logger.warning("%s", message)
+ if is_local:
+ # We removed timeout on local endpoints in case it takes a long time
+ # to pull image or install conda env.
+
+ # We want user to be able to see that.
+
+ while not poller.done():
+ module_logger.warning(".")
+ time.sleep(LROConfigurations.SLEEP_TIME)
+ else:
+ poller.result(timeout=timeout)
+
+ if poller.done():
+ module_logger.warning("Done ")
+ else:
+ module_logger.warning("Timeout waiting for long running operation")
+
+ if start_time:
+ get_duration(start_time)
+
+
+def local_endpoint_polling_wrapper(func: Callable, message: str, **kwargs) -> Any:
+ """Wrapper for polling local endpoint operations.
+
+ :param func: Name of the endpoint.
+ :type func: Callable
+ :param message: Message to print out before starting operation write-out.
+ :type message: str
+ :return: The type returned by Func
+ """
+ pool = concurrent.futures.ThreadPoolExecutor()
+ start_time = time.time()
+ event = pool.submit(func, **kwargs)
+ polling_wait(poller=event, start_time=start_time, message=message, is_local=True)
+ return event.result()
+
+
+def validate_response(response: HttpResponse) -> None:
+ """Validates the response of POST requests, throws on error.
+
+ :param HttpResponse response: the response of a POST requests
+ :raises Exception: Raised when response is not json serializable
+ :raises HttpResponseError: Raised when the response signals that an error occurred
+ """
+ r_json = {}
+
+ if response.status_code not in [200, 201]:
+ # We need to check for an empty response body or catch the exception raised.
+ # It is possible the server responded with a 204 No Content response, and json parsing fails.
+ if response.status_code != 204:
+ try:
+ r_json = response.json()
+ except ValueError as e:
+ # exception is not in the json format
+ msg = response.content.decode("utf-8")
+ raise MlException(message=msg, no_personal_data_message=msg) from e
+ failure_msg = r_json.get("error", {}).get("message", response)
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 408: ServiceRequestTimeoutError,
+ 409: ResourceExistsError,
+ 424: HttpResponseError,
+ }
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, message=failure_msg, error_format=ARMErrorFormat)
+
+
+def upload_dependencies(deployment: Deployment, orchestrators: OperationOrchestrator) -> None:
+ """Upload code, dependency, model dependencies. For BatchDeployment only register compute.
+
+ :param Deployment deployment: Endpoint deployment object.
+ :param OperationOrchestrator orchestrators: Operation Orchestrator.
+ """
+
+ module_logger.debug("Uploading the dependencies for deployment %s", deployment.name)
+
+ # Create a code asset if code is not already an ARM ID
+ if (
+ deployment.code_configuration
+ and not is_ARM_id_for_resource(deployment.code_configuration.code, AzureMLResourceType.CODE)
+ and not is_registry_id_for_resource(deployment.code_configuration.code)
+ ):
+ if deployment.code_configuration.code.startswith(ARM_ID_PREFIX):
+ deployment.code_configuration.code = orchestrators.get_asset_arm_id(
+ deployment.code_configuration.code[len(ARM_ID_PREFIX) :],
+ azureml_type=AzureMLResourceType.CODE,
+ )
+ else:
+ deployment.code_configuration.code = orchestrators.get_asset_arm_id(
+ Code(base_path=deployment._base_path, path=deployment.code_configuration.code),
+ azureml_type=AzureMLResourceType.CODE,
+ )
+
+ if not is_registry_id_for_resource(deployment.environment):
+ deployment.environment = (
+ orchestrators.get_asset_arm_id(deployment.environment, azureml_type=AzureMLResourceType.ENVIRONMENT)
+ if deployment.environment
+ else None
+ )
+ if not is_registry_id_for_resource(deployment.model):
+ deployment.model = (
+ orchestrators.get_asset_arm_id(deployment.model, azureml_type=AzureMLResourceType.MODEL)
+ if deployment.model
+ else None
+ )
+ if isinstance(deployment, (BatchDeployment, ModelBatchDeployment)) and deployment.compute:
+ deployment.compute = orchestrators.get_asset_arm_id(
+ deployment.compute, azureml_type=AzureMLResourceType.COMPUTE
+ )
+
+
+def validate_scoring_script(deployment):
+ score_script_path = Path(deployment.base_path).joinpath(
+ deployment.code_configuration.code, deployment.scoring_script
+ )
+ try:
+ with open(score_script_path, "r", encoding=DefaultOpenEncoding.READ) as script:
+ contents = script.read()
+ try:
+ ast.parse(contents, score_script_path)
+ except SyntaxError as err:
+ err.filename = err.filename.split("/")[-1]
+ msg = (
+ f"Failed to submit deployment {deployment.name} due to syntax errors "
+ f"in scoring script {err.filename}.\nError on line {err.lineno}: "
+ f"{err.text}\nIf you wish to bypass this validation use --skip-script-validation paramater."
+ )
+
+ np_msg = (
+ "Failed to submit deployment due to syntax errors in deployment script."
+ "\n If you wish to bypass this validation use --skip-script-validation paramater."
+ )
+ raise ValidationException(
+ message=msg,
+ target=(
+ ErrorTarget.BATCH_DEPLOYMENT
+ if isinstance(deployment, BatchDeployment)
+ else ErrorTarget.ONLINE_DEPLOYMENT
+ ),
+ no_personal_data_message=np_msg,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.CANNOT_PARSE,
+ ) from err
+ except OSError as err:
+ raise MlException(
+ message=f"Failed to open scoring script {err.filename}.",
+ no_personal_data_message="Failed to open scoring script.",
+ ) from err
+
+
+def convert_v1_dataset_to_v2(output_data_set: DataVersion, file_name: str) -> Dict[str, Any]:
+ if file_name:
+ v2_dataset = UriFileJobOutput(
+ uri=f"azureml://datastores/{output_data_set.datastore_id}/paths/{output_data_set.path}/{file_name}"
+ ).serialize()
+ else:
+ v2_dataset = UriFileJobOutput(
+ uri=f"azureml://datastores/{output_data_set.datastore_id}/paths/{output_data_set.path}"
+ ).serialize()
+ return {"output_name": v2_dataset}
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_experimental.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_experimental.py
new file mode 100644
index 00000000..42b0bee6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_experimental.py
@@ -0,0 +1,156 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import functools
+import inspect
+import logging
+import sys
+from typing import Callable, Type, TypeVar, Union
+
+from typing_extensions import ParamSpec
+
+from azure.ai.ml.constants._common import (
+ DOCSTRING_DEFAULT_INDENTATION,
+ DOCSTRING_TEMPLATE,
+ EXPERIMENTAL_CLASS_MESSAGE,
+ EXPERIMENTAL_LINK_MESSAGE,
+ EXPERIMENTAL_METHOD_MESSAGE,
+)
+
+_warning_cache = set()
+module_logger = logging.getLogger(__name__)
+
+TExperimental = TypeVar("TExperimental", bound=Union[Type, Callable])
+P = ParamSpec("P")
+T = TypeVar("T")
+
+
+def experimental(wrapped: TExperimental) -> TExperimental:
+ """Add experimental tag to a class or a method.
+
+ :param wrapped: Either a Class or Function to mark as experimental
+ :type wrapped: TExperimental
+ :return: The wrapped class or method
+ :rtype: TExperimental
+ """
+ if inspect.isclass(wrapped):
+ return _add_class_docstring(wrapped)
+ if inspect.isfunction(wrapped):
+ return _add_method_docstring(wrapped)
+ return wrapped
+
+
+def _add_class_docstring(cls: Type[T]) -> Type[T]:
+ """Add experimental tag to the class doc string.
+
+ :return: The updated class
+ :rtype: Type[T]
+ """
+
+ P2 = ParamSpec("P2")
+
+ def _add_class_warning(func: Callable[P2, None]) -> Callable[P2, None]:
+ """Add warning message for class __init__.
+
+ :param func: The original __init__ function
+ :type func: Callable[P2, None]
+ :return: Updated __init__
+ :rtype: Callable[P2, None]
+ """
+
+ @functools.wraps(func)
+ def wrapped(*args, **kwargs):
+ message = "Class {0}: {1} {2}".format(cls.__name__, EXPERIMENTAL_CLASS_MESSAGE, EXPERIMENTAL_LINK_MESSAGE)
+ if not _should_skip_warning() and not _is_warning_cached(message):
+ module_logger.warning(message)
+ return func(*args, **kwargs)
+
+ return wrapped
+
+ doc_string = DOCSTRING_TEMPLATE.format(EXPERIMENTAL_CLASS_MESSAGE, EXPERIMENTAL_LINK_MESSAGE)
+ if cls.__doc__:
+ cls.__doc__ = _add_note_to_docstring(cls.__doc__, doc_string)
+ else:
+ cls.__doc__ = doc_string + ">"
+ cls.__init__ = _add_class_warning(cls.__init__)
+ return cls
+
+
+def _add_method_docstring(func: Callable[P, T] = None) -> Callable[P, T]:
+ """Add experimental tag to the method doc string.
+
+ :param func: The function to update
+ :type func: Callable[P, T]
+ :return: A wrapped method marked as experimental
+ :rtype: Callable[P,T]
+ """
+ doc_string = DOCSTRING_TEMPLATE.format(EXPERIMENTAL_METHOD_MESSAGE, EXPERIMENTAL_LINK_MESSAGE)
+ if func.__doc__:
+ func.__doc__ = _add_note_to_docstring(func.__doc__, doc_string)
+ else:
+ # '>' is required. Otherwise the note section can't be generated
+ func.__doc__ = doc_string + ">"
+
+ @functools.wraps(func)
+ def wrapped(*args: P.args, **kwargs: P.kwargs) -> T:
+ message = "Method {0}: {1} {2}".format(func.__name__, EXPERIMENTAL_METHOD_MESSAGE, EXPERIMENTAL_LINK_MESSAGE)
+ if not _should_skip_warning() and not _is_warning_cached(message):
+ module_logger.warning(message)
+ return func(*args, **kwargs)
+
+ return wrapped
+
+
+def _add_note_to_docstring(doc_string: str, note: str) -> str:
+ """Adds experimental note to docstring at the top and correctly indents original docstring.
+
+ :param doc_string: The docstring
+ :type doc_string: str
+ :param note: The note to add to the docstring
+ :type note: str
+ :return: Updated docstring
+ :rtype: str
+ """
+ indent = _get_indentation_size(doc_string)
+ doc_string = doc_string.rjust(len(doc_string) + indent)
+ return note + doc_string
+
+
+def _get_indentation_size(doc_string: str) -> int:
+ """Finds the minimum indentation of all non-blank lines after the first line.
+
+ :param doc_string: The docstring
+ :type doc_string: str
+ :return: Minimum number of indentation of the docstring
+ :rtype: int
+ """
+ lines = doc_string.expandtabs().splitlines()
+ indent = sys.maxsize
+ for line in lines[1:]:
+ stripped = line.lstrip()
+ if stripped:
+ indent = min(indent, len(line) - len(stripped))
+ return indent if indent < sys.maxsize else DOCSTRING_DEFAULT_INDENTATION
+
+
+def _should_skip_warning():
+ skip_warning_msg = False
+
+ # Cases where we want to suppress the warning:
+ # 1. When converting from REST object to SDK object
+ for frame in inspect.stack():
+ if frame.function == "_from_rest_object":
+ skip_warning_msg = True
+ break
+
+ return skip_warning_msg
+
+
+def _is_warning_cached(warning_msg):
+ # use cache to make sure we only print same warning message once under same session
+ # this prevents duplicated warnings got printed when user does a loop call on a method or a class
+ if warning_msg in _warning_cache:
+ return True
+ _warning_cache.add(warning_msg)
+ return False
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_feature_store_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_feature_store_utils.py
new file mode 100644
index 00000000..8bcf4e2e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_feature_store_utils.py
@@ -0,0 +1,109 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=protected-access
+from datetime import datetime
+from pathlib import Path
+from tempfile import TemporaryDirectory
+from typing import TYPE_CHECKING, Dict, Union
+from urllib.parse import urlparse
+
+import yaml
+
+from .._artifacts._artifact_utilities import get_datastore_info, get_storage_client
+from .._restclient.v2023_10_01.operations import ( # pylint: disable = unused-import
+ FeaturesetContainersOperations,
+ FeaturesetVersionsOperations,
+ FeaturestoreEntityContainersOperations,
+ FeaturestoreEntityVersionsOperations,
+)
+from ..constants._common import DefaultOpenEncoding
+from ..exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+from ..operations._datastore_operations import DatastoreOperations
+from ._storage_utils import AzureMLDatastorePathUri
+from .utils import load_yaml
+
+if TYPE_CHECKING:
+ from azure.ai.ml.operations._feature_set_operations import FeatureSetOperations
+ from azure.ai.ml.operations._feature_store_entity_operations import FeatureStoreEntityOperations
+
+
+def read_feature_set_metadata(*, path: str) -> Dict:
+ metadata_path = str(Path(path, "FeatureSetSpec.yaml"))
+ return load_yaml(metadata_path)
+
+
+def read_remote_feature_set_spec_metadata(
+ *,
+ base_uri: str,
+ datastore_operations: DatastoreOperations,
+) -> Union[Dict, None]:
+ scheme = urlparse(base_uri).scheme
+ if scheme == "azureml":
+ datastore_path_uri = AzureMLDatastorePathUri(base_uri)
+ datastore_info = get_datastore_info(datastore_operations, datastore_path_uri.datastore)
+ storage_client = get_storage_client(**datastore_info)
+ with TemporaryDirectory() as tmp_dir:
+ starts_with = datastore_path_uri.path.rstrip("/")
+ storage_client.download(f"{starts_with}/FeatureSetSpec.yaml", tmp_dir)
+ downloaded_spec_path = Path(tmp_dir, "FeatureSetSpec.yaml")
+ with open(downloaded_spec_path, "r", encoding=DefaultOpenEncoding.READ) as f:
+ return yaml.safe_load(f)
+ return None
+
+
+def _archive_or_restore(
+ asset_operations: Union["FeatureSetOperations", "FeatureStoreEntityOperations"],
+ version_operation: Union[
+ "FeaturesetVersionsOperations",
+ "FeaturestoreEntityVersionsOperations",
+ ],
+ is_archived: bool,
+ name: str,
+ version: str,
+ **kwargs,
+) -> None:
+ resource_group_name = asset_operations._operation_scope._resource_group_name
+ workspace_name = asset_operations._workspace_name
+
+ version_resource = version_operation.get(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ )
+
+ if version_resource.properties.stage == "Archived" and is_archived:
+ raise ValidationException(
+ message="Asset version is already archived: {}:{}".format(name, version),
+ no_personal_data_message="Asset version is already archived",
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ if version_resource.properties.stage != "Archived" and not is_archived:
+ raise ValidationException(
+ message="Cannot restore non-archived asset version: {}:{}".format(name, version),
+ no_personal_data_message="Asset version is not archived",
+ target=ErrorTarget.ASSET,
+ error_category=ErrorCategory.USER_ERROR,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ version_resource.properties.is_archived = is_archived
+ version_resource.properties.stage = "Archived" if is_archived else "Development"
+ poller = version_operation.begin_create_or_update(
+ name=name,
+ version=version,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ body=version_resource,
+ **kwargs,
+ )
+ poller.result()
+
+
+def _datetime_to_str(datetime_obj: Union[str, datetime]):
+ return datetime_obj if isinstance(datetime_obj, str) else datetime_obj.isoformat()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_func_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_func_utils.py
new file mode 100644
index 00000000..0e4b465a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_func_utils.py
@@ -0,0 +1,471 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+import abc
+import logging
+import sys
+from contextlib import contextmanager
+from types import CodeType, FrameType, FunctionType, MethodType
+from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
+
+from azure.ai.ml._utils.utils import is_bytecode_optimization_enabled
+
+logger = logging.getLogger(__name__)
+
+
+class PersistentLocalsFunctionBuilder(abc.ABC):
+ errors = {
+ "not_callable": "func must be a function or a callable object",
+ "conflict_argument": "Injected param name __self conflicts with function args {args}",
+ "not_all_template_separators_used": "Not all template separators are used, "
+ "please switch to a compatible version of Python.",
+ "invalid_template": "Provided template functions are invalid in current environment, "
+ "please switch to a compatible version (3.9 e.g.) of Python "
+ "and/or check template functions.",
+ }
+ injected_param = "__self"
+
+ @classmethod
+ def make_error(cls, error_name: str, **kwargs) -> str:
+ """Make error message with error_name and kwargs.
+
+ :param error_name: A key from :attr:`~PersistentLocalsFunctionBuilder.errors`
+ :type error_name: str
+ :return: Formatted error message
+ :rtype: str
+ """
+ return cls.errors[error_name].format(**kwargs)
+
+ @abc.abstractmethod
+ def _call(self, func, _all_kwargs) -> Tuple[Any, dict]:
+ raise NotImplementedError()
+
+ def call(self, func, _all_kwargs) -> Tuple[Any, dict]:
+ """Get outputs and locals in calling func with _all_kwargs. Locals will be used to update node variable names.
+
+ :param func: The function to execute.
+ :type func: Union[FunctionType, MethodType]
+ :param _all_kwargs: All kwargs to call self.func.
+ :type _all_kwargs: typing.Dict[str, typing.Any]
+ :return: A tuple of outputs and locals.
+ :rtype: typing.Tuple[typing.Any, typing.Dict]
+ """
+ if isinstance(func, (FunctionType, MethodType)):
+ pass
+ elif hasattr(func, "__call__"):
+ func = func.__call__
+ else:
+ raise TypeError(self.make_error("not_callable"))
+
+ if self.injected_param in func.__code__.co_varnames:
+ raise ValueError(self.make_error("conflict_argument", args=list(func.__code__.co_varnames)))
+
+ return self._call(func, _all_kwargs)
+
+
+class PersistentLocalsFunctionProfilerBuilder(PersistentLocalsFunctionBuilder):
+ @staticmethod
+ @contextmanager
+ # pylint: disable-next=docstring-missing-return,docstring-missing-rtype
+ def _replace_sys_profiler(profiler: Callable[[FrameType, str, Any], None]) -> Iterable[None]:
+ """A context manager which replaces sys profiler to given profiler.
+
+ :param profiler: The profile function.
+ See https://docs.python.org/3/library/sys.html#sys.setprofile for more information
+ :type profiler: Callable[[FrameType, str, Any], None]
+ """
+ original_profiler = sys.getprofile()
+ sys.setprofile(profiler)
+ try:
+ yield
+ finally:
+ sys.setprofile(original_profiler)
+
+ @staticmethod
+ def _get_func_variable_tracer(
+ _locals_data: Dict[str, Any], func_code: CodeType
+ ) -> Callable[[FrameType, str, Any], None]:
+ """Get a tracer to trace variable names in dsl.pipeline function.
+
+ :param _locals_data: A dict to save locals data.
+ :type _locals_data: dict
+ :param func_code: An code object to compare if current frame is inside user function.
+ :type func_code: CodeType
+ :return: A tracing function
+ :rtype: Callable[[FrameType, str, Any], None]
+ """
+
+ def tracer(frame: FrameType, event: str, arg: Any) -> None: # pylint: disable=unused-argument
+ if frame.f_code == func_code and event == "return":
+ # Copy the locals of user's dsl function when it returns.
+ _locals_data.update(frame.f_locals.copy())
+
+ return tracer
+
+ def _call(self, func, _all_kwargs):
+ _locals = {}
+ func_variable_profiler = self._get_func_variable_tracer(_locals, func.__code__)
+ with self._replace_sys_profiler(func_variable_profiler):
+ outputs = func(**_all_kwargs)
+ return outputs, _locals
+
+
+class PersistentLocalsFunction(object):
+ def __init__(
+ self,
+ _func,
+ *,
+ _self: Optional[Any] = None,
+ skip_locals: Optional[List[str]] = None,
+ ):
+ """
+ :param _func: The function to be wrapped.
+ :param _self: If original func is a method, _self should be provided, which is the instance of the method.
+ :param skip_locals: A list of local variables to skip when saving the locals.
+ """
+ self._locals = {}
+ self._self = _self
+ # make function an instance method
+ self._func = MethodType(_func, self)
+ self._skip_locals = skip_locals
+
+ def __call__(__self, *args, **kwargs): # pylint: disable=no-self-argument
+ # Use __self in case self is also passed as a named argument in kwargs
+ __self._locals.clear()
+ try:
+ if __self._self:
+ return __self._func(__self._self, *args, **kwargs) # pylint: disable=not-callable
+ return __self._func(*args, **kwargs) # pylint: disable=not-callable
+ finally:
+ # always pop skip locals even if exception is raised in user code
+ if __self._skip_locals is not None:
+ for skip_local in __self._skip_locals:
+ __self._locals.pop(skip_local, None)
+
+ @property
+ def locals(self):
+ return self._locals
+
+
+def _source_template_func(mock_arg):
+ return mock_arg
+
+
+def _target_template_func(__self, mock_arg):
+ try:
+ return mock_arg
+ finally:
+ __self._locals = locals().copy() # pylint: disable=protected-access
+
+
+try:
+ from bytecode import Bytecode, Instr, Label
+
+ class PersistentLocalsFunctionBytecodeBuilder(PersistentLocalsFunctionBuilder):
+ _template_separators = []
+ _template_separators_before_body = []
+ _template_separators_after_body = []
+ _template_body = []
+ _template_tail = None
+ __initialized = False
+
+ @classmethod
+ def _split(cls, instructions, separator, n=-1):
+ cur_start, index, result = 0, 0, []
+ while index < len(instructions) - len(separator) + 1:
+ if cls.is_instr_equal(instructions[index], separator[0]):
+ for i, template_body_instruction in enumerate(separator):
+ if not cls.is_instr_equal(instructions[index + i], template_body_instruction):
+ break
+ else:
+ result.append(instructions[cur_start:index])
+ cur_start = index + len(separator)
+ index += len(separator)
+ if len(result) == n:
+ break
+ continue
+ index += 1
+ result.append(instructions[cur_start:])
+ if n != -1 and len(result) != n:
+ msg = "can't split instructions into {} pieces with provided separators".format(n)
+ raise ValueError(msg)
+ return result
+
+ @classmethod
+ def _class_init_impl(cls):
+ """Override this method to implement different template matching algorithm."""
+ cls._template_separators_before_body, cls._template_separators_after_body = cls._split(
+ cls.get_instructions(_source_template_func),
+ separator=cls._get_mock_body_instructions(),
+ n=2,
+ )
+ # use None to indicate the body
+ cls._template_separators = (
+ cls._template_separators_before_body + [None] + cls._template_separators_after_body
+ )
+
+ cls._template_body = cls._split_instructions_based_on_template(
+ cls.get_instructions(_target_template_func),
+ remove_mock_body=True,
+ )
+ cls._template_tail = cls._template_body.pop()
+ if len(cls._template_body) != len(cls._template_body):
+ raise ValueError(cls.make_error("invalid_template"))
+
+ @classmethod
+ def __class_init(cls):
+ if cls.__initialized:
+ return
+
+ cls._class_init_impl()
+
+ cls.__initialized = True
+
+ def __init__(self):
+ self.__class_init()
+
+ # region methods depending on package bytecode
+ @classmethod
+ def get_instructions(cls, func):
+ return list(Bytecode.from_code(func.__code__))
+
+ @classmethod
+ def is_instr_equal(cls, instr1: Instr, instr2: Instr) -> bool:
+ if instr1 is None and instr2 is None:
+ return True
+ if instr1 is None or instr2 is None:
+ return False
+ if instr1.__class__ != instr2.__class__:
+ return False
+ if isinstance(instr1, Instr):
+ if isinstance(instr1.arg, Label) and isinstance(instr2.arg, Label):
+ return True
+ return instr1.opcode == instr2.opcode and instr1.arg == instr2.arg
+ # objects like Label and TryBegin
+ return True
+
+ @classmethod
+ def is_instructions_equal(cls, instructions1: List[Instr], instructions2: List[Instr]) -> bool:
+ if len(instructions1) != len(instructions2):
+ return False
+ for instr1, instr2 in zip(instructions1, instructions2):
+ if not cls.is_instr_equal(instr1, instr2):
+ return False
+ return True
+
+ def _create_code(self, instructions: List[Instr], base_func: Union[FunctionType, MethodType]) -> CodeType:
+ """Create the base bytecode for the function to be generated.
+
+ Will keep information of the function, such as name, globals, etc., but skip all instructions.
+
+ :param instructions: The list of instructions. Used to replace the instructions in base_func
+ :type instructions: List[Instr]
+ :param base_func: A function that provides base metadata (name, globals, etc...). Instructions will not
+ be kept
+ :type base_func: Union[FunctionType, MethodType]
+ :return: Generated code
+ :rtype: CodeType
+ """
+ fn_code = Bytecode.from_code(base_func.__code__)
+ fn_code.clear()
+ fn_code.extend(instructions)
+ fn_code.argcount += 1
+ fn_code.argnames.insert(0, self.injected_param)
+ return fn_code.to_code()
+
+ @classmethod
+ def _get_mock_body_instructions(cls):
+ return [Instr("LOAD_FAST", "mock_arg")]
+
+ # endregion
+
+ @classmethod
+ def _get_pieces(cls, instructions: List[Instr], separators: List[Instr]) -> List[List[Instr]]:
+ """Split the instructions into pieces by the separators.
+ Note that separators is a list of instructions. For example,
+ instructions: [I3, I1, I2, I3, I1, I3, I1, I2, I3]
+ separators: [I1, I2]
+ result: [[I3], [I3, I1, I3], [I3]]
+
+ :param instructions: The list of instructions to split
+ :type instructions: List[instr]
+ :param separators: The sequence of Instr to use as a delimiter
+ :type separators: List[Instr]
+ :return: A sublists of instructions that were delimited by separators
+ :rtype: List[List[Instr]]
+ """
+ separator_iter = iter(separators)
+
+ def get_next_separator():
+ try:
+ while True:
+ separator = next(separator_iter)
+ if separator is not None:
+ return separator
+ except StopIteration:
+ return None
+
+ pieces = []
+ last_piece = []
+ cur_separator = get_next_separator()
+ for instr in instructions:
+ if cls.is_instr_equal(instr, cur_separator):
+ # skip the separator
+ pieces.append(last_piece)
+ cur_separator = get_next_separator()
+ last_piece = []
+ else:
+ last_piece.append(instr)
+ pieces.append(last_piece)
+
+ if cur_separator is not None:
+ raise ValueError(cls.make_error("not_all_template_separators_used"))
+
+ return pieces
+
+ @classmethod
+ def _split_instructions_based_on_template(
+ cls,
+ instructions: List[Instr],
+ *,
+ remove_mock_body: bool = False,
+ ) -> List[List[Instr]]:
+ """Split instructions into several pieces by separators.
+ For example, in Python 3.11, the template source instructions will be:
+
+ .. code-block:: python
+
+ [
+ Instr('RESUME', 0), # initial instruction shared by all functions
+ Instr('LOAD_FAST', 'mock_arg'), # the body execution instruction
+ Instr('RETURN_VALUE'), # the return instruction shared by all functions
+ ]
+
+ Then the separators before body will be:
+
+ .. code-block:: python
+
+ [
+ Instr('RESUME', 0),
+ ]
+
+ And the separators after body will be:
+
+ .. code-block:: python
+
+ [
+ Instr('RETURN_VALUE'),
+ ]
+
+ For passed in instructions, we will split them with separators from beginning (the first RESUME) and
+ with reversed_separators from end (the last RETURN_VALUE).
+
+ :param instructions: The instructions to split
+ :type instructions: List[instr]
+ :keyword remove_mock_body: Whether to remove the mock body. Defaults to False
+ :paramtype remove_mock_body: bool
+ :return: The split instructions
+ :rtype: List[List[Instr]]
+ """
+ if remove_mock_body:
+ # this parameter should be set as True only when processing the template target function,
+ # when we should ignore the mock body
+ pieces = cls._get_pieces(
+ instructions, cls._template_separators_before_body + cls._get_mock_body_instructions()
+ )
+ else:
+ pieces = cls._get_pieces(instructions, cls._template_separators_before_body)
+
+ reversed_pieces = cls._get_pieces(reversed(pieces.pop()), reversed(cls._template_separators_after_body))
+
+ while reversed_pieces:
+ pieces.append(list(reversed(reversed_pieces.pop())))
+
+ return pieces
+
+ def _build_instructions(self, func: Union[FunctionType, MethodType]) -> List[Instr]:
+ generated_instructions = []
+
+ for template_piece, input_piece, separator in zip(
+ self._template_body,
+ self._split_instructions_based_on_template(self.get_instructions(func)),
+ self._template_separators,
+ ):
+ generated_instructions.extend(template_piece)
+ generated_instructions.extend(input_piece)
+ if separator is not None:
+ generated_instructions.append(separator)
+ generated_instructions.extend(self._template_tail)
+ return generated_instructions
+
+ def _build_func(self, func: Union[FunctionType, MethodType]) -> PersistentLocalsFunction:
+ """Build a persistent locals function from the given function. Use bytecode injection to add try...finally
+ statement around code to persistent the locals in the function.
+
+ It will change the func bytecode in this way:
+
+ .. code-block:: python
+
+ def func(__self, *func_args):
+ try:
+ the func code...
+ finally:
+ __self.locals = locals().copy()
+
+ You can get the locals in func by this code:
+
+ .. code-block:: python
+
+ builder = PersistentLocalsFunctionBuilder()
+ persistent_locals_func = builder.build(your_func)
+ # Execute your func
+ result = persistent_locals_func(*args)
+ # Get the locals in the func.
+ func_locals = persistent_locals_func.locals
+
+ :param func: The function to modify
+ :type func: Union[FunctionType, MethodType]
+ :return: The built persistent locals function
+ :rtype: PersistentLocalsFunction
+ """
+ generated_func = FunctionType(
+ self._create_code(self._build_instructions(func), func),
+ func.__globals__,
+ func.__name__,
+ func.__defaults__,
+ func.__closure__,
+ )
+ return PersistentLocalsFunction(
+ generated_func,
+ _self=func.__self__ if isinstance(func, MethodType) else None,
+ skip_locals=[self.injected_param],
+ )
+
+ def _call(self, func, _all_kwargs) -> Tuple[Any, dict]:
+ persistent_func = self._build_func(func)
+ outputs = persistent_func(**_all_kwargs)
+ return outputs, persistent_func.locals
+
+except ImportError:
+ # Fall back to the profiler implementation
+ class PersistentLocalsFunctionBytecodeBuilder(PersistentLocalsFunctionProfilerBuilder):
+ pass
+
+
+def _get_persistent_locals_builder() -> PersistentLocalsFunctionBuilder:
+ if is_bytecode_optimization_enabled():
+ return PersistentLocalsFunctionBytecodeBuilder()
+ return PersistentLocalsFunctionProfilerBuilder()
+
+
+def get_outputs_and_locals(func, _all_kwargs):
+ """Get outputs and locals from self.func. Locals will be used to update node variable names.
+
+ :param func: The function to execute.
+ :type func: Union[FunctionType, MethodType]
+ :param _all_kwargs: All kwargs to call self.func.
+ :type _all_kwargs: typing.Dict[str, typing.Any]
+ :return: A tuple of outputs and locals.
+ :rtype: typing.Tuple[typing.Dict, typing.Dict]
+ """
+ return _get_persistent_locals_builder().call(func, _all_kwargs)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_html_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_html_utils.py
new file mode 100644
index 00000000..faf6a406
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_html_utils.py
@@ -0,0 +1,155 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+from collections import OrderedDict
+from datetime import datetime, timedelta
+from html import escape
+
+SUPPORTED_VALUE_TYPE_TUPLE = (int, float, str, datetime, timedelta)
+TABLE_FMT = '<table style="width:100%">{0}</table>'
+ROW_FMT = "<tr>{0}</tr>"
+HEADER_FMT = "<th>{0}</th>"
+DATA_FMT = "<td>{0}</td>"
+# target="_blank" opens in new tab, rel="noopener" is for perf + security
+LINK_FMT = '<a href="{0}" target="_blank" rel="noopener">{1}</a>'
+
+
+def convert_dict_to_table(object_to_convert):
+ # Case 1: All non-collection values -> table of 1 row
+ # Case 2: All collection values, lens eq N -> assert lengths eq, table of N rows
+ # Case 3: collection and non-collection values -> table of 1 row, collections nest
+ # Case 4: All collection values, lens unequal -> table of 1 row, each is nested collection?
+
+ if not isinstance(object_to_convert, dict):
+ raise AssertionError("Expected a dict or subclass, got {0}".format(type(object_to_convert)))
+
+ if len(object_to_convert) == 0:
+ return ""
+
+ ordered_obj = OrderedDict(object_to_convert)
+
+ def is_collection_type(val):
+ return hasattr(val, "__len__") and not isinstance(val, str)
+
+ is_collection = [is_collection_type(value) for value in ordered_obj.values()]
+
+ all_rows = [get_header_row_string(ordered_obj.keys())]
+
+ def values_to_data_row(values):
+ cells = [to_html(value) for value in values]
+ return get_data_row_string(cells)
+
+ if all(is_collection):
+ # Cases 2 and 4
+ length = len(list(ordered_obj.values)[0])
+ if any(len(v) != length for v in ordered_obj.values()):
+ # Case 4
+ logging.warning("Uneven column lengths in table conversion")
+ all_rows.append(values_to_data_row(ordered_obj.values()))
+
+ else:
+ # Case 2 - sad transpose
+ for i in range(length):
+ value_list = [val[i] for val in ordered_obj.values()]
+ all_rows.append(values_to_data_row(value_list))
+
+ else:
+ # Cases 1 and 3
+ # Table of 1 row of values or mixed types, table of 1 row
+ all_rows.append(values_to_data_row(ordered_obj.values()))
+
+ return table_from_html_rows(all_rows)
+
+
+def convert_list_to_table(object_to_convert):
+ if not isinstance(object_to_convert, list):
+ raise AssertionError("Expected a list or subclass, got {0}".format(type(object_to_convert)))
+
+ if len(object_to_convert) == 0:
+ return ""
+
+ all_values = [to_html(element) for element in object_to_convert]
+ all_rows = [get_data_row_string([element]) for element in all_values]
+ return table_from_html_rows(all_rows)
+
+
+# Mapping from complex type to HTML converters
+# Unspecified types default to convert_value
+_type_to_converter = {list: convert_list_to_table, dict: convert_dict_to_table}
+
+
+def to_html(object_to_convert):
+ candidate_converters = [k for k in _type_to_converter if isinstance(object_to_convert, k)]
+
+ if len(candidate_converters) == 0:
+ converter = convert_value
+ elif len(candidate_converters) == 1:
+ converter = _type_to_converter[candidate_converters[0]]
+ else:
+ logging.warning("Multiple candidate converters found for type %s", type(object_to_convert))
+ converter = convert_value
+
+ converted_value = converter(object_to_convert)
+ return converted_value
+
+
+def is_string_link(string: str) -> bool:
+ return isinstance(string, str) and string.strip().lower().startswith("http")
+
+
+def make_link(link_string: str, link_text: str = "") -> str:
+ if not link_text: # Actually want truthy string
+ link_text = "Link"
+ return LINK_FMT.format(escape(link_string), link_text)
+
+
+def convert_value(value: str) -> str:
+ if value is None:
+ return ""
+ if is_string_link(value):
+ return make_link(value)
+ if not isinstance(value, SUPPORTED_VALUE_TYPE_TUPLE):
+ logging.warning("Unsupported type %s for html, converting", type(value))
+
+ # TODO: Figure out a good escaping story here right now it breaks existing tags
+ return str(value)
+
+
+def get_header_row_string(column_headers):
+ headers = [HEADER_FMT.format(header) for header in column_headers]
+ return ROW_FMT.format("".join(headers))
+
+
+def get_data_row_string(data_values):
+ data = [DATA_FMT.format(datum) for datum in data_values]
+ return ROW_FMT.format("".join(data))
+
+
+def table_from_html_rows(list_of_rows):
+ # type/: (List[str]) -> str
+ return TABLE_FMT.format("".join(list_of_rows))
+
+
+def to_formatted_html_table(rows, header):
+ html = ["""<table style="width:100%; border:2px solid black" >"""]
+ if header is not None:
+ html_row = "</td><td>".join(column for column in header)
+ html.append(
+ """<tr style="font-weight:bold; border-bottom:1pt solid black; border-right: 1pt solid black;
+ text-align: center"><td>{}</td></tr>""".format(
+ html_row
+ )
+ )
+
+ for row in rows:
+ html_row = "</td><td>".join(str(value) for value in row)
+ html.append(
+ """<tr style="width:100%; word-wrap: break-word; border-bottom:1pt solid black;
+ text-align: center"><td>{}</td></tr>""".format(
+ html_row
+ )
+ )
+ html.append("</table>")
+ return "".join(html)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_http_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_http_utils.py
new file mode 100644
index 00000000..ddaae25e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_http_utils.py
@@ -0,0 +1,180 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+
+from functools import wraps
+from typing import Any, Callable, Optional
+
+from typing_extensions import Concatenate, ParamSpec, Self
+
+from azure.core.configuration import Configuration
+from azure.core.pipeline import Pipeline
+from azure.core.pipeline.policies import (
+ CustomHookPolicy,
+ HeadersPolicy,
+ HttpLoggingPolicy,
+ NetworkTraceLoggingPolicy,
+ ProxyPolicy,
+ RedirectPolicy,
+ RetryPolicy,
+ UserAgentPolicy,
+)
+from azure.core.pipeline.transport import ( # pylint: disable=non-abstract-transport-import,no-name-in-module
+ HttpTransport,
+ RequestsTransport,
+)
+from azure.core.rest import HttpRequest, HttpResponse
+
+
+def _request_function(f: Callable[["HttpPipeline"], None]):
+ """A decorator that provides the implementation for the request-style convenience functions of the HttpPipeline
+ class.
+
+ :param Callable[[], None] f: A function whose name will be used as the http
+ request method
+ :return: An HTTP request function
+ :rtype: Callable
+ """
+
+ # This is a hack to provide richer typing for the decorated function
+ # The outer _ function allows us to pattern match on the parameter types
+ # of HttpRequest and forward those types to the decorated function
+ P = ParamSpec("P")
+
+ def _(_: Callable[Concatenate[str, P], Any] = HttpRequest):
+ @wraps(f)
+ # pylint: disable-next=docstring-missing-param
+ def decorated(self: "HttpPipeline", *args: P.args, **kwargs: P.kwargs) -> HttpResponse:
+ """A function that sends an HTTP request and returns the response.
+
+ Accepts the same parameters as azure.core.rest.HttpRequest, except for the method.
+ All other kwargs are forwarded to azure.core.Pipeline.run
+
+ :return: The request response
+ :rtype: HttpResponse
+ """
+ request = HttpRequest(
+ f.__name__.upper(),
+ *args,
+ params=kwargs.pop("params", None),
+ headers=kwargs.pop("headers", None),
+ json=kwargs.pop("json", None),
+ content=kwargs.pop("content", None),
+ data=kwargs.pop("data", None),
+ files=kwargs.pop("files", None),
+ )
+
+ return self.run(request, **kwargs).http_response
+
+ return decorated
+
+ return _()
+
+
+class HttpPipeline(Pipeline):
+ """A *very* thin wrapper over azure.core.pipeline.Pipeline that facilitates sending miscellaneous http requests by
+ adding:
+
+ * A requests-style api for sending http requests
+ * Facilities for populating policies for the client, include defaults,
+ and re-using policies from an existing client.
+ """
+
+ def __init__(
+ self,
+ *,
+ transport: Optional[HttpTransport] = None,
+ config: Optional[Configuration] = None,
+ user_agent_policy: Optional[UserAgentPolicy] = None,
+ headers_policy: Optional[HeadersPolicy] = None,
+ proxy_policy: Optional[ProxyPolicy] = None,
+ logging_policy: Optional[NetworkTraceLoggingPolicy] = None,
+ http_logging_policy: Optional[HttpLoggingPolicy] = None,
+ retry_policy: Optional[RetryPolicy] = None,
+ custom_hook_policy: Optional[CustomHookPolicy] = None,
+ redirect_policy: Optional[RedirectPolicy] = None,
+ **kwargs
+ ):
+ """
+
+ :param HttpTransport transport: Http Transport used for requests, defaults to RequestsTransport
+ :param Configuration config:
+ :param UserAgentPolicy user_agent_policy:
+ :param HeadersPolicy headers_policy:
+ :param ProxyPolicy proxy_policy:
+ :param NetworkTraceLoggingPolicy logging_policy:
+ :param HttpLoggingPolicy http_logging_policy:
+ :param RetryPolicy retry_policy:
+ :param CustomHookPolicy custom_hook_policy:
+ :param RedirectPolicy redirect_policy:
+ """
+ config = config or Configuration()
+ config.headers_policy = headers_policy or config.headers_policy or HeadersPolicy(**kwargs)
+ config.proxy_policy = proxy_policy or config.proxy_policy or ProxyPolicy(**kwargs)
+ config.redirect_policy = redirect_policy or config.redirect_policy or RedirectPolicy(**kwargs)
+ config.retry_policy = retry_policy or config.retry_policy or RetryPolicy(**kwargs)
+ config.custom_hook_policy = custom_hook_policy or config.custom_hook_policy or CustomHookPolicy(**kwargs)
+ config.logging_policy = logging_policy or config.logging_policy or NetworkTraceLoggingPolicy(**kwargs)
+ config.http_logging_policy = http_logging_policy or config.http_logging_policy or HttpLoggingPolicy(**kwargs)
+ config.user_agent_policy = user_agent_policy or config.user_agent_policy or UserAgentPolicy(**kwargs)
+ config.polling_interval = kwargs.get("polling_interval", 30)
+
+ super().__init__(
+ # RequestsTransport normally should not be imported outside of azure.core, since transports
+ # are meant to be user configurable.
+ # RequestsTransport is only used in this file as the default transport when not user specified.
+ transport=transport or RequestsTransport(**kwargs),
+ policies=[
+ config.headers_policy,
+ config.user_agent_policy,
+ config.proxy_policy,
+ config.redirect_policy,
+ config.retry_policy,
+ config.authentication_policy,
+ config.custom_hook_policy,
+ config.logging_policy,
+ ],
+ )
+
+ self._config = config
+
+ def with_policies(self, **kwargs) -> Self:
+ """A named constructor which facilitates creating a new pipeline using an existing one as a base.
+
+ Accepts the same parameters as __init__
+
+ :return: new Pipeline object with combined config of current object
+ and specified overrides
+ :rtype: Self
+ """
+ cls = self.__class__
+ return cls(config=self._config, transport=kwargs.pop("transport", self._transport), **kwargs)
+
+ @_request_function
+ def delete(self) -> None:
+ """Sends a DELETE request."""
+
+ @_request_function
+ def get(self) -> None:
+ """Sends a GET request."""
+
+ @_request_function
+ def head(self) -> None:
+ """Sends a HEAD request."""
+
+ @_request_function
+ def options(self) -> None:
+ """Sends a OPTIONS request."""
+
+ @_request_function
+ def patch(self) -> None:
+ """Sends a PATCH request."""
+
+ @_request_function
+ def post(self) -> None:
+ """Sends a POST request."""
+
+ @_request_function
+ def put(self) -> None:
+ """Sends a PUT request."""
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_logger_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_logger_utils.py
new file mode 100644
index 00000000..68a90aca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_logger_utils.py
@@ -0,0 +1,62 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+import sys
+
+from opentelemetry import trace
+
+from azure.ai.ml._telemetry.logging_handler import AML_INTERNAL_LOGGER_NAMESPACE
+
+
+def initialize_logger_info(module_logger: logging.Logger, terminator="\n") -> None:
+ """Initializes the logger with INFO level and adds a StreamHandler to the logger.
+
+ :param module_logger: The logger to be initialized.
+ :type module_logger: logging.Logger
+ :param terminator: The line terminator for the StreamHandler. Defaults to a newline character.
+ :type terminator: str
+ :return: None
+ """
+ module_logger.setLevel(logging.INFO)
+ module_logger.propagate = False
+ handler = logging.StreamHandler(sys.stderr)
+ handler.setLevel(logging.INFO)
+ handler.terminator = terminator
+ handler.flush = sys.stderr.flush
+ module_logger.addHandler(handler)
+
+
+tracer = trace.get_tracer(AML_INTERNAL_LOGGER_NAMESPACE)
+
+
+class OpsLogger:
+ """
+ A logger class for managing logging and tracing operations within a package.
+ This class initializes loggers and tracers for a specified package, and provides methods to update logging filters.
+ """
+
+ def __init__(self, name: str):
+ """
+ This constructor sets up the package logger, module logger, and tracer for the given package name.
+ :param name: The name of the package for which the logger is being initialized.
+ :type name: str
+ """
+ self.package_logger: logging.Logger = logging.getLogger(AML_INTERNAL_LOGGER_NAMESPACE).getChild(name)
+ self.package_logger.propagate = True
+ self.package_tracer = tracer
+ self.module_logger = logging.getLogger(name)
+ self.custom_dimensions = {}
+
+ def update_filter(self) -> None:
+ """
+ Update the logging filter for the package logger.
+ This method attaches the filter from the parent logger to the package logger,
+ as the parent's filter is not automatically propagated to the child logger.
+
+ :return: None
+ """
+ # Attach filter explicitly as parent logger's filter is not propagated to child logger
+ if self.package_logger.parent.filters:
+ self.package_logger.addFilter(self.package_logger.parent.filters[0])
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_package_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_package_utils.py
new file mode 100644
index 00000000..f50a6140
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_package_utils.py
@@ -0,0 +1,99 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=try-except-raise
+
+import logging
+
+
+from azure.ai.ml.entities import BatchDeployment, OnlineDeployment, Deployment
+from azure.ai.ml._restclient.v2023_04_01_preview.models import (
+ PackageRequest,
+ CodeConfiguration,
+ BaseEnvironmentId,
+ AzureMLOnlineInferencingServer,
+ AzureMLBatchInferencingServer,
+)
+from azure.ai.ml._restclient.v2021_10_01_dataplanepreview.models import (
+ PackageRequest as DataPlanePackageRequest,
+)
+from azure.ai.ml.constants._common import REGISTRY_URI_FORMAT
+
+from azure.ai.ml._utils._logger_utils import initialize_logger_info
+
+module_logger = logging.getLogger(__name__)
+initialize_logger_info(module_logger, terminator="")
+
+
+def package_deployment(deployment: Deployment, model_ops) -> Deployment:
+ model_str = deployment.model
+ model_version = model_str.split("/")[-1]
+ model_name = model_str.split("/")[-3]
+ target_environment_name = "packaged-env"
+
+ if deployment.code_configuration:
+ code_configuration = CodeConfiguration(
+ code_id=deployment.code_configuration.code,
+ scoring_script=deployment.code_configuration.scoring_script,
+ )
+ else:
+ code_configuration = None
+
+ if isinstance(deployment, OnlineDeployment):
+ inferencing_server = AzureMLOnlineInferencingServer(code_configuration=code_configuration)
+ elif isinstance(deployment, BatchDeployment):
+ inferencing_server = AzureMLBatchInferencingServer(code_configuration=code_configuration)
+ else:
+ inferencing_server = None
+
+ if deployment.environment:
+ base_environment_source = BaseEnvironmentId(
+ base_environment_source_type="EnvironmentAsset", resource_id=deployment.environment
+ )
+ else:
+ base_environment_source = None
+
+ package_request = (
+ PackageRequest(
+ target_environment_name=target_environment_name,
+ base_environment_source=base_environment_source,
+ inferencing_server=inferencing_server,
+ )
+ if not model_str.startswith(REGISTRY_URI_FORMAT)
+ else DataPlanePackageRequest(
+ inferencing_server=inferencing_server,
+ target_environment_id=target_environment_name,
+ base_environment_source=base_environment_source,
+ )
+ )
+
+ if deployment.environment:
+ if not model_str.startswith(REGISTRY_URI_FORMAT):
+ package_request.base_environment_source.resource_id = "azureml:/" + deployment.environment
+ else:
+ package_request.base_environment_source.resource_id = deployment.environment
+ if deployment.code_configuration:
+ if not deployment.code_configuration.code.startswith(REGISTRY_URI_FORMAT):
+ package_request.inferencing_server.code_configuration.code_id = (
+ "azureml:/" + deployment.code_configuration.code
+ )
+ else:
+ package_request.inferencing_server.code_configuration.code_id = deployment.code_configuration.code
+
+ try:
+ packaged_env = model_ops.package(
+ model_name,
+ model_version,
+ package_request=package_request,
+ skip_to_rest=True,
+ )
+ if not model_str.startswith(REGISTRY_URI_FORMAT):
+ deployment.environment = packaged_env.id
+ else:
+ deployment.environment = packaged_env.target_environment_id
+ deployment.model = None
+ deployment.code_configuration = None
+ except Exception:
+ raise
+ return deployment
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_pathspec.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_pathspec.py
new file mode 100644
index 00000000..a9a18239
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_pathspec.py
@@ -0,0 +1,587 @@
+# ---------------------------------------------------------
+# Copyright (c) 2013-2022 Caleb P. Burns credits dahlia <https://github.com/dahlia>
+# Licensed under the MPLv2 License. See License.txt in the project root for
+# license information.
+# ---------------------------------------------------------
+"""
+This file code has been vendored from pathspec repo.
+Please do not edit it, unless really necessary
+"""
+import dataclasses
+import os
+import posixpath
+import re
+import warnings
+from typing import Any, AnyStr, Iterable
+from typing import Match as MatchHint
+from typing import Optional
+from typing import Pattern as PatternHint
+from typing import Tuple, Union
+
+NORMALIZE_PATH_SEPS = [sep for sep in [os.sep, os.altsep] if sep and sep != posixpath.sep]
+
+# The encoding to use when parsing a byte string pattern.
+# This provides the base definition for patterns.
+_BYTES_ENCODING = "latin1"
+
+
+class Pattern(object):
+ """
+ The :class:`Pattern` class is the abstract definition of a pattern.
+ """
+
+ # Make the class dict-less.
+ __slots__ = ("include",)
+
+ def __init__(self, include: Optional[bool]) -> None:
+ """
+ Initializes the :class:`Pattern` instance.
+ *include* (:class:`bool` or :data:`None`) is whether the matched
+ files should be included (:data:`True`), excluded (:data:`False`),
+ or is a null-operation (:data:`None`).
+ """
+
+ self.include = include
+ """
+ *include* (:class:`bool` or :data:`None`) is whether the matched
+ files should be included (:data:`True`), excluded (:data:`False`),
+ or is a null-operation (:data:`None`).
+ """
+
+ def match(self, files: Iterable[str]) -> Iterable[str]:
+ """Matches this pattern against the specified files.
+
+ :param files: Contains each file relative to the root directory (e.g. :data:`"relative/path/to/file"`).
+ :type files: Iterable[str]
+ :return: The matched file paths
+ :rtype: Iterable[str]
+
+ .. deprecated::
+
+ This method is no longer used and has been replaced by :meth:`.match_file`. Use the :meth:`.match_file`
+ method with a loop for similar results.
+ """
+ warnings.warn(
+ (
+ "{0.__module__}.{0.__qualname__}.match() is deprecated. Use "
+ "{0.__module__}.{0.__qualname__}.match_file() with a loop for "
+ "similar results."
+ ).format(self.__class__),
+ DeprecationWarning,
+ stacklevel=2,
+ )
+
+ for file in files:
+ if self.match_file(file) is not None:
+ yield file
+
+ def match_file(self, file: str) -> Optional[Any]:
+ """Matches this pattern against the specified file.
+
+ :param file: The normalized file path to match against.
+ :type file: str
+ :return: Returns the match result if *file* matched; otherwise, :data:`None`.
+ :rtype: Optional[Any]
+ """
+ raise NotImplementedError(
+ ("{0.__module__}.{0.__qualname__} must override match_file().").format(self.__class__)
+ )
+
+
+class RegexPattern(Pattern):
+ """
+ The :class:`RegexPattern` class is an implementation of a pattern
+ using regular expressions.
+ """
+
+ # Keep the class dict-less.
+ __slots__ = ("regex",)
+
+ def __init__(
+ self,
+ pattern: Union[AnyStr, PatternHint],
+ include: Optional[bool] = None,
+ ) -> None:
+ """
+ Initializes the :class:`RegexPattern` instance.
+ *pattern* (:class:`str`, :class:`bytes`, :class:`re.Pattern`, or
+ :data:`None`) is the pattern to compile into a regular expression.
+ *include* (:class:`bool` or :data:`None`) must be :data:`None`
+ unless *pattern* is a precompiled regular expression (:class:`re.Pattern`)
+ in which case it is whether matched files should be included
+ (:data:`True`), excluded (:data:`False`), or is a null operation
+ (:data:`None`).
+ .. NOTE:: Subclasses do not need to support the *include*
+ parameter.
+ """
+
+ if isinstance(pattern, (str, bytes)):
+ assert include is None, ("include:{!r} must be null when pattern:{!r} is a string.").format(
+ include, pattern
+ )
+ regex, include = self.pattern_to_regex(pattern)
+ # NOTE: Make sure to allow a null regular expression to be
+ # returned for a null-operation.
+ if include is not None:
+ regex = re.compile(regex)
+
+ elif pattern is not None and hasattr(pattern, "match"):
+ # Assume pattern is a precompiled regular expression.
+ # - NOTE: Used specified *include*.
+ regex = pattern
+
+ elif pattern is None:
+ # NOTE: Make sure to allow a null pattern to be passed for a
+ # null-operation.
+ assert include is None, ("include:{!r} must be null when pattern:{!r} is null.").format(include, pattern)
+
+ else:
+ raise TypeError("pattern:{!r} is not a string, re.Pattern, or None.".format(pattern))
+
+ super(RegexPattern, self).__init__(include)
+
+ self.regex: PatternHint = regex
+ """
+ *regex* (:class:`re.Pattern`) is the regular expression for the
+ pattern.
+ """
+
+ def __eq__(self, other: "RegexPattern") -> bool:
+ """Tests the equality of this regex pattern with *other*
+
+ :param other: The regex pattern to test against
+ :type other: RegexPattern
+ :return: Return True if :attr:`~Pattern.include` and :attr:`~RegexPattern.regex`
+ are equal. False otherwise.
+ :rtype: bool
+ """
+ if isinstance(other, RegexPattern):
+ return self.include == other.include and self.regex == other.regex
+ return NotImplemented
+
+ def match_file(self, file: str) -> Optional["RegexMatchResult"]:
+ """Matches this pattern against the specified file.
+
+ :param file: File relative to the root directory (e.g., "relative/path/to/file").
+ :type file: str
+ :return: Returns the match result (:class:`RegexMatchResult`) if *file*
+ matched; otherwise, :data:`None`.
+ :rtype: Optional[RegexMatchResult]
+ """
+ if self.include is not None:
+ match = self.regex.match(file)
+ if match is not None:
+ return RegexMatchResult(match)
+
+ return None
+
+ @classmethod
+ def pattern_to_regex(cls, pattern: str) -> Tuple[str, bool]:
+ """Convert the pattern into an uncompiled regular expression.
+
+ :param pattern: The pattern to convert into a regular expression.
+ :type pattern: str
+ :return: Returns the uncompiled regular expression (:class:`str` or :data:`None`),
+ and whether matched files should be included (:data:`True`),
+ excluded (:data:`False`), or is a null-operation (:data:`None`).
+ :rtype: Tuple[str, bool]
+
+ .. NOTE::
+
+ The default implementation simply returns *pattern* and :data:`True`.
+ """
+ return pattern, True
+
+
+@dataclasses.dataclass()
+class RegexMatchResult(object):
+ """
+ The :class:`RegexMatchResult` data class is used to return information
+ about the matched regular expression.
+ """
+
+ # Keep the class dict-less.
+ __slots__ = ("match",)
+
+ match: MatchHint
+ """
+ *match* (:class:`re.Match`) is the regex match result.
+ """
+
+
+class GitWildMatchPatternError(ValueError):
+ """
+ The :class:`GitWildMatchPatternError` indicates an invalid git wild match
+ pattern.
+ """
+
+
+class GitWildMatchPattern(RegexPattern):
+ """
+ The :class:`GitWildMatchPattern` class represents a compiled Git
+ wildmatch pattern.
+ """
+
+ # Keep the dict-less class hierarchy.
+ __slots__ = ()
+
+ @classmethod
+ # pylint: disable=too-many-branches,too-many-statements
+ def pattern_to_regex(
+ cls,
+ pattern: AnyStr,
+ ) -> Tuple[Optional[AnyStr], Optional[bool]]:
+ """Convert the pattern into a regular expression.
+
+ :param pattern: Pattern to convert into a regular expression.
+ :type pattern: AnyStr
+ :return: A 2-tuple of:
+ * the uncompiled regular expression (:class:`str`, :class:`bytes`,
+ or :data:`None`)
+ * whether matched files should be included (:data:`True`), excluded (:data:`False`), or if it is a
+ null-operation (:data:`None`).
+ :rtype: Tuple[Optional[AnyStr], Optional[bool]]
+ """
+ if isinstance(pattern, str):
+ return_type = str
+ elif isinstance(pattern, bytes):
+ return_type = bytes
+ pattern = pattern.decode(_BYTES_ENCODING)
+ else:
+ raise TypeError(f"pattern:{pattern!r} is not a unicode or byte string.")
+
+ original_pattern = pattern
+ pattern = pattern.strip()
+
+ if pattern.startswith("#"):
+ # A pattern starting with a hash ('#') serves as a comment
+ # (neither includes nor excludes files). Escape the hash with a
+ # back-slash to match a literal hash (i.e., '\#').
+ regex = None
+ include = None
+
+ elif pattern == "/":
+ # EDGE CASE: According to `git check-ignore` (v2.4.1), a single
+ # '/' does not match any file.
+ regex = None
+ include = None
+
+ elif pattern:
+ if pattern.startswith("!"):
+ # A pattern starting with an exclamation mark ('!') negates the
+ # pattern (exclude instead of include). Escape the exclamation
+ # mark with a back-slash to match a literal exclamation mark
+ # (i.e., '\!').
+ include = False
+ # Remove leading exclamation mark.
+ pattern = pattern[1:]
+ else:
+ include = True
+
+ # Allow a regex override for edge cases that cannot be handled
+ # through normalization.
+ override_regex = None
+
+ # Split pattern into segments.
+ pattern_segs = pattern.split("/")
+
+ # Normalize pattern to make processing easier.
+
+ # EDGE CASE: Deal with duplicate double-asterisk sequences.
+ # Collapse each sequence down to one double-asterisk. Iterate over
+ # the segments in reverse and remove the duplicate double
+ # asterisks as we go.
+ for i in range(len(pattern_segs) - 1, 0, -1):
+ prev = pattern_segs[i - 1]
+ seg = pattern_segs[i]
+ if prev == "**" and seg == "**":
+ del pattern_segs[i]
+
+ if len(pattern_segs) == 2 and pattern_segs[0] == "**" and not pattern_segs[1]:
+ # EDGE CASE: The '**/' pattern should match everything except
+ # individual files in the root directory. This case cannot be
+ # adequately handled through normalization. Use the override.
+ override_regex = "^.+(?P<ps_d>/).*$"
+
+ if not pattern_segs[0]:
+ # A pattern beginning with a slash ('/') will only match paths
+ # directly on the root directory instead of any descendant
+ # paths. So, remove empty first segment to make pattern relative
+ # to root.
+ del pattern_segs[0]
+
+ elif len(pattern_segs) == 1 or (len(pattern_segs) == 2 and not pattern_segs[1]):
+ # A single pattern without a beginning slash ('/') will match
+ # any descendant path. This is equivalent to "**/{pattern}". So,
+ # prepend with double-asterisks to make pattern relative to
+ # root.
+ # EDGE CASE: This also holds for a single pattern with a
+ # trailing slash (e.g. dir/).
+ if pattern_segs[0] != "**":
+ pattern_segs.insert(0, "**")
+
+ else:
+ # EDGE CASE: A pattern without a beginning slash ('/') but
+ # contains at least one prepended directory (e.g.
+ # "dir/{pattern}") should not match "**/dir/{pattern}",
+ # according to `git check-ignore` (v2.4.1).
+ pass
+
+ if not pattern_segs:
+ # After resolving the edge cases, we end up with no pattern at
+ # all. This must be because the pattern is invalid.
+ raise GitWildMatchPatternError(f"Invalid git pattern: {original_pattern!r}")
+
+ if not pattern_segs[-1] and len(pattern_segs) > 1:
+ # A pattern ending with a slash ('/') will match all descendant
+ # paths if it is a directory but not if it is a regular file.
+ # This is equivalent to "{pattern}/**". So, set last segment to
+ # a double-asterisk to include all descendants.
+ pattern_segs[-1] = "**"
+
+ if override_regex is None:
+ # Build regular expression from pattern.
+ output = ["^"]
+ need_slash = False
+ end = len(pattern_segs) - 1
+ for i, seg in enumerate(pattern_segs):
+ if seg == "**":
+ if i == 0 and i == end:
+ # A pattern consisting solely of double-asterisks ('**')
+ # will match every path.
+ output.append(".+")
+ elif i == 0:
+ # A normalized pattern beginning with double-asterisks
+ # ('**') will match any leading path segments.
+ output.append("(?:.+/)?")
+ need_slash = False
+ elif i == end:
+ # A normalized pattern ending with double-asterisks ('**')
+ # will match any trailing path segments.
+ output.append("(?P<ps_d>/).*")
+ else:
+ # A pattern with inner double-asterisks ('**') will match
+ # multiple (or zero) inner path segments.
+ output.append("(?:/.+)?")
+ need_slash = True
+
+ elif seg == "*":
+ # Match single path segment.
+ if need_slash:
+ output.append("/")
+
+ output.append("[^/]+")
+
+ if i == end:
+ # A pattern ending without a slash ('/') will match a file
+ # or a directory (with paths underneath it). E.g., "foo"
+ # matches "foo", "foo/bar", "foo/bar/baz", etc.
+ output.append("(?:(?P<ps_d>/).*)?")
+
+ need_slash = True
+
+ else:
+ # Match segment glob pattern.
+ if need_slash:
+ output.append("/")
+
+ try:
+ output.append(cls._translate_segment_glob(seg))
+ except ValueError as e:
+ raise GitWildMatchPatternError(f"Invalid git pattern: {original_pattern!r}") from e
+
+ if i == end:
+ # A pattern ending without a slash ('/') will match a file
+ # or a directory (with paths underneath it). E.g., "foo"
+ # matches "foo", "foo/bar", "foo/bar/baz", etc.
+ output.append("(?:(?P<ps_d>/).*)?")
+
+ need_slash = True
+
+ output.append("$")
+ regex = "".join(output)
+
+ else:
+ # Use regex override.
+ regex = override_regex
+
+ else:
+ # A blank pattern is a null-operation (neither includes nor
+ # excludes files).
+ regex = None
+ include = None
+
+ if regex is not None and return_type is bytes:
+ regex = regex.encode(_BYTES_ENCODING)
+
+ return regex, include
+
+ @staticmethod
+ def _translate_segment_glob(pattern: str) -> str:
+ """Translates the glob pattern to a regular expression. This is used in
+ the constructor to translate a path segment glob pattern to its
+ corresponding regular expression.
+
+ :param pattern: The glob pattern.
+ :type pattern: str
+ :return: The regular expression
+ :rtype: str
+ """
+ # NOTE: This is derived from `fnmatch.translate()` and is similar to
+ # the POSIX function `fnmatch()` with the `FNM_PATHNAME` flag set.
+
+ escape = False
+ regex = ""
+ i, end = 0, len(pattern)
+ while i < end:
+ # Get next character.
+ char = pattern[i]
+ i += 1
+
+ if escape:
+ # Escape the character.
+ escape = False
+ regex += re.escape(char)
+
+ elif char == "\\":
+ # Escape character, escape next character.
+ escape = True
+
+ elif char == "*":
+ # Multi-character wildcard. Match any string (except slashes),
+ # including an empty string.
+ regex += "[^/]*"
+
+ elif char == "?":
+ # Single-character wildcard. Match any single character (except
+ # a slash).
+ regex += "[^/]"
+
+ elif char == "[":
+ # Bracket expression wildcard. Except for the beginning
+ # exclamation mark, the whole bracket expression can be used
+ # directly as regex but we have to find where the expression
+ # ends.
+ # - "[][!]" matches ']', '[' and '!'.
+ # - "[]-]" matches ']' and '-'.
+ # - "[!]a-]" matches any character except ']', 'a' and '-'.
+ j = i
+ # Pass back expression negation.
+ if j < end and pattern[j] == "!":
+ j += 1
+ # Pass first closing bracket if it is at the beginning of the
+ # expression.
+ if j < end and pattern[j] == "]":
+ j += 1
+ # Find closing bracket. Stop once we reach the end or find it.
+ while j < end and pattern[j] != "]":
+ j += 1
+
+ if j < end:
+ # Found end of bracket expression. Increment j to be one past
+ # the closing bracket:
+ #
+ # [...]
+ # ^ ^
+ # i j
+ #
+ j += 1
+ expr = "["
+
+ if pattern[i] == "!":
+ # Bracket expression needs to be negated.
+ expr += "^"
+ i += 1
+ elif pattern[i] == "^":
+ # POSIX declares that the regex bracket expression negation
+ # "[^...]" is undefined in a glob pattern. Python's
+ # `fnmatch.translate()` escapes the caret ('^') as a
+ # literal. To maintain consistency with undefined behavior,
+ # I am escaping the '^' as well.
+ expr += "\\^"
+ i += 1
+
+ # Build regex bracket expression. Escape slashes so they are
+ # treated as literal slashes by regex as defined by POSIX.
+ expr += pattern[i:j].replace("\\", "\\\\")
+
+ # Add regex bracket expression to regex result.
+ regex += expr
+
+ # Set i to one past the closing bracket.
+ i = j
+
+ else:
+ # Failed to find closing bracket, treat opening bracket as a
+ # bracket literal instead of as an expression.
+ regex += "\\["
+
+ else:
+ # Regular character, escape it for regex.
+ regex += re.escape(char)
+
+ if escape:
+ raise ValueError(f"Escape character found with no next character to escape: {pattern!r}")
+
+ return regex
+
+ @staticmethod
+ def escape(s: AnyStr) -> AnyStr:
+ """Escape special characters in the given string.
+
+ :param s: a filename or a string that you want to escape, usually before adding it to a ".gitignore".
+ :type s: AnyStr
+ :return: The escaped string
+ :rtype: Union[str, bytes]
+ """
+ if isinstance(s, str):
+ return_type = str
+ string = s
+ elif isinstance(s, bytes):
+ return_type = bytes
+ string = s.decode(_BYTES_ENCODING)
+ else:
+ raise TypeError(f"s:{s!r} is not a unicode or byte string.")
+
+ # Reference: https://git-scm.com/docs/gitignore#_pattern_format
+ meta_characters = r"[]!*#?"
+
+ out_string = "".join("\\" + x if x in meta_characters else x for x in string)
+
+ if return_type is bytes:
+ return out_string.encode(_BYTES_ENCODING)
+ return out_string
+
+
+def normalize_file(file: Union[str, os.PathLike], separators: Optional[Iterable[str]] = None) -> str:
+ """Normalizes the file path to use the POSIX path separator (i.e.,
+ ``'/'``), and make the paths relative (remove leading ``'/'``).
+
+ :param file: The file path.
+ :type file: Union[str, os.PathLike]
+ :param separators: The path separators to normalize. This does not need to include the POSIX path separator
+ (``'/'``), but including it will not affect the results. Default is :data:`None` for
+ :data:`NORMALIZE_PATH_SEPS`. To prevent normalization, pass an empty container (e.g., an empty tuple ``()``).
+ :type separators: Optional[Iterable[str]]
+ :return: The normalized file path.
+ :rtype: str
+ """
+ # Normalize path separators.
+ if separators is None:
+ separators = NORMALIZE_PATH_SEPS
+
+ # Convert path object to string.
+ norm_file = str(file)
+
+ for sep in separators:
+ norm_file = norm_file.replace(sep, posixpath.sep)
+
+ if norm_file.startswith("/"):
+ # Make path relative.
+ norm_file = norm_file[1:]
+
+ elif norm_file.startswith("./"):
+ # Remove current directory prefix.
+ norm_file = norm_file[2:]
+
+ return norm_file
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_preflight_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_preflight_utils.py
new file mode 100644
index 00000000..2a8e8053
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_preflight_utils.py
@@ -0,0 +1,26 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+from typing import Optional
+
+from azure.ai.ml._azure_environments import _get_base_url_from_metadata
+from azure.ai.ml._vendor.azure_resources._resource_management_client import ResourceManagementClient
+from azure.ai.ml._vendor.azure_resources.operations import DeploymentsOperations
+from azure.ai.ml.constants._common import ArmConstants
+from azure.core.credentials import TokenCredential
+
+module_logger = logging.getLogger(__name__)
+
+
+def get_deployments_operation(credentials: TokenCredential, subscription_id: str) -> Optional[DeploymentsOperations]:
+ if subscription_id is None:
+ return None
+ client = ResourceManagementClient(
+ credential=credentials,
+ subscription_id=subscription_id,
+ base_url=_get_base_url_from_metadata(),
+ api_version=ArmConstants.AZURE_MGMT_RESOURCE_API_VERSION,
+ )
+ return client.deployments
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_registry_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_registry_utils.py
new file mode 100644
index 00000000..09c5d1ae
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_registry_utils.py
@@ -0,0 +1,222 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+from typing import Optional, Tuple
+
+from typing_extensions import Literal
+
+from azure.ai.ml._azure_environments import _get_default_cloud_name, _get_registry_discovery_endpoint_from_metadata
+from azure.ai.ml._restclient.registry_discovery import AzureMachineLearningWorkspaces as ServiceClientRegistryDiscovery
+from azure.ai.ml._restclient.v2021_10_01_dataplanepreview import AzureMachineLearningWorkspaces
+from azure.ai.ml._restclient.v2021_10_01_dataplanepreview.models import (
+ BlobReferenceSASRequestDto,
+ TemporaryDataReferenceRequestDto,
+)
+from azure.ai.ml.constants._common import REGISTRY_ASSET_ID
+from azure.ai.ml.exceptions import MlException
+from azure.core.exceptions import HttpResponseError
+
+module_logger = logging.getLogger(__name__)
+
+MFE_PATH_PREFIX = "mferp/managementfrontend"
+
+
+class RegistryDiscovery:
+ def __init__(
+ self,
+ credential: str,
+ registry_name: str,
+ service_client_registry_discovery_client: ServiceClientRegistryDiscovery,
+ **kwargs,
+ ):
+ self.credential = credential
+ self.registry_name = registry_name
+ self.service_client_registry_discovery_client = service_client_registry_discovery_client
+ self.kwargs = kwargs
+ self._resource_group = None
+ self._subscription_id = None
+ self._base_url = None
+ self.workspace_region = kwargs.get("workspace_location", None)
+
+ def _get_registry_details(self) -> str:
+ response = self.service_client_registry_discovery_client.registry_management_non_workspace.registry_management_non_workspace( # pylint: disable=line-too-long
+ self.registry_name
+ )
+ if self.workspace_region:
+ _check_region_fqdn(self.workspace_region, response)
+ self._base_url = f"https://cert-{self.workspace_region}.experiments.azureml.net/{MFE_PATH_PREFIX}"
+ else:
+ self._base_url = f"{response.primary_region_resource_provider_uri}{MFE_PATH_PREFIX}"
+ self._subscription_id = response.subscription_id
+ self._resource_group = response.resource_group
+
+ def get_registry_service_client(self) -> AzureMachineLearningWorkspaces:
+ self._get_registry_details()
+ self.kwargs.pop("subscription_id", None)
+ self.kwargs.pop("resource_group", None)
+ service_client_10_2021_dataplanepreview = AzureMachineLearningWorkspaces(
+ subscription_id=self._subscription_id,
+ resource_group=self._resource_group,
+ credential=self.credential,
+ base_url=self._base_url,
+ **self.kwargs,
+ )
+ return service_client_10_2021_dataplanepreview
+
+ @property
+ def subscription_id(self) -> str:
+ """The subscription id of the registry.
+
+ :return: Subscription Id
+ :rtype: str
+ """
+ return self._subscription_id
+
+ @property
+ def resource_group(self) -> str:
+ """The resource group of the registry.
+
+ :return: Resource Group
+ :rtype: str
+ """
+ return self._resource_group
+
+
+def get_sas_uri_for_registry_asset(service_client, name, version, resource_group, registry, body) -> str:
+ """Get sas_uri for registry asset.
+
+ :param service_client: Service client
+ :type service_client: AzureMachineLearningWorkspaces
+ :param name: Asset name
+ :type name: str
+ :param version: Asset version
+ :type version: str
+ :param resource_group: Resource group
+ :type resource_group: str
+ :param registry: Registry name
+ :type registry: str
+ :param body: Request body
+ :type body: TemporaryDataReferenceRequestDto
+ :rtype: str
+ """
+ sas_uri = None
+ try:
+ res = service_client.temporary_data_references.create_or_get_temporary_data_reference(
+ name=name,
+ version=version,
+ resource_group_name=resource_group,
+ registry_name=registry,
+ body=body,
+ )
+ sas_uri = res.blob_reference_for_consumption.credential.additional_properties["sasUri"]
+ except HttpResponseError as e:
+ # "Asset already exists" exception is thrown from service with error code 409, that we need to ignore
+ if e.status_code == 409:
+ module_logger.debug("Skipping file upload, reason: %s", str(e.reason))
+ else:
+ raise e
+ return sas_uri
+
+
+def get_asset_body_for_registry_storage(
+ registry_name: str, asset_type: str, asset_name: str, asset_version: str
+) -> TemporaryDataReferenceRequestDto:
+ """Get Asset body for registry.
+
+ :param registry_name: Registry name.
+ :type registry_name: str
+ :param asset_type: Asset type.
+ :type asset_type: str
+ :param asset_name: Asset name.
+ :type asset_name: str
+ :param asset_version: Asset version.
+ :type asset_version: str
+ :return: The temporary data reference request dto
+ :rtype: TemporaryDataReferenceRequestDto
+ """
+ body = TemporaryDataReferenceRequestDto(
+ asset_id=REGISTRY_ASSET_ID.format(registry_name, asset_type, asset_name, asset_version),
+ temporary_data_reference_type="TemporaryBlobReference",
+ )
+ return body
+
+
+def get_storage_details_for_registry_assets(
+ service_client: AzureMachineLearningWorkspaces,
+ asset_type: str,
+ asset_name: str,
+ asset_version: str,
+ rg_name: str,
+ reg_name: str,
+ uri: str,
+) -> Tuple[str, Literal["NoCredentials", "SAS"]]:
+ """Get storage details for registry assets.
+
+ :param service_client: AzureMachineLearningWorkspaces service client.
+ :type service_client: AzureMachineLearningWorkspaces
+ :param asset_type: Asset type.
+ :type asset_type: str
+ :param asset_name: Asset name.
+ :type asset_name: str
+ :param asset_version: Asset version.
+ :type asset_version: str
+ :param rg_name: Resource group name.
+ :type rg_name: str
+ :param reg_name: Registry name
+ :type reg_name: str
+ :param uri: asset uri
+ :type uri: str
+ :return: A 2-tuple of a URI and a string. Either:
+ * A blob uri and "NoCredentials"
+ * A sas URI and "SAS"
+ :rtype: Tuple[str, Literal["NoCredentials", "SAS"]]
+ """
+ body = BlobReferenceSASRequestDto(
+ asset_id=REGISTRY_ASSET_ID.format(reg_name, asset_type, asset_name, asset_version),
+ blob_uri=uri,
+ )
+ sas_uri = service_client.data_references.get_blob_reference_sas(
+ name=asset_name,
+ version=asset_version,
+ resource_group_name=rg_name,
+ registry_name=reg_name,
+ body=body,
+ )
+ if sas_uri.blob_reference_for_consumption.credential.credential_type == "no_credentials":
+ return sas_uri.blob_reference_for_consumption.blob_uri, "NoCredentials"
+
+ return (
+ sas_uri.blob_reference_for_consumption.credential.additional_properties["sasUri"],
+ "SAS",
+ )
+
+
+def get_registry_client(credential, registry_name, workspace_location: Optional[str] = None, **kwargs):
+ base_url = _get_registry_discovery_endpoint_from_metadata(_get_default_cloud_name())
+ kwargs.pop("base_url", None)
+
+ service_client_registry_discovery_client = ServiceClientRegistryDiscovery(
+ credential=credential, base_url=base_url, **kwargs
+ )
+ if workspace_location:
+ workspace_kwargs = {"workspace_location": workspace_location}
+ kwargs.update(workspace_kwargs)
+
+ registry_discovery = RegistryDiscovery(
+ credential, registry_name, service_client_registry_discovery_client, **kwargs
+ )
+ service_client_10_2021_dataplanepreview = registry_discovery.get_registry_service_client()
+ subscription_id = registry_discovery.subscription_id
+ resource_group_name = registry_discovery.resource_group
+ return service_client_10_2021_dataplanepreview, resource_group_name, subscription_id
+
+
+def _check_region_fqdn(workspace_region, response):
+ if workspace_region in response.additional_properties["registryFqdns"].keys():
+ return
+ regions = list(response.additional_properties["registryFqdns"].keys())
+ msg = f"Workspace region {workspace_region} not supported by the \
+ registry {response.registry_name} regions {regions}"
+ raise MlException(message=msg, no_personal_data_message=msg)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_storage_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_storage_utils.py
new file mode 100644
index 00000000..df2ec65f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_storage_utils.py
@@ -0,0 +1,207 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+import re
+from typing import Optional, Tuple, Union
+
+from azure.ai.ml._artifacts._blob_storage_helper import BlobStorageClient
+from azure.ai.ml._artifacts._constants import STORAGE_URI_REGEX
+from azure.ai.ml._artifacts._fileshare_storage_helper import FileStorageClient
+from azure.ai.ml._artifacts._gen2_storage_helper import Gen2StorageClient
+from azure.ai.ml._azure_environments import _get_storage_endpoint_from_metadata
+from azure.ai.ml._restclient.v2022_10_01.models import DatastoreType
+from azure.ai.ml.constants._common import (
+ FILE_PREFIX,
+ FOLDER_PREFIX,
+ JOB_URI_REGEX_FORMAT,
+ LONG_URI_FORMAT,
+ LONG_URI_REGEX_FORMAT,
+ MLFLOW_URI_REGEX_FORMAT,
+ OUTPUT_URI_REGEX_FORMAT,
+ SHORT_URI_FORMAT,
+ SHORT_URI_REGEX_FORMAT,
+ STORAGE_ACCOUNT_URLS,
+)
+from azure.ai.ml.exceptions import ErrorTarget, MlException, ValidationErrorType, ValidationException
+
+module_logger = logging.getLogger(__name__)
+
+
+class AzureMLDatastorePathUri:
+ """Parser for an azureml:// datastore path URI, e.g.: azureml://datastores/mydatastore/paths/images/dogs'.
+
+ :param uri: The AzureML datastore path URI.
+ :type uri: str
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if the AzureML datastore
+ path URI is incorrectly formatted.
+ '
+ """
+
+ def __init__(self, uri: str):
+ if uri.startswith(FILE_PREFIX):
+ uri = uri[len(FILE_PREFIX) :]
+ elif uri.startswith(FOLDER_PREFIX):
+ uri = uri[len(FOLDER_PREFIX) :]
+ self.uri = uri
+
+ short_uri_match = re.match(SHORT_URI_REGEX_FORMAT, uri)
+ ml_flow_uri_match = re.match(MLFLOW_URI_REGEX_FORMAT, uri)
+ job_uri_match = re.match(JOB_URI_REGEX_FORMAT, uri)
+ long_uri_match = re.match(LONG_URI_REGEX_FORMAT, uri)
+ output_uri_match = re.match(OUTPUT_URI_REGEX_FORMAT, uri)
+
+ if short_uri_match:
+ self.datastore = short_uri_match.group(1)
+ self.path = short_uri_match.group(2)
+ self.uri_type = "Datastore"
+ self.workspace_name = None
+ self.resource_group = None
+ self.subscription_id = None
+ elif ml_flow_uri_match:
+ self.datastore = ml_flow_uri_match.group(1)
+ self.path = ml_flow_uri_match.group(2)
+ self.uri_type = "MlFlow"
+ self.workspace_name = None
+ self.resource_group = None
+ self.subscription_id = None
+ elif job_uri_match:
+ self.datastore = job_uri_match.group(1)
+ self.path = job_uri_match.group(2)
+ self.uri_type = "Job"
+ self.workspace_name = None
+ self.resource_group = None
+ self.subscription_id = None
+ elif output_uri_match:
+ self.datastore = output_uri_match.group(1)
+ self.path = output_uri_match.group(2)
+ self.uri_type = None
+ self.workspace_name = None
+ self.resource_group = None
+ self.subscription_id = None
+ elif long_uri_match:
+ self.datastore = long_uri_match.group(4)
+ self.path = long_uri_match.group(5)
+ self.uri_type = "Datastore"
+ self.workspace_name = long_uri_match.group(3)
+ self.resource_group = long_uri_match.group(2)
+ self.subscription_id = long_uri_match.group(1)
+ else:
+ msg = "Invalid AzureML datastore path URI {}"
+ raise ValidationException(
+ message=msg.format(uri),
+ no_personal_data_message=msg.format("[uri]"),
+ target=ErrorTarget.DATASTORE,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ def to_short_uri(self) -> str:
+ return SHORT_URI_FORMAT.format(self.datastore, self.path)
+
+ def to_long_uri(self, subscription_id: str, resource_group_name: str, workspace_name: str) -> str:
+ return LONG_URI_FORMAT.format(
+ subscription_id,
+ resource_group_name,
+ workspace_name,
+ self.datastore,
+ self.path,
+ )
+
+ def get_uri_type(self) -> str:
+ if self.uri[0:20] == "azureml://datastores":
+ return "Datastore"
+ if self.uri[0:14] == "azureml://jobs":
+ return "Jobs"
+
+ if self.uri[0 : self.uri.find(":")] == "runs":
+ return "MLFlow"
+ msg = "Invalid uri format for {}. URI must start with 'azureml://' or 'runs:/'"
+ raise ValidationException(
+ message=msg.format(self.uri),
+ no_personal_data_message=msg.format("[self.uri]"),
+ target=ErrorTarget.DATASTORE,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+
+def get_storage_client(
+ credential: str,
+ storage_account: str,
+ storage_type: Union[DatastoreType, str] = DatastoreType.AZURE_BLOB,
+ account_url: Optional[str] = None,
+ container_name: Optional[str] = None,
+) -> Union[BlobStorageClient, FileStorageClient, Gen2StorageClient]:
+ """Return a storage client class instance based on the storage account type.
+
+ :param credential: The credential
+ :type credential: str
+ :param storage_account: The storage_account name
+ :type storage_account: str
+ :param storage_type: The storage type
+ :type storage_type: Union[DatastoreType, str]
+ :param account_url: The account url
+ :type account_url: Optional[str]
+ :param container_name: The container name
+ :type container_name: Optional[str]
+ :return: The storage client
+ :rtype: Union[BlobStorageClient, FileStorageClient, Gen2StorageClient]
+ """
+ client_builders = {
+ DatastoreType.AZURE_BLOB: lambda credential, container_name, account_url: BlobStorageClient(
+ credential=credential, account_url=account_url, container_name=container_name
+ ),
+ DatastoreType.AZURE_DATA_LAKE_GEN2: lambda credential, container_name, account_url: Gen2StorageClient(
+ credential=credential, file_system=container_name, account_url=account_url
+ ),
+ DatastoreType.AZURE_FILE: lambda credential, container_name, account_url: FileStorageClient(
+ credential=credential, file_share_name=container_name, account_url=account_url
+ ),
+ }
+
+ if storage_type not in client_builders:
+ msg = (
+ f"Datastore type {storage_type} is not supported. Supported storage"
+ + f"types for artifact upload include: {*client_builders,}"
+ )
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message=msg,
+ target=ErrorTarget.DATASTORE,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ storage_endpoint = _get_storage_endpoint_from_metadata()
+ if not account_url and storage_endpoint:
+ account_url = STORAGE_ACCOUNT_URLS[storage_type].format(storage_account, storage_endpoint)
+ return client_builders[storage_type](credential, container_name, account_url)
+
+
+def get_artifact_path_from_storage_url(blob_url: str, container_name: dict) -> str:
+ split_blob_url = blob_url.split(container_name)
+ if len(split_blob_url) > 1:
+ path = split_blob_url[-1]
+ if path.startswith("/"):
+ return path[1:]
+ return path
+ return blob_url
+
+
+def get_ds_name_and_path_prefix(asset_uri: str, registry_name: Optional[str] = None) -> Tuple[str, str]:
+ if registry_name:
+ try:
+ split_paths = re.findall(STORAGE_URI_REGEX, asset_uri)
+ path_prefix = split_paths[0][-1]
+ except Exception as e:
+ msg = "Registry asset URI could not be parsed."
+ raise MlException(message=msg, no_personal_data_message=msg) from e
+ ds_name = None
+ else:
+ try:
+ ds_name = asset_uri.split("paths")[0].split("/")[-2]
+ path_prefix = asset_uri.split("paths")[1][1:]
+ except Exception as e:
+ msg = "Workspace asset URI could not be parsed."
+ raise MlException(message=msg, no_personal_data_message=msg) from e
+
+ return ds_name, path_prefix
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/__init__.py
new file mode 100644
index 00000000..dcf2df4f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/__init__.py
@@ -0,0 +1,57 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+from azure.ai.ml.entities import Job
+from azure.ai.ml.entities._job.base_job import _BaseJob
+from azure.ai.ml.entities._system_data import SystemData
+
+from ._restclient.index_service_apis import IndexServiceAPIs
+from ._restclient.index_service_apis.models import (
+ CrossRegionIndexEntitiesRequest,
+ IndexEntitiesRequest,
+ IndexEntitiesRequestFilter,
+ IndexEntitiesRequestOrder,
+ IndexEntitiesRequestOrderDirection,
+ IndexEntityResponse,
+)
+
+__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
+
+
+def index_entity_response_to_job(entity: IndexEntityResponse) -> Job:
+ properties = entity.properties
+ annotations = entity.annotations
+ creation_context = SystemData(
+ created_by=properties.creation_context.created_by.user_name,
+ created_by_type="User",
+ created_at=properties.creation_context.created_time,
+ )
+
+ return _BaseJob(
+ name=properties.additional_properties["runId"],
+ display_name=annotations.additional_properties["displayName"],
+ description=annotations.additional_properties["description"] or "",
+ tags=annotations.tags,
+ properties=properties.additional_properties["userProperties"],
+ experiment_name=properties.additional_properties["experimentName"],
+ services={},
+ status=annotations.additional_properties["status"],
+ creation_context=creation_context,
+ compute=(
+ properties.additional_properties["compute"]["armId"]
+ if "compute" in properties.additional_properties
+ else None
+ ),
+ )
+
+
+__all__ = [
+ "IndexServiceAPIs",
+ "CrossRegionIndexEntitiesRequest",
+ "IndexEntitiesRequest",
+ "IndexEntitiesRequestFilter",
+ "IndexEntitiesRequestOrder",
+ "IndexEntitiesRequestOrderDirection",
+ "index_entity_response_to_job",
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/__init__.py
new file mode 100644
index 00000000..29a4fcd3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/__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/_utils/_virtual_cluster_utils/_restclient/index_service_apis/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/__init__.py
new file mode 100644
index 00000000..bbe9c82c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/__init__.py
@@ -0,0 +1,17 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._index_service_apis import IndexServiceAPIs
+from ._version import VERSION
+
+__version__ = VERSION
+__all__ = ["IndexServiceAPIs"]
+
+# `._patch.py` is used for handwritten extensions to the generated code
+# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+from ._patch import patch_sdk
+
+patch_sdk()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_configuration.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_configuration.py
new file mode 100644
index 00000000..abe36f8c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_configuration.py
@@ -0,0 +1,63 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from typing import TYPE_CHECKING
+
+from azure.core.configuration import Configuration
+from azure.core.pipeline import policies
+from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
+
+from ._version import VERSION
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any
+
+ from azure.core.credentials import TokenCredential
+
+
+class IndexServiceAPIsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
+ """Configuration for IndexServiceAPIs.
+
+ Note that all parameters used to create this instance are saved as instance
+ attributes.
+
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials.TokenCredential
+ """
+
+ def __init__(
+ self,
+ credential, # type: "TokenCredential"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ super(IndexServiceAPIsConfiguration, self).__init__(**kwargs)
+ if credential is None:
+ raise ValueError("Parameter 'credential' must not be None.")
+
+ self.credential = credential
+ self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
+ kwargs.setdefault("sdk_moniker", "indexserviceapis/{}".format(VERSION))
+ self._configure(**kwargs)
+
+ def _configure(
+ self, **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
+ self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
+ self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
+ self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
+ self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
+ self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
+ self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
+ self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
+ self.authentication_policy = kwargs.get("authentication_policy")
+ if self.credential and not self.authentication_policy:
+ self.authentication_policy = ARMChallengeAuthenticationPolicy(
+ self.credential, *self.credential_scopes, **kwargs
+ )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_index_service_apis.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_index_service_apis.py
new file mode 100644
index 00000000..c0d3b3bf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_index_service_apis.py
@@ -0,0 +1,91 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from copy import deepcopy
+from typing import TYPE_CHECKING
+
+from msrest import Deserializer, Serializer
+
+from azure.mgmt.core import ARMPipelineClient
+
+from . import models
+from ._configuration import IndexServiceAPIsConfiguration
+from .operations import IndexEntitiesOperations
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any
+
+ from azure.core.credentials import TokenCredential
+ from azure.core.rest import HttpRequest, HttpResponse
+
+
+class IndexServiceAPIs(object):
+ """IndexServiceAPIs.
+
+ :ivar index_entities: IndexEntitiesOperations operations
+ :vartype index_entities: index_service_apis.operations.IndexEntitiesOperations
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials.TokenCredential
+ :param base_url: Service URL. Default value is ''.
+ :type base_url: str
+ """
+
+ def __init__(
+ self,
+ credential, # type: "TokenCredential"
+ base_url="", # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ self._config = IndexServiceAPIsConfiguration(credential=credential, **kwargs)
+ self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+
+ client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
+ self._serialize = Serializer(client_models)
+ self._deserialize = Deserializer(client_models)
+ self._serialize.client_side_validation = False
+ self.index_entities = IndexEntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
+
+ def _send_request(
+ self,
+ request, # type: HttpRequest
+ **kwargs # type: Any
+ ):
+ # type: (...) -> HttpResponse
+ """Runs the network request through the client's chained policies.
+
+ >>> from azure.core.rest import HttpRequest
+ >>> request = HttpRequest("GET", "https://www.example.org/")
+ <HttpRequest [GET], url: 'https://www.example.org/'>
+ >>> response = client._send_request(request)
+ <HttpResponse: 200 OK>
+
+ For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
+
+ :param request: The network request you want to make. Required.
+ :type request: ~azure.core.rest.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to False.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.rest.HttpResponse
+ """
+
+ request_copy = deepcopy(request)
+ request_copy.url = self._client.format_url(request_copy.url)
+ return self._client.send_request(request_copy, **kwargs)
+
+ def close(self):
+ # type: () -> None
+ self._client.close()
+
+ def __enter__(self):
+ # type: () -> IndexServiceAPIs
+ self._client.__enter__()
+ return self
+
+ def __exit__(self, *exc_details):
+ # type: (Any) -> None
+ self._client.__exit__(*exc_details)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_patch.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_patch.py
new file mode 100644
index 00000000..17dbc073
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_patch.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+#
+# Copyright (c) Microsoft Corporation. All rights reserved.
+#
+# The MIT License (MIT)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the ""Software""), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+# --------------------------------------------------------------------------
+
+
+# This file is used for handwritten extensions to the generated code. Example:
+# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+def patch_sdk():
+ pass
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_vendor.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_vendor.py
new file mode 100644
index 00000000..cc6e8179
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_vendor.py
@@ -0,0 +1,14 @@
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.core.pipeline.transport import HttpRequest
+
+
+def _convert_request(request, files=None):
+ data = request.content if not files else None
+ request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
+ if files:
+ request.set_formdata_body(files)
+ return request
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_version.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_version.py
new file mode 100644
index 00000000..c45fe3b0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/_version.py
@@ -0,0 +1,7 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+VERSION = "0.1.0"
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/__init__.py
new file mode 100644
index 00000000..a22bc3dd
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/__init__.py
@@ -0,0 +1,15 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._index_service_apis import IndexServiceAPIs
+
+__all__ = ["IndexServiceAPIs"]
+
+# `._patch.py` is used for handwritten extensions to the generated code
+# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+from ._patch import patch_sdk
+
+patch_sdk()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_configuration.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_configuration.py
new file mode 100644
index 00000000..1476e175
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_configuration.py
@@ -0,0 +1,53 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from typing import Any, TYPE_CHECKING
+
+from azure.core.configuration import Configuration
+from azure.core.pipeline import policies
+from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy
+
+from .._version import VERSION
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from azure.core.credentials_async import AsyncTokenCredential
+
+
+class IndexServiceAPIsConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
+ """Configuration for IndexServiceAPIs.
+
+ Note that all parameters used to create this instance are saved as instance
+ attributes.
+
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials_async.AsyncTokenCredential
+ """
+
+ def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None:
+ super(IndexServiceAPIsConfiguration, self).__init__(**kwargs)
+ if credential is None:
+ raise ValueError("Parameter 'credential' must not be None.")
+
+ self.credential = credential
+ self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
+ kwargs.setdefault("sdk_moniker", "indexserviceapis/{}".format(VERSION))
+ self._configure(**kwargs)
+
+ def _configure(self, **kwargs: Any) -> None:
+ self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
+ self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
+ self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
+ self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
+ self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
+ self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
+ self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
+ self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs)
+ self.authentication_policy = kwargs.get("authentication_policy")
+ if self.credential and not self.authentication_policy:
+ self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(
+ self.credential, *self.credential_scopes, **kwargs
+ )
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_index_service_apis.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_index_service_apis.py
new file mode 100644
index 00000000..33a8eca6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_index_service_apis.py
@@ -0,0 +1,75 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from copy import deepcopy
+from typing import Any, Awaitable, TYPE_CHECKING
+
+from msrest import Deserializer, Serializer
+
+from azure.core.rest import AsyncHttpResponse, HttpRequest
+from azure.mgmt.core import AsyncARMPipelineClient
+
+from .. import models
+from ._configuration import IndexServiceAPIsConfiguration
+from .operations import IndexEntitiesOperations
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from azure.core.credentials_async import AsyncTokenCredential
+
+
+class IndexServiceAPIs:
+ """IndexServiceAPIs.
+
+ :ivar index_entities: IndexEntitiesOperations operations
+ :vartype index_entities: index_service_apis.aio.operations.IndexEntitiesOperations
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials_async.AsyncTokenCredential
+ :param base_url: Service URL. Default value is ''.
+ :type base_url: str
+ """
+
+ def __init__(self, credential: "AsyncTokenCredential", base_url: str = "", **kwargs: Any) -> None:
+ self._config = IndexServiceAPIsConfiguration(credential=credential, **kwargs)
+ self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+
+ client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
+ self._serialize = Serializer(client_models)
+ self._deserialize = Deserializer(client_models)
+ self._serialize.client_side_validation = False
+ self.index_entities = IndexEntitiesOperations(self._client, self._config, self._serialize, self._deserialize)
+
+ def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]:
+ """Runs the network request through the client's chained policies.
+
+ >>> from azure.core.rest import HttpRequest
+ >>> request = HttpRequest("GET", "https://www.example.org/")
+ <HttpRequest [GET], url: 'https://www.example.org/'>
+ >>> response = await client._send_request(request)
+ <AsyncHttpResponse: 200 OK>
+
+ For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
+
+ :param request: The network request you want to make. Required.
+ :type request: ~azure.core.rest.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to False.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.rest.AsyncHttpResponse
+ """
+
+ request_copy = deepcopy(request)
+ request_copy.url = self._client.format_url(request_copy.url)
+ return self._client.send_request(request_copy, **kwargs)
+
+ async def close(self) -> None:
+ await self._client.close()
+
+ async def __aenter__(self) -> "IndexServiceAPIs":
+ await self._client.__aenter__()
+ return self
+
+ async def __aexit__(self, *exc_details) -> None:
+ await self._client.__aexit__(*exc_details)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_patch.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_patch.py
new file mode 100644
index 00000000..17dbc073
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/_patch.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+#
+# Copyright (c) Microsoft Corporation. All rights reserved.
+#
+# The MIT License (MIT)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the ""Software""), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+# --------------------------------------------------------------------------
+
+
+# This file is used for handwritten extensions to the generated code. Example:
+# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+def patch_sdk():
+ pass
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/__init__.py
new file mode 100644
index 00000000..19ac2fed
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/__init__.py
@@ -0,0 +1,11 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._index_entities_operations import IndexEntitiesOperations
+
+__all__ = [
+ "IndexEntitiesOperations",
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/_index_entities_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/_index_entities_operations.py
new file mode 100644
index 00000000..b38a0dcb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/aio/operations/_index_entities_operations.py
@@ -0,0 +1,128 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ map_error,
+)
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._index_entities_operations import build_get_entites_cross_region_request
+
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class IndexEntitiesOperations:
+ """IndexEntitiesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~index_service_apis.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def get_entites_cross_region(
+ self, body: Optional["_models.CrossRegionIndexEntitiesRequest"] = None, **kwargs: Any
+ ) -> AsyncIterable["_models.IndexEntitiesResponse"]:
+ """get_entites_cross_region.
+
+ :param body:
+ :type body: ~index_service_apis.models.CrossRegionIndexEntitiesRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either IndexEntitiesResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~index_service_apis.models.IndexEntitiesResponse]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ content_type = kwargs.pop("content_type", "application/json-patch+json") # type: Optional[str]
+
+ cls = kwargs.pop("cls", None) # type: ClsType["_models.IndexEntitiesResponse"]
+ error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
+ error_map.update(kwargs.pop("error_map", {}))
+
+ def prepare_request(next_link=None):
+ if not next_link:
+ if body is not None:
+ _json = self._serialize.body(body, "CrossRegionIndexEntitiesRequest")
+ else:
+ _json = None
+
+ request = build_get_entites_cross_region_request(
+ content_type=content_type,
+ json=_json,
+ template_url=self.get_entites_cross_region.metadata["url"],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ if body is not None:
+ _json = self._serialize.body(body, "CrossRegionIndexEntitiesRequest")
+ else:
+ _json = None
+
+ request = build_get_entites_cross_region_request(
+ content_type=content_type,
+ json=_json,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("IndexEntitiesResponse", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=False, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return AsyncItemPaged(get_next, extract_data)
+
+ get_entites_cross_region.metadata = {"url": "/ux/v1.0/entities/crossRegion"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/__init__.py
new file mode 100644
index 00000000..7e5d9a66
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/__init__.py
@@ -0,0 +1,517 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+try:
+ from ._models_py3 import BatchEndpointAnnotations
+ from ._models_py3 import BatchEndpointProperties
+ from ._models_py3 import BatchendpointsUnversionedEntitiesResponse
+ from ._models_py3 import BatchendpointsUnversionedEntity
+ from ._models_py3 import Compute
+ from ._models_py3 import ComputeRequest
+ from ._models_py3 import ContainerResourceRequirements
+ from ._models_py3 import ControlOutput
+ from ._models_py3 import CreatedBy
+ from ._models_py3 import CreatedBy1
+ from ._models_py3 import CreationContext
+ from ._models_py3 import CronTrigger
+ from ._models_py3 import CrossRegionIndexEntitiesRequest
+ from ._models_py3 import CrossRegionIndexEntitiesResponse
+ from ._models_py3 import CudaAttribute
+ from ._models_py3 import DataStoreAnnotations
+ from ._models_py3 import DataStoreProperties
+ from ._models_py3 import DatasetAnnotations
+ from ._models_py3 import DatasetProperties
+ from ._models_py3 import DatasetReference
+ from ._models_py3 import DatasetsVersionedEntitiesResponse
+ from ._models_py3 import DatasetsVersionedEntity
+ from ._models_py3 import DatastoresUnversionedEntitiesResponse
+ from ._models_py3 import DatastoresUnversionedEntity
+ from ._models_py3 import DebugInfoResponse
+ from ._models_py3 import DefinitionAnnotations
+ from ._models_py3 import DefinitionProperties
+ from ._models_py3 import EndpointComputeTarget
+ from ._models_py3 import EnvironmentAttributes
+ from ._models_py3 import EnvironmentsVersionedEntitiesResponse
+ from ._models_py3 import EnvironmentsVersionedEntity
+ from ._models_py3 import ErrorAdditionalInfo
+ from ._models_py3 import ErrorResponse
+ from ._models_py3 import ExperimentStatus
+ from ._models_py3 import Feature
+ from ._models_py3 import FeatureEntityVersionAnnotations
+ from ._models_py3 import FeatureEntityVersionProperties
+ from ._models_py3 import FeatureSetVersionAnnotations
+ from ._models_py3 import FeatureSetVersionProperties
+ from ._models_py3 import FeatureSourceDto
+ from ._models_py3 import FeatureTransformationDto
+ from ._models_py3 import FeatureentitiesVersionedEntitiesResponse
+ from ._models_py3 import FeatureentitiesVersionedEntity
+ from ._models_py3 import FeaturesetSpecification
+ from ._models_py3 import FeaturesetsVersionedEntitiesResponse
+ from ._models_py3 import FeaturesetsVersionedEntity
+ from ._models_py3 import FeaturestoreentitiesVersionedEntitiesResponse
+ from ._models_py3 import FeaturestoreentitiesVersionedEntity
+ from ._models_py3 import FreeTextSearchColumn
+ from ._models_py3 import GenericTriggerAnnotations
+ from ._models_py3 import GenericTriggerProperties
+ from ._models_py3 import GenerictriggersUnversionedEntitiesResponse
+ from ._models_py3 import GenerictriggersUnversionedEntity
+ from ._models_py3 import HighlightOptions
+ from ._models_py3 import IndependentPipelineAnnotations
+ from ._models_py3 import IndependentPipelineProperties
+ from ._models_py3 import IndependentpipelinesUnversionedEntitiesResponse
+ from ._models_py3 import IndependentpipelinesUnversionedEntity
+ from ._models_py3 import IndexAnnotations
+ from ._models_py3 import IndexColumn
+ from ._models_py3 import IndexColumnDto
+ from ._models_py3 import IndexEntitiesLocalOperationRequest
+ from ._models_py3 import IndexEntitiesRequest
+ from ._models_py3 import IndexEntitiesRequestFilter
+ from ._models_py3 import IndexEntitiesRequestGroup
+ from ._models_py3 import IndexEntitiesRequestOrder
+ from ._models_py3 import IndexEntitiesResponse
+ from ._models_py3 import IndexEntityContainerMetadata
+ from ._models_py3 import IndexEntityResponse
+ from ._models_py3 import IndexProperties
+ from ._models_py3 import IndexResourceDiscoveryResponseItem
+ from ._models_py3 import IndexResourceDiscoveryResponseItemPaginatedResult
+ from ._models_py3 import IndexedErrorResponse
+ from ._models_py3 import InnerErrorResponse
+ from ._models_py3 import InputNameAndDataTypeIdsList
+ from ._models_py3 import InternalUxPresenceWarmUpRequest
+ from ._models_py3 import JobCost
+ from ._models_py3 import MaterializationComputeResource
+ from ._models_py3 import MaterializationSettings
+ from ._models_py3 import ModelAnnotations
+ from ._models_py3 import ModelProperties
+ from ._models_py3 import ModelsVersionedEntitiesResponse
+ from ._models_py3 import ModelsVersionedEntity
+ from ._models_py3 import ModuleAnnotations
+ from ._models_py3 import ModuleProperties
+ from ._models_py3 import ModulesVersionedEntitiesResponse
+ from ._models_py3 import ModulesVersionedEntity
+ from ._models_py3 import NotificationSetting
+ from ._models_py3 import OnlineEndpointAnnotations
+ from ._models_py3 import OnlineEndpointProperties
+ from ._models_py3 import OnlineendpointsUnversionedEntitiesResponse
+ from ._models_py3 import OnlineendpointsUnversionedEntity
+ from ._models_py3 import OutputNameAndDataTypeId
+ from ._models_py3 import PipelineAnnotations
+ from ._models_py3 import PipelineDraftAnnotations
+ from ._models_py3 import PipelineDraftProperties
+ from ._models_py3 import PipelineProperties
+ from ._models_py3 import PipelineRunAnnotations
+ from ._models_py3 import PipelineRunProperties
+ from ._models_py3 import PipelinedraftsUnversionedEntitiesResponse
+ from ._models_py3 import PipelinedraftsUnversionedEntity
+ from ._models_py3 import PipelinerunsUnversionedEntitiesResponse
+ from ._models_py3 import PipelinerunsUnversionedEntity
+ from ._models_py3 import PipelinesVersionedEntitiesResponse
+ from ._models_py3 import PipelinesVersionedEntity
+ from ._models_py3 import Purpose
+ from ._models_py3 import Recurrence
+ from ._models_py3 import RecurrenceSchedule
+ from ._models_py3 import RecurrenceTrigger
+ from ._models_py3 import Relationship
+ from ._models_py3 import ResourceDiscoveryContainerMetadata
+ from ._models_py3 import ResourceDiscoveryContainerMetadataPaginatedResult
+ from ._models_py3 import ResourceDiscoveryRequest
+ from ._models_py3 import ResourceInformation
+ from ._models_py3 import ResourceRegion
+ from ._models_py3 import RootError
+ from ._models_py3 import RunAnnotations
+ from ._models_py3 import RunIndexMetricSummaryJValue
+ from ._models_py3 import RunIndexMetricSummaryObject
+ from ._models_py3 import RunIndexResourceMetricSummary
+ from ._models_py3 import RunProperties
+ from ._models_py3 import RunTypeV2Index
+ from ._models_py3 import RunsUnversionedEntitiesResponse
+ from ._models_py3 import RunsUnversionedEntity
+ from ._models_py3 import SingleShardFanoutData
+ from ._models_py3 import StringContainsRequest
+ from ._models_py3 import StructuredInterfaceParameter
+ from ._models_py3 import TimeDeltaDto
+ from ._models_py3 import TimestampColumnDto
+ from ._models_py3 import UnqueriableResourcesScope
+ from ._models_py3 import Usage
+ from ._models_py3 import UserDto
+ from ._models_py3 import UxPresenceResource
+ from ._models_py3 import UxWarmUpRequest
+ from ._models_py3 import VersionedAttribute
+ from ._models_py3 import Webhook
+ from ._models_py3 import WorkspaceContextWarmUpRequest
+except (SyntaxError, ImportError):
+ from ._models import BatchEndpointAnnotations # type: ignore
+ from ._models import BatchEndpointProperties # type: ignore
+ from ._models import BatchendpointsUnversionedEntitiesResponse # type: ignore
+ from ._models import BatchendpointsUnversionedEntity # type: ignore
+ from ._models import Compute # type: ignore
+ from ._models import ComputeRequest # type: ignore
+ from ._models import ContainerResourceRequirements # type: ignore
+ from ._models import ControlOutput # type: ignore
+ from ._models import CreatedBy # type: ignore
+ from ._models import CreatedBy1 # type: ignore
+ from ._models import CreationContext # type: ignore
+ from ._models import CronTrigger # type: ignore
+ from ._models import CrossRegionIndexEntitiesRequest # type: ignore
+ from ._models import CrossRegionIndexEntitiesResponse # type: ignore
+ from ._models import CudaAttribute # type: ignore
+ from ._models import DataStoreAnnotations # type: ignore
+ from ._models import DataStoreProperties # type: ignore
+ from ._models import DatasetAnnotations # type: ignore
+ from ._models import DatasetProperties # type: ignore
+ from ._models import DatasetReference # type: ignore
+ from ._models import DatasetsVersionedEntitiesResponse # type: ignore
+ from ._models import DatasetsVersionedEntity # type: ignore
+ from ._models import DatastoresUnversionedEntitiesResponse # type: ignore
+ from ._models import DatastoresUnversionedEntity # type: ignore
+ from ._models import DebugInfoResponse # type: ignore
+ from ._models import DefinitionAnnotations # type: ignore
+ from ._models import DefinitionProperties # type: ignore
+ from ._models import EndpointComputeTarget # type: ignore
+ from ._models import EnvironmentAttributes # type: ignore
+ from ._models import EnvironmentsVersionedEntitiesResponse # type: ignore
+ from ._models import EnvironmentsVersionedEntity # type: ignore
+ from ._models import ErrorAdditionalInfo # type: ignore
+ from ._models import ErrorResponse # type: ignore
+ from ._models import ExperimentStatus # type: ignore
+ from ._models import Feature # type: ignore
+ from ._models import FeatureEntityVersionAnnotations # type: ignore
+ from ._models import FeatureEntityVersionProperties # type: ignore
+ from ._models import FeatureSetVersionAnnotations # type: ignore
+ from ._models import FeatureSetVersionProperties # type: ignore
+ from ._models import FeatureSourceDto # type: ignore
+ from ._models import FeatureTransformationDto # type: ignore
+ from ._models import FeatureentitiesVersionedEntitiesResponse # type: ignore
+ from ._models import FeatureentitiesVersionedEntity # type: ignore
+ from ._models import FeaturesetSpecification # type: ignore
+ from ._models import FeaturesetsVersionedEntitiesResponse # type: ignore
+ from ._models import FeaturesetsVersionedEntity # type: ignore
+ from ._models import FeaturestoreentitiesVersionedEntitiesResponse # type: ignore
+ from ._models import FeaturestoreentitiesVersionedEntity # type: ignore
+ from ._models import FreeTextSearchColumn # type: ignore
+ from ._models import GenericTriggerAnnotations # type: ignore
+ from ._models import GenericTriggerProperties # type: ignore
+ from ._models import GenerictriggersUnversionedEntitiesResponse # type: ignore
+ from ._models import GenerictriggersUnversionedEntity # type: ignore
+ from ._models import HighlightOptions # type: ignore
+ from ._models import IndependentPipelineAnnotations # type: ignore
+ from ._models import IndependentPipelineProperties # type: ignore
+ from ._models import IndependentpipelinesUnversionedEntitiesResponse # type: ignore
+ from ._models import IndependentpipelinesUnversionedEntity # type: ignore
+ from ._models import IndexAnnotations # type: ignore
+ from ._models import IndexColumn # type: ignore
+ from ._models import IndexColumnDto # type: ignore
+ from ._models import IndexEntitiesLocalOperationRequest # type: ignore
+ from ._models import IndexEntitiesRequest # type: ignore
+ from ._models import IndexEntitiesRequestFilter # type: ignore
+ from ._models import IndexEntitiesRequestGroup # type: ignore
+ from ._models import IndexEntitiesRequestOrder # type: ignore
+ from ._models import IndexEntitiesResponse # type: ignore
+ from ._models import IndexEntityContainerMetadata # type: ignore
+ from ._models import IndexEntityResponse # type: ignore
+ from ._models import IndexProperties # type: ignore
+ from ._models import IndexResourceDiscoveryResponseItem # type: ignore
+ from ._models import IndexResourceDiscoveryResponseItemPaginatedResult # type: ignore
+ from ._models import IndexedErrorResponse # type: ignore
+ from ._models import InnerErrorResponse # type: ignore
+ from ._models import InputNameAndDataTypeIdsList # type: ignore
+ from ._models import InternalUxPresenceWarmUpRequest # type: ignore
+ from ._models import JobCost # type: ignore
+ from ._models import MaterializationComputeResource # type: ignore
+ from ._models import MaterializationSettings # type: ignore
+ from ._models import ModelAnnotations # type: ignore
+ from ._models import ModelProperties # type: ignore
+ from ._models import ModelsVersionedEntitiesResponse # type: ignore
+ from ._models import ModelsVersionedEntity # type: ignore
+ from ._models import ModuleAnnotations # type: ignore
+ from ._models import ModuleProperties # type: ignore
+ from ._models import ModulesVersionedEntitiesResponse # type: ignore
+ from ._models import ModulesVersionedEntity # type: ignore
+ from ._models import NotificationSetting # type: ignore
+ from ._models import OnlineEndpointAnnotations # type: ignore
+ from ._models import OnlineEndpointProperties # type: ignore
+ from ._models import OnlineendpointsUnversionedEntitiesResponse # type: ignore
+ from ._models import OnlineendpointsUnversionedEntity # type: ignore
+ from ._models import OutputNameAndDataTypeId # type: ignore
+ from ._models import PipelineAnnotations # type: ignore
+ from ._models import PipelineDraftAnnotations # type: ignore
+ from ._models import PipelineDraftProperties # type: ignore
+ from ._models import PipelineProperties # type: ignore
+ from ._models import PipelineRunAnnotations # type: ignore
+ from ._models import PipelineRunProperties # type: ignore
+ from ._models import PipelinedraftsUnversionedEntitiesResponse # type: ignore
+ from ._models import PipelinedraftsUnversionedEntity # type: ignore
+ from ._models import PipelinerunsUnversionedEntitiesResponse # type: ignore
+ from ._models import PipelinerunsUnversionedEntity # type: ignore
+ from ._models import PipelinesVersionedEntitiesResponse # type: ignore
+ from ._models import PipelinesVersionedEntity # type: ignore
+ from ._models import Purpose # type: ignore
+ from ._models import Recurrence # type: ignore
+ from ._models import RecurrenceSchedule # type: ignore
+ from ._models import RecurrenceTrigger # type: ignore
+ from ._models import Relationship # type: ignore
+ from ._models import ResourceDiscoveryContainerMetadata # type: ignore
+ from ._models import ResourceDiscoveryContainerMetadataPaginatedResult # type: ignore
+ from ._models import ResourceDiscoveryRequest # type: ignore
+ from ._models import ResourceInformation # type: ignore
+ from ._models import ResourceRegion # type: ignore
+ from ._models import RootError # type: ignore
+ from ._models import RunAnnotations # type: ignore
+ from ._models import RunIndexMetricSummaryJValue # type: ignore
+ from ._models import RunIndexMetricSummaryObject # type: ignore
+ from ._models import RunIndexResourceMetricSummary # type: ignore
+ from ._models import RunProperties # type: ignore
+ from ._models import RunTypeV2Index # type: ignore
+ from ._models import RunsUnversionedEntitiesResponse # type: ignore
+ from ._models import RunsUnversionedEntity # type: ignore
+ from ._models import SingleShardFanoutData # type: ignore
+ from ._models import StringContainsRequest # type: ignore
+ from ._models import StructuredInterfaceParameter # type: ignore
+ from ._models import TimeDeltaDto # type: ignore
+ from ._models import TimestampColumnDto # type: ignore
+ from ._models import UnqueriableResourcesScope # type: ignore
+ from ._models import Usage # type: ignore
+ from ._models import UserDto # type: ignore
+ from ._models import UxPresenceResource # type: ignore
+ from ._models import UxWarmUpRequest # type: ignore
+ from ._models import VersionedAttribute # type: ignore
+ from ._models import Webhook # type: ignore
+ from ._models import WorkspaceContextWarmUpRequest # type: ignore
+
+from ._index_service_apis_enums import (
+ AssetContainerTypeFeedRename,
+ BatchendpointsUnversionedEntityKind,
+ DataStoreAnnotationsDataStoreType,
+ DatasetsVersionedEntityKind,
+ DatastoresUnversionedEntityKind,
+ EntityKind,
+ EnvironmentsVersionedEntityKind,
+ ExperimentStatusCode,
+ FeatureDataType,
+ FeatureSourceDtoType,
+ FeatureentitiesVersionedEntityKind,
+ FeaturesetsVersionedEntityKind,
+ FeaturestoreentitiesVersionedEntityKind,
+ GenericTriggerAnnotationsEntityStatus,
+ GenericTriggerAnnotationsManagedType,
+ GenericTriggerAnnotationsProvisioningStatus,
+ GenericTriggerAnnotationsScheduleActionType,
+ GenericTriggerAnnotationsScheduleMethod,
+ GenericTriggerAnnotationsTriggerType,
+ GenerictriggersUnversionedEntityKind,
+ IndependentPipelineAnnotationsEntityStatus,
+ IndependentPipelineAnnotationsLastRunStatusCode,
+ IndependentpipelinesUnversionedEntityKind,
+ IndexColumnDataType,
+ IndexColumnDtoType,
+ IndexEntitiesRequestOrderDirection,
+ MaterializationSettingsMaterializationStoreType,
+ ModelsVersionedEntityKind,
+ ModuleAnnotationsAmlModuleEntityStatus,
+ ModuleAnnotationsEntityStatus,
+ ModuleAnnotationsModuleType,
+ ModulesVersionedEntityKind,
+ NotificationSettingEmailOnItem,
+ OnlineendpointsUnversionedEntityKind,
+ PipelineAnnotationsEntityStatus,
+ PipelineAnnotationsLastRunStatusCode,
+ PipelineDraftAnnotationsEntityStatus,
+ PipelineRunAnnotationsEntityStatus,
+ PipelinedraftsUnversionedEntityKind,
+ PipelinerunsUnversionedEntityKind,
+ PipelinesVersionedEntityKind,
+ RecurrenceFrequency,
+ RecurrenceScheduleWeekDaysItem,
+ RecurrenceTriggerFrequency,
+ RunsUnversionedEntityKind,
+ StructuredInterfaceParameterType,
+)
+
+__all__ = [
+ "BatchEndpointAnnotations",
+ "BatchEndpointProperties",
+ "BatchendpointsUnversionedEntitiesResponse",
+ "BatchendpointsUnversionedEntity",
+ "Compute",
+ "ComputeRequest",
+ "ContainerResourceRequirements",
+ "ControlOutput",
+ "CreatedBy",
+ "CreatedBy1",
+ "CreationContext",
+ "CronTrigger",
+ "CrossRegionIndexEntitiesRequest",
+ "CrossRegionIndexEntitiesResponse",
+ "CudaAttribute",
+ "DataStoreAnnotations",
+ "DataStoreProperties",
+ "DatasetAnnotations",
+ "DatasetProperties",
+ "DatasetReference",
+ "DatasetsVersionedEntitiesResponse",
+ "DatasetsVersionedEntity",
+ "DatastoresUnversionedEntitiesResponse",
+ "DatastoresUnversionedEntity",
+ "DebugInfoResponse",
+ "DefinitionAnnotations",
+ "DefinitionProperties",
+ "EndpointComputeTarget",
+ "EnvironmentAttributes",
+ "EnvironmentsVersionedEntitiesResponse",
+ "EnvironmentsVersionedEntity",
+ "ErrorAdditionalInfo",
+ "ErrorResponse",
+ "ExperimentStatus",
+ "Feature",
+ "FeatureEntityVersionAnnotations",
+ "FeatureEntityVersionProperties",
+ "FeatureSetVersionAnnotations",
+ "FeatureSetVersionProperties",
+ "FeatureSourceDto",
+ "FeatureTransformationDto",
+ "FeatureentitiesVersionedEntitiesResponse",
+ "FeatureentitiesVersionedEntity",
+ "FeaturesetSpecification",
+ "FeaturesetsVersionedEntitiesResponse",
+ "FeaturesetsVersionedEntity",
+ "FeaturestoreentitiesVersionedEntitiesResponse",
+ "FeaturestoreentitiesVersionedEntity",
+ "FreeTextSearchColumn",
+ "GenericTriggerAnnotations",
+ "GenericTriggerProperties",
+ "GenerictriggersUnversionedEntitiesResponse",
+ "GenerictriggersUnversionedEntity",
+ "HighlightOptions",
+ "IndependentPipelineAnnotations",
+ "IndependentPipelineProperties",
+ "IndependentpipelinesUnversionedEntitiesResponse",
+ "IndependentpipelinesUnversionedEntity",
+ "IndexAnnotations",
+ "IndexColumn",
+ "IndexColumnDto",
+ "IndexEntitiesLocalOperationRequest",
+ "IndexEntitiesRequest",
+ "IndexEntitiesRequestFilter",
+ "IndexEntitiesRequestGroup",
+ "IndexEntitiesRequestOrder",
+ "IndexEntitiesResponse",
+ "IndexEntityContainerMetadata",
+ "IndexEntityResponse",
+ "IndexProperties",
+ "IndexResourceDiscoveryResponseItem",
+ "IndexResourceDiscoveryResponseItemPaginatedResult",
+ "IndexedErrorResponse",
+ "InnerErrorResponse",
+ "InputNameAndDataTypeIdsList",
+ "InternalUxPresenceWarmUpRequest",
+ "JobCost",
+ "MaterializationComputeResource",
+ "MaterializationSettings",
+ "ModelAnnotations",
+ "ModelProperties",
+ "ModelsVersionedEntitiesResponse",
+ "ModelsVersionedEntity",
+ "ModuleAnnotations",
+ "ModuleProperties",
+ "ModulesVersionedEntitiesResponse",
+ "ModulesVersionedEntity",
+ "NotificationSetting",
+ "OnlineEndpointAnnotations",
+ "OnlineEndpointProperties",
+ "OnlineendpointsUnversionedEntitiesResponse",
+ "OnlineendpointsUnversionedEntity",
+ "OutputNameAndDataTypeId",
+ "PipelineAnnotations",
+ "PipelineDraftAnnotations",
+ "PipelineDraftProperties",
+ "PipelineProperties",
+ "PipelineRunAnnotations",
+ "PipelineRunProperties",
+ "PipelinedraftsUnversionedEntitiesResponse",
+ "PipelinedraftsUnversionedEntity",
+ "PipelinerunsUnversionedEntitiesResponse",
+ "PipelinerunsUnversionedEntity",
+ "PipelinesVersionedEntitiesResponse",
+ "PipelinesVersionedEntity",
+ "Purpose",
+ "Recurrence",
+ "RecurrenceSchedule",
+ "RecurrenceTrigger",
+ "Relationship",
+ "ResourceDiscoveryContainerMetadata",
+ "ResourceDiscoveryContainerMetadataPaginatedResult",
+ "ResourceDiscoveryRequest",
+ "ResourceInformation",
+ "ResourceRegion",
+ "RootError",
+ "RunAnnotations",
+ "RunIndexMetricSummaryJValue",
+ "RunIndexMetricSummaryObject",
+ "RunIndexResourceMetricSummary",
+ "RunProperties",
+ "RunTypeV2Index",
+ "RunsUnversionedEntitiesResponse",
+ "RunsUnversionedEntity",
+ "SingleShardFanoutData",
+ "StringContainsRequest",
+ "StructuredInterfaceParameter",
+ "TimeDeltaDto",
+ "TimestampColumnDto",
+ "UnqueriableResourcesScope",
+ "Usage",
+ "UserDto",
+ "UxPresenceResource",
+ "UxWarmUpRequest",
+ "VersionedAttribute",
+ "Webhook",
+ "WorkspaceContextWarmUpRequest",
+ "AssetContainerTypeFeedRename",
+ "BatchendpointsUnversionedEntityKind",
+ "DataStoreAnnotationsDataStoreType",
+ "DatasetsVersionedEntityKind",
+ "DatastoresUnversionedEntityKind",
+ "EntityKind",
+ "EnvironmentsVersionedEntityKind",
+ "ExperimentStatusCode",
+ "FeatureDataType",
+ "FeatureSourceDtoType",
+ "FeatureentitiesVersionedEntityKind",
+ "FeaturesetsVersionedEntityKind",
+ "FeaturestoreentitiesVersionedEntityKind",
+ "GenericTriggerAnnotationsEntityStatus",
+ "GenericTriggerAnnotationsManagedType",
+ "GenericTriggerAnnotationsProvisioningStatus",
+ "GenericTriggerAnnotationsScheduleActionType",
+ "GenericTriggerAnnotationsScheduleMethod",
+ "GenericTriggerAnnotationsTriggerType",
+ "GenerictriggersUnversionedEntityKind",
+ "IndependentPipelineAnnotationsEntityStatus",
+ "IndependentPipelineAnnotationsLastRunStatusCode",
+ "IndependentpipelinesUnversionedEntityKind",
+ "IndexColumnDataType",
+ "IndexColumnDtoType",
+ "IndexEntitiesRequestOrderDirection",
+ "MaterializationSettingsMaterializationStoreType",
+ "ModelsVersionedEntityKind",
+ "ModuleAnnotationsAmlModuleEntityStatus",
+ "ModuleAnnotationsEntityStatus",
+ "ModuleAnnotationsModuleType",
+ "ModulesVersionedEntityKind",
+ "NotificationSettingEmailOnItem",
+ "OnlineendpointsUnversionedEntityKind",
+ "PipelineAnnotationsEntityStatus",
+ "PipelineAnnotationsLastRunStatusCode",
+ "PipelineDraftAnnotationsEntityStatus",
+ "PipelineRunAnnotationsEntityStatus",
+ "PipelinedraftsUnversionedEntityKind",
+ "PipelinerunsUnversionedEntityKind",
+ "PipelinesVersionedEntityKind",
+ "RecurrenceFrequency",
+ "RecurrenceScheduleWeekDaysItem",
+ "RecurrenceTriggerFrequency",
+ "RunsUnversionedEntityKind",
+ "StructuredInterfaceParameterType",
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_index_service_apis_enums.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_index_service_apis_enums.py
new file mode 100644
index 00000000..797089bb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_index_service_apis_enums.py
@@ -0,0 +1,344 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from enum import Enum
+from azure.core import CaseInsensitiveEnumMeta
+
+
+class AssetContainerTypeFeedRename(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ WORKSPACE = "Workspace"
+ FEED = "Feed"
+ REGISTRY = "Registry"
+
+
+class BatchendpointsUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class DatasetsVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class DataStoreAnnotationsDataStoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ AZURE_BLOB = "AzureBlob"
+ AZURE_FILE = "AzureFile"
+ GLUSTER_FS = "GlusterFs"
+ AZURE_DATA_LAKE = "AzureDataLake"
+ AZURE_MY_SQL = "AzureMySql"
+ CUSTOM = "Custom"
+ HDFS = "Hdfs"
+ AZURE_SQL_DATABASE = "AzureSqlDatabase"
+ AZURE_POSTGRE_SQL = "AzurePostgreSql"
+ DBFS = "DBFS"
+ AZURE_DATA_LAKE_GEN2 = "AzureDataLakeGen2"
+
+
+class DatastoresUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class EntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class EnvironmentsVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class ExperimentStatusCode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ NOT_STARTED = "NotStarted"
+ RUNNING = "Running"
+ FAILED = "Failed"
+ FINISHED = "Finished"
+ CANCELED = "Canceled"
+ FAILING = "Failing"
+
+
+class FeatureDataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ STRING = "String"
+ INTEGER = "Integer"
+ LONG = "Long"
+ FLOAT = "Float"
+ DOUBLE = "Double"
+ BINARY = "Binary"
+ DATETIME = "Datetime"
+ BOOLEAN = "Boolean"
+
+
+class FeatureentitiesVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class FeaturesetsVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class FeatureSourceDtoType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ MLTABLE = "mltable"
+ CSV = "csv"
+ PARQUET = "parquet"
+
+
+class FeaturestoreentitiesVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class GenericTriggerAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class GenericTriggerAnnotationsManagedType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ CUSTOMER = "Customer"
+ SYSTEM = "System"
+
+
+class GenericTriggerAnnotationsProvisioningStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ COMPLETED = "Completed"
+ PROVISIONING = "Provisioning"
+ FAILED = "Failed"
+
+
+class GenericTriggerAnnotationsScheduleActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ CREATE_JOB = "CreateJob"
+ INVOKE_ENDPOINT = "InvokeEndpoint"
+ IMPORT_DATA = "ImportData"
+ MODEL_MONITOR = "ModelMonitor"
+
+
+class GenericTriggerAnnotationsScheduleMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ CRON = "Cron"
+ RECURRENCE = "Recurrence"
+
+
+class GenericTriggerAnnotationsTriggerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ SCHEDULE = "Schedule"
+ ONCE = "Once"
+
+
+class GenerictriggersUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class IndependentPipelineAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class IndependentPipelineAnnotationsLastRunStatusCode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ NOT_STARTED = "NotStarted"
+ RUNNING = "Running"
+ FAILED = "Failed"
+ FINISHED = "Finished"
+ CANCELED = "Canceled"
+ FAILING = "Failing"
+ QUEUED = "Queued"
+ CANCEL_REQUESTED = "CancelRequested"
+
+
+class IndependentpipelinesUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class IndexColumnDataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ STRING = "String"
+ INTEGER = "Integer"
+ LONG = "Long"
+ FLOAT = "Float"
+ DOUBLE = "Double"
+ BINARY = "Binary"
+ DATETIME = "Datetime"
+ BOOLEAN = "Boolean"
+
+
+class IndexColumnDtoType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ STRING = "string"
+ INTEGER = "integer"
+ LONG = "long"
+ FLOAT = "float"
+ DOUBLE = "double"
+ BINARY = "binary"
+ DATETIME = "datetime"
+ BOOLEAN = "boolean"
+
+
+class IndexEntitiesRequestOrderDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ASC = "Asc"
+ DESC = "Desc"
+
+
+class MaterializationSettingsMaterializationStoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ NONE = "None"
+ ONLINE = "Online"
+ OFFLINE = "Offline"
+ ONLINE_AND_OFFLINE = "OnlineAndOffline"
+
+
+class ModelsVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class ModuleAnnotationsAmlModuleEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class ModuleAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class ModuleAnnotationsModuleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ USER = "User"
+ BUILTIN = "Builtin"
+
+
+class ModulesVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class NotificationSettingEmailOnItem(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ JOB_COMPLETED = "JobCompleted"
+ JOB_FAILED = "JobFailed"
+ JOB_CANCELLED = "JobCancelled"
+
+
+class OnlineendpointsUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class PipelineAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class PipelineAnnotationsLastRunStatusCode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ NOT_STARTED = "NotStarted"
+ RUNNING = "Running"
+ FAILED = "Failed"
+ FINISHED = "Finished"
+ CANCELED = "Canceled"
+ FAILING = "Failing"
+ QUEUED = "Queued"
+ CANCEL_REQUESTED = "CancelRequested"
+
+
+class PipelineDraftAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class PipelinedraftsUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class PipelineRunAnnotationsEntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ ACTIVE = "Active"
+ DEPRECATED = "Deprecated"
+ DISABLED = "Disabled"
+
+
+class PipelinerunsUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class PipelinesVersionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class RecurrenceFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ MONTH = "Month"
+ WEEK = "Week"
+ DAY = "Day"
+ HOUR = "Hour"
+ MINUTE = "Minute"
+
+
+class RecurrenceScheduleWeekDaysItem(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ MONDAY = "Monday"
+ TUESDAY = "Tuesday"
+ WEDNESDAY = "Wednesday"
+ THURSDAY = "Thursday"
+ FRIDAY = "Friday"
+ SATURDAY = "Saturday"
+ SUNDAY = "Sunday"
+
+
+class RecurrenceTriggerFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ MONTH = "Month"
+ WEEK = "Week"
+ DAY = "Day"
+ HOUR = "Hour"
+ MINUTE = "Minute"
+
+
+class RunsUnversionedEntityKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INVALID = "Invalid"
+ LINEAGE_ROOT = "LineageRoot"
+ VERSIONED = "Versioned"
+ UNVERSIONED = "Unversioned"
+
+
+class StructuredInterfaceParameterType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ INT = "Int"
+ DOUBLE = "Double"
+ BOOL = "Bool"
+ STRING = "String"
+ UNDEFINED = "Undefined"
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models.py
new file mode 100644
index 00000000..2ff74b26
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models.py
@@ -0,0 +1,9226 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+import msrest.serialization
+
+
+class BatchEndpointAnnotations(msrest.serialization.Model):
+ """BatchEndpointAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scoring_uri: Required.
+ :vartype scoring_uri: str
+ :ivar location: Required.
+ :vartype location: str
+ :ivar last_modified_time: Required.
+ :vartype last_modified_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "scoring_uri": {"required": True},
+ "location": {"required": True},
+ "last_modified_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "scoring_uri": {"key": "scoringUri", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "last_modified_time": {"key": "lastModifiedTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword scoring_uri: Required.
+ :paramtype scoring_uri: str
+ :keyword location: Required.
+ :paramtype location: str
+ :keyword last_modified_time: Required.
+ :paramtype last_modified_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(BatchEndpointAnnotations, self).__init__(**kwargs)
+ self.scoring_uri = kwargs["scoring_uri"]
+ self.location = kwargs["location"]
+ self.last_modified_time = kwargs["last_modified_time"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class BatchEndpointProperties(msrest.serialization.Model):
+ """BatchEndpointProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "properties": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "{str}"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(BatchEndpointProperties, self).__init__(**kwargs)
+ self.properties = kwargs["properties"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class BatchendpointsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """BatchendpointsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.BatchendpointsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[BatchendpointsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.BatchendpointsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(BatchendpointsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class BatchendpointsUnversionedEntity(msrest.serialization.Model):
+ """BatchendpointsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.BatchendpointsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.BatchEndpointAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.BatchEndpointProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "BatchEndpointAnnotations"},
+ "properties": {"key": "properties", "type": "BatchEndpointProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.BatchendpointsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.BatchEndpointAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.BatchEndpointProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(BatchendpointsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class Compute(msrest.serialization.Model):
+ """Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar target: Required.
+ :vartype target: str
+ :ivar target_type: Required.
+ :vartype target_type: str
+ :ivar vm_size: Required.
+ :vartype vm_size: str
+ :ivar instance_type: Required.
+ :vartype instance_type: str
+ :ivar instance_count: Required.
+ :vartype instance_count: int
+ :ivar gpu_count: Required.
+ :vartype gpu_count: int
+ :ivar priority: Required.
+ :vartype priority: str
+ :ivar region: Required.
+ :vartype region: str
+ :ivar arm_id: Required.
+ :vartype arm_id: str
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ """
+
+ _validation = {
+ "target": {"required": True},
+ "target_type": {"required": True},
+ "vm_size": {"required": True},
+ "instance_type": {"required": True},
+ "instance_count": {"required": True},
+ "gpu_count": {"required": True},
+ "priority": {"required": True},
+ "region": {"required": True},
+ "arm_id": {"required": True},
+ "properties": {"required": True},
+ }
+
+ _attribute_map = {
+ "target": {"key": "target", "type": "str"},
+ "target_type": {"key": "targetType", "type": "str"},
+ "vm_size": {"key": "vmSize", "type": "str"},
+ "instance_type": {"key": "instanceType", "type": "str"},
+ "instance_count": {"key": "instanceCount", "type": "int"},
+ "gpu_count": {"key": "gpuCount", "type": "int"},
+ "priority": {"key": "priority", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "arm_id": {"key": "armId", "type": "str"},
+ "properties": {"key": "properties", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword target: Required.
+ :paramtype target: str
+ :keyword target_type: Required.
+ :paramtype target_type: str
+ :keyword vm_size: Required.
+ :paramtype vm_size: str
+ :keyword instance_type: Required.
+ :paramtype instance_type: str
+ :keyword instance_count: Required.
+ :paramtype instance_count: int
+ :keyword gpu_count: Required.
+ :paramtype gpu_count: int
+ :keyword priority: Required.
+ :paramtype priority: str
+ :keyword region: Required.
+ :paramtype region: str
+ :keyword arm_id: Required.
+ :paramtype arm_id: str
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ """
+ super(Compute, self).__init__(**kwargs)
+ self.target = kwargs["target"]
+ self.target_type = kwargs["target_type"]
+ self.vm_size = kwargs["vm_size"]
+ self.instance_type = kwargs["instance_type"]
+ self.instance_count = kwargs["instance_count"]
+ self.gpu_count = kwargs["gpu_count"]
+ self.priority = kwargs["priority"]
+ self.region = kwargs["region"]
+ self.arm_id = kwargs["arm_id"]
+ self.properties = kwargs["properties"]
+
+
+class ComputeRequest(msrest.serialization.Model):
+ """ComputeRequest.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar node_count: Required.
+ :vartype node_count: int
+ :ivar gpu_count: Required.
+ :vartype gpu_count: int
+ """
+
+ _validation = {
+ "node_count": {"required": True},
+ "gpu_count": {"required": True},
+ }
+
+ _attribute_map = {
+ "node_count": {"key": "nodeCount", "type": "int"},
+ "gpu_count": {"key": "gpuCount", "type": "int"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword node_count: Required.
+ :paramtype node_count: int
+ :keyword gpu_count: Required.
+ :paramtype gpu_count: int
+ """
+ super(ComputeRequest, self).__init__(**kwargs)
+ self.node_count = kwargs["node_count"]
+ self.gpu_count = kwargs["gpu_count"]
+
+
+class ContainerResourceRequirements(msrest.serialization.Model):
+ """ContainerResourceRequirements.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cpu: Required.
+ :vartype cpu: float
+ :ivar cpu_limit: Required.
+ :vartype cpu_limit: float
+ :ivar memory_in_gb: Required.
+ :vartype memory_in_gb: float
+ :ivar memory_in_gb_limit: Required.
+ :vartype memory_in_gb_limit: float
+ :ivar gpu_enabled: Required.
+ :vartype gpu_enabled: bool
+ :ivar gpu: Required.
+ :vartype gpu: int
+ :ivar fpga: Required.
+ :vartype fpga: int
+ """
+
+ _validation = {
+ "cpu": {"required": True},
+ "cpu_limit": {"required": True},
+ "memory_in_gb": {"required": True},
+ "memory_in_gb_limit": {"required": True},
+ "gpu_enabled": {"required": True},
+ "gpu": {"required": True},
+ "fpga": {"required": True},
+ }
+
+ _attribute_map = {
+ "cpu": {"key": "cpu", "type": "float"},
+ "cpu_limit": {"key": "cpuLimit", "type": "float"},
+ "memory_in_gb": {"key": "memoryInGB", "type": "float"},
+ "memory_in_gb_limit": {"key": "memoryInGBLimit", "type": "float"},
+ "gpu_enabled": {"key": "gpuEnabled", "type": "bool"},
+ "gpu": {"key": "gpu", "type": "int"},
+ "fpga": {"key": "fpga", "type": "int"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword cpu: Required.
+ :paramtype cpu: float
+ :keyword cpu_limit: Required.
+ :paramtype cpu_limit: float
+ :keyword memory_in_gb: Required.
+ :paramtype memory_in_gb: float
+ :keyword memory_in_gb_limit: Required.
+ :paramtype memory_in_gb_limit: float
+ :keyword gpu_enabled: Required.
+ :paramtype gpu_enabled: bool
+ :keyword gpu: Required.
+ :paramtype gpu: int
+ :keyword fpga: Required.
+ :paramtype fpga: int
+ """
+ super(ContainerResourceRequirements, self).__init__(**kwargs)
+ self.cpu = kwargs["cpu"]
+ self.cpu_limit = kwargs["cpu_limit"]
+ self.memory_in_gb = kwargs["memory_in_gb"]
+ self.memory_in_gb_limit = kwargs["memory_in_gb_limit"]
+ self.gpu_enabled = kwargs["gpu_enabled"]
+ self.gpu = kwargs["gpu"]
+ self.fpga = kwargs["fpga"]
+
+
+class ControlOutput(msrest.serialization.Model):
+ """ControlOutput.
+
+ :ivar name:
+ :vartype name: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ """
+ super(ControlOutput, self).__init__(**kwargs)
+ self.name = kwargs.get("name", None)
+
+
+class CreatedBy(msrest.serialization.Model):
+ """CreatedBy.
+
+ :ivar user_object_id:
+ :vartype user_object_id: str
+ :ivar user_tenant_id:
+ :vartype user_tenant_id: str
+ :ivar user_name:
+ :vartype user_name: str
+ """
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword user_object_id:
+ :paramtype user_object_id: str
+ :keyword user_tenant_id:
+ :paramtype user_tenant_id: str
+ :keyword user_name:
+ :paramtype user_name: str
+ """
+ super(CreatedBy, self).__init__(**kwargs)
+ self.user_object_id = kwargs.get("user_object_id", None)
+ self.user_tenant_id = kwargs.get("user_tenant_id", None)
+ self.user_name = kwargs.get("user_name", None)
+
+
+class CreatedBy1(msrest.serialization.Model):
+ """CreatedBy1.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_object_id: Required.
+ :vartype user_object_id: str
+ :ivar user_tenant_id: Required.
+ :vartype user_tenant_id: str
+ :ivar user_name: Required.
+ :vartype user_name: str
+ """
+
+ _validation = {
+ "user_object_id": {"required": True},
+ "user_tenant_id": {"required": True},
+ "user_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword user_object_id: Required.
+ :paramtype user_object_id: str
+ :keyword user_tenant_id: Required.
+ :paramtype user_tenant_id: str
+ :keyword user_name: Required.
+ :paramtype user_name: str
+ """
+ super(CreatedBy1, self).__init__(**kwargs)
+ self.user_object_id = kwargs["user_object_id"]
+ self.user_tenant_id = kwargs["user_tenant_id"]
+ self.user_name = kwargs["user_name"]
+
+
+class CreationContext(msrest.serialization.Model):
+ """CreationContext.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar created_time:
+ :vartype created_time: ~datetime.datetime
+ :ivar created_by:
+ :vartype created_by: ~index_service_apis.models.CreatedBy
+ :ivar creation_source:
+ :vartype creation_source: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "created_time": {"key": "createdTime", "type": "iso-8601"},
+ "created_by": {"key": "createdBy", "type": "CreatedBy"},
+ "creation_source": {"key": "creationSource", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword created_time:
+ :paramtype created_time: ~datetime.datetime
+ :keyword created_by:
+ :paramtype created_by: ~index_service_apis.models.CreatedBy
+ :keyword creation_source:
+ :paramtype creation_source: str
+ """
+ super(CreationContext, self).__init__(**kwargs)
+ self.additional_properties = kwargs.get("additional_properties", None)
+ self.created_time = kwargs.get("created_time", None)
+ self.created_by = kwargs.get("created_by", None)
+ self.creation_source = kwargs.get("creation_source", None)
+
+
+class CronTrigger(msrest.serialization.Model):
+ """CronTrigger.
+
+ :ivar expression:
+ :vartype expression: str
+ """
+
+ _attribute_map = {
+ "expression": {"key": "expression", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword expression:
+ :paramtype expression: str
+ """
+ super(CronTrigger, self).__init__(**kwargs)
+ self.expression = kwargs.get("expression", None)
+
+
+class CrossRegionIndexEntitiesRequest(msrest.serialization.Model):
+ """CrossRegionIndexEntitiesRequest.
+
+ :ivar resource_ids:
+ :vartype resource_ids: list[~index_service_apis.models.ResourceInformation]
+ :ivar index_entities_request:
+ :vartype index_entities_request: ~index_service_apis.models.IndexEntitiesRequest
+ """
+
+ _attribute_map = {
+ "resource_ids": {"key": "resourceIds", "type": "[ResourceInformation]"},
+ "index_entities_request": {"key": "indexEntitiesRequest", "type": "IndexEntitiesRequest"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword resource_ids:
+ :paramtype resource_ids: list[~index_service_apis.models.ResourceInformation]
+ :keyword index_entities_request:
+ :paramtype index_entities_request: ~index_service_apis.models.IndexEntitiesRequest
+ """
+ super(CrossRegionIndexEntitiesRequest, self).__init__(**kwargs)
+ self.resource_ids = kwargs.get("resource_ids", None)
+ self.index_entities_request = kwargs.get("index_entities_request", None)
+
+
+class CrossRegionIndexEntitiesResponse(msrest.serialization.Model):
+ """CrossRegionIndexEntitiesResponse.
+
+ :ivar index_entities_response:
+ :vartype index_entities_response: ~index_service_apis.models.IndexEntitiesResponse
+ :ivar regional_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype regional_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar shard_errors: Dictionary of
+ <components·1fu9hkf·schemas·crossregionindexentitiesresponse·properties·sharderrors·additionalproperties>.
+ :vartype shard_errors: dict[str, dict[str, ~index_service_apis.models.ErrorResponse]]
+ :ivar number_of_resources_not_included_in_search:
+ :vartype number_of_resources_not_included_in_search: int
+ """
+
+ _attribute_map = {
+ "index_entities_response": {"key": "indexEntitiesResponse", "type": "IndexEntitiesResponse"},
+ "regional_errors": {"key": "regionalErrors", "type": "{ErrorResponse}"},
+ "shard_errors": {"key": "shardErrors", "type": "{{ErrorResponse}}"},
+ "number_of_resources_not_included_in_search": {"key": "numberOfResourcesNotIncludedInSearch", "type": "int"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword index_entities_response:
+ :paramtype index_entities_response: ~index_service_apis.models.IndexEntitiesResponse
+ :keyword regional_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype regional_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword shard_errors: Dictionary of
+ <components·1fu9hkf·schemas·crossregionindexentitiesresponse·properties·sharderrors·additionalproperties>.
+ :paramtype shard_errors: dict[str, dict[str, ~index_service_apis.models.ErrorResponse]]
+ :keyword number_of_resources_not_included_in_search:
+ :paramtype number_of_resources_not_included_in_search: int
+ """
+ super(CrossRegionIndexEntitiesResponse, self).__init__(**kwargs)
+ self.index_entities_response = kwargs.get("index_entities_response", None)
+ self.regional_errors = kwargs.get("regional_errors", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.number_of_resources_not_included_in_search = kwargs.get("number_of_resources_not_included_in_search", None)
+
+
+class CudaAttribute(msrest.serialization.Model):
+ """CudaAttribute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cuda_version: Required.
+ :vartype cuda_version: str
+ :ivar cu_dnn_version: Required.
+ :vartype cu_dnn_version: str
+ :ivar nccl_version: Required.
+ :vartype nccl_version: str
+ """
+
+ _validation = {
+ "cuda_version": {"required": True},
+ "cu_dnn_version": {"required": True},
+ "nccl_version": {"required": True},
+ }
+
+ _attribute_map = {
+ "cuda_version": {"key": "cudaVersion", "type": "str"},
+ "cu_dnn_version": {"key": "cuDnnVersion", "type": "str"},
+ "nccl_version": {"key": "ncclVersion", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword cuda_version: Required.
+ :paramtype cuda_version: str
+ :keyword cu_dnn_version: Required.
+ :paramtype cu_dnn_version: str
+ :keyword nccl_version: Required.
+ :paramtype nccl_version: str
+ """
+ super(CudaAttribute, self).__init__(**kwargs)
+ self.cuda_version = kwargs["cuda_version"]
+ self.cu_dnn_version = kwargs["cu_dnn_version"]
+ self.nccl_version = kwargs["nccl_version"]
+
+
+class DatasetAnnotations(msrest.serialization.Model):
+ """DatasetAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar modified_by: Required.
+ :vartype modified_by: ~index_service_apis.models.UserDto
+ :ivar next_version_id: Required.
+ :vartype next_version_id: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar labels: Required. Dictionary of :code:`<string>`.
+ :vartype labels: dict[str, str]
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "modified_time": {"required": True},
+ "modified_by": {"required": True},
+ "next_version_id": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "labels": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "modified_by": {"key": "modifiedBy", "type": "UserDto"},
+ "next_version_id": {"key": "nextVersionId", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "labels": {"key": "labels", "type": "{str}"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword modified_by: Required.
+ :paramtype modified_by: ~index_service_apis.models.UserDto
+ :keyword next_version_id: Required.
+ :paramtype next_version_id: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword labels: Required. Dictionary of :code:`<string>`.
+ :paramtype labels: dict[str, str]
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DatasetAnnotations, self).__init__(**kwargs)
+ self.modified_time = kwargs["modified_time"]
+ self.modified_by = kwargs["modified_by"]
+ self.next_version_id = kwargs["next_version_id"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.labels = kwargs["labels"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class DatasetProperties(msrest.serialization.Model):
+ """DatasetProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar subtype: Required.
+ :vartype subtype: str
+ :ivar is_registered: Required.
+ :vartype is_registered: bool
+ :ivar data_type: Required.
+ :vartype data_type: str
+ :ivar is_v2: Required.
+ :vartype is_v2: bool
+ :ivar name_lower_case: Required.
+ :vartype name_lower_case: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "subtype": {"required": True},
+ "is_registered": {"required": True},
+ "data_type": {"required": True},
+ "is_v2": {"required": True},
+ "name_lower_case": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "subtype": {"key": "subtype", "type": "str"},
+ "is_registered": {"key": "isRegistered", "type": "bool"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "is_v2": {"key": "isV2", "type": "bool"},
+ "name_lower_case": {"key": "nameLowerCase", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword subtype: Required.
+ :paramtype subtype: str
+ :keyword is_registered: Required.
+ :paramtype is_registered: bool
+ :keyword data_type: Required.
+ :paramtype data_type: str
+ :keyword is_v2: Required.
+ :paramtype is_v2: bool
+ :keyword name_lower_case: Required.
+ :paramtype name_lower_case: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DatasetProperties, self).__init__(**kwargs)
+ self.subtype = kwargs["subtype"]
+ self.is_registered = kwargs["is_registered"]
+ self.data_type = kwargs["data_type"]
+ self.is_v2 = kwargs["is_v2"]
+ self.name_lower_case = kwargs["name_lower_case"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class DatasetReference(msrest.serialization.Model):
+ """DatasetReference.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar id: Required.
+ :vartype id: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "id": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword id: Required.
+ :paramtype id: str
+ """
+ super(DatasetReference, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.id = kwargs["id"]
+
+
+class DatasetsVersionedEntitiesResponse(msrest.serialization.Model):
+ """DatasetsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.DatasetsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[DatasetsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.DatasetsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(DatasetsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class DatasetsVersionedEntity(msrest.serialization.Model):
+ """DatasetsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.DatasetsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DatasetAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DatasetProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DatasetAnnotations"},
+ "properties": {"key": "properties", "type": "DatasetProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.DatasetsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DatasetAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DatasetProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(DatasetsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class DataStoreAnnotations(msrest.serialization.Model):
+ """DataStoreAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_store_type: Required. Possible values include: "AzureBlob", "AzureFile",
+ "GlusterFs", "AzureDataLake", "AzureMySql", "Custom", "Hdfs", "AzureSqlDatabase",
+ "AzurePostgreSql", "DBFS", "AzureDataLakeGen2".
+ :vartype data_store_type: str or ~index_service_apis.models.DataStoreAnnotationsDataStoreType
+ :ivar data_store_type_name: Required.
+ :vartype data_store_type_name: str
+ :ivar storage_name: Required.
+ :vartype storage_name: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "data_store_type": {"required": True},
+ "data_store_type_name": {"required": True},
+ "storage_name": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_store_type": {"key": "dataStoreType", "type": "str"},
+ "data_store_type_name": {"key": "dataStoreTypeName", "type": "str"},
+ "storage_name": {"key": "storageName", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword data_store_type: Required. Possible values include: "AzureBlob", "AzureFile",
+ "GlusterFs", "AzureDataLake", "AzureMySql", "Custom", "Hdfs", "AzureSqlDatabase",
+ "AzurePostgreSql", "DBFS", "AzureDataLakeGen2".
+ :paramtype data_store_type: str or ~index_service_apis.models.DataStoreAnnotationsDataStoreType
+ :keyword data_store_type_name: Required.
+ :paramtype data_store_type_name: str
+ :keyword storage_name: Required.
+ :paramtype storage_name: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DataStoreAnnotations, self).__init__(**kwargs)
+ self.data_store_type = kwargs["data_store_type"]
+ self.data_store_type_name = kwargs["data_store_type_name"]
+ self.storage_name = kwargs["storage_name"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class DataStoreProperties(msrest.serialization.Model):
+ """DataStoreProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DataStoreProperties, self).__init__(**kwargs)
+ self.creation_context = kwargs["creation_context"]
+
+
+class DatastoresUnversionedEntitiesResponse(msrest.serialization.Model):
+ """DatastoresUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.DatastoresUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[DatastoresUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.DatastoresUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(DatastoresUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class DatastoresUnversionedEntity(msrest.serialization.Model):
+ """DatastoresUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.DatastoresUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DataStoreAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DataStoreProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DataStoreAnnotations"},
+ "properties": {"key": "properties", "type": "DataStoreProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.DatastoresUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DataStoreAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DataStoreProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(DatastoresUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class DebugInfoResponse(msrest.serialization.Model):
+ """DebugInfoResponse.
+
+ :ivar type:
+ :vartype type: str
+ :ivar message:
+ :vartype message: str
+ :ivar stack_trace:
+ :vartype stack_trace: str
+ :ivar inner_exception:
+ :vartype inner_exception: ~index_service_apis.models.DebugInfoResponse
+ :ivar data: Dictionary of :code:`<any>`.
+ :vartype data: dict[str, any]
+ :ivar error_response:
+ :vartype error_response: ~index_service_apis.models.ErrorResponse
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "stack_trace": {"key": "stackTrace", "type": "str"},
+ "inner_exception": {"key": "innerException", "type": "DebugInfoResponse"},
+ "data": {"key": "data", "type": "{object}"},
+ "error_response": {"key": "errorResponse", "type": "ErrorResponse"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword type:
+ :paramtype type: str
+ :keyword message:
+ :paramtype message: str
+ :keyword stack_trace:
+ :paramtype stack_trace: str
+ :keyword inner_exception:
+ :paramtype inner_exception: ~index_service_apis.models.DebugInfoResponse
+ :keyword data: Dictionary of :code:`<any>`.
+ :paramtype data: dict[str, any]
+ :keyword error_response:
+ :paramtype error_response: ~index_service_apis.models.ErrorResponse
+ """
+ super(DebugInfoResponse, self).__init__(**kwargs)
+ self.type = kwargs.get("type", None)
+ self.message = kwargs.get("message", None)
+ self.stack_trace = kwargs.get("stack_trace", None)
+ self.inner_exception = kwargs.get("inner_exception", None)
+ self.data = kwargs.get("data", None)
+ self.error_response = kwargs.get("error_response", None)
+
+
+class DefinitionAnnotations(msrest.serialization.Model):
+ """DefinitionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DefinitionAnnotations, self).__init__(**kwargs)
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class DefinitionProperties(msrest.serialization.Model):
+ """DefinitionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar automatically_saved: Required.
+ :vartype automatically_saved: bool
+ :ivar definition_hash: Required.
+ :vartype definition_hash: str
+ :ivar environment_attributes: Required.
+ :vartype environment_attributes: ~index_service_apis.models.EnvironmentAttributes
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "automatically_saved": {"required": True},
+ "definition_hash": {"required": True},
+ "environment_attributes": {"required": True},
+ "stage": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "automatically_saved": {"key": "automaticallySaved", "type": "bool"},
+ "definition_hash": {"key": "definitionHash", "type": "str"},
+ "environment_attributes": {"key": "environmentAttributes", "type": "EnvironmentAttributes"},
+ "stage": {"key": "stage", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword automatically_saved: Required.
+ :paramtype automatically_saved: bool
+ :keyword definition_hash: Required.
+ :paramtype definition_hash: str
+ :keyword environment_attributes: Required.
+ :paramtype environment_attributes: ~index_service_apis.models.EnvironmentAttributes
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DefinitionProperties, self).__init__(**kwargs)
+ self.automatically_saved = kwargs["automatically_saved"]
+ self.definition_hash = kwargs["definition_hash"]
+ self.environment_attributes = kwargs["environment_attributes"]
+ self.stage = kwargs["stage"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class EndpointComputeTarget(msrest.serialization.Model):
+ """EndpointComputeTarget.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar namespace: Required.
+ :vartype namespace: str
+ :ivar compute_target_name: Required.
+ :vartype compute_target_name: str
+ """
+
+ _validation = {
+ "namespace": {"required": True},
+ "compute_target_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "namespace": {"key": "namespace", "type": "str"},
+ "compute_target_name": {"key": "computeTargetName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword namespace: Required.
+ :paramtype namespace: str
+ :keyword compute_target_name: Required.
+ :paramtype compute_target_name: str
+ """
+ super(EndpointComputeTarget, self).__init__(**kwargs)
+ self.namespace = kwargs["namespace"]
+ self.compute_target_name = kwargs["compute_target_name"]
+
+
+class EnvironmentAttributes(msrest.serialization.Model):
+ """EnvironmentAttributes.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar machine_learning_framework: Required.
+ :vartype machine_learning_framework: ~index_service_apis.models.VersionedAttribute
+ :ivar mpi: Required.
+ :vartype mpi: ~index_service_apis.models.VersionedAttribute
+ :ivar runtime: Required.
+ :vartype runtime: ~index_service_apis.models.VersionedAttribute
+ :ivar cuda: Required.
+ :vartype cuda: ~index_service_apis.models.CudaAttribute
+ :ivar purpose: Required.
+ :vartype purpose: ~index_service_apis.models.Purpose
+ :ivar os: Required.
+ :vartype os: ~index_service_apis.models.VersionedAttribute
+ """
+
+ _validation = {
+ "machine_learning_framework": {"required": True},
+ "mpi": {"required": True},
+ "runtime": {"required": True},
+ "cuda": {"required": True},
+ "purpose": {"required": True},
+ "os": {"required": True},
+ }
+
+ _attribute_map = {
+ "machine_learning_framework": {"key": "machineLearningFramework", "type": "VersionedAttribute"},
+ "mpi": {"key": "mpi", "type": "VersionedAttribute"},
+ "runtime": {"key": "runtime", "type": "VersionedAttribute"},
+ "cuda": {"key": "cuda", "type": "CudaAttribute"},
+ "purpose": {"key": "purpose", "type": "Purpose"},
+ "os": {"key": "os", "type": "VersionedAttribute"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword machine_learning_framework: Required.
+ :paramtype machine_learning_framework: ~index_service_apis.models.VersionedAttribute
+ :keyword mpi: Required.
+ :paramtype mpi: ~index_service_apis.models.VersionedAttribute
+ :keyword runtime: Required.
+ :paramtype runtime: ~index_service_apis.models.VersionedAttribute
+ :keyword cuda: Required.
+ :paramtype cuda: ~index_service_apis.models.CudaAttribute
+ :keyword purpose: Required.
+ :paramtype purpose: ~index_service_apis.models.Purpose
+ :keyword os: Required.
+ :paramtype os: ~index_service_apis.models.VersionedAttribute
+ """
+ super(EnvironmentAttributes, self).__init__(**kwargs)
+ self.machine_learning_framework = kwargs["machine_learning_framework"]
+ self.mpi = kwargs["mpi"]
+ self.runtime = kwargs["runtime"]
+ self.cuda = kwargs["cuda"]
+ self.purpose = kwargs["purpose"]
+ self.os = kwargs["os"]
+
+
+class EnvironmentsVersionedEntitiesResponse(msrest.serialization.Model):
+ """EnvironmentsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.EnvironmentsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[EnvironmentsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.EnvironmentsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(EnvironmentsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class EnvironmentsVersionedEntity(msrest.serialization.Model):
+ """EnvironmentsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.EnvironmentsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DefinitionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DefinitionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DefinitionAnnotations"},
+ "properties": {"key": "properties", "type": "DefinitionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.EnvironmentsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DefinitionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DefinitionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(EnvironmentsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class ErrorAdditionalInfo(msrest.serialization.Model):
+ """ErrorAdditionalInfo.
+
+ :ivar type:
+ :vartype type: str
+ :ivar info: Anything.
+ :vartype info: any
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "info": {"key": "info", "type": "object"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword type:
+ :paramtype type: str
+ :keyword info: Anything.
+ :paramtype info: any
+ """
+ super(ErrorAdditionalInfo, self).__init__(**kwargs)
+ self.type = kwargs.get("type", None)
+ self.info = kwargs.get("info", None)
+
+
+class ErrorResponse(msrest.serialization.Model):
+ """ErrorResponse.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar error:
+ :vartype error: ~index_service_apis.models.RootError
+ :ivar correlation: Dictionary of :code:`<string>`.
+ :vartype correlation: dict[str, str]
+ :ivar environment:
+ :vartype environment: str
+ :ivar location:
+ :vartype location: str
+ :ivar time:
+ :vartype time: ~datetime.datetime
+ :ivar component_name:
+ :vartype component_name: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "error": {"key": "error", "type": "RootError"},
+ "correlation": {"key": "correlation", "type": "{str}"},
+ "environment": {"key": "environment", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "time": {"key": "time", "type": "iso-8601"},
+ "component_name": {"key": "componentName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword error:
+ :paramtype error: ~index_service_apis.models.RootError
+ :keyword correlation: Dictionary of :code:`<string>`.
+ :paramtype correlation: dict[str, str]
+ :keyword environment:
+ :paramtype environment: str
+ :keyword location:
+ :paramtype location: str
+ :keyword time:
+ :paramtype time: ~datetime.datetime
+ :keyword component_name:
+ :paramtype component_name: str
+ """
+ super(ErrorResponse, self).__init__(**kwargs)
+ self.additional_properties = kwargs.get("additional_properties", None)
+ self.error = kwargs.get("error", None)
+ self.correlation = kwargs.get("correlation", None)
+ self.environment = kwargs.get("environment", None)
+ self.location = kwargs.get("location", None)
+ self.time = kwargs.get("time", None)
+ self.component_name = kwargs.get("component_name", None)
+
+
+class ExperimentStatus(msrest.serialization.Model):
+ """ExperimentStatus.
+
+ :ivar status_code: Possible values include: "NotStarted", "Running", "Failed", "Finished",
+ "Canceled", "Failing".
+ :vartype status_code: str or ~index_service_apis.models.ExperimentStatusCode
+ :ivar status_detail:
+ :vartype status_detail: str
+ :ivar creation_time:
+ :vartype creation_time: ~datetime.datetime
+ :ivar end_time:
+ :vartype end_time: ~datetime.datetime
+ :ivar run_history_error_code:
+ :vartype run_history_error_code: str
+ """
+
+ _attribute_map = {
+ "status_code": {"key": "statusCode", "type": "str"},
+ "status_detail": {"key": "statusDetail", "type": "str"},
+ "creation_time": {"key": "creationTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "run_history_error_code": {"key": "runHistoryErrorCode", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword status_code: Possible values include: "NotStarted", "Running", "Failed", "Finished",
+ "Canceled", "Failing".
+ :paramtype status_code: str or ~index_service_apis.models.ExperimentStatusCode
+ :keyword status_detail:
+ :paramtype status_detail: str
+ :keyword creation_time:
+ :paramtype creation_time: ~datetime.datetime
+ :keyword end_time:
+ :paramtype end_time: ~datetime.datetime
+ :keyword run_history_error_code:
+ :paramtype run_history_error_code: str
+ """
+ super(ExperimentStatus, self).__init__(**kwargs)
+ self.status_code = kwargs.get("status_code", None)
+ self.status_detail = kwargs.get("status_detail", None)
+ self.creation_time = kwargs.get("creation_time", None)
+ self.end_time = kwargs.get("end_time", None)
+ self.run_history_error_code = kwargs.get("run_history_error_code", None)
+
+
+class Feature(msrest.serialization.Model):
+ """Feature.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_name: Required.
+ :vartype feature_name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :vartype data_type: str or ~index_service_apis.models.FeatureDataType
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "feature_name": {"required": True},
+ "description": {"required": True},
+ "data_type": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_name": {"key": "featureName", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword feature_name: Required.
+ :paramtype feature_name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :paramtype data_type: str or ~index_service_apis.models.FeatureDataType
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(Feature, self).__init__(**kwargs)
+ self.feature_name = kwargs["feature_name"]
+ self.description = kwargs["description"]
+ self.data_type = kwargs["data_type"]
+ self.tags = kwargs["tags"]
+
+
+class FeatureentitiesVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeatureentitiesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeatureentitiesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeatureentitiesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeatureentitiesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeatureentitiesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class FeatureentitiesVersionedEntity(msrest.serialization.Model):
+ """FeatureentitiesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeatureentitiesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureEntityVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureEntityVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeatureentitiesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeatureentitiesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class FeatureEntityVersionAnnotations(msrest.serialization.Model):
+ """FeatureEntityVersionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar actual_name: Required.
+ :vartype actual_name: str
+ :ivar index_columns: Required.
+ :vartype index_columns: list[~index_service_apis.models.IndexColumnDto]
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "actual_name": {"required": True},
+ "index_columns": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "actual_name": {"key": "actualName", "type": "str"},
+ "index_columns": {"key": "indexColumns", "type": "[IndexColumnDto]"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword actual_name: Required.
+ :paramtype actual_name: str
+ :keyword index_columns: Required.
+ :paramtype index_columns: list[~index_service_apis.models.IndexColumnDto]
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(FeatureEntityVersionAnnotations, self).__init__(**kwargs)
+ self.actual_name = kwargs["actual_name"]
+ self.index_columns = kwargs["index_columns"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class FeatureEntityVersionProperties(msrest.serialization.Model):
+ """FeatureEntityVersionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_entity_name: Required.
+ :vartype feature_entity_name: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "feature_entity_name": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_entity_name": {"key": "featureEntityName", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword feature_entity_name: Required.
+ :paramtype feature_entity_name: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(FeatureEntityVersionProperties, self).__init__(**kwargs)
+ self.feature_entity_name = kwargs["feature_entity_name"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class FeaturesetSpecification(msrest.serialization.Model):
+ """FeaturesetSpecification.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required.
+ :vartype path: str
+ """
+
+ _validation = {
+ "path": {"required": True},
+ }
+
+ _attribute_map = {
+ "path": {"key": "path", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword path: Required.
+ :paramtype path: str
+ """
+ super(FeaturesetSpecification, self).__init__(**kwargs)
+ self.path = kwargs["path"]
+
+
+class FeaturesetsVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeaturesetsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeaturesetsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeaturesetsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeaturesetsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeaturesetsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class FeaturesetsVersionedEntity(msrest.serialization.Model):
+ """FeaturesetsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeaturesetsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureSetVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureSetVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureSetVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureSetVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeaturesetsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureSetVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureSetVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeaturesetsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class FeatureSetVersionAnnotations(msrest.serialization.Model):
+ """FeatureSetVersionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar actual_name: Required.
+ :vartype actual_name: str
+ :ivar specification: Required.
+ :vartype specification: ~index_service_apis.models.FeaturesetSpecification
+ :ivar entities: Required.
+ :vartype entities: list[str]
+ :ivar features: Required.
+ :vartype features: list[~index_service_apis.models.Feature]
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar materialization_settings: Required.
+ :vartype materialization_settings: ~index_service_apis.models.MaterializationSettings
+ :ivar source: Required.
+ :vartype source: ~index_service_apis.models.FeatureSourceDto
+ :ivar feature_transformation_code: Required.
+ :vartype feature_transformation_code: ~index_service_apis.models.FeatureTransformationDto
+ :ivar temporal_join_lookback: Required.
+ :vartype temporal_join_lookback: ~index_service_apis.models.TimeDeltaDto
+ :ivar source_lookback: Required.
+ :vartype source_lookback: ~index_service_apis.models.TimeDeltaDto
+ :ivar timestamp_column: Required.
+ :vartype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "actual_name": {"required": True},
+ "specification": {"required": True},
+ "entities": {"required": True},
+ "features": {"required": True},
+ "stage": {"required": True},
+ "materialization_settings": {"required": True},
+ "source": {"required": True},
+ "feature_transformation_code": {"required": True},
+ "temporal_join_lookback": {"required": True},
+ "source_lookback": {"required": True},
+ "timestamp_column": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "actual_name": {"key": "actualName", "type": "str"},
+ "specification": {"key": "specification", "type": "FeaturesetSpecification"},
+ "entities": {"key": "entities", "type": "[str]"},
+ "features": {"key": "features", "type": "[Feature]"},
+ "stage": {"key": "stage", "type": "str"},
+ "materialization_settings": {"key": "materializationSettings", "type": "MaterializationSettings"},
+ "source": {"key": "source", "type": "FeatureSourceDto"},
+ "feature_transformation_code": {"key": "featureTransformationCode", "type": "FeatureTransformationDto"},
+ "temporal_join_lookback": {"key": "temporalJoinLookback", "type": "TimeDeltaDto"},
+ "source_lookback": {"key": "sourceLookback", "type": "TimeDeltaDto"},
+ "timestamp_column": {"key": "timestampColumn", "type": "TimestampColumnDto"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword actual_name: Required.
+ :paramtype actual_name: str
+ :keyword specification: Required.
+ :paramtype specification: ~index_service_apis.models.FeaturesetSpecification
+ :keyword entities: Required.
+ :paramtype entities: list[str]
+ :keyword features: Required.
+ :paramtype features: list[~index_service_apis.models.Feature]
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword materialization_settings: Required.
+ :paramtype materialization_settings: ~index_service_apis.models.MaterializationSettings
+ :keyword source: Required.
+ :paramtype source: ~index_service_apis.models.FeatureSourceDto
+ :keyword feature_transformation_code: Required.
+ :paramtype feature_transformation_code: ~index_service_apis.models.FeatureTransformationDto
+ :keyword temporal_join_lookback: Required.
+ :paramtype temporal_join_lookback: ~index_service_apis.models.TimeDeltaDto
+ :keyword source_lookback: Required.
+ :paramtype source_lookback: ~index_service_apis.models.TimeDeltaDto
+ :keyword timestamp_column: Required.
+ :paramtype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(FeatureSetVersionAnnotations, self).__init__(**kwargs)
+ self.actual_name = kwargs["actual_name"]
+ self.specification = kwargs["specification"]
+ self.entities = kwargs["entities"]
+ self.features = kwargs["features"]
+ self.stage = kwargs["stage"]
+ self.materialization_settings = kwargs["materialization_settings"]
+ self.source = kwargs["source"]
+ self.feature_transformation_code = kwargs["feature_transformation_code"]
+ self.temporal_join_lookback = kwargs["temporal_join_lookback"]
+ self.source_lookback = kwargs["source_lookback"]
+ self.timestamp_column = kwargs["timestamp_column"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class FeatureSetVersionProperties(msrest.serialization.Model):
+ """FeatureSetVersionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_set_name: Required.
+ :vartype feature_set_name: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "feature_set_name": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_set_name": {"key": "featureSetName", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword feature_set_name: Required.
+ :paramtype feature_set_name: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(FeatureSetVersionProperties, self).__init__(**kwargs)
+ self.feature_set_name = kwargs["feature_set_name"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class FeatureSourceDto(msrest.serialization.Model):
+ """FeatureSourceDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar type: Required. Possible values include: "mltable", "csv", "parquet".
+ :vartype type: str or ~index_service_apis.models.FeatureSourceDtoType
+ :ivar path: Required.
+ :vartype path: str
+ :ivar timestamp_column: Required.
+ :vartype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :ivar source_delay: Required.
+ :vartype source_delay: ~index_service_apis.models.TimeDeltaDto
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "path": {"required": True},
+ "timestamp_column": {"required": True},
+ "source_delay": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "path": {"key": "path", "type": "str"},
+ "timestamp_column": {"key": "timestampColumn", "type": "TimestampColumnDto"},
+ "source_delay": {"key": "sourceDelay", "type": "TimeDeltaDto"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword type: Required. Possible values include: "mltable", "csv", "parquet".
+ :paramtype type: str or ~index_service_apis.models.FeatureSourceDtoType
+ :keyword path: Required.
+ :paramtype path: str
+ :keyword timestamp_column: Required.
+ :paramtype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :keyword source_delay: Required.
+ :paramtype source_delay: ~index_service_apis.models.TimeDeltaDto
+ """
+ super(FeatureSourceDto, self).__init__(**kwargs)
+ self.type = kwargs["type"]
+ self.path = kwargs["path"]
+ self.timestamp_column = kwargs["timestamp_column"]
+ self.source_delay = kwargs["source_delay"]
+
+
+class FeaturestoreentitiesVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeaturestoreentitiesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeaturestoreentitiesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeaturestoreentitiesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeaturestoreentitiesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeaturestoreentitiesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class FeaturestoreentitiesVersionedEntity(msrest.serialization.Model):
+ """FeaturestoreentitiesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeaturestoreentitiesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureEntityVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureEntityVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeaturestoreentitiesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeaturestoreentitiesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class FeatureTransformationDto(msrest.serialization.Model):
+ """FeatureTransformationDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required.
+ :vartype path: str
+ :ivar transformer_class: Required.
+ :vartype transformer_class: str
+ """
+
+ _validation = {
+ "path": {"required": True},
+ "transformer_class": {"required": True},
+ }
+
+ _attribute_map = {
+ "path": {"key": "path", "type": "str"},
+ "transformer_class": {"key": "transformerClass", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword path: Required.
+ :paramtype path: str
+ :keyword transformer_class: Required.
+ :paramtype transformer_class: str
+ """
+ super(FeatureTransformationDto, self).__init__(**kwargs)
+ self.path = kwargs["path"]
+ self.transformer_class = kwargs["transformer_class"]
+
+
+class FreeTextSearchColumn(msrest.serialization.Model):
+ """FreeTextSearchColumn.
+
+ :ivar name:
+ :vartype name: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ """
+ super(FreeTextSearchColumn, self).__init__(**kwargs)
+ self.name = kwargs.get("name", None)
+
+
+class GenericTriggerAnnotations(msrest.serialization.Model):
+ """GenericTriggerAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar provisioning_status: Required. Possible values include: "Completed", "Provisioning",
+ "Failed".
+ :vartype provisioning_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsProvisioningStatus
+ :ivar trigger_type: Required. Possible values include: "Schedule", "Once".
+ :vartype trigger_type: str or ~index_service_apis.models.GenericTriggerAnnotationsTriggerType
+ :ivar schedule_method: Required. Possible values include: "Cron", "Recurrence".
+ :vartype schedule_method: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleMethod
+ :ivar schedule_action_type: Required. Possible values include: "CreateJob", "InvokeEndpoint",
+ "ImportData", "ModelMonitor".
+ :vartype schedule_action_type: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleActionType
+ :ivar recurrence: Required.
+ :vartype recurrence: ~index_service_apis.models.RecurrenceTrigger
+ :ivar cron: Required.
+ :vartype cron: ~index_service_apis.models.CronTrigger
+ :ivar start_time: Required.
+ :vartype start_time: str
+ :ivar end_time: Required.
+ :vartype end_time: str
+ :ivar time_zone: Required.
+ :vartype time_zone: str
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.GenericTriggerAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar definition: Required.
+ :vartype definition: str
+ :ivar feature_definition: Required.
+ :vartype feature_definition: str
+ :ivar managed_type: Required. Possible values include: "Customer", "System".
+ :vartype managed_type: str or ~index_service_apis.models.GenericTriggerAnnotationsManagedType
+ :ivar scenario_name: Required.
+ :vartype scenario_name: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "display_name": {"required": True},
+ "kv_tags": {"required": True},
+ "properties": {"required": True},
+ "provisioning_status": {"required": True},
+ "trigger_type": {"required": True},
+ "schedule_method": {"required": True},
+ "schedule_action_type": {"required": True},
+ "recurrence": {"required": True},
+ "cron": {"required": True},
+ "start_time": {"required": True},
+ "end_time": {"required": True},
+ "time_zone": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "definition": {"required": True},
+ "feature_definition": {"required": True},
+ "managed_type": {"required": True},
+ "scenario_name": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "display_name": {"key": "displayName", "type": "str"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "provisioning_status": {"key": "provisioningStatus", "type": "str"},
+ "trigger_type": {"key": "triggerType", "type": "str"},
+ "schedule_method": {"key": "scheduleMethod", "type": "str"},
+ "schedule_action_type": {"key": "scheduleActionType", "type": "str"},
+ "recurrence": {"key": "recurrence", "type": "RecurrenceTrigger"},
+ "cron": {"key": "cron", "type": "CronTrigger"},
+ "start_time": {"key": "startTime", "type": "str"},
+ "end_time": {"key": "endTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "definition": {"key": "definition", "type": "str"},
+ "feature_definition": {"key": "featureDefinition", "type": "str"},
+ "managed_type": {"key": "managedType", "type": "str"},
+ "scenario_name": {"key": "scenarioName", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword provisioning_status: Required. Possible values include: "Completed", "Provisioning",
+ "Failed".
+ :paramtype provisioning_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsProvisioningStatus
+ :keyword trigger_type: Required. Possible values include: "Schedule", "Once".
+ :paramtype trigger_type: str or ~index_service_apis.models.GenericTriggerAnnotationsTriggerType
+ :keyword schedule_method: Required. Possible values include: "Cron", "Recurrence".
+ :paramtype schedule_method: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleMethod
+ :keyword schedule_action_type: Required. Possible values include: "CreateJob",
+ "InvokeEndpoint", "ImportData", "ModelMonitor".
+ :paramtype schedule_action_type: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleActionType
+ :keyword recurrence: Required.
+ :paramtype recurrence: ~index_service_apis.models.RecurrenceTrigger
+ :keyword cron: Required.
+ :paramtype cron: ~index_service_apis.models.CronTrigger
+ :keyword start_time: Required.
+ :paramtype start_time: str
+ :keyword end_time: Required.
+ :paramtype end_time: str
+ :keyword time_zone: Required.
+ :paramtype time_zone: str
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword definition: Required.
+ :paramtype definition: str
+ :keyword feature_definition: Required.
+ :paramtype feature_definition: str
+ :keyword managed_type: Required. Possible values include: "Customer", "System".
+ :paramtype managed_type: str or ~index_service_apis.models.GenericTriggerAnnotationsManagedType
+ :keyword scenario_name: Required.
+ :paramtype scenario_name: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(GenericTriggerAnnotations, self).__init__(**kwargs)
+ self.display_name = kwargs["display_name"]
+ self.kv_tags = kwargs["kv_tags"]
+ self.properties = kwargs["properties"]
+ self.provisioning_status = kwargs["provisioning_status"]
+ self.trigger_type = kwargs["trigger_type"]
+ self.schedule_method = kwargs["schedule_method"]
+ self.schedule_action_type = kwargs["schedule_action_type"]
+ self.recurrence = kwargs["recurrence"]
+ self.cron = kwargs["cron"]
+ self.start_time = kwargs["start_time"]
+ self.end_time = kwargs["end_time"]
+ self.time_zone = kwargs["time_zone"]
+ self.entity_status = kwargs["entity_status"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.last_updated_by = kwargs["last_updated_by"]
+ self.definition = kwargs["definition"]
+ self.feature_definition = kwargs["feature_definition"]
+ self.managed_type = kwargs["managed_type"]
+ self.scenario_name = kwargs["scenario_name"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class GenericTriggerProperties(msrest.serialization.Model):
+ """GenericTriggerProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(GenericTriggerProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class GenerictriggersUnversionedEntitiesResponse(msrest.serialization.Model):
+ """GenerictriggersUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.GenerictriggersUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[GenerictriggersUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.GenerictriggersUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(GenerictriggersUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class GenerictriggersUnversionedEntity(msrest.serialization.Model):
+ """GenerictriggersUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.GenerictriggersUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.GenericTriggerAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.GenericTriggerProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "GenericTriggerAnnotations"},
+ "properties": {"key": "properties", "type": "GenericTriggerProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.GenerictriggersUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.GenericTriggerAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.GenericTriggerProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(GenerictriggersUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class HighlightOptions(msrest.serialization.Model):
+ """HighlightOptions.
+
+ :ivar pre_tag:
+ :vartype pre_tag: str
+ :ivar post_tag:
+ :vartype post_tag: str
+ :ivar fields:
+ :vartype fields: list[str]
+ """
+
+ _attribute_map = {
+ "pre_tag": {"key": "preTag", "type": "str"},
+ "post_tag": {"key": "postTag", "type": "str"},
+ "fields": {"key": "fields", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword pre_tag:
+ :paramtype pre_tag: str
+ :keyword post_tag:
+ :paramtype post_tag: str
+ :keyword fields:
+ :paramtype fields: list[str]
+ """
+ super(HighlightOptions, self).__init__(**kwargs)
+ self.pre_tag = kwargs.get("pre_tag", None)
+ self.post_tag = kwargs.get("post_tag", None)
+ self.fields = kwargs.get("fields", None)
+
+
+class IndependentPipelineAnnotations(msrest.serialization.Model):
+ """IndependentPipelineAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar url: Required.
+ :vartype url: str
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar last_run_id: Required.
+ :vartype last_run_id: str
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :vartype last_run_status_code: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsLastRunStatusCode
+ :ivar last_run_creation_time: Required.
+ :vartype last_run_creation_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "url": {"required": True},
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "last_run_id": {"required": True},
+ "pipeline_type": {"required": True},
+ "last_run_status_code": {"required": True},
+ "last_run_creation_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "url": {"key": "url", "type": "str"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "last_run_id": {"key": "lastRunId", "type": "str"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "last_run_status_code": {"key": "lastRunStatusCode", "type": "str"},
+ "last_run_creation_time": {"key": "lastRunCreationTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword last_run_id: Required.
+ :paramtype last_run_id: str
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :paramtype last_run_status_code: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsLastRunStatusCode
+ :keyword last_run_creation_time: Required.
+ :paramtype last_run_creation_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(IndependentPipelineAnnotations, self).__init__(**kwargs)
+ self.url = kwargs["url"]
+ self.kv_tags = kwargs["kv_tags"]
+ self.step_tags = kwargs["step_tags"]
+ self.properties = kwargs["properties"]
+ self.step_properties = kwargs["step_properties"]
+ self.entity_status = kwargs["entity_status"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.last_updated_by = kwargs["last_updated_by"]
+ self.last_run_id = kwargs["last_run_id"]
+ self.pipeline_type = kwargs["pipeline_type"]
+ self.last_run_status_code = kwargs["last_run_status_code"]
+ self.last_run_creation_time = kwargs["last_run_creation_time"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class IndependentPipelineProperties(msrest.serialization.Model):
+ """IndependentPipelineProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(IndependentPipelineProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class IndependentpipelinesUnversionedEntitiesResponse(msrest.serialization.Model):
+ """IndependentpipelinesUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndependentpipelinesUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[IndependentpipelinesUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndependentpipelinesUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(IndependentpipelinesUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class IndependentpipelinesUnversionedEntity(msrest.serialization.Model):
+ """IndependentpipelinesUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.IndependentpipelinesUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.IndependentPipelineAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.IndependentPipelineProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "IndependentPipelineAnnotations"},
+ "properties": {"key": "properties", "type": "IndependentPipelineProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.IndependentpipelinesUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.IndependentPipelineAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.IndependentPipelineProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(IndependentpipelinesUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class IndexAnnotations(msrest.serialization.Model):
+ """IndexAnnotations.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar archived:
+ :vartype archived: bool
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword archived:
+ :paramtype archived: bool
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(IndexAnnotations, self).__init__(**kwargs)
+ self.additional_properties = kwargs.get("additional_properties", None)
+ self.archived = kwargs.get("archived", None)
+ self.tags = kwargs.get("tags", None)
+
+
+class IndexColumn(msrest.serialization.Model):
+ """IndexColumn.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :vartype data_type: str or ~index_service_apis.models.IndexColumnDataType
+ :ivar column_name: Required.
+ :vartype column_name: str
+ """
+
+ _validation = {
+ "data_type": {"required": True},
+ "column_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_type": {"key": "dataType", "type": "str"},
+ "column_name": {"key": "columnName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :paramtype data_type: str or ~index_service_apis.models.IndexColumnDataType
+ :keyword column_name: Required.
+ :paramtype column_name: str
+ """
+ super(IndexColumn, self).__init__(**kwargs)
+ self.data_type = kwargs["data_type"]
+ self.column_name = kwargs["column_name"]
+
+
+class IndexColumnDto(msrest.serialization.Model):
+ """IndexColumnDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar type: Required. Possible values include: "string", "integer", "long", "float", "double",
+ "binary", "datetime", "boolean".
+ :vartype type: str or ~index_service_apis.models.IndexColumnDtoType
+ :ivar name: Required.
+ :vartype name: str
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "name": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword type: Required. Possible values include: "string", "integer", "long", "float",
+ "double", "binary", "datetime", "boolean".
+ :paramtype type: str or ~index_service_apis.models.IndexColumnDtoType
+ :keyword name: Required.
+ :paramtype name: str
+ """
+ super(IndexColumnDto, self).__init__(**kwargs)
+ self.type = kwargs["type"]
+ self.name = kwargs["name"]
+
+
+class IndexedErrorResponse(msrest.serialization.Model):
+ """IndexedErrorResponse.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code: Required.
+ :vartype code: str
+ :ivar error_code_hierarchy: Required.
+ :vartype error_code_hierarchy: str
+ :ivar message: Required.
+ :vartype message: str
+ :ivar time: Required.
+ :vartype time: ~datetime.datetime
+ :ivar component_name: Required.
+ :vartype component_name: str
+ :ivar severity: Required.
+ :vartype severity: int
+ :ivar details_uri: Required.
+ :vartype details_uri: str
+ :ivar reference_code: Required.
+ :vartype reference_code: str
+ """
+
+ _validation = {
+ "code": {"required": True},
+ "error_code_hierarchy": {"required": True},
+ "message": {"required": True},
+ "time": {"required": True},
+ "component_name": {"required": True},
+ "severity": {"required": True},
+ "details_uri": {"required": True},
+ "reference_code": {"required": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "error_code_hierarchy": {"key": "errorCodeHierarchy", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "time": {"key": "time", "type": "iso-8601"},
+ "component_name": {"key": "componentName", "type": "str"},
+ "severity": {"key": "severity", "type": "int"},
+ "details_uri": {"key": "detailsUri", "type": "str"},
+ "reference_code": {"key": "referenceCode", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword code: Required.
+ :paramtype code: str
+ :keyword error_code_hierarchy: Required.
+ :paramtype error_code_hierarchy: str
+ :keyword message: Required.
+ :paramtype message: str
+ :keyword time: Required.
+ :paramtype time: ~datetime.datetime
+ :keyword component_name: Required.
+ :paramtype component_name: str
+ :keyword severity: Required.
+ :paramtype severity: int
+ :keyword details_uri: Required.
+ :paramtype details_uri: str
+ :keyword reference_code: Required.
+ :paramtype reference_code: str
+ """
+ super(IndexedErrorResponse, self).__init__(**kwargs)
+ self.code = kwargs["code"]
+ self.error_code_hierarchy = kwargs["error_code_hierarchy"]
+ self.message = kwargs["message"]
+ self.time = kwargs["time"]
+ self.component_name = kwargs["component_name"]
+ self.severity = kwargs["severity"]
+ self.details_uri = kwargs["details_uri"]
+ self.reference_code = kwargs["reference_code"]
+
+
+class IndexEntitiesLocalOperationRequest(msrest.serialization.Model):
+ """IndexEntitiesLocalOperationRequest.
+
+ :ivar get_all_entities:
+ :vartype get_all_entities: bool
+ :ivar group:
+ :vartype group: list[~index_service_apis.models.IndexEntitiesRequestGroup]
+ :ivar highlight_options:
+ :vartype highlight_options: ~index_service_apis.models.HighlightOptions
+ :ivar search_builder:
+ :vartype search_builder: str
+ :ivar search_mode:
+ :vartype search_mode: str
+ :ivar free_text_search:
+ :vartype free_text_search: str
+ :ivar free_text_search_columns:
+ :vartype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar asset_resource_filters:
+ :vartype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar order:
+ :vartype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar skip:
+ :vartype skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar include_total_result_count:
+ :vartype include_total_result_count: bool
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.ResourceInformation]
+ :ivar cmk_fanout:
+ :vartype cmk_fanout: bool
+ :ivar include_fanout_data:
+ :vartype include_fanout_data: bool
+ :ivar shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+
+ _attribute_map = {
+ "get_all_entities": {"key": "getAllEntities", "type": "bool"},
+ "group": {"key": "group", "type": "[IndexEntitiesRequestGroup]"},
+ "highlight_options": {"key": "highlightOptions", "type": "HighlightOptions"},
+ "search_builder": {"key": "searchBuilder", "type": "str"},
+ "search_mode": {"key": "searchMode", "type": "str"},
+ "free_text_search": {"key": "freeTextSearch", "type": "str"},
+ "free_text_search_columns": {"key": "freeTextSearchColumns", "type": "[FreeTextSearchColumn]"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "asset_resource_filters": {"key": "assetResourceFilters", "type": "[IndexEntitiesRequestFilter]"},
+ "order": {"key": "order", "type": "[IndexEntitiesRequestOrder]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "skip": {"key": "skip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "include_total_result_count": {"key": "includeTotalResultCount", "type": "bool"},
+ "resources": {"key": "resources", "type": "[ResourceInformation]"},
+ "cmk_fanout": {"key": "cmkFanout", "type": "bool"},
+ "include_fanout_data": {"key": "includeFanoutData", "type": "bool"},
+ "shard_id_to_shard_skips": {"key": "shardIdToShardSkips", "type": "{SingleShardFanoutData}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword get_all_entities:
+ :paramtype get_all_entities: bool
+ :keyword group:
+ :paramtype group: list[~index_service_apis.models.IndexEntitiesRequestGroup]
+ :keyword highlight_options:
+ :paramtype highlight_options: ~index_service_apis.models.HighlightOptions
+ :keyword search_builder:
+ :paramtype search_builder: str
+ :keyword search_mode:
+ :paramtype search_mode: str
+ :keyword free_text_search:
+ :paramtype free_text_search: str
+ :keyword free_text_search_columns:
+ :paramtype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword asset_resource_filters:
+ :paramtype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword order:
+ :paramtype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword skip:
+ :paramtype skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword include_total_result_count:
+ :paramtype include_total_result_count: bool
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.ResourceInformation]
+ :keyword cmk_fanout:
+ :paramtype cmk_fanout: bool
+ :keyword include_fanout_data:
+ :paramtype include_fanout_data: bool
+ :keyword shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+ super(IndexEntitiesLocalOperationRequest, self).__init__(**kwargs)
+ self.get_all_entities = kwargs.get("get_all_entities", None)
+ self.group = kwargs.get("group", None)
+ self.highlight_options = kwargs.get("highlight_options", None)
+ self.search_builder = kwargs.get("search_builder", None)
+ self.search_mode = kwargs.get("search_mode", None)
+ self.free_text_search = kwargs.get("free_text_search", None)
+ self.free_text_search_columns = kwargs.get("free_text_search_columns", None)
+ self.filters = kwargs.get("filters", None)
+ self.asset_resource_filters = kwargs.get("asset_resource_filters", None)
+ self.order = kwargs.get("order", None)
+ self.page_size = kwargs.get("page_size", None)
+ self.skip = kwargs.get("skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.include_total_result_count = kwargs.get("include_total_result_count", None)
+ self.resources = kwargs.get("resources", None)
+ self.cmk_fanout = kwargs.get("cmk_fanout", None)
+ self.include_fanout_data = kwargs.get("include_fanout_data", None)
+ self.shard_id_to_shard_skips = kwargs.get("shard_id_to_shard_skips", None)
+
+
+class IndexEntitiesRequest(msrest.serialization.Model):
+ """IndexEntitiesRequest.
+
+ :ivar highlight_options:
+ :vartype highlight_options: ~index_service_apis.models.HighlightOptions
+ :ivar search_builder:
+ :vartype search_builder: str
+ :ivar search_mode:
+ :vartype search_mode: str
+ :ivar free_text_search:
+ :vartype free_text_search: str
+ :ivar free_text_search_columns:
+ :vartype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar asset_resource_filters:
+ :vartype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar order:
+ :vartype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar skip:
+ :vartype skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar include_total_result_count:
+ :vartype include_total_result_count: bool
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.ResourceInformation]
+ :ivar cmk_fanout:
+ :vartype cmk_fanout: bool
+ :ivar include_fanout_data:
+ :vartype include_fanout_data: bool
+ :ivar shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+
+ _attribute_map = {
+ "highlight_options": {"key": "highlightOptions", "type": "HighlightOptions"},
+ "search_builder": {"key": "searchBuilder", "type": "str"},
+ "search_mode": {"key": "searchMode", "type": "str"},
+ "free_text_search": {"key": "freeTextSearch", "type": "str"},
+ "free_text_search_columns": {"key": "freeTextSearchColumns", "type": "[FreeTextSearchColumn]"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "asset_resource_filters": {"key": "assetResourceFilters", "type": "[IndexEntitiesRequestFilter]"},
+ "order": {"key": "order", "type": "[IndexEntitiesRequestOrder]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "skip": {"key": "skip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "include_total_result_count": {"key": "includeTotalResultCount", "type": "bool"},
+ "resources": {"key": "resources", "type": "[ResourceInformation]"},
+ "cmk_fanout": {"key": "cmkFanout", "type": "bool"},
+ "include_fanout_data": {"key": "includeFanoutData", "type": "bool"},
+ "shard_id_to_shard_skips": {"key": "shardIdToShardSkips", "type": "{SingleShardFanoutData}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword highlight_options:
+ :paramtype highlight_options: ~index_service_apis.models.HighlightOptions
+ :keyword search_builder:
+ :paramtype search_builder: str
+ :keyword search_mode:
+ :paramtype search_mode: str
+ :keyword free_text_search:
+ :paramtype free_text_search: str
+ :keyword free_text_search_columns:
+ :paramtype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword asset_resource_filters:
+ :paramtype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword order:
+ :paramtype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword skip:
+ :paramtype skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword include_total_result_count:
+ :paramtype include_total_result_count: bool
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.ResourceInformation]
+ :keyword cmk_fanout:
+ :paramtype cmk_fanout: bool
+ :keyword include_fanout_data:
+ :paramtype include_fanout_data: bool
+ :keyword shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+ super(IndexEntitiesRequest, self).__init__(**kwargs)
+ self.highlight_options = kwargs.get("highlight_options", None)
+ self.search_builder = kwargs.get("search_builder", None)
+ self.search_mode = kwargs.get("search_mode", None)
+ self.free_text_search = kwargs.get("free_text_search", None)
+ self.free_text_search_columns = kwargs.get("free_text_search_columns", None)
+ self.filters = kwargs.get("filters", None)
+ self.asset_resource_filters = kwargs.get("asset_resource_filters", None)
+ self.order = kwargs.get("order", None)
+ self.page_size = kwargs.get("page_size", None)
+ self.skip = kwargs.get("skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.include_total_result_count = kwargs.get("include_total_result_count", None)
+ self.resources = kwargs.get("resources", None)
+ self.cmk_fanout = kwargs.get("cmk_fanout", None)
+ self.include_fanout_data = kwargs.get("include_fanout_data", None)
+ self.shard_id_to_shard_skips = kwargs.get("shard_id_to_shard_skips", None)
+
+
+class IndexEntitiesRequestFilter(msrest.serialization.Model):
+ """IndexEntitiesRequestFilter.
+
+ :ivar field:
+ :vartype field: str
+ :ivar operator:
+ :vartype operator: str
+ :ivar values:
+ :vartype values: list[str]
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ "operator": {"key": "operator", "type": "str"},
+ "values": {"key": "values", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword field:
+ :paramtype field: str
+ :keyword operator:
+ :paramtype operator: str
+ :keyword values:
+ :paramtype values: list[str]
+ """
+ super(IndexEntitiesRequestFilter, self).__init__(**kwargs)
+ self.field = kwargs.get("field", None)
+ self.operator = kwargs.get("operator", None)
+ self.values = kwargs.get("values", None)
+
+
+class IndexEntitiesRequestGroup(msrest.serialization.Model):
+ """IndexEntitiesRequestGroup.
+
+ :ivar field:
+ :vartype field: str
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword field:
+ :paramtype field: str
+ """
+ super(IndexEntitiesRequestGroup, self).__init__(**kwargs)
+ self.field = kwargs.get("field", None)
+
+
+class IndexEntitiesRequestOrder(msrest.serialization.Model):
+ """IndexEntitiesRequestOrder.
+
+ :ivar field:
+ :vartype field: str
+ :ivar direction: Possible values include: "Asc", "Desc".
+ :vartype direction: str or ~index_service_apis.models.IndexEntitiesRequestOrderDirection
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ "direction": {"key": "direction", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword field:
+ :paramtype field: str
+ :keyword direction: Possible values include: "Asc", "Desc".
+ :paramtype direction: str or ~index_service_apis.models.IndexEntitiesRequestOrderDirection
+ """
+ super(IndexEntitiesRequestOrder, self).__init__(**kwargs)
+ self.field = kwargs.get("field", None)
+ self.direction = kwargs.get("direction", None)
+
+
+class IndexEntitiesResponse(msrest.serialization.Model):
+ """IndexEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndexEntityResponse]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[IndexEntityResponse]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndexEntityResponse]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(IndexEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class IndexEntityContainerMetadata(msrest.serialization.Model):
+ """IndexEntityContainerMetadata.
+
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group:
+ :vartype resource_group: str
+ :ivar resource_name:
+ :vartype resource_name: str
+ :ivar entity_container_type:
+ :vartype entity_container_type: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ :ivar immutable_resource_id:
+ :vartype immutable_resource_id: str
+ :ivar is_public_resource:
+ :vartype is_public_resource: bool
+ """
+
+ _attribute_map = {
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "resource_name": {"key": "resourceName", "type": "str"},
+ "entity_container_type": {"key": "entityContainerType", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "immutable_resource_id": {"key": "immutableResourceId", "type": "str"},
+ "is_public_resource": {"key": "isPublicResource", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group:
+ :paramtype resource_group: str
+ :keyword resource_name:
+ :paramtype resource_name: str
+ :keyword entity_container_type:
+ :paramtype entity_container_type: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ :keyword immutable_resource_id:
+ :paramtype immutable_resource_id: str
+ :keyword is_public_resource:
+ :paramtype is_public_resource: bool
+ """
+ super(IndexEntityContainerMetadata, self).__init__(**kwargs)
+ self.resource_id = kwargs.get("resource_id", None)
+ self.subscription_id = kwargs.get("subscription_id", None)
+ self.resource_group = kwargs.get("resource_group", None)
+ self.resource_name = kwargs.get("resource_name", None)
+ self.entity_container_type = kwargs.get("entity_container_type", None)
+ self.regions = kwargs.get("regions", None)
+ self.tenant_id = kwargs.get("tenant_id", None)
+ self.immutable_resource_id = kwargs.get("immutable_resource_id", None)
+ self.is_public_resource = kwargs.get("is_public_resource", None)
+
+
+class IndexEntityResponse(msrest.serialization.Model):
+ """IndexEntityResponse.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar relevancy_score:
+ :vartype relevancy_score: float
+ :ivar entity_resource_name:
+ :vartype entity_resource_name: str
+ :ivar highlights: Dictionary of
+ <components·jiilq·schemas·indexentityresponse·properties·highlights·additionalproperties>.
+ :vartype highlights: dict[str, list[str]]
+ :ivar usage:
+ :vartype usage: ~index_service_apis.models.Usage
+ :ivar schema_id:
+ :vartype schema_id: str
+ :ivar entity_id:
+ :vartype entity_id: str
+ :ivar kind: Possible values include: "Invalid", "LineageRoot", "Versioned", "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.EntityKind
+ :ivar annotations:
+ :vartype annotations: ~index_service_apis.models.IndexAnnotations
+ :ivar properties:
+ :vartype properties: ~index_service_apis.models.IndexProperties
+ :ivar internal: Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence:
+ :vartype update_sequence: long
+ :ivar type:
+ :vartype type: str
+ :ivar version:
+ :vartype version: str
+ :ivar entity_container_id:
+ :vartype entity_container_id: str
+ :ivar entity_object_id:
+ :vartype entity_object_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar relationships:
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "version": {"readonly": True},
+ "entity_container_id": {"readonly": True},
+ "entity_object_id": {"readonly": True},
+ "resource_type": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "relevancy_score": {"key": "relevancyScore", "type": "float"},
+ "entity_resource_name": {"key": "entityResourceName", "type": "str"},
+ "highlights": {"key": "highlights", "type": "{[str]}"},
+ "usage": {"key": "usage", "type": "Usage"},
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "IndexAnnotations"},
+ "properties": {"key": "properties", "type": "IndexProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "long"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword relevancy_score:
+ :paramtype relevancy_score: float
+ :keyword entity_resource_name:
+ :paramtype entity_resource_name: str
+ :keyword highlights: Dictionary of
+ <components·jiilq·schemas·indexentityresponse·properties·highlights·additionalproperties>.
+ :paramtype highlights: dict[str, list[str]]
+ :keyword usage:
+ :paramtype usage: ~index_service_apis.models.Usage
+ :keyword schema_id:
+ :paramtype schema_id: str
+ :keyword entity_id:
+ :paramtype entity_id: str
+ :keyword kind: Possible values include: "Invalid", "LineageRoot", "Versioned", "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.EntityKind
+ :keyword annotations:
+ :paramtype annotations: ~index_service_apis.models.IndexAnnotations
+ :keyword properties:
+ :paramtype properties: ~index_service_apis.models.IndexProperties
+ :keyword internal: Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence:
+ :paramtype update_sequence: long
+ :keyword type:
+ :paramtype type: str
+ :keyword relationships:
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(IndexEntityResponse, self).__init__(**kwargs)
+ self.relevancy_score = kwargs.get("relevancy_score", None)
+ self.entity_resource_name = kwargs.get("entity_resource_name", None)
+ self.highlights = kwargs.get("highlights", None)
+ self.usage = kwargs.get("usage", None)
+ self.schema_id = kwargs.get("schema_id", None)
+ self.entity_id = kwargs.get("entity_id", None)
+ self.kind = kwargs.get("kind", None)
+ self.annotations = kwargs.get("annotations", None)
+ self.properties = kwargs.get("properties", None)
+ self.internal = kwargs.get("internal", None)
+ self.update_sequence = kwargs.get("update_sequence", None)
+ self.type = kwargs.get("type", None)
+ self.version = None
+ self.entity_container_id = None
+ self.entity_object_id = None
+ self.resource_type = None
+ self.relationships = kwargs.get("relationships", None)
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class IndexProperties(msrest.serialization.Model):
+ """IndexProperties.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar updated_time:
+ :vartype updated_time: ~datetime.datetime
+ :ivar creation_context:
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "updated_time": {"key": "updatedTime", "type": "iso-8601"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword updated_time:
+ :paramtype updated_time: ~datetime.datetime
+ :keyword creation_context:
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(IndexProperties, self).__init__(**kwargs)
+ self.additional_properties = kwargs.get("additional_properties", None)
+ self.updated_time = kwargs.get("updated_time", None)
+ self.creation_context = kwargs.get("creation_context", None)
+
+
+class IndexResourceDiscoveryResponseItem(msrest.serialization.Model):
+ """IndexResourceDiscoveryResponseItem.
+
+ :ivar name:
+ :vartype name: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar region:
+ :vartype region: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group_name:
+ :vartype resource_group_name: str
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar is_customer_managed:
+ :vartype is_customer_managed: bool
+ :ivar is_private_link_resource:
+ :vartype is_private_link_resource: bool
+ :ivar is_private_link_resource_behind_vnet:
+ :vartype is_private_link_resource_behind_vnet: bool
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group_name": {"key": "resourceGroupName", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "is_customer_managed": {"key": "isCustomerManaged", "type": "bool"},
+ "is_private_link_resource": {"key": "isPrivateLinkResource", "type": "bool"},
+ "is_private_link_resource_behind_vnet": {"key": "isPrivateLinkResourceBehindVnet", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_type:
+ :paramtype resource_type: str
+ :keyword region:
+ :paramtype region: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group_name:
+ :paramtype resource_group_name: str
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword is_customer_managed:
+ :paramtype is_customer_managed: bool
+ :keyword is_private_link_resource:
+ :paramtype is_private_link_resource: bool
+ :keyword is_private_link_resource_behind_vnet:
+ :paramtype is_private_link_resource_behind_vnet: bool
+ """
+ super(IndexResourceDiscoveryResponseItem, self).__init__(**kwargs)
+ self.name = kwargs.get("name", None)
+ self.resource_id = kwargs.get("resource_id", None)
+ self.resource_type = kwargs.get("resource_type", None)
+ self.region = kwargs.get("region", None)
+ self.regions = kwargs.get("regions", None)
+ self.subscription_id = kwargs.get("subscription_id", None)
+ self.resource_group_name = kwargs.get("resource_group_name", None)
+ self.tags = kwargs.get("tags", None)
+ self.is_customer_managed = kwargs.get("is_customer_managed", None)
+ self.is_private_link_resource = kwargs.get("is_private_link_resource", None)
+ self.is_private_link_resource_behind_vnet = kwargs.get("is_private_link_resource_behind_vnet", None)
+
+
+class IndexResourceDiscoveryResponseItemPaginatedResult(msrest.serialization.Model):
+ """IndexResourceDiscoveryResponseItemPaginatedResult.
+
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndexResourceDiscoveryResponseItem]
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[IndexResourceDiscoveryResponseItem]"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndexResourceDiscoveryResponseItem]
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super(IndexResourceDiscoveryResponseItemPaginatedResult, self).__init__(**kwargs)
+ self.value = kwargs.get("value", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.next_link = kwargs.get("next_link", None)
+
+
+class InnerErrorResponse(msrest.serialization.Model):
+ """InnerErrorResponse.
+
+ :ivar code:
+ :vartype code: str
+ :ivar inner_error:
+ :vartype inner_error: ~index_service_apis.models.InnerErrorResponse
+ """
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "inner_error": {"key": "innerError", "type": "InnerErrorResponse"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword code:
+ :paramtype code: str
+ :keyword inner_error:
+ :paramtype inner_error: ~index_service_apis.models.InnerErrorResponse
+ """
+ super(InnerErrorResponse, self).__init__(**kwargs)
+ self.code = kwargs.get("code", None)
+ self.inner_error = kwargs.get("inner_error", None)
+
+
+class InputNameAndDataTypeIdsList(msrest.serialization.Model):
+ """InputNameAndDataTypeIdsList.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar data_type_ids_list: Required.
+ :vartype data_type_ids_list: list[str]
+ :ivar is_optional: Required.
+ :vartype is_optional: bool
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "data_type_ids_list": {"required": True},
+ "is_optional": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "data_type_ids_list": {"key": "dataTypeIdsList", "type": "[str]"},
+ "is_optional": {"key": "isOptional", "type": "bool"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword data_type_ids_list: Required.
+ :paramtype data_type_ids_list: list[str]
+ :keyword is_optional: Required.
+ :paramtype is_optional: bool
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ """
+ super(InputNameAndDataTypeIdsList, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.data_type_ids_list = kwargs["data_type_ids_list"]
+ self.is_optional = kwargs["is_optional"]
+ self.description = kwargs["description"]
+ self.label = kwargs["label"]
+
+
+class InternalUxPresenceWarmUpRequest(msrest.serialization.Model):
+ """InternalUxPresenceWarmUpRequest.
+
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.UxPresenceResource]
+ :ivar source_ip:
+ :vartype source_ip: str
+ :ivar user_tenant_id:
+ :vartype user_tenant_id: str
+ :ivar user_object_id:
+ :vartype user_object_id: str
+ """
+
+ _attribute_map = {
+ "resources": {"key": "resources", "type": "[UxPresenceResource]"},
+ "source_ip": {"key": "sourceIp", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.UxPresenceResource]
+ :keyword source_ip:
+ :paramtype source_ip: str
+ :keyword user_tenant_id:
+ :paramtype user_tenant_id: str
+ :keyword user_object_id:
+ :paramtype user_object_id: str
+ """
+ super(InternalUxPresenceWarmUpRequest, self).__init__(**kwargs)
+ self.resources = kwargs.get("resources", None)
+ self.source_ip = kwargs.get("source_ip", None)
+ self.user_tenant_id = kwargs.get("user_tenant_id", None)
+ self.user_object_id = kwargs.get("user_object_id", None)
+
+
+class JobCost(msrest.serialization.Model):
+ """JobCost.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar charged_cpu_core_seconds: Required.
+ :vartype charged_cpu_core_seconds: float
+ :ivar charged_cpu_memory_megabyte_seconds: Required.
+ :vartype charged_cpu_memory_megabyte_seconds: float
+ :ivar charged_gpu_seconds: Required.
+ :vartype charged_gpu_seconds: float
+ :ivar charged_node_utilization_seconds: Required.
+ :vartype charged_node_utilization_seconds: float
+ """
+
+ _validation = {
+ "charged_cpu_core_seconds": {"required": True},
+ "charged_cpu_memory_megabyte_seconds": {"required": True},
+ "charged_gpu_seconds": {"required": True},
+ "charged_node_utilization_seconds": {"required": True},
+ }
+
+ _attribute_map = {
+ "charged_cpu_core_seconds": {"key": "chargedCpuCoreSeconds", "type": "float"},
+ "charged_cpu_memory_megabyte_seconds": {"key": "chargedCpuMemoryMegabyteSeconds", "type": "float"},
+ "charged_gpu_seconds": {"key": "chargedGpuSeconds", "type": "float"},
+ "charged_node_utilization_seconds": {"key": "chargedNodeUtilizationSeconds", "type": "float"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword charged_cpu_core_seconds: Required.
+ :paramtype charged_cpu_core_seconds: float
+ :keyword charged_cpu_memory_megabyte_seconds: Required.
+ :paramtype charged_cpu_memory_megabyte_seconds: float
+ :keyword charged_gpu_seconds: Required.
+ :paramtype charged_gpu_seconds: float
+ :keyword charged_node_utilization_seconds: Required.
+ :paramtype charged_node_utilization_seconds: float
+ """
+ super(JobCost, self).__init__(**kwargs)
+ self.charged_cpu_core_seconds = kwargs["charged_cpu_core_seconds"]
+ self.charged_cpu_memory_megabyte_seconds = kwargs["charged_cpu_memory_megabyte_seconds"]
+ self.charged_gpu_seconds = kwargs["charged_gpu_seconds"]
+ self.charged_node_utilization_seconds = kwargs["charged_node_utilization_seconds"]
+
+
+class MaterializationComputeResource(msrest.serialization.Model):
+ """MaterializationComputeResource.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar instance_type: Required.
+ :vartype instance_type: str
+ """
+
+ _validation = {
+ "instance_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "instance_type": {"key": "instanceType", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword instance_type: Required.
+ :paramtype instance_type: str
+ """
+ super(MaterializationComputeResource, self).__init__(**kwargs)
+ self.instance_type = kwargs["instance_type"]
+
+
+class MaterializationSettings(msrest.serialization.Model):
+ """MaterializationSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar materialization_store_type: Required. Possible values include: "None", "Online",
+ "Offline", "OnlineAndOffline".
+ :vartype materialization_store_type: str or
+ ~index_service_apis.models.MaterializationSettingsMaterializationStoreType
+ :ivar schedule: Required.
+ :vartype schedule: ~index_service_apis.models.Recurrence
+ :ivar notification:
+ :vartype notification: ~index_service_apis.models.NotificationSetting
+ :ivar resource: Required.
+ :vartype resource: ~index_service_apis.models.MaterializationComputeResource
+ :ivar spark_configuration: Required. Dictionary of :code:`<string>`.
+ :vartype spark_configuration: dict[str, str]
+ """
+
+ _validation = {
+ "materialization_store_type": {"required": True},
+ "schedule": {"required": True},
+ "resource": {"required": True},
+ "spark_configuration": {"required": True},
+ }
+
+ _attribute_map = {
+ "materialization_store_type": {"key": "materializationStoreType", "type": "str"},
+ "schedule": {"key": "schedule", "type": "Recurrence"},
+ "notification": {"key": "notification", "type": "NotificationSetting"},
+ "resource": {"key": "resource", "type": "MaterializationComputeResource"},
+ "spark_configuration": {"key": "sparkConfiguration", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword materialization_store_type: Required. Possible values include: "None", "Online",
+ "Offline", "OnlineAndOffline".
+ :paramtype materialization_store_type: str or
+ ~index_service_apis.models.MaterializationSettingsMaterializationStoreType
+ :keyword schedule: Required.
+ :paramtype schedule: ~index_service_apis.models.Recurrence
+ :keyword notification:
+ :paramtype notification: ~index_service_apis.models.NotificationSetting
+ :keyword resource: Required.
+ :paramtype resource: ~index_service_apis.models.MaterializationComputeResource
+ :keyword spark_configuration: Required. Dictionary of :code:`<string>`.
+ :paramtype spark_configuration: dict[str, str]
+ """
+ super(MaterializationSettings, self).__init__(**kwargs)
+ self.materialization_store_type = kwargs["materialization_store_type"]
+ self.schedule = kwargs["schedule"]
+ self.notification = kwargs.get("notification", None)
+ self.resource = kwargs["resource"]
+ self.spark_configuration = kwargs["spark_configuration"]
+
+
+class ModelAnnotations(msrest.serialization.Model):
+ """ModelAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar datasets: Required.
+ :vartype datasets: list[~index_service_apis.models.DatasetReference]
+ :ivar sample_input_data: Required.
+ :vartype sample_input_data: str
+ :ivar sample_output_data: Required.
+ :vartype sample_output_data: str
+ :ivar resource_requirements: Required.
+ :vartype resource_requirements: ~index_service_apis.models.ContainerResourceRequirements
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "datasets": {"required": True},
+ "sample_input_data": {"required": True},
+ "sample_output_data": {"required": True},
+ "resource_requirements": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "datasets": {"key": "datasets", "type": "[DatasetReference]"},
+ "sample_input_data": {"key": "sampleInputData", "type": "str"},
+ "sample_output_data": {"key": "sampleOutputData", "type": "str"},
+ "resource_requirements": {"key": "resourceRequirements", "type": "ContainerResourceRequirements"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword datasets: Required.
+ :paramtype datasets: list[~index_service_apis.models.DatasetReference]
+ :keyword sample_input_data: Required.
+ :paramtype sample_input_data: str
+ :keyword sample_output_data: Required.
+ :paramtype sample_output_data: str
+ :keyword resource_requirements: Required.
+ :paramtype resource_requirements: ~index_service_apis.models.ContainerResourceRequirements
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(ModelAnnotations, self).__init__(**kwargs)
+ self.datasets = kwargs["datasets"]
+ self.sample_input_data = kwargs["sample_input_data"]
+ self.sample_output_data = kwargs["sample_output_data"]
+ self.resource_requirements = kwargs["resource_requirements"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class ModelProperties(msrest.serialization.Model):
+ """ModelProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar model_framework: Required.
+ :vartype model_framework: str
+ :ivar model_framework_version: Required.
+ :vartype model_framework_version: str
+ :ivar model_format: Required.
+ :vartype model_format: str
+ :ivar version: Required.
+ :vartype version: int
+ :ivar alphanumeric_version: Required.
+ :vartype alphanumeric_version: str
+ :ivar url: Required.
+ :vartype url: str
+ :ivar mime_type: Required.
+ :vartype mime_type: str
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar unpack: Required.
+ :vartype unpack: bool
+ :ivar parent_model_id: Required.
+ :vartype parent_model_id: str
+ :ivar run_id: Required.
+ :vartype run_id: str
+ :ivar experiment_name: Required.
+ :vartype experiment_name: str
+ :ivar experiment_id: Required.
+ :vartype experiment_id: str
+ :ivar derived_model_ids: Required.
+ :vartype derived_model_ids: list[str]
+ :ivar user_properties: Required. Dictionary of :code:`<string>`.
+ :vartype user_properties: dict[str, str]
+ :ivar is_anonymous: Required.
+ :vartype is_anonymous: bool
+ :ivar orgin_asset_id: Required.
+ :vartype orgin_asset_id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "name": {"required": True},
+ "model_framework": {"required": True},
+ "model_framework_version": {"required": True},
+ "model_format": {"required": True},
+ "version": {"required": True},
+ "alphanumeric_version": {"required": True},
+ "url": {"required": True},
+ "mime_type": {"required": True},
+ "modified_time": {"required": True},
+ "unpack": {"required": True},
+ "parent_model_id": {"required": True},
+ "run_id": {"required": True},
+ "experiment_name": {"required": True},
+ "experiment_id": {"required": True},
+ "derived_model_ids": {"required": True},
+ "user_properties": {"required": True},
+ "is_anonymous": {"required": True},
+ "orgin_asset_id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "model_framework": {"key": "modelFramework", "type": "str"},
+ "model_framework_version": {"key": "modelFrameworkVersion", "type": "str"},
+ "model_format": {"key": "modelFormat", "type": "str"},
+ "version": {"key": "version", "type": "int"},
+ "alphanumeric_version": {"key": "alphanumericVersion", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "mime_type": {"key": "mimeType", "type": "str"},
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "unpack": {"key": "unpack", "type": "bool"},
+ "parent_model_id": {"key": "parentModelId", "type": "str"},
+ "run_id": {"key": "runId", "type": "str"},
+ "experiment_name": {"key": "experimentName", "type": "str"},
+ "experiment_id": {"key": "experimentId", "type": "str"},
+ "derived_model_ids": {"key": "derivedModelIds", "type": "[str]"},
+ "user_properties": {"key": "userProperties", "type": "{str}"},
+ "is_anonymous": {"key": "isAnonymous", "type": "bool"},
+ "orgin_asset_id": {"key": "orginAssetId", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword model_framework: Required.
+ :paramtype model_framework: str
+ :keyword model_framework_version: Required.
+ :paramtype model_framework_version: str
+ :keyword model_format: Required.
+ :paramtype model_format: str
+ :keyword version: Required.
+ :paramtype version: int
+ :keyword alphanumeric_version: Required.
+ :paramtype alphanumeric_version: str
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword mime_type: Required.
+ :paramtype mime_type: str
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword unpack: Required.
+ :paramtype unpack: bool
+ :keyword parent_model_id: Required.
+ :paramtype parent_model_id: str
+ :keyword run_id: Required.
+ :paramtype run_id: str
+ :keyword experiment_name: Required.
+ :paramtype experiment_name: str
+ :keyword experiment_id: Required.
+ :paramtype experiment_id: str
+ :keyword derived_model_ids: Required.
+ :paramtype derived_model_ids: list[str]
+ :keyword user_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype user_properties: dict[str, str]
+ :keyword is_anonymous: Required.
+ :paramtype is_anonymous: bool
+ :keyword orgin_asset_id: Required.
+ :paramtype orgin_asset_id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(ModelProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.name = kwargs["name"]
+ self.model_framework = kwargs["model_framework"]
+ self.model_framework_version = kwargs["model_framework_version"]
+ self.model_format = kwargs["model_format"]
+ self.version = kwargs["version"]
+ self.alphanumeric_version = kwargs["alphanumeric_version"]
+ self.url = kwargs["url"]
+ self.mime_type = kwargs["mime_type"]
+ self.modified_time = kwargs["modified_time"]
+ self.unpack = kwargs["unpack"]
+ self.parent_model_id = kwargs["parent_model_id"]
+ self.run_id = kwargs["run_id"]
+ self.experiment_name = kwargs["experiment_name"]
+ self.experiment_id = kwargs["experiment_id"]
+ self.derived_model_ids = kwargs["derived_model_ids"]
+ self.user_properties = kwargs["user_properties"]
+ self.is_anonymous = kwargs["is_anonymous"]
+ self.orgin_asset_id = kwargs["orgin_asset_id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class ModelsVersionedEntitiesResponse(msrest.serialization.Model):
+ """ModelsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ModelsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[ModelsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ModelsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(ModelsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class ModelsVersionedEntity(msrest.serialization.Model):
+ """ModelsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.ModelsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.ModelAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.ModelProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "ModelAnnotations"},
+ "properties": {"key": "properties", "type": "ModelProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.ModelsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.ModelAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.ModelProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(ModelsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class ModuleAnnotations(msrest.serialization.Model):
+ """ModuleAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar module_name: Required.
+ :vartype module_name: str
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar lower_name: Required.
+ :vartype lower_name: str
+ :ivar module_version: Required.
+ :vartype module_version: str
+ :ivar inputs: Required.
+ :vartype inputs: list[~index_service_apis.models.InputNameAndDataTypeIdsList]
+ :ivar outputs: Required.
+ :vartype outputs: list[~index_service_apis.models.OutputNameAndDataTypeId]
+ :ivar category: Required.
+ :vartype category: str
+ :ivar step_type: Required.
+ :vartype step_type: str
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.ModuleAnnotationsEntityStatus
+ :ivar is_deterministic: Required.
+ :vartype is_deterministic: bool
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar component_type_version: Required.
+ :vartype component_type_version: str
+ :ivar snapshot_id: Required.
+ :vartype snapshot_id: str
+ :ivar runconfig: Required.
+ :vartype runconfig: str
+ :ivar control_outputs: Required.
+ :vartype control_outputs: list[~index_service_apis.models.ControlOutput]
+ :ivar parameters: Required.
+ :vartype parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :ivar metadata_parameters: Required.
+ :vartype metadata_parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :ivar aml_module_name: Required.
+ :vartype aml_module_name: str
+ :ivar aml_module_entity_status: Required. Possible values include: "Active", "Deprecated",
+ "Disabled".
+ :vartype aml_module_entity_status: str or
+ ~index_service_apis.models.ModuleAnnotationsAmlModuleEntityStatus
+ :ivar module_type: Required. Possible values include: "User", "Builtin".
+ :vartype module_type: str or ~index_service_apis.models.ModuleAnnotationsModuleType
+ :ivar module_execution_type: Required.
+ :vartype module_execution_type: str
+ :ivar arguments_serialized: Required.
+ :vartype arguments_serialized: str
+ :ivar cloud_settings_serialized: Required.
+ :vartype cloud_settings_serialized: str
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "module_name": {"required": True},
+ "display_name": {"required": True},
+ "lower_name": {"required": True},
+ "module_version": {"required": True},
+ "inputs": {"required": True},
+ "outputs": {"required": True},
+ "category": {"required": True},
+ "step_type": {"required": True},
+ "entity_status": {"required": True},
+ "is_deterministic": {"required": True},
+ "kv_tags": {"required": True},
+ "properties": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "component_type_version": {"required": True},
+ "snapshot_id": {"required": True},
+ "runconfig": {"required": True},
+ "control_outputs": {"required": True},
+ "parameters": {"required": True},
+ "metadata_parameters": {"required": True},
+ "aml_module_name": {"required": True},
+ "aml_module_entity_status": {"required": True},
+ "module_type": {"required": True},
+ "module_execution_type": {"required": True},
+ "arguments_serialized": {"required": True},
+ "cloud_settings_serialized": {"required": True},
+ "stage": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "module_name": {"key": "moduleName", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "lower_name": {"key": "lowerName", "type": "str"},
+ "module_version": {"key": "moduleVersion", "type": "str"},
+ "inputs": {"key": "inputs", "type": "[InputNameAndDataTypeIdsList]"},
+ "outputs": {"key": "outputs", "type": "[OutputNameAndDataTypeId]"},
+ "category": {"key": "category", "type": "str"},
+ "step_type": {"key": "stepType", "type": "str"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "is_deterministic": {"key": "isDeterministic", "type": "bool"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "component_type_version": {"key": "componentTypeVersion", "type": "str"},
+ "snapshot_id": {"key": "snapshotId", "type": "str"},
+ "runconfig": {"key": "runconfig", "type": "str"},
+ "control_outputs": {"key": "controlOutputs", "type": "[ControlOutput]"},
+ "parameters": {"key": "parameters", "type": "[StructuredInterfaceParameter]"},
+ "metadata_parameters": {"key": "metadataParameters", "type": "[StructuredInterfaceParameter]"},
+ "aml_module_name": {"key": "amlModuleName", "type": "str"},
+ "aml_module_entity_status": {"key": "amlModuleEntityStatus", "type": "str"},
+ "module_type": {"key": "moduleType", "type": "str"},
+ "module_execution_type": {"key": "moduleExecutionType", "type": "str"},
+ "arguments_serialized": {"key": "argumentsSerialized", "type": "str"},
+ "cloud_settings_serialized": {"key": "cloudSettingsSerialized", "type": "str"},
+ "stage": {"key": "stage", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword module_name: Required.
+ :paramtype module_name: str
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword lower_name: Required.
+ :paramtype lower_name: str
+ :keyword module_version: Required.
+ :paramtype module_version: str
+ :keyword inputs: Required.
+ :paramtype inputs: list[~index_service_apis.models.InputNameAndDataTypeIdsList]
+ :keyword outputs: Required.
+ :paramtype outputs: list[~index_service_apis.models.OutputNameAndDataTypeId]
+ :keyword category: Required.
+ :paramtype category: str
+ :keyword step_type: Required.
+ :paramtype step_type: str
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.ModuleAnnotationsEntityStatus
+ :keyword is_deterministic: Required.
+ :paramtype is_deterministic: bool
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword component_type_version: Required.
+ :paramtype component_type_version: str
+ :keyword snapshot_id: Required.
+ :paramtype snapshot_id: str
+ :keyword runconfig: Required.
+ :paramtype runconfig: str
+ :keyword control_outputs: Required.
+ :paramtype control_outputs: list[~index_service_apis.models.ControlOutput]
+ :keyword parameters: Required.
+ :paramtype parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :keyword metadata_parameters: Required.
+ :paramtype metadata_parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :keyword aml_module_name: Required.
+ :paramtype aml_module_name: str
+ :keyword aml_module_entity_status: Required. Possible values include: "Active", "Deprecated",
+ "Disabled".
+ :paramtype aml_module_entity_status: str or
+ ~index_service_apis.models.ModuleAnnotationsAmlModuleEntityStatus
+ :keyword module_type: Required. Possible values include: "User", "Builtin".
+ :paramtype module_type: str or ~index_service_apis.models.ModuleAnnotationsModuleType
+ :keyword module_execution_type: Required.
+ :paramtype module_execution_type: str
+ :keyword arguments_serialized: Required.
+ :paramtype arguments_serialized: str
+ :keyword cloud_settings_serialized: Required.
+ :paramtype cloud_settings_serialized: str
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(ModuleAnnotations, self).__init__(**kwargs)
+ self.module_name = kwargs["module_name"]
+ self.display_name = kwargs["display_name"]
+ self.lower_name = kwargs["lower_name"]
+ self.module_version = kwargs["module_version"]
+ self.inputs = kwargs["inputs"]
+ self.outputs = kwargs["outputs"]
+ self.category = kwargs["category"]
+ self.step_type = kwargs["step_type"]
+ self.entity_status = kwargs["entity_status"]
+ self.is_deterministic = kwargs["is_deterministic"]
+ self.kv_tags = kwargs["kv_tags"]
+ self.properties = kwargs["properties"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.last_updated_by = kwargs["last_updated_by"]
+ self.component_type_version = kwargs["component_type_version"]
+ self.snapshot_id = kwargs["snapshot_id"]
+ self.runconfig = kwargs["runconfig"]
+ self.control_outputs = kwargs["control_outputs"]
+ self.parameters = kwargs["parameters"]
+ self.metadata_parameters = kwargs["metadata_parameters"]
+ self.aml_module_name = kwargs["aml_module_name"]
+ self.aml_module_entity_status = kwargs["aml_module_entity_status"]
+ self.module_type = kwargs["module_type"]
+ self.module_execution_type = kwargs["module_execution_type"]
+ self.arguments_serialized = kwargs["arguments_serialized"]
+ self.cloud_settings_serialized = kwargs["cloud_settings_serialized"]
+ self.stage = kwargs["stage"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class ModuleProperties(msrest.serialization.Model):
+ """ModuleProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar aml_module_id: Required.
+ :vartype aml_module_id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "aml_module_id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "aml_module_id": {"key": "amlModuleId", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword aml_module_id: Required.
+ :paramtype aml_module_id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(ModuleProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.aml_module_id = kwargs["aml_module_id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class ModulesVersionedEntitiesResponse(msrest.serialization.Model):
+ """ModulesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ModulesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[ModulesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ModulesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(ModulesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class ModulesVersionedEntity(msrest.serialization.Model):
+ """ModulesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.ModulesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.ModuleAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.ModuleProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "ModuleAnnotations"},
+ "properties": {"key": "properties", "type": "ModuleProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.ModulesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.ModuleAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.ModuleProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(ModulesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class NotificationSetting(msrest.serialization.Model):
+ """NotificationSetting.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar emails: Required.
+ :vartype emails: list[str]
+ :ivar email_on: Required.
+ :vartype email_on: list[str or ~index_service_apis.models.NotificationSettingEmailOnItem]
+ :ivar webhooks: Required. Dictionary of :code:`<Webhook>`.
+ :vartype webhooks: dict[str, ~index_service_apis.models.Webhook]
+ """
+
+ _validation = {
+ "emails": {"required": True},
+ "email_on": {"required": True},
+ "webhooks": {"required": True},
+ }
+
+ _attribute_map = {
+ "emails": {"key": "emails", "type": "[str]"},
+ "email_on": {"key": "emailOn", "type": "[str]"},
+ "webhooks": {"key": "webhooks", "type": "{Webhook}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword emails: Required.
+ :paramtype emails: list[str]
+ :keyword email_on: Required.
+ :paramtype email_on: list[str or ~index_service_apis.models.NotificationSettingEmailOnItem]
+ :keyword webhooks: Required. Dictionary of :code:`<Webhook>`.
+ :paramtype webhooks: dict[str, ~index_service_apis.models.Webhook]
+ """
+ super(NotificationSetting, self).__init__(**kwargs)
+ self.emails = kwargs["emails"]
+ self.email_on = kwargs["email_on"]
+ self.webhooks = kwargs["webhooks"]
+
+
+class OnlineEndpointAnnotations(msrest.serialization.Model):
+ """OnlineEndpointAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required.
+ :vartype compute_type: str
+ :ivar compute_target: Required.
+ :vartype compute_target: ~index_service_apis.models.EndpointComputeTarget
+ :ivar scoring_uri: Required.
+ :vartype scoring_uri: str
+ :ivar location: Required.
+ :vartype location: str
+ :ivar last_modified_time: Required.
+ :vartype last_modified_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "compute_type": {"required": True},
+ "compute_target": {"required": True},
+ "scoring_uri": {"required": True},
+ "location": {"required": True},
+ "last_modified_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "compute_type": {"key": "computeType", "type": "str"},
+ "compute_target": {"key": "computeTarget", "type": "EndpointComputeTarget"},
+ "scoring_uri": {"key": "scoringUri", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "last_modified_time": {"key": "lastModifiedTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword compute_type: Required.
+ :paramtype compute_type: str
+ :keyword compute_target: Required.
+ :paramtype compute_target: ~index_service_apis.models.EndpointComputeTarget
+ :keyword scoring_uri: Required.
+ :paramtype scoring_uri: str
+ :keyword location: Required.
+ :paramtype location: str
+ :keyword last_modified_time: Required.
+ :paramtype last_modified_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(OnlineEndpointAnnotations, self).__init__(**kwargs)
+ self.compute_type = kwargs["compute_type"]
+ self.compute_target = kwargs["compute_target"]
+ self.scoring_uri = kwargs["scoring_uri"]
+ self.location = kwargs["location"]
+ self.last_modified_time = kwargs["last_modified_time"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class OnlineEndpointProperties(msrest.serialization.Model):
+ """OnlineEndpointProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "properties": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "{str}"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(OnlineEndpointProperties, self).__init__(**kwargs)
+ self.properties = kwargs["properties"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class OnlineendpointsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """OnlineendpointsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.OnlineendpointsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[OnlineendpointsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.OnlineendpointsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(OnlineendpointsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class OnlineendpointsUnversionedEntity(msrest.serialization.Model):
+ """OnlineendpointsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.OnlineendpointsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.OnlineEndpointAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.OnlineEndpointProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "OnlineEndpointAnnotations"},
+ "properties": {"key": "properties", "type": "OnlineEndpointProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.OnlineendpointsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.OnlineEndpointAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.OnlineEndpointProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(OnlineendpointsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class OutputNameAndDataTypeId(msrest.serialization.Model):
+ """OutputNameAndDataTypeId.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar data_type_id: Required.
+ :vartype data_type_id: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "data_type_id": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "data_type_id": {"key": "dataTypeId", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword data_type_id: Required.
+ :paramtype data_type_id: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ """
+ super(OutputNameAndDataTypeId, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.data_type_id = kwargs["data_type_id"]
+ self.description = kwargs["description"]
+ self.label = kwargs["label"]
+
+
+class PipelineAnnotations(msrest.serialization.Model):
+ """PipelineAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar pipeline_name: Required.
+ :vartype pipeline_name: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar url: Required.
+ :vartype url: str
+ :ivar pipeline_endpoint_ids: Required.
+ :vartype pipeline_endpoint_ids: list[str]
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar last_run_id: Required.
+ :vartype last_run_id: str
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :vartype last_run_status_code: str or
+ ~index_service_apis.models.PipelineAnnotationsLastRunStatusCode
+ :ivar last_run_creation_time: Required.
+ :vartype last_run_creation_time: ~datetime.datetime
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "pipeline_name": {"required": True},
+ "version": {"required": True},
+ "url": {"required": True},
+ "pipeline_endpoint_ids": {"required": True},
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "last_run_id": {"required": True},
+ "pipeline_type": {"required": True},
+ "last_run_status_code": {"required": True},
+ "last_run_creation_time": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "pipeline_name": {"key": "pipelineName", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "pipeline_endpoint_ids": {"key": "pipelineEndpointIds", "type": "[str]"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "last_run_id": {"key": "lastRunId", "type": "str"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "last_run_status_code": {"key": "lastRunStatusCode", "type": "str"},
+ "last_run_creation_time": {"key": "lastRunCreationTime", "type": "iso-8601"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword pipeline_name: Required.
+ :paramtype pipeline_name: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword pipeline_endpoint_ids: Required.
+ :paramtype pipeline_endpoint_ids: list[str]
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.PipelineAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword last_run_id: Required.
+ :paramtype last_run_id: str
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :paramtype last_run_status_code: str or
+ ~index_service_apis.models.PipelineAnnotationsLastRunStatusCode
+ :keyword last_run_creation_time: Required.
+ :paramtype last_run_creation_time: ~datetime.datetime
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineAnnotations, self).__init__(**kwargs)
+ self.pipeline_name = kwargs["pipeline_name"]
+ self.version = kwargs["version"]
+ self.url = kwargs["url"]
+ self.pipeline_endpoint_ids = kwargs["pipeline_endpoint_ids"]
+ self.kv_tags = kwargs["kv_tags"]
+ self.step_tags = kwargs["step_tags"]
+ self.properties = kwargs["properties"]
+ self.step_properties = kwargs["step_properties"]
+ self.entity_status = kwargs["entity_status"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.last_updated_by = kwargs["last_updated_by"]
+ self.last_run_id = kwargs["last_run_id"]
+ self.pipeline_type = kwargs["pipeline_type"]
+ self.last_run_status_code = kwargs["last_run_status_code"]
+ self.last_run_creation_time = kwargs["last_run_creation_time"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class PipelineDraftAnnotations(msrest.serialization.Model):
+ """PipelineDraftAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineDraftAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "pipeline_type": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.PipelineDraftAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineDraftAnnotations, self).__init__(**kwargs)
+ self.kv_tags = kwargs["kv_tags"]
+ self.step_tags = kwargs["step_tags"]
+ self.properties = kwargs["properties"]
+ self.step_properties = kwargs["step_properties"]
+ self.entity_status = kwargs["entity_status"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.pipeline_type = kwargs["pipeline_type"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class PipelineDraftProperties(msrest.serialization.Model):
+ """PipelineDraftProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineDraftProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class PipelinedraftsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinedraftsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinedraftsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinedraftsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinedraftsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinedraftsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class PipelinedraftsUnversionedEntity(msrest.serialization.Model):
+ """PipelinedraftsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinedraftsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineDraftAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineDraftProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineDraftAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineDraftProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinedraftsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineDraftAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineDraftProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(PipelinedraftsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class PipelineProperties(msrest.serialization.Model):
+ """PipelineProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class PipelineRunAnnotations(msrest.serialization.Model):
+ """PipelineRunAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineRunAnnotationsEntityStatus
+ :ivar status: Required.
+ :vartype status: ~index_service_apis.models.ExperimentStatus
+ :ivar run_history_experiment_name: Required.
+ :vartype run_history_experiment_name: str
+ :ivar has_errors: Required.
+ :vartype has_errors: bool
+ :ivar has_warnings: Required.
+ :vartype has_warnings: bool
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "status": {"required": True},
+ "run_history_experiment_name": {"required": True},
+ "has_errors": {"required": True},
+ "has_warnings": {"required": True},
+ "last_modified_date": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "status": {"key": "status", "type": "ExperimentStatus"},
+ "run_history_experiment_name": {"key": "runHistoryExperimentName", "type": "str"},
+ "has_errors": {"key": "hasErrors", "type": "bool"},
+ "has_warnings": {"key": "hasWarnings", "type": "bool"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.PipelineRunAnnotationsEntityStatus
+ :keyword status: Required.
+ :paramtype status: ~index_service_apis.models.ExperimentStatus
+ :keyword run_history_experiment_name: Required.
+ :paramtype run_history_experiment_name: str
+ :keyword has_errors: Required.
+ :paramtype has_errors: bool
+ :keyword has_warnings: Required.
+ :paramtype has_warnings: bool
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineRunAnnotations, self).__init__(**kwargs)
+ self.kv_tags = kwargs["kv_tags"]
+ self.step_tags = kwargs["step_tags"]
+ self.properties = kwargs["properties"]
+ self.step_properties = kwargs["step_properties"]
+ self.entity_status = kwargs["entity_status"]
+ self.status = kwargs["status"]
+ self.run_history_experiment_name = kwargs["run_history_experiment_name"]
+ self.has_errors = kwargs["has_errors"]
+ self.has_warnings = kwargs["has_warnings"]
+ self.last_modified_date = kwargs["last_modified_date"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class PipelineRunProperties(msrest.serialization.Model):
+ """PipelineRunProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineRunProperties, self).__init__(**kwargs)
+ self.id = kwargs["id"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class PipelinerunsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinerunsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinerunsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinerunsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinerunsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinerunsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class PipelinerunsUnversionedEntity(msrest.serialization.Model):
+ """PipelinerunsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinerunsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineRunAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineRunProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineRunAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineRunProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinerunsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineRunAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineRunProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ """
+ super(PipelinerunsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.relationships = kwargs["relationships"]
+
+
+class PipelinesVersionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class PipelinesVersionedEntity(msrest.serialization.Model):
+ """PipelinesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(PipelinesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class Purpose(msrest.serialization.Model):
+ """Purpose.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar has_inferencing_support: Required.
+ :vartype has_inferencing_support: bool
+ :ivar has_training_support: Required.
+ :vartype has_training_support: bool
+ """
+
+ _validation = {
+ "has_inferencing_support": {"required": True},
+ "has_training_support": {"required": True},
+ }
+
+ _attribute_map = {
+ "has_inferencing_support": {"key": "hasInferencingSupport", "type": "bool"},
+ "has_training_support": {"key": "hasTrainingSupport", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword has_inferencing_support: Required.
+ :paramtype has_inferencing_support: bool
+ :keyword has_training_support: Required.
+ :paramtype has_training_support: bool
+ """
+ super(Purpose, self).__init__(**kwargs)
+ self.has_inferencing_support = kwargs["has_inferencing_support"]
+ self.has_training_support = kwargs["has_training_support"]
+
+
+class Recurrence(msrest.serialization.Model):
+ """Recurrence.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar frequency: Required. Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :vartype frequency: str or ~index_service_apis.models.RecurrenceFrequency
+ :ivar interval: Required.
+ :vartype interval: int
+ :ivar schedule: Required.
+ :vartype schedule: ~index_service_apis.models.RecurrenceSchedule
+ :ivar end_time: Required.
+ :vartype end_time: str
+ :ivar start_time: Required.
+ :vartype start_time: str
+ :ivar time_zone: Required.
+ :vartype time_zone: str
+ """
+
+ _validation = {
+ "frequency": {"required": True},
+ "interval": {"required": True},
+ "schedule": {"required": True},
+ "end_time": {"required": True},
+ "start_time": {"required": True},
+ "time_zone": {"required": True},
+ }
+
+ _attribute_map = {
+ "frequency": {"key": "frequency", "type": "str"},
+ "interval": {"key": "interval", "type": "int"},
+ "schedule": {"key": "schedule", "type": "RecurrenceSchedule"},
+ "end_time": {"key": "endTime", "type": "str"},
+ "start_time": {"key": "startTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword frequency: Required. Possible values include: "Month", "Week", "Day", "Hour",
+ "Minute".
+ :paramtype frequency: str or ~index_service_apis.models.RecurrenceFrequency
+ :keyword interval: Required.
+ :paramtype interval: int
+ :keyword schedule: Required.
+ :paramtype schedule: ~index_service_apis.models.RecurrenceSchedule
+ :keyword end_time: Required.
+ :paramtype end_time: str
+ :keyword start_time: Required.
+ :paramtype start_time: str
+ :keyword time_zone: Required.
+ :paramtype time_zone: str
+ """
+ super(Recurrence, self).__init__(**kwargs)
+ self.frequency = kwargs["frequency"]
+ self.interval = kwargs["interval"]
+ self.schedule = kwargs["schedule"]
+ self.end_time = kwargs["end_time"]
+ self.start_time = kwargs["start_time"]
+ self.time_zone = kwargs["time_zone"]
+
+
+class RecurrenceSchedule(msrest.serialization.Model):
+ """RecurrenceSchedule.
+
+ :ivar hours:
+ :vartype hours: list[int]
+ :ivar minutes:
+ :vartype minutes: list[int]
+ :ivar week_days:
+ :vartype week_days: list[str or ~index_service_apis.models.RecurrenceScheduleWeekDaysItem]
+ :ivar month_days:
+ :vartype month_days: list[int]
+ """
+
+ _attribute_map = {
+ "hours": {"key": "hours", "type": "[int]"},
+ "minutes": {"key": "minutes", "type": "[int]"},
+ "week_days": {"key": "weekDays", "type": "[str]"},
+ "month_days": {"key": "monthDays", "type": "[int]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword hours:
+ :paramtype hours: list[int]
+ :keyword minutes:
+ :paramtype minutes: list[int]
+ :keyword week_days:
+ :paramtype week_days: list[str or ~index_service_apis.models.RecurrenceScheduleWeekDaysItem]
+ :keyword month_days:
+ :paramtype month_days: list[int]
+ """
+ super(RecurrenceSchedule, self).__init__(**kwargs)
+ self.hours = kwargs.get("hours", None)
+ self.minutes = kwargs.get("minutes", None)
+ self.week_days = kwargs.get("week_days", None)
+ self.month_days = kwargs.get("month_days", None)
+
+
+class RecurrenceTrigger(msrest.serialization.Model):
+ """RecurrenceTrigger.
+
+ :ivar frequency: Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :vartype frequency: str or ~index_service_apis.models.RecurrenceTriggerFrequency
+ :ivar interval:
+ :vartype interval: int
+ :ivar schedule:
+ :vartype schedule: ~index_service_apis.models.RecurrenceSchedule
+ """
+
+ _attribute_map = {
+ "frequency": {"key": "frequency", "type": "str"},
+ "interval": {"key": "interval", "type": "int"},
+ "schedule": {"key": "schedule", "type": "RecurrenceSchedule"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword frequency: Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :paramtype frequency: str or ~index_service_apis.models.RecurrenceTriggerFrequency
+ :keyword interval:
+ :paramtype interval: int
+ :keyword schedule:
+ :paramtype schedule: ~index_service_apis.models.RecurrenceSchedule
+ """
+ super(RecurrenceTrigger, self).__init__(**kwargs)
+ self.frequency = kwargs.get("frequency", None)
+ self.interval = kwargs.get("interval", None)
+ self.schedule = kwargs.get("schedule", None)
+
+
+class Relationship(msrest.serialization.Model):
+ """Relationship.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar relation_type:
+ :vartype relation_type: str
+ :ivar target_entity_id:
+ :vartype target_entity_id: str
+ :ivar asset_id:
+ :vartype asset_id: str
+ :ivar entity_type:
+ :vartype entity_type: str
+ :ivar direction:
+ :vartype direction: str
+ :ivar entity_container_id:
+ :vartype entity_container_id: str
+ """
+
+ _validation = {
+ "entity_type": {"readonly": True},
+ "entity_container_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "relation_type": {"key": "relationType", "type": "str"},
+ "target_entity_id": {"key": "targetEntityId", "type": "str"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ "entity_type": {"key": "entityType", "type": "str"},
+ "direction": {"key": "direction", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword relation_type:
+ :paramtype relation_type: str
+ :keyword target_entity_id:
+ :paramtype target_entity_id: str
+ :keyword asset_id:
+ :paramtype asset_id: str
+ :keyword direction:
+ :paramtype direction: str
+ """
+ super(Relationship, self).__init__(**kwargs)
+ self.additional_properties = kwargs.get("additional_properties", None)
+ self.relation_type = kwargs.get("relation_type", None)
+ self.target_entity_id = kwargs.get("target_entity_id", None)
+ self.asset_id = kwargs.get("asset_id", None)
+ self.entity_type = None
+ self.direction = kwargs.get("direction", None)
+ self.entity_container_id = None
+
+
+class ResourceDiscoveryContainerMetadata(msrest.serialization.Model):
+ """ResourceDiscoveryContainerMetadata.
+
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_arm_id:
+ :vartype resource_arm_id: str
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group:
+ :vartype resource_group: str
+ :ivar resource_name:
+ :vartype resource_name: str
+ :ivar asset_container_type:
+ :vartype asset_container_type: str
+ :ivar immutable_resource_id:
+ :vartype immutable_resource_id: str
+ :ivar asset_resource_type:
+ :vartype asset_resource_type: str
+ :ivar is_customer_managed_resource:
+ :vartype is_customer_managed_resource: bool
+ :ivar is_private_link_behind_vnet:
+ :vartype is_private_link_behind_vnet: bool
+ :ivar is_public_container:
+ :vartype is_public_container: bool
+ :ivar is_public_resource:
+ :vartype is_public_resource: bool
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ """
+
+ _attribute_map = {
+ "tags": {"key": "tags", "type": "{str}"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_arm_id": {"key": "resourceArmId", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "resource_name": {"key": "resourceName", "type": "str"},
+ "asset_container_type": {"key": "assetContainerType", "type": "str"},
+ "immutable_resource_id": {"key": "immutableResourceId", "type": "str"},
+ "asset_resource_type": {"key": "assetResourceType", "type": "str"},
+ "is_customer_managed_resource": {"key": "isCustomerManagedResource", "type": "bool"},
+ "is_private_link_behind_vnet": {"key": "isPrivateLinkBehindVnet", "type": "bool"},
+ "is_public_container": {"key": "isPublicContainer", "type": "bool"},
+ "is_public_resource": {"key": "isPublicResource", "type": "bool"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_arm_id:
+ :paramtype resource_arm_id: str
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group:
+ :paramtype resource_group: str
+ :keyword resource_name:
+ :paramtype resource_name: str
+ :keyword asset_container_type:
+ :paramtype asset_container_type: str
+ :keyword immutable_resource_id:
+ :paramtype immutable_resource_id: str
+ :keyword asset_resource_type:
+ :paramtype asset_resource_type: str
+ :keyword is_customer_managed_resource:
+ :paramtype is_customer_managed_resource: bool
+ :keyword is_private_link_behind_vnet:
+ :paramtype is_private_link_behind_vnet: bool
+ :keyword is_public_container:
+ :paramtype is_public_container: bool
+ :keyword is_public_resource:
+ :paramtype is_public_resource: bool
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ """
+ super(ResourceDiscoveryContainerMetadata, self).__init__(**kwargs)
+ self.tags = kwargs.get("tags", None)
+ self.tenant_id = kwargs.get("tenant_id", None)
+ self.resource_id = kwargs.get("resource_id", None)
+ self.resource_arm_id = kwargs.get("resource_arm_id", None)
+ self.subscription_id = kwargs.get("subscription_id", None)
+ self.resource_group = kwargs.get("resource_group", None)
+ self.resource_name = kwargs.get("resource_name", None)
+ self.asset_container_type = kwargs.get("asset_container_type", None)
+ self.immutable_resource_id = kwargs.get("immutable_resource_id", None)
+ self.asset_resource_type = kwargs.get("asset_resource_type", None)
+ self.is_customer_managed_resource = kwargs.get("is_customer_managed_resource", None)
+ self.is_private_link_behind_vnet = kwargs.get("is_private_link_behind_vnet", None)
+ self.is_public_container = kwargs.get("is_public_container", None)
+ self.is_public_resource = kwargs.get("is_public_resource", None)
+ self.regions = kwargs.get("regions", None)
+
+
+class ResourceDiscoveryContainerMetadataPaginatedResult(msrest.serialization.Model):
+ """ResourceDiscoveryContainerMetadataPaginatedResult.
+
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ResourceDiscoveryContainerMetadata]
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[ResourceDiscoveryContainerMetadata]"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ResourceDiscoveryContainerMetadata]
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super(ResourceDiscoveryContainerMetadataPaginatedResult, self).__init__(**kwargs)
+ self.value = kwargs.get("value", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.next_link = kwargs.get("next_link", None)
+
+
+class ResourceDiscoveryRequest(msrest.serialization.Model):
+ """ResourceDiscoveryRequest.
+
+ :ivar search_request:
+ :vartype search_request: ~index_service_apis.models.StringContainsRequest
+ :ivar order_by:
+ :vartype order_by: ~index_service_apis.models.IndexEntitiesRequestOrder
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ """
+
+ _attribute_map = {
+ "search_request": {"key": "searchRequest", "type": "StringContainsRequest"},
+ "order_by": {"key": "orderBy", "type": "IndexEntitiesRequestOrder"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword search_request:
+ :paramtype search_request: ~index_service_apis.models.StringContainsRequest
+ :keyword order_by:
+ :paramtype order_by: ~index_service_apis.models.IndexEntitiesRequestOrder
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ """
+ super(ResourceDiscoveryRequest, self).__init__(**kwargs)
+ self.search_request = kwargs.get("search_request", None)
+ self.order_by = kwargs.get("order_by", None)
+ self.filters = kwargs.get("filters", None)
+ self.page_size = kwargs.get("page_size", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+
+
+class ResourceInformation(msrest.serialization.Model):
+ """ResourceInformation.
+
+ :ivar region:
+ :vartype region: str
+ :ivar entity_container_type: Possible values include: "Workspace", "Feed", "Registry".
+ :vartype entity_container_type: str or ~index_service_apis.models.AssetContainerTypeFeedRename
+ :ivar resource_id:
+ :vartype resource_id: str
+ """
+
+ _attribute_map = {
+ "region": {"key": "region", "type": "str"},
+ "entity_container_type": {"key": "entityContainerType", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword region:
+ :paramtype region: str
+ :keyword entity_container_type: Possible values include: "Workspace", "Feed", "Registry".
+ :paramtype entity_container_type: str or
+ ~index_service_apis.models.AssetContainerTypeFeedRename
+ :keyword resource_id:
+ :paramtype resource_id: str
+ """
+ super(ResourceInformation, self).__init__(**kwargs)
+ self.region = kwargs.get("region", None)
+ self.entity_container_type = kwargs.get("entity_container_type", None)
+ self.resource_id = kwargs.get("resource_id", None)
+
+
+class ResourceRegion(msrest.serialization.Model):
+ """ResourceRegion.
+
+ :ivar region_name:
+ :vartype region_name: str
+ :ivar is_primary_region:
+ :vartype is_primary_region: bool
+ """
+
+ _attribute_map = {
+ "region_name": {"key": "regionName", "type": "str"},
+ "is_primary_region": {"key": "isPrimaryRegion", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword region_name:
+ :paramtype region_name: str
+ :keyword is_primary_region:
+ :paramtype is_primary_region: bool
+ """
+ super(ResourceRegion, self).__init__(**kwargs)
+ self.region_name = kwargs.get("region_name", None)
+ self.is_primary_region = kwargs.get("is_primary_region", None)
+
+
+class RootError(msrest.serialization.Model):
+ """RootError.
+
+ :ivar code:
+ :vartype code: str
+ :ivar severity:
+ :vartype severity: int
+ :ivar message:
+ :vartype message: str
+ :ivar message_format:
+ :vartype message_format: str
+ :ivar message_parameters: Dictionary of :code:`<string>`.
+ :vartype message_parameters: dict[str, str]
+ :ivar reference_code:
+ :vartype reference_code: str
+ :ivar details_uri:
+ :vartype details_uri: str
+ :ivar target:
+ :vartype target: str
+ :ivar details:
+ :vartype details: list[~index_service_apis.models.RootError]
+ :ivar inner_error:
+ :vartype inner_error: ~index_service_apis.models.InnerErrorResponse
+ :ivar debug_info:
+ :vartype debug_info: ~index_service_apis.models.DebugInfoResponse
+ :ivar additional_info:
+ :vartype additional_info: list[~index_service_apis.models.ErrorAdditionalInfo]
+ """
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "severity": {"key": "severity", "type": "int"},
+ "message": {"key": "message", "type": "str"},
+ "message_format": {"key": "messageFormat", "type": "str"},
+ "message_parameters": {"key": "messageParameters", "type": "{str}"},
+ "reference_code": {"key": "referenceCode", "type": "str"},
+ "details_uri": {"key": "detailsUri", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {"key": "details", "type": "[RootError]"},
+ "inner_error": {"key": "innerError", "type": "InnerErrorResponse"},
+ "debug_info": {"key": "debugInfo", "type": "DebugInfoResponse"},
+ "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword code:
+ :paramtype code: str
+ :keyword severity:
+ :paramtype severity: int
+ :keyword message:
+ :paramtype message: str
+ :keyword message_format:
+ :paramtype message_format: str
+ :keyword message_parameters: Dictionary of :code:`<string>`.
+ :paramtype message_parameters: dict[str, str]
+ :keyword reference_code:
+ :paramtype reference_code: str
+ :keyword details_uri:
+ :paramtype details_uri: str
+ :keyword target:
+ :paramtype target: str
+ :keyword details:
+ :paramtype details: list[~index_service_apis.models.RootError]
+ :keyword inner_error:
+ :paramtype inner_error: ~index_service_apis.models.InnerErrorResponse
+ :keyword debug_info:
+ :paramtype debug_info: ~index_service_apis.models.DebugInfoResponse
+ :keyword additional_info:
+ :paramtype additional_info: list[~index_service_apis.models.ErrorAdditionalInfo]
+ """
+ super(RootError, self).__init__(**kwargs)
+ self.code = kwargs.get("code", None)
+ self.severity = kwargs.get("severity", None)
+ self.message = kwargs.get("message", None)
+ self.message_format = kwargs.get("message_format", None)
+ self.message_parameters = kwargs.get("message_parameters", None)
+ self.reference_code = kwargs.get("reference_code", None)
+ self.details_uri = kwargs.get("details_uri", None)
+ self.target = kwargs.get("target", None)
+ self.details = kwargs.get("details", None)
+ self.inner_error = kwargs.get("inner_error", None)
+ self.debug_info = kwargs.get("debug_info", None)
+ self.additional_info = kwargs.get("additional_info", None)
+
+
+class RunAnnotations(msrest.serialization.Model):
+ """RunAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar status: Required.
+ :vartype status: str
+ :ivar primary_metric_name: Required.
+ :vartype primary_metric_name: str
+ :ivar estimated_cost: Required.
+ :vartype estimated_cost: float
+ :ivar primary_metric_summary: Required.
+ :vartype primary_metric_summary: ~index_service_apis.models.RunIndexMetricSummaryJValue
+ :ivar metrics: Required. Dictionary of <RunIndexMetricSummary:code:`<Object>`>.
+ :vartype metrics: dict[str, ~index_service_apis.models.RunIndexMetricSummaryObject]
+ :ivar parameters: Required. Dictionary of :code:`<AnyObject>`.
+ :vartype parameters: dict[str, any]
+ :ivar settings: Required. Dictionary of :code:`<string>`.
+ :vartype settings: dict[str, str]
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar retain_for_lifetime_of_workspace: Required.
+ :vartype retain_for_lifetime_of_workspace: bool
+ :ivar error: Required.
+ :vartype error: ~index_service_apis.models.IndexedErrorResponse
+ :ivar resource_metric_summary: Required.
+ :vartype resource_metric_summary: ~index_service_apis.models.RunIndexResourceMetricSummary
+ :ivar job_cost: Required.
+ :vartype job_cost: ~index_service_apis.models.JobCost
+ :ivar compute_duration: Required.
+ :vartype compute_duration: str
+ :ivar compute_duration_milliseconds: Required.
+ :vartype compute_duration_milliseconds: float
+ :ivar effective_start_time_utc: Required.
+ :vartype effective_start_time_utc: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "display_name": {"required": True},
+ "status": {"required": True},
+ "primary_metric_name": {"required": True},
+ "estimated_cost": {"required": True},
+ "primary_metric_summary": {"required": True},
+ "metrics": {"required": True},
+ "parameters": {"required": True},
+ "settings": {"required": True},
+ "modified_time": {"required": True},
+ "retain_for_lifetime_of_workspace": {"required": True},
+ "error": {"required": True},
+ "resource_metric_summary": {"required": True},
+ "job_cost": {"required": True},
+ "compute_duration": {"required": True},
+ "compute_duration_milliseconds": {"required": True},
+ "effective_start_time_utc": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "display_name": {"key": "displayName", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "primary_metric_name": {"key": "primaryMetricName", "type": "str"},
+ "estimated_cost": {"key": "estimatedCost", "type": "float"},
+ "primary_metric_summary": {"key": "primaryMetricSummary", "type": "RunIndexMetricSummaryJValue"},
+ "metrics": {"key": "metrics", "type": "{RunIndexMetricSummaryObject}"},
+ "parameters": {"key": "parameters", "type": "{object}"},
+ "settings": {"key": "settings", "type": "{str}"},
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "retain_for_lifetime_of_workspace": {"key": "retainForLifetimeOfWorkspace", "type": "bool"},
+ "error": {"key": "error", "type": "IndexedErrorResponse"},
+ "resource_metric_summary": {"key": "resourceMetricSummary", "type": "RunIndexResourceMetricSummary"},
+ "job_cost": {"key": "jobCost", "type": "JobCost"},
+ "compute_duration": {"key": "computeDuration", "type": "str"},
+ "compute_duration_milliseconds": {"key": "computeDurationMilliseconds", "type": "float"},
+ "effective_start_time_utc": {"key": "effectiveStartTimeUtc", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword status: Required.
+ :paramtype status: str
+ :keyword primary_metric_name: Required.
+ :paramtype primary_metric_name: str
+ :keyword estimated_cost: Required.
+ :paramtype estimated_cost: float
+ :keyword primary_metric_summary: Required.
+ :paramtype primary_metric_summary: ~index_service_apis.models.RunIndexMetricSummaryJValue
+ :keyword metrics: Required. Dictionary of <RunIndexMetricSummary:code:`<Object>`>.
+ :paramtype metrics: dict[str, ~index_service_apis.models.RunIndexMetricSummaryObject]
+ :keyword parameters: Required. Dictionary of :code:`<AnyObject>`.
+ :paramtype parameters: dict[str, any]
+ :keyword settings: Required. Dictionary of :code:`<string>`.
+ :paramtype settings: dict[str, str]
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword retain_for_lifetime_of_workspace: Required.
+ :paramtype retain_for_lifetime_of_workspace: bool
+ :keyword error: Required.
+ :paramtype error: ~index_service_apis.models.IndexedErrorResponse
+ :keyword resource_metric_summary: Required.
+ :paramtype resource_metric_summary: ~index_service_apis.models.RunIndexResourceMetricSummary
+ :keyword job_cost: Required.
+ :paramtype job_cost: ~index_service_apis.models.JobCost
+ :keyword compute_duration: Required.
+ :paramtype compute_duration: str
+ :keyword compute_duration_milliseconds: Required.
+ :paramtype compute_duration_milliseconds: float
+ :keyword effective_start_time_utc: Required.
+ :paramtype effective_start_time_utc: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(RunAnnotations, self).__init__(**kwargs)
+ self.display_name = kwargs["display_name"]
+ self.status = kwargs["status"]
+ self.primary_metric_name = kwargs["primary_metric_name"]
+ self.estimated_cost = kwargs["estimated_cost"]
+ self.primary_metric_summary = kwargs["primary_metric_summary"]
+ self.metrics = kwargs["metrics"]
+ self.parameters = kwargs["parameters"]
+ self.settings = kwargs["settings"]
+ self.modified_time = kwargs["modified_time"]
+ self.retain_for_lifetime_of_workspace = kwargs["retain_for_lifetime_of_workspace"]
+ self.error = kwargs["error"]
+ self.resource_metric_summary = kwargs["resource_metric_summary"]
+ self.job_cost = kwargs["job_cost"]
+ self.compute_duration = kwargs["compute_duration"]
+ self.compute_duration_milliseconds = kwargs["compute_duration_milliseconds"]
+ self.effective_start_time_utc = kwargs["effective_start_time_utc"]
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.archived = kwargs["archived"]
+ self.tags = kwargs["tags"]
+
+
+class RunIndexMetricSummaryJValue(msrest.serialization.Model):
+ """RunIndexMetricSummaryJValue.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar count: Required.
+ :vartype count: int
+ :ivar last_value: Required. Any object.
+ :vartype last_value: any
+ :ivar minimum_value: Required. Any object.
+ :vartype minimum_value: any
+ :ivar maximum_value: Required. Any object.
+ :vartype maximum_value: any
+ :ivar metric_type: Required.
+ :vartype metric_type: str
+ """
+
+ _validation = {
+ "count": {"required": True},
+ "last_value": {"required": True},
+ "minimum_value": {"required": True},
+ "maximum_value": {"required": True},
+ "metric_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "count": {"key": "count", "type": "int"},
+ "last_value": {"key": "lastValue", "type": "object"},
+ "minimum_value": {"key": "minimumValue", "type": "object"},
+ "maximum_value": {"key": "maximumValue", "type": "object"},
+ "metric_type": {"key": "metricType", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword count: Required.
+ :paramtype count: int
+ :keyword last_value: Required. Any object.
+ :paramtype last_value: any
+ :keyword minimum_value: Required. Any object.
+ :paramtype minimum_value: any
+ :keyword maximum_value: Required. Any object.
+ :paramtype maximum_value: any
+ :keyword metric_type: Required.
+ :paramtype metric_type: str
+ """
+ super(RunIndexMetricSummaryJValue, self).__init__(**kwargs)
+ self.count = kwargs["count"]
+ self.last_value = kwargs["last_value"]
+ self.minimum_value = kwargs["minimum_value"]
+ self.maximum_value = kwargs["maximum_value"]
+ self.metric_type = kwargs["metric_type"]
+
+
+class RunIndexMetricSummaryObject(msrest.serialization.Model):
+ """RunIndexMetricSummaryObject.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar count: Required.
+ :vartype count: int
+ :ivar last_value: Required. Anything.
+ :vartype last_value: any
+ :ivar minimum_value: Required. Anything.
+ :vartype minimum_value: any
+ :ivar maximum_value: Required. Anything.
+ :vartype maximum_value: any
+ :ivar metric_type: Required.
+ :vartype metric_type: str
+ """
+
+ _validation = {
+ "count": {"required": True},
+ "last_value": {"required": True},
+ "minimum_value": {"required": True},
+ "maximum_value": {"required": True},
+ "metric_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "count": {"key": "count", "type": "int"},
+ "last_value": {"key": "lastValue", "type": "object"},
+ "minimum_value": {"key": "minimumValue", "type": "object"},
+ "maximum_value": {"key": "maximumValue", "type": "object"},
+ "metric_type": {"key": "metricType", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword count: Required.
+ :paramtype count: int
+ :keyword last_value: Required. Anything.
+ :paramtype last_value: any
+ :keyword minimum_value: Required. Anything.
+ :paramtype minimum_value: any
+ :keyword maximum_value: Required. Anything.
+ :paramtype maximum_value: any
+ :keyword metric_type: Required.
+ :paramtype metric_type: str
+ """
+ super(RunIndexMetricSummaryObject, self).__init__(**kwargs)
+ self.count = kwargs["count"]
+ self.last_value = kwargs["last_value"]
+ self.minimum_value = kwargs["minimum_value"]
+ self.maximum_value = kwargs["maximum_value"]
+ self.metric_type = kwargs["metric_type"]
+
+
+class RunIndexResourceMetricSummary(msrest.serialization.Model):
+ """RunIndexResourceMetricSummary.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar gpu_utilization_percent_last_hour: Required.
+ :vartype gpu_utilization_percent_last_hour: float
+ :ivar gpu_memory_utilization_percent_last_hour: Required.
+ :vartype gpu_memory_utilization_percent_last_hour: float
+ :ivar gpu_energy_joules: Required.
+ :vartype gpu_energy_joules: float
+ :ivar resource_metric_names: Required.
+ :vartype resource_metric_names: list[str]
+ """
+
+ _validation = {
+ "gpu_utilization_percent_last_hour": {"required": True},
+ "gpu_memory_utilization_percent_last_hour": {"required": True},
+ "gpu_energy_joules": {"required": True},
+ "resource_metric_names": {"required": True},
+ }
+
+ _attribute_map = {
+ "gpu_utilization_percent_last_hour": {"key": "gpuUtilizationPercentLastHour", "type": "float"},
+ "gpu_memory_utilization_percent_last_hour": {"key": "gpuMemoryUtilizationPercentLastHour", "type": "float"},
+ "gpu_energy_joules": {"key": "gpuEnergyJoules", "type": "float"},
+ "resource_metric_names": {"key": "resourceMetricNames", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword gpu_utilization_percent_last_hour: Required.
+ :paramtype gpu_utilization_percent_last_hour: float
+ :keyword gpu_memory_utilization_percent_last_hour: Required.
+ :paramtype gpu_memory_utilization_percent_last_hour: float
+ :keyword gpu_energy_joules: Required.
+ :paramtype gpu_energy_joules: float
+ :keyword resource_metric_names: Required.
+ :paramtype resource_metric_names: list[str]
+ """
+ super(RunIndexResourceMetricSummary, self).__init__(**kwargs)
+ self.gpu_utilization_percent_last_hour = kwargs["gpu_utilization_percent_last_hour"]
+ self.gpu_memory_utilization_percent_last_hour = kwargs["gpu_memory_utilization_percent_last_hour"]
+ self.gpu_energy_joules = kwargs["gpu_energy_joules"]
+ self.resource_metric_names = kwargs["resource_metric_names"]
+
+
+class RunProperties(msrest.serialization.Model):
+ """RunProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_container_id: Required.
+ :vartype data_container_id: str
+ :ivar target_name: Required.
+ :vartype target_name: str
+ :ivar run_name: Required.
+ :vartype run_name: str
+ :ivar experiment_name: Required.
+ :vartype experiment_name: str
+ :ivar run_id: Required.
+ :vartype run_id: str
+ :ivar parent_run_id: Required.
+ :vartype parent_run_id: str
+ :ivar root_run_id: Required.
+ :vartype root_run_id: str
+ :ivar run_type: Required.
+ :vartype run_type: str
+ :ivar run_type_v2: Required.
+ :vartype run_type_v2: ~index_service_apis.models.RunTypeV2Index
+ :ivar script_name: Required.
+ :vartype script_name: str
+ :ivar experiment_id: Required.
+ :vartype experiment_id: str
+ :ivar run_uuid: Required.
+ :vartype run_uuid: str
+ :ivar parent_run_uuid: Required.
+ :vartype parent_run_uuid: str
+ :ivar run_number: Required.
+ :vartype run_number: int
+ :ivar start_time: Required.
+ :vartype start_time: ~datetime.datetime
+ :ivar end_time: Required.
+ :vartype end_time: ~datetime.datetime
+ :ivar compute_request: Required.
+ :vartype compute_request: ~index_service_apis.models.ComputeRequest
+ :ivar compute: Required.
+ :vartype compute: ~index_service_apis.models.Compute
+ :ivar user_properties: Required. Dictionary of :code:`<string>`.
+ :vartype user_properties: dict[str, str]
+ :ivar action_uris: Required. Dictionary of :code:`<string>`.
+ :vartype action_uris: dict[str, str]
+ :ivar duration: Required.
+ :vartype duration: str
+ :ivar duration_milliseconds: Required.
+ :vartype duration_milliseconds: float
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "data_container_id": {"required": True},
+ "target_name": {"required": True},
+ "run_name": {"required": True},
+ "experiment_name": {"required": True},
+ "run_id": {"required": True},
+ "parent_run_id": {"required": True},
+ "root_run_id": {"required": True},
+ "run_type": {"required": True},
+ "run_type_v2": {"required": True},
+ "script_name": {"required": True},
+ "experiment_id": {"required": True},
+ "run_uuid": {"required": True},
+ "parent_run_uuid": {"required": True},
+ "run_number": {"required": True},
+ "start_time": {"required": True},
+ "end_time": {"required": True},
+ "compute_request": {"required": True},
+ "compute": {"required": True},
+ "user_properties": {"required": True},
+ "action_uris": {"required": True},
+ "duration": {"required": True},
+ "duration_milliseconds": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_container_id": {"key": "dataContainerId", "type": "str"},
+ "target_name": {"key": "targetName", "type": "str"},
+ "run_name": {"key": "runName", "type": "str"},
+ "experiment_name": {"key": "experimentName", "type": "str"},
+ "run_id": {"key": "runId", "type": "str"},
+ "parent_run_id": {"key": "parentRunId", "type": "str"},
+ "root_run_id": {"key": "rootRunId", "type": "str"},
+ "run_type": {"key": "runType", "type": "str"},
+ "run_type_v2": {"key": "runTypeV2", "type": "RunTypeV2Index"},
+ "script_name": {"key": "scriptName", "type": "str"},
+ "experiment_id": {"key": "experimentId", "type": "str"},
+ "run_uuid": {"key": "runUuid", "type": "str"},
+ "parent_run_uuid": {"key": "parentRunUuid", "type": "str"},
+ "run_number": {"key": "runNumber", "type": "int"},
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "compute_request": {"key": "computeRequest", "type": "ComputeRequest"},
+ "compute": {"key": "compute", "type": "Compute"},
+ "user_properties": {"key": "userProperties", "type": "{str}"},
+ "action_uris": {"key": "actionUris", "type": "{str}"},
+ "duration": {"key": "duration", "type": "str"},
+ "duration_milliseconds": {"key": "durationMilliseconds", "type": "float"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword data_container_id: Required.
+ :paramtype data_container_id: str
+ :keyword target_name: Required.
+ :paramtype target_name: str
+ :keyword run_name: Required.
+ :paramtype run_name: str
+ :keyword experiment_name: Required.
+ :paramtype experiment_name: str
+ :keyword run_id: Required.
+ :paramtype run_id: str
+ :keyword parent_run_id: Required.
+ :paramtype parent_run_id: str
+ :keyword root_run_id: Required.
+ :paramtype root_run_id: str
+ :keyword run_type: Required.
+ :paramtype run_type: str
+ :keyword run_type_v2: Required.
+ :paramtype run_type_v2: ~index_service_apis.models.RunTypeV2Index
+ :keyword script_name: Required.
+ :paramtype script_name: str
+ :keyword experiment_id: Required.
+ :paramtype experiment_id: str
+ :keyword run_uuid: Required.
+ :paramtype run_uuid: str
+ :keyword parent_run_uuid: Required.
+ :paramtype parent_run_uuid: str
+ :keyword run_number: Required.
+ :paramtype run_number: int
+ :keyword start_time: Required.
+ :paramtype start_time: ~datetime.datetime
+ :keyword end_time: Required.
+ :paramtype end_time: ~datetime.datetime
+ :keyword compute_request: Required.
+ :paramtype compute_request: ~index_service_apis.models.ComputeRequest
+ :keyword compute: Required.
+ :paramtype compute: ~index_service_apis.models.Compute
+ :keyword user_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype user_properties: dict[str, str]
+ :keyword action_uris: Required. Dictionary of :code:`<string>`.
+ :paramtype action_uris: dict[str, str]
+ :keyword duration: Required.
+ :paramtype duration: str
+ :keyword duration_milliseconds: Required.
+ :paramtype duration_milliseconds: float
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(RunProperties, self).__init__(**kwargs)
+ self.data_container_id = kwargs["data_container_id"]
+ self.target_name = kwargs["target_name"]
+ self.run_name = kwargs["run_name"]
+ self.experiment_name = kwargs["experiment_name"]
+ self.run_id = kwargs["run_id"]
+ self.parent_run_id = kwargs["parent_run_id"]
+ self.root_run_id = kwargs["root_run_id"]
+ self.run_type = kwargs["run_type"]
+ self.run_type_v2 = kwargs["run_type_v2"]
+ self.script_name = kwargs["script_name"]
+ self.experiment_id = kwargs["experiment_id"]
+ self.run_uuid = kwargs["run_uuid"]
+ self.parent_run_uuid = kwargs["parent_run_uuid"]
+ self.run_number = kwargs["run_number"]
+ self.start_time = kwargs["start_time"]
+ self.end_time = kwargs["end_time"]
+ self.compute_request = kwargs["compute_request"]
+ self.compute = kwargs["compute"]
+ self.user_properties = kwargs["user_properties"]
+ self.action_uris = kwargs["action_uris"]
+ self.duration = kwargs["duration"]
+ self.duration_milliseconds = kwargs["duration_milliseconds"]
+ self.creation_context = kwargs["creation_context"]
+
+
+class RunsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """RunsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.RunsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[RunsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.RunsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(RunsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+ self.value = kwargs.get("value", None)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.continuation_token = kwargs.get("continuation_token", None)
+ self.entity_container_ids_to_entity_container_metadata = kwargs.get(
+ "entity_container_ids_to_entity_container_metadata", None
+ )
+ self.number_of_entity_containers_not_queried = kwargs.get("number_of_entity_containers_not_queried", None)
+ self.fanout_data = kwargs.get("fanout_data", None)
+ self.shard_errors = kwargs.get("shard_errors", None)
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = kwargs.get(
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern", None
+ )
+
+
+class RunsUnversionedEntity(msrest.serialization.Model):
+ """RunsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.RunsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.RunAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.RunProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "RunAnnotations"},
+ "properties": {"key": "properties", "type": "RunProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.RunsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.RunAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.RunProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(RunsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = kwargs["schema_id"]
+ self.entity_id = kwargs["entity_id"]
+ self.kind = kwargs["kind"]
+ self.annotations = kwargs["annotations"]
+ self.properties = kwargs["properties"]
+ self.internal = kwargs["internal"]
+ self.update_sequence = kwargs["update_sequence"]
+ self.type = kwargs["type"]
+ self.version = kwargs["version"]
+ self.entity_container_id = kwargs["entity_container_id"]
+ self.entity_object_id = kwargs["entity_object_id"]
+ self.resource_type = kwargs["resource_type"]
+ self.relationships = kwargs["relationships"]
+ self.asset_id = kwargs.get("asset_id", None)
+
+
+class RunTypeV2Index(msrest.serialization.Model):
+ """RunTypeV2Index.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar orchestrator: Required.
+ :vartype orchestrator: str
+ :ivar traits: Required. Dictionary of :code:`<string>`.
+ :vartype traits: dict[str, str]
+ :ivar attribution: Required.
+ :vartype attribution: str
+ :ivar compute_type: Required.
+ :vartype compute_type: str
+ """
+
+ _validation = {
+ "orchestrator": {"required": True},
+ "traits": {"required": True},
+ "attribution": {"required": True},
+ "compute_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "orchestrator": {"key": "orchestrator", "type": "str"},
+ "traits": {"key": "traits", "type": "{str}"},
+ "attribution": {"key": "attribution", "type": "str"},
+ "compute_type": {"key": "computeType", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword orchestrator: Required.
+ :paramtype orchestrator: str
+ :keyword traits: Required. Dictionary of :code:`<string>`.
+ :paramtype traits: dict[str, str]
+ :keyword attribution: Required.
+ :paramtype attribution: str
+ :keyword compute_type: Required.
+ :paramtype compute_type: str
+ """
+ super(RunTypeV2Index, self).__init__(**kwargs)
+ self.orchestrator = kwargs["orchestrator"]
+ self.traits = kwargs["traits"]
+ self.attribution = kwargs["attribution"]
+ self.compute_type = kwargs["compute_type"]
+
+
+class SingleShardFanoutData(msrest.serialization.Model):
+ """SingleShardFanoutData.
+
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar is_shard_done:
+ :vartype is_shard_done: bool
+ :ivar did_shard_fail:
+ :vartype did_shard_fail: bool
+ :ivar total_count:
+ :vartype total_count: long
+ """
+
+ _attribute_map = {
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "is_shard_done": {"key": "isShardDone", "type": "bool"},
+ "did_shard_fail": {"key": "didShardFail", "type": "bool"},
+ "total_count": {"key": "totalCount", "type": "long"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword is_shard_done:
+ :paramtype is_shard_done: bool
+ :keyword did_shard_fail:
+ :paramtype did_shard_fail: bool
+ :keyword total_count:
+ :paramtype total_count: long
+ """
+ super(SingleShardFanoutData, self).__init__(**kwargs)
+ self.next_skip = kwargs.get("next_skip", None)
+ self.is_shard_done = kwargs.get("is_shard_done", None)
+ self.did_shard_fail = kwargs.get("did_shard_fail", None)
+ self.total_count = kwargs.get("total_count", None)
+
+
+class StringContainsRequest(msrest.serialization.Model):
+ """StringContainsRequest.
+
+ :ivar value_to_check:
+ :vartype value_to_check: str
+ :ivar columns_to_check:
+ :vartype columns_to_check: list[str]
+ """
+
+ _attribute_map = {
+ "value_to_check": {"key": "valueToCheck", "type": "str"},
+ "columns_to_check": {"key": "columnsToCheck", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword value_to_check:
+ :paramtype value_to_check: str
+ :keyword columns_to_check:
+ :paramtype columns_to_check: list[str]
+ """
+ super(StringContainsRequest, self).__init__(**kwargs)
+ self.value_to_check = kwargs.get("value_to_check", None)
+ self.columns_to_check = kwargs.get("columns_to_check", None)
+
+
+class StructuredInterfaceParameter(msrest.serialization.Model):
+ """StructuredInterfaceParameter.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ :ivar parameter_type: Required. Possible values include: "Int", "Double", "Bool", "String",
+ "Undefined".
+ :vartype parameter_type: str or ~index_service_apis.models.StructuredInterfaceParameterType
+ :ivar is_optional: Required.
+ :vartype is_optional: bool
+ :ivar default_value: Required.
+ :vartype default_value: str
+ :ivar lower_bound: Required.
+ :vartype lower_bound: str
+ :ivar upper_bound: Required.
+ :vartype upper_bound: str
+ :ivar enum_values: Required.
+ :vartype enum_values: list[str]
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ "parameter_type": {"required": True},
+ "is_optional": {"required": True},
+ "default_value": {"required": True},
+ "lower_bound": {"required": True},
+ "upper_bound": {"required": True},
+ "enum_values": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ "parameter_type": {"key": "parameterType", "type": "str"},
+ "is_optional": {"key": "isOptional", "type": "bool"},
+ "default_value": {"key": "defaultValue", "type": "str"},
+ "lower_bound": {"key": "lowerBound", "type": "str"},
+ "upper_bound": {"key": "upperBound", "type": "str"},
+ "enum_values": {"key": "enumValues", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ :keyword parameter_type: Required. Possible values include: "Int", "Double", "Bool", "String",
+ "Undefined".
+ :paramtype parameter_type: str or ~index_service_apis.models.StructuredInterfaceParameterType
+ :keyword is_optional: Required.
+ :paramtype is_optional: bool
+ :keyword default_value: Required.
+ :paramtype default_value: str
+ :keyword lower_bound: Required.
+ :paramtype lower_bound: str
+ :keyword upper_bound: Required.
+ :paramtype upper_bound: str
+ :keyword enum_values: Required.
+ :paramtype enum_values: list[str]
+ """
+ super(StructuredInterfaceParameter, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.description = kwargs["description"]
+ self.label = kwargs["label"]
+ self.parameter_type = kwargs["parameter_type"]
+ self.is_optional = kwargs["is_optional"]
+ self.default_value = kwargs["default_value"]
+ self.lower_bound = kwargs["lower_bound"]
+ self.upper_bound = kwargs["upper_bound"]
+ self.enum_values = kwargs["enum_values"]
+
+
+class TimeDeltaDto(msrest.serialization.Model):
+ """TimeDeltaDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar days: Required.
+ :vartype days: int
+ :ivar hours: Required.
+ :vartype hours: int
+ :ivar minutes: Required.
+ :vartype minutes: int
+ """
+
+ _validation = {
+ "days": {"required": True},
+ "hours": {"required": True},
+ "minutes": {"required": True},
+ }
+
+ _attribute_map = {
+ "days": {"key": "days", "type": "int"},
+ "hours": {"key": "hours", "type": "int"},
+ "minutes": {"key": "minutes", "type": "int"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword days: Required.
+ :paramtype days: int
+ :keyword hours: Required.
+ :paramtype hours: int
+ :keyword minutes: Required.
+ :paramtype minutes: int
+ """
+ super(TimeDeltaDto, self).__init__(**kwargs)
+ self.days = kwargs["days"]
+ self.hours = kwargs["hours"]
+ self.minutes = kwargs["minutes"]
+
+
+class TimestampColumnDto(msrest.serialization.Model):
+ """TimestampColumnDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar format: Required.
+ :vartype format: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "format": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "format": {"key": "format", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword format: Required.
+ :paramtype format: str
+ """
+ super(TimestampColumnDto, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.format = kwargs["format"]
+
+
+class UnqueriableResourcesScope(msrest.serialization.Model):
+ """UnqueriableResourcesScope.
+
+ :ivar resource_set:
+ :vartype resource_set: list[~index_service_apis.models.ResourceInformation]
+ """
+
+ _attribute_map = {
+ "resource_set": {"key": "resourceSet", "type": "[ResourceInformation]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword resource_set:
+ :paramtype resource_set: list[~index_service_apis.models.ResourceInformation]
+ """
+ super(UnqueriableResourcesScope, self).__init__(**kwargs)
+ self.resource_set = kwargs.get("resource_set", None)
+
+
+class Usage(msrest.serialization.Model):
+ """Usage.
+
+ :ivar total_count:
+ :vartype total_count: long
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ """
+ super(Usage, self).__init__(**kwargs)
+ self.total_count = kwargs.get("total_count", None)
+
+
+class UserDto(msrest.serialization.Model):
+ """UserDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_object_id: Required.
+ :vartype user_object_id: str
+ :ivar user_tenant_id: Required.
+ :vartype user_tenant_id: str
+ :ivar user_name: Required.
+ :vartype user_name: str
+ """
+
+ _validation = {
+ "user_object_id": {"required": True},
+ "user_tenant_id": {"required": True},
+ "user_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword user_object_id: Required.
+ :paramtype user_object_id: str
+ :keyword user_tenant_id: Required.
+ :paramtype user_tenant_id: str
+ :keyword user_name: Required.
+ :paramtype user_name: str
+ """
+ super(UserDto, self).__init__(**kwargs)
+ self.user_object_id = kwargs["user_object_id"]
+ self.user_tenant_id = kwargs["user_tenant_id"]
+ self.user_name = kwargs["user_name"]
+
+
+class UxPresenceResource(msrest.serialization.Model):
+ """UxPresenceResource.
+
+ :ivar name:
+ :vartype name: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar region:
+ :vartype region: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group_name:
+ :vartype resource_group_name: str
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar is_customer_managed:
+ :vartype is_customer_managed: bool
+ :ivar is_private_link_resource:
+ :vartype is_private_link_resource: bool
+ :ivar is_private_link_resource_behind_vnet:
+ :vartype is_private_link_resource_behind_vnet: bool
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group_name": {"key": "resourceGroupName", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "is_customer_managed": {"key": "isCustomerManaged", "type": "bool"},
+ "is_private_link_resource": {"key": "isPrivateLinkResource", "type": "bool"},
+ "is_private_link_resource_behind_vnet": {"key": "isPrivateLinkResourceBehindVnet", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_type:
+ :paramtype resource_type: str
+ :keyword region:
+ :paramtype region: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group_name:
+ :paramtype resource_group_name: str
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword is_customer_managed:
+ :paramtype is_customer_managed: bool
+ :keyword is_private_link_resource:
+ :paramtype is_private_link_resource: bool
+ :keyword is_private_link_resource_behind_vnet:
+ :paramtype is_private_link_resource_behind_vnet: bool
+ """
+ super(UxPresenceResource, self).__init__(**kwargs)
+ self.name = kwargs.get("name", None)
+ self.resource_id = kwargs.get("resource_id", None)
+ self.resource_type = kwargs.get("resource_type", None)
+ self.region = kwargs.get("region", None)
+ self.regions = kwargs.get("regions", None)
+ self.subscription_id = kwargs.get("subscription_id", None)
+ self.resource_group_name = kwargs.get("resource_group_name", None)
+ self.tags = kwargs.get("tags", None)
+ self.is_customer_managed = kwargs.get("is_customer_managed", None)
+ self.is_private_link_resource = kwargs.get("is_private_link_resource", None)
+ self.is_private_link_resource_behind_vnet = kwargs.get("is_private_link_resource_behind_vnet", None)
+
+
+class UxWarmUpRequest(msrest.serialization.Model):
+ """UxWarmUpRequest.
+
+ :ivar entity_types:
+ :vartype entity_types: list[str]
+ :ivar resource_ids:
+ :vartype resource_ids: list[str]
+ """
+
+ _attribute_map = {
+ "entity_types": {"key": "entityTypes", "type": "[str]"},
+ "resource_ids": {"key": "resourceIds", "type": "[str]"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword entity_types:
+ :paramtype entity_types: list[str]
+ :keyword resource_ids:
+ :paramtype resource_ids: list[str]
+ """
+ super(UxWarmUpRequest, self).__init__(**kwargs)
+ self.entity_types = kwargs.get("entity_types", None)
+ self.resource_ids = kwargs.get("resource_ids", None)
+
+
+class VersionedAttribute(msrest.serialization.Model):
+ """VersionedAttribute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar version: Required.
+ :vartype version: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "version": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword version: Required.
+ :paramtype version: str
+ """
+ super(VersionedAttribute, self).__init__(**kwargs)
+ self.name = kwargs["name"]
+ self.version = kwargs["version"]
+
+
+class Webhook(msrest.serialization.Model):
+ """Webhook.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar webhook_type: Has constant value: "AzureDevOps".
+ :vartype webhook_type: str
+ :ivar event_type: Required.
+ :vartype event_type: str
+ """
+
+ _validation = {
+ "webhook_type": {"required": True, "constant": True},
+ "event_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "webhook_type": {"key": "webhookType", "type": "str"},
+ "event_type": {"key": "eventType", "type": "str"},
+ }
+
+ webhook_type = "AzureDevOps"
+
+ def __init__(self, **kwargs):
+ """
+ :keyword event_type: Required.
+ :paramtype event_type: str
+ """
+ super(Webhook, self).__init__(**kwargs)
+ self.event_type = kwargs["event_type"]
+
+
+class WorkspaceContextWarmUpRequest(msrest.serialization.Model):
+ """WorkspaceContextWarmUpRequest.
+
+ :ivar discover_registries:
+ :vartype discover_registries: bool
+ """
+
+ _attribute_map = {
+ "discover_registries": {"key": "discoverRegistries", "type": "bool"},
+ }
+
+ def __init__(self, **kwargs):
+ """
+ :keyword discover_registries:
+ :paramtype discover_registries: bool
+ """
+ super(WorkspaceContextWarmUpRequest, self).__init__(**kwargs)
+ self.discover_registries = kwargs.get("discover_registries", None)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models_py3.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models_py3.py
new file mode 100644
index 00000000..515cd873
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/models/_models_py3.py
@@ -0,0 +1,10478 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+import datetime
+from typing import Any, Dict, List, Optional, Union
+
+import msrest.serialization
+
+from ._index_service_apis_enums import *
+
+
+class BatchEndpointAnnotations(msrest.serialization.Model):
+ """BatchEndpointAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scoring_uri: Required.
+ :vartype scoring_uri: str
+ :ivar location: Required.
+ :vartype location: str
+ :ivar last_modified_time: Required.
+ :vartype last_modified_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "scoring_uri": {"required": True},
+ "location": {"required": True},
+ "last_modified_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "scoring_uri": {"key": "scoringUri", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "last_modified_time": {"key": "lastModifiedTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ scoring_uri: str,
+ location: str,
+ last_modified_time: datetime.datetime,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword scoring_uri: Required.
+ :paramtype scoring_uri: str
+ :keyword location: Required.
+ :paramtype location: str
+ :keyword last_modified_time: Required.
+ :paramtype last_modified_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(BatchEndpointAnnotations, self).__init__(**kwargs)
+ self.scoring_uri = scoring_uri
+ self.location = location
+ self.last_modified_time = last_modified_time
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class BatchEndpointProperties(msrest.serialization.Model):
+ """BatchEndpointProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "properties": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "{str}"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, properties: Dict[str, str], creation_context: "CreationContext", **kwargs):
+ """
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(BatchEndpointProperties, self).__init__(**kwargs)
+ self.properties = properties
+ self.creation_context = creation_context
+
+
+class BatchendpointsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """BatchendpointsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.BatchendpointsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[BatchendpointsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["BatchendpointsUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.BatchendpointsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(BatchendpointsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class BatchendpointsUnversionedEntity(msrest.serialization.Model):
+ """BatchendpointsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.BatchendpointsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.BatchEndpointAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.BatchEndpointProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "BatchEndpointAnnotations"},
+ "properties": {"key": "properties", "type": "BatchEndpointProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "BatchendpointsUnversionedEntityKind"],
+ annotations: "BatchEndpointAnnotations",
+ properties: "BatchEndpointProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.BatchendpointsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.BatchEndpointAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.BatchEndpointProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(BatchendpointsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class Compute(msrest.serialization.Model):
+ """Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar target: Required.
+ :vartype target: str
+ :ivar target_type: Required.
+ :vartype target_type: str
+ :ivar vm_size: Required.
+ :vartype vm_size: str
+ :ivar instance_type: Required.
+ :vartype instance_type: str
+ :ivar instance_count: Required.
+ :vartype instance_count: int
+ :ivar gpu_count: Required.
+ :vartype gpu_count: int
+ :ivar priority: Required.
+ :vartype priority: str
+ :ivar region: Required.
+ :vartype region: str
+ :ivar arm_id: Required.
+ :vartype arm_id: str
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ """
+
+ _validation = {
+ "target": {"required": True},
+ "target_type": {"required": True},
+ "vm_size": {"required": True},
+ "instance_type": {"required": True},
+ "instance_count": {"required": True},
+ "gpu_count": {"required": True},
+ "priority": {"required": True},
+ "region": {"required": True},
+ "arm_id": {"required": True},
+ "properties": {"required": True},
+ }
+
+ _attribute_map = {
+ "target": {"key": "target", "type": "str"},
+ "target_type": {"key": "targetType", "type": "str"},
+ "vm_size": {"key": "vmSize", "type": "str"},
+ "instance_type": {"key": "instanceType", "type": "str"},
+ "instance_count": {"key": "instanceCount", "type": "int"},
+ "gpu_count": {"key": "gpuCount", "type": "int"},
+ "priority": {"key": "priority", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "arm_id": {"key": "armId", "type": "str"},
+ "properties": {"key": "properties", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ target: str,
+ target_type: str,
+ vm_size: str,
+ instance_type: str,
+ instance_count: int,
+ gpu_count: int,
+ priority: str,
+ region: str,
+ arm_id: str,
+ properties: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword target: Required.
+ :paramtype target: str
+ :keyword target_type: Required.
+ :paramtype target_type: str
+ :keyword vm_size: Required.
+ :paramtype vm_size: str
+ :keyword instance_type: Required.
+ :paramtype instance_type: str
+ :keyword instance_count: Required.
+ :paramtype instance_count: int
+ :keyword gpu_count: Required.
+ :paramtype gpu_count: int
+ :keyword priority: Required.
+ :paramtype priority: str
+ :keyword region: Required.
+ :paramtype region: str
+ :keyword arm_id: Required.
+ :paramtype arm_id: str
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ """
+ super(Compute, self).__init__(**kwargs)
+ self.target = target
+ self.target_type = target_type
+ self.vm_size = vm_size
+ self.instance_type = instance_type
+ self.instance_count = instance_count
+ self.gpu_count = gpu_count
+ self.priority = priority
+ self.region = region
+ self.arm_id = arm_id
+ self.properties = properties
+
+
+class ComputeRequest(msrest.serialization.Model):
+ """ComputeRequest.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar node_count: Required.
+ :vartype node_count: int
+ :ivar gpu_count: Required.
+ :vartype gpu_count: int
+ """
+
+ _validation = {
+ "node_count": {"required": True},
+ "gpu_count": {"required": True},
+ }
+
+ _attribute_map = {
+ "node_count": {"key": "nodeCount", "type": "int"},
+ "gpu_count": {"key": "gpuCount", "type": "int"},
+ }
+
+ def __init__(self, *, node_count: int, gpu_count: int, **kwargs):
+ """
+ :keyword node_count: Required.
+ :paramtype node_count: int
+ :keyword gpu_count: Required.
+ :paramtype gpu_count: int
+ """
+ super(ComputeRequest, self).__init__(**kwargs)
+ self.node_count = node_count
+ self.gpu_count = gpu_count
+
+
+class ContainerResourceRequirements(msrest.serialization.Model):
+ """ContainerResourceRequirements.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cpu: Required.
+ :vartype cpu: float
+ :ivar cpu_limit: Required.
+ :vartype cpu_limit: float
+ :ivar memory_in_gb: Required.
+ :vartype memory_in_gb: float
+ :ivar memory_in_gb_limit: Required.
+ :vartype memory_in_gb_limit: float
+ :ivar gpu_enabled: Required.
+ :vartype gpu_enabled: bool
+ :ivar gpu: Required.
+ :vartype gpu: int
+ :ivar fpga: Required.
+ :vartype fpga: int
+ """
+
+ _validation = {
+ "cpu": {"required": True},
+ "cpu_limit": {"required": True},
+ "memory_in_gb": {"required": True},
+ "memory_in_gb_limit": {"required": True},
+ "gpu_enabled": {"required": True},
+ "gpu": {"required": True},
+ "fpga": {"required": True},
+ }
+
+ _attribute_map = {
+ "cpu": {"key": "cpu", "type": "float"},
+ "cpu_limit": {"key": "cpuLimit", "type": "float"},
+ "memory_in_gb": {"key": "memoryInGB", "type": "float"},
+ "memory_in_gb_limit": {"key": "memoryInGBLimit", "type": "float"},
+ "gpu_enabled": {"key": "gpuEnabled", "type": "bool"},
+ "gpu": {"key": "gpu", "type": "int"},
+ "fpga": {"key": "fpga", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ cpu: float,
+ cpu_limit: float,
+ memory_in_gb: float,
+ memory_in_gb_limit: float,
+ gpu_enabled: bool,
+ gpu: int,
+ fpga: int,
+ **kwargs
+ ):
+ """
+ :keyword cpu: Required.
+ :paramtype cpu: float
+ :keyword cpu_limit: Required.
+ :paramtype cpu_limit: float
+ :keyword memory_in_gb: Required.
+ :paramtype memory_in_gb: float
+ :keyword memory_in_gb_limit: Required.
+ :paramtype memory_in_gb_limit: float
+ :keyword gpu_enabled: Required.
+ :paramtype gpu_enabled: bool
+ :keyword gpu: Required.
+ :paramtype gpu: int
+ :keyword fpga: Required.
+ :paramtype fpga: int
+ """
+ super(ContainerResourceRequirements, self).__init__(**kwargs)
+ self.cpu = cpu
+ self.cpu_limit = cpu_limit
+ self.memory_in_gb = memory_in_gb
+ self.memory_in_gb_limit = memory_in_gb_limit
+ self.gpu_enabled = gpu_enabled
+ self.gpu = gpu
+ self.fpga = fpga
+
+
+class ControlOutput(msrest.serialization.Model):
+ """ControlOutput.
+
+ :ivar name:
+ :vartype name: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, *, name: Optional[str] = None, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ """
+ super(ControlOutput, self).__init__(**kwargs)
+ self.name = name
+
+
+class CreatedBy(msrest.serialization.Model):
+ """CreatedBy.
+
+ :ivar user_object_id:
+ :vartype user_object_id: str
+ :ivar user_tenant_id:
+ :vartype user_tenant_id: str
+ :ivar user_name:
+ :vartype user_name: str
+ """
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_object_id: Optional[str] = None,
+ user_tenant_id: Optional[str] = None,
+ user_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword user_object_id:
+ :paramtype user_object_id: str
+ :keyword user_tenant_id:
+ :paramtype user_tenant_id: str
+ :keyword user_name:
+ :paramtype user_name: str
+ """
+ super(CreatedBy, self).__init__(**kwargs)
+ self.user_object_id = user_object_id
+ self.user_tenant_id = user_tenant_id
+ self.user_name = user_name
+
+
+class CreatedBy1(msrest.serialization.Model):
+ """CreatedBy1.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_object_id: Required.
+ :vartype user_object_id: str
+ :ivar user_tenant_id: Required.
+ :vartype user_tenant_id: str
+ :ivar user_name: Required.
+ :vartype user_name: str
+ """
+
+ _validation = {
+ "user_object_id": {"required": True},
+ "user_tenant_id": {"required": True},
+ "user_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(self, *, user_object_id: str, user_tenant_id: str, user_name: str, **kwargs):
+ """
+ :keyword user_object_id: Required.
+ :paramtype user_object_id: str
+ :keyword user_tenant_id: Required.
+ :paramtype user_tenant_id: str
+ :keyword user_name: Required.
+ :paramtype user_name: str
+ """
+ super(CreatedBy1, self).__init__(**kwargs)
+ self.user_object_id = user_object_id
+ self.user_tenant_id = user_tenant_id
+ self.user_name = user_name
+
+
+class CreationContext(msrest.serialization.Model):
+ """CreationContext.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar created_time:
+ :vartype created_time: ~datetime.datetime
+ :ivar created_by:
+ :vartype created_by: ~index_service_apis.models.CreatedBy
+ :ivar creation_source:
+ :vartype creation_source: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "created_time": {"key": "createdTime", "type": "iso-8601"},
+ "created_by": {"key": "createdBy", "type": "CreatedBy"},
+ "creation_source": {"key": "creationSource", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ created_time: Optional[datetime.datetime] = None,
+ created_by: Optional["CreatedBy"] = None,
+ creation_source: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword created_time:
+ :paramtype created_time: ~datetime.datetime
+ :keyword created_by:
+ :paramtype created_by: ~index_service_apis.models.CreatedBy
+ :keyword creation_source:
+ :paramtype creation_source: str
+ """
+ super(CreationContext, self).__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.created_time = created_time
+ self.created_by = created_by
+ self.creation_source = creation_source
+
+
+class CronTrigger(msrest.serialization.Model):
+ """CronTrigger.
+
+ :ivar expression:
+ :vartype expression: str
+ """
+
+ _attribute_map = {
+ "expression": {"key": "expression", "type": "str"},
+ }
+
+ def __init__(self, *, expression: Optional[str] = None, **kwargs):
+ """
+ :keyword expression:
+ :paramtype expression: str
+ """
+ super(CronTrigger, self).__init__(**kwargs)
+ self.expression = expression
+
+
+class CrossRegionIndexEntitiesRequest(msrest.serialization.Model):
+ """CrossRegionIndexEntitiesRequest.
+
+ :ivar resource_ids:
+ :vartype resource_ids: list[~index_service_apis.models.ResourceInformation]
+ :ivar index_entities_request:
+ :vartype index_entities_request: ~index_service_apis.models.IndexEntitiesRequest
+ """
+
+ _attribute_map = {
+ "resource_ids": {"key": "resourceIds", "type": "[ResourceInformation]"},
+ "index_entities_request": {"key": "indexEntitiesRequest", "type": "IndexEntitiesRequest"},
+ }
+
+ def __init__(
+ self,
+ *,
+ resource_ids: Optional[List["ResourceInformation"]] = None,
+ index_entities_request: Optional["IndexEntitiesRequest"] = None,
+ **kwargs
+ ):
+ """
+ :keyword resource_ids:
+ :paramtype resource_ids: list[~index_service_apis.models.ResourceInformation]
+ :keyword index_entities_request:
+ :paramtype index_entities_request: ~index_service_apis.models.IndexEntitiesRequest
+ """
+ super(CrossRegionIndexEntitiesRequest, self).__init__(**kwargs)
+ self.resource_ids = resource_ids
+ self.index_entities_request = index_entities_request
+
+
+class CrossRegionIndexEntitiesResponse(msrest.serialization.Model):
+ """CrossRegionIndexEntitiesResponse.
+
+ :ivar index_entities_response:
+ :vartype index_entities_response: ~index_service_apis.models.IndexEntitiesResponse
+ :ivar regional_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype regional_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar shard_errors: Dictionary of
+ <components·1fu9hkf·schemas·crossregionindexentitiesresponse·properties·sharderrors·additionalproperties>.
+ :vartype shard_errors: dict[str, dict[str, ~index_service_apis.models.ErrorResponse]]
+ :ivar number_of_resources_not_included_in_search:
+ :vartype number_of_resources_not_included_in_search: int
+ """
+
+ _attribute_map = {
+ "index_entities_response": {"key": "indexEntitiesResponse", "type": "IndexEntitiesResponse"},
+ "regional_errors": {"key": "regionalErrors", "type": "{ErrorResponse}"},
+ "shard_errors": {"key": "shardErrors", "type": "{{ErrorResponse}}"},
+ "number_of_resources_not_included_in_search": {"key": "numberOfResourcesNotIncludedInSearch", "type": "int"},
+ }
+
+ def __init__(
+ self,
+ *,
+ index_entities_response: Optional["IndexEntitiesResponse"] = None,
+ regional_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ shard_errors: Optional[Dict[str, Dict[str, "ErrorResponse"]]] = None,
+ number_of_resources_not_included_in_search: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword index_entities_response:
+ :paramtype index_entities_response: ~index_service_apis.models.IndexEntitiesResponse
+ :keyword regional_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype regional_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword shard_errors: Dictionary of
+ <components·1fu9hkf·schemas·crossregionindexentitiesresponse·properties·sharderrors·additionalproperties>.
+ :paramtype shard_errors: dict[str, dict[str, ~index_service_apis.models.ErrorResponse]]
+ :keyword number_of_resources_not_included_in_search:
+ :paramtype number_of_resources_not_included_in_search: int
+ """
+ super(CrossRegionIndexEntitiesResponse, self).__init__(**kwargs)
+ self.index_entities_response = index_entities_response
+ self.regional_errors = regional_errors
+ self.shard_errors = shard_errors
+ self.number_of_resources_not_included_in_search = number_of_resources_not_included_in_search
+
+
+class CudaAttribute(msrest.serialization.Model):
+ """CudaAttribute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cuda_version: Required.
+ :vartype cuda_version: str
+ :ivar cu_dnn_version: Required.
+ :vartype cu_dnn_version: str
+ :ivar nccl_version: Required.
+ :vartype nccl_version: str
+ """
+
+ _validation = {
+ "cuda_version": {"required": True},
+ "cu_dnn_version": {"required": True},
+ "nccl_version": {"required": True},
+ }
+
+ _attribute_map = {
+ "cuda_version": {"key": "cudaVersion", "type": "str"},
+ "cu_dnn_version": {"key": "cuDnnVersion", "type": "str"},
+ "nccl_version": {"key": "ncclVersion", "type": "str"},
+ }
+
+ def __init__(self, *, cuda_version: str, cu_dnn_version: str, nccl_version: str, **kwargs):
+ """
+ :keyword cuda_version: Required.
+ :paramtype cuda_version: str
+ :keyword cu_dnn_version: Required.
+ :paramtype cu_dnn_version: str
+ :keyword nccl_version: Required.
+ :paramtype nccl_version: str
+ """
+ super(CudaAttribute, self).__init__(**kwargs)
+ self.cuda_version = cuda_version
+ self.cu_dnn_version = cu_dnn_version
+ self.nccl_version = nccl_version
+
+
+class DatasetAnnotations(msrest.serialization.Model):
+ """DatasetAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar modified_by: Required.
+ :vartype modified_by: ~index_service_apis.models.UserDto
+ :ivar next_version_id: Required.
+ :vartype next_version_id: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar labels: Required. Dictionary of :code:`<string>`.
+ :vartype labels: dict[str, str]
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "modified_time": {"required": True},
+ "modified_by": {"required": True},
+ "next_version_id": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "labels": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "modified_by": {"key": "modifiedBy", "type": "UserDto"},
+ "next_version_id": {"key": "nextVersionId", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "labels": {"key": "labels", "type": "{str}"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ modified_time: datetime.datetime,
+ modified_by: "UserDto",
+ next_version_id: str,
+ name: str,
+ description: str,
+ labels: Dict[str, str],
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword modified_by: Required.
+ :paramtype modified_by: ~index_service_apis.models.UserDto
+ :keyword next_version_id: Required.
+ :paramtype next_version_id: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword labels: Required. Dictionary of :code:`<string>`.
+ :paramtype labels: dict[str, str]
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DatasetAnnotations, self).__init__(**kwargs)
+ self.modified_time = modified_time
+ self.modified_by = modified_by
+ self.next_version_id = next_version_id
+ self.name = name
+ self.description = description
+ self.labels = labels
+ self.archived = archived
+ self.tags = tags
+
+
+class DatasetProperties(msrest.serialization.Model):
+ """DatasetProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar subtype: Required.
+ :vartype subtype: str
+ :ivar is_registered: Required.
+ :vartype is_registered: bool
+ :ivar data_type: Required.
+ :vartype data_type: str
+ :ivar is_v2: Required.
+ :vartype is_v2: bool
+ :ivar name_lower_case: Required.
+ :vartype name_lower_case: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "subtype": {"required": True},
+ "is_registered": {"required": True},
+ "data_type": {"required": True},
+ "is_v2": {"required": True},
+ "name_lower_case": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "subtype": {"key": "subtype", "type": "str"},
+ "is_registered": {"key": "isRegistered", "type": "bool"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "is_v2": {"key": "isV2", "type": "bool"},
+ "name_lower_case": {"key": "nameLowerCase", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(
+ self,
+ *,
+ subtype: str,
+ is_registered: bool,
+ data_type: str,
+ is_v2: bool,
+ name_lower_case: str,
+ creation_context: "CreationContext",
+ **kwargs
+ ):
+ """
+ :keyword subtype: Required.
+ :paramtype subtype: str
+ :keyword is_registered: Required.
+ :paramtype is_registered: bool
+ :keyword data_type: Required.
+ :paramtype data_type: str
+ :keyword is_v2: Required.
+ :paramtype is_v2: bool
+ :keyword name_lower_case: Required.
+ :paramtype name_lower_case: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DatasetProperties, self).__init__(**kwargs)
+ self.subtype = subtype
+ self.is_registered = is_registered
+ self.data_type = data_type
+ self.is_v2 = is_v2
+ self.name_lower_case = name_lower_case
+ self.creation_context = creation_context
+
+
+class DatasetReference(msrest.serialization.Model):
+ """DatasetReference.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar id: Required.
+ :vartype id: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "id": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "id": {"key": "id", "type": "str"},
+ }
+
+ def __init__(self, *, name: str, id: str, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword id: Required.
+ :paramtype id: str
+ """
+ super(DatasetReference, self).__init__(**kwargs)
+ self.name = name
+ self.id = id
+
+
+class DatasetsVersionedEntitiesResponse(msrest.serialization.Model):
+ """DatasetsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.DatasetsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[DatasetsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["DatasetsVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.DatasetsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(DatasetsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class DatasetsVersionedEntity(msrest.serialization.Model):
+ """DatasetsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.DatasetsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DatasetAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DatasetProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DatasetAnnotations"},
+ "properties": {"key": "properties", "type": "DatasetProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "DatasetsVersionedEntityKind"],
+ annotations: "DatasetAnnotations",
+ properties: "DatasetProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.DatasetsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DatasetAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DatasetProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(DatasetsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class DataStoreAnnotations(msrest.serialization.Model):
+ """DataStoreAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_store_type: Required. Possible values include: "AzureBlob", "AzureFile",
+ "GlusterFs", "AzureDataLake", "AzureMySql", "Custom", "Hdfs", "AzureSqlDatabase",
+ "AzurePostgreSql", "DBFS", "AzureDataLakeGen2".
+ :vartype data_store_type: str or ~index_service_apis.models.DataStoreAnnotationsDataStoreType
+ :ivar data_store_type_name: Required.
+ :vartype data_store_type_name: str
+ :ivar storage_name: Required.
+ :vartype storage_name: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "data_store_type": {"required": True},
+ "data_store_type_name": {"required": True},
+ "storage_name": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_store_type": {"key": "dataStoreType", "type": "str"},
+ "data_store_type_name": {"key": "dataStoreTypeName", "type": "str"},
+ "storage_name": {"key": "storageName", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_store_type: Union[str, "DataStoreAnnotationsDataStoreType"],
+ data_store_type_name: str,
+ storage_name: str,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword data_store_type: Required. Possible values include: "AzureBlob", "AzureFile",
+ "GlusterFs", "AzureDataLake", "AzureMySql", "Custom", "Hdfs", "AzureSqlDatabase",
+ "AzurePostgreSql", "DBFS", "AzureDataLakeGen2".
+ :paramtype data_store_type: str or ~index_service_apis.models.DataStoreAnnotationsDataStoreType
+ :keyword data_store_type_name: Required.
+ :paramtype data_store_type_name: str
+ :keyword storage_name: Required.
+ :paramtype storage_name: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DataStoreAnnotations, self).__init__(**kwargs)
+ self.data_store_type = data_store_type
+ self.data_store_type_name = data_store_type_name
+ self.storage_name = storage_name
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class DataStoreProperties(msrest.serialization.Model):
+ """DataStoreProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DataStoreProperties, self).__init__(**kwargs)
+ self.creation_context = creation_context
+
+
+class DatastoresUnversionedEntitiesResponse(msrest.serialization.Model):
+ """DatastoresUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.DatastoresUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[DatastoresUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["DatastoresUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.DatastoresUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(DatastoresUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class DatastoresUnversionedEntity(msrest.serialization.Model):
+ """DatastoresUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.DatastoresUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DataStoreAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DataStoreProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DataStoreAnnotations"},
+ "properties": {"key": "properties", "type": "DataStoreProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "DatastoresUnversionedEntityKind"],
+ annotations: "DataStoreAnnotations",
+ properties: "DataStoreProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.DatastoresUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DataStoreAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DataStoreProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(DatastoresUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class DebugInfoResponse(msrest.serialization.Model):
+ """DebugInfoResponse.
+
+ :ivar type:
+ :vartype type: str
+ :ivar message:
+ :vartype message: str
+ :ivar stack_trace:
+ :vartype stack_trace: str
+ :ivar inner_exception:
+ :vartype inner_exception: ~index_service_apis.models.DebugInfoResponse
+ :ivar data: Dictionary of :code:`<any>`.
+ :vartype data: dict[str, any]
+ :ivar error_response:
+ :vartype error_response: ~index_service_apis.models.ErrorResponse
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "stack_trace": {"key": "stackTrace", "type": "str"},
+ "inner_exception": {"key": "innerException", "type": "DebugInfoResponse"},
+ "data": {"key": "data", "type": "{object}"},
+ "error_response": {"key": "errorResponse", "type": "ErrorResponse"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Optional[str] = None,
+ message: Optional[str] = None,
+ stack_trace: Optional[str] = None,
+ inner_exception: Optional["DebugInfoResponse"] = None,
+ data: Optional[Dict[str, Any]] = None,
+ error_response: Optional["ErrorResponse"] = None,
+ **kwargs
+ ):
+ """
+ :keyword type:
+ :paramtype type: str
+ :keyword message:
+ :paramtype message: str
+ :keyword stack_trace:
+ :paramtype stack_trace: str
+ :keyword inner_exception:
+ :paramtype inner_exception: ~index_service_apis.models.DebugInfoResponse
+ :keyword data: Dictionary of :code:`<any>`.
+ :paramtype data: dict[str, any]
+ :keyword error_response:
+ :paramtype error_response: ~index_service_apis.models.ErrorResponse
+ """
+ super(DebugInfoResponse, self).__init__(**kwargs)
+ self.type = type
+ self.message = message
+ self.stack_trace = stack_trace
+ self.inner_exception = inner_exception
+ self.data = data
+ self.error_response = error_response
+
+
+class DefinitionAnnotations(msrest.serialization.Model):
+ """DefinitionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(self, *, description: str, archived: bool, tags: Dict[str, str], **kwargs):
+ """
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(DefinitionAnnotations, self).__init__(**kwargs)
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class DefinitionProperties(msrest.serialization.Model):
+ """DefinitionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar automatically_saved: Required.
+ :vartype automatically_saved: bool
+ :ivar definition_hash: Required.
+ :vartype definition_hash: str
+ :ivar environment_attributes: Required.
+ :vartype environment_attributes: ~index_service_apis.models.EnvironmentAttributes
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "automatically_saved": {"required": True},
+ "definition_hash": {"required": True},
+ "environment_attributes": {"required": True},
+ "stage": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "automatically_saved": {"key": "automaticallySaved", "type": "bool"},
+ "definition_hash": {"key": "definitionHash", "type": "str"},
+ "environment_attributes": {"key": "environmentAttributes", "type": "EnvironmentAttributes"},
+ "stage": {"key": "stage", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(
+ self,
+ *,
+ automatically_saved: bool,
+ definition_hash: str,
+ environment_attributes: "EnvironmentAttributes",
+ stage: str,
+ creation_context: "CreationContext",
+ **kwargs
+ ):
+ """
+ :keyword automatically_saved: Required.
+ :paramtype automatically_saved: bool
+ :keyword definition_hash: Required.
+ :paramtype definition_hash: str
+ :keyword environment_attributes: Required.
+ :paramtype environment_attributes: ~index_service_apis.models.EnvironmentAttributes
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(DefinitionProperties, self).__init__(**kwargs)
+ self.automatically_saved = automatically_saved
+ self.definition_hash = definition_hash
+ self.environment_attributes = environment_attributes
+ self.stage = stage
+ self.creation_context = creation_context
+
+
+class EndpointComputeTarget(msrest.serialization.Model):
+ """EndpointComputeTarget.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar namespace: Required.
+ :vartype namespace: str
+ :ivar compute_target_name: Required.
+ :vartype compute_target_name: str
+ """
+
+ _validation = {
+ "namespace": {"required": True},
+ "compute_target_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "namespace": {"key": "namespace", "type": "str"},
+ "compute_target_name": {"key": "computeTargetName", "type": "str"},
+ }
+
+ def __init__(self, *, namespace: str, compute_target_name: str, **kwargs):
+ """
+ :keyword namespace: Required.
+ :paramtype namespace: str
+ :keyword compute_target_name: Required.
+ :paramtype compute_target_name: str
+ """
+ super(EndpointComputeTarget, self).__init__(**kwargs)
+ self.namespace = namespace
+ self.compute_target_name = compute_target_name
+
+
+class EnvironmentAttributes(msrest.serialization.Model):
+ """EnvironmentAttributes.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar machine_learning_framework: Required.
+ :vartype machine_learning_framework: ~index_service_apis.models.VersionedAttribute
+ :ivar mpi: Required.
+ :vartype mpi: ~index_service_apis.models.VersionedAttribute
+ :ivar runtime: Required.
+ :vartype runtime: ~index_service_apis.models.VersionedAttribute
+ :ivar cuda: Required.
+ :vartype cuda: ~index_service_apis.models.CudaAttribute
+ :ivar purpose: Required.
+ :vartype purpose: ~index_service_apis.models.Purpose
+ :ivar os: Required.
+ :vartype os: ~index_service_apis.models.VersionedAttribute
+ """
+
+ _validation = {
+ "machine_learning_framework": {"required": True},
+ "mpi": {"required": True},
+ "runtime": {"required": True},
+ "cuda": {"required": True},
+ "purpose": {"required": True},
+ "os": {"required": True},
+ }
+
+ _attribute_map = {
+ "machine_learning_framework": {"key": "machineLearningFramework", "type": "VersionedAttribute"},
+ "mpi": {"key": "mpi", "type": "VersionedAttribute"},
+ "runtime": {"key": "runtime", "type": "VersionedAttribute"},
+ "cuda": {"key": "cuda", "type": "CudaAttribute"},
+ "purpose": {"key": "purpose", "type": "Purpose"},
+ "os": {"key": "os", "type": "VersionedAttribute"},
+ }
+
+ def __init__(
+ self,
+ *,
+ machine_learning_framework: "VersionedAttribute",
+ mpi: "VersionedAttribute",
+ runtime: "VersionedAttribute",
+ cuda: "CudaAttribute",
+ purpose: "Purpose",
+ os: "VersionedAttribute",
+ **kwargs
+ ):
+ """
+ :keyword machine_learning_framework: Required.
+ :paramtype machine_learning_framework: ~index_service_apis.models.VersionedAttribute
+ :keyword mpi: Required.
+ :paramtype mpi: ~index_service_apis.models.VersionedAttribute
+ :keyword runtime: Required.
+ :paramtype runtime: ~index_service_apis.models.VersionedAttribute
+ :keyword cuda: Required.
+ :paramtype cuda: ~index_service_apis.models.CudaAttribute
+ :keyword purpose: Required.
+ :paramtype purpose: ~index_service_apis.models.Purpose
+ :keyword os: Required.
+ :paramtype os: ~index_service_apis.models.VersionedAttribute
+ """
+ super(EnvironmentAttributes, self).__init__(**kwargs)
+ self.machine_learning_framework = machine_learning_framework
+ self.mpi = mpi
+ self.runtime = runtime
+ self.cuda = cuda
+ self.purpose = purpose
+ self.os = os
+
+
+class EnvironmentsVersionedEntitiesResponse(msrest.serialization.Model):
+ """EnvironmentsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.EnvironmentsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[EnvironmentsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["EnvironmentsVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.EnvironmentsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(EnvironmentsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class EnvironmentsVersionedEntity(msrest.serialization.Model):
+ """EnvironmentsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.EnvironmentsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.DefinitionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.DefinitionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "DefinitionAnnotations"},
+ "properties": {"key": "properties", "type": "DefinitionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "EnvironmentsVersionedEntityKind"],
+ annotations: "DefinitionAnnotations",
+ properties: "DefinitionProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.EnvironmentsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.DefinitionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.DefinitionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(EnvironmentsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class ErrorAdditionalInfo(msrest.serialization.Model):
+ """ErrorAdditionalInfo.
+
+ :ivar type:
+ :vartype type: str
+ :ivar info: Anything.
+ :vartype info: any
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "info": {"key": "info", "type": "object"},
+ }
+
+ def __init__(self, *, type: Optional[str] = None, info: Optional[Any] = None, **kwargs):
+ """
+ :keyword type:
+ :paramtype type: str
+ :keyword info: Anything.
+ :paramtype info: any
+ """
+ super(ErrorAdditionalInfo, self).__init__(**kwargs)
+ self.type = type
+ self.info = info
+
+
+class ErrorResponse(msrest.serialization.Model):
+ """ErrorResponse.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar error:
+ :vartype error: ~index_service_apis.models.RootError
+ :ivar correlation: Dictionary of :code:`<string>`.
+ :vartype correlation: dict[str, str]
+ :ivar environment:
+ :vartype environment: str
+ :ivar location:
+ :vartype location: str
+ :ivar time:
+ :vartype time: ~datetime.datetime
+ :ivar component_name:
+ :vartype component_name: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "error": {"key": "error", "type": "RootError"},
+ "correlation": {"key": "correlation", "type": "{str}"},
+ "environment": {"key": "environment", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "time": {"key": "time", "type": "iso-8601"},
+ "component_name": {"key": "componentName", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ error: Optional["RootError"] = None,
+ correlation: Optional[Dict[str, str]] = None,
+ environment: Optional[str] = None,
+ location: Optional[str] = None,
+ time: Optional[datetime.datetime] = None,
+ component_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword error:
+ :paramtype error: ~index_service_apis.models.RootError
+ :keyword correlation: Dictionary of :code:`<string>`.
+ :paramtype correlation: dict[str, str]
+ :keyword environment:
+ :paramtype environment: str
+ :keyword location:
+ :paramtype location: str
+ :keyword time:
+ :paramtype time: ~datetime.datetime
+ :keyword component_name:
+ :paramtype component_name: str
+ """
+ super(ErrorResponse, self).__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.error = error
+ self.correlation = correlation
+ self.environment = environment
+ self.location = location
+ self.time = time
+ self.component_name = component_name
+
+
+class ExperimentStatus(msrest.serialization.Model):
+ """ExperimentStatus.
+
+ :ivar status_code: Possible values include: "NotStarted", "Running", "Failed", "Finished",
+ "Canceled", "Failing".
+ :vartype status_code: str or ~index_service_apis.models.ExperimentStatusCode
+ :ivar status_detail:
+ :vartype status_detail: str
+ :ivar creation_time:
+ :vartype creation_time: ~datetime.datetime
+ :ivar end_time:
+ :vartype end_time: ~datetime.datetime
+ :ivar run_history_error_code:
+ :vartype run_history_error_code: str
+ """
+
+ _attribute_map = {
+ "status_code": {"key": "statusCode", "type": "str"},
+ "status_detail": {"key": "statusDetail", "type": "str"},
+ "creation_time": {"key": "creationTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "run_history_error_code": {"key": "runHistoryErrorCode", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ status_code: Optional[Union[str, "ExperimentStatusCode"]] = None,
+ status_detail: Optional[str] = None,
+ creation_time: Optional[datetime.datetime] = None,
+ end_time: Optional[datetime.datetime] = None,
+ run_history_error_code: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword status_code: Possible values include: "NotStarted", "Running", "Failed", "Finished",
+ "Canceled", "Failing".
+ :paramtype status_code: str or ~index_service_apis.models.ExperimentStatusCode
+ :keyword status_detail:
+ :paramtype status_detail: str
+ :keyword creation_time:
+ :paramtype creation_time: ~datetime.datetime
+ :keyword end_time:
+ :paramtype end_time: ~datetime.datetime
+ :keyword run_history_error_code:
+ :paramtype run_history_error_code: str
+ """
+ super(ExperimentStatus, self).__init__(**kwargs)
+ self.status_code = status_code
+ self.status_detail = status_detail
+ self.creation_time = creation_time
+ self.end_time = end_time
+ self.run_history_error_code = run_history_error_code
+
+
+class Feature(msrest.serialization.Model):
+ """Feature.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_name: Required.
+ :vartype feature_name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :vartype data_type: str or ~index_service_apis.models.FeatureDataType
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "feature_name": {"required": True},
+ "description": {"required": True},
+ "data_type": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_name": {"key": "featureName", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ feature_name: str,
+ description: str,
+ data_type: Union[str, "FeatureDataType"],
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword feature_name: Required.
+ :paramtype feature_name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :paramtype data_type: str or ~index_service_apis.models.FeatureDataType
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(Feature, self).__init__(**kwargs)
+ self.feature_name = feature_name
+ self.description = description
+ self.data_type = data_type
+ self.tags = tags
+
+
+class FeatureentitiesVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeatureentitiesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeatureentitiesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeatureentitiesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["FeatureentitiesVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeatureentitiesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeatureentitiesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class FeatureentitiesVersionedEntity(msrest.serialization.Model):
+ """FeatureentitiesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeatureentitiesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureEntityVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureEntityVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "FeatureentitiesVersionedEntityKind"],
+ annotations: "FeatureEntityVersionAnnotations",
+ properties: "FeatureEntityVersionProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeatureentitiesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeatureentitiesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class FeatureEntityVersionAnnotations(msrest.serialization.Model):
+ """FeatureEntityVersionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar actual_name: Required.
+ :vartype actual_name: str
+ :ivar index_columns: Required.
+ :vartype index_columns: list[~index_service_apis.models.IndexColumnDto]
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "actual_name": {"required": True},
+ "index_columns": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "actual_name": {"key": "actualName", "type": "str"},
+ "index_columns": {"key": "indexColumns", "type": "[IndexColumnDto]"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ actual_name: str,
+ index_columns: List["IndexColumnDto"],
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword actual_name: Required.
+ :paramtype actual_name: str
+ :keyword index_columns: Required.
+ :paramtype index_columns: list[~index_service_apis.models.IndexColumnDto]
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(FeatureEntityVersionAnnotations, self).__init__(**kwargs)
+ self.actual_name = actual_name
+ self.index_columns = index_columns
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class FeatureEntityVersionProperties(msrest.serialization.Model):
+ """FeatureEntityVersionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_entity_name: Required.
+ :vartype feature_entity_name: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "feature_entity_name": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_entity_name": {"key": "featureEntityName", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, feature_entity_name: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword feature_entity_name: Required.
+ :paramtype feature_entity_name: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(FeatureEntityVersionProperties, self).__init__(**kwargs)
+ self.feature_entity_name = feature_entity_name
+ self.creation_context = creation_context
+
+
+class FeaturesetSpecification(msrest.serialization.Model):
+ """FeaturesetSpecification.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required.
+ :vartype path: str
+ """
+
+ _validation = {
+ "path": {"required": True},
+ }
+
+ _attribute_map = {
+ "path": {"key": "path", "type": "str"},
+ }
+
+ def __init__(self, *, path: str, **kwargs):
+ """
+ :keyword path: Required.
+ :paramtype path: str
+ """
+ super(FeaturesetSpecification, self).__init__(**kwargs)
+ self.path = path
+
+
+class FeaturesetsVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeaturesetsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeaturesetsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeaturesetsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["FeaturesetsVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeaturesetsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeaturesetsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class FeaturesetsVersionedEntity(msrest.serialization.Model):
+ """FeaturesetsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeaturesetsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureSetVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureSetVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureSetVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureSetVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "FeaturesetsVersionedEntityKind"],
+ annotations: "FeatureSetVersionAnnotations",
+ properties: "FeatureSetVersionProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeaturesetsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureSetVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureSetVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeaturesetsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class FeatureSetVersionAnnotations(msrest.serialization.Model):
+ """FeatureSetVersionAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar actual_name: Required.
+ :vartype actual_name: str
+ :ivar specification: Required.
+ :vartype specification: ~index_service_apis.models.FeaturesetSpecification
+ :ivar entities: Required.
+ :vartype entities: list[str]
+ :ivar features: Required.
+ :vartype features: list[~index_service_apis.models.Feature]
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar materialization_settings: Required.
+ :vartype materialization_settings: ~index_service_apis.models.MaterializationSettings
+ :ivar source: Required.
+ :vartype source: ~index_service_apis.models.FeatureSourceDto
+ :ivar feature_transformation_code: Required.
+ :vartype feature_transformation_code: ~index_service_apis.models.FeatureTransformationDto
+ :ivar temporal_join_lookback: Required.
+ :vartype temporal_join_lookback: ~index_service_apis.models.TimeDeltaDto
+ :ivar source_lookback: Required.
+ :vartype source_lookback: ~index_service_apis.models.TimeDeltaDto
+ :ivar timestamp_column: Required.
+ :vartype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "actual_name": {"required": True},
+ "specification": {"required": True},
+ "entities": {"required": True},
+ "features": {"required": True},
+ "stage": {"required": True},
+ "materialization_settings": {"required": True},
+ "source": {"required": True},
+ "feature_transformation_code": {"required": True},
+ "temporal_join_lookback": {"required": True},
+ "source_lookback": {"required": True},
+ "timestamp_column": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "actual_name": {"key": "actualName", "type": "str"},
+ "specification": {"key": "specification", "type": "FeaturesetSpecification"},
+ "entities": {"key": "entities", "type": "[str]"},
+ "features": {"key": "features", "type": "[Feature]"},
+ "stage": {"key": "stage", "type": "str"},
+ "materialization_settings": {"key": "materializationSettings", "type": "MaterializationSettings"},
+ "source": {"key": "source", "type": "FeatureSourceDto"},
+ "feature_transformation_code": {"key": "featureTransformationCode", "type": "FeatureTransformationDto"},
+ "temporal_join_lookback": {"key": "temporalJoinLookback", "type": "TimeDeltaDto"},
+ "source_lookback": {"key": "sourceLookback", "type": "TimeDeltaDto"},
+ "timestamp_column": {"key": "timestampColumn", "type": "TimestampColumnDto"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ actual_name: str,
+ specification: "FeaturesetSpecification",
+ entities: List[str],
+ features: List["Feature"],
+ stage: str,
+ materialization_settings: "MaterializationSettings",
+ source: "FeatureSourceDto",
+ feature_transformation_code: "FeatureTransformationDto",
+ temporal_join_lookback: "TimeDeltaDto",
+ source_lookback: "TimeDeltaDto",
+ timestamp_column: "TimestampColumnDto",
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword actual_name: Required.
+ :paramtype actual_name: str
+ :keyword specification: Required.
+ :paramtype specification: ~index_service_apis.models.FeaturesetSpecification
+ :keyword entities: Required.
+ :paramtype entities: list[str]
+ :keyword features: Required.
+ :paramtype features: list[~index_service_apis.models.Feature]
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword materialization_settings: Required.
+ :paramtype materialization_settings: ~index_service_apis.models.MaterializationSettings
+ :keyword source: Required.
+ :paramtype source: ~index_service_apis.models.FeatureSourceDto
+ :keyword feature_transformation_code: Required.
+ :paramtype feature_transformation_code: ~index_service_apis.models.FeatureTransformationDto
+ :keyword temporal_join_lookback: Required.
+ :paramtype temporal_join_lookback: ~index_service_apis.models.TimeDeltaDto
+ :keyword source_lookback: Required.
+ :paramtype source_lookback: ~index_service_apis.models.TimeDeltaDto
+ :keyword timestamp_column: Required.
+ :paramtype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(FeatureSetVersionAnnotations, self).__init__(**kwargs)
+ self.actual_name = actual_name
+ self.specification = specification
+ self.entities = entities
+ self.features = features
+ self.stage = stage
+ self.materialization_settings = materialization_settings
+ self.source = source
+ self.feature_transformation_code = feature_transformation_code
+ self.temporal_join_lookback = temporal_join_lookback
+ self.source_lookback = source_lookback
+ self.timestamp_column = timestamp_column
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class FeatureSetVersionProperties(msrest.serialization.Model):
+ """FeatureSetVersionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar feature_set_name: Required.
+ :vartype feature_set_name: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "feature_set_name": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "feature_set_name": {"key": "featureSetName", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, feature_set_name: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword feature_set_name: Required.
+ :paramtype feature_set_name: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(FeatureSetVersionProperties, self).__init__(**kwargs)
+ self.feature_set_name = feature_set_name
+ self.creation_context = creation_context
+
+
+class FeatureSourceDto(msrest.serialization.Model):
+ """FeatureSourceDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar type: Required. Possible values include: "mltable", "csv", "parquet".
+ :vartype type: str or ~index_service_apis.models.FeatureSourceDtoType
+ :ivar path: Required.
+ :vartype path: str
+ :ivar timestamp_column: Required.
+ :vartype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :ivar source_delay: Required.
+ :vartype source_delay: ~index_service_apis.models.TimeDeltaDto
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "path": {"required": True},
+ "timestamp_column": {"required": True},
+ "source_delay": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "path": {"key": "path", "type": "str"},
+ "timestamp_column": {"key": "timestampColumn", "type": "TimestampColumnDto"},
+ "source_delay": {"key": "sourceDelay", "type": "TimeDeltaDto"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Union[str, "FeatureSourceDtoType"],
+ path: str,
+ timestamp_column: "TimestampColumnDto",
+ source_delay: "TimeDeltaDto",
+ **kwargs
+ ):
+ """
+ :keyword type: Required. Possible values include: "mltable", "csv", "parquet".
+ :paramtype type: str or ~index_service_apis.models.FeatureSourceDtoType
+ :keyword path: Required.
+ :paramtype path: str
+ :keyword timestamp_column: Required.
+ :paramtype timestamp_column: ~index_service_apis.models.TimestampColumnDto
+ :keyword source_delay: Required.
+ :paramtype source_delay: ~index_service_apis.models.TimeDeltaDto
+ """
+ super(FeatureSourceDto, self).__init__(**kwargs)
+ self.type = type
+ self.path = path
+ self.timestamp_column = timestamp_column
+ self.source_delay = source_delay
+
+
+class FeaturestoreentitiesVersionedEntitiesResponse(msrest.serialization.Model):
+ """FeaturestoreentitiesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.FeaturestoreentitiesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[FeaturestoreentitiesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["FeaturestoreentitiesVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.FeaturestoreentitiesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(FeaturestoreentitiesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class FeaturestoreentitiesVersionedEntity(msrest.serialization.Model):
+ """FeaturestoreentitiesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.FeaturestoreentitiesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "FeatureEntityVersionAnnotations"},
+ "properties": {"key": "properties", "type": "FeatureEntityVersionProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "FeaturestoreentitiesVersionedEntityKind"],
+ annotations: "FeatureEntityVersionAnnotations",
+ properties: "FeatureEntityVersionProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.FeaturestoreentitiesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.FeatureEntityVersionAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.FeatureEntityVersionProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(FeaturestoreentitiesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class FeatureTransformationDto(msrest.serialization.Model):
+ """FeatureTransformationDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required.
+ :vartype path: str
+ :ivar transformer_class: Required.
+ :vartype transformer_class: str
+ """
+
+ _validation = {
+ "path": {"required": True},
+ "transformer_class": {"required": True},
+ }
+
+ _attribute_map = {
+ "path": {"key": "path", "type": "str"},
+ "transformer_class": {"key": "transformerClass", "type": "str"},
+ }
+
+ def __init__(self, *, path: str, transformer_class: str, **kwargs):
+ """
+ :keyword path: Required.
+ :paramtype path: str
+ :keyword transformer_class: Required.
+ :paramtype transformer_class: str
+ """
+ super(FeatureTransformationDto, self).__init__(**kwargs)
+ self.path = path
+ self.transformer_class = transformer_class
+
+
+class FreeTextSearchColumn(msrest.serialization.Model):
+ """FreeTextSearchColumn.
+
+ :ivar name:
+ :vartype name: str
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, *, name: Optional[str] = None, **kwargs):
+ """
+ :keyword name:
+ :paramtype name: str
+ """
+ super(FreeTextSearchColumn, self).__init__(**kwargs)
+ self.name = name
+
+
+class GenericTriggerAnnotations(msrest.serialization.Model):
+ """GenericTriggerAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar provisioning_status: Required. Possible values include: "Completed", "Provisioning",
+ "Failed".
+ :vartype provisioning_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsProvisioningStatus
+ :ivar trigger_type: Required. Possible values include: "Schedule", "Once".
+ :vartype trigger_type: str or ~index_service_apis.models.GenericTriggerAnnotationsTriggerType
+ :ivar schedule_method: Required. Possible values include: "Cron", "Recurrence".
+ :vartype schedule_method: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleMethod
+ :ivar schedule_action_type: Required. Possible values include: "CreateJob", "InvokeEndpoint",
+ "ImportData", "ModelMonitor".
+ :vartype schedule_action_type: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleActionType
+ :ivar recurrence: Required.
+ :vartype recurrence: ~index_service_apis.models.RecurrenceTrigger
+ :ivar cron: Required.
+ :vartype cron: ~index_service_apis.models.CronTrigger
+ :ivar start_time: Required.
+ :vartype start_time: str
+ :ivar end_time: Required.
+ :vartype end_time: str
+ :ivar time_zone: Required.
+ :vartype time_zone: str
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.GenericTriggerAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar definition: Required.
+ :vartype definition: str
+ :ivar feature_definition: Required.
+ :vartype feature_definition: str
+ :ivar managed_type: Required. Possible values include: "Customer", "System".
+ :vartype managed_type: str or ~index_service_apis.models.GenericTriggerAnnotationsManagedType
+ :ivar scenario_name: Required.
+ :vartype scenario_name: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "display_name": {"required": True},
+ "kv_tags": {"required": True},
+ "properties": {"required": True},
+ "provisioning_status": {"required": True},
+ "trigger_type": {"required": True},
+ "schedule_method": {"required": True},
+ "schedule_action_type": {"required": True},
+ "recurrence": {"required": True},
+ "cron": {"required": True},
+ "start_time": {"required": True},
+ "end_time": {"required": True},
+ "time_zone": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "definition": {"required": True},
+ "feature_definition": {"required": True},
+ "managed_type": {"required": True},
+ "scenario_name": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "display_name": {"key": "displayName", "type": "str"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "provisioning_status": {"key": "provisioningStatus", "type": "str"},
+ "trigger_type": {"key": "triggerType", "type": "str"},
+ "schedule_method": {"key": "scheduleMethod", "type": "str"},
+ "schedule_action_type": {"key": "scheduleActionType", "type": "str"},
+ "recurrence": {"key": "recurrence", "type": "RecurrenceTrigger"},
+ "cron": {"key": "cron", "type": "CronTrigger"},
+ "start_time": {"key": "startTime", "type": "str"},
+ "end_time": {"key": "endTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "definition": {"key": "definition", "type": "str"},
+ "feature_definition": {"key": "featureDefinition", "type": "str"},
+ "managed_type": {"key": "managedType", "type": "str"},
+ "scenario_name": {"key": "scenarioName", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ display_name: str,
+ kv_tags: Dict[str, str],
+ properties: Dict[str, str],
+ provisioning_status: Union[str, "GenericTriggerAnnotationsProvisioningStatus"],
+ trigger_type: Union[str, "GenericTriggerAnnotationsTriggerType"],
+ schedule_method: Union[str, "GenericTriggerAnnotationsScheduleMethod"],
+ schedule_action_type: Union[str, "GenericTriggerAnnotationsScheduleActionType"],
+ recurrence: "RecurrenceTrigger",
+ cron: "CronTrigger",
+ start_time: str,
+ end_time: str,
+ time_zone: str,
+ entity_status: Union[str, "GenericTriggerAnnotationsEntityStatus"],
+ last_modified_date: datetime.datetime,
+ last_updated_by: "CreatedBy",
+ definition: str,
+ feature_definition: str,
+ managed_type: Union[str, "GenericTriggerAnnotationsManagedType"],
+ scenario_name: str,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword provisioning_status: Required. Possible values include: "Completed", "Provisioning",
+ "Failed".
+ :paramtype provisioning_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsProvisioningStatus
+ :keyword trigger_type: Required. Possible values include: "Schedule", "Once".
+ :paramtype trigger_type: str or ~index_service_apis.models.GenericTriggerAnnotationsTriggerType
+ :keyword schedule_method: Required. Possible values include: "Cron", "Recurrence".
+ :paramtype schedule_method: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleMethod
+ :keyword schedule_action_type: Required. Possible values include: "CreateJob",
+ "InvokeEndpoint", "ImportData", "ModelMonitor".
+ :paramtype schedule_action_type: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsScheduleActionType
+ :keyword recurrence: Required.
+ :paramtype recurrence: ~index_service_apis.models.RecurrenceTrigger
+ :keyword cron: Required.
+ :paramtype cron: ~index_service_apis.models.CronTrigger
+ :keyword start_time: Required.
+ :paramtype start_time: str
+ :keyword end_time: Required.
+ :paramtype end_time: str
+ :keyword time_zone: Required.
+ :paramtype time_zone: str
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.GenericTriggerAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword definition: Required.
+ :paramtype definition: str
+ :keyword feature_definition: Required.
+ :paramtype feature_definition: str
+ :keyword managed_type: Required. Possible values include: "Customer", "System".
+ :paramtype managed_type: str or ~index_service_apis.models.GenericTriggerAnnotationsManagedType
+ :keyword scenario_name: Required.
+ :paramtype scenario_name: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(GenericTriggerAnnotations, self).__init__(**kwargs)
+ self.display_name = display_name
+ self.kv_tags = kv_tags
+ self.properties = properties
+ self.provisioning_status = provisioning_status
+ self.trigger_type = trigger_type
+ self.schedule_method = schedule_method
+ self.schedule_action_type = schedule_action_type
+ self.recurrence = recurrence
+ self.cron = cron
+ self.start_time = start_time
+ self.end_time = end_time
+ self.time_zone = time_zone
+ self.entity_status = entity_status
+ self.last_modified_date = last_modified_date
+ self.last_updated_by = last_updated_by
+ self.definition = definition
+ self.feature_definition = feature_definition
+ self.managed_type = managed_type
+ self.scenario_name = scenario_name
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class GenericTriggerProperties(msrest.serialization.Model):
+ """GenericTriggerProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(GenericTriggerProperties, self).__init__(**kwargs)
+ self.id = id
+ self.creation_context = creation_context
+
+
+class GenerictriggersUnversionedEntitiesResponse(msrest.serialization.Model):
+ """GenerictriggersUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.GenerictriggersUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[GenerictriggersUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["GenerictriggersUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.GenerictriggersUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(GenerictriggersUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class GenerictriggersUnversionedEntity(msrest.serialization.Model):
+ """GenerictriggersUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.GenerictriggersUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.GenericTriggerAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.GenericTriggerProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "GenericTriggerAnnotations"},
+ "properties": {"key": "properties", "type": "GenericTriggerProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "GenerictriggersUnversionedEntityKind"],
+ annotations: "GenericTriggerAnnotations",
+ properties: "GenericTriggerProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.GenerictriggersUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.GenericTriggerAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.GenericTriggerProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(GenerictriggersUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class HighlightOptions(msrest.serialization.Model):
+ """HighlightOptions.
+
+ :ivar pre_tag:
+ :vartype pre_tag: str
+ :ivar post_tag:
+ :vartype post_tag: str
+ :ivar fields:
+ :vartype fields: list[str]
+ """
+
+ _attribute_map = {
+ "pre_tag": {"key": "preTag", "type": "str"},
+ "post_tag": {"key": "postTag", "type": "str"},
+ "fields": {"key": "fields", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ pre_tag: Optional[str] = None,
+ post_tag: Optional[str] = None,
+ fields: Optional[List[str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword pre_tag:
+ :paramtype pre_tag: str
+ :keyword post_tag:
+ :paramtype post_tag: str
+ :keyword fields:
+ :paramtype fields: list[str]
+ """
+ super(HighlightOptions, self).__init__(**kwargs)
+ self.pre_tag = pre_tag
+ self.post_tag = post_tag
+ self.fields = fields
+
+
+class IndependentPipelineAnnotations(msrest.serialization.Model):
+ """IndependentPipelineAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar url: Required.
+ :vartype url: str
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar last_run_id: Required.
+ :vartype last_run_id: str
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :vartype last_run_status_code: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsLastRunStatusCode
+ :ivar last_run_creation_time: Required.
+ :vartype last_run_creation_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "url": {"required": True},
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "last_run_id": {"required": True},
+ "pipeline_type": {"required": True},
+ "last_run_status_code": {"required": True},
+ "last_run_creation_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "url": {"key": "url", "type": "str"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "last_run_id": {"key": "lastRunId", "type": "str"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "last_run_status_code": {"key": "lastRunStatusCode", "type": "str"},
+ "last_run_creation_time": {"key": "lastRunCreationTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ url: str,
+ kv_tags: Dict[str, str],
+ step_tags: Dict[str, str],
+ properties: Dict[str, str],
+ step_properties: Dict[str, str],
+ entity_status: Union[str, "IndependentPipelineAnnotationsEntityStatus"],
+ last_modified_date: datetime.datetime,
+ last_updated_by: "CreatedBy",
+ last_run_id: str,
+ pipeline_type: str,
+ last_run_status_code: Union[str, "IndependentPipelineAnnotationsLastRunStatusCode"],
+ last_run_creation_time: datetime.datetime,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword last_run_id: Required.
+ :paramtype last_run_id: str
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :paramtype last_run_status_code: str or
+ ~index_service_apis.models.IndependentPipelineAnnotationsLastRunStatusCode
+ :keyword last_run_creation_time: Required.
+ :paramtype last_run_creation_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(IndependentPipelineAnnotations, self).__init__(**kwargs)
+ self.url = url
+ self.kv_tags = kv_tags
+ self.step_tags = step_tags
+ self.properties = properties
+ self.step_properties = step_properties
+ self.entity_status = entity_status
+ self.last_modified_date = last_modified_date
+ self.last_updated_by = last_updated_by
+ self.last_run_id = last_run_id
+ self.pipeline_type = pipeline_type
+ self.last_run_status_code = last_run_status_code
+ self.last_run_creation_time = last_run_creation_time
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class IndependentPipelineProperties(msrest.serialization.Model):
+ """IndependentPipelineProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(IndependentPipelineProperties, self).__init__(**kwargs)
+ self.id = id
+ self.creation_context = creation_context
+
+
+class IndependentpipelinesUnversionedEntitiesResponse(msrest.serialization.Model):
+ """IndependentpipelinesUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndependentpipelinesUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[IndependentpipelinesUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["IndependentpipelinesUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndependentpipelinesUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(IndependentpipelinesUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class IndependentpipelinesUnversionedEntity(msrest.serialization.Model):
+ """IndependentpipelinesUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.IndependentpipelinesUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.IndependentPipelineAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.IndependentPipelineProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "IndependentPipelineAnnotations"},
+ "properties": {"key": "properties", "type": "IndependentPipelineProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "IndependentpipelinesUnversionedEntityKind"],
+ annotations: "IndependentPipelineAnnotations",
+ properties: "IndependentPipelineProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.IndependentpipelinesUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.IndependentPipelineAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.IndependentPipelineProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(IndependentpipelinesUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class IndexAnnotations(msrest.serialization.Model):
+ """IndexAnnotations.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar archived:
+ :vartype archived: bool
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ archived: Optional[bool] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword archived:
+ :paramtype archived: bool
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(IndexAnnotations, self).__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.archived = archived
+ self.tags = tags
+
+
+class IndexColumn(msrest.serialization.Model):
+ """IndexColumn.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :vartype data_type: str or ~index_service_apis.models.IndexColumnDataType
+ :ivar column_name: Required.
+ :vartype column_name: str
+ """
+
+ _validation = {
+ "data_type": {"required": True},
+ "column_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_type": {"key": "dataType", "type": "str"},
+ "column_name": {"key": "columnName", "type": "str"},
+ }
+
+ def __init__(self, *, data_type: Union[str, "IndexColumnDataType"], column_name: str, **kwargs):
+ """
+ :keyword data_type: Required. Possible values include: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", "Boolean".
+ :paramtype data_type: str or ~index_service_apis.models.IndexColumnDataType
+ :keyword column_name: Required.
+ :paramtype column_name: str
+ """
+ super(IndexColumn, self).__init__(**kwargs)
+ self.data_type = data_type
+ self.column_name = column_name
+
+
+class IndexColumnDto(msrest.serialization.Model):
+ """IndexColumnDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar type: Required. Possible values include: "string", "integer", "long", "float", "double",
+ "binary", "datetime", "boolean".
+ :vartype type: str or ~index_service_apis.models.IndexColumnDtoType
+ :ivar name: Required.
+ :vartype name: str
+ """
+
+ _validation = {
+ "type": {"required": True},
+ "name": {"required": True},
+ }
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ }
+
+ def __init__(self, *, type: Union[str, "IndexColumnDtoType"], name: str, **kwargs):
+ """
+ :keyword type: Required. Possible values include: "string", "integer", "long", "float",
+ "double", "binary", "datetime", "boolean".
+ :paramtype type: str or ~index_service_apis.models.IndexColumnDtoType
+ :keyword name: Required.
+ :paramtype name: str
+ """
+ super(IndexColumnDto, self).__init__(**kwargs)
+ self.type = type
+ self.name = name
+
+
+class IndexedErrorResponse(msrest.serialization.Model):
+ """IndexedErrorResponse.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code: Required.
+ :vartype code: str
+ :ivar error_code_hierarchy: Required.
+ :vartype error_code_hierarchy: str
+ :ivar message: Required.
+ :vartype message: str
+ :ivar time: Required.
+ :vartype time: ~datetime.datetime
+ :ivar component_name: Required.
+ :vartype component_name: str
+ :ivar severity: Required.
+ :vartype severity: int
+ :ivar details_uri: Required.
+ :vartype details_uri: str
+ :ivar reference_code: Required.
+ :vartype reference_code: str
+ """
+
+ _validation = {
+ "code": {"required": True},
+ "error_code_hierarchy": {"required": True},
+ "message": {"required": True},
+ "time": {"required": True},
+ "component_name": {"required": True},
+ "severity": {"required": True},
+ "details_uri": {"required": True},
+ "reference_code": {"required": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "error_code_hierarchy": {"key": "errorCodeHierarchy", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ "time": {"key": "time", "type": "iso-8601"},
+ "component_name": {"key": "componentName", "type": "str"},
+ "severity": {"key": "severity", "type": "int"},
+ "details_uri": {"key": "detailsUri", "type": "str"},
+ "reference_code": {"key": "referenceCode", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ code: str,
+ error_code_hierarchy: str,
+ message: str,
+ time: datetime.datetime,
+ component_name: str,
+ severity: int,
+ details_uri: str,
+ reference_code: str,
+ **kwargs
+ ):
+ """
+ :keyword code: Required.
+ :paramtype code: str
+ :keyword error_code_hierarchy: Required.
+ :paramtype error_code_hierarchy: str
+ :keyword message: Required.
+ :paramtype message: str
+ :keyword time: Required.
+ :paramtype time: ~datetime.datetime
+ :keyword component_name: Required.
+ :paramtype component_name: str
+ :keyword severity: Required.
+ :paramtype severity: int
+ :keyword details_uri: Required.
+ :paramtype details_uri: str
+ :keyword reference_code: Required.
+ :paramtype reference_code: str
+ """
+ super(IndexedErrorResponse, self).__init__(**kwargs)
+ self.code = code
+ self.error_code_hierarchy = error_code_hierarchy
+ self.message = message
+ self.time = time
+ self.component_name = component_name
+ self.severity = severity
+ self.details_uri = details_uri
+ self.reference_code = reference_code
+
+
+class IndexEntitiesLocalOperationRequest(msrest.serialization.Model):
+ """IndexEntitiesLocalOperationRequest.
+
+ :ivar get_all_entities:
+ :vartype get_all_entities: bool
+ :ivar group:
+ :vartype group: list[~index_service_apis.models.IndexEntitiesRequestGroup]
+ :ivar highlight_options:
+ :vartype highlight_options: ~index_service_apis.models.HighlightOptions
+ :ivar search_builder:
+ :vartype search_builder: str
+ :ivar search_mode:
+ :vartype search_mode: str
+ :ivar free_text_search:
+ :vartype free_text_search: str
+ :ivar free_text_search_columns:
+ :vartype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar asset_resource_filters:
+ :vartype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar order:
+ :vartype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar skip:
+ :vartype skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar include_total_result_count:
+ :vartype include_total_result_count: bool
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.ResourceInformation]
+ :ivar cmk_fanout:
+ :vartype cmk_fanout: bool
+ :ivar include_fanout_data:
+ :vartype include_fanout_data: bool
+ :ivar shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+
+ _attribute_map = {
+ "get_all_entities": {"key": "getAllEntities", "type": "bool"},
+ "group": {"key": "group", "type": "[IndexEntitiesRequestGroup]"},
+ "highlight_options": {"key": "highlightOptions", "type": "HighlightOptions"},
+ "search_builder": {"key": "searchBuilder", "type": "str"},
+ "search_mode": {"key": "searchMode", "type": "str"},
+ "free_text_search": {"key": "freeTextSearch", "type": "str"},
+ "free_text_search_columns": {"key": "freeTextSearchColumns", "type": "[FreeTextSearchColumn]"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "asset_resource_filters": {"key": "assetResourceFilters", "type": "[IndexEntitiesRequestFilter]"},
+ "order": {"key": "order", "type": "[IndexEntitiesRequestOrder]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "skip": {"key": "skip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "include_total_result_count": {"key": "includeTotalResultCount", "type": "bool"},
+ "resources": {"key": "resources", "type": "[ResourceInformation]"},
+ "cmk_fanout": {"key": "cmkFanout", "type": "bool"},
+ "include_fanout_data": {"key": "includeFanoutData", "type": "bool"},
+ "shard_id_to_shard_skips": {"key": "shardIdToShardSkips", "type": "{SingleShardFanoutData}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ get_all_entities: Optional[bool] = None,
+ group: Optional[List["IndexEntitiesRequestGroup"]] = None,
+ highlight_options: Optional["HighlightOptions"] = None,
+ search_builder: Optional[str] = None,
+ search_mode: Optional[str] = None,
+ free_text_search: Optional[str] = None,
+ free_text_search_columns: Optional[List["FreeTextSearchColumn"]] = None,
+ filters: Optional[List["IndexEntitiesRequestFilter"]] = None,
+ asset_resource_filters: Optional[List["IndexEntitiesRequestFilter"]] = None,
+ order: Optional[List["IndexEntitiesRequestOrder"]] = None,
+ page_size: Optional[int] = None,
+ skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ include_total_result_count: Optional[bool] = None,
+ resources: Optional[List["ResourceInformation"]] = None,
+ cmk_fanout: Optional[bool] = None,
+ include_fanout_data: Optional[bool] = None,
+ shard_id_to_shard_skips: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword get_all_entities:
+ :paramtype get_all_entities: bool
+ :keyword group:
+ :paramtype group: list[~index_service_apis.models.IndexEntitiesRequestGroup]
+ :keyword highlight_options:
+ :paramtype highlight_options: ~index_service_apis.models.HighlightOptions
+ :keyword search_builder:
+ :paramtype search_builder: str
+ :keyword search_mode:
+ :paramtype search_mode: str
+ :keyword free_text_search:
+ :paramtype free_text_search: str
+ :keyword free_text_search_columns:
+ :paramtype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword asset_resource_filters:
+ :paramtype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword order:
+ :paramtype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword skip:
+ :paramtype skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword include_total_result_count:
+ :paramtype include_total_result_count: bool
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.ResourceInformation]
+ :keyword cmk_fanout:
+ :paramtype cmk_fanout: bool
+ :keyword include_fanout_data:
+ :paramtype include_fanout_data: bool
+ :keyword shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+ super(IndexEntitiesLocalOperationRequest, self).__init__(**kwargs)
+ self.get_all_entities = get_all_entities
+ self.group = group
+ self.highlight_options = highlight_options
+ self.search_builder = search_builder
+ self.search_mode = search_mode
+ self.free_text_search = free_text_search
+ self.free_text_search_columns = free_text_search_columns
+ self.filters = filters
+ self.asset_resource_filters = asset_resource_filters
+ self.order = order
+ self.page_size = page_size
+ self.skip = skip
+ self.continuation_token = continuation_token
+ self.include_total_result_count = include_total_result_count
+ self.resources = resources
+ self.cmk_fanout = cmk_fanout
+ self.include_fanout_data = include_fanout_data
+ self.shard_id_to_shard_skips = shard_id_to_shard_skips
+
+
+class IndexEntitiesRequest(msrest.serialization.Model):
+ """IndexEntitiesRequest.
+
+ :ivar highlight_options:
+ :vartype highlight_options: ~index_service_apis.models.HighlightOptions
+ :ivar search_builder:
+ :vartype search_builder: str
+ :ivar search_mode:
+ :vartype search_mode: str
+ :ivar free_text_search:
+ :vartype free_text_search: str
+ :ivar free_text_search_columns:
+ :vartype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar asset_resource_filters:
+ :vartype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar order:
+ :vartype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar skip:
+ :vartype skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar include_total_result_count:
+ :vartype include_total_result_count: bool
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.ResourceInformation]
+ :ivar cmk_fanout:
+ :vartype cmk_fanout: bool
+ :ivar include_fanout_data:
+ :vartype include_fanout_data: bool
+ :ivar shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+
+ _attribute_map = {
+ "highlight_options": {"key": "highlightOptions", "type": "HighlightOptions"},
+ "search_builder": {"key": "searchBuilder", "type": "str"},
+ "search_mode": {"key": "searchMode", "type": "str"},
+ "free_text_search": {"key": "freeTextSearch", "type": "str"},
+ "free_text_search_columns": {"key": "freeTextSearchColumns", "type": "[FreeTextSearchColumn]"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "asset_resource_filters": {"key": "assetResourceFilters", "type": "[IndexEntitiesRequestFilter]"},
+ "order": {"key": "order", "type": "[IndexEntitiesRequestOrder]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "skip": {"key": "skip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "include_total_result_count": {"key": "includeTotalResultCount", "type": "bool"},
+ "resources": {"key": "resources", "type": "[ResourceInformation]"},
+ "cmk_fanout": {"key": "cmkFanout", "type": "bool"},
+ "include_fanout_data": {"key": "includeFanoutData", "type": "bool"},
+ "shard_id_to_shard_skips": {"key": "shardIdToShardSkips", "type": "{SingleShardFanoutData}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ highlight_options: Optional["HighlightOptions"] = None,
+ search_builder: Optional[str] = None,
+ search_mode: Optional[str] = None,
+ free_text_search: Optional[str] = None,
+ free_text_search_columns: Optional[List["FreeTextSearchColumn"]] = None,
+ filters: Optional[List["IndexEntitiesRequestFilter"]] = None,
+ asset_resource_filters: Optional[List["IndexEntitiesRequestFilter"]] = None,
+ order: Optional[List["IndexEntitiesRequestOrder"]] = None,
+ page_size: Optional[int] = None,
+ skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ include_total_result_count: Optional[bool] = None,
+ resources: Optional[List["ResourceInformation"]] = None,
+ cmk_fanout: Optional[bool] = None,
+ include_fanout_data: Optional[bool] = None,
+ shard_id_to_shard_skips: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword highlight_options:
+ :paramtype highlight_options: ~index_service_apis.models.HighlightOptions
+ :keyword search_builder:
+ :paramtype search_builder: str
+ :keyword search_mode:
+ :paramtype search_mode: str
+ :keyword free_text_search:
+ :paramtype free_text_search: str
+ :keyword free_text_search_columns:
+ :paramtype free_text_search_columns: list[~index_service_apis.models.FreeTextSearchColumn]
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword asset_resource_filters:
+ :paramtype asset_resource_filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword order:
+ :paramtype order: list[~index_service_apis.models.IndexEntitiesRequestOrder]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword skip:
+ :paramtype skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword include_total_result_count:
+ :paramtype include_total_result_count: bool
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.ResourceInformation]
+ :keyword cmk_fanout:
+ :paramtype cmk_fanout: bool
+ :keyword include_fanout_data:
+ :paramtype include_fanout_data: bool
+ :keyword shard_id_to_shard_skips: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype shard_id_to_shard_skips: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ """
+ super(IndexEntitiesRequest, self).__init__(**kwargs)
+ self.highlight_options = highlight_options
+ self.search_builder = search_builder
+ self.search_mode = search_mode
+ self.free_text_search = free_text_search
+ self.free_text_search_columns = free_text_search_columns
+ self.filters = filters
+ self.asset_resource_filters = asset_resource_filters
+ self.order = order
+ self.page_size = page_size
+ self.skip = skip
+ self.continuation_token = continuation_token
+ self.include_total_result_count = include_total_result_count
+ self.resources = resources
+ self.cmk_fanout = cmk_fanout
+ self.include_fanout_data = include_fanout_data
+ self.shard_id_to_shard_skips = shard_id_to_shard_skips
+
+
+class IndexEntitiesRequestFilter(msrest.serialization.Model):
+ """IndexEntitiesRequestFilter.
+
+ :ivar field:
+ :vartype field: str
+ :ivar operator:
+ :vartype operator: str
+ :ivar values:
+ :vartype values: list[str]
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ "operator": {"key": "operator", "type": "str"},
+ "values": {"key": "values", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ field: Optional[str] = None,
+ operator: Optional[str] = None,
+ values: Optional[List[str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword field:
+ :paramtype field: str
+ :keyword operator:
+ :paramtype operator: str
+ :keyword values:
+ :paramtype values: list[str]
+ """
+ super(IndexEntitiesRequestFilter, self).__init__(**kwargs)
+ self.field = field
+ self.operator = operator
+ self.values = values
+
+
+class IndexEntitiesRequestGroup(msrest.serialization.Model):
+ """IndexEntitiesRequestGroup.
+
+ :ivar field:
+ :vartype field: str
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ }
+
+ def __init__(self, *, field: Optional[str] = None, **kwargs):
+ """
+ :keyword field:
+ :paramtype field: str
+ """
+ super(IndexEntitiesRequestGroup, self).__init__(**kwargs)
+ self.field = field
+
+
+class IndexEntitiesRequestOrder(msrest.serialization.Model):
+ """IndexEntitiesRequestOrder.
+
+ :ivar field:
+ :vartype field: str
+ :ivar direction: Possible values include: "Asc", "Desc".
+ :vartype direction: str or ~index_service_apis.models.IndexEntitiesRequestOrderDirection
+ """
+
+ _attribute_map = {
+ "field": {"key": "field", "type": "str"},
+ "direction": {"key": "direction", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ field: Optional[str] = None,
+ direction: Optional[Union[str, "IndexEntitiesRequestOrderDirection"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword field:
+ :paramtype field: str
+ :keyword direction: Possible values include: "Asc", "Desc".
+ :paramtype direction: str or ~index_service_apis.models.IndexEntitiesRequestOrderDirection
+ """
+ super(IndexEntitiesRequestOrder, self).__init__(**kwargs)
+ self.field = field
+ self.direction = direction
+
+
+class IndexEntitiesResponse(msrest.serialization.Model):
+ """IndexEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndexEntityResponse]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[IndexEntityResponse]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["IndexEntityResponse"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndexEntityResponse]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(IndexEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class IndexEntityContainerMetadata(msrest.serialization.Model):
+ """IndexEntityContainerMetadata.
+
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group:
+ :vartype resource_group: str
+ :ivar resource_name:
+ :vartype resource_name: str
+ :ivar entity_container_type:
+ :vartype entity_container_type: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ :ivar immutable_resource_id:
+ :vartype immutable_resource_id: str
+ :ivar is_public_resource:
+ :vartype is_public_resource: bool
+ """
+
+ _attribute_map = {
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "resource_name": {"key": "resourceName", "type": "str"},
+ "entity_container_type": {"key": "entityContainerType", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "immutable_resource_id": {"key": "immutableResourceId", "type": "str"},
+ "is_public_resource": {"key": "isPublicResource", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ resource_id: Optional[str] = None,
+ subscription_id: Optional[str] = None,
+ resource_group: Optional[str] = None,
+ resource_name: Optional[str] = None,
+ entity_container_type: Optional[str] = None,
+ regions: Optional[List["ResourceRegion"]] = None,
+ tenant_id: Optional[str] = None,
+ immutable_resource_id: Optional[str] = None,
+ is_public_resource: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group:
+ :paramtype resource_group: str
+ :keyword resource_name:
+ :paramtype resource_name: str
+ :keyword entity_container_type:
+ :paramtype entity_container_type: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ :keyword immutable_resource_id:
+ :paramtype immutable_resource_id: str
+ :keyword is_public_resource:
+ :paramtype is_public_resource: bool
+ """
+ super(IndexEntityContainerMetadata, self).__init__(**kwargs)
+ self.resource_id = resource_id
+ self.subscription_id = subscription_id
+ self.resource_group = resource_group
+ self.resource_name = resource_name
+ self.entity_container_type = entity_container_type
+ self.regions = regions
+ self.tenant_id = tenant_id
+ self.immutable_resource_id = immutable_resource_id
+ self.is_public_resource = is_public_resource
+
+
+class IndexEntityResponse(msrest.serialization.Model):
+ """IndexEntityResponse.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar relevancy_score:
+ :vartype relevancy_score: float
+ :ivar entity_resource_name:
+ :vartype entity_resource_name: str
+ :ivar highlights: Dictionary of
+ <components·jiilq·schemas·indexentityresponse·properties·highlights·additionalproperties>.
+ :vartype highlights: dict[str, list[str]]
+ :ivar usage:
+ :vartype usage: ~index_service_apis.models.Usage
+ :ivar schema_id:
+ :vartype schema_id: str
+ :ivar entity_id:
+ :vartype entity_id: str
+ :ivar kind: Possible values include: "Invalid", "LineageRoot", "Versioned", "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.EntityKind
+ :ivar annotations:
+ :vartype annotations: ~index_service_apis.models.IndexAnnotations
+ :ivar properties:
+ :vartype properties: ~index_service_apis.models.IndexProperties
+ :ivar internal: Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence:
+ :vartype update_sequence: long
+ :ivar type:
+ :vartype type: str
+ :ivar version:
+ :vartype version: str
+ :ivar entity_container_id:
+ :vartype entity_container_id: str
+ :ivar entity_object_id:
+ :vartype entity_object_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar relationships:
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "version": {"readonly": True},
+ "entity_container_id": {"readonly": True},
+ "entity_object_id": {"readonly": True},
+ "resource_type": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "relevancy_score": {"key": "relevancyScore", "type": "float"},
+ "entity_resource_name": {"key": "entityResourceName", "type": "str"},
+ "highlights": {"key": "highlights", "type": "{[str]}"},
+ "usage": {"key": "usage", "type": "Usage"},
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "IndexAnnotations"},
+ "properties": {"key": "properties", "type": "IndexProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "long"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ relevancy_score: Optional[float] = None,
+ entity_resource_name: Optional[str] = None,
+ highlights: Optional[Dict[str, List[str]]] = None,
+ usage: Optional["Usage"] = None,
+ schema_id: Optional[str] = None,
+ entity_id: Optional[str] = None,
+ kind: Optional[Union[str, "EntityKind"]] = None,
+ annotations: Optional["IndexAnnotations"] = None,
+ properties: Optional["IndexProperties"] = None,
+ internal: Optional[Dict[str, Any]] = None,
+ update_sequence: Optional[int] = None,
+ type: Optional[str] = None,
+ relationships: Optional[List["Relationship"]] = None,
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword relevancy_score:
+ :paramtype relevancy_score: float
+ :keyword entity_resource_name:
+ :paramtype entity_resource_name: str
+ :keyword highlights: Dictionary of
+ <components·jiilq·schemas·indexentityresponse·properties·highlights·additionalproperties>.
+ :paramtype highlights: dict[str, list[str]]
+ :keyword usage:
+ :paramtype usage: ~index_service_apis.models.Usage
+ :keyword schema_id:
+ :paramtype schema_id: str
+ :keyword entity_id:
+ :paramtype entity_id: str
+ :keyword kind: Possible values include: "Invalid", "LineageRoot", "Versioned", "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.EntityKind
+ :keyword annotations:
+ :paramtype annotations: ~index_service_apis.models.IndexAnnotations
+ :keyword properties:
+ :paramtype properties: ~index_service_apis.models.IndexProperties
+ :keyword internal: Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence:
+ :paramtype update_sequence: long
+ :keyword type:
+ :paramtype type: str
+ :keyword relationships:
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(IndexEntityResponse, self).__init__(**kwargs)
+ self.relevancy_score = relevancy_score
+ self.entity_resource_name = entity_resource_name
+ self.highlights = highlights
+ self.usage = usage
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = None
+ self.entity_container_id = None
+ self.entity_object_id = None
+ self.resource_type = None
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class IndexProperties(msrest.serialization.Model):
+ """IndexProperties.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar updated_time:
+ :vartype updated_time: ~datetime.datetime
+ :ivar creation_context:
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "updated_time": {"key": "updatedTime", "type": "iso-8601"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ updated_time: Optional[datetime.datetime] = None,
+ creation_context: Optional["CreationContext"] = None,
+ **kwargs
+ ):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword updated_time:
+ :paramtype updated_time: ~datetime.datetime
+ :keyword creation_context:
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(IndexProperties, self).__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.updated_time = updated_time
+ self.creation_context = creation_context
+
+
+class IndexResourceDiscoveryResponseItem(msrest.serialization.Model):
+ """IndexResourceDiscoveryResponseItem.
+
+ :ivar name:
+ :vartype name: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar region:
+ :vartype region: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group_name:
+ :vartype resource_group_name: str
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar is_customer_managed:
+ :vartype is_customer_managed: bool
+ :ivar is_private_link_resource:
+ :vartype is_private_link_resource: bool
+ :ivar is_private_link_resource_behind_vnet:
+ :vartype is_private_link_resource_behind_vnet: bool
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group_name": {"key": "resourceGroupName", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "is_customer_managed": {"key": "isCustomerManaged", "type": "bool"},
+ "is_private_link_resource": {"key": "isPrivateLinkResource", "type": "bool"},
+ "is_private_link_resource_behind_vnet": {"key": "isPrivateLinkResourceBehindVnet", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ resource_type: Optional[str] = None,
+ region: Optional[str] = None,
+ regions: Optional[List["ResourceRegion"]] = None,
+ subscription_id: Optional[str] = None,
+ resource_group_name: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_customer_managed: Optional[bool] = None,
+ is_private_link_resource: Optional[bool] = None,
+ is_private_link_resource_behind_vnet: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword name:
+ :paramtype name: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_type:
+ :paramtype resource_type: str
+ :keyword region:
+ :paramtype region: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group_name:
+ :paramtype resource_group_name: str
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword is_customer_managed:
+ :paramtype is_customer_managed: bool
+ :keyword is_private_link_resource:
+ :paramtype is_private_link_resource: bool
+ :keyword is_private_link_resource_behind_vnet:
+ :paramtype is_private_link_resource_behind_vnet: bool
+ """
+ super(IndexResourceDiscoveryResponseItem, self).__init__(**kwargs)
+ self.name = name
+ self.resource_id = resource_id
+ self.resource_type = resource_type
+ self.region = region
+ self.regions = regions
+ self.subscription_id = subscription_id
+ self.resource_group_name = resource_group_name
+ self.tags = tags
+ self.is_customer_managed = is_customer_managed
+ self.is_private_link_resource = is_private_link_resource
+ self.is_private_link_resource_behind_vnet = is_private_link_resource_behind_vnet
+
+
+class IndexResourceDiscoveryResponseItemPaginatedResult(msrest.serialization.Model):
+ """IndexResourceDiscoveryResponseItemPaginatedResult.
+
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.IndexResourceDiscoveryResponseItem]
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[IndexResourceDiscoveryResponseItem]"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["IndexResourceDiscoveryResponseItem"]] = None,
+ continuation_token: Optional[str] = None,
+ next_link: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.IndexResourceDiscoveryResponseItem]
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super(IndexResourceDiscoveryResponseItemPaginatedResult, self).__init__(**kwargs)
+ self.value = value
+ self.continuation_token = continuation_token
+ self.next_link = next_link
+
+
+class InnerErrorResponse(msrest.serialization.Model):
+ """InnerErrorResponse.
+
+ :ivar code:
+ :vartype code: str
+ :ivar inner_error:
+ :vartype inner_error: ~index_service_apis.models.InnerErrorResponse
+ """
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "inner_error": {"key": "innerError", "type": "InnerErrorResponse"},
+ }
+
+ def __init__(self, *, code: Optional[str] = None, inner_error: Optional["InnerErrorResponse"] = None, **kwargs):
+ """
+ :keyword code:
+ :paramtype code: str
+ :keyword inner_error:
+ :paramtype inner_error: ~index_service_apis.models.InnerErrorResponse
+ """
+ super(InnerErrorResponse, self).__init__(**kwargs)
+ self.code = code
+ self.inner_error = inner_error
+
+
+class InputNameAndDataTypeIdsList(msrest.serialization.Model):
+ """InputNameAndDataTypeIdsList.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar data_type_ids_list: Required.
+ :vartype data_type_ids_list: list[str]
+ :ivar is_optional: Required.
+ :vartype is_optional: bool
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "data_type_ids_list": {"required": True},
+ "is_optional": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "data_type_ids_list": {"key": "dataTypeIdsList", "type": "[str]"},
+ "is_optional": {"key": "isOptional", "type": "bool"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ }
+
+ def __init__(
+ self, *, name: str, data_type_ids_list: List[str], is_optional: bool, description: str, label: str, **kwargs
+ ):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword data_type_ids_list: Required.
+ :paramtype data_type_ids_list: list[str]
+ :keyword is_optional: Required.
+ :paramtype is_optional: bool
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ """
+ super(InputNameAndDataTypeIdsList, self).__init__(**kwargs)
+ self.name = name
+ self.data_type_ids_list = data_type_ids_list
+ self.is_optional = is_optional
+ self.description = description
+ self.label = label
+
+
+class InternalUxPresenceWarmUpRequest(msrest.serialization.Model):
+ """InternalUxPresenceWarmUpRequest.
+
+ :ivar resources:
+ :vartype resources: list[~index_service_apis.models.UxPresenceResource]
+ :ivar source_ip:
+ :vartype source_ip: str
+ :ivar user_tenant_id:
+ :vartype user_tenant_id: str
+ :ivar user_object_id:
+ :vartype user_object_id: str
+ """
+
+ _attribute_map = {
+ "resources": {"key": "resources", "type": "[UxPresenceResource]"},
+ "source_ip": {"key": "sourceIp", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ resources: Optional[List["UxPresenceResource"]] = None,
+ source_ip: Optional[str] = None,
+ user_tenant_id: Optional[str] = None,
+ user_object_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword resources:
+ :paramtype resources: list[~index_service_apis.models.UxPresenceResource]
+ :keyword source_ip:
+ :paramtype source_ip: str
+ :keyword user_tenant_id:
+ :paramtype user_tenant_id: str
+ :keyword user_object_id:
+ :paramtype user_object_id: str
+ """
+ super(InternalUxPresenceWarmUpRequest, self).__init__(**kwargs)
+ self.resources = resources
+ self.source_ip = source_ip
+ self.user_tenant_id = user_tenant_id
+ self.user_object_id = user_object_id
+
+
+class JobCost(msrest.serialization.Model):
+ """JobCost.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar charged_cpu_core_seconds: Required.
+ :vartype charged_cpu_core_seconds: float
+ :ivar charged_cpu_memory_megabyte_seconds: Required.
+ :vartype charged_cpu_memory_megabyte_seconds: float
+ :ivar charged_gpu_seconds: Required.
+ :vartype charged_gpu_seconds: float
+ :ivar charged_node_utilization_seconds: Required.
+ :vartype charged_node_utilization_seconds: float
+ """
+
+ _validation = {
+ "charged_cpu_core_seconds": {"required": True},
+ "charged_cpu_memory_megabyte_seconds": {"required": True},
+ "charged_gpu_seconds": {"required": True},
+ "charged_node_utilization_seconds": {"required": True},
+ }
+
+ _attribute_map = {
+ "charged_cpu_core_seconds": {"key": "chargedCpuCoreSeconds", "type": "float"},
+ "charged_cpu_memory_megabyte_seconds": {"key": "chargedCpuMemoryMegabyteSeconds", "type": "float"},
+ "charged_gpu_seconds": {"key": "chargedGpuSeconds", "type": "float"},
+ "charged_node_utilization_seconds": {"key": "chargedNodeUtilizationSeconds", "type": "float"},
+ }
+
+ def __init__(
+ self,
+ *,
+ charged_cpu_core_seconds: float,
+ charged_cpu_memory_megabyte_seconds: float,
+ charged_gpu_seconds: float,
+ charged_node_utilization_seconds: float,
+ **kwargs
+ ):
+ """
+ :keyword charged_cpu_core_seconds: Required.
+ :paramtype charged_cpu_core_seconds: float
+ :keyword charged_cpu_memory_megabyte_seconds: Required.
+ :paramtype charged_cpu_memory_megabyte_seconds: float
+ :keyword charged_gpu_seconds: Required.
+ :paramtype charged_gpu_seconds: float
+ :keyword charged_node_utilization_seconds: Required.
+ :paramtype charged_node_utilization_seconds: float
+ """
+ super(JobCost, self).__init__(**kwargs)
+ self.charged_cpu_core_seconds = charged_cpu_core_seconds
+ self.charged_cpu_memory_megabyte_seconds = charged_cpu_memory_megabyte_seconds
+ self.charged_gpu_seconds = charged_gpu_seconds
+ self.charged_node_utilization_seconds = charged_node_utilization_seconds
+
+
+class MaterializationComputeResource(msrest.serialization.Model):
+ """MaterializationComputeResource.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar instance_type: Required.
+ :vartype instance_type: str
+ """
+
+ _validation = {
+ "instance_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "instance_type": {"key": "instanceType", "type": "str"},
+ }
+
+ def __init__(self, *, instance_type: str, **kwargs):
+ """
+ :keyword instance_type: Required.
+ :paramtype instance_type: str
+ """
+ super(MaterializationComputeResource, self).__init__(**kwargs)
+ self.instance_type = instance_type
+
+
+class MaterializationSettings(msrest.serialization.Model):
+ """MaterializationSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar materialization_store_type: Required. Possible values include: "None", "Online",
+ "Offline", "OnlineAndOffline".
+ :vartype materialization_store_type: str or
+ ~index_service_apis.models.MaterializationSettingsMaterializationStoreType
+ :ivar schedule: Required.
+ :vartype schedule: ~index_service_apis.models.Recurrence
+ :ivar notification:
+ :vartype notification: ~index_service_apis.models.NotificationSetting
+ :ivar resource: Required.
+ :vartype resource: ~index_service_apis.models.MaterializationComputeResource
+ :ivar spark_configuration: Required. Dictionary of :code:`<string>`.
+ :vartype spark_configuration: dict[str, str]
+ """
+
+ _validation = {
+ "materialization_store_type": {"required": True},
+ "schedule": {"required": True},
+ "resource": {"required": True},
+ "spark_configuration": {"required": True},
+ }
+
+ _attribute_map = {
+ "materialization_store_type": {"key": "materializationStoreType", "type": "str"},
+ "schedule": {"key": "schedule", "type": "Recurrence"},
+ "notification": {"key": "notification", "type": "NotificationSetting"},
+ "resource": {"key": "resource", "type": "MaterializationComputeResource"},
+ "spark_configuration": {"key": "sparkConfiguration", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ materialization_store_type: Union[str, "MaterializationSettingsMaterializationStoreType"],
+ schedule: "Recurrence",
+ resource: "MaterializationComputeResource",
+ spark_configuration: Dict[str, str],
+ notification: Optional["NotificationSetting"] = None,
+ **kwargs
+ ):
+ """
+ :keyword materialization_store_type: Required. Possible values include: "None", "Online",
+ "Offline", "OnlineAndOffline".
+ :paramtype materialization_store_type: str or
+ ~index_service_apis.models.MaterializationSettingsMaterializationStoreType
+ :keyword schedule: Required.
+ :paramtype schedule: ~index_service_apis.models.Recurrence
+ :keyword notification:
+ :paramtype notification: ~index_service_apis.models.NotificationSetting
+ :keyword resource: Required.
+ :paramtype resource: ~index_service_apis.models.MaterializationComputeResource
+ :keyword spark_configuration: Required. Dictionary of :code:`<string>`.
+ :paramtype spark_configuration: dict[str, str]
+ """
+ super(MaterializationSettings, self).__init__(**kwargs)
+ self.materialization_store_type = materialization_store_type
+ self.schedule = schedule
+ self.notification = notification
+ self.resource = resource
+ self.spark_configuration = spark_configuration
+
+
+class ModelAnnotations(msrest.serialization.Model):
+ """ModelAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar datasets: Required.
+ :vartype datasets: list[~index_service_apis.models.DatasetReference]
+ :ivar sample_input_data: Required.
+ :vartype sample_input_data: str
+ :ivar sample_output_data: Required.
+ :vartype sample_output_data: str
+ :ivar resource_requirements: Required.
+ :vartype resource_requirements: ~index_service_apis.models.ContainerResourceRequirements
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "datasets": {"required": True},
+ "sample_input_data": {"required": True},
+ "sample_output_data": {"required": True},
+ "resource_requirements": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "datasets": {"key": "datasets", "type": "[DatasetReference]"},
+ "sample_input_data": {"key": "sampleInputData", "type": "str"},
+ "sample_output_data": {"key": "sampleOutputData", "type": "str"},
+ "resource_requirements": {"key": "resourceRequirements", "type": "ContainerResourceRequirements"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ datasets: List["DatasetReference"],
+ sample_input_data: str,
+ sample_output_data: str,
+ resource_requirements: "ContainerResourceRequirements",
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword datasets: Required.
+ :paramtype datasets: list[~index_service_apis.models.DatasetReference]
+ :keyword sample_input_data: Required.
+ :paramtype sample_input_data: str
+ :keyword sample_output_data: Required.
+ :paramtype sample_output_data: str
+ :keyword resource_requirements: Required.
+ :paramtype resource_requirements: ~index_service_apis.models.ContainerResourceRequirements
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(ModelAnnotations, self).__init__(**kwargs)
+ self.datasets = datasets
+ self.sample_input_data = sample_input_data
+ self.sample_output_data = sample_output_data
+ self.resource_requirements = resource_requirements
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class ModelProperties(msrest.serialization.Model):
+ """ModelProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar model_framework: Required.
+ :vartype model_framework: str
+ :ivar model_framework_version: Required.
+ :vartype model_framework_version: str
+ :ivar model_format: Required.
+ :vartype model_format: str
+ :ivar version: Required.
+ :vartype version: int
+ :ivar alphanumeric_version: Required.
+ :vartype alphanumeric_version: str
+ :ivar url: Required.
+ :vartype url: str
+ :ivar mime_type: Required.
+ :vartype mime_type: str
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar unpack: Required.
+ :vartype unpack: bool
+ :ivar parent_model_id: Required.
+ :vartype parent_model_id: str
+ :ivar run_id: Required.
+ :vartype run_id: str
+ :ivar experiment_name: Required.
+ :vartype experiment_name: str
+ :ivar experiment_id: Required.
+ :vartype experiment_id: str
+ :ivar derived_model_ids: Required.
+ :vartype derived_model_ids: list[str]
+ :ivar user_properties: Required. Dictionary of :code:`<string>`.
+ :vartype user_properties: dict[str, str]
+ :ivar is_anonymous: Required.
+ :vartype is_anonymous: bool
+ :ivar orgin_asset_id: Required.
+ :vartype orgin_asset_id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "name": {"required": True},
+ "model_framework": {"required": True},
+ "model_framework_version": {"required": True},
+ "model_format": {"required": True},
+ "version": {"required": True},
+ "alphanumeric_version": {"required": True},
+ "url": {"required": True},
+ "mime_type": {"required": True},
+ "modified_time": {"required": True},
+ "unpack": {"required": True},
+ "parent_model_id": {"required": True},
+ "run_id": {"required": True},
+ "experiment_name": {"required": True},
+ "experiment_id": {"required": True},
+ "derived_model_ids": {"required": True},
+ "user_properties": {"required": True},
+ "is_anonymous": {"required": True},
+ "orgin_asset_id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "model_framework": {"key": "modelFramework", "type": "str"},
+ "model_framework_version": {"key": "modelFrameworkVersion", "type": "str"},
+ "model_format": {"key": "modelFormat", "type": "str"},
+ "version": {"key": "version", "type": "int"},
+ "alphanumeric_version": {"key": "alphanumericVersion", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "mime_type": {"key": "mimeType", "type": "str"},
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "unpack": {"key": "unpack", "type": "bool"},
+ "parent_model_id": {"key": "parentModelId", "type": "str"},
+ "run_id": {"key": "runId", "type": "str"},
+ "experiment_name": {"key": "experimentName", "type": "str"},
+ "experiment_id": {"key": "experimentId", "type": "str"},
+ "derived_model_ids": {"key": "derivedModelIds", "type": "[str]"},
+ "user_properties": {"key": "userProperties", "type": "{str}"},
+ "is_anonymous": {"key": "isAnonymous", "type": "bool"},
+ "orgin_asset_id": {"key": "orginAssetId", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: str,
+ name: str,
+ model_framework: str,
+ model_framework_version: str,
+ model_format: str,
+ version: int,
+ alphanumeric_version: str,
+ url: str,
+ mime_type: str,
+ modified_time: datetime.datetime,
+ unpack: bool,
+ parent_model_id: str,
+ run_id: str,
+ experiment_name: str,
+ experiment_id: str,
+ derived_model_ids: List[str],
+ user_properties: Dict[str, str],
+ is_anonymous: bool,
+ orgin_asset_id: str,
+ creation_context: "CreationContext",
+ **kwargs
+ ):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword model_framework: Required.
+ :paramtype model_framework: str
+ :keyword model_framework_version: Required.
+ :paramtype model_framework_version: str
+ :keyword model_format: Required.
+ :paramtype model_format: str
+ :keyword version: Required.
+ :paramtype version: int
+ :keyword alphanumeric_version: Required.
+ :paramtype alphanumeric_version: str
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword mime_type: Required.
+ :paramtype mime_type: str
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword unpack: Required.
+ :paramtype unpack: bool
+ :keyword parent_model_id: Required.
+ :paramtype parent_model_id: str
+ :keyword run_id: Required.
+ :paramtype run_id: str
+ :keyword experiment_name: Required.
+ :paramtype experiment_name: str
+ :keyword experiment_id: Required.
+ :paramtype experiment_id: str
+ :keyword derived_model_ids: Required.
+ :paramtype derived_model_ids: list[str]
+ :keyword user_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype user_properties: dict[str, str]
+ :keyword is_anonymous: Required.
+ :paramtype is_anonymous: bool
+ :keyword orgin_asset_id: Required.
+ :paramtype orgin_asset_id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(ModelProperties, self).__init__(**kwargs)
+ self.id = id
+ self.name = name
+ self.model_framework = model_framework
+ self.model_framework_version = model_framework_version
+ self.model_format = model_format
+ self.version = version
+ self.alphanumeric_version = alphanumeric_version
+ self.url = url
+ self.mime_type = mime_type
+ self.modified_time = modified_time
+ self.unpack = unpack
+ self.parent_model_id = parent_model_id
+ self.run_id = run_id
+ self.experiment_name = experiment_name
+ self.experiment_id = experiment_id
+ self.derived_model_ids = derived_model_ids
+ self.user_properties = user_properties
+ self.is_anonymous = is_anonymous
+ self.orgin_asset_id = orgin_asset_id
+ self.creation_context = creation_context
+
+
+class ModelsVersionedEntitiesResponse(msrest.serialization.Model):
+ """ModelsVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ModelsVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[ModelsVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["ModelsVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ModelsVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(ModelsVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class ModelsVersionedEntity(msrest.serialization.Model):
+ """ModelsVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.ModelsVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.ModelAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.ModelProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "ModelAnnotations"},
+ "properties": {"key": "properties", "type": "ModelProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "ModelsVersionedEntityKind"],
+ annotations: "ModelAnnotations",
+ properties: "ModelProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.ModelsVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.ModelAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.ModelProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(ModelsVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class ModuleAnnotations(msrest.serialization.Model):
+ """ModuleAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar module_name: Required.
+ :vartype module_name: str
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar lower_name: Required.
+ :vartype lower_name: str
+ :ivar module_version: Required.
+ :vartype module_version: str
+ :ivar inputs: Required.
+ :vartype inputs: list[~index_service_apis.models.InputNameAndDataTypeIdsList]
+ :ivar outputs: Required.
+ :vartype outputs: list[~index_service_apis.models.OutputNameAndDataTypeId]
+ :ivar category: Required.
+ :vartype category: str
+ :ivar step_type: Required.
+ :vartype step_type: str
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.ModuleAnnotationsEntityStatus
+ :ivar is_deterministic: Required.
+ :vartype is_deterministic: bool
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar component_type_version: Required.
+ :vartype component_type_version: str
+ :ivar snapshot_id: Required.
+ :vartype snapshot_id: str
+ :ivar runconfig: Required.
+ :vartype runconfig: str
+ :ivar control_outputs: Required.
+ :vartype control_outputs: list[~index_service_apis.models.ControlOutput]
+ :ivar parameters: Required.
+ :vartype parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :ivar metadata_parameters: Required.
+ :vartype metadata_parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :ivar aml_module_name: Required.
+ :vartype aml_module_name: str
+ :ivar aml_module_entity_status: Required. Possible values include: "Active", "Deprecated",
+ "Disabled".
+ :vartype aml_module_entity_status: str or
+ ~index_service_apis.models.ModuleAnnotationsAmlModuleEntityStatus
+ :ivar module_type: Required. Possible values include: "User", "Builtin".
+ :vartype module_type: str or ~index_service_apis.models.ModuleAnnotationsModuleType
+ :ivar module_execution_type: Required.
+ :vartype module_execution_type: str
+ :ivar arguments_serialized: Required.
+ :vartype arguments_serialized: str
+ :ivar cloud_settings_serialized: Required.
+ :vartype cloud_settings_serialized: str
+ :ivar stage: Required.
+ :vartype stage: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "module_name": {"required": True},
+ "display_name": {"required": True},
+ "lower_name": {"required": True},
+ "module_version": {"required": True},
+ "inputs": {"required": True},
+ "outputs": {"required": True},
+ "category": {"required": True},
+ "step_type": {"required": True},
+ "entity_status": {"required": True},
+ "is_deterministic": {"required": True},
+ "kv_tags": {"required": True},
+ "properties": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "component_type_version": {"required": True},
+ "snapshot_id": {"required": True},
+ "runconfig": {"required": True},
+ "control_outputs": {"required": True},
+ "parameters": {"required": True},
+ "metadata_parameters": {"required": True},
+ "aml_module_name": {"required": True},
+ "aml_module_entity_status": {"required": True},
+ "module_type": {"required": True},
+ "module_execution_type": {"required": True},
+ "arguments_serialized": {"required": True},
+ "cloud_settings_serialized": {"required": True},
+ "stage": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "module_name": {"key": "moduleName", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "lower_name": {"key": "lowerName", "type": "str"},
+ "module_version": {"key": "moduleVersion", "type": "str"},
+ "inputs": {"key": "inputs", "type": "[InputNameAndDataTypeIdsList]"},
+ "outputs": {"key": "outputs", "type": "[OutputNameAndDataTypeId]"},
+ "category": {"key": "category", "type": "str"},
+ "step_type": {"key": "stepType", "type": "str"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "is_deterministic": {"key": "isDeterministic", "type": "bool"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "component_type_version": {"key": "componentTypeVersion", "type": "str"},
+ "snapshot_id": {"key": "snapshotId", "type": "str"},
+ "runconfig": {"key": "runconfig", "type": "str"},
+ "control_outputs": {"key": "controlOutputs", "type": "[ControlOutput]"},
+ "parameters": {"key": "parameters", "type": "[StructuredInterfaceParameter]"},
+ "metadata_parameters": {"key": "metadataParameters", "type": "[StructuredInterfaceParameter]"},
+ "aml_module_name": {"key": "amlModuleName", "type": "str"},
+ "aml_module_entity_status": {"key": "amlModuleEntityStatus", "type": "str"},
+ "module_type": {"key": "moduleType", "type": "str"},
+ "module_execution_type": {"key": "moduleExecutionType", "type": "str"},
+ "arguments_serialized": {"key": "argumentsSerialized", "type": "str"},
+ "cloud_settings_serialized": {"key": "cloudSettingsSerialized", "type": "str"},
+ "stage": {"key": "stage", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ module_name: str,
+ display_name: str,
+ lower_name: str,
+ module_version: str,
+ inputs: List["InputNameAndDataTypeIdsList"],
+ outputs: List["OutputNameAndDataTypeId"],
+ category: str,
+ step_type: str,
+ entity_status: Union[str, "ModuleAnnotationsEntityStatus"],
+ is_deterministic: bool,
+ kv_tags: Dict[str, str],
+ properties: Dict[str, str],
+ last_modified_date: datetime.datetime,
+ last_updated_by: "CreatedBy",
+ component_type_version: str,
+ snapshot_id: str,
+ runconfig: str,
+ control_outputs: List["ControlOutput"],
+ parameters: List["StructuredInterfaceParameter"],
+ metadata_parameters: List["StructuredInterfaceParameter"],
+ aml_module_name: str,
+ aml_module_entity_status: Union[str, "ModuleAnnotationsAmlModuleEntityStatus"],
+ module_type: Union[str, "ModuleAnnotationsModuleType"],
+ module_execution_type: str,
+ arguments_serialized: str,
+ cloud_settings_serialized: str,
+ stage: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword module_name: Required.
+ :paramtype module_name: str
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword lower_name: Required.
+ :paramtype lower_name: str
+ :keyword module_version: Required.
+ :paramtype module_version: str
+ :keyword inputs: Required.
+ :paramtype inputs: list[~index_service_apis.models.InputNameAndDataTypeIdsList]
+ :keyword outputs: Required.
+ :paramtype outputs: list[~index_service_apis.models.OutputNameAndDataTypeId]
+ :keyword category: Required.
+ :paramtype category: str
+ :keyword step_type: Required.
+ :paramtype step_type: str
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.ModuleAnnotationsEntityStatus
+ :keyword is_deterministic: Required.
+ :paramtype is_deterministic: bool
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword component_type_version: Required.
+ :paramtype component_type_version: str
+ :keyword snapshot_id: Required.
+ :paramtype snapshot_id: str
+ :keyword runconfig: Required.
+ :paramtype runconfig: str
+ :keyword control_outputs: Required.
+ :paramtype control_outputs: list[~index_service_apis.models.ControlOutput]
+ :keyword parameters: Required.
+ :paramtype parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :keyword metadata_parameters: Required.
+ :paramtype metadata_parameters: list[~index_service_apis.models.StructuredInterfaceParameter]
+ :keyword aml_module_name: Required.
+ :paramtype aml_module_name: str
+ :keyword aml_module_entity_status: Required. Possible values include: "Active", "Deprecated",
+ "Disabled".
+ :paramtype aml_module_entity_status: str or
+ ~index_service_apis.models.ModuleAnnotationsAmlModuleEntityStatus
+ :keyword module_type: Required. Possible values include: "User", "Builtin".
+ :paramtype module_type: str or ~index_service_apis.models.ModuleAnnotationsModuleType
+ :keyword module_execution_type: Required.
+ :paramtype module_execution_type: str
+ :keyword arguments_serialized: Required.
+ :paramtype arguments_serialized: str
+ :keyword cloud_settings_serialized: Required.
+ :paramtype cloud_settings_serialized: str
+ :keyword stage: Required.
+ :paramtype stage: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(ModuleAnnotations, self).__init__(**kwargs)
+ self.module_name = module_name
+ self.display_name = display_name
+ self.lower_name = lower_name
+ self.module_version = module_version
+ self.inputs = inputs
+ self.outputs = outputs
+ self.category = category
+ self.step_type = step_type
+ self.entity_status = entity_status
+ self.is_deterministic = is_deterministic
+ self.kv_tags = kv_tags
+ self.properties = properties
+ self.last_modified_date = last_modified_date
+ self.last_updated_by = last_updated_by
+ self.component_type_version = component_type_version
+ self.snapshot_id = snapshot_id
+ self.runconfig = runconfig
+ self.control_outputs = control_outputs
+ self.parameters = parameters
+ self.metadata_parameters = metadata_parameters
+ self.aml_module_name = aml_module_name
+ self.aml_module_entity_status = aml_module_entity_status
+ self.module_type = module_type
+ self.module_execution_type = module_execution_type
+ self.arguments_serialized = arguments_serialized
+ self.cloud_settings_serialized = cloud_settings_serialized
+ self.stage = stage
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class ModuleProperties(msrest.serialization.Model):
+ """ModuleProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar aml_module_id: Required.
+ :vartype aml_module_id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "aml_module_id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "aml_module_id": {"key": "amlModuleId", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, aml_module_id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword aml_module_id: Required.
+ :paramtype aml_module_id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(ModuleProperties, self).__init__(**kwargs)
+ self.id = id
+ self.aml_module_id = aml_module_id
+ self.creation_context = creation_context
+
+
+class ModulesVersionedEntitiesResponse(msrest.serialization.Model):
+ """ModulesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ModulesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[ModulesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["ModulesVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ModulesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(ModulesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class ModulesVersionedEntity(msrest.serialization.Model):
+ """ModulesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.ModulesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.ModuleAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.ModuleProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "ModuleAnnotations"},
+ "properties": {"key": "properties", "type": "ModuleProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "ModulesVersionedEntityKind"],
+ annotations: "ModuleAnnotations",
+ properties: "ModuleProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.ModulesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.ModuleAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.ModuleProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(ModulesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class NotificationSetting(msrest.serialization.Model):
+ """NotificationSetting.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar emails: Required.
+ :vartype emails: list[str]
+ :ivar email_on: Required.
+ :vartype email_on: list[str or ~index_service_apis.models.NotificationSettingEmailOnItem]
+ :ivar webhooks: Required. Dictionary of :code:`<Webhook>`.
+ :vartype webhooks: dict[str, ~index_service_apis.models.Webhook]
+ """
+
+ _validation = {
+ "emails": {"required": True},
+ "email_on": {"required": True},
+ "webhooks": {"required": True},
+ }
+
+ _attribute_map = {
+ "emails": {"key": "emails", "type": "[str]"},
+ "email_on": {"key": "emailOn", "type": "[str]"},
+ "webhooks": {"key": "webhooks", "type": "{Webhook}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ emails: List[str],
+ email_on: List[Union[str, "NotificationSettingEmailOnItem"]],
+ webhooks: Dict[str, "Webhook"],
+ **kwargs
+ ):
+ """
+ :keyword emails: Required.
+ :paramtype emails: list[str]
+ :keyword email_on: Required.
+ :paramtype email_on: list[str or ~index_service_apis.models.NotificationSettingEmailOnItem]
+ :keyword webhooks: Required. Dictionary of :code:`<Webhook>`.
+ :paramtype webhooks: dict[str, ~index_service_apis.models.Webhook]
+ """
+ super(NotificationSetting, self).__init__(**kwargs)
+ self.emails = emails
+ self.email_on = email_on
+ self.webhooks = webhooks
+
+
+class OnlineEndpointAnnotations(msrest.serialization.Model):
+ """OnlineEndpointAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required.
+ :vartype compute_type: str
+ :ivar compute_target: Required.
+ :vartype compute_target: ~index_service_apis.models.EndpointComputeTarget
+ :ivar scoring_uri: Required.
+ :vartype scoring_uri: str
+ :ivar location: Required.
+ :vartype location: str
+ :ivar last_modified_time: Required.
+ :vartype last_modified_time: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "compute_type": {"required": True},
+ "compute_target": {"required": True},
+ "scoring_uri": {"required": True},
+ "location": {"required": True},
+ "last_modified_time": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "compute_type": {"key": "computeType", "type": "str"},
+ "compute_target": {"key": "computeTarget", "type": "EndpointComputeTarget"},
+ "scoring_uri": {"key": "scoringUri", "type": "str"},
+ "location": {"key": "location", "type": "str"},
+ "last_modified_time": {"key": "lastModifiedTime", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ compute_type: str,
+ compute_target: "EndpointComputeTarget",
+ scoring_uri: str,
+ location: str,
+ last_modified_time: datetime.datetime,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword compute_type: Required.
+ :paramtype compute_type: str
+ :keyword compute_target: Required.
+ :paramtype compute_target: ~index_service_apis.models.EndpointComputeTarget
+ :keyword scoring_uri: Required.
+ :paramtype scoring_uri: str
+ :keyword location: Required.
+ :paramtype location: str
+ :keyword last_modified_time: Required.
+ :paramtype last_modified_time: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(OnlineEndpointAnnotations, self).__init__(**kwargs)
+ self.compute_type = compute_type
+ self.compute_target = compute_target
+ self.scoring_uri = scoring_uri
+ self.location = location
+ self.last_modified_time = last_modified_time
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class OnlineEndpointProperties(msrest.serialization.Model):
+ """OnlineEndpointProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "properties": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "{str}"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, properties: Dict[str, str], creation_context: "CreationContext", **kwargs):
+ """
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(OnlineEndpointProperties, self).__init__(**kwargs)
+ self.properties = properties
+ self.creation_context = creation_context
+
+
+class OnlineendpointsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """OnlineendpointsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.OnlineendpointsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[OnlineendpointsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["OnlineendpointsUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.OnlineendpointsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(OnlineendpointsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class OnlineendpointsUnversionedEntity(msrest.serialization.Model):
+ """OnlineendpointsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.OnlineendpointsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.OnlineEndpointAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.OnlineEndpointProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "OnlineEndpointAnnotations"},
+ "properties": {"key": "properties", "type": "OnlineEndpointProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "OnlineendpointsUnversionedEntityKind"],
+ annotations: "OnlineEndpointAnnotations",
+ properties: "OnlineEndpointProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.OnlineendpointsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.OnlineEndpointAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.OnlineEndpointProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(OnlineendpointsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class OutputNameAndDataTypeId(msrest.serialization.Model):
+ """OutputNameAndDataTypeId.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar data_type_id: Required.
+ :vartype data_type_id: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "data_type_id": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "data_type_id": {"key": "dataTypeId", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ }
+
+ def __init__(self, *, name: str, data_type_id: str, description: str, label: str, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword data_type_id: Required.
+ :paramtype data_type_id: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ """
+ super(OutputNameAndDataTypeId, self).__init__(**kwargs)
+ self.name = name
+ self.data_type_id = data_type_id
+ self.description = description
+ self.label = label
+
+
+class PipelineAnnotations(msrest.serialization.Model):
+ """PipelineAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar pipeline_name: Required.
+ :vartype pipeline_name: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar url: Required.
+ :vartype url: str
+ :ivar pipeline_endpoint_ids: Required.
+ :vartype pipeline_endpoint_ids: list[str]
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar last_updated_by: Required.
+ :vartype last_updated_by: ~index_service_apis.models.CreatedBy
+ :ivar last_run_id: Required.
+ :vartype last_run_id: str
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :vartype last_run_status_code: str or
+ ~index_service_apis.models.PipelineAnnotationsLastRunStatusCode
+ :ivar last_run_creation_time: Required.
+ :vartype last_run_creation_time: ~datetime.datetime
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "pipeline_name": {"required": True},
+ "version": {"required": True},
+ "url": {"required": True},
+ "pipeline_endpoint_ids": {"required": True},
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "last_updated_by": {"required": True},
+ "last_run_id": {"required": True},
+ "pipeline_type": {"required": True},
+ "last_run_status_code": {"required": True},
+ "last_run_creation_time": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "pipeline_name": {"key": "pipelineName", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ "pipeline_endpoint_ids": {"key": "pipelineEndpointIds", "type": "[str]"},
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "last_updated_by": {"key": "lastUpdatedBy", "type": "CreatedBy"},
+ "last_run_id": {"key": "lastRunId", "type": "str"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "last_run_status_code": {"key": "lastRunStatusCode", "type": "str"},
+ "last_run_creation_time": {"key": "lastRunCreationTime", "type": "iso-8601"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ pipeline_name: str,
+ version: str,
+ url: str,
+ pipeline_endpoint_ids: List[str],
+ kv_tags: Dict[str, str],
+ step_tags: Dict[str, str],
+ properties: Dict[str, str],
+ step_properties: Dict[str, str],
+ entity_status: Union[str, "PipelineAnnotationsEntityStatus"],
+ last_modified_date: datetime.datetime,
+ last_updated_by: "CreatedBy",
+ last_run_id: str,
+ pipeline_type: str,
+ last_run_status_code: Union[str, "PipelineAnnotationsLastRunStatusCode"],
+ last_run_creation_time: datetime.datetime,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword pipeline_name: Required.
+ :paramtype pipeline_name: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword url: Required.
+ :paramtype url: str
+ :keyword pipeline_endpoint_ids: Required.
+ :paramtype pipeline_endpoint_ids: list[str]
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.PipelineAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword last_updated_by: Required.
+ :paramtype last_updated_by: ~index_service_apis.models.CreatedBy
+ :keyword last_run_id: Required.
+ :paramtype last_run_id: str
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword last_run_status_code: Required. Possible values include: "NotStarted", "Running",
+ "Failed", "Finished", "Canceled", "Failing", "Queued", "CancelRequested".
+ :paramtype last_run_status_code: str or
+ ~index_service_apis.models.PipelineAnnotationsLastRunStatusCode
+ :keyword last_run_creation_time: Required.
+ :paramtype last_run_creation_time: ~datetime.datetime
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineAnnotations, self).__init__(**kwargs)
+ self.pipeline_name = pipeline_name
+ self.version = version
+ self.url = url
+ self.pipeline_endpoint_ids = pipeline_endpoint_ids
+ self.kv_tags = kv_tags
+ self.step_tags = step_tags
+ self.properties = properties
+ self.step_properties = step_properties
+ self.entity_status = entity_status
+ self.last_modified_date = last_modified_date
+ self.last_updated_by = last_updated_by
+ self.last_run_id = last_run_id
+ self.pipeline_type = pipeline_type
+ self.last_run_status_code = last_run_status_code
+ self.last_run_creation_time = last_run_creation_time
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class PipelineDraftAnnotations(msrest.serialization.Model):
+ """PipelineDraftAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineDraftAnnotationsEntityStatus
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar pipeline_type: Required.
+ :vartype pipeline_type: str
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "last_modified_date": {"required": True},
+ "pipeline_type": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "pipeline_type": {"key": "pipelineType", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ kv_tags: Dict[str, str],
+ step_tags: Dict[str, str],
+ properties: Dict[str, str],
+ step_properties: Dict[str, str],
+ entity_status: Union[str, "PipelineDraftAnnotationsEntityStatus"],
+ last_modified_date: datetime.datetime,
+ pipeline_type: str,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or
+ ~index_service_apis.models.PipelineDraftAnnotationsEntityStatus
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword pipeline_type: Required.
+ :paramtype pipeline_type: str
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineDraftAnnotations, self).__init__(**kwargs)
+ self.kv_tags = kv_tags
+ self.step_tags = step_tags
+ self.properties = properties
+ self.step_properties = step_properties
+ self.entity_status = entity_status
+ self.last_modified_date = last_modified_date
+ self.pipeline_type = pipeline_type
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class PipelineDraftProperties(msrest.serialization.Model):
+ """PipelineDraftProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineDraftProperties, self).__init__(**kwargs)
+ self.id = id
+ self.creation_context = creation_context
+
+
+class PipelinedraftsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinedraftsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinedraftsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinedraftsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["PipelinedraftsUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinedraftsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinedraftsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class PipelinedraftsUnversionedEntity(msrest.serialization.Model):
+ """PipelinedraftsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinedraftsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineDraftAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineDraftProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineDraftAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineDraftProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "PipelinedraftsUnversionedEntityKind"],
+ annotations: "PipelineDraftAnnotations",
+ properties: "PipelineDraftProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinedraftsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineDraftAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineDraftProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(PipelinedraftsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class PipelineProperties(msrest.serialization.Model):
+ """PipelineProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineProperties, self).__init__(**kwargs)
+ self.id = id
+ self.creation_context = creation_context
+
+
+class PipelineRunAnnotations(msrest.serialization.Model):
+ """PipelineRunAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar kv_tags: Required. Dictionary of :code:`<string>`.
+ :vartype kv_tags: dict[str, str]
+ :ivar step_tags: Required. Dictionary of :code:`<string>`.
+ :vartype step_tags: dict[str, str]
+ :ivar properties: Required. Dictionary of :code:`<string>`.
+ :vartype properties: dict[str, str]
+ :ivar step_properties: Required. Dictionary of :code:`<string>`.
+ :vartype step_properties: dict[str, str]
+ :ivar entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :vartype entity_status: str or ~index_service_apis.models.PipelineRunAnnotationsEntityStatus
+ :ivar status: Required.
+ :vartype status: ~index_service_apis.models.ExperimentStatus
+ :ivar run_history_experiment_name: Required.
+ :vartype run_history_experiment_name: str
+ :ivar has_errors: Required.
+ :vartype has_errors: bool
+ :ivar has_warnings: Required.
+ :vartype has_warnings: bool
+ :ivar last_modified_date: Required.
+ :vartype last_modified_date: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "kv_tags": {"required": True},
+ "step_tags": {"required": True},
+ "properties": {"required": True},
+ "step_properties": {"required": True},
+ "entity_status": {"required": True},
+ "status": {"required": True},
+ "run_history_experiment_name": {"required": True},
+ "has_errors": {"required": True},
+ "has_warnings": {"required": True},
+ "last_modified_date": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "kv_tags": {"key": "kvTags", "type": "{str}"},
+ "step_tags": {"key": "stepTags", "type": "{str}"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "step_properties": {"key": "stepProperties", "type": "{str}"},
+ "entity_status": {"key": "entityStatus", "type": "str"},
+ "status": {"key": "status", "type": "ExperimentStatus"},
+ "run_history_experiment_name": {"key": "runHistoryExperimentName", "type": "str"},
+ "has_errors": {"key": "hasErrors", "type": "bool"},
+ "has_warnings": {"key": "hasWarnings", "type": "bool"},
+ "last_modified_date": {"key": "lastModifiedDate", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ kv_tags: Dict[str, str],
+ step_tags: Dict[str, str],
+ properties: Dict[str, str],
+ step_properties: Dict[str, str],
+ entity_status: Union[str, "PipelineRunAnnotationsEntityStatus"],
+ status: "ExperimentStatus",
+ run_history_experiment_name: str,
+ has_errors: bool,
+ has_warnings: bool,
+ last_modified_date: datetime.datetime,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword kv_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype kv_tags: dict[str, str]
+ :keyword step_tags: Required. Dictionary of :code:`<string>`.
+ :paramtype step_tags: dict[str, str]
+ :keyword properties: Required. Dictionary of :code:`<string>`.
+ :paramtype properties: dict[str, str]
+ :keyword step_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype step_properties: dict[str, str]
+ :keyword entity_status: Required. Possible values include: "Active", "Deprecated", "Disabled".
+ :paramtype entity_status: str or ~index_service_apis.models.PipelineRunAnnotationsEntityStatus
+ :keyword status: Required.
+ :paramtype status: ~index_service_apis.models.ExperimentStatus
+ :keyword run_history_experiment_name: Required.
+ :paramtype run_history_experiment_name: str
+ :keyword has_errors: Required.
+ :paramtype has_errors: bool
+ :keyword has_warnings: Required.
+ :paramtype has_warnings: bool
+ :keyword last_modified_date: Required.
+ :paramtype last_modified_date: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(PipelineRunAnnotations, self).__init__(**kwargs)
+ self.kv_tags = kv_tags
+ self.step_tags = step_tags
+ self.properties = properties
+ self.step_properties = step_properties
+ self.entity_status = entity_status
+ self.status = status
+ self.run_history_experiment_name = run_history_experiment_name
+ self.has_errors = has_errors
+ self.has_warnings = has_warnings
+ self.last_modified_date = last_modified_date
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class PipelineRunProperties(msrest.serialization.Model):
+ """PipelineRunProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required.
+ :vartype id: str
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "id": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "id": {"key": "id", "type": "str"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(self, *, id: str, creation_context: "CreationContext", **kwargs):
+ """
+ :keyword id: Required.
+ :paramtype id: str
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(PipelineRunProperties, self).__init__(**kwargs)
+ self.id = id
+ self.creation_context = creation_context
+
+
+class PipelinerunsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinerunsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinerunsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinerunsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["PipelinerunsUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinerunsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinerunsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class PipelinerunsUnversionedEntity(msrest.serialization.Model):
+ """PipelinerunsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinerunsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineRunAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineRunProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineRunAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineRunProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "PipelinerunsUnversionedEntityKind"],
+ annotations: "PipelineRunAnnotations",
+ properties: "PipelineRunProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ relationships: List["Relationship"],
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinerunsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineRunAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineRunProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ """
+ super(PipelinerunsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.relationships = relationships
+
+
+class PipelinesVersionedEntitiesResponse(msrest.serialization.Model):
+ """PipelinesVersionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.PipelinesVersionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[PipelinesVersionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["PipelinesVersionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.PipelinesVersionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(PipelinesVersionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class PipelinesVersionedEntity(msrest.serialization.Model):
+ """PipelinesVersionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.PipelinesVersionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.PipelineAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.PipelineProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "PipelineAnnotations"},
+ "properties": {"key": "properties", "type": "PipelineProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "PipelinesVersionedEntityKind"],
+ annotations: "PipelineAnnotations",
+ properties: "PipelineProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.PipelinesVersionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.PipelineAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.PipelineProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(PipelinesVersionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class Purpose(msrest.serialization.Model):
+ """Purpose.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar has_inferencing_support: Required.
+ :vartype has_inferencing_support: bool
+ :ivar has_training_support: Required.
+ :vartype has_training_support: bool
+ """
+
+ _validation = {
+ "has_inferencing_support": {"required": True},
+ "has_training_support": {"required": True},
+ }
+
+ _attribute_map = {
+ "has_inferencing_support": {"key": "hasInferencingSupport", "type": "bool"},
+ "has_training_support": {"key": "hasTrainingSupport", "type": "bool"},
+ }
+
+ def __init__(self, *, has_inferencing_support: bool, has_training_support: bool, **kwargs):
+ """
+ :keyword has_inferencing_support: Required.
+ :paramtype has_inferencing_support: bool
+ :keyword has_training_support: Required.
+ :paramtype has_training_support: bool
+ """
+ super(Purpose, self).__init__(**kwargs)
+ self.has_inferencing_support = has_inferencing_support
+ self.has_training_support = has_training_support
+
+
+class Recurrence(msrest.serialization.Model):
+ """Recurrence.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar frequency: Required. Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :vartype frequency: str or ~index_service_apis.models.RecurrenceFrequency
+ :ivar interval: Required.
+ :vartype interval: int
+ :ivar schedule: Required.
+ :vartype schedule: ~index_service_apis.models.RecurrenceSchedule
+ :ivar end_time: Required.
+ :vartype end_time: str
+ :ivar start_time: Required.
+ :vartype start_time: str
+ :ivar time_zone: Required.
+ :vartype time_zone: str
+ """
+
+ _validation = {
+ "frequency": {"required": True},
+ "interval": {"required": True},
+ "schedule": {"required": True},
+ "end_time": {"required": True},
+ "start_time": {"required": True},
+ "time_zone": {"required": True},
+ }
+
+ _attribute_map = {
+ "frequency": {"key": "frequency", "type": "str"},
+ "interval": {"key": "interval", "type": "int"},
+ "schedule": {"key": "schedule", "type": "RecurrenceSchedule"},
+ "end_time": {"key": "endTime", "type": "str"},
+ "start_time": {"key": "startTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ frequency: Union[str, "RecurrenceFrequency"],
+ interval: int,
+ schedule: "RecurrenceSchedule",
+ end_time: str,
+ start_time: str,
+ time_zone: str,
+ **kwargs
+ ):
+ """
+ :keyword frequency: Required. Possible values include: "Month", "Week", "Day", "Hour",
+ "Minute".
+ :paramtype frequency: str or ~index_service_apis.models.RecurrenceFrequency
+ :keyword interval: Required.
+ :paramtype interval: int
+ :keyword schedule: Required.
+ :paramtype schedule: ~index_service_apis.models.RecurrenceSchedule
+ :keyword end_time: Required.
+ :paramtype end_time: str
+ :keyword start_time: Required.
+ :paramtype start_time: str
+ :keyword time_zone: Required.
+ :paramtype time_zone: str
+ """
+ super(Recurrence, self).__init__(**kwargs)
+ self.frequency = frequency
+ self.interval = interval
+ self.schedule = schedule
+ self.end_time = end_time
+ self.start_time = start_time
+ self.time_zone = time_zone
+
+
+class RecurrenceSchedule(msrest.serialization.Model):
+ """RecurrenceSchedule.
+
+ :ivar hours:
+ :vartype hours: list[int]
+ :ivar minutes:
+ :vartype minutes: list[int]
+ :ivar week_days:
+ :vartype week_days: list[str or ~index_service_apis.models.RecurrenceScheduleWeekDaysItem]
+ :ivar month_days:
+ :vartype month_days: list[int]
+ """
+
+ _attribute_map = {
+ "hours": {"key": "hours", "type": "[int]"},
+ "minutes": {"key": "minutes", "type": "[int]"},
+ "week_days": {"key": "weekDays", "type": "[str]"},
+ "month_days": {"key": "monthDays", "type": "[int]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ hours: Optional[List[int]] = None,
+ minutes: Optional[List[int]] = None,
+ week_days: Optional[List[Union[str, "RecurrenceScheduleWeekDaysItem"]]] = None,
+ month_days: Optional[List[int]] = None,
+ **kwargs
+ ):
+ """
+ :keyword hours:
+ :paramtype hours: list[int]
+ :keyword minutes:
+ :paramtype minutes: list[int]
+ :keyword week_days:
+ :paramtype week_days: list[str or ~index_service_apis.models.RecurrenceScheduleWeekDaysItem]
+ :keyword month_days:
+ :paramtype month_days: list[int]
+ """
+ super(RecurrenceSchedule, self).__init__(**kwargs)
+ self.hours = hours
+ self.minutes = minutes
+ self.week_days = week_days
+ self.month_days = month_days
+
+
+class RecurrenceTrigger(msrest.serialization.Model):
+ """RecurrenceTrigger.
+
+ :ivar frequency: Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :vartype frequency: str or ~index_service_apis.models.RecurrenceTriggerFrequency
+ :ivar interval:
+ :vartype interval: int
+ :ivar schedule:
+ :vartype schedule: ~index_service_apis.models.RecurrenceSchedule
+ """
+
+ _attribute_map = {
+ "frequency": {"key": "frequency", "type": "str"},
+ "interval": {"key": "interval", "type": "int"},
+ "schedule": {"key": "schedule", "type": "RecurrenceSchedule"},
+ }
+
+ def __init__(
+ self,
+ *,
+ frequency: Optional[Union[str, "RecurrenceTriggerFrequency"]] = None,
+ interval: Optional[int] = None,
+ schedule: Optional["RecurrenceSchedule"] = None,
+ **kwargs
+ ):
+ """
+ :keyword frequency: Possible values include: "Month", "Week", "Day", "Hour", "Minute".
+ :paramtype frequency: str or ~index_service_apis.models.RecurrenceTriggerFrequency
+ :keyword interval:
+ :paramtype interval: int
+ :keyword schedule:
+ :paramtype schedule: ~index_service_apis.models.RecurrenceSchedule
+ """
+ super(RecurrenceTrigger, self).__init__(**kwargs)
+ self.frequency = frequency
+ self.interval = interval
+ self.schedule = schedule
+
+
+class Relationship(msrest.serialization.Model):
+ """Relationship.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar relation_type:
+ :vartype relation_type: str
+ :ivar target_entity_id:
+ :vartype target_entity_id: str
+ :ivar asset_id:
+ :vartype asset_id: str
+ :ivar entity_type:
+ :vartype entity_type: str
+ :ivar direction:
+ :vartype direction: str
+ :ivar entity_container_id:
+ :vartype entity_container_id: str
+ """
+
+ _validation = {
+ "entity_type": {"readonly": True},
+ "entity_container_id": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "relation_type": {"key": "relationType", "type": "str"},
+ "target_entity_id": {"key": "targetEntityId", "type": "str"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ "entity_type": {"key": "entityType", "type": "str"},
+ "direction": {"key": "direction", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ relation_type: Optional[str] = None,
+ target_entity_id: Optional[str] = None,
+ asset_id: Optional[str] = None,
+ direction: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword relation_type:
+ :paramtype relation_type: str
+ :keyword target_entity_id:
+ :paramtype target_entity_id: str
+ :keyword asset_id:
+ :paramtype asset_id: str
+ :keyword direction:
+ :paramtype direction: str
+ """
+ super(Relationship, self).__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.relation_type = relation_type
+ self.target_entity_id = target_entity_id
+ self.asset_id = asset_id
+ self.entity_type = None
+ self.direction = direction
+ self.entity_container_id = None
+
+
+class ResourceDiscoveryContainerMetadata(msrest.serialization.Model):
+ """ResourceDiscoveryContainerMetadata.
+
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_arm_id:
+ :vartype resource_arm_id: str
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group:
+ :vartype resource_group: str
+ :ivar resource_name:
+ :vartype resource_name: str
+ :ivar asset_container_type:
+ :vartype asset_container_type: str
+ :ivar immutable_resource_id:
+ :vartype immutable_resource_id: str
+ :ivar asset_resource_type:
+ :vartype asset_resource_type: str
+ :ivar is_customer_managed_resource:
+ :vartype is_customer_managed_resource: bool
+ :ivar is_private_link_behind_vnet:
+ :vartype is_private_link_behind_vnet: bool
+ :ivar is_public_container:
+ :vartype is_public_container: bool
+ :ivar is_public_resource:
+ :vartype is_public_resource: bool
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ """
+
+ _attribute_map = {
+ "tags": {"key": "tags", "type": "{str}"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_arm_id": {"key": "resourceArmId", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "resource_name": {"key": "resourceName", "type": "str"},
+ "asset_container_type": {"key": "assetContainerType", "type": "str"},
+ "immutable_resource_id": {"key": "immutableResourceId", "type": "str"},
+ "asset_resource_type": {"key": "assetResourceType", "type": "str"},
+ "is_customer_managed_resource": {"key": "isCustomerManagedResource", "type": "bool"},
+ "is_private_link_behind_vnet": {"key": "isPrivateLinkBehindVnet", "type": "bool"},
+ "is_public_container": {"key": "isPublicContainer", "type": "bool"},
+ "is_public_resource": {"key": "isPublicResource", "type": "bool"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ tags: Optional[Dict[str, str]] = None,
+ tenant_id: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ resource_arm_id: Optional[str] = None,
+ subscription_id: Optional[str] = None,
+ resource_group: Optional[str] = None,
+ resource_name: Optional[str] = None,
+ asset_container_type: Optional[str] = None,
+ immutable_resource_id: Optional[str] = None,
+ asset_resource_type: Optional[str] = None,
+ is_customer_managed_resource: Optional[bool] = None,
+ is_private_link_behind_vnet: Optional[bool] = None,
+ is_public_container: Optional[bool] = None,
+ is_public_resource: Optional[bool] = None,
+ regions: Optional[List["ResourceRegion"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_arm_id:
+ :paramtype resource_arm_id: str
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group:
+ :paramtype resource_group: str
+ :keyword resource_name:
+ :paramtype resource_name: str
+ :keyword asset_container_type:
+ :paramtype asset_container_type: str
+ :keyword immutable_resource_id:
+ :paramtype immutable_resource_id: str
+ :keyword asset_resource_type:
+ :paramtype asset_resource_type: str
+ :keyword is_customer_managed_resource:
+ :paramtype is_customer_managed_resource: bool
+ :keyword is_private_link_behind_vnet:
+ :paramtype is_private_link_behind_vnet: bool
+ :keyword is_public_container:
+ :paramtype is_public_container: bool
+ :keyword is_public_resource:
+ :paramtype is_public_resource: bool
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ """
+ super(ResourceDiscoveryContainerMetadata, self).__init__(**kwargs)
+ self.tags = tags
+ self.tenant_id = tenant_id
+ self.resource_id = resource_id
+ self.resource_arm_id = resource_arm_id
+ self.subscription_id = subscription_id
+ self.resource_group = resource_group
+ self.resource_name = resource_name
+ self.asset_container_type = asset_container_type
+ self.immutable_resource_id = immutable_resource_id
+ self.asset_resource_type = asset_resource_type
+ self.is_customer_managed_resource = is_customer_managed_resource
+ self.is_private_link_behind_vnet = is_private_link_behind_vnet
+ self.is_public_container = is_public_container
+ self.is_public_resource = is_public_resource
+ self.regions = regions
+
+
+class ResourceDiscoveryContainerMetadataPaginatedResult(msrest.serialization.Model):
+ """ResourceDiscoveryContainerMetadataPaginatedResult.
+
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.ResourceDiscoveryContainerMetadata]
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ "value": {"key": "value", "type": "[ResourceDiscoveryContainerMetadata]"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["ResourceDiscoveryContainerMetadata"]] = None,
+ continuation_token: Optional[str] = None,
+ next_link: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.ResourceDiscoveryContainerMetadata]
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword next_link:
+ :paramtype next_link: str
+ """
+ super(ResourceDiscoveryContainerMetadataPaginatedResult, self).__init__(**kwargs)
+ self.value = value
+ self.continuation_token = continuation_token
+ self.next_link = next_link
+
+
+class ResourceDiscoveryRequest(msrest.serialization.Model):
+ """ResourceDiscoveryRequest.
+
+ :ivar search_request:
+ :vartype search_request: ~index_service_apis.models.StringContainsRequest
+ :ivar order_by:
+ :vartype order_by: ~index_service_apis.models.IndexEntitiesRequestOrder
+ :ivar filters:
+ :vartype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :ivar page_size:
+ :vartype page_size: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ """
+
+ _attribute_map = {
+ "search_request": {"key": "searchRequest", "type": "StringContainsRequest"},
+ "order_by": {"key": "orderBy", "type": "IndexEntitiesRequestOrder"},
+ "filters": {"key": "filters", "type": "[IndexEntitiesRequestFilter]"},
+ "page_size": {"key": "pageSize", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ search_request: Optional["StringContainsRequest"] = None,
+ order_by: Optional["IndexEntitiesRequestOrder"] = None,
+ filters: Optional[List["IndexEntitiesRequestFilter"]] = None,
+ page_size: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword search_request:
+ :paramtype search_request: ~index_service_apis.models.StringContainsRequest
+ :keyword order_by:
+ :paramtype order_by: ~index_service_apis.models.IndexEntitiesRequestOrder
+ :keyword filters:
+ :paramtype filters: list[~index_service_apis.models.IndexEntitiesRequestFilter]
+ :keyword page_size:
+ :paramtype page_size: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ """
+ super(ResourceDiscoveryRequest, self).__init__(**kwargs)
+ self.search_request = search_request
+ self.order_by = order_by
+ self.filters = filters
+ self.page_size = page_size
+ self.continuation_token = continuation_token
+
+
+class ResourceInformation(msrest.serialization.Model):
+ """ResourceInformation.
+
+ :ivar region:
+ :vartype region: str
+ :ivar entity_container_type: Possible values include: "Workspace", "Feed", "Registry".
+ :vartype entity_container_type: str or ~index_service_apis.models.AssetContainerTypeFeedRename
+ :ivar resource_id:
+ :vartype resource_id: str
+ """
+
+ _attribute_map = {
+ "region": {"key": "region", "type": "str"},
+ "entity_container_type": {"key": "entityContainerType", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ region: Optional[str] = None,
+ entity_container_type: Optional[Union[str, "AssetContainerTypeFeedRename"]] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword region:
+ :paramtype region: str
+ :keyword entity_container_type: Possible values include: "Workspace", "Feed", "Registry".
+ :paramtype entity_container_type: str or
+ ~index_service_apis.models.AssetContainerTypeFeedRename
+ :keyword resource_id:
+ :paramtype resource_id: str
+ """
+ super(ResourceInformation, self).__init__(**kwargs)
+ self.region = region
+ self.entity_container_type = entity_container_type
+ self.resource_id = resource_id
+
+
+class ResourceRegion(msrest.serialization.Model):
+ """ResourceRegion.
+
+ :ivar region_name:
+ :vartype region_name: str
+ :ivar is_primary_region:
+ :vartype is_primary_region: bool
+ """
+
+ _attribute_map = {
+ "region_name": {"key": "regionName", "type": "str"},
+ "is_primary_region": {"key": "isPrimaryRegion", "type": "bool"},
+ }
+
+ def __init__(self, *, region_name: Optional[str] = None, is_primary_region: Optional[bool] = None, **kwargs):
+ """
+ :keyword region_name:
+ :paramtype region_name: str
+ :keyword is_primary_region:
+ :paramtype is_primary_region: bool
+ """
+ super(ResourceRegion, self).__init__(**kwargs)
+ self.region_name = region_name
+ self.is_primary_region = is_primary_region
+
+
+class RootError(msrest.serialization.Model):
+ """RootError.
+
+ :ivar code:
+ :vartype code: str
+ :ivar severity:
+ :vartype severity: int
+ :ivar message:
+ :vartype message: str
+ :ivar message_format:
+ :vartype message_format: str
+ :ivar message_parameters: Dictionary of :code:`<string>`.
+ :vartype message_parameters: dict[str, str]
+ :ivar reference_code:
+ :vartype reference_code: str
+ :ivar details_uri:
+ :vartype details_uri: str
+ :ivar target:
+ :vartype target: str
+ :ivar details:
+ :vartype details: list[~index_service_apis.models.RootError]
+ :ivar inner_error:
+ :vartype inner_error: ~index_service_apis.models.InnerErrorResponse
+ :ivar debug_info:
+ :vartype debug_info: ~index_service_apis.models.DebugInfoResponse
+ :ivar additional_info:
+ :vartype additional_info: list[~index_service_apis.models.ErrorAdditionalInfo]
+ """
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "severity": {"key": "severity", "type": "int"},
+ "message": {"key": "message", "type": "str"},
+ "message_format": {"key": "messageFormat", "type": "str"},
+ "message_parameters": {"key": "messageParameters", "type": "{str}"},
+ "reference_code": {"key": "referenceCode", "type": "str"},
+ "details_uri": {"key": "detailsUri", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "details": {"key": "details", "type": "[RootError]"},
+ "inner_error": {"key": "innerError", "type": "InnerErrorResponse"},
+ "debug_info": {"key": "debugInfo", "type": "DebugInfoResponse"},
+ "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ code: Optional[str] = None,
+ severity: Optional[int] = None,
+ message: Optional[str] = None,
+ message_format: Optional[str] = None,
+ message_parameters: Optional[Dict[str, str]] = None,
+ reference_code: Optional[str] = None,
+ details_uri: Optional[str] = None,
+ target: Optional[str] = None,
+ details: Optional[List["RootError"]] = None,
+ inner_error: Optional["InnerErrorResponse"] = None,
+ debug_info: Optional["DebugInfoResponse"] = None,
+ additional_info: Optional[List["ErrorAdditionalInfo"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword code:
+ :paramtype code: str
+ :keyword severity:
+ :paramtype severity: int
+ :keyword message:
+ :paramtype message: str
+ :keyword message_format:
+ :paramtype message_format: str
+ :keyword message_parameters: Dictionary of :code:`<string>`.
+ :paramtype message_parameters: dict[str, str]
+ :keyword reference_code:
+ :paramtype reference_code: str
+ :keyword details_uri:
+ :paramtype details_uri: str
+ :keyword target:
+ :paramtype target: str
+ :keyword details:
+ :paramtype details: list[~index_service_apis.models.RootError]
+ :keyword inner_error:
+ :paramtype inner_error: ~index_service_apis.models.InnerErrorResponse
+ :keyword debug_info:
+ :paramtype debug_info: ~index_service_apis.models.DebugInfoResponse
+ :keyword additional_info:
+ :paramtype additional_info: list[~index_service_apis.models.ErrorAdditionalInfo]
+ """
+ super(RootError, self).__init__(**kwargs)
+ self.code = code
+ self.severity = severity
+ self.message = message
+ self.message_format = message_format
+ self.message_parameters = message_parameters
+ self.reference_code = reference_code
+ self.details_uri = details_uri
+ self.target = target
+ self.details = details
+ self.inner_error = inner_error
+ self.debug_info = debug_info
+ self.additional_info = additional_info
+
+
+class RunAnnotations(msrest.serialization.Model):
+ """RunAnnotations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar display_name: Required.
+ :vartype display_name: str
+ :ivar status: Required.
+ :vartype status: str
+ :ivar primary_metric_name: Required.
+ :vartype primary_metric_name: str
+ :ivar estimated_cost: Required.
+ :vartype estimated_cost: float
+ :ivar primary_metric_summary: Required.
+ :vartype primary_metric_summary: ~index_service_apis.models.RunIndexMetricSummaryJValue
+ :ivar metrics: Required. Dictionary of <RunIndexMetricSummary:code:`<Object>`>.
+ :vartype metrics: dict[str, ~index_service_apis.models.RunIndexMetricSummaryObject]
+ :ivar parameters: Required. Dictionary of :code:`<AnyObject>`.
+ :vartype parameters: dict[str, any]
+ :ivar settings: Required. Dictionary of :code:`<string>`.
+ :vartype settings: dict[str, str]
+ :ivar modified_time: Required.
+ :vartype modified_time: ~datetime.datetime
+ :ivar retain_for_lifetime_of_workspace: Required.
+ :vartype retain_for_lifetime_of_workspace: bool
+ :ivar error: Required.
+ :vartype error: ~index_service_apis.models.IndexedErrorResponse
+ :ivar resource_metric_summary: Required.
+ :vartype resource_metric_summary: ~index_service_apis.models.RunIndexResourceMetricSummary
+ :ivar job_cost: Required.
+ :vartype job_cost: ~index_service_apis.models.JobCost
+ :ivar compute_duration: Required.
+ :vartype compute_duration: str
+ :ivar compute_duration_milliseconds: Required.
+ :vartype compute_duration_milliseconds: float
+ :ivar effective_start_time_utc: Required.
+ :vartype effective_start_time_utc: ~datetime.datetime
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar archived: Required.
+ :vartype archived: bool
+ :ivar tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ """
+
+ _validation = {
+ "display_name": {"required": True},
+ "status": {"required": True},
+ "primary_metric_name": {"required": True},
+ "estimated_cost": {"required": True},
+ "primary_metric_summary": {"required": True},
+ "metrics": {"required": True},
+ "parameters": {"required": True},
+ "settings": {"required": True},
+ "modified_time": {"required": True},
+ "retain_for_lifetime_of_workspace": {"required": True},
+ "error": {"required": True},
+ "resource_metric_summary": {"required": True},
+ "job_cost": {"required": True},
+ "compute_duration": {"required": True},
+ "compute_duration_milliseconds": {"required": True},
+ "effective_start_time_utc": {"required": True},
+ "name": {"required": True},
+ "description": {"required": True},
+ "archived": {"required": True},
+ "tags": {"required": True},
+ }
+
+ _attribute_map = {
+ "display_name": {"key": "displayName", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "primary_metric_name": {"key": "primaryMetricName", "type": "str"},
+ "estimated_cost": {"key": "estimatedCost", "type": "float"},
+ "primary_metric_summary": {"key": "primaryMetricSummary", "type": "RunIndexMetricSummaryJValue"},
+ "metrics": {"key": "metrics", "type": "{RunIndexMetricSummaryObject}"},
+ "parameters": {"key": "parameters", "type": "{object}"},
+ "settings": {"key": "settings", "type": "{str}"},
+ "modified_time": {"key": "modifiedTime", "type": "iso-8601"},
+ "retain_for_lifetime_of_workspace": {"key": "retainForLifetimeOfWorkspace", "type": "bool"},
+ "error": {"key": "error", "type": "IndexedErrorResponse"},
+ "resource_metric_summary": {"key": "resourceMetricSummary", "type": "RunIndexResourceMetricSummary"},
+ "job_cost": {"key": "jobCost", "type": "JobCost"},
+ "compute_duration": {"key": "computeDuration", "type": "str"},
+ "compute_duration_milliseconds": {"key": "computeDurationMilliseconds", "type": "float"},
+ "effective_start_time_utc": {"key": "effectiveStartTimeUtc", "type": "iso-8601"},
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "archived": {"key": "archived", "type": "bool"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ display_name: str,
+ status: str,
+ primary_metric_name: str,
+ estimated_cost: float,
+ primary_metric_summary: "RunIndexMetricSummaryJValue",
+ metrics: Dict[str, "RunIndexMetricSummaryObject"],
+ parameters: Dict[str, Any],
+ settings: Dict[str, str],
+ modified_time: datetime.datetime,
+ retain_for_lifetime_of_workspace: bool,
+ error: "IndexedErrorResponse",
+ resource_metric_summary: "RunIndexResourceMetricSummary",
+ job_cost: "JobCost",
+ compute_duration: str,
+ compute_duration_milliseconds: float,
+ effective_start_time_utc: datetime.datetime,
+ name: str,
+ description: str,
+ archived: bool,
+ tags: Dict[str, str],
+ **kwargs
+ ):
+ """
+ :keyword display_name: Required.
+ :paramtype display_name: str
+ :keyword status: Required.
+ :paramtype status: str
+ :keyword primary_metric_name: Required.
+ :paramtype primary_metric_name: str
+ :keyword estimated_cost: Required.
+ :paramtype estimated_cost: float
+ :keyword primary_metric_summary: Required.
+ :paramtype primary_metric_summary: ~index_service_apis.models.RunIndexMetricSummaryJValue
+ :keyword metrics: Required. Dictionary of <RunIndexMetricSummary:code:`<Object>`>.
+ :paramtype metrics: dict[str, ~index_service_apis.models.RunIndexMetricSummaryObject]
+ :keyword parameters: Required. Dictionary of :code:`<AnyObject>`.
+ :paramtype parameters: dict[str, any]
+ :keyword settings: Required. Dictionary of :code:`<string>`.
+ :paramtype settings: dict[str, str]
+ :keyword modified_time: Required.
+ :paramtype modified_time: ~datetime.datetime
+ :keyword retain_for_lifetime_of_workspace: Required.
+ :paramtype retain_for_lifetime_of_workspace: bool
+ :keyword error: Required.
+ :paramtype error: ~index_service_apis.models.IndexedErrorResponse
+ :keyword resource_metric_summary: Required.
+ :paramtype resource_metric_summary: ~index_service_apis.models.RunIndexResourceMetricSummary
+ :keyword job_cost: Required.
+ :paramtype job_cost: ~index_service_apis.models.JobCost
+ :keyword compute_duration: Required.
+ :paramtype compute_duration: str
+ :keyword compute_duration_milliseconds: Required.
+ :paramtype compute_duration_milliseconds: float
+ :keyword effective_start_time_utc: Required.
+ :paramtype effective_start_time_utc: ~datetime.datetime
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword archived: Required.
+ :paramtype archived: bool
+ :keyword tags: Required. A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ """
+ super(RunAnnotations, self).__init__(**kwargs)
+ self.display_name = display_name
+ self.status = status
+ self.primary_metric_name = primary_metric_name
+ self.estimated_cost = estimated_cost
+ self.primary_metric_summary = primary_metric_summary
+ self.metrics = metrics
+ self.parameters = parameters
+ self.settings = settings
+ self.modified_time = modified_time
+ self.retain_for_lifetime_of_workspace = retain_for_lifetime_of_workspace
+ self.error = error
+ self.resource_metric_summary = resource_metric_summary
+ self.job_cost = job_cost
+ self.compute_duration = compute_duration
+ self.compute_duration_milliseconds = compute_duration_milliseconds
+ self.effective_start_time_utc = effective_start_time_utc
+ self.name = name
+ self.description = description
+ self.archived = archived
+ self.tags = tags
+
+
+class RunIndexMetricSummaryJValue(msrest.serialization.Model):
+ """RunIndexMetricSummaryJValue.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar count: Required.
+ :vartype count: int
+ :ivar last_value: Required. Any object.
+ :vartype last_value: any
+ :ivar minimum_value: Required. Any object.
+ :vartype minimum_value: any
+ :ivar maximum_value: Required. Any object.
+ :vartype maximum_value: any
+ :ivar metric_type: Required.
+ :vartype metric_type: str
+ """
+
+ _validation = {
+ "count": {"required": True},
+ "last_value": {"required": True},
+ "minimum_value": {"required": True},
+ "maximum_value": {"required": True},
+ "metric_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "count": {"key": "count", "type": "int"},
+ "last_value": {"key": "lastValue", "type": "object"},
+ "minimum_value": {"key": "minimumValue", "type": "object"},
+ "maximum_value": {"key": "maximumValue", "type": "object"},
+ "metric_type": {"key": "metricType", "type": "str"},
+ }
+
+ def __init__(
+ self, *, count: int, last_value: Any, minimum_value: Any, maximum_value: Any, metric_type: str, **kwargs
+ ):
+ """
+ :keyword count: Required.
+ :paramtype count: int
+ :keyword last_value: Required. Any object.
+ :paramtype last_value: any
+ :keyword minimum_value: Required. Any object.
+ :paramtype minimum_value: any
+ :keyword maximum_value: Required. Any object.
+ :paramtype maximum_value: any
+ :keyword metric_type: Required.
+ :paramtype metric_type: str
+ """
+ super(RunIndexMetricSummaryJValue, self).__init__(**kwargs)
+ self.count = count
+ self.last_value = last_value
+ self.minimum_value = minimum_value
+ self.maximum_value = maximum_value
+ self.metric_type = metric_type
+
+
+class RunIndexMetricSummaryObject(msrest.serialization.Model):
+ """RunIndexMetricSummaryObject.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar count: Required.
+ :vartype count: int
+ :ivar last_value: Required. Anything.
+ :vartype last_value: any
+ :ivar minimum_value: Required. Anything.
+ :vartype minimum_value: any
+ :ivar maximum_value: Required. Anything.
+ :vartype maximum_value: any
+ :ivar metric_type: Required.
+ :vartype metric_type: str
+ """
+
+ _validation = {
+ "count": {"required": True},
+ "last_value": {"required": True},
+ "minimum_value": {"required": True},
+ "maximum_value": {"required": True},
+ "metric_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "count": {"key": "count", "type": "int"},
+ "last_value": {"key": "lastValue", "type": "object"},
+ "minimum_value": {"key": "minimumValue", "type": "object"},
+ "maximum_value": {"key": "maximumValue", "type": "object"},
+ "metric_type": {"key": "metricType", "type": "str"},
+ }
+
+ def __init__(
+ self, *, count: int, last_value: Any, minimum_value: Any, maximum_value: Any, metric_type: str, **kwargs
+ ):
+ """
+ :keyword count: Required.
+ :paramtype count: int
+ :keyword last_value: Required. Anything.
+ :paramtype last_value: any
+ :keyword minimum_value: Required. Anything.
+ :paramtype minimum_value: any
+ :keyword maximum_value: Required. Anything.
+ :paramtype maximum_value: any
+ :keyword metric_type: Required.
+ :paramtype metric_type: str
+ """
+ super(RunIndexMetricSummaryObject, self).__init__(**kwargs)
+ self.count = count
+ self.last_value = last_value
+ self.minimum_value = minimum_value
+ self.maximum_value = maximum_value
+ self.metric_type = metric_type
+
+
+class RunIndexResourceMetricSummary(msrest.serialization.Model):
+ """RunIndexResourceMetricSummary.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar gpu_utilization_percent_last_hour: Required.
+ :vartype gpu_utilization_percent_last_hour: float
+ :ivar gpu_memory_utilization_percent_last_hour: Required.
+ :vartype gpu_memory_utilization_percent_last_hour: float
+ :ivar gpu_energy_joules: Required.
+ :vartype gpu_energy_joules: float
+ :ivar resource_metric_names: Required.
+ :vartype resource_metric_names: list[str]
+ """
+
+ _validation = {
+ "gpu_utilization_percent_last_hour": {"required": True},
+ "gpu_memory_utilization_percent_last_hour": {"required": True},
+ "gpu_energy_joules": {"required": True},
+ "resource_metric_names": {"required": True},
+ }
+
+ _attribute_map = {
+ "gpu_utilization_percent_last_hour": {"key": "gpuUtilizationPercentLastHour", "type": "float"},
+ "gpu_memory_utilization_percent_last_hour": {"key": "gpuMemoryUtilizationPercentLastHour", "type": "float"},
+ "gpu_energy_joules": {"key": "gpuEnergyJoules", "type": "float"},
+ "resource_metric_names": {"key": "resourceMetricNames", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ gpu_utilization_percent_last_hour: float,
+ gpu_memory_utilization_percent_last_hour: float,
+ gpu_energy_joules: float,
+ resource_metric_names: List[str],
+ **kwargs
+ ):
+ """
+ :keyword gpu_utilization_percent_last_hour: Required.
+ :paramtype gpu_utilization_percent_last_hour: float
+ :keyword gpu_memory_utilization_percent_last_hour: Required.
+ :paramtype gpu_memory_utilization_percent_last_hour: float
+ :keyword gpu_energy_joules: Required.
+ :paramtype gpu_energy_joules: float
+ :keyword resource_metric_names: Required.
+ :paramtype resource_metric_names: list[str]
+ """
+ super(RunIndexResourceMetricSummary, self).__init__(**kwargs)
+ self.gpu_utilization_percent_last_hour = gpu_utilization_percent_last_hour
+ self.gpu_memory_utilization_percent_last_hour = gpu_memory_utilization_percent_last_hour
+ self.gpu_energy_joules = gpu_energy_joules
+ self.resource_metric_names = resource_metric_names
+
+
+class RunProperties(msrest.serialization.Model):
+ """RunProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar data_container_id: Required.
+ :vartype data_container_id: str
+ :ivar target_name: Required.
+ :vartype target_name: str
+ :ivar run_name: Required.
+ :vartype run_name: str
+ :ivar experiment_name: Required.
+ :vartype experiment_name: str
+ :ivar run_id: Required.
+ :vartype run_id: str
+ :ivar parent_run_id: Required.
+ :vartype parent_run_id: str
+ :ivar root_run_id: Required.
+ :vartype root_run_id: str
+ :ivar run_type: Required.
+ :vartype run_type: str
+ :ivar run_type_v2: Required.
+ :vartype run_type_v2: ~index_service_apis.models.RunTypeV2Index
+ :ivar script_name: Required.
+ :vartype script_name: str
+ :ivar experiment_id: Required.
+ :vartype experiment_id: str
+ :ivar run_uuid: Required.
+ :vartype run_uuid: str
+ :ivar parent_run_uuid: Required.
+ :vartype parent_run_uuid: str
+ :ivar run_number: Required.
+ :vartype run_number: int
+ :ivar start_time: Required.
+ :vartype start_time: ~datetime.datetime
+ :ivar end_time: Required.
+ :vartype end_time: ~datetime.datetime
+ :ivar compute_request: Required.
+ :vartype compute_request: ~index_service_apis.models.ComputeRequest
+ :ivar compute: Required.
+ :vartype compute: ~index_service_apis.models.Compute
+ :ivar user_properties: Required. Dictionary of :code:`<string>`.
+ :vartype user_properties: dict[str, str]
+ :ivar action_uris: Required. Dictionary of :code:`<string>`.
+ :vartype action_uris: dict[str, str]
+ :ivar duration: Required.
+ :vartype duration: str
+ :ivar duration_milliseconds: Required.
+ :vartype duration_milliseconds: float
+ :ivar creation_context: Required.
+ :vartype creation_context: ~index_service_apis.models.CreationContext
+ """
+
+ _validation = {
+ "data_container_id": {"required": True},
+ "target_name": {"required": True},
+ "run_name": {"required": True},
+ "experiment_name": {"required": True},
+ "run_id": {"required": True},
+ "parent_run_id": {"required": True},
+ "root_run_id": {"required": True},
+ "run_type": {"required": True},
+ "run_type_v2": {"required": True},
+ "script_name": {"required": True},
+ "experiment_id": {"required": True},
+ "run_uuid": {"required": True},
+ "parent_run_uuid": {"required": True},
+ "run_number": {"required": True},
+ "start_time": {"required": True},
+ "end_time": {"required": True},
+ "compute_request": {"required": True},
+ "compute": {"required": True},
+ "user_properties": {"required": True},
+ "action_uris": {"required": True},
+ "duration": {"required": True},
+ "duration_milliseconds": {"required": True},
+ "creation_context": {"required": True},
+ }
+
+ _attribute_map = {
+ "data_container_id": {"key": "dataContainerId", "type": "str"},
+ "target_name": {"key": "targetName", "type": "str"},
+ "run_name": {"key": "runName", "type": "str"},
+ "experiment_name": {"key": "experimentName", "type": "str"},
+ "run_id": {"key": "runId", "type": "str"},
+ "parent_run_id": {"key": "parentRunId", "type": "str"},
+ "root_run_id": {"key": "rootRunId", "type": "str"},
+ "run_type": {"key": "runType", "type": "str"},
+ "run_type_v2": {"key": "runTypeV2", "type": "RunTypeV2Index"},
+ "script_name": {"key": "scriptName", "type": "str"},
+ "experiment_id": {"key": "experimentId", "type": "str"},
+ "run_uuid": {"key": "runUuid", "type": "str"},
+ "parent_run_uuid": {"key": "parentRunUuid", "type": "str"},
+ "run_number": {"key": "runNumber", "type": "int"},
+ "start_time": {"key": "startTime", "type": "iso-8601"},
+ "end_time": {"key": "endTime", "type": "iso-8601"},
+ "compute_request": {"key": "computeRequest", "type": "ComputeRequest"},
+ "compute": {"key": "compute", "type": "Compute"},
+ "user_properties": {"key": "userProperties", "type": "{str}"},
+ "action_uris": {"key": "actionUris", "type": "{str}"},
+ "duration": {"key": "duration", "type": "str"},
+ "duration_milliseconds": {"key": "durationMilliseconds", "type": "float"},
+ "creation_context": {"key": "creationContext", "type": "CreationContext"},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_container_id: str,
+ target_name: str,
+ run_name: str,
+ experiment_name: str,
+ run_id: str,
+ parent_run_id: str,
+ root_run_id: str,
+ run_type: str,
+ run_type_v2: "RunTypeV2Index",
+ script_name: str,
+ experiment_id: str,
+ run_uuid: str,
+ parent_run_uuid: str,
+ run_number: int,
+ start_time: datetime.datetime,
+ end_time: datetime.datetime,
+ compute_request: "ComputeRequest",
+ compute: "Compute",
+ user_properties: Dict[str, str],
+ action_uris: Dict[str, str],
+ duration: str,
+ duration_milliseconds: float,
+ creation_context: "CreationContext",
+ **kwargs
+ ):
+ """
+ :keyword data_container_id: Required.
+ :paramtype data_container_id: str
+ :keyword target_name: Required.
+ :paramtype target_name: str
+ :keyword run_name: Required.
+ :paramtype run_name: str
+ :keyword experiment_name: Required.
+ :paramtype experiment_name: str
+ :keyword run_id: Required.
+ :paramtype run_id: str
+ :keyword parent_run_id: Required.
+ :paramtype parent_run_id: str
+ :keyword root_run_id: Required.
+ :paramtype root_run_id: str
+ :keyword run_type: Required.
+ :paramtype run_type: str
+ :keyword run_type_v2: Required.
+ :paramtype run_type_v2: ~index_service_apis.models.RunTypeV2Index
+ :keyword script_name: Required.
+ :paramtype script_name: str
+ :keyword experiment_id: Required.
+ :paramtype experiment_id: str
+ :keyword run_uuid: Required.
+ :paramtype run_uuid: str
+ :keyword parent_run_uuid: Required.
+ :paramtype parent_run_uuid: str
+ :keyword run_number: Required.
+ :paramtype run_number: int
+ :keyword start_time: Required.
+ :paramtype start_time: ~datetime.datetime
+ :keyword end_time: Required.
+ :paramtype end_time: ~datetime.datetime
+ :keyword compute_request: Required.
+ :paramtype compute_request: ~index_service_apis.models.ComputeRequest
+ :keyword compute: Required.
+ :paramtype compute: ~index_service_apis.models.Compute
+ :keyword user_properties: Required. Dictionary of :code:`<string>`.
+ :paramtype user_properties: dict[str, str]
+ :keyword action_uris: Required. Dictionary of :code:`<string>`.
+ :paramtype action_uris: dict[str, str]
+ :keyword duration: Required.
+ :paramtype duration: str
+ :keyword duration_milliseconds: Required.
+ :paramtype duration_milliseconds: float
+ :keyword creation_context: Required.
+ :paramtype creation_context: ~index_service_apis.models.CreationContext
+ """
+ super(RunProperties, self).__init__(**kwargs)
+ self.data_container_id = data_container_id
+ self.target_name = target_name
+ self.run_name = run_name
+ self.experiment_name = experiment_name
+ self.run_id = run_id
+ self.parent_run_id = parent_run_id
+ self.root_run_id = root_run_id
+ self.run_type = run_type
+ self.run_type_v2 = run_type_v2
+ self.script_name = script_name
+ self.experiment_id = experiment_id
+ self.run_uuid = run_uuid
+ self.parent_run_uuid = parent_run_uuid
+ self.run_number = run_number
+ self.start_time = start_time
+ self.end_time = end_time
+ self.compute_request = compute_request
+ self.compute = compute
+ self.user_properties = user_properties
+ self.action_uris = action_uris
+ self.duration = duration
+ self.duration_milliseconds = duration_milliseconds
+ self.creation_context = creation_context
+
+
+class RunsUnversionedEntitiesResponse(msrest.serialization.Model):
+ """RunsUnversionedEntitiesResponse.
+
+ :ivar total_count:
+ :vartype total_count: long
+ :ivar value:
+ :vartype value: list[~index_service_apis.models.RunsUnversionedEntity]
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar continuation_token:
+ :vartype continuation_token: str
+ :ivar entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :vartype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :ivar number_of_entity_containers_not_queried:
+ :vartype number_of_entity_containers_not_queried: int
+ :ivar fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :vartype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :ivar shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :vartype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :ivar
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :vartype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ "value": {"key": "value", "type": "[RunsUnversionedEntity]"},
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "continuation_token": {"key": "continuationToken", "type": "str"},
+ "entity_container_ids_to_entity_container_metadata": {
+ "key": "entityContainerIdsToEntityContainerMetadata",
+ "type": "{IndexEntityContainerMetadata}",
+ },
+ "number_of_entity_containers_not_queried": {"key": "numberOfEntityContainersNotQueried", "type": "int"},
+ "fanout_data": {"key": "fanoutData", "type": "{SingleShardFanoutData}"},
+ "shard_errors": {"key": "shardErrors", "type": "{ErrorResponse}"},
+ "is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern": {
+ "key": "isMultiWorkspaceQueryWithSkipSetWhichWillNoLongerBeASupportedCallingPattern",
+ "type": "bool",
+ },
+ }
+
+ def __init__(
+ self,
+ *,
+ total_count: Optional[int] = None,
+ value: Optional[List["RunsUnversionedEntity"]] = None,
+ next_skip: Optional[int] = None,
+ continuation_token: Optional[str] = None,
+ entity_container_ids_to_entity_container_metadata: Optional[Dict[str, "IndexEntityContainerMetadata"]] = None,
+ number_of_entity_containers_not_queried: Optional[int] = None,
+ fanout_data: Optional[Dict[str, "SingleShardFanoutData"]] = None,
+ shard_errors: Optional[Dict[str, "ErrorResponse"]] = None,
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern: Optional[
+ bool
+ ] = None,
+ **kwargs
+ ):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ :keyword value:
+ :paramtype value: list[~index_service_apis.models.RunsUnversionedEntity]
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword continuation_token:
+ :paramtype continuation_token: str
+ :keyword entity_container_ids_to_entity_container_metadata: Dictionary of
+ :code:`<IndexEntityContainerMetadata>`.
+ :paramtype entity_container_ids_to_entity_container_metadata: dict[str,
+ ~index_service_apis.models.IndexEntityContainerMetadata]
+ :keyword number_of_entity_containers_not_queried:
+ :paramtype number_of_entity_containers_not_queried: int
+ :keyword fanout_data: Dictionary of :code:`<SingleShardFanoutData>`.
+ :paramtype fanout_data: dict[str, ~index_service_apis.models.SingleShardFanoutData]
+ :keyword shard_errors: Dictionary of :code:`<ErrorResponse>`.
+ :paramtype shard_errors: dict[str, ~index_service_apis.models.ErrorResponse]
+ :keyword
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ :paramtype
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern:
+ bool
+ """
+ super(RunsUnversionedEntitiesResponse, self).__init__(**kwargs)
+ self.total_count = total_count
+ self.value = value
+ self.next_skip = next_skip
+ self.continuation_token = continuation_token
+ self.entity_container_ids_to_entity_container_metadata = entity_container_ids_to_entity_container_metadata
+ self.number_of_entity_containers_not_queried = number_of_entity_containers_not_queried
+ self.fanout_data = fanout_data
+ self.shard_errors = shard_errors
+ self.is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern = (
+ is_multi_workspace_query_with_skip_set_which_will_no_longer_be_a_supported_calling_pattern
+ )
+
+
+class RunsUnversionedEntity(msrest.serialization.Model):
+ """RunsUnversionedEntity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar schema_id: Required.
+ :vartype schema_id: str
+ :ivar entity_id: Required.
+ :vartype entity_id: str
+ :ivar kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :vartype kind: str or ~index_service_apis.models.RunsUnversionedEntityKind
+ :ivar annotations: Required.
+ :vartype annotations: ~index_service_apis.models.RunAnnotations
+ :ivar properties: Required.
+ :vartype properties: ~index_service_apis.models.RunProperties
+ :ivar internal: Required. Dictionary of :code:`<any>`.
+ :vartype internal: dict[str, any]
+ :ivar update_sequence: Required.
+ :vartype update_sequence: int
+ :ivar type: Required.
+ :vartype type: str
+ :ivar version: Required.
+ :vartype version: str
+ :ivar entity_container_id: Required.
+ :vartype entity_container_id: str
+ :ivar entity_object_id: Required.
+ :vartype entity_object_id: str
+ :ivar resource_type: Required.
+ :vartype resource_type: str
+ :ivar relationships: Required.
+ :vartype relationships: list[~index_service_apis.models.Relationship]
+ :ivar asset_id:
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ "schema_id": {"required": True},
+ "entity_id": {"required": True},
+ "kind": {"required": True},
+ "annotations": {"required": True},
+ "properties": {"required": True},
+ "internal": {"required": True},
+ "update_sequence": {"required": True},
+ "type": {"required": True},
+ "version": {"required": True},
+ "entity_container_id": {"required": True},
+ "entity_object_id": {"required": True},
+ "resource_type": {"required": True},
+ "relationships": {"required": True},
+ }
+
+ _attribute_map = {
+ "schema_id": {"key": "schemaId", "type": "str"},
+ "entity_id": {"key": "entityId", "type": "str"},
+ "kind": {"key": "kind", "type": "str"},
+ "annotations": {"key": "annotations", "type": "RunAnnotations"},
+ "properties": {"key": "properties", "type": "RunProperties"},
+ "internal": {"key": "internal", "type": "{object}"},
+ "update_sequence": {"key": "updateSequence", "type": "int"},
+ "type": {"key": "type", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ "entity_container_id": {"key": "entityContainerId", "type": "str"},
+ "entity_object_id": {"key": "entityObjectId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "relationships": {"key": "relationships", "type": "[Relationship]"},
+ "asset_id": {"key": "assetId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ schema_id: str,
+ entity_id: str,
+ kind: Union[str, "RunsUnversionedEntityKind"],
+ annotations: "RunAnnotations",
+ properties: "RunProperties",
+ internal: Dict[str, Any],
+ update_sequence: int,
+ type: str,
+ version: str,
+ entity_container_id: str,
+ entity_object_id: str,
+ resource_type: str,
+ relationships: List["Relationship"],
+ asset_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword schema_id: Required.
+ :paramtype schema_id: str
+ :keyword entity_id: Required.
+ :paramtype entity_id: str
+ :keyword kind: Required. Possible values include: "Invalid", "LineageRoot", "Versioned",
+ "Unversioned".
+ :paramtype kind: str or ~index_service_apis.models.RunsUnversionedEntityKind
+ :keyword annotations: Required.
+ :paramtype annotations: ~index_service_apis.models.RunAnnotations
+ :keyword properties: Required.
+ :paramtype properties: ~index_service_apis.models.RunProperties
+ :keyword internal: Required. Dictionary of :code:`<any>`.
+ :paramtype internal: dict[str, any]
+ :keyword update_sequence: Required.
+ :paramtype update_sequence: int
+ :keyword type: Required.
+ :paramtype type: str
+ :keyword version: Required.
+ :paramtype version: str
+ :keyword entity_container_id: Required.
+ :paramtype entity_container_id: str
+ :keyword entity_object_id: Required.
+ :paramtype entity_object_id: str
+ :keyword resource_type: Required.
+ :paramtype resource_type: str
+ :keyword relationships: Required.
+ :paramtype relationships: list[~index_service_apis.models.Relationship]
+ :keyword asset_id:
+ :paramtype asset_id: str
+ """
+ super(RunsUnversionedEntity, self).__init__(**kwargs)
+ self.schema_id = schema_id
+ self.entity_id = entity_id
+ self.kind = kind
+ self.annotations = annotations
+ self.properties = properties
+ self.internal = internal
+ self.update_sequence = update_sequence
+ self.type = type
+ self.version = version
+ self.entity_container_id = entity_container_id
+ self.entity_object_id = entity_object_id
+ self.resource_type = resource_type
+ self.relationships = relationships
+ self.asset_id = asset_id
+
+
+class RunTypeV2Index(msrest.serialization.Model):
+ """RunTypeV2Index.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar orchestrator: Required.
+ :vartype orchestrator: str
+ :ivar traits: Required. Dictionary of :code:`<string>`.
+ :vartype traits: dict[str, str]
+ :ivar attribution: Required.
+ :vartype attribution: str
+ :ivar compute_type: Required.
+ :vartype compute_type: str
+ """
+
+ _validation = {
+ "orchestrator": {"required": True},
+ "traits": {"required": True},
+ "attribution": {"required": True},
+ "compute_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "orchestrator": {"key": "orchestrator", "type": "str"},
+ "traits": {"key": "traits", "type": "{str}"},
+ "attribution": {"key": "attribution", "type": "str"},
+ "compute_type": {"key": "computeType", "type": "str"},
+ }
+
+ def __init__(self, *, orchestrator: str, traits: Dict[str, str], attribution: str, compute_type: str, **kwargs):
+ """
+ :keyword orchestrator: Required.
+ :paramtype orchestrator: str
+ :keyword traits: Required. Dictionary of :code:`<string>`.
+ :paramtype traits: dict[str, str]
+ :keyword attribution: Required.
+ :paramtype attribution: str
+ :keyword compute_type: Required.
+ :paramtype compute_type: str
+ """
+ super(RunTypeV2Index, self).__init__(**kwargs)
+ self.orchestrator = orchestrator
+ self.traits = traits
+ self.attribution = attribution
+ self.compute_type = compute_type
+
+
+class SingleShardFanoutData(msrest.serialization.Model):
+ """SingleShardFanoutData.
+
+ :ivar next_skip:
+ :vartype next_skip: int
+ :ivar is_shard_done:
+ :vartype is_shard_done: bool
+ :ivar did_shard_fail:
+ :vartype did_shard_fail: bool
+ :ivar total_count:
+ :vartype total_count: long
+ """
+
+ _attribute_map = {
+ "next_skip": {"key": "nextSkip", "type": "int"},
+ "is_shard_done": {"key": "isShardDone", "type": "bool"},
+ "did_shard_fail": {"key": "didShardFail", "type": "bool"},
+ "total_count": {"key": "totalCount", "type": "long"},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_skip: Optional[int] = None,
+ is_shard_done: Optional[bool] = None,
+ did_shard_fail: Optional[bool] = None,
+ total_count: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_skip:
+ :paramtype next_skip: int
+ :keyword is_shard_done:
+ :paramtype is_shard_done: bool
+ :keyword did_shard_fail:
+ :paramtype did_shard_fail: bool
+ :keyword total_count:
+ :paramtype total_count: long
+ """
+ super(SingleShardFanoutData, self).__init__(**kwargs)
+ self.next_skip = next_skip
+ self.is_shard_done = is_shard_done
+ self.did_shard_fail = did_shard_fail
+ self.total_count = total_count
+
+
+class StringContainsRequest(msrest.serialization.Model):
+ """StringContainsRequest.
+
+ :ivar value_to_check:
+ :vartype value_to_check: str
+ :ivar columns_to_check:
+ :vartype columns_to_check: list[str]
+ """
+
+ _attribute_map = {
+ "value_to_check": {"key": "valueToCheck", "type": "str"},
+ "columns_to_check": {"key": "columnsToCheck", "type": "[str]"},
+ }
+
+ def __init__(self, *, value_to_check: Optional[str] = None, columns_to_check: Optional[List[str]] = None, **kwargs):
+ """
+ :keyword value_to_check:
+ :paramtype value_to_check: str
+ :keyword columns_to_check:
+ :paramtype columns_to_check: list[str]
+ """
+ super(StringContainsRequest, self).__init__(**kwargs)
+ self.value_to_check = value_to_check
+ self.columns_to_check = columns_to_check
+
+
+class StructuredInterfaceParameter(msrest.serialization.Model):
+ """StructuredInterfaceParameter.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar description: Required.
+ :vartype description: str
+ :ivar label: Required.
+ :vartype label: str
+ :ivar parameter_type: Required. Possible values include: "Int", "Double", "Bool", "String",
+ "Undefined".
+ :vartype parameter_type: str or ~index_service_apis.models.StructuredInterfaceParameterType
+ :ivar is_optional: Required.
+ :vartype is_optional: bool
+ :ivar default_value: Required.
+ :vartype default_value: str
+ :ivar lower_bound: Required.
+ :vartype lower_bound: str
+ :ivar upper_bound: Required.
+ :vartype upper_bound: str
+ :ivar enum_values: Required.
+ :vartype enum_values: list[str]
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "description": {"required": True},
+ "label": {"required": True},
+ "parameter_type": {"required": True},
+ "is_optional": {"required": True},
+ "default_value": {"required": True},
+ "lower_bound": {"required": True},
+ "upper_bound": {"required": True},
+ "enum_values": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "label": {"key": "label", "type": "str"},
+ "parameter_type": {"key": "parameterType", "type": "str"},
+ "is_optional": {"key": "isOptional", "type": "bool"},
+ "default_value": {"key": "defaultValue", "type": "str"},
+ "lower_bound": {"key": "lowerBound", "type": "str"},
+ "upper_bound": {"key": "upperBound", "type": "str"},
+ "enum_values": {"key": "enumValues", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ description: str,
+ label: str,
+ parameter_type: Union[str, "StructuredInterfaceParameterType"],
+ is_optional: bool,
+ default_value: str,
+ lower_bound: str,
+ upper_bound: str,
+ enum_values: List[str],
+ **kwargs
+ ):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword description: Required.
+ :paramtype description: str
+ :keyword label: Required.
+ :paramtype label: str
+ :keyword parameter_type: Required. Possible values include: "Int", "Double", "Bool", "String",
+ "Undefined".
+ :paramtype parameter_type: str or ~index_service_apis.models.StructuredInterfaceParameterType
+ :keyword is_optional: Required.
+ :paramtype is_optional: bool
+ :keyword default_value: Required.
+ :paramtype default_value: str
+ :keyword lower_bound: Required.
+ :paramtype lower_bound: str
+ :keyword upper_bound: Required.
+ :paramtype upper_bound: str
+ :keyword enum_values: Required.
+ :paramtype enum_values: list[str]
+ """
+ super(StructuredInterfaceParameter, self).__init__(**kwargs)
+ self.name = name
+ self.description = description
+ self.label = label
+ self.parameter_type = parameter_type
+ self.is_optional = is_optional
+ self.default_value = default_value
+ self.lower_bound = lower_bound
+ self.upper_bound = upper_bound
+ self.enum_values = enum_values
+
+
+class TimeDeltaDto(msrest.serialization.Model):
+ """TimeDeltaDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar days: Required.
+ :vartype days: int
+ :ivar hours: Required.
+ :vartype hours: int
+ :ivar minutes: Required.
+ :vartype minutes: int
+ """
+
+ _validation = {
+ "days": {"required": True},
+ "hours": {"required": True},
+ "minutes": {"required": True},
+ }
+
+ _attribute_map = {
+ "days": {"key": "days", "type": "int"},
+ "hours": {"key": "hours", "type": "int"},
+ "minutes": {"key": "minutes", "type": "int"},
+ }
+
+ def __init__(self, *, days: int, hours: int, minutes: int, **kwargs):
+ """
+ :keyword days: Required.
+ :paramtype days: int
+ :keyword hours: Required.
+ :paramtype hours: int
+ :keyword minutes: Required.
+ :paramtype minutes: int
+ """
+ super(TimeDeltaDto, self).__init__(**kwargs)
+ self.days = days
+ self.hours = hours
+ self.minutes = minutes
+
+
+class TimestampColumnDto(msrest.serialization.Model):
+ """TimestampColumnDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar format: Required.
+ :vartype format: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "format": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "format": {"key": "format", "type": "str"},
+ }
+
+ def __init__(self, *, name: str, format: str, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword format: Required.
+ :paramtype format: str
+ """
+ super(TimestampColumnDto, self).__init__(**kwargs)
+ self.name = name
+ self.format = format
+
+
+class UnqueriableResourcesScope(msrest.serialization.Model):
+ """UnqueriableResourcesScope.
+
+ :ivar resource_set:
+ :vartype resource_set: list[~index_service_apis.models.ResourceInformation]
+ """
+
+ _attribute_map = {
+ "resource_set": {"key": "resourceSet", "type": "[ResourceInformation]"},
+ }
+
+ def __init__(self, *, resource_set: Optional[List["ResourceInformation"]] = None, **kwargs):
+ """
+ :keyword resource_set:
+ :paramtype resource_set: list[~index_service_apis.models.ResourceInformation]
+ """
+ super(UnqueriableResourcesScope, self).__init__(**kwargs)
+ self.resource_set = resource_set
+
+
+class Usage(msrest.serialization.Model):
+ """Usage.
+
+ :ivar total_count:
+ :vartype total_count: long
+ """
+
+ _attribute_map = {
+ "total_count": {"key": "totalCount", "type": "long"},
+ }
+
+ def __init__(self, *, total_count: Optional[int] = None, **kwargs):
+ """
+ :keyword total_count:
+ :paramtype total_count: long
+ """
+ super(Usage, self).__init__(**kwargs)
+ self.total_count = total_count
+
+
+class UserDto(msrest.serialization.Model):
+ """UserDto.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_object_id: Required.
+ :vartype user_object_id: str
+ :ivar user_tenant_id: Required.
+ :vartype user_tenant_id: str
+ :ivar user_name: Required.
+ :vartype user_name: str
+ """
+
+ _validation = {
+ "user_object_id": {"required": True},
+ "user_tenant_id": {"required": True},
+ "user_name": {"required": True},
+ }
+
+ _attribute_map = {
+ "user_object_id": {"key": "userObjectId", "type": "str"},
+ "user_tenant_id": {"key": "userTenantId", "type": "str"},
+ "user_name": {"key": "userName", "type": "str"},
+ }
+
+ def __init__(self, *, user_object_id: str, user_tenant_id: str, user_name: str, **kwargs):
+ """
+ :keyword user_object_id: Required.
+ :paramtype user_object_id: str
+ :keyword user_tenant_id: Required.
+ :paramtype user_tenant_id: str
+ :keyword user_name: Required.
+ :paramtype user_name: str
+ """
+ super(UserDto, self).__init__(**kwargs)
+ self.user_object_id = user_object_id
+ self.user_tenant_id = user_tenant_id
+ self.user_name = user_name
+
+
+class UxPresenceResource(msrest.serialization.Model):
+ """UxPresenceResource.
+
+ :ivar name:
+ :vartype name: str
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar resource_type:
+ :vartype resource_type: str
+ :ivar region:
+ :vartype region: str
+ :ivar regions:
+ :vartype regions: list[~index_service_apis.models.ResourceRegion]
+ :ivar subscription_id:
+ :vartype subscription_id: str
+ :ivar resource_group_name:
+ :vartype resource_group_name: str
+ :ivar tags: A set of tags. Dictionary of :code:`<string>`.
+ :vartype tags: dict[str, str]
+ :ivar is_customer_managed:
+ :vartype is_customer_managed: bool
+ :ivar is_private_link_resource:
+ :vartype is_private_link_resource: bool
+ :ivar is_private_link_resource_behind_vnet:
+ :vartype is_private_link_resource_behind_vnet: bool
+ """
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ "resource_type": {"key": "resourceType", "type": "str"},
+ "region": {"key": "region", "type": "str"},
+ "regions": {"key": "regions", "type": "[ResourceRegion]"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ "resource_group_name": {"key": "resourceGroupName", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "is_customer_managed": {"key": "isCustomerManaged", "type": "bool"},
+ "is_private_link_resource": {"key": "isPrivateLinkResource", "type": "bool"},
+ "is_private_link_resource_behind_vnet": {"key": "isPrivateLinkResourceBehindVnet", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ resource_type: Optional[str] = None,
+ region: Optional[str] = None,
+ regions: Optional[List["ResourceRegion"]] = None,
+ subscription_id: Optional[str] = None,
+ resource_group_name: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_customer_managed: Optional[bool] = None,
+ is_private_link_resource: Optional[bool] = None,
+ is_private_link_resource_behind_vnet: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword name:
+ :paramtype name: str
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword resource_type:
+ :paramtype resource_type: str
+ :keyword region:
+ :paramtype region: str
+ :keyword regions:
+ :paramtype regions: list[~index_service_apis.models.ResourceRegion]
+ :keyword subscription_id:
+ :paramtype subscription_id: str
+ :keyword resource_group_name:
+ :paramtype resource_group_name: str
+ :keyword tags: A set of tags. Dictionary of :code:`<string>`.
+ :paramtype tags: dict[str, str]
+ :keyword is_customer_managed:
+ :paramtype is_customer_managed: bool
+ :keyword is_private_link_resource:
+ :paramtype is_private_link_resource: bool
+ :keyword is_private_link_resource_behind_vnet:
+ :paramtype is_private_link_resource_behind_vnet: bool
+ """
+ super(UxPresenceResource, self).__init__(**kwargs)
+ self.name = name
+ self.resource_id = resource_id
+ self.resource_type = resource_type
+ self.region = region
+ self.regions = regions
+ self.subscription_id = subscription_id
+ self.resource_group_name = resource_group_name
+ self.tags = tags
+ self.is_customer_managed = is_customer_managed
+ self.is_private_link_resource = is_private_link_resource
+ self.is_private_link_resource_behind_vnet = is_private_link_resource_behind_vnet
+
+
+class UxWarmUpRequest(msrest.serialization.Model):
+ """UxWarmUpRequest.
+
+ :ivar entity_types:
+ :vartype entity_types: list[str]
+ :ivar resource_ids:
+ :vartype resource_ids: list[str]
+ """
+
+ _attribute_map = {
+ "entity_types": {"key": "entityTypes", "type": "[str]"},
+ "resource_ids": {"key": "resourceIds", "type": "[str]"},
+ }
+
+ def __init__(self, *, entity_types: Optional[List[str]] = None, resource_ids: Optional[List[str]] = None, **kwargs):
+ """
+ :keyword entity_types:
+ :paramtype entity_types: list[str]
+ :keyword resource_ids:
+ :paramtype resource_ids: list[str]
+ """
+ super(UxWarmUpRequest, self).__init__(**kwargs)
+ self.entity_types = entity_types
+ self.resource_ids = resource_ids
+
+
+class VersionedAttribute(msrest.serialization.Model):
+ """VersionedAttribute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required.
+ :vartype name: str
+ :ivar version: Required.
+ :vartype version: str
+ """
+
+ _validation = {
+ "name": {"required": True},
+ "version": {"required": True},
+ }
+
+ _attribute_map = {
+ "name": {"key": "name", "type": "str"},
+ "version": {"key": "version", "type": "str"},
+ }
+
+ def __init__(self, *, name: str, version: str, **kwargs):
+ """
+ :keyword name: Required.
+ :paramtype name: str
+ :keyword version: Required.
+ :paramtype version: str
+ """
+ super(VersionedAttribute, self).__init__(**kwargs)
+ self.name = name
+ self.version = version
+
+
+class Webhook(msrest.serialization.Model):
+ """Webhook.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar webhook_type: Has constant value: "AzureDevOps".
+ :vartype webhook_type: str
+ :ivar event_type: Required.
+ :vartype event_type: str
+ """
+
+ _validation = {
+ "webhook_type": {"required": True, "constant": True},
+ "event_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "webhook_type": {"key": "webhookType", "type": "str"},
+ "event_type": {"key": "eventType", "type": "str"},
+ }
+
+ webhook_type = "AzureDevOps"
+
+ def __init__(self, *, event_type: str, **kwargs):
+ """
+ :keyword event_type: Required.
+ :paramtype event_type: str
+ """
+ super(Webhook, self).__init__(**kwargs)
+ self.event_type = event_type
+
+
+class WorkspaceContextWarmUpRequest(msrest.serialization.Model):
+ """WorkspaceContextWarmUpRequest.
+
+ :ivar discover_registries:
+ :vartype discover_registries: bool
+ """
+
+ _attribute_map = {
+ "discover_registries": {"key": "discoverRegistries", "type": "bool"},
+ }
+
+ def __init__(self, *, discover_registries: Optional[bool] = None, **kwargs):
+ """
+ :keyword discover_registries:
+ :paramtype discover_registries: bool
+ """
+ super(WorkspaceContextWarmUpRequest, self).__init__(**kwargs)
+ self.discover_registries = discover_registries
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/__init__.py
new file mode 100644
index 00000000..19ac2fed
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/__init__.py
@@ -0,0 +1,11 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._index_entities_operations import IndexEntitiesOperations
+
+__all__ = [
+ "IndexEntitiesOperations",
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/_index_entities_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/_index_entities_operations.py
new file mode 100644
index 00000000..c00e58ca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/operations/_index_entities_operations.py
@@ -0,0 +1,151 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.6.2, generator: @autorest/python@5.12.6)
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ map_error,
+)
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+
+ T = TypeVar("T")
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_get_entites_cross_region_request(
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json, text/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/ux/v1.0/entities/crossRegion")
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+# fmt: on
+class IndexEntitiesOperations(object):
+ """IndexEntitiesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~index_service_apis.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def get_entites_cross_region(
+ self,
+ body=None, # type: Optional["_models.CrossRegionIndexEntitiesRequest"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.IndexEntitiesResponse"]
+ """get_entites_cross_region.
+
+ :param body:
+ :type body: ~index_service_apis.models.CrossRegionIndexEntitiesRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either IndexEntitiesResponse or the result of
+ cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~index_service_apis.models.IndexEntitiesResponse]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ content_type = kwargs.pop("content_type", "application/json-patch+json") # type: Optional[str]
+
+ cls = kwargs.pop("cls", None) # type: ClsType["_models.IndexEntitiesResponse"]
+ error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
+ error_map.update(kwargs.pop("error_map", {}))
+
+ def prepare_request(next_link=None):
+ if body is not None:
+ body.index_entities_request.continuation_token = next_link
+ _json = self._serialize.body(body, "CrossRegionIndexEntitiesRequest")
+ else:
+ _json = None
+
+ request = build_get_entites_cross_region_request(
+ content_type=content_type,
+ json=_json,
+ template_url=self.get_entites_cross_region.metadata["url"],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize(
+ "CrossRegionIndexEntitiesResponse", pipeline_response
+ ).index_entities_response
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.continuation_token, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=False, **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+ return ItemPaged(get_next, extract_data)
+
+ get_entites_cross_region.metadata = {"url": "/ux/v1.0/entities/crossRegion"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/py.typed b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/py.typed
new file mode 100644
index 00000000..e5aff4f8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/index_service_apis/py.typed
@@ -0,0 +1 @@
+# Marker file for PEP 561. \ No newline at end of file
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_workspace_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_workspace_utils.py
new file mode 100644
index 00000000..fc6a3157
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/_workspace_utils.py
@@ -0,0 +1,99 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+import logging
+import random
+import uuid
+
+from azure.ai.ml._azure_environments import _get_base_url_from_metadata, _resource_to_scopes
+from azure.ai.ml._vendor.azure_resources._resource_management_client import ResourceManagementClient
+from azure.ai.ml._vendor.azure_resources.models import GenericResource
+from azure.ai.ml.constants._common import ArmConstants
+from azure.core.credentials import TokenCredential
+
+module_logger = logging.getLogger(__name__)
+
+
+def get_name_for_dependent_resource(workspace_name: str, resource_type: str) -> str:
+ alphabets_str = ""
+ for char in workspace_name.lower():
+ if char.isalpha() or char.isdigit():
+ alphabets_str = alphabets_str + char
+ rand_str = str(uuid.uuid4()).replace("-", "")
+ resource_name = alphabets_str[:8] + resource_type[:8] + rand_str
+ return resource_name[:24]
+
+
+def get_deployment_name(name: str):
+ random.seed(version=2)
+ return f"{name}-{random.randint(1, 10000000)}"
+
+
+def get_resource_group_location(credentials: TokenCredential, subscription_id: str, resource_group_name: str) -> str:
+ arm_hostname = _get_base_url_from_metadata()
+ client = ResourceManagementClient(
+ credential=credentials,
+ subscription_id=subscription_id,
+ base_url=arm_hostname,
+ api_version=ArmConstants.AZURE_MGMT_RESOURCE_API_VERSION,
+ credential_scopes=_resource_to_scopes(arm_hostname),
+ )
+ rg = client.resource_groups.get(resource_group_name)
+ return rg.location
+
+
+def get_generic_arm_resource_by_arm_id(
+ credentials: TokenCredential,
+ subscription_id: str,
+ arm_id: str,
+ api_version: str,
+) -> GenericResource:
+ if arm_id:
+ arm_hostname = _get_base_url_from_metadata()
+ client = ResourceManagementClient(
+ credential=credentials,
+ subscription_id=subscription_id,
+ base_url=arm_hostname,
+ api_version=ArmConstants.AZURE_MGMT_RESOURCE_API_VERSION,
+ credential_scopes=_resource_to_scopes(arm_hostname),
+ )
+ return client.resources.get_by_id(arm_id, api_version)
+ return None
+
+
+def delete_resource_by_arm_id(
+ credentials: TokenCredential,
+ subscription_id: str,
+ arm_id: str,
+ api_version: str,
+) -> None:
+ if arm_id:
+ arm_hostname = _get_base_url_from_metadata()
+ client = ResourceManagementClient(
+ credential=credentials,
+ subscription_id=subscription_id,
+ base_url=arm_hostname,
+ api_version=ArmConstants.AZURE_MGMT_RESOURCE_API_VERSION,
+ credential_scopes=_resource_to_scopes(arm_hostname),
+ )
+ client.resources.begin_delete_by_id(arm_id, api_version)
+
+
+def get_resource_and_group_name(armstr: str) -> str:
+ return armstr.split("/")[-1], armstr.split("/")[-5]
+
+
+def get_sub_id_resource_and_group_name(armstr: str) -> str:
+ return armstr.split("/")[-7], armstr.split("/")[-1], armstr.split("/")[-5]
+
+
+def get_endpoint_parts(arm_id: str, subnet_arm_id: str) -> ():
+ arm_id_parts = arm_id.split("/")
+ subnet_id_parts = subnet_arm_id.split("/")
+ conn_name = arm_id_parts[-1]
+ subscription_id = arm_id_parts[2]
+ resource_group = arm_id_parts[4]
+ vnet_name = subnet_id_parts[-3]
+ subnet_name = subnet_id_parts[-1]
+ return conn_name, subscription_id, resource_group, vnet_name, subnet_name
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/azure_resource_utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/azure_resource_utils.py
new file mode 100644
index 00000000..c038b7d0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/azure_resource_utils.py
@@ -0,0 +1,79 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+
+from typing import Dict, List, Optional
+
+from azure.core.credentials import TokenCredential
+
+from .._vendor.azure_resources import ResourceManagementClient
+
+
+def get_resources_from_subscriptions(
+ strQuery: str, credential: TokenCredential, subscription_list: Optional[List[str]] = None
+):
+ # If a subscription list is passed in, use it. Otherwise, get all subscriptions
+ subsList = []
+ if subscription_list is not None:
+ subsList = subscription_list
+ else:
+ try:
+ from azure.mgmt.resource import SubscriptionClient
+ except ImportError as e:
+ raise ImportError("azure-mgmt-resource is required to get all accessible subscriptions") from e
+
+ subsClient = SubscriptionClient(credential)
+ for sub in subsClient.subscriptions.list():
+ subsList.append(sub.as_dict().get("subscription_id"))
+
+ try:
+ import azure.mgmt.resourcegraph as arg
+ except ImportError as e:
+ raise ImportError("azure-mgmt-resourcegraph is required query resources from subscriptions") from e
+
+ # Create Azure Resource Graph client and set options
+ argClient = arg.ResourceGraphClient(credential)
+ argQueryOptions = arg.models.QueryRequestOptions(result_format="objectArray")
+
+ # Create query
+ argQuery = arg.models.QueryRequest(subscriptions=subsList, query=strQuery, options=argQueryOptions)
+
+ # Allowing API version to be set is yet to be released by azure-mgmt-resourcegraph,
+ # hence the commented out code below. This is the API version Studio UX is using.
+ # return argClient.resources(argQuery, api_version="2021-03-01")
+
+ return argClient.resources(argQuery)
+
+
+def get_virtual_clusters_from_subscriptions(
+ credential: TokenCredential, subscription_list: Optional[List[str]] = None
+) -> List[Dict]:
+ # cspell:ignore tolower
+ strQuery = """resources
+ | where type == 'microsoft.machinelearningservices/virtualclusters'
+ | order by tolower(name) asc
+ | project id, subscriptionId, resourceGroup, name, location, tags, type"""
+
+ return get_resources_from_subscriptions(strQuery, credential, subscription_list).data
+
+
+def get_generic_resource_by_id(
+ arm_id: str, credential: TokenCredential, subscription_id: str, api_version: Optional[str] = None
+) -> Dict:
+ resource_client = ResourceManagementClient(credential, subscription_id)
+ generic_resource = resource_client.resources.get_by_id(arm_id, api_version)
+
+ return generic_resource.as_dict()
+
+
+def get_virtual_cluster_by_name(
+ name: str, resource_group: str, subscription_id: str, credential: TokenCredential
+) -> Dict:
+ arm_id = (
+ f"/subscriptions/{subscription_id}/resourceGroups/{resource_group}"
+ f"/providers/Microsoft.MachineLearningServices/virtualClusters/{name}"
+ )
+
+ # This is the API version Studio UX is using.
+ return get_generic_resource_by_id(arm_id, credential, subscription_id, api_version="2021-03-01-preview")
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/utils.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/utils.py
new file mode 100644
index 00000000..74b6352b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_utils/utils.py
@@ -0,0 +1,1429 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=protected-access,too-many-lines
+import copy
+import decimal
+import hashlib
+import json
+import logging
+import os
+import random
+import re
+import string
+import sys
+import tempfile
+import time
+import warnings
+from collections import OrderedDict
+from contextlib import contextmanager, nullcontext
+from datetime import timedelta
+from functools import singledispatch, wraps
+from os import PathLike
+from pathlib import Path, PureWindowsPath
+from typing import IO, Any, AnyStr, Callable, Dict, Iterable, List, Optional, Tuple, Union
+from urllib.parse import urlparse
+from uuid import UUID
+
+import isodate
+import pydash
+import yaml
+
+from azure.ai.ml._restclient.v2022_05_01.models import ListViewType, ManagedServiceIdentity
+from azure.ai.ml._scope_dependent_operations import OperationScope
+from azure.ai.ml._utils._http_utils import HttpPipeline
+from azure.ai.ml.constants._common import (
+ AZUREML_DISABLE_CONCURRENT_COMPONENT_REGISTRATION,
+ AZUREML_DISABLE_ON_DISK_CACHE_ENV_VAR,
+ AZUREML_INTERNAL_COMPONENTS_ENV_VAR,
+ AZUREML_INTERNAL_COMPONENTS_SCHEMA_PREFIX,
+ AZUREML_PRIVATE_FEATURES_ENV_VAR,
+ CommonYamlFields,
+ DefaultOpenEncoding,
+ WorkspaceDiscoveryUrlKey,
+)
+from azure.ai.ml.exceptions import MlException
+from azure.core.pipeline.policies import RetryPolicy
+
+module_logger = logging.getLogger(__name__)
+
+DEVELOPER_URL_MFE_ENV_VAR = "AZUREML_DEV_URL_MFE"
+
+# Prefix used when hitting MFE skipping ARM
+MFE_PATH_PREFIX = "/mferp/managementfrontend"
+
+
+def _get_mfe_url_override() -> Optional[str]:
+ return os.getenv(DEVELOPER_URL_MFE_ENV_VAR)
+
+
+def _is_https_url(url: str) -> Union[bool, str]:
+ if url:
+ return url.lower().startswith("https")
+ return False
+
+
+def _csv_parser(text: Optional[str], convert: Callable) -> Optional[str]:
+ if not text:
+ return None
+ if "," in text:
+ return ",".join(convert(t.strip()) for t in text.split(","))
+
+ return convert(text)
+
+
+def _snake_to_pascal_convert(text: str) -> str:
+ return string.capwords(text.replace("_", " ")).replace(" ", "")
+
+
+def snake_to_pascal(text: Optional[str]) -> str:
+ """Convert snake name to pascal.
+
+ :param text: String to convert
+ :type text: Optional[str]
+ :return:
+ * None if text is None
+ * Converted text from snake_case to PascalCase
+ :rtype: Optional[str]
+ """
+ return _csv_parser(text, _snake_to_pascal_convert)
+
+
+def snake_to_kebab(text: Optional[str]) -> Optional[str]:
+ """Convert snake name to kebab.
+
+ :param text: String to convert
+ :type text: Optional[str]
+ :return:
+ * None if text is None
+ * Converted text from snake_case to kebab-case
+ :rtype: Optional[str]
+ """
+ if text:
+ return re.sub("_", "-", text)
+ return None
+
+
+# https://stackoverflow.com/questions/1175208
+# This works for pascal to snake as well
+def _camel_to_snake_convert(text: str) -> str:
+ text = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", text)
+ return re.sub("([a-z0-9])([A-Z])", r"\1_\2", text).lower()
+
+
+def camel_to_snake(text: str) -> Optional[str]:
+ """Convert camel name to snake.
+
+ :param text: String to convert
+ :type text: str
+ :return:
+ * None if text is None
+ * Converted text from camelCase to snake_case
+ :rtype: Optional[str]
+ """
+ return _csv_parser(text, _camel_to_snake_convert)
+
+
+# This is snake to camel back which is different from snake to camel
+# https://stackoverflow.com/questions/19053707
+def snake_to_camel(text: Optional[str]) -> Optional[str]:
+ """Convert snake name to camel.
+
+ :param text: String to convert
+ :type text: Optional[str]
+ :return:
+ * None if text is None
+ * Converted text from snake_case to camelCase
+ :rtype: Optional[str]
+ """
+ if text:
+ return re.sub("_([a-zA-Z0-9])", lambda m: m.group(1).upper(), text)
+ return None
+
+
+# This is real snake to camel
+def _snake_to_camel(name):
+ return re.sub(r"(?:^|_)([a-z])", lambda x: x.group(1).upper(), name)
+
+
+def float_to_str(f):
+ """Convert a float to a string without scientific notation.
+
+ :param f: Float to convert
+ :type f: float
+ :return: String representation of the float
+ :rtype: str
+ """
+ with decimal.localcontext() as ctx:
+ ctx.prec = 20 # Support up to 20 significant figures.
+ float_as_dec = ctx.create_decimal(repr(f))
+ return format(float_as_dec, "f")
+
+
+def create_requests_pipeline_with_retry(*, requests_pipeline: HttpPipeline, retries: int = 3) -> HttpPipeline:
+ """Creates an HttpPipeline that reuses the same configuration as the supplied pipeline (including the transport),
+ but overwrites the retry policy.
+
+ :keyword requests_pipeline: Pipeline to base new one off of.
+ :paramtype requests_pipeline: HttpPipeline
+ :keyword retries: Number of retries. Defaults to 3.
+ :paramtype retries: int
+ :return: Pipeline identical to provided one, except with a new retry policy
+ :rtype: HttpPipeline
+ """
+ return requests_pipeline.with_policies(retry_policy=get_retry_policy(num_retry=retries))
+
+
+def get_retry_policy(num_retry: int = 3) -> RetryPolicy:
+ """Retrieves a retry policy to use in an azure.core.pipeline.Pipeline
+
+ :param num_retry: The number of retries
+ :type num_retry: int
+ :return: Returns the msrest or requests REST client retry policy.
+ :rtype: RetryPolicy
+ """
+ status_forcelist = [413, 429, 500, 502, 503, 504]
+ backoff_factor = 0.4
+ return RetryPolicy(
+ retry_total=num_retry,
+ retry_read=num_retry,
+ retry_connect=num_retry,
+ retry_backoff_factor=backoff_factor,
+ retry_on_status_codes=status_forcelist,
+ )
+
+
+def download_text_from_url(
+ source_uri: str,
+ requests_pipeline: HttpPipeline,
+ timeout: Optional[Union[float, Tuple[float, float]]] = None,
+) -> str:
+ """Downloads the content from an URL.
+
+ :param source_uri: URI to download
+ :type source_uri: str
+ :param requests_pipeline: Used to send the request
+ :type requests_pipeline: HttpPipeline
+ :param timeout: One of
+ * float that specifies the connect and read time outs
+ * a 2-tuple that specifies the connect and read time out in that order
+ :type timeout: Union[float, Tuple[float, float]]
+ :return: The Response text
+ :rtype: str
+ """
+ if not timeout:
+ timeout_params = {}
+ else:
+ connect_timeout, read_timeout = timeout if isinstance(timeout, tuple) else (timeout, timeout)
+ timeout_params = {"read_timeout": read_timeout, "connection_timeout": connect_timeout}
+
+ response = requests_pipeline.get(source_uri, **timeout_params)
+ # Match old behavior from execution service's status API.
+ if response.status_code == 404:
+ return ""
+
+ # _raise_request_error(response, "Retrieving content from " + uri)
+ return response.text()
+
+
+def load_file(file_path: str) -> str:
+ """Load a local file.
+
+ :param file_path: The relative or absolute path to the local file.
+ :type file_path: str
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if file or folder cannot be found.
+ :return: A string representation of the local file's contents.
+ :rtype: str
+ """
+ from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ try:
+ with open(file_path, "r", encoding=DefaultOpenEncoding.READ) as f:
+ cfg = f.read()
+ except OSError as e: # FileNotFoundError introduced in Python 3
+ msg = "No such file or directory: {}"
+ raise ValidationException(
+ message=msg.format(file_path),
+ no_personal_data_message=msg.format("[file_path]"),
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.FILE_OR_FOLDER_NOT_FOUND,
+ ) from e
+ return cfg
+
+
+def load_json(file_path: Optional[Union[str, os.PathLike]]) -> Dict:
+ """Load a local json file.
+
+ :param file_path: The relative or absolute path to the local file.
+ :type file_path: Union[str, os.PathLike]
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if file or folder cannot be found.
+ :return: A dictionary representation of the local file's contents.
+ :rtype: Dict
+ """
+ from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ try:
+ with open(file_path, "r", encoding=DefaultOpenEncoding.READ) as f:
+ cfg = json.load(f)
+ except OSError as e: # FileNotFoundError introduced in Python 3
+ msg = "No such file or directory: {}"
+ raise ValidationException(
+ message=msg.format(file_path),
+ no_personal_data_message=msg.format("[file_path]"),
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.FILE_OR_FOLDER_NOT_FOUND,
+ ) from e
+ return cfg
+
+
+def load_yaml(source: Optional[Union[AnyStr, PathLike, IO]]) -> Dict:
+ # null check - just return an empty dict.
+ # Certain CLI commands rely on this behavior to produce a resource
+ # via CLI, which is then populated through CLArgs.
+ """Load a local YAML file.
+
+ :param source: Either
+ * The relative or absolute path to the local file.
+ * A readable File-like object
+ :type source: Optional[Union[AnyStr, PathLike, IO]]
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if file or folder cannot be successfully loaded.
+ Details will be provided in the error message.
+ :return: A dictionary representation of the local file's contents.
+ :rtype: Dict
+ """
+ from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ if source is None:
+ return {}
+
+ if isinstance(source, (str, os.PathLike)):
+ try:
+ cm = open(source, "r", encoding=DefaultOpenEncoding.READ)
+ except OSError as e:
+ msg = "No such file or directory: {}"
+ raise ValidationException(
+ message=msg.format(source),
+ no_personal_data_message=msg.format("[file_path]"),
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.FILE_OR_FOLDER_NOT_FOUND,
+ ) from e
+ else:
+ # source is a subclass of IO
+ if not source.readable():
+ msg = "File Permissions Error: The already-open \n\n inputted file is not readable."
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message="File Permissions error",
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+ cm = nullcontext(enter_result=source)
+
+ with cm as f:
+ try:
+ return yaml.safe_load(f)
+ except yaml.YAMLError as e:
+ msg = f"Error while parsing yaml file: {source} \n\n {str(e)}"
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message="Error while parsing yaml file",
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.CANNOT_PARSE,
+ ) from e
+
+
+# pylint: disable-next=docstring-missing-param
+def dump_yaml(*args, **kwargs):
+ """A thin wrapper over yaml.dump which forces `OrderedDict`s to be serialized as mappings.
+
+ Otherwise behaves identically to yaml.dump
+
+ :return: The yaml object
+ :rtype: Any
+ """
+
+ class OrderedDumper(yaml.Dumper):
+ """A modified yaml serializer that forces pyyaml to represent an OrderedDict as a mapping instead of a
+ sequence."""
+
+ OrderedDumper.add_representer(OrderedDict, yaml.representer.SafeRepresenter.represent_dict)
+ return yaml.dump(*args, Dumper=OrderedDumper, **kwargs)
+
+
+def dump_yaml_to_file(
+ dest: Optional[Union[AnyStr, PathLike, IO]],
+ data_dict: Union[OrderedDict, Dict],
+ default_flow_style=False,
+ args=None, # pylint: disable=unused-argument
+ **kwargs,
+) -> None:
+ """Dump dictionary to a local YAML file.
+
+ :param dest: The relative or absolute path where the YAML dictionary will be dumped.
+ :type dest: Optional[Union[AnyStr, PathLike, IO]]
+ :param data_dict: Dictionary representing a YAML object
+ :type data_dict: Union[OrderedDict, Dict]
+ :param default_flow_style: Use flow style for formatting nested YAML collections
+ instead of block style. Defaults to False.
+ :type default_flow_style: bool
+ :param path: Deprecated. Use 'dest' param instead.
+ :type path: Optional[Union[AnyStr, PathLike]]
+ :param args: Deprecated.
+ :type: Any
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if object cannot be successfully dumped.
+ Details will be provided in the error message.
+ """
+ from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+ # Check for deprecated path input, either named or as first unnamed input
+ path = kwargs.pop("path", None)
+ if dest is None:
+ if path is not None:
+ dest = path
+ warnings.warn(
+ "the 'path' input for dump functions is deprecated. Please use 'dest' instead.", DeprecationWarning
+ )
+ else:
+ msg = "No dump destination provided."
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message="No dump destination Provided",
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.MISSING_FIELD,
+ )
+
+ if isinstance(dest, (str, os.PathLike)):
+ try:
+ cm = open(dest, "w", encoding=DefaultOpenEncoding.WRITE)
+ except OSError as e: # FileNotFoundError introduced in Python 3
+ msg = "No such parent folder path or not a file path: {}"
+ raise ValidationException(
+ message=msg.format(dest),
+ no_personal_data_message=msg.format("[file_path]"),
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.FILE_OR_FOLDER_NOT_FOUND,
+ ) from e
+ else:
+ # dest is a subclass of IO
+ if not dest.writable(): # dest is misformatted stream or file
+ msg = "File Permissions Error: The already-open \n\n inputted file is not writable."
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message="File Permissions error",
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.CANNOT_PARSE,
+ )
+ cm = nullcontext(enter_result=dest)
+
+ with cm as f:
+ try:
+ dump_yaml(data_dict, f, default_flow_style=default_flow_style)
+ except yaml.YAMLError as e:
+ msg = f"Error while parsing yaml file \n\n {str(e)}"
+ raise ValidationException(
+ message=msg,
+ no_personal_data_message="Error while parsing yaml file",
+ error_category=ErrorCategory.USER_ERROR,
+ target=ErrorTarget.GENERAL,
+ error_type=ValidationErrorType.CANNOT_PARSE,
+ ) from e
+
+
+def dict_eq(dict1: Dict[str, Any], dict2: Dict[str, Any]) -> bool:
+ """Compare two dictionaries.
+
+ :param dict1: The first dictionary
+ :type dict1: Dict[str, Any]
+ :param dict2: The second dictionary
+ :type dict2: Dict[str, Any]
+ :return: True if the two dictionaries are equal, False otherwise
+ :rtype: bool
+ """
+ if not dict1 and not dict2:
+ return True
+ return dict1 == dict2
+
+
+def xor(a: Any, b: Any) -> bool:
+ """XOR two values.
+
+ :param a: The first value
+ :type a: Any
+ :param b: The second value
+ :type b: Any
+ :return: False if the two values are both True or both False, True otherwise
+ :rtype: bool
+ """
+ return bool(a) != bool(b)
+
+
+def is_url(value: Union[PathLike, str]) -> bool:
+ """Check if a string is a valid URL.
+
+ :param value: The string to check
+ :type value: Union[PathLike, str]
+ :return: True if the string is a valid URL, False otherwise
+ :rtype: bool
+ """
+ try:
+ result = urlparse(str(value))
+ return all([result.scheme, result.netloc])
+ except ValueError:
+ return False
+
+
+# Resolve an URL to long form if it is an azureml short from datastore URL, otherwise return the same value
+def resolve_short_datastore_url(value: Union[PathLike, str], workspace: OperationScope) -> str:
+ """Resolve an URL to long form if it is an azureml short from datastore URL, otherwise return the same value.
+
+ :param value: The URL to resolve
+ :type value: Union[PathLike, str]
+ :param workspace: The workspace
+ :type workspace: OperationScope
+ :return: The resolved URL
+ :rtype: str
+ """
+ from azure.ai.ml.exceptions import ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ try:
+ # Check if the URL is an azureml URL
+ if urlparse(str(value)).scheme == "azureml":
+ from azure.ai.ml._utils._storage_utils import AzureMLDatastorePathUri
+
+ data_store_path_uri = AzureMLDatastorePathUri(value)
+ if data_store_path_uri.uri_type == "Datastore":
+ return AzureMLDatastorePathUri(value).to_long_uri(
+ subscription_id=workspace.subscription_id,
+ resource_group_name=workspace.resource_group_name,
+ workspace_name=workspace.workspace_name,
+ )
+
+ except (ValueError, ValidationException):
+ pass
+
+ # If the URL is not an valid URL (e.g. a local path) or not an azureml URL
+ # (e.g. a http URL), just return the same value
+ return value
+
+
+def is_mlflow_uri(value: Union[PathLike, str]) -> bool:
+ """Check if a string is a valid mlflow uri.
+
+ :param value: The string to check
+ :type value: Union[PathLike, str]
+ :return: True if the string is a valid mlflow uri, False otherwise
+ :rtype: bool
+ """
+ try:
+ return urlparse(str(value)).scheme == "runs"
+ except ValueError:
+ return False
+
+
+def validate_ml_flow_folder(path: str, model_type: string) -> None:
+ """Validate that the path is a valid ml flow folder.
+
+ :param path: The path to validate
+ :type path: str
+ :param model_type: The model type
+ :type model_type: str
+ :return: No return value
+ :rtype: None
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if the path is not a valid ml flow folder.
+ """
+ from azure.ai.ml.exceptions import ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ if not isinstance(path, str):
+ path = path.as_posix()
+ path_array = path.split("/")
+ if model_type != "mlflow_model" or "." not in path_array[-1]:
+ return
+ msg = "Error with path {}. Model of type mlflow_model cannot register a file."
+ raise ValidationException(
+ message=msg.format(path),
+ no_personal_data_message=msg.format("[path]"),
+ target=ErrorTarget.MODEL,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ )
+
+
+# modified from: https://stackoverflow.com/a/33245493/8093897
+def is_valid_uuid(test_uuid: str) -> bool:
+ """Check if a string is a valid UUID.
+
+ :param test_uuid: The string to check
+ :type test_uuid: str
+ :return: True if the string is a valid UUID, False otherwise
+ :rtype: bool
+ """
+ try:
+ uuid_obj = UUID(test_uuid, version=4)
+ except ValueError:
+ return False
+ return str(uuid_obj) == test_uuid
+
+
+@singledispatch
+def from_iso_duration_format(duration: Optional[Any] = None) -> int: # pylint: disable=unused-argument
+ """Convert ISO duration format to seconds.
+
+ :param duration: The duration to convert
+ :type duration: Optional[Any]
+ :return: The converted duration
+ :rtype: int
+ """
+ return None
+
+
+@from_iso_duration_format.register(str)
+def _(duration: str) -> int:
+ return int(isodate.parse_duration(duration).total_seconds())
+
+
+@from_iso_duration_format.register(timedelta)
+def _(duration: timedelta) -> int:
+ return int(duration.total_seconds())
+
+
+def to_iso_duration_format_mins(time_in_mins: Optional[Union[int, float]]) -> str:
+ """Convert minutes to ISO duration format.
+
+ :param time_in_mins: The time in minutes to convert
+ :type time_in_mins: Optional[Union[int, float]]
+ :return: The converted time in ISO duration format
+ :rtype: str
+ """
+ return isodate.duration_isoformat(timedelta(minutes=time_in_mins)) if time_in_mins else None
+
+
+def from_iso_duration_format_mins(duration: Optional[str]) -> int:
+ """Convert ISO duration format to minutes.
+
+ :param duration: The duration to convert
+ :type duration: Optional[str]
+ :return: The converted duration
+ :rtype: int
+ """
+ return int(from_iso_duration_format(duration) / 60) if duration else None
+
+
+def to_iso_duration_format(time_in_seconds: Optional[Union[int, float]]) -> str:
+ """Convert seconds to ISO duration format.
+
+ :param time_in_seconds: The time in seconds to convert
+ :type time_in_seconds: Optional[Union[int, float]]
+ :return: The converted time in ISO duration format
+ :rtype: str
+ """
+ return isodate.duration_isoformat(timedelta(seconds=time_in_seconds)) if time_in_seconds else None
+
+
+def to_iso_duration_format_ms(time_in_ms: Optional[Union[int, float]]) -> str:
+ """Convert milliseconds to ISO duration format.
+
+ :param time_in_ms: The time in milliseconds to convert
+ :type time_in_ms: Optional[Union[int, float]]
+ :return: The converted time in ISO duration format
+ :rtype: str
+ """
+ return isodate.duration_isoformat(timedelta(milliseconds=time_in_ms)) if time_in_ms else None
+
+
+def from_iso_duration_format_ms(duration: Optional[str]) -> int:
+ """Convert ISO duration format to milliseconds.
+
+ :param duration: The duration to convert
+ :type duration: Optional[str]
+ :return: The converted duration
+ :rtype: int
+ """
+ return from_iso_duration_format(duration) * 1000 if duration else None
+
+
+def to_iso_duration_format_days(time_in_days: Optional[int]) -> str:
+ """Convert days to ISO duration format.
+
+ :param time_in_days: The time in days to convert
+ :type time_in_days: Optional[int]
+ :return: The converted time in ISO duration format
+ :rtype: str
+ """
+ return isodate.duration_isoformat(timedelta(days=time_in_days)) if time_in_days else None
+
+
+@singledispatch
+def from_iso_duration_format_days(duration: Optional[Any] = None) -> int: # pylint: disable=unused-argument
+ return None
+
+
+@from_iso_duration_format_days.register(str)
+def _(duration: str) -> int:
+ return int(isodate.parse_duration(duration).days)
+
+
+@from_iso_duration_format_days.register(timedelta)
+def _(duration: timedelta) -> int:
+ return int(duration.days)
+
+
+def _get_base_urls_from_discovery_service(
+ workspace_operations: "WorkspaceOperations", workspace_name: str, requests_pipeline: HttpPipeline
+) -> Dict[WorkspaceDiscoveryUrlKey, str]:
+ """Fetch base urls for a workspace from the discovery service.
+
+ :param WorkspaceOperations workspace_operations:
+ :param str workspace_name: The name of the workspace
+ :param HttpPipeline requests_pipeline: An HTTP pipeline to make requests with
+ :returns: A dictionary mapping url types to base urls
+ :rtype: Dict[WorkspaceDiscoveryUrlKey,str]
+ """
+ discovery_url = workspace_operations.get(workspace_name).discovery_url
+
+ return json.loads(
+ download_text_from_url(
+ discovery_url,
+ create_requests_pipeline_with_retry(requests_pipeline=requests_pipeline),
+ )
+ )
+
+
+def _get_mfe_base_url_from_discovery_service(
+ workspace_operations: Any, workspace_name: str, requests_pipeline: HttpPipeline
+) -> str:
+ all_urls = _get_base_urls_from_discovery_service(workspace_operations, workspace_name, requests_pipeline)
+ return f"{all_urls[WorkspaceDiscoveryUrlKey.API]}{MFE_PATH_PREFIX}"
+
+
+def _get_mfe_base_url_from_registry_discovery_service(
+ workspace_operations: Any, workspace_name: str, requests_pipeline: HttpPipeline
+) -> str:
+ all_urls = _get_base_urls_from_discovery_service(workspace_operations, workspace_name, requests_pipeline)
+ return all_urls[WorkspaceDiscoveryUrlKey.API]
+
+
+def _get_workspace_base_url(workspace_operations: Any, workspace_name: str, requests_pipeline: HttpPipeline) -> str:
+ all_urls = _get_base_urls_from_discovery_service(workspace_operations, workspace_name, requests_pipeline)
+ return all_urls[WorkspaceDiscoveryUrlKey.API]
+
+
+def _get_mfe_base_url_from_batch_endpoint(endpoint: "BatchEndpoint") -> str:
+ return endpoint.scoring_uri.split("/subscriptions/")[0]
+
+
+# Allows to use a modified client with a provided url
+@contextmanager
+def modified_operation_client(operation_to_modify, url_to_use):
+ """Modify the operation client to use a different url.
+
+ :param operation_to_modify: The operation to modify
+ :type operation_to_modify: Any
+ :param url_to_use: The url to use
+ :type url_to_use: str
+ :return: The modified operation
+ :rtype: Any
+ """
+ original_api_base_url = None
+ try:
+ # Modify the operation
+ if url_to_use:
+ original_api_base_url = operation_to_modify._client._base_url
+ operation_to_modify._client._base_url = url_to_use
+ yield
+ finally:
+ # Undo the modification
+ if original_api_base_url:
+ operation_to_modify._client._base_url = original_api_base_url
+
+
+def from_iso_duration_format_min_sec(duration: Optional[str]) -> str:
+ """Convert ISO duration format to min:sec format.
+
+ :param duration: The duration to convert
+ :type duration: Optional[str]
+ :return: The converted duration
+ :rtype: str
+ """
+ return duration.split(".")[0].replace("PT", "").replace("M", "m ") + "s"
+
+
+def hash_dict(items: Dict[str, Any], keys_to_omit: Optional[Iterable[str]] = None) -> str:
+ """Return hash GUID of a dictionary except keys_to_omit.
+
+ :param items: The dict to hash
+ :type items: Dict[str, Any]
+ :param keys_to_omit: Keys to omit before hashing
+ :type keys_to_omit: Optional[Iterable[str]]
+ :return: The hash GUID of the dictionary
+ :rtype: str
+ """
+ if keys_to_omit is None:
+ keys_to_omit = []
+ items = pydash.omit(items, keys_to_omit)
+ # serialize dict with order so same dict will have same content
+ serialized_component_interface = json.dumps(items, sort_keys=True)
+ object_hash = hashlib.md5() # nosec
+ object_hash.update(serialized_component_interface.encode("utf-8"))
+ return str(UUID(object_hash.hexdigest()))
+
+
+def convert_identity_dict(
+ identity: Optional[ManagedServiceIdentity] = None,
+) -> ManagedServiceIdentity:
+ """Convert identity to the right format.
+
+ :param identity: The identity to convert
+ :type identity: Optional[ManagedServiceIdentity]
+ :return: The converted identity
+ :rtype: ManagedServiceIdentity
+ """
+ if identity:
+ if identity.type.lower() in ("system_assigned", "none"):
+ identity = ManagedServiceIdentity(type="SystemAssigned")
+ else:
+ if identity.user_assigned_identities:
+ if isinstance(identity.user_assigned_identities, dict): # if the identity is already in right format
+ return identity
+ ids = {}
+ for id in identity.user_assigned_identities: # pylint: disable=redefined-builtin
+ ids[id["resource_id"]] = {}
+ identity.user_assigned_identities = ids
+ identity.type = snake_to_camel(identity.type)
+ else:
+ identity = ManagedServiceIdentity(type="SystemAssigned")
+ return identity
+
+
+def strip_double_curly(io_binding_val: str) -> str:
+ """Strip double curly brackets from a string.
+
+ :param io_binding_val: The string to strip
+ :type io_binding_val: str
+ :return: The string with double curly brackets stripped
+ :rtype: str
+ """
+ return io_binding_val.replace("${{", "").replace("}}", "")
+
+
+def append_double_curly(io_binding_val: str) -> str:
+ """Append double curly brackets to a string.
+
+ :param io_binding_val: The string to append to
+ :type io_binding_val: str
+ :return: The string with double curly brackets appended
+ :rtype: str
+ """
+ return f"${{{{{io_binding_val}}}}}"
+
+
+def map_single_brackets_and_warn(command: str) -> str:
+ """Map single brackets to double brackets and warn if found.
+
+ :param command: The command to map
+ :type command: str
+ :return: The mapped command
+ :rtype: str
+ """
+
+ def _check_for_parameter(param_prefix: str, command_string: str) -> Tuple[bool, str]:
+ template_prefix = r"(?<!\{)\{"
+ template_suffix = r"\.([^}]*)\}(?!\})"
+ template = template_prefix + param_prefix + template_suffix
+ should_warn = False
+ if bool(re.search(template, command_string)):
+ should_warn = True
+ command_string = re.sub(template, r"${{" + param_prefix + r".\g<1>}}", command_string)
+ return (should_warn, command_string)
+
+ input_warn, command = _check_for_parameter("inputs", command)
+ output_warn, command = _check_for_parameter("outputs", command)
+ sweep_warn, command = _check_for_parameter("search_space", command)
+ if input_warn or output_warn or sweep_warn:
+ module_logger.warning("Use of {} for parameters is deprecated, instead use ${{}}.")
+ return command
+
+
+def transform_dict_keys(data: Dict[str, Any], casing_transform: Callable[[str], str]) -> Dict[str, Any]:
+ """Convert all keys of a nested dictionary according to the passed casing_transform function.
+
+ :param data: The data to transform
+ :type data: Dict[str, Any]
+ :param casing_transform: A callable applied to all keys in data
+ :type casing_transform: Callable[[str], str]
+ :return: A dictionary with transformed keys
+ :rtype: dict
+ """
+ return {
+ casing_transform(key): transform_dict_keys(val, casing_transform) if isinstance(val, dict) else val
+ for key, val in data.items()
+ }
+
+
+def merge_dict(origin, delta, dep=0) -> dict:
+ """Merge two dicts recursively.
+ Note that the function will return a copy of the origin dict if the depth of the recursion is 0.
+
+ :param origin: The original dictionary
+ :type origin: dict
+ :param delta: The delta dictionary
+ :type delta: dict
+ :param dep: The depth of the recursion
+ :type dep: int
+ :return: The merged dictionary
+ :rtype: dict
+ """
+ result = copy.deepcopy(origin) if dep == 0 else origin
+ for key, val in delta.items():
+ origin_val = origin.get(key)
+ # Merge delta dict with original dict
+ if isinstance(origin_val, dict) and isinstance(val, dict):
+ result[key] = merge_dict(origin_val, val, dep + 1)
+ continue
+ result[key] = copy.deepcopy(val)
+ return result
+
+
+def retry(
+ exceptions: Union[Tuple[Exception], Exception],
+ failure_msg: str,
+ logger: Any,
+ max_attempts: int = 1,
+ delay_multiplier: int = 0.25,
+) -> Callable:
+ """Retry a function if it fails.
+
+ :param exceptions: Exceptions to retry on.
+ :type exceptions: Union[Tuple[Exception], Exception]
+ :param failure_msg: Message to log on failure.
+ :type failure_msg: str
+ :param logger: Logger to use.
+ :type logger: Any
+ :param max_attempts: Maximum number of attempts.
+ :type max_attempts: int
+ :param delay_multiplier: Multiplier for delay between attempts.
+ :type delay_multiplier: int
+ :return: Decorated function.
+ :rtype: Callable
+ """
+
+ def retry_decorator(f):
+ @wraps(f)
+ def func_with_retries(*args, **kwargs): # pylint: disable=inconsistent-return-statements
+ tries = max_attempts + 1
+ counter = 1
+ while tries > 1:
+ delay = delay_multiplier * 2**counter + random.uniform(0, 1)
+ try:
+ return f(*args, **kwargs)
+ except exceptions as e:
+ tries -= 1
+ counter += 1
+ if tries == 1:
+ logger.warning(failure_msg)
+ raise e
+ logger.info(f"Operation failed. Retrying in {delay} seconds.")
+ time.sleep(delay)
+
+ return func_with_retries
+
+ return retry_decorator
+
+
+def get_list_view_type(include_archived: bool, archived_only: bool) -> ListViewType:
+ """Get the list view type based on the include_archived and archived_only flags.
+
+ :param include_archived: Whether to include archived items.
+ :type include_archived: bool
+ :param archived_only: Whether to only include archived items.
+ :type archived_only: bool
+ :return: The list view type.
+ :rtype: ListViewType
+ """
+ if include_archived and archived_only:
+ msg = "Cannot provide both archived-only and include-archived."
+ raise MlException(message=msg, no_personal_data_message=msg)
+ if include_archived:
+ return ListViewType.ALL
+ if archived_only:
+ return ListViewType.ARCHIVED_ONLY
+ return ListViewType.ACTIVE_ONLY
+
+
+def is_data_binding_expression(
+ value: str, binding_prefix: Union[str, List[str]] = "", is_singular: bool = True
+) -> bool:
+ """Check if a value is a data-binding expression with specific binding target(prefix). Note that the function will
+ return False if the value is not a str. For example, if binding_prefix is ["parent", "jobs"], then input_value is a
+ data-binding expression only if the binding target starts with "parent.jobs", like "${{parent.jobs.xxx}}" if
+ is_singular is False, return True even if input_value includes non-binding part or multiple binding targets, like
+ "${{parent.jobs.xxx}}_extra" and "${{parent.jobs.xxx}}_{{parent.jobs.xxx}}".
+
+ :param value: Value to check.
+ :type value: str
+ :param binding_prefix: Prefix to check for.
+ :type binding_prefix: Union[str, List[str]]
+ :param is_singular: should the value be a singular data-binding expression, like "${{parent.jobs.xxx}}".
+ :type is_singular: bool
+ :return: True if the value is a data-binding expression, False otherwise.
+ :rtype: bool
+ """
+ return len(get_all_data_binding_expressions(value, binding_prefix, is_singular)) > 0
+
+
+def get_all_data_binding_expressions(
+ value: str, binding_prefix: Union[str, List[str]] = "", is_singular: bool = True
+) -> List[str]:
+ """Get all data-binding expressions in a value with specific binding target(prefix). Note that the function will
+ return an empty list if the value is not a str.
+
+ :param value: Value to extract.
+ :type value: str
+ :param binding_prefix: Prefix to filter.
+ :type binding_prefix: Union[str, List[str]]
+ :param is_singular: should the value be a singular data-binding expression, like "${{parent.jobs.xxx}}".
+ :type is_singular: bool
+ :return: list of data-binding expressions.
+ :rtype: List[str]
+ """
+ if isinstance(binding_prefix, str):
+ binding_prefix = [binding_prefix]
+ if isinstance(value, str):
+ target_regex = r"\$\{\{\s*(" + "\\.".join(binding_prefix) + r"\S*?)\s*\}\}"
+ if is_singular:
+ target_regex = "^" + target_regex + "$"
+ return re.findall(target_regex, value)
+ return []
+
+
+def is_private_preview_enabled():
+ """Check if private preview features are enabled.
+
+ :return: True if private preview features are enabled, False otherwise.
+ :rtype: bool
+ """
+ return os.getenv(AZUREML_PRIVATE_FEATURES_ENV_VAR) in ["True", "true", True]
+
+
+def is_bytecode_optimization_enabled():
+ """Check if bytecode optimization is enabled:
+ 1) bytecode package is installed
+ 2) private preview is enabled
+ 3) python version is between 3.6 and 3.11
+
+ :return: True if bytecode optimization is enabled, False otherwise.
+ :rtype: bool
+ """
+ try:
+ import bytecode # pylint: disable=unused-import
+
+ return is_private_preview_enabled() and (3, 6) < sys.version_info < (3, 12)
+ except ImportError:
+ return False
+
+
+def is_on_disk_cache_enabled():
+ """Check if on-disk cache for component registrations in pipeline submission is enabled.
+
+ :return: True if on-disk cache is enabled, False otherwise.
+ :rtype: bool
+ """
+ return os.getenv(AZUREML_DISABLE_ON_DISK_CACHE_ENV_VAR) not in ["True", "true", True]
+
+
+def is_concurrent_component_registration_enabled(): # pylint: disable=name-too-long
+ """Check if concurrent component registrations in pipeline submission is enabled.
+
+ :return: True if concurrent component registration is enabled, False otherwise.
+ :rtype: bool
+ """
+ return os.getenv(AZUREML_DISABLE_CONCURRENT_COMPONENT_REGISTRATION) not in ["True", "true", True]
+
+
+def _is_internal_components_enabled():
+ return os.getenv(AZUREML_INTERNAL_COMPONENTS_ENV_VAR) in ["True", "true", True]
+
+
+def try_enable_internal_components(*, force=False) -> bool:
+ """Try to enable internal components for the current process. This is the only function outside _internal that
+ references _internal.
+
+ :keyword force: Force enable internal components even if enabled before.
+ :type force: bool
+ :return: True if internal components are enabled, False otherwise.
+ :rtype: bool
+ """
+ if _is_internal_components_enabled():
+ from azure.ai.ml._internal import enable_internal_components_in_pipeline
+
+ enable_internal_components_in_pipeline(force=force)
+
+ return True
+ return False
+
+
+def is_internal_component_data(data: Dict[str, Any], *, raise_if_not_enabled: bool = False) -> bool:
+ """Check if the data is an internal component data by checking schema url prefix.
+
+ :param data: The data to check.
+ :type data: Dict[str, Any]
+ :keyword raise_if_not_enabled: Raise exception if the data is an internal component data but
+ internal components is not enabled.
+ :type raise_if_not_enabled: bool
+ :return: True if the data is an internal component data, False otherwise.
+ :rtype: bool
+ :raises ~azure.ai.ml.exceptions.ValidationException: Raised if the data is an internal component data but
+ internal components is not enabled.
+ """
+ from azure.ai.ml.exceptions import ErrorCategory, ErrorTarget, ValidationErrorType, ValidationException
+
+ # These imports can't be placed in at top file level because it will cause a circular import in
+ # exceptions.py via _get_mfe_url_override
+
+ schema = data.get(CommonYamlFields.SCHEMA, None)
+
+ if schema is None or not isinstance(schema, str):
+ return False
+
+ if not schema.startswith(AZUREML_INTERNAL_COMPONENTS_SCHEMA_PREFIX):
+ return False
+
+ if not _is_internal_components_enabled() and raise_if_not_enabled:
+ no_personal_data_message = (
+ f"Internal components is a private feature in v2, please set environment variable "
+ f"{AZUREML_INTERNAL_COMPONENTS_ENV_VAR} to true to use it."
+ )
+ msg = f"Detected schema url {schema}. {no_personal_data_message}"
+ raise ValidationException(
+ message=msg,
+ target=ErrorTarget.COMPONENT,
+ error_type=ValidationErrorType.INVALID_VALUE,
+ no_personal_data_message=no_personal_data_message,
+ error_category=ErrorCategory.USER_ERROR,
+ )
+
+ return True
+
+
+def is_valid_node_name(name: str) -> bool:
+ """Check if `name` is a valid node name
+
+ :param name: A node name
+ :type name: str
+ :return: Return True if the string is a valid Python identifier in lower ASCII range, False otherwise.
+ :rtype: bool
+ """
+ return isinstance(name, str) and name.isidentifier() and re.fullmatch(r"^[a-z_][a-z\d_]*", name) is not None
+
+
+def parse_args_description_from_docstring(docstring: str) -> Dict[str, str]:
+ """Return arg descriptions in docstring with google style.
+
+ e.g.
+ docstring =
+ '''
+ A pipeline with detailed docstring, including descriptions for inputs and outputs.
+
+ In this pipeline docstring, there are descriptions for inputs and outputs
+ Input/Output descriptions can infer from descriptions here.
+
+ Args:
+ job_in_path: a path parameter
+ job_in_number: a number parameter
+ with multi-line description
+ job_in_int (int): a int parameter
+
+ Other docstring xxxxxx
+ random_key: random_value
+ '''
+
+ return dict:
+ args = {
+ 'job_in_path': 'a path parameter',
+ 'job_in_number': 'a number parameter with multi-line description',
+ 'job_in_int': 'a int parameter'
+ }
+
+ :param docstring: A Google-style docstring
+ :type docstring: str
+ :return: A map of parameter names to parameter descriptions
+ :rtype: Dict[str, str]
+ """
+ args = {}
+ if not isinstance(docstring, str):
+ return args
+ lines = [line.strip() for line in docstring.splitlines()]
+ for index, line in enumerate(lines):
+ if line.lower() == "args:":
+ args_region = lines[index + 1 :]
+ args_line_end = args_region.index("") if "" in args_region else len(args_region)
+ args_region = args_region[0:args_line_end]
+ while len(args_region) > 0 and ":" in args_region[0]:
+ arg_line = args_region[0]
+ colon_index = arg_line.index(":")
+ arg, description = (
+ arg_line[0:colon_index].strip(),
+ arg_line[colon_index + 1 :].strip(),
+ )
+ # handle case like "param (float) : xxx"
+ if "(" in arg:
+ arg = arg[0 : arg.index("(")].strip()
+ args[arg] = description
+ args_region.pop(0)
+ # handle multi-line description, assuming description has no colon inside.
+ while len(args_region) > 0 and ":" not in args_region[0]:
+ args[arg] += " " + args_region[0]
+ args_region.pop(0)
+ return args
+
+
+def convert_windows_path_to_unix(path: Union[str, PathLike]) -> str:
+ """Convert a Windows path to a Unix path.
+
+ :param path: A Windows path
+ :type path: Union[str, os.PathLike]
+ :return: A Unix path
+ :rtype: str
+ """
+ return PureWindowsPath(path).as_posix()
+
+
+def _is_user_error_from_status_code(http_status_code):
+ return 400 <= http_status_code < 500
+
+
+def _str_to_bool(s: str) -> bool:
+ """Converts a string to a boolean
+
+ Can be used as a type for argument in argparse, return argument's boolean value according to it's literal value.
+
+ :param s: The string to convert
+ :type s: str
+ :return: True if s is "true" (case-insensitive), otherwise returns False.
+ :rtype: bool
+ """
+ if not isinstance(s, str):
+ return False
+ return s.lower() == "true"
+
+
+def _is_user_error_from_exception_type(e: Optional[Exception]) -> bool:
+ """Determine whether if an exception is user error from it's exception type.
+
+ :param e: An exception
+ :type e: Optional[Exception]
+ :return: True if exception is a user error
+ :rtype: bool
+ """
+ # Connection error happens on user's network failure, should be user error.
+ # For OSError/IOError with error no 28: "No space left on device" should be sdk user error
+ return isinstance(e, (ConnectionError, KeyboardInterrupt)) or (isinstance(e, (IOError, OSError)) and e.errno == 28)
+
+
+class DockerProxy:
+ """A proxy class for docker module. It will raise a more user-friendly error message if docker module is not
+ installed.
+ """
+
+ def __getattribute__(self, name: str) -> Any:
+ try:
+ import docker
+
+ return getattr(docker, name)
+ except ModuleNotFoundError as e:
+ msg = "Please install docker in the current python environment with `pip install docker` and try again."
+ raise MlException(message=msg, no_personal_data_message=msg) from e
+
+
+def get_all_enum_values_iter(enum_type: type) -> Iterable[Any]:
+ """Get all values of an enum type.
+
+ :param enum_type: An "enum" (not necessary enum.Enum)
+ :type enum_type: Type
+ :return: An iterable of all of the attributes of `enum_type`
+ :rtype: Iterable[Any]
+ """
+ for key in dir(enum_type):
+ if not key.startswith("_"):
+ yield getattr(enum_type, key)
+
+
+def write_to_shared_file(file_path: Union[str, PathLike], content: str):
+ """Open file with specific mode and return the file object.
+
+ :param file_path: Path to the file.
+ :type file_path: Union[str, os.PathLike]
+ :param content: Content to write to the file.
+ :type content: str
+ """
+ with open(file_path, "w", encoding=DefaultOpenEncoding.WRITE) as f:
+ f.write(content)
+
+ # share_mode means read/write for owner, group and others
+ share_mode, mode_mask = 0o666, 0o777
+ if os.stat(file_path).st_mode & mode_mask != share_mode:
+ try:
+ os.chmod(file_path, share_mode)
+ except PermissionError:
+ pass
+
+
+def _get_valid_dot_keys_with_wildcard_impl(
+ left_reversed_parts, root, *, validate_func=None, cur_node=None, processed_parts=None
+) -> List[str]:
+ if len(left_reversed_parts) == 0:
+ if validate_func is None or validate_func(root, processed_parts):
+ return [".".join(processed_parts)]
+ return []
+
+ if cur_node is None:
+ cur_node = root
+ if not isinstance(cur_node, dict):
+ return []
+ if processed_parts is None:
+ processed_parts = []
+
+ key: str = left_reversed_parts.pop()
+ result = []
+ if key == "*":
+ for next_key in cur_node:
+ if not isinstance(next_key, str):
+ continue
+ processed_parts.append(next_key)
+ result.extend(
+ _get_valid_dot_keys_with_wildcard_impl(
+ left_reversed_parts,
+ root,
+ validate_func=validate_func,
+ cur_node=cur_node[next_key],
+ processed_parts=processed_parts,
+ )
+ )
+ processed_parts.pop()
+ elif key in cur_node:
+ processed_parts.append(key)
+ result = _get_valid_dot_keys_with_wildcard_impl(
+ left_reversed_parts,
+ root,
+ validate_func=validate_func,
+ cur_node=cur_node[key],
+ processed_parts=processed_parts,
+ )
+ processed_parts.pop()
+
+ left_reversed_parts.append(key)
+ return result
+
+
+def get_valid_dot_keys_with_wildcard(
+ root: Dict[str, Any],
+ dot_key_wildcard: str,
+ *,
+ validate_func: Optional[Callable[[List[str], Dict[str, Any]], bool]] = None,
+) -> List[str]:
+ """Get all valid dot keys with wildcard. Only "x.*.x" and "x.*" is supported for now.
+
+ A valid dot key should satisfy the following conditions:
+ 1) It should be a valid dot key in the root node.
+ 2) It should satisfy the validation function.
+
+ :param root: Root node.
+ :type root: Dict[str, Any]
+ :param dot_key_wildcard: Dot key with wildcard, e.g. "a.*.c".
+ :type dot_key_wildcard: str
+ :keyword validate_func: Validation function. It takes two parameters: the root node and the dot key parts.
+ If None, no validation will be performed.
+ :paramtype validate_func: Optional[Callable[[List[str], Dict[str, Any]], bool]]
+ :return: List of valid dot keys.
+ :rtype: List[str]
+ """
+ left_reversed_parts = dot_key_wildcard.split(".")[::-1]
+ return _get_valid_dot_keys_with_wildcard_impl(left_reversed_parts, root, validate_func=validate_func)
+
+
+def get_base_directory_for_cache() -> Path:
+ """Get the base directory for cache files.
+
+ :return: The base directory for cache files.
+ :rtype: Path
+ """
+ return Path(tempfile.gettempdir()).joinpath("azure-ai-ml")
+
+
+def get_versioned_base_directory_for_cache() -> Path:
+ """Get the base directory for cache files of current version of azure-ai-ml.
+ Cache files of different versions will be stored in different directories.
+
+ :return: The base directory for cache files of current version of azure-ai-ml.
+ :rtype: Path
+ """
+ # import here to avoid circular import
+ from azure.ai.ml._version import VERSION
+
+ return get_base_directory_for_cache().joinpath(VERSION)
+
+
+# pylint: disable-next=name-too-long
+def get_resource_and_group_name_from_resource_id(armstr: str) -> str:
+ if armstr.find("/") == -1:
+ return armstr, None
+ return armstr.split("/")[-1], armstr.split("/")[-5]
+
+
+# pylint: disable-next=name-too-long
+def get_resource_group_name_from_resource_group_id(armstr: str) -> str:
+ if armstr.find("/") == -1:
+ return armstr
+ return armstr.split("/")[-1]
+
+
+def extract_name_and_version(azureml_id: str) -> Dict[str, str]:
+ """Extract name and version from azureml id.
+
+ :param azureml_id: AzureML id.
+ :type azureml_id: str
+ :return: A dict of name and version.
+ :rtype: Dict[str, str]
+ """
+ if not isinstance(azureml_id, str):
+ raise ValueError("azureml_id should be a string but got {}: {}.".format(type(azureml_id), azureml_id))
+ if azureml_id.count(":") != 1:
+ raise ValueError("azureml_id should be in the format of name:version but got {}.".format(azureml_id))
+ name, version = azureml_id.split(":")
+ return {
+ "name": name,
+ "version": version,
+ }
+
+
+def _get_evaluator_properties():
+ return {"is-promptflow": "true", "is-evaluator": "true"}
+
+
+def _is_evaluator(properties: Dict[str, str]) -> bool:
+ return properties.get("is-evaluator") == "true" and properties.get("is-promptflow") == "true"