File: //lib/python3/dist-packages/awscli/customizations/__pycache__/toplevelbool.cpython-38.pyc
U
<�^ � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z e�
e�Ze
� Zdd� Zd d
� Zdd� Zd
d� ZG dd� dej�ZG dd� dej�ZdS )au
Top Level Boolean Parameters
----------------------------
This customization will take a parameter that has
a structure of a single boolean element and allow the argument
to be specified without a value.
Instead of having to say::
--ebs-optimized '{"Value": true}'
--ebs-optimized '{"Value": false}'
You can instead say `--ebs-optimized/--no-ebs-optimized`.
� N)�partial)�detect_shape_structure)� arguments)�#validate_mutually_exclusive_handlerc C s | � dtt| d�� d S )Nzbuilding-argument-table.ec2.*��
event_handler)�registerr �pull_up_boolr � r
�D/usr/lib/python3/dist-packages/awscli/customizations/toplevelbool.py�register_bool_params# s
��r c C sP t | �dkrL| j}t|�dkrLt|�� �d dkrLt|�� �d jdkrLdS dS )Nzstructure(scalar)� r �ValueZbooleanTF)r �members�len�list�keys�valuesZ type_name)� arg_modelr r
r
r �_qualifies_for_simplification) s ��r c
K s� g }|� dtt|d�� t| �� �D ]�\}}t|d�r$|j}t|�r$t|j ||j
|j|j |jd�}|| |j <