
    \                     r    S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSKJ
r
  SSKrS	 rS
 rS rg)z+Helpers for making single request requests.    )absolute_import)division)unicode_literalsN)
exceptions)operation_quota_utils)utilsc                    Sn [         R                  " U R                  5      n[        U [        R
                  5      (       a3  [        R                  " U5      (       a  U R                  [        U5      4nO.U R                  UR                  S0 5      R                  S5      4n U(       d  U R                  U R                  4nU$ ! [         a     N-f = f)z'Generate Error Message given exception.Nerrormessage)jsonloadscontent
isinstancer   	HttpErrorr   JsonErrorHasDetailsstatus_codeBuildMessageForErrorWithDetailsget
ValueError)	exceptionerror_messagedatas      ;lib/googlecloudsdk/api_lib/compute/single_request_helper.py_GenerateErrorMessager      s    -	::i''(D:'' 

#
#D
)
)



)$
/m 


((7B

#
#I
.m 
**I,=,=>M		 
 		s   A1C 6-C 
CCc                 
   / / pCU R                   R                  nSU R                   l         [        X5      " US9nUR                  U5        XPR                   l        X44$ ! [        R
                   a7  n[        U5      nUR                  U5        UR                  S5         SnANYSnAf[        R                   aF  n[        R                  " U5      S:X  a%  [        X5      " US9nUR                  U5         SnANUeSnAff = f)zMakes single request.

Args:
  service: a BaseApiService Object.
  method: a string of method name.
  request_body: a protocol buffer requesting the requests.

Returns:
  a length-one response list and error list.
r   )requestNRetry)
clientnum_retriesgetattrappendr   r   r   RequestErrorsix	text_type)	servicemethodrequest_body	responseserrorsr   responser   r   s	            r   MakeSingleRequestr+   5   s     "V**+ '..w'=HX  +..		 
		 ))4M
MM- T 
	 	  
}}Y7*),?hx  os)    A D3-B%%D<:C=;C==Dc                     [         R                  " U R                  S0 5      5      (       a  [         R                  " U 5      $ U R                  S0 5      R                  S5      $ )Nr
   r   )r   IsJsonOperationQuotaErrorr   CreateOperationQuotaExceededMsg)	json_datas    r   r   r   Z   sR    44mmGR   !@@KK=="%)))44    )__doc__
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   r   r#   r   r+   r    r0   r   <module>r6      s2    2 &  '  ' @ 0 
0!J5r0   