# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class DataLocation(Model):
    """DataLocation.

    :param storage_type: Possible values include: 'None', 'AzureBlob',
     'Artifact', 'Snapshot'
    :type storage_type: str or ~designer.models.DataLocationStorageType
    :param storage_id:
    :type storage_id: str
    :param uri:
    :type uri: str
    :param data_reference:
    :type data_reference: ~designer.models.DataReference
    """

    _attribute_map = {
        'storage_type': {'key': 'storageType', 'type': 'str'},
        'storage_id': {'key': 'storageId', 'type': 'str'},
        'uri': {'key': 'uri', 'type': 'str'},
        'data_reference': {'key': 'dataReference', 'type': 'DataReference'},
    }

    def __init__(self, *, storage_type=None, storage_id: str=None, uri: str=None, data_reference=None, **kwargs) -> None:
        super(DataLocation, self).__init__(**kwargs)
        self.storage_type = storage_type
        self.storage_id = storage_id
        self.uri = uri
        self.data_reference = data_reference
