U
    ccX                     @   s   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ ejrrd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ G dd deZdS )	    N)Enum)Cause)DictListOptionalUnionAny)datetime)Statusc                       sj   e Zd ZdZdddddZdddd	dZd
Zd fdd	Zdd Zdd Z	dd Z
dd Zdd Z  ZS )ConnectionCompleteda.  
    Represents the status and result needed to resume a skill&#39;s suspended session.


    :param token: This is an echo back string that skills send when during Connections.StartConnection directive. They will receive it when they get the SessionResumedRequest. It is never sent to the skill handling the request.
    :type token: (optional) str
    :param status: 
    :type status: (optional) ask_sdk_model.status.Status
    :param result: This is the result object to resume the skill&#39;s suspended session.
    :type result: (optional) object

    strzask_sdk_model.status.Statusobject)object_typetokenstatusresulttyper   r   r   FNc                    s8   d| _ | j | _tt| j| j d || _|| _|| _dS )aC  Represents the status and result needed to resume a skill&#39;s suspended session.

        :param token: This is an echo back string that skills send when during Connections.StartConnection directive. They will receive it when they get the SessionResumedRequest. It is never sent to the skill handling the request.
        :type token: (optional) str
        :param status: 
        :type status: (optional) ask_sdk_model.status.Status
        :param result: This is the result object to resume the skill&#39;s suspended session.
        :type result: (optional) object
        r   )r   N)Z)_ConnectionCompleted__discriminator_valuer   superr   __init__r   r   r   )selfr   r   r   	__class__ F/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/connection_completed.pyr   :   s    zConnectionCompleted.__init__c                 C   s   i }t | jD ]\}}t| |}t|trDttdd |||< qt|trZ|j||< qt	|drr|
 ||< qt|trttdd | ||< q|||< q|S )z&Returns the model properties as a dictc                 S   s&   t | dr|  S t| tr"| jS | S )Nto_dicthasattrr   
isinstancer   value)xr   r   r   <lambda>V   s   z-ConnectionCompleted.to_dict.<locals>.<lambda>r   c                 S   sF   t | d dr"| d | d  fS t| d trB| d | d jfS | S )N   r   r   r   )itemr   r   r   r    `   s
    )six	iteritemsdeserialized_typesgetattrr   listmapr   r   r   r   dictitems)r   r   attr_r   r   r   r   r   M   s&    





zConnectionCompleted.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr   r   r   r   r   to_strk   s    zConnectionCompleted.to_strc                 C   s   |   S )zFor `print` and `pprint`)r0   r/   r   r   r   __repr__p   s    zConnectionCompleted.__repr__c                 C   s   t |tsdS | j|jkS )z&Returns true if both objects are equalF)r   r   __dict__r   otherr   r   r   __eq__u   s    
zConnectionCompleted.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r3   r   r   r   __ne__}   s    zConnectionCompleted.__ne__)NNN)__name__
__module____qualname____doc__r%   Zattribute_mapZsupports_multiple_typesr   r   r0   r1   r5   r6   __classcell__r   r   r   r   r      s$   r   )r-   rer#   typingenumr   Zask_sdk_model.causer   TYPE_CHECKINGr   r   r   r   r   r	   Zask_sdk_model.statusr
   ZStatus_7705e43er   r   r   r   r   <module>   s   