&>ac@sdZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ejeZddgZdd d d d d ddddddddddgZdefdYZdS(sInternal module to help with normalizing botocore client args. This module (and all function/classes within this module) should be considered internal, and *not* a public API. iN(t RequestSigner(tConfig(tEndpointCreatortlegacytregionalsap-northeast-1s ap-south-1sap-southeast-1sap-southeast-2s aws-globals ca-central-1s eu-central-1s eu-north-1s eu-west-1s eu-west-2s eu-west-3s sa-east-1s us-east-1s us-east-2s us-west-1s us-west-2tClientArgsCreatorcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZRS(cCs:||_||_||_||_||_||_dS(N(t_event_emittert _user_agentt_response_parser_factoryt_loadert_exceptions_factoryt _config_store(tselft event_emittert user_agenttresponse_parser_factorytloadertexceptions_factoryt config_store((s./usr/lib/fence-agents/bundled/botocore/args.pyt__init__;s      c Cs|j||| ||||} | d} | d} | d} | d}| d}| d}| djdd}| d }| d }| d }tj|j}t|j|| d | d ||}||dRRRt raw_valueRRRtendpoint_variant_tagsRt is_s3_service((s./usr/lib/fence-agents/bundled/botocore/args.pyR/~sv                              cCsk|jjd}|dk rg|jdk rg|dkrE|j}qd|j}|j|jqgn|S(NR!(R tget_config_variableR1R!R2RV(R R.ts3_configuration((s./usr/lib/fence-agents/bundled/botocore/args.pyRSs    cCsni|d6|d6|d6|d6|d6}|dkrH|jd||S|dkra|j|S|j|S( NRRR"R<R?R!Rtsts(t_compute_s3_endpoint_configt_compute_sts_endpoint_configt_resolve_endpoint(R RRR"R<R?Rtresolve_endpoint_kwargs((s./usr/lib/fence-agents/bundled/botocore/args.pyRTs      cKss|j|d|}|r)d|d|tkS(NRRFR(R0ROt"_get_sts_regional_endpoints_configtLEGACY_GLOBAL_STS_REGIONS(R RR"RR[((s./usr/lib/fence-agents/bundled/botocore/args.pyRp$s  cCsI|jjd}|s!d}n|tkrEtjjd|n|S(Ntsts_regional_endpointsRtsts_regional_endpoints_config(R R]RkR7Rlt&InvalidSTSRegionalEndpointsConfigError(R Ru((s./usr/lib/fence-agents/bundled/botocore/args.pyRr.s      cCs.|r dnd}d||dscCs_tjtjdfg}|r[|j|jdtr[|jtjtjdfq[n|S(Nit tcp_keepalive( tsockett IPPROTO_TCPt TCP_NODELAYt_ensure_booleanR0ROtappendt SOL_SOCKETt SO_KEEPALIVE(R R>R((s./usr/lib/fence-agents/bundled/botocore/args.pyRYCs cCs|j||j|dS(N(t_compute_retry_max_attemptst_compute_retry_mode(R R((s./usr/lib/fence-agents/bundled/botocore/args.pyRWNs cCs|jd}|dk rkd|kr;|jdddSd|krk|jd}|d|ddS|jjd}|dkred}n||ds: