# 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 OutputSetting(Model):
    """OutputSetting.

    :param name:
    :type name: str
    :param data_store_name:
    :type data_store_name: str
    :param data_store_mode: Possible values include: 'None', 'Mount',
     'Download', 'Upload', 'Direct', 'Hdfs'
    :type data_store_mode: str or ~designer.models.DataStoreMode
    :param path_on_compute:
    :type path_on_compute: str
    :param overwrite:
    :type overwrite: bool
    :param data_reference_name:
    :type data_reference_name: str
    :param web_service_port:
    :type web_service_port: str
    :param dataset_registration:
    :type dataset_registration: ~designer.models.DatasetRegistration
    :param dataset_output_options:
    :type dataset_output_options: ~designer.models.DatasetOutputOptions
    """

    _attribute_map = {
        'name': {'key': 'name', 'type': 'str'},
        'data_store_name': {'key': 'dataStoreName', 'type': 'str'},
        'data_store_mode': {'key': 'dataStoreMode', 'type': 'str'},
        'path_on_compute': {'key': 'pathOnCompute', 'type': 'str'},
        'overwrite': {'key': 'overwrite', 'type': 'bool'},
        'data_reference_name': {'key': 'dataReferenceName', 'type': 'str'},
        'web_service_port': {'key': 'webServicePort', 'type': 'str'},
        'dataset_registration': {'key': 'datasetRegistration', 'type': 'DatasetRegistration'},
        'dataset_output_options': {'key': 'datasetOutputOptions', 'type': 'DatasetOutputOptions'},
    }

    def __init__(self, **kwargs):
        super(OutputSetting, self).__init__(**kwargs)
        self.name = kwargs.get('name', None)
        self.data_store_name = kwargs.get('data_store_name', None)
        self.data_store_mode = kwargs.get('data_store_mode', None)
        self.path_on_compute = kwargs.get('path_on_compute', None)
        self.overwrite = kwargs.get('overwrite', None)
        self.data_reference_name = kwargs.get('data_reference_name', None)
        self.web_service_port = kwargs.get('web_service_port', None)
        self.dataset_registration = kwargs.get('dataset_registration', None)
        self.dataset_output_options = kwargs.get('dataset_output_options', None)
