Current File : //usr/lib/python3/dist-packages/boto3/resources/__pycache__/params.cpython-312.pyc |
�
��e� � �f � d dl Z d dlZd dlmZ ddlmZ e j d� Zd� Zd d�Z d
d�Z
y)� N)�
xform_name� )�ResourceLoadExceptionz \[(.*)\]$c � � | j j �?t | d� r| j � n"t | j
j � d�� �t j || j j � S )aE
Get a data member from a parent using a JMESPath search query,
loading the parent if required. If the parent cannot be loaded
and no data is present then an exception is raised.
:type parent: ServiceResource
:param parent: The resource instance to which contains data we
are interested in.
:type path: string
:param path: The JMESPath expression to query
:raises ResourceLoadException: When no data is present and the
resource cannot be loaded.
:returns: The queried data or ``None``.
�loadz has no load method!) �meta�data�hasattrr r � __class__�__name__�jmespath�search)�parent�paths �8/usr/lib/python3/dist-packages/boto3/resources/params.py�get_data_memberr si � � �{�{�����6�6�"��K�K�M�'��#�#�,�,�-�-A�B��
� �?�?�4����!1�!1�2�2� c �H � |�i }|j D ]� }|j }|j }|dk( r t | t |j
� � }nA|dk( rt
| |j � }n%|dv r
|j }n|dk( r�st d|� �� �t ||||� �� |S )aX
Handle request parameters that can be filled in from identifiers,
resource data members or constants.
By passing ``params``, you can invoke this method multiple times and
build up a parameter dict over time, which is particularly useful
for reverse JMESPath expressions that append to lists.
:type parent: ServiceResource
:param parent: The resource instance to which this action is attached.
:type request_model: :py:class:`~boto3.resources.model.Request`
:param request_model: The action request model.
:type params: dict
:param params: If set, then add to this existing dict. It is both
edited in-place and returned.
:type index: int
:param index: The position of an item within a list
:rtype: dict
:return: Pre-filled parameters to be sent to the request operation.
�
identifierr )�string�integer�boolean�inputzUnsupported source type: )�params�source�target�getattrr �namer r �value�NotImplementedError�build_param_structure)r �
request_modelr �index�paramr r r s r �create_request_parametersr% 3 s� � �* �~����%�%� <�����������\�!��F�J�u�z�z�$:�;�E�
�v�
� $�F�E�J�J�7�E�
�7�
7��K�K�E�
�w�
��%�(A�&��&J�K�K��f�f�e�U�;�)<�, �Mr c � � | }|j d� }t |� D �]3 \ }}t j |� }|r�|j d� rP|j d� dk( r|dd }n=t |j d� � }|dt
t |� dz � }nd}|dd }||vst || t � sg ||<