
    c                         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 Z	d Z
d	 Zd
 Zd Z ej                  ej                  j                          G d dej"                               Zy)zGCommand to analyze resource move for a specified asset and destination.    )absolute_import)division)unicode_literals)client_util)basec                 .    | j                  dddd       y )Nz	--project
PROJECT_IDTz1The project ID or number to perform the analysis.metavarrequiredhelpadd_argumentparsers    !lib/surface/asset/analyze_move.pyAddProjectArgsr      s"    >	  @    c                 V    | j                  dd      }t        |       t        |       y )NT)mutexr   )	add_groupAddDestinationOrgArgsAddDestinationFolderArgs)r   destination_groups     r   AddDestinationGroupr   !   s*    &&TD&A)*,-r   c                 .    | j                  dddd       y )Nz--destination-organizationORGANIZATION_IDFz8The destination organization ID to perform the analysis.r
   r   r   s    r   r   r   '   s"    "E	  Gr   c                 .    | j                  dddd       y )Nz--destination-folder	FOLDER_IDFz2The destination folder ID to perform the analysis.r
   r   r   s    r   r   r   /   s"    ?	  Ar   c                 0    | j                  ddddd       y )Nz--blockers-onlyBLOCKERS_ONLYFzDetermines whether to perform analysis against blockers only. Leaving it empty means the full analysis will be performed including warnings and blockers for the specified resource move.)r   r   defaultr   r   r   s    r   AddBlockersOnlyArgsr#   7   s'    ?  @r   c                   0    e Zd ZdZdddZed        Zd Zy)AnalyzeMovezAnalyzes resource move.zE      Analyze resource migration from its current resource hierarchy.a<        To analyze the impacts of moving a project to a different organization, run:

          $ gcloud asset analyze-move --project=YOUR_PROJECT_ID --destination-organization=ORGANIZATION_ID

      To analyze the impacts of moving a project to a different folder, run:

          $ gcloud asset analyze-move --project=YOUR_PROJECT_ID --destination-folder=FOLDER_ID

      To analyze only the blockers of moving a project to a different folder, run:

          $ gcloud asset analyze-move --project=YOUR_PROJECT_ID --destination-folder=FOLDER_ID --blockers-only=true
      )DESCRIPTIONEXAMPLESc                 F    t        |        t        |        t        |        y N)r   r   r#   r   s    r   ArgszAnalyzeMove.ArgsZ   s    6r   c                 L    t        j                         }|j                  |      S r)   )r   AnalyzeMoveClientr%   )selfargsclients      r   RunzAnalyzeMove.Run`   s!    **,Fd##r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr*   r0    r   r   r%   r%   B   s0    I
-(    
$r   r%   N)r4   
__future__r   r   r   googlecloudsdk.api_lib.assetr   googlecloudsdk.callioper   r   r   r   r   r#   ReleaseTracksReleaseTrackGACommandr%   r7   r   r   <module>r?      so    N &  ' 4 (@.GA@ D%%(()$$,, $ *$r   