# 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 StatusResponse(Model):
    """Status information about the profile.

    All required parameters must be populated in order to send to Azure.

    :param persistence_state: Required. Possible values include: 'unsaved',
     'saved'
    :type persistence_state: str or ~kameleo.local_api_client.models.enum
    :param lifetime_state: Required. Possible values include: 'created',
     'starting', 'running', 'terminating', 'terminated'
    :type lifetime_state: str or ~kameleo.local_api_client.models.enum
    :param external_spoofing_engine_port: In case of running profiles which
     use an external browser this shows the connection port (for mobile
     profiles as well).
    :type external_spoofing_engine_port: int
    """

    _validation = {
        'persistence_state': {'required': True},
        'lifetime_state': {'required': True},
    }

    _attribute_map = {
        'persistence_state': {'key': 'persistenceState', 'type': 'str'},
        'lifetime_state': {'key': 'lifetimeState', 'type': 'str'},
        'external_spoofing_engine_port': {'key': 'externalSpoofingEnginePort', 'type': 'int'},
    }

    def __init__(self, **kwargs):
        super(StatusResponse, self).__init__(**kwargs)
        self.persistence_state = kwargs.get('persistence_state', None)
        self.lifetime_state = kwargs.get('lifetime_state', None)
        self.external_spoofing_engine_port = kwargs.get('external_spoofing_engine_port', None)
