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

    :param name:
    :type name: str
    :param compute_type: Possible values include: 'BatchAi', 'MLC',
     'HdiCluster', 'RemoteDocker', 'Databricks'
    :type compute_type: str or ~designer.models.ComputeType
    :param batch_ai_compute_info:
    :type batch_ai_compute_info: ~designer.models.BatchAiComputeInfo
    :param remote_docker_compute_info:
    :type remote_docker_compute_info: ~designer.models.RemoteDockerComputeInfo
    :param hdi_cluster_compute_info:
    :type hdi_cluster_compute_info: ~designer.models.HdiClusterComputeInfo
    :param mlc_compute_info:
    :type mlc_compute_info: ~designer.models.MlcComputeInfo
    :param databricks_compute_info:
    :type databricks_compute_info: ~designer.models.DatabricksComputeInfo
    """

    _attribute_map = {
        'name': {'key': 'name', 'type': 'str'},
        'compute_type': {'key': 'computeType', 'type': 'str'},
        'batch_ai_compute_info': {'key': 'batchAiComputeInfo', 'type': 'BatchAiComputeInfo'},
        'remote_docker_compute_info': {'key': 'remoteDockerComputeInfo', 'type': 'RemoteDockerComputeInfo'},
        'hdi_cluster_compute_info': {'key': 'hdiClusterComputeInfo', 'type': 'HdiClusterComputeInfo'},
        'mlc_compute_info': {'key': 'mlcComputeInfo', 'type': 'MlcComputeInfo'},
        'databricks_compute_info': {'key': 'databricksComputeInfo', 'type': 'DatabricksComputeInfo'},
    }

    def __init__(self, **kwargs):
        super(ComputeSetting, self).__init__(**kwargs)
        self.name = kwargs.get('name', None)
        self.compute_type = kwargs.get('compute_type', None)
        self.batch_ai_compute_info = kwargs.get('batch_ai_compute_info', None)
        self.remote_docker_compute_info = kwargs.get('remote_docker_compute_info', None)
        self.hdi_cluster_compute_info = kwargs.get('hdi_cluster_compute_info', None)
        self.mlc_compute_info = kwargs.get('mlc_compute_info', None)
        self.databricks_compute_info = kwargs.get('databricks_compute_info', None)
