File: //lib/python3.6/site-packages/awscli/customizations/__pycache__/toplevelbool.cpython-36.pyc
3
�T_ � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ej
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 | j dtt| d�� d S )Nzbuilding-argument-table.ec2.*)�
event_handler)�registerr �pull_up_bool)r � r �"/usr/lib/python3.6/toplevelbool.py�register_bool_params# s r c C sP t | �dkrL| j}t|�dkrLt|j� �d dkrLt|j� �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 }|j dtt|d�� x�t| j� �D ]�\}}t|d�r&|j}t|�r&t|j ||j
|j|j |jd�}|| |j <