# coding: utf-8

"""
    Welcome to the Atera API

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: v3
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six

from atera_client.configuration import Configuration


class AgentQueryDTO(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        "machine_id": "str",
        "agent_id": "int",
        "device_guid": "str",
        "folder_id": "int",
        "customer_id": "int",
        "customer_name": "str",
        "agent_name": "str",
        "system_name": "str",
        "machine_name": "str",
        "domain_name": "str",
        "current_logged_users": "str",
        "computer_description": "str",
        "monitored": "bool",
        "last_patch_management_received": "datetime",
        "agent_version": "str",
        "favorite": "bool",
        "threshold_id": "int",
        "monitored_agent_id": "int",
        "created": "datetime",
        "modified": "datetime",
        "online": "bool",
        "reported_from_ip": "str",
        "app_view_url": "str",
        "motherboard": "str",
        "processor": "str",
        "memory": "int",
        "display": "str",
        "sound": "str",
        "processor_cores_count": "int",
        "system_drive": "str",
        "processor_clock": "str",
        "vendor": "str",
        "vendor_serial_number": "str",
        "vendor_brand_model": "str",
        "product_name": "str",
        "mac_addresses": "list[str]",
        "ip_addresses": "list[str]",
        "hardware_disks": "Object",
        "os": "str",
        "os_type": "str",
        "windows_serial_number": "str",
        "office": "str",
        "office_sp": "str",
        "office_oem": "bool",
        "office_serial_number": "str",
        "os_num": "float",
        "last_reboot_time": "datetime",
        "os_version": "str",
        "os_build": "str",
        "office_full_version": "str",
        "last_login_user": "str",
    }

    attribute_map = {
        "machine_id": "MachineID",
        "agent_id": "AgentID",
        "device_guid": "DeviceGuid",
        "folder_id": "FolderID",
        "customer_id": "CustomerID",
        "customer_name": "CustomerName",
        "agent_name": "AgentName",
        "system_name": "SystemName",
        "machine_name": "MachineName",
        "domain_name": "DomainName",
        "current_logged_users": "CurrentLoggedUsers",
        "computer_description": "ComputerDescription",
        "monitored": "Monitored",
        "last_patch_management_received": "LastPatchManagementReceived",
        "agent_version": "AgentVersion",
        "favorite": "Favorite",
        "threshold_id": "ThresholdID",
        "monitored_agent_id": "MonitoredAgentID",
        "created": "Created",
        "modified": "Modified",
        "online": "Online",
        "reported_from_ip": "ReportedFromIP",
        "app_view_url": "AppViewUrl",
        "motherboard": "Motherboard",
        "processor": "Processor",
        "memory": "Memory",
        "display": "Display",
        "sound": "Sound",
        "processor_cores_count": "ProcessorCoresCount",
        "system_drive": "SystemDrive",
        "processor_clock": "ProcessorClock",
        "vendor": "Vendor",
        "vendor_serial_number": "VendorSerialNumber",
        "vendor_brand_model": "VendorBrandModel",
        "product_name": "ProductName",
        "mac_addresses": "MacAddresses",
        "ip_addresses": "IpAddresses",
        "hardware_disks": "HardwareDisks",
        "os": "OS",
        "os_type": "OSType",
        "windows_serial_number": "WindowsSerialNumber",
        "office": "Office",
        "office_sp": "OfficeSP",
        "office_oem": "OfficeOEM",
        "office_serial_number": "OfficeSerialNumber",
        "os_num": "OSNum",
        "last_reboot_time": "LastRebootTime",
        "os_version": "OSVersion",
        "os_build": "OSBuild",
        "office_full_version": "OfficeFullVersion",
        "last_login_user": "LastLoginUser",
    }

    def __init__(
        self,
        machine_id=None,
        agent_id=None,
        device_guid=None,
        folder_id=None,
        customer_id=None,
        customer_name=None,
        agent_name=None,
        system_name=None,
        machine_name=None,
        domain_name=None,
        current_logged_users=None,
        computer_description=None,
        monitored=None,
        last_patch_management_received=None,
        agent_version=None,
        favorite=None,
        threshold_id=None,
        monitored_agent_id=None,
        created=None,
        modified=None,
        online=None,
        reported_from_ip=None,
        app_view_url=None,
        motherboard=None,
        processor=None,
        memory=None,
        display=None,
        sound=None,
        processor_cores_count=None,
        system_drive=None,
        processor_clock=None,
        vendor=None,
        vendor_serial_number=None,
        vendor_brand_model=None,
        product_name=None,
        mac_addresses=None,
        ip_addresses=None,
        hardware_disks=None,
        os=None,
        os_type=None,
        windows_serial_number=None,
        office=None,
        office_sp=None,
        office_oem=None,
        office_serial_number=None,
        os_num=None,
        last_reboot_time=None,
        os_version=None,
        os_build=None,
        office_full_version=None,
        last_login_user=None,
        _configuration=None,
    ):  # noqa: E501
        """AgentQueryDTO - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._machine_id = None
        self._agent_id = None
        self._device_guid = None
        self._folder_id = None
        self._customer_id = None
        self._customer_name = None
        self._agent_name = None
        self._system_name = None
        self._machine_name = None
        self._domain_name = None
        self._current_logged_users = None
        self._computer_description = None
        self._monitored = None
        self._last_patch_management_received = None
        self._agent_version = None
        self._favorite = None
        self._threshold_id = None
        self._monitored_agent_id = None
        self._created = None
        self._modified = None
        self._online = None
        self._reported_from_ip = None
        self._app_view_url = None
        self._motherboard = None
        self._processor = None
        self._memory = None
        self._display = None
        self._sound = None
        self._processor_cores_count = None
        self._system_drive = None
        self._processor_clock = None
        self._vendor = None
        self._vendor_serial_number = None
        self._vendor_brand_model = None
        self._product_name = None
        self._mac_addresses = None
        self._ip_addresses = None
        self._hardware_disks = None
        self._os = None
        self._os_type = None
        self._windows_serial_number = None
        self._office = None
        self._office_sp = None
        self._office_oem = None
        self._office_serial_number = None
        self._os_num = None
        self._last_reboot_time = None
        self._os_version = None
        self._os_build = None
        self._office_full_version = None
        self._last_login_user = None
        self.discriminator = None

        if machine_id is not None:
            self.machine_id = machine_id
        if agent_id is not None:
            self.agent_id = agent_id
        if device_guid is not None:
            self.device_guid = device_guid
        if folder_id is not None:
            self.folder_id = folder_id
        if customer_id is not None:
            self.customer_id = customer_id
        if customer_name is not None:
            self.customer_name = customer_name
        if agent_name is not None:
            self.agent_name = agent_name
        if system_name is not None:
            self.system_name = system_name
        if machine_name is not None:
            self.machine_name = machine_name
        if domain_name is not None:
            self.domain_name = domain_name
        if current_logged_users is not None:
            self.current_logged_users = current_logged_users
        if computer_description is not None:
            self.computer_description = computer_description
        if monitored is not None:
            self.monitored = monitored
        if last_patch_management_received is not None:
            self.last_patch_management_received = last_patch_management_received
        if agent_version is not None:
            self.agent_version = agent_version
        if favorite is not None:
            self.favorite = favorite
        if threshold_id is not None:
            self.threshold_id = threshold_id
        if monitored_agent_id is not None:
            self.monitored_agent_id = monitored_agent_id
        if created is not None:
            self.created = created
        if modified is not None:
            self.modified = modified
        if online is not None:
            self.online = online
        if reported_from_ip is not None:
            self.reported_from_ip = reported_from_ip
        if app_view_url is not None:
            self.app_view_url = app_view_url
        if motherboard is not None:
            self.motherboard = motherboard
        if processor is not None:
            self.processor = processor
        if memory is not None:
            self.memory = memory
        if display is not None:
            self.display = display
        if sound is not None:
            self.sound = sound
        if processor_cores_count is not None:
            self.processor_cores_count = processor_cores_count
        if system_drive is not None:
            self.system_drive = system_drive
        if processor_clock is not None:
            self.processor_clock = processor_clock
        if vendor is not None:
            self.vendor = vendor
        if vendor_serial_number is not None:
            self.vendor_serial_number = vendor_serial_number
        if vendor_brand_model is not None:
            self.vendor_brand_model = vendor_brand_model
        if product_name is not None:
            self.product_name = product_name
        if mac_addresses is not None:
            self.mac_addresses = mac_addresses
        if ip_addresses is not None:
            self.ip_addresses = ip_addresses
        if hardware_disks is not None:
            self.hardware_disks = hardware_disks
        if os is not None:
            self.os = os
        if os_type is not None:
            self.os_type = os_type
        if windows_serial_number is not None:
            self.windows_serial_number = windows_serial_number
        if office is not None:
            self.office = office
        if office_sp is not None:
            self.office_sp = office_sp
        if office_oem is not None:
            self.office_oem = office_oem
        if office_serial_number is not None:
            self.office_serial_number = office_serial_number
        if os_num is not None:
            self.os_num = os_num
        if last_reboot_time is not None:
            self.last_reboot_time = last_reboot_time
        if os_version is not None:
            self.os_version = os_version
        if os_build is not None:
            self.os_build = os_build
        if office_full_version is not None:
            self.office_full_version = office_full_version
        if last_login_user is not None:
            self.last_login_user = last_login_user

    @property
    def machine_id(self):
        """Gets the machine_id of this AgentQueryDTO.  # noqa: E501


        :return: The machine_id of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._machine_id

    @machine_id.setter
    def machine_id(self, machine_id):
        """Sets the machine_id of this AgentQueryDTO.


        :param machine_id: The machine_id of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._machine_id = machine_id

    @property
    def agent_id(self):
        """Gets the agent_id of this AgentQueryDTO.  # noqa: E501


        :return: The agent_id of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._agent_id

    @agent_id.setter
    def agent_id(self, agent_id):
        """Sets the agent_id of this AgentQueryDTO.


        :param agent_id: The agent_id of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._agent_id = agent_id

    @property
    def device_guid(self):
        """Gets the device_guid of this AgentQueryDTO.  # noqa: E501


        :return: The device_guid of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._device_guid

    @device_guid.setter
    def device_guid(self, device_guid):
        """Sets the device_guid of this AgentQueryDTO.


        :param device_guid: The device_guid of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._device_guid = device_guid

    @property
    def folder_id(self):
        """Gets the folder_id of this AgentQueryDTO.  # noqa: E501


        :return: The folder_id of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._folder_id

    @folder_id.setter
    def folder_id(self, folder_id):
        """Sets the folder_id of this AgentQueryDTO.


        :param folder_id: The folder_id of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._folder_id = folder_id

    @property
    def customer_id(self):
        """Gets the customer_id of this AgentQueryDTO.  # noqa: E501


        :return: The customer_id of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._customer_id

    @customer_id.setter
    def customer_id(self, customer_id):
        """Sets the customer_id of this AgentQueryDTO.


        :param customer_id: The customer_id of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._customer_id = customer_id

    @property
    def customer_name(self):
        """Gets the customer_name of this AgentQueryDTO.  # noqa: E501


        :return: The customer_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._customer_name

    @customer_name.setter
    def customer_name(self, customer_name):
        """Sets the customer_name of this AgentQueryDTO.


        :param customer_name: The customer_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._customer_name = customer_name

    @property
    def agent_name(self):
        """Gets the agent_name of this AgentQueryDTO.  # noqa: E501


        :return: The agent_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._agent_name

    @agent_name.setter
    def agent_name(self, agent_name):
        """Sets the agent_name of this AgentQueryDTO.


        :param agent_name: The agent_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._agent_name = agent_name

    @property
    def system_name(self):
        """Gets the system_name of this AgentQueryDTO.  # noqa: E501


        :return: The system_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._system_name

    @system_name.setter
    def system_name(self, system_name):
        """Sets the system_name of this AgentQueryDTO.


        :param system_name: The system_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._system_name = system_name

    @property
    def machine_name(self):
        """Gets the machine_name of this AgentQueryDTO.  # noqa: E501


        :return: The machine_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._machine_name

    @machine_name.setter
    def machine_name(self, machine_name):
        """Sets the machine_name of this AgentQueryDTO.


        :param machine_name: The machine_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._machine_name = machine_name

    @property
    def domain_name(self):
        """Gets the domain_name of this AgentQueryDTO.  # noqa: E501


        :return: The domain_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._domain_name

    @domain_name.setter
    def domain_name(self, domain_name):
        """Sets the domain_name of this AgentQueryDTO.


        :param domain_name: The domain_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._domain_name = domain_name

    @property
    def current_logged_users(self):
        """Gets the current_logged_users of this AgentQueryDTO.  # noqa: E501


        :return: The current_logged_users of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._current_logged_users

    @current_logged_users.setter
    def current_logged_users(self, current_logged_users):
        """Sets the current_logged_users of this AgentQueryDTO.


        :param current_logged_users: The current_logged_users of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._current_logged_users = current_logged_users

    @property
    def computer_description(self):
        """Gets the computer_description of this AgentQueryDTO.  # noqa: E501


        :return: The computer_description of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._computer_description

    @computer_description.setter
    def computer_description(self, computer_description):
        """Sets the computer_description of this AgentQueryDTO.


        :param computer_description: The computer_description of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._computer_description = computer_description

    @property
    def monitored(self):
        """Gets the monitored of this AgentQueryDTO.  # noqa: E501


        :return: The monitored of this AgentQueryDTO.  # noqa: E501
        :rtype: bool
        """
        return self._monitored

    @monitored.setter
    def monitored(self, monitored):
        """Sets the monitored of this AgentQueryDTO.


        :param monitored: The monitored of this AgentQueryDTO.  # noqa: E501
        :type: bool
        """

        self._monitored = monitored

    @property
    def last_patch_management_received(self):
        """Gets the last_patch_management_received of this AgentQueryDTO.  # noqa: E501

        Deprecated  # noqa: E501

        :return: The last_patch_management_received of this AgentQueryDTO.  # noqa: E501
        :rtype: datetime
        """
        return self._last_patch_management_received

    @last_patch_management_received.setter
    def last_patch_management_received(self, last_patch_management_received):
        """Sets the last_patch_management_received of this AgentQueryDTO.

        Deprecated  # noqa: E501

        :param last_patch_management_received: The last_patch_management_received of this AgentQueryDTO.  # noqa: E501
        :type: datetime
        """

        self._last_patch_management_received = last_patch_management_received

    @property
    def agent_version(self):
        """Gets the agent_version of this AgentQueryDTO.  # noqa: E501


        :return: The agent_version of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._agent_version

    @agent_version.setter
    def agent_version(self, agent_version):
        """Sets the agent_version of this AgentQueryDTO.


        :param agent_version: The agent_version of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._agent_version = agent_version

    @property
    def favorite(self):
        """Gets the favorite of this AgentQueryDTO.  # noqa: E501


        :return: The favorite of this AgentQueryDTO.  # noqa: E501
        :rtype: bool
        """
        return self._favorite

    @favorite.setter
    def favorite(self, favorite):
        """Sets the favorite of this AgentQueryDTO.


        :param favorite: The favorite of this AgentQueryDTO.  # noqa: E501
        :type: bool
        """

        self._favorite = favorite

    @property
    def threshold_id(self):
        """Gets the threshold_id of this AgentQueryDTO.  # noqa: E501


        :return: The threshold_id of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._threshold_id

    @threshold_id.setter
    def threshold_id(self, threshold_id):
        """Sets the threshold_id of this AgentQueryDTO.


        :param threshold_id: The threshold_id of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._threshold_id = threshold_id

    @property
    def monitored_agent_id(self):
        """Gets the monitored_agent_id of this AgentQueryDTO.  # noqa: E501


        :return: The monitored_agent_id of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._monitored_agent_id

    @monitored_agent_id.setter
    def monitored_agent_id(self, monitored_agent_id):
        """Sets the monitored_agent_id of this AgentQueryDTO.


        :param monitored_agent_id: The monitored_agent_id of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._monitored_agent_id = monitored_agent_id

    @property
    def created(self):
        """Gets the created of this AgentQueryDTO.  # noqa: E501


        :return: The created of this AgentQueryDTO.  # noqa: E501
        :rtype: datetime
        """
        return self._created

    @created.setter
    def created(self, created):
        """Sets the created of this AgentQueryDTO.


        :param created: The created of this AgentQueryDTO.  # noqa: E501
        :type: datetime
        """

        self._created = created

    @property
    def modified(self):
        """Gets the modified of this AgentQueryDTO.  # noqa: E501


        :return: The modified of this AgentQueryDTO.  # noqa: E501
        :rtype: datetime
        """
        return self._modified

    @modified.setter
    def modified(self, modified):
        """Sets the modified of this AgentQueryDTO.


        :param modified: The modified of this AgentQueryDTO.  # noqa: E501
        :type: datetime
        """

        self._modified = modified

    @property
    def online(self):
        """Gets the online of this AgentQueryDTO.  # noqa: E501


        :return: The online of this AgentQueryDTO.  # noqa: E501
        :rtype: bool
        """
        return self._online

    @online.setter
    def online(self, online):
        """Sets the online of this AgentQueryDTO.


        :param online: The online of this AgentQueryDTO.  # noqa: E501
        :type: bool
        """

        self._online = online

    @property
    def reported_from_ip(self):
        """Gets the reported_from_ip of this AgentQueryDTO.  # noqa: E501


        :return: The reported_from_ip of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._reported_from_ip

    @reported_from_ip.setter
    def reported_from_ip(self, reported_from_ip):
        """Sets the reported_from_ip of this AgentQueryDTO.


        :param reported_from_ip: The reported_from_ip of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._reported_from_ip = reported_from_ip

    @property
    def app_view_url(self):
        """Gets the app_view_url of this AgentQueryDTO.  # noqa: E501


        :return: The app_view_url of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._app_view_url

    @app_view_url.setter
    def app_view_url(self, app_view_url):
        """Sets the app_view_url of this AgentQueryDTO.


        :param app_view_url: The app_view_url of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._app_view_url = app_view_url

    @property
    def motherboard(self):
        """Gets the motherboard of this AgentQueryDTO.  # noqa: E501


        :return: The motherboard of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._motherboard

    @motherboard.setter
    def motherboard(self, motherboard):
        """Sets the motherboard of this AgentQueryDTO.


        :param motherboard: The motherboard of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._motherboard = motherboard

    @property
    def processor(self):
        """Gets the processor of this AgentQueryDTO.  # noqa: E501


        :return: The processor of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._processor

    @processor.setter
    def processor(self, processor):
        """Sets the processor of this AgentQueryDTO.


        :param processor: The processor of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._processor = processor

    @property
    def memory(self):
        """Gets the memory of this AgentQueryDTO.  # noqa: E501


        :return: The memory of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._memory

    @memory.setter
    def memory(self, memory):
        """Sets the memory of this AgentQueryDTO.


        :param memory: The memory of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._memory = memory

    @property
    def display(self):
        """Gets the display of this AgentQueryDTO.  # noqa: E501


        :return: The display of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._display

    @display.setter
    def display(self, display):
        """Sets the display of this AgentQueryDTO.


        :param display: The display of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._display = display

    @property
    def sound(self):
        """Gets the sound of this AgentQueryDTO.  # noqa: E501


        :return: The sound of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._sound

    @sound.setter
    def sound(self, sound):
        """Sets the sound of this AgentQueryDTO.


        :param sound: The sound of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._sound = sound

    @property
    def processor_cores_count(self):
        """Gets the processor_cores_count of this AgentQueryDTO.  # noqa: E501


        :return: The processor_cores_count of this AgentQueryDTO.  # noqa: E501
        :rtype: int
        """
        return self._processor_cores_count

    @processor_cores_count.setter
    def processor_cores_count(self, processor_cores_count):
        """Sets the processor_cores_count of this AgentQueryDTO.


        :param processor_cores_count: The processor_cores_count of this AgentQueryDTO.  # noqa: E501
        :type: int
        """

        self._processor_cores_count = processor_cores_count

    @property
    def system_drive(self):
        """Gets the system_drive of this AgentQueryDTO.  # noqa: E501


        :return: The system_drive of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._system_drive

    @system_drive.setter
    def system_drive(self, system_drive):
        """Sets the system_drive of this AgentQueryDTO.


        :param system_drive: The system_drive of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._system_drive = system_drive

    @property
    def processor_clock(self):
        """Gets the processor_clock of this AgentQueryDTO.  # noqa: E501


        :return: The processor_clock of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._processor_clock

    @processor_clock.setter
    def processor_clock(self, processor_clock):
        """Sets the processor_clock of this AgentQueryDTO.


        :param processor_clock: The processor_clock of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._processor_clock = processor_clock

    @property
    def vendor(self):
        """Gets the vendor of this AgentQueryDTO.  # noqa: E501


        :return: The vendor of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._vendor

    @vendor.setter
    def vendor(self, vendor):
        """Sets the vendor of this AgentQueryDTO.


        :param vendor: The vendor of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._vendor = vendor

    @property
    def vendor_serial_number(self):
        """Gets the vendor_serial_number of this AgentQueryDTO.  # noqa: E501


        :return: The vendor_serial_number of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._vendor_serial_number

    @vendor_serial_number.setter
    def vendor_serial_number(self, vendor_serial_number):
        """Sets the vendor_serial_number of this AgentQueryDTO.


        :param vendor_serial_number: The vendor_serial_number of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._vendor_serial_number = vendor_serial_number

    @property
    def vendor_brand_model(self):
        """Gets the vendor_brand_model of this AgentQueryDTO.  # noqa: E501


        :return: The vendor_brand_model of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._vendor_brand_model

    @vendor_brand_model.setter
    def vendor_brand_model(self, vendor_brand_model):
        """Sets the vendor_brand_model of this AgentQueryDTO.


        :param vendor_brand_model: The vendor_brand_model of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._vendor_brand_model = vendor_brand_model

    @property
    def product_name(self):
        """Gets the product_name of this AgentQueryDTO.  # noqa: E501


        :return: The product_name of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._product_name

    @product_name.setter
    def product_name(self, product_name):
        """Sets the product_name of this AgentQueryDTO.


        :param product_name: The product_name of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._product_name = product_name

    @property
    def mac_addresses(self):
        """Gets the mac_addresses of this AgentQueryDTO.  # noqa: E501


        :return: The mac_addresses of this AgentQueryDTO.  # noqa: E501
        :rtype: list[str]
        """
        return self._mac_addresses

    @mac_addresses.setter
    def mac_addresses(self, mac_addresses):
        """Sets the mac_addresses of this AgentQueryDTO.


        :param mac_addresses: The mac_addresses of this AgentQueryDTO.  # noqa: E501
        :type: list[str]
        """

        self._mac_addresses = mac_addresses

    @property
    def ip_addresses(self):
        """Gets the ip_addresses of this AgentQueryDTO.  # noqa: E501


        :return: The ip_addresses of this AgentQueryDTO.  # noqa: E501
        :rtype: list[str]
        """
        return self._ip_addresses

    @ip_addresses.setter
    def ip_addresses(self, ip_addresses):
        """Sets the ip_addresses of this AgentQueryDTO.


        :param ip_addresses: The ip_addresses of this AgentQueryDTO.  # noqa: E501
        :type: list[str]
        """

        self._ip_addresses = ip_addresses

    @property
    def hardware_disks(self):
        """Gets the hardware_disks of this AgentQueryDTO.  # noqa: E501


        :return: The hardware_disks of this AgentQueryDTO.  # noqa: E501
        :rtype: Object
        """
        return self._hardware_disks

    @hardware_disks.setter
    def hardware_disks(self, hardware_disks):
        """Sets the hardware_disks of this AgentQueryDTO.


        :param hardware_disks: The hardware_disks of this AgentQueryDTO.  # noqa: E501
        :type: Object
        """

        self._hardware_disks = hardware_disks

    @property
    def os(self):
        """Gets the os of this AgentQueryDTO.  # noqa: E501


        :return: The os of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._os

    @os.setter
    def os(self, os):
        """Sets the os of this AgentQueryDTO.


        :param os: The os of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._os = os

    @property
    def os_type(self):
        """Gets the os_type of this AgentQueryDTO.  # noqa: E501


        :return: The os_type of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._os_type

    @os_type.setter
    def os_type(self, os_type):
        """Sets the os_type of this AgentQueryDTO.


        :param os_type: The os_type of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._os_type = os_type

    @property
    def windows_serial_number(self):
        """Gets the windows_serial_number of this AgentQueryDTO.  # noqa: E501


        :return: The windows_serial_number of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._windows_serial_number

    @windows_serial_number.setter
    def windows_serial_number(self, windows_serial_number):
        """Sets the windows_serial_number of this AgentQueryDTO.


        :param windows_serial_number: The windows_serial_number of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._windows_serial_number = windows_serial_number

    @property
    def office(self):
        """Gets the office of this AgentQueryDTO.  # noqa: E501


        :return: The office of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._office

    @office.setter
    def office(self, office):
        """Sets the office of this AgentQueryDTO.


        :param office: The office of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._office = office

    @property
    def office_sp(self):
        """Gets the office_sp of this AgentQueryDTO.  # noqa: E501


        :return: The office_sp of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._office_sp

    @office_sp.setter
    def office_sp(self, office_sp):
        """Sets the office_sp of this AgentQueryDTO.


        :param office_sp: The office_sp of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._office_sp = office_sp

    @property
    def office_oem(self):
        """Gets the office_oem of this AgentQueryDTO.  # noqa: E501


        :return: The office_oem of this AgentQueryDTO.  # noqa: E501
        :rtype: bool
        """
        return self._office_oem

    @office_oem.setter
    def office_oem(self, office_oem):
        """Sets the office_oem of this AgentQueryDTO.


        :param office_oem: The office_oem of this AgentQueryDTO.  # noqa: E501
        :type: bool
        """

        self._office_oem = office_oem

    @property
    def office_serial_number(self):
        """Gets the office_serial_number of this AgentQueryDTO.  # noqa: E501


        :return: The office_serial_number of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._office_serial_number

    @office_serial_number.setter
    def office_serial_number(self, office_serial_number):
        """Sets the office_serial_number of this AgentQueryDTO.


        :param office_serial_number: The office_serial_number of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._office_serial_number = office_serial_number

    @property
    def os_num(self):
        """Gets the os_num of this AgentQueryDTO.  # noqa: E501


        :return: The os_num of this AgentQueryDTO.  # noqa: E501
        :rtype: float
        """
        return self._os_num

    @os_num.setter
    def os_num(self, os_num):
        """Sets the os_num of this AgentQueryDTO.


        :param os_num: The os_num of this AgentQueryDTO.  # noqa: E501
        :type: float
        """

        self._os_num = os_num

    @property
    def last_reboot_time(self):
        """Gets the last_reboot_time of this AgentQueryDTO.  # noqa: E501


        :return: The last_reboot_time of this AgentQueryDTO.  # noqa: E501
        :rtype: datetime
        """
        return self._last_reboot_time

    @last_reboot_time.setter
    def last_reboot_time(self, last_reboot_time):
        """Sets the last_reboot_time of this AgentQueryDTO.


        :param last_reboot_time: The last_reboot_time of this AgentQueryDTO.  # noqa: E501
        :type: datetime
        """

        self._last_reboot_time = last_reboot_time

    @property
    def os_version(self):
        """Gets the os_version of this AgentQueryDTO.  # noqa: E501


        :return: The os_version of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._os_version

    @os_version.setter
    def os_version(self, os_version):
        """Sets the os_version of this AgentQueryDTO.


        :param os_version: The os_version of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._os_version = os_version

    @property
    def os_build(self):
        """Gets the os_build of this AgentQueryDTO.  # noqa: E501


        :return: The os_build of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._os_build

    @os_build.setter
    def os_build(self, os_build):
        """Sets the os_build of this AgentQueryDTO.


        :param os_build: The os_build of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._os_build = os_build

    @property
    def office_full_version(self):
        """Gets the office_full_version of this AgentQueryDTO.  # noqa: E501


        :return: The office_full_version of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._office_full_version

    @office_full_version.setter
    def office_full_version(self, office_full_version):
        """Sets the office_full_version of this AgentQueryDTO.


        :param office_full_version: The office_full_version of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._office_full_version = office_full_version

    @property
    def last_login_user(self):
        """Gets the last_login_user of this AgentQueryDTO.  # noqa: E501


        :return: The last_login_user of this AgentQueryDTO.  # noqa: E501
        :rtype: str
        """
        return self._last_login_user

    @last_login_user.setter
    def last_login_user(self, last_login_user):
        """Sets the last_login_user of this AgentQueryDTO.


        :param last_login_user: The last_login_user of this AgentQueryDTO.  # noqa: E501
        :type: str
        """

        self._last_login_user = last_login_user

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(
                    map(
                        lambda item: (item[0], item[1].to_dict()) if hasattr(item[1], "to_dict") else item,
                        value.items(),
                    )
                )
            else:
                result[attr] = value
        if issubclass(AgentQueryDTO, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, AgentQueryDTO):
            return False

        return self.to_dict() == other.to_dict()

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        if not isinstance(other, AgentQueryDTO):
            return True

        return self.to_dict() != other.to_dict()
