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

    :param current_node_count:
    :type current_node_count: int
    :param target_node_count:
    :type target_node_count: int
    :param max_node_count:
    :type max_node_count: int
    :param min_node_count:
    :type min_node_count: int
    :param idle_node_count:
    :type idle_node_count: int
    :param running_node_count:
    :type running_node_count: int
    :param preparing_node_count:
    :type preparing_node_count: int
    :param unusable_node_count:
    :type unusable_node_count: int
    :param leaving_node_count:
    :type leaving_node_count: int
    :param preempted_node_count:
    :type preempted_node_count: int
    :param vm_size:
    :type vm_size: str
    :param location:
    :type location: str
    :param provisioning_state:
    :type provisioning_state: str
    :param state:
    :type state: str
    :param os_type:
    :type os_type: str
    :param id:
    :type id: str
    :param name:
    :type name: str
    :param created_by_studio:
    :type created_by_studio: bool
    :param is_gpu_type:
    :type is_gpu_type: bool
    :param resource_id:
    :type resource_id: str
    :param compute_type:
    :type compute_type: str
    """

    _attribute_map = {
        'current_node_count': {'key': 'currentNodeCount', 'type': 'int'},
        'target_node_count': {'key': 'targetNodeCount', 'type': 'int'},
        'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
        'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
        'idle_node_count': {'key': 'idleNodeCount', 'type': 'int'},
        'running_node_count': {'key': 'runningNodeCount', 'type': 'int'},
        'preparing_node_count': {'key': 'preparingNodeCount', 'type': 'int'},
        'unusable_node_count': {'key': 'unusableNodeCount', 'type': 'int'},
        'leaving_node_count': {'key': 'leavingNodeCount', 'type': 'int'},
        'preempted_node_count': {'key': 'preemptedNodeCount', 'type': 'int'},
        'vm_size': {'key': 'vmSize', 'type': 'str'},
        'location': {'key': 'location', 'type': 'str'},
        'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
        'state': {'key': 'state', 'type': 'str'},
        'os_type': {'key': 'osType', 'type': 'str'},
        'id': {'key': 'id', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'created_by_studio': {'key': 'createdByStudio', 'type': 'bool'},
        'is_gpu_type': {'key': 'isGpuType', 'type': 'bool'},
        'resource_id': {'key': 'resourceId', 'type': 'str'},
        'compute_type': {'key': 'computeType', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(ExperimentComputeMetaInfo, self).__init__(**kwargs)
        self.current_node_count = kwargs.get('current_node_count', None)
        self.target_node_count = kwargs.get('target_node_count', None)
        self.max_node_count = kwargs.get('max_node_count', None)
        self.min_node_count = kwargs.get('min_node_count', None)
        self.idle_node_count = kwargs.get('idle_node_count', None)
        self.running_node_count = kwargs.get('running_node_count', None)
        self.preparing_node_count = kwargs.get('preparing_node_count', None)
        self.unusable_node_count = kwargs.get('unusable_node_count', None)
        self.leaving_node_count = kwargs.get('leaving_node_count', None)
        self.preempted_node_count = kwargs.get('preempted_node_count', None)
        self.vm_size = kwargs.get('vm_size', None)
        self.location = kwargs.get('location', None)
        self.provisioning_state = kwargs.get('provisioning_state', None)
        self.state = kwargs.get('state', None)
        self.os_type = kwargs.get('os_type', None)
        self.id = kwargs.get('id', None)
        self.name = kwargs.get('name', None)
        self.created_by_studio = kwargs.get('created_by_studio', None)
        self.is_gpu_type = kwargs.get('is_gpu_type', None)
        self.resource_id = kwargs.get('resource_id', None)
        self.compute_type = kwargs.get('compute_type', None)
