<filename>venv/lib/python3.8/site-packages/azureml/_restclient/models/workspace.py
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator 2.3.33.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from .resource import Resource


class Workspace(Resource):
    """An object that represents a machine learning workspace.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :ivar id: Specifies the resource ID.
    :vartype id: str
    :ivar name: Specifies the name of the resource.
    :vartype name: str
    :param identity: The identity of the resource.
    :type identity: ~_restclient.models.Identity
    :param location: Specifies the location of the resource.
    :type location: str
    :ivar type: Specifies the type of the resource.
    :vartype type: str
    :param tags: Contains resource tags defined as key/value pairs.
    :type tags: dict[str, str]
    :param sku: The sku of the workspace.
    :type sku: ~_restclient.models.Sku
    :ivar workspace_id: The immutable id associated with this workspace.
    :vartype workspace_id: str
    :ivar sdk_telemetry_app_insights_key: SDK App Insights key for uploading
     telemetry.
    :vartype sdk_telemetry_app_insights_key: str
    :param description: The description of this workspace.
    :type description: str
    :param friendly_name: The friendly name for this workspace. This name in
     mutable
    :type friendly_name: str
    :ivar creation_time: The creation time of the machine learning workspace
     in ISO8601 format.
    :vartype creation_time: datetime
    :param key_vault: ARM id of the key vault associated with this workspace.
     This cannot be changed once the workspace has been created
    :type key_vault: str
    :param application_insights: ARM id of the application insights associated
     with this workspace. This cannot be changed once the workspace has been
     created
    :type application_insights: str
    :param container_registry: ARM id of the container registry associated
     with this workspace. This cannot be changed once the workspace has been
     created
    :type container_registry: str
    :param storage_account: ARM id of the storage account associated with this
     workspace. This cannot be changed once the workspace has been created
    :type storage_account: str
    :param discovery_url: Url for the discovery service to identify regional
     endpoints for machine learning experimentation services
    :type discovery_url: str
    :ivar provisioning_state: The current deployment state of workspace
     resource. The provisioningState is to indicate states for resource
     provisioning. Possible values include: 'Unknown', 'Updating', 'Creating',
     'Deleting', 'Succeeded', 'Failed', 'Canceled'
    :vartype provisioning_state: str or ~_restclient.models.ProvisioningState
    :param encryption: The encryption settings of Azure ML workspace.
    :type encryption: ~_restclient.models.EncryptionProperty
    :param hbi_workspace: The flag to signal HBI data in the workspace and
     reduce diagnostic data collected by the service. Default value: False .
    :type hbi_workspace: bool
    :ivar service_provisioned_resource_group: The name of the managed resource
     group created by workspace RP in customer subscription if the workspace is
     CMK workspace
    :vartype service_provisioned_resource_group: str
    :ivar private_link_count: Count of private connections in the workspace
    :vartype private_link_count: int
    :param image_build_compute: The compute name for image build
    :type image_build_compute: str
    :param allow_public_access_when_behind_vnet: The flag to indicate whether
     to allow public access when behind VNet. Default value: False .
    :type allow_public_access_when_behind_vnet: bool
    :ivar private_endpoint_connections: The list of private endpoint
     connections in the workspace.
    :vartype private_endpoint_connections:
     list[~_restclient.models.PrivateEndpointConnection]
    :param shared_private_link_resources: The list of shared private link
     resources in this workspace.
    :type shared_private_link_resources:
     list[~_restclient.models.SharedPrivateLinkResource]
    :ivar notebook_info: The notebook info of Azure ML workspace.
    :vartype notebook_info: ~_restclient.models.NotebookResourceInfo
    :param service_managed_resources_settings: The service managed resource
     settings.
    :type service_managed_resources_settings:
     ~_restclient.models.ServiceManagedResourcesSettings
    :param primary_user_assigned_identity: User assigned identity to associate
     this workspace with. Workspace will use UAI instead of system MSI in this
     case.
    :type primary_user_assigned_identity: str
    :param system_datastores_auth_mode: Determines whether or not to use
     credentials for the system datastores of the workspace
     'workspaceblobstore' and 'workspacefilestore'. The default value is
     'accesskey', in which case, the workspace will create the system
     datastores with credentials.  If set to 'identity', the workspace will
     create the system datastores with no credentials.
    :type system_datastores_auth_mode: str
    """

    _validation = {
        'id': {'readonly': True},
        'name': {'readonly': True},
        'type': {'readonly': True},
        'workspace_id': {'readonly': True},
        'sdk_telemetry_app_insights_key': {'readonly': True},
        'creation_time': {'readonly': True},
        'provisioning_state': {'readonly': True},
        'service_provisioned_resource_group': {'readonly': True},
        'private_link_count': {'readonly': True},
        'private_endpoint_connections': {'readonly': True},
        'notebook_info': {'readonly': True},
    }

    _attribute_map = {
        'id': {'key': 'id', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'identity': {'key': 'identity', 'type': 'Identity'},
        'location': {'key': 'location', 'type': 'str'},
        'type': {'key': 'type', 'type': 'str'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'sku': {'key': 'sku', 'type': 'Sku'},
        'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'},
        'sdk_telemetry_app_insights_key': {'key': 'properties.sdk_telemetry_app_insights_key', 'type': 'str'},
        'description': {'key': 'properties.description', 'type': 'str'},
        'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'},
        'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'},
        'key_vault': {'key': 'properties.keyVault', 'type': 'str'},
        'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'},
        'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'},
        'storage_account': {'key': 'properties.storageAccount', 'type': 'str'},
        'discovery_url': {'key': 'properties.discoveryUrl', 'type': 'str'},
        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
        'encryption': {'key': 'properties.encryption', 'type': 'EncryptionProperty'},
        'hbi_workspace': {'key': 'properties.hbiWorkspace', 'type': 'bool'},
        'service_provisioned_resource_group': {'key': 'properties.serviceProvisionedResourceGroup', 'type': 'str'},
        'private_link_count': {'key': 'properties.privateLinkCount', 'type': 'int'},
        'image_build_compute': {'key': 'properties.imageBuildCompute', 'type': 'str'},
        'allow_public_access_when_behind_vnet': {'key': 'properties.allowPublicAccessWhenBehindVnet', 'type': 'bool'},
        'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
        'shared_private_link_resources': {'key': 'properties.sharedPrivateLinkResources', 'type': '[SharedPrivateLinkResource]'},
        'notebook_info': {'key': 'properties.notebookInfo', 'type': 'NotebookResourceInfo'},
        'service_managed_resources_settings': {'key': 'properties.serviceManagedResourcesSettings', 'type': 'ServiceManagedResourcesSettings'},
        'primary_user_assigned_identity': {'key': 'properties.primaryUserAssignedIdentity', 'type': 'str'},
        'system_datastores_auth_mode': {'key': 'properties.systemDatastoresAuthMode', 'type': 'str'},
    }

    def __init__(self, identity=None, location=None, tags=None, sku=None, description=None, friendly_name=None, key_vault=None, application_insights=None, container_registry=None, storage_account=None, discovery_url=None, encryption=None, hbi_workspace=False, image_build_compute=None, allow_public_access_when_behind_vnet=False, shared_private_link_resources=None, service_managed_resources_settings=None, primary_user_assigned_identity=None, system_datastores_auth_mode=None):
        super(Workspace, self).__init__(identity=identity, location=location, tags=tags, sku=sku)
        self.workspace_id = None
        self.sdk_telemetry_app_insights_key = None
        self.description = description
        self.friendly_name = friendly_name
        self.creation_time = None
        self.key_vault = key_vault
        self.application_insights = application_insights
        self.container_registry = container_registry
        self.storage_account = storage_account
        self.discovery_url = discovery_url
        self.provisioning_state = None
        self.encryption = encryption
        self.hbi_workspace = hbi_workspace
        self.service_provisioned_resource_group = None
        self.private_link_count = None
        self.image_build_compute = image_build_compute
        self.allow_public_access_when_behind_vnet = allow_public_access_when_behind_vnet
        self.private_endpoint_connections = None
        self.shared_private_link_resources = shared_private_link_resources
        self.notebook_info = None
        self.service_managed_resources_settings = service_managed_resources_settings
        self.primary_user_assigned_identity = primary_user_assigned_identity
        self.system_datastores_auth_mode = system_datastores_auth_mode
