
                         f    S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSKJ
r
   " S S	\5      rg
)zDFunctions for creating a client to talk to the App Engine Admin API.    )absolute_import)division)unicode_literals)apis)
properties)	resourcesc                   j    \ rS rSrSrS r\S 5       r\S 5       r	\SS j5       r
S rS	 rS
 rS rSrg)AppengineApiClientBase   z%Base class for App Engine API client.c                 |    Xl         [        R                  R                  R                  R                  SS9U l        g )NT)required)clientr   VALUEScoreprojectGet)selfr   s     ?lib/googlecloudsdk/api_lib/app/api/appengine_api_client_base.py__init__AppengineApiClientBase.__init__   s.    K$$))1155t5DDL    c                 .    U R                   R                  $ N)r   MESSAGES_MODULE)r   s    r   messagesAppengineApiClientBase.messages!   s    ;;&&&r   c                     g)Nv1 )clss    r   
ApiVersion!AppengineApiClientBase.ApiVersion%   s    r   Nc                 b    Uc  U R                  5       nU " [        R                  " SU5      5      $ )a   Initializes an AppengineApiClient using the specified API version.

Uses the api_client_overrides/appengine property to determine which client
version to use if api_version is not set. Additionally uses the
api_endpoint_overrides/appengine property to determine the server endpoint
for the App Engine API.

Args:
  api_version: The api version override.

Returns:
  An AppengineApiClient used by gcloud to communicate with the App Engine
  API.

Raises:
  ValueError: If default_version does not correspond to a supported version
  of the API.
	appengine)r!   	core_apisGetClientInstance)r    api_versions     r   GetApiClient#AppengineApiClientBase.GetApiClient)   s.    ( NN$ky**;DEEr   c                 t    [         R                  R                  U R                  0 SS9nUR	                  5       $ )Nzappengine.appsparams
collectionr   REGISTRYParser   RelativeName)r   ress     r   
_FormatApp!AppengineApiClientBase._FormatAppB   s8    



"
"R,< # >Cr   c                 x    [         R                  R                  USU R                  0SS9nUR	                  5       $ )NappsIdzappengine.apps.servicesr+   r.   )r   service_namer2   s      r   _GetServiceRelativeName.AppengineApiClientBase._GetServiceRelativeNameG   s@    



"
"$,,', # .C r   c                 z    [         R                  R                  UU R                  US.SS9nUR	                  5       $ )N)r6   
servicesIdz appengine.apps.services.versionsr+   r.   )r   r7   
version_idr2   s       r   _FormatVersion%AppengineApiClientBase._FormatVersionN   sC    



"
",,*,5	 # 7C
 r   c                 x    [         R                  R                  USU R                  0SS9nUR	                  5       $ )Nr6   zappengine.apps.operationsr+   r.   )r   op_idr2   s      r   _FormatOperation'AppengineApiClientBase._FormatOperationV   s@    



"
"$,,'. # 0C r   )r   r   r   )__name__
__module____qualname____firstlineno____doc__r   propertyr   classmethodr!   r(   r3   r8   r=   rA   __static_attributes__r   r   r   r
   r
      s]    -E ' '   F F0
r   r
   N)rG   
__future__r   r   r   googlecloudsdk.api_lib.utilr   r%   googlecloudsdk.corer   r   objectr
   r   r   r   <module>rO      s+    K &  ' 9 * )AV Ar   