
    B                         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rSS	S
S.r	 " S S\R                  5      r " S S\5      rg)z/Base classes for abstracting away common logic.    )absolute_import)division)unicode_literalsN)apisrecommenderGoogleCloudRecommenderV1GoogleCloudRecommenderV1beta1GoogleCloudRecommenderV1alpha2)v1v1beta1v1alpha2c                   (    \ rS rSrSrSrSrSrSrSr	g)	
EntityType"   zCloud Entity Types.             N)
__name__
__module____qualname____firstlineno____doc__ORGANIZATIONFOLDERPROJECTBILLING_ACCOUNT__static_attributes__r       .lib/googlecloudsdk/api_lib/recommender/base.pyr   r   "   s    ,&'/r    r   c                   *    \ rS rSrSrS rS rS rSrg)
ClientBase*   z#Base client class for all versions.c                     [         R                  " [        U5      U l        Xl        U R                  R
                  U l        [        U   U l        g )N)	r   GetClientInstanceAPI_NAME_client_api_versionMESSAGES_MODULE	_messagesRECOMMENDER_MESSAGE_PREFIX_message_prefix)selfapi_versions     r!   __init__ClientBase.__init__-   s:    ))(K@DL#\\11DN5kBDr    c                 0    [        U R                  US5      $ )z'Returns the API messages class by name.N)getattrr+   r.   message_names     r!   _GetMessageClientBase._GetMessage3   s    4>><66r    c                 T    U R                  SR                  U R                  US95      $ )z1Returns the versioned API messages class by name.z{prefix}{name})prefixname)r6   formatr-   r4   s     r!   _GetVersionedMessageClientBase._GetVersionedMessage7   s3    ,33##, 4 8 9 9r    )r)   r(   r-   r+   N)	r   r   r   r   r   r0   r6   r<   r   r   r    r!   r#   r#   *   s    +C79r    r#   )r   
__future__r   r   r   enumgooglecloudsdk.api_lib.utilr   r'   r,   Enumr   objectr#   r   r    r!   <module>rC      sM    6 &  '  , %.0  9 9r    