# 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 msrest.serialization import Model


class Snapshot(Model):
    """Snapshot.

    :param id: Snapshots are user project folders that have been uploaded to
     the cloud for subsequent
     execution. This field is required when executing against cloud-based
     compute targets
     unless the run submission was against the API endpoint that takes a zipped
     project folder
     inline with the request.
    :type id: str
    :param directory_name: The name of the directory in the working directory
     where the snashopt will
     be copied. To place it in the root of the working directory specify ".",
     or leave it blank.
    :type directory_name: str
    :param snapshot_entity_id: EntityId that uniquely identifies the snapshot
     that contained within the repository.
     When SnapshotEntityId is set, it takes precedence over the Id property.
    :type snapshot_entity_id: str
    """

    _attribute_map = {
        'id': {'key': 'id', 'type': 'str'},
        'directory_name': {'key': 'directoryName', 'type': 'str'},
        'snapshot_entity_id': {'key': 'snapshotEntityId', 'type': 'str'},
    }

    def __init__(self, id=None, directory_name=None, snapshot_entity_id=None):
        super(Snapshot, self).__init__()
        self.id = id
        self.directory_name = directory_name
        self.snapshot_entity_id = snapshot_entity_id
