File: //proc/722141/root/lib/python3.6/site-packages/botocore/__pycache__/model.cpython-36.pyc
3
�T_�n � @ sR d Z ddlmZ ddlmZmZmZ ddlmZ ddl m
Z
ddl mZ e� Z
G dd� de�ZG d d
� d
e�ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG d!d"� d"e�ZG d#d$� d$e�ZG d%d&� d&e�Zd'S )(z-Abstractions to interact with service models.� )�defaultdict)�CachedProperty�instance_cache�hyphenize_service_id)�OrderedDict)�MissingServiceIdError)�UndefinedModelAttributeErrorc @ s e Zd ZdS )�NoShapeFoundErrorN)�__name__�
__module__�__qualname__� r
r
�/usr/lib/python3.6/model.pyr s r c @ s e Zd ZdS )�InvalidShapeErrorN)r
r r r
r
r
r r s r c @ s e Zd ZdS )�OperationNotFoundErrorN)r
r r r
r
r
r r s r c @ s e Zd ZdS )�InvalidShapeReferenceErrorN)r
r r r
r
r
r r $ s r c @ s e Zd Zdd� ZdS )� ServiceIdc C s t | �S )N)r )�selfr
r
r � hyphenize) s zServiceId.hyphenizeN)r
r r r r
r
r
r r ( s r c @ s� e Zd ZdZdddddddd d
ddd
dddddgZddddddddddg
ZeZd+dd�Ze dd � �Z
e d!d"� �Ze d#d$� �Zd%d&� Z
d'd(� Zed)d*� �ZdS ),�Shapez3Object representing a shape from the service model.�locationNameZ queryNameZ flattened�location�payloadZ streamingZtimestampFormatZxmlNamespaceZ
resultWrapperZxmlAttribute�eventstreamZeventZeventheaderZeventpayloadZ jsonvalueZ hostLabel�required�min�maxZ sensitive�enum�idempotencyToken�error� exceptionZendpointdiscoveryidZ retryableNc C sB || _ |d | _|jdd�| _|| _|dkr2t� }|| _i | _dS )a
:type shape_name: string
:param shape_name: The name of the shape.
:type shape_model: dict
:param shape_model: The shape model. This would be the value
associated with the key in the "shapes" dict of the
service model (i.e ``model['shapes'][shape_name]``)
:type shape_resolver: botocore.model.ShapeResolver
:param shape_resolver: A shape resolver object. This is used to
resolve references to other shapes. For scalar shape types
(string, integer, boolean, etc.), this argument is not
required. If a shape_resolver is not provided for a complex
type, then a ``ValueError`` will be raised when an attempt
to resolve a shape is made.
�type�
documentation� N)�name� type_name�getr"