
    B                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ dZdd	d
dZ	 G d dej                        Z G d de      Zy)z/Base classes for abstracting away common logic.    )absolute_import)division)unicode_literalsN)apisrecommenderGoogleCloudRecommenderV1GoogleCloudRecommenderV1beta1GoogleCloudRecommenderV1alpha2)v1v1beta1v1alpha2c                        e Zd ZdZdZdZdZdZy)
EntityTypezCloud Entity Types.            N)__name__
__module____qualname____doc__ORGANIZATIONFOLDERPROJECTBILLING_ACCOUNT     .lib/googlecloudsdk/api_lib/recommender/base.pyr   r   "   s    ,&'/r   r   c                   "    e Zd ZdZd Zd Zd Zy)
ClientBasez#Base client class for all versions.c                     t        j                  t        |      | _        || _        | j                  j
                  | _        t        |   | _        y )N)	r   GetClientInstanceAPI_NAME_client_api_versionMESSAGES_MODULE	_messagesRECOMMENDER_MESSAGE_PREFIX_message_prefix)selfapi_versions     r   __init__zClientBase.__init__-   s<    ))(K@DL#D\\11DN5kBDr   c                 0    t        | j                  |d      S )z'Returns the API messages class by name.N)getattrr'   r*   message_names     r   _GetMessagezClientBase._GetMessage3   s    4>><66r   c                 Z    | j                  dj                  | j                  |            S )z1Returns the versioned API messages class by name.z{prefix}{name})prefixname)r1   formatr)   r/   s     r   _GetVersionedMessagezClientBase._GetVersionedMessage7   s3    ,33##, 4 8 9 9r   N)r   r   r   r   r,   r1   r6   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>r<      sM    6 &  '  , %.0  9 9r   