ó ÞtÚ_c@sédZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ejeƒZddgZdd d d d d ddddddddddgZdefd„ƒYZdS(s²Internal 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. iÿÿÿÿN(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-2tClientArgsCreatorcBs³eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„ZRS(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((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyt__init__;s      c CsÃ|j||| ||||ƒ} | d} | d} | d} | d}| d}| d}| djddƒ}| d }| d }| d }tj|jƒ}t|j|| d | d ||ƒ}||dRR RR4R5R$R%tretriesR'tinject_host_prefixRRR(tendpoint_prefixRtTrueRtFalseR/R0R6tutilstensure_booleanRRtuser_agent_extratcompute_s3_configt_compute_endpoint_configtdicttupdateR4R5R$R%RER'RFt_compute_retry_configt_compute_socket_options(R R,R-R>RR"R;R=RRRt raw_valueRRRR((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyR.}s^                      cCsk|jjdƒ}|dk rg|jdk rg|dkrE|j}qd|jƒ}|j|jƒqgn|S(NR!(R tget_config_variableR0R!R1RP(R R-ts3_configuration((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRM¹s    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((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRNÌs      cKss|j|d|ƒ}|r)d|ds aws-globals us-east-1(t_should_force_s3_globalR0RYt!_set_region_if_custom_s3_endpoint(R RRZtforce_s3_globalR((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRWÜs  cCsHd}|r2d|kr2|d}|j|ƒn|dkoG|dkS(NRtus_east_1_regional_endpoints us-east-1(s us-east-1N(t_validate_s3_regional_configR0(R RRts3_regional_config((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyR[îs   cCs(|tkr$tjjd|ƒ‚ndS(Nt%s3_us_east_1_regional_endpoint_config(tVALID_REGIONAL_ENDPOINTS_CONFIGR6t exceptionst+InvalidS3UsEast1RegionalEndpointConfigError(R t config_val((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyR_øs  cCsR|ddkrN|ddkrN|jdƒ}|d|d<|d|dR)((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyR\þs cKsD|j|}|j|d|dƒr@|j||dƒn|S(NRR"R;(RYt_should_set_global_sts_endpointt_set_global_sts_endpoint(R RZR((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRX s cCs&|r tS|jƒdko%|tkS(NR(RIt"_get_sts_regional_endpoints_configtLEGACY_GLOBAL_STS_REGIONS(R RR"((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRgscCsI|jjdƒ}|s!d}n|tkrEtjjd|ƒ‚n|S(Ntsts_regional_endpointsRtsts_regional_endpoints_config(R RTRbR6Rct&InvalidSTSRegionalEndpointsConfigError(R Rl((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRis      cCs.|r dnd}d||d((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRY*scCs_tjtjdfg}|r[|j|jdtƒƒr[|jtjtjdfƒq[n|S(Nit tcp_keepalive( tsockett IPPROTO_TCPt TCP_NODELAYt_ensure_booleanR/RItappendt SOL_SOCKETt SO_KEEPALIVE(R R=R((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRR/s cCs|j|ƒ|j|ƒdS(N(t_compute_retry_max_attemptst_compute_retry_mode(R R((s8/opt/awscli/lib/python2.7/site-packages/botocore/args.pyRQ:s cCs¹|jdƒ}|dk rkd|kr;|jddƒdSd|krk|jdƒ}|d|ds       cCss|jdƒ}|dkr.i}||ddS|jjdƒ}|dkred}n||ds: