o
    iW                     @   sb   d dl mZ d dlmZmZ G dd deeZG dd deZG dd dZd	Z	d
ej
 dZdS )    )Enum)	BaseModel
ConfigDictc                   @   s   e Zd ZdZdZdZdS )SessionRequestTypezTypes of session management requests.

    NEW_SESSION: Request to create a new stateful session
    CLOSE: Request to close an existing session
    NEW_SESSIONCLOSEN)__name__
__module____qualname____doc__r   r    r   r   o/home/ubuntu/.local/lib/python3.10/site-packages/model_hosting_container_standards/sagemaker/sessions/models.pyr      s    r   c                   @   s$   e Zd ZU dZeddZeed< dS )SessionRequestzRequest model for session management operations.

    Validates that the request contains a valid requestType field
    and rejects any extra fields.
    forbid)extrarequestTypeN)r   r	   r
   r   r   model_configr   __annotations__r   r   r   r   r      s   
 
r   c                   @   s   e Zd ZdZdZdZdZdS )SageMakerSessionHeadera  SageMaker API header constants for stateful session management.

    SESSION_ID: Header to pass existing session ID to the server
    NEW_SESSION_ID: Header returned by server when creating a new session
    CLOSED_SESSION_ID: Header returned by server when closing a session
    zX-Amzn-SageMaker-Session-IdzX-Amzn-SageMaker-New-Session-Idz"X-Amzn-SageMaker-Closed-Session-IdN)r   r	   r
   r   
SESSION_IDNEW_SESSION_IDCLOSED_SESSION_IDr   r   r   r   r      s
    r   z.Invalid payload. stateful sessions not enabledz0Invalid payload. stateful sessions not enabled, z header not supportedN)enumr   pydanticr   r   strr   r   r   SESSION_DISABLED_ERROR_DETAILr   SESSION_DISABLED_LOG_MESSAGEr   r   r   r   <module>   s    