File: //usr/local/CyberCP/lib/python3.10/site-packages/boto3/resources/__pycache__/model.cpython-310.pyc
o
�hpO � @ s� d Z ddlZddlmZ e�e�ZG dd� d�ZG dd� d�ZG dd � d �Z G d
d� d�Z
G dd
� d
e �ZG dd� de �ZG dd� d�Z
G dd� de�ZG dd� d�ZdS )a�
The models defined in this file represent the resource JSON description
format and provide a layer of abstraction from the raw JSON. The advantages
of this are:
* Pythonic interface (e.g. ``action.request.operation``)
* Consumers need not change for minor JSON changes (e.g. renamed field)
These models are used both by the resource factory to generate resource
classes as well as by the documentation generator.
� N)�
xform_namec @ s e Zd ZdZddd�ZdS )�
Identifierzw
A resource identifier, given by its name.
:type name: string
:param name: The name of the identifier
Nc C s || _ || _d S �N)�name�member_name)�selfr r � r �H/usr/local/CyberCP/lib/python3.10/site-packages/boto3/resources/model.py�__init__) s
zIdentifier.__init__r ��__name__�
__module__�__qualname__�__doc__r
r r r r r ! s r c @ s e Zd ZdZdd� ZdS )�Actiona
A service operation action.
:type name: string
:param name: The name of the action
:type definition: dict
:param definition: The JSON definition
:type resource_defs: dict
:param resource_defs: All resources defined in the service
c C s^ || _ || _d | _d|v rt|�di ��| _d | _d|v r't|�di �|�| _|�d�| _d S )N�request�resource�path)�_definitionr r �Request�getr �ResponseResourcer �r r �
definition�
resource_defsr r r r
; s �zAction.__init__Nr r r r r r / s r c @ s$ e Zd ZdZdd� Zedd� �ZdS )�DefinitionWithParamsa
An item which has parameters exposed via the ``params`` property.
A request has an operation and parameters, while a waiter has
a name, a low-level waiter name and parameters.
:type definition: dict
:param definition: The JSON definition
c C s
|| _ d S r )r �r r r r r r
X s
zDefinitionWithParams.__init__c C �0 g }| j �dg �D ]}|�tdi |��� q |S )zt
Get a list of auto-filled parameters for this request.
:type: list(:py:class:`Parameter`)
�paramsNr �r r �append� Parameter)r r �itemr r r r [ � zDefinitionWithParams.paramsN)r r
r r r
�propertyr r r r r r N s
r c @ s e Zd ZdZ ddd�ZdS )r! a�
An auto-filled parameter which has a source and target. For example,
the ``QueueUrl`` may be auto-filled from a resource's ``url`` identifier
when making calls to ``queue.receive_messages``.
:type target: string
:param target: The destination parameter name, e.g. ``QueueUrl``
:type source_type: string
:param source_type: Where the source is defined.
:type source: string
:param source: The source name, e.g. ``Url``
Nc K s6 || _ || _|| _|| _|| _|rt�d|� d S d S )Nz#Unknown parameter options found: %s)�target�sourcer r �value�logger�warning)r r% r&