# -*- coding: utf-8 -*-

"""
mdnotes

This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
"""


class ServiceStatus(object):

    """Implementation of the 'ServiceStatus' model.

    TODO: type model description here.

    Attributes:
        app (string): TODO: type description here.
        moto (string): TODO: type description here.
        notes (int): TODO: type description here.
        users (int): TODO: type description here.
        time (string): TODO: type description here.
        os (string): TODO: type description here.
        php_version (string): TODO: type description here.
        status (string): TODO: type description here.

    """

    # Create a mapping from Model property names to API property names
    _names = {
        "app": 'app',
        "moto": 'moto',
        "notes": 'notes',
        "users": 'users',
        "time": 'time',
        "os": 'os',
        "php_version": 'php_version',
        "status": 'status'
    }

    def __init__(self,
                 app=None,
                 moto=None,
                 notes=None,
                 users=None,
                 time=None,
                 os=None,
                 php_version=None,
                 status=None,
                 additional_properties={}):
        """Constructor for the ServiceStatus class"""

        # Initialize members of the class
        self.app = app
        self.moto = moto
        self.notes = notes
        self.users = users
        self.time = time
        self.os = os
        self.php_version = php_version
        self.status = status

        # Add additional model properties to the instance
        self.additional_properties = additional_properties

    @classmethod
    def from_dictionary(cls,
                        dictionary):
        """Creates an instance of this model from a dictionary

        Args:
            dictionary (dictionary): A dictionary representation of the object
            as obtained from the deserialization of the server's response. The
            keys MUST match property names in the API description.

        Returns:
            object: An instance of this structure class.

        """
        if dictionary is None:
            return None

        # Extract variables from the dictionary
        app = dictionary.get('app')
        moto = dictionary.get('moto')
        notes = dictionary.get('notes')
        users = dictionary.get('users')
        time = dictionary.get('time')
        os = dictionary.get('os')
        php_version = dictionary.get('php_version')
        status = dictionary.get('status')

        # Clean out expected properties from dictionary
        for key in cls._names.values():
            if key in dictionary:
                del dictionary[key]

        # Return an object of this model
        return cls(app,
                   moto,
                   notes,
                   users,
                   time,
                   os,
                   php_version,
                   status,
                   dictionary)
