
                             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SK	Jr  SS	K	Jr  SS
KJr  \R                  " \R                   R"                  5       " S S\R$                  5      5       rg)z%Export deployment state file command.    )absolute_import)division)unicode_literals)configmanager_util)base)deploy_util)flags)resource_args)concept_parsersc                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	ExportStatefile   zhExport a terraform state file.

This command generates a signed url to download a terraform state file.
EXAMPLESz
        Export state file for `my-deployment`:

          $ {command} projects/p1/locations/us-central1/deployments/my-deployment

      c                     Sn[         R                  " X5        [         R                  " U 5        [        R                  " [
        R                  " S5      /5      R                  U 5        g )NaP          File name for statefile. It is optional and it specifies the filename or
        complete path for the downloaded statefile. If only a file path is
        provided, the statefile will be downloaded as "statefile" within that
        directory. If a filename is included, the statefile will be downloaded
        with that name.z$the deployment to be used as parent.)r	   AddFileFlagAddDraftFlagr   ConceptParserr
   GetDeploymentResourceArgSpecAddToParser)parserfile_help_texts     9lib/surface/infra_manager/deployments/export_statefile.pyArgsExportStatefile.Args+   sW    N 
f-	v!!666	
 k&    c                     [         R                  " 5       nUR                  R                  R	                  5       nUR                  5       n[        R                  " UUUR                  UR                  5      $ )zThis is what gets called when the user runs this command.

Args:
  args: an argparse namespace. All the arguments that were provided to this
    command invocation.

Returns:
  A statefile containing signed url that can be used to upload state file.
)
r   GetMessagesModuleCONCEPTS
deploymentParseRelativeNamer   ExportDeploymentStateFiledraftfile)selfargsmessagesdeployment_refdeployment_full_names        r   RunExportStatefile.Run>   s`     "335H]]--335N)66800

			 r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r*   __static_attributes__r,   r   r   r   r      s1    
   
 -  $r   r   N)r1   
__future__r   r   r   $googlecloudsdk.api_lib.infra_managerr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.infra_managerr   r	   r
   (googlecloudsdk.command_lib.util.conceptsr   ReleaseTracksReleaseTrackGACommandr   r,   r   r   <module>r>      s[    , &  ' C ( @ : B D D%%(()3dll 3 *3r   