
                         4   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dl
mZ d	d
iZ e	j                  e	j                  j                  e	j                  j                   e	j                  j"                         G d de	j$                               Zy)z-recommender API recommendations list command.    )absolute_import)division)unicode_literals)recommendation)arg_parsers)base)flagsEXAMPLESz
        To mark a recommendation as SUCCEEDED:

          $ {command} abcd-1234 --project=project-id --location=global --recommender=google.compute.instance.MachineTypeRecommender --etag=abc123 --state-metadata=key1=value1,key2=value2
        c                   *    e Zd ZdZeZed        Zd Zy)MarkSucceededzMark a recommendation's state as SUCCEEDED.

      Mark a recommendation's state as SUCCEEDED. Can be applied to
      recommendations
      in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state.
  c                 N   t        j                  |        | j                  dt        d       | j                  dddd       | j                  d	d
dd       | j                  dddd       | j                  dt	        j
                  d      i ddt        j                         y)zArgs is called by calliope to gather arguments for this command.

    Args:
      parser: An argparse parser that you can use to add arguments that go on
        the command line after this command.
    RECOMMENDATIONz3Recommendation id which will be marked as succeeded)typehelpz
--locationLOCATIONTLocation)metavarrequiredr   z--recommenderRECOMMENDERzRecommender of recommendationz--etagETAGzEtag of a recommendationz--state-metadata   )
min_lengthzXState metadata for recommendation, in format of --state-metadata=key1=value1,key2=value2z	KEY=VALUE)r   defaultr   r   actionN)r	   AddParentFlagsToParseradd_argumentstrr   ArgDictStoreOnceAction)parsers    9lib/surface/recommender/recommendations/mark_succeeded.pyArgszMarkSucceeded.Args0   s     
  (
B  D j4j  J
,	  .
 '	  )
   A.g**  ,    c                     t        j                  | j                               }t        j                  |      }|j                  ||j                  |j                        S )zRun 'gcloud recommender recommendations mark-succeeded'.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
        with.

    Returns:
      The recommendations after being marked as succeeded.
    )r   CreateClientReleaseTrackr	   GetRecommendationNamer   state_metadataetag)selfargsclientnames       r!   RunzMarkSucceeded.RunQ   sL     (():):)<=F&&t,Dd&9&9499EEr#   N)	__name__
__module____qualname____doc__DETAILED_HELPdetailed_helpstaticmethodr"   r.    r#   r!   r   r   $   s'      -, ,@Fr#   r   N)r2   
__future__r   r   r   "googlecloudsdk.api_lib.recommenderr   googlecloudsdk.callioper   r   &googlecloudsdk.command_lib.recommenderr	   r3   ReleaseTracksr&   ALPHABETAGACommandr   r6   r#   r!   <module>r@      s    4 &  ' = / ( 8 	 D%%++T->->-C-C%%((*7FDLL 7F*7Fr#   