>ac@sfddlmZddlmZdefdYZdefdYZdefdYZd S( i(tShapeDocumenter(t py_type_nametBaseParamsDocumentercBseZd d dZdZd d dZd d dZd d dZd d d dZdZ dZ dZ d Z d Z RS( c Cs8g}|jd|d|d|ddd|d|dS(s3Fills out the documentation for a section given a model shape. :param section: The section to write the documentation to. :param shape: The shape of the operation. :type include: Dictionary where keys are parameter names and values are the shapes of the parameter names. :param include: The parameter shapes to include in the documentation. :type exclude: List of the names of the parameters to exclude. :param exclude: The names of the parameters to exclude from documentation. tsectiontshapethistorytnametincludetexcludeN(ttraverse_and_document_shapetNone(tselfRRRRR((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_paramss cKs|j|||dS(N(t_add_member_documentation(R RRtkwargs((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_recursive_shape&scKs|j|||dS(N(R (R RRRRRR((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_shape_default)sc Ks|j||||j}|j|jdi|jjd6}|j||jd|d|d|dd|jd}|j|dS(NtcontextRRRRsend-list(R tmembertadd_new_sectionRt_start_nested_paramR R t_end_nested_param( R RRRRRRt param_shapet param_section((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_shape_type_list-s     c Ks|j||||jddi|jjd6}|j||j||j|j|jjdi|jjd6}|jj|j||jd|d|jd|dd|jd} |j | |j | dS(NtkeyRRRRRsend-map( R RRRRtvaluetstyletindentR R R( R RRRRRRt key_sectionRt end_section((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_shape_type_map:s "     c Ks|j|j|}|j||d|x~|D]v} |rP| |krPq2n|| } |j| di| jd6} |j| |jd| d| d|d| q2W|jd}|j|dS(NRRRRRs end-structure(t_add_members_to_shapetmembersR RRRR R( R RRRRRRRR!tparamRR((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pytdocument_shape_type_structureOs     cKsdS(N((R RRR((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyR ascCs7|r3|j}x|D]}|||jR?R@RRAtend_param_section((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyR sF         )cCs#d|jkr|j|ndS(NtidempotencyToken(tmetadatat!_append_idempotency_documentation(R RR((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyRMscCsd}|j|dS(Ns,This field is autopopulated if not provided.(R'(R Rt docstring((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyRTsN( R0R1RERFR R#R7R RMRT(((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyRGs/ N(tbotocore.docs.shapeRtbotocore.docs.utilsRRR2RG(((s5/usr/lib/fence-agents/bundled/botocore/docs/params.pyt so.