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

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :param id:
    :type id: str
    :param name:
    :type name: str
    :param start_date:
    :type start_date: datetime
    :param end_date:
    :type end_date: datetime
    :ivar active:
    :vartype active: bool
    :param location:
    :type location: ~smartdiagnostics_sdk.models.LocationChild
    :param corporation:
    :type corporation: ~smartdiagnostics_sdk.models.CorporationChild
    :param users:
    :type users: list[~smartdiagnostics_sdk.models.UserChild]
    :param node_status:
    :type node_status: ~smartdiagnostics_sdk.models.InstallNodesStatusChild
    """

    _validation = {
        'active': {'readonly': True},
    }

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'str'},
        'name': {'key': 'Name', 'type': 'str'},
        'start_date': {'key': 'StartDate', 'type': 'iso-8601'},
        'end_date': {'key': 'EndDate', 'type': 'iso-8601'},
        'active': {'key': 'Active', 'type': 'bool'},
        'location': {'key': 'Location', 'type': 'LocationChild'},
        'corporation': {'key': 'Corporation', 'type': 'CorporationChild'},
        'users': {'key': 'Users', 'type': '[UserChild]'},
        'node_status': {'key': 'NodeStatus', 'type': 'InstallNodesStatusChild'},
    }

    def __init__(self, **kwargs):
        super(InstallResponse, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.name = kwargs.get('name', None)
        self.start_date = kwargs.get('start_date', None)
        self.end_date = kwargs.get('end_date', None)
        self.active = None
        self.location = kwargs.get('location', None)
        self.corporation = kwargs.get('corporation', None)
        self.users = kwargs.get('users', None)
        self.node_status = kwargs.get('node_status', None)
