o
    ci_                     @   sz   d dl mZ d dl mZ d dl mZ d dlmZ d dlmZmZ d dl	m
Z
 deeeef  deeeef  fd	d
ZdS )    )Any)Dict)Optional)ray_option_utils)PlacementGroupcheck_placement_group_index) PlacementGroupSchedulingStrategykwargs_dictreturnc                 C   s   | d u rd S t | dkrd S i }|  D ]!\}}|tjvr(td| dtj tj| || |||< q|dd }|dd }|dd }t|t	rS|j
}|j}|d ury|d u r_t }|dkro|dd d u rot }t|tryt|| |S )	Nr   zInvalid option keyword: 'z'. placement_group_bundle_indexplacement_groupscheduling_strategydefault#placement_group_capture_child_tasks)lenitemsr   valid_options
ValueErrorremote_args_error_stringvalidateget
isinstancer   r   r   r   emptyr   )r	   outkvbundle_indexpgr    r   K/home/ubuntu/.local/lib/python3.10/site-packages/ray/util/client/options.pyvalidate_options
   s:   




r    N)typingr   r   r   ray._privater   ray.util.placement_groupr   r   ray.util.scheduling_strategiesr   strr    r   r   r   r   <module>   s    .