
    O                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 d Z
 G d	 d
ej                        Zy)z!Utilities for Recommender Config.    )absolute_import)division)unicode_literals)encoding)base)
flag_utilsc                 B    t        j                  |       }t        |      S )zCreates Client.)r   GetApiVersionRecommenderConfig)release_trackapi_versions     <lib/googlecloudsdk/api_lib/recommender/recommender_config.pyCreateClientr      s    ((7+	;	''    c                   .     e Zd ZdZ fdZd Zd Z xZS )r   z/Base RecommenderConfig client for all versions.c                 b    t         t        |   |       | j                  j                  | _        y )N)superr   __init___clientprojects_locations_recommenders_project_service)selfr   	__class__s     r   r   zRecommenderConfig.__init__#   s%    	
T+K8 LLHHDr   c                 p    | j                   j                  |      }| j                  j                  |      S )zGets a RecommenderConfig.

    Args:
      config_name: str, the name of the config being retrieved.

    Returns:
      The RecommenderConfig message.
    )name)	_messages8RecommenderProjectsLocationsRecommendersGetConfigRequestr   	GetConfig)r   config_namerequests      r   GetzRecommenderConfig.Get'   s8     nnUU V G  **733r   c                 ,   g } | j                  d             }||_        |j                  |_        |j                  rGt	        j
                  |j                  | j                  d            }||_        |j                  d       |j                  r"|j                  |_	        |j                  d       |j                  rQt        j                  |j                  | j                  d      j                  d      |_
        |j                  d       |st        d      d	|t	        j                  | j                   dz         |d
dj#                  |      d|j$                  i} | j&                  j(                  di |}| j*                  j-                  |      S )a,  Updates a RecommenderConfig.

    Args:
      config_name: str, the name of the config being retrieved.
      args: argparse.Namespace, The arguments that the command was invoked with.

    Returns:
      The updated RecommenderConfig message.
    Raises:
      Exception: If nothing is updated.
    r   RecommenderGenerationConfigrecommender_generation_configdisplay_nameT)
sort_itemsannotationszLNothing is being updated. Please specify one of config-file or display-name.r   
updateMask,validateOnly )_GetVersionedMessager   etagconfig_filer   
ReadConfigrecommenderGenerationConfigappendr%   displayNamer'   r   DictToAdditionalPropertyMessageAnnotationsValue	ExceptionToCamelCase_message_prefixjoinvalidate_onlyr   ;RecommenderProjectsLocationsRecommendersUpdateConfigRequestr   UpdateConfig)r   r   argsupdate_maskconfig
gen_configkwargsr    s           r   UpdatezRecommenderConfig.Update5   s    K;T&&':;=FFK))FK((




#
#$A
BDj ,6f(89,,f(#CC




#
#$7
8
I
If '
X  	t336IIJHH[!	F YdnnXX 
G  --g66r   )__name__
__module____qualname____doc__r   r!   rA   __classcell__)r   s   @r   r   r       s    7I487r   r   N)rE   
__future__r   r   r   apitools.base.pyr   "googlecloudsdk.api_lib.recommenderr   r   r   
ClientBaser   r+   r   r   <module>rK      s3    ( &  ' % 3 9(M7 M7r   