
    O                         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 r
 " S	 S
\R                  5      rg)z!Utilities for Recommender Config.    )absolute_import)division)unicode_literals)encoding)base)
flag_utilsc                 D    [         R                  " U 5      n[        U5      $ )zCreates Client.)r   GetApiVersionRecommenderConfig)release_trackapi_versions     <lib/googlecloudsdk/api_lib/recommender/recommender_config.pyCreateClientr      s    ((7+	;	''    c                   8   ^  \ rS rSrSrU 4S jrS rS rSrU =r	$ )r       z/Base RecommenderConfig client for all versions.c                 b   > [         [        U ]  U5        U R                  R                  U l        g )N)superr   __init___clientprojects_locations_recommenders_project_service)selfr   	__class__s     r   r   RecommenderConfig.__init__#   s%    	
T+K8 LLHHDr   c                 j    U R                   R                  US9nU R                  R                  U5      $ )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   GetRecommenderConfig.Get'   s8     nnUU V G  **733r   c                 P   / nU R                  S5      " 5       nXl        UR                  Ul        UR                  (       aG  [        R
                  " UR                  U R                  S5      5      nXTl        UR                  S5        UR                  (       a"  UR                  Ul	        UR                  S5        UR                  (       aO  [        R                  " UR                  U R                  S5      R                  SS9Ul
        UR                  S5        U(       d  [        S5      eS	U[        R                  " U R                   S-   5      US
SR#                  U5      SUR$                  0nU R&                  R(                  " S0 UD6nU R*                  R-                  U5      $ )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   UpdateRecommenderConfig.Update5   sw    K&&':;=FK))FK((




#
#$A
BDj ,6(89,,f(#CC




#
#$7
8
I
If '
X  	t336IIJHH[!	F nnXX 
G  --g66r   )r   )
__name__
__module____qualname____firstlineno____doc__r   r#   rD   __static_attributes____classcell__)r   s   @r   r   r       s    7I487 87r   r   N)rJ   
__future__r   r   r   apitools.base.pyr   "googlecloudsdk.api_lib.recommenderr   r   r   
ClientBaser   r.   r   r   <module>rQ      s3    ( &  ' % 3 9(M7 M7r   