
                             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	l
mZ dd
lmZ ddlmZ ddiZ G d dej$                        Zy)zFCommand for generating Terraform Import script for exported resources.    )absolute_import)division)unicode_literals)base)flags)terraform_utils)log)
properties)progress_tracker)filesEXAMPLESa  
    To generate an import script named `import.sh` and a module file named `modules.tf` based on exported files in `my-dir/`, run:

      $ {command} my-dir/ --output-script-file=import.sh --output-module-file=modules.tf

    To generate an import script with the default `terraform_import_YYYYMMDD-HH-MM-SS.cmd`
    and `gcloud-export-modules.tf` names on Windows, based on exported files in `my-dir/`, run:

      $ {command} my-dir
   c                   *    e Zd ZdZeZed        Zd Zy)GenerateImportz8Generate Terraform import script for exported resources.c                 .    t        j                  |       y )N)r   AddTerraformGenerateImportArgs)clsparsers     8lib/surface/resource_config/terraform/generate_import.pyArgszGenerateImport.Args3   s    	((0    c                    |j                   }t        j                  |      }t        j                  |j                  |j
                        \  }}|xs t        j                         }|xs t        j                         }t        j                  dd      5  t        j                  |||      \  }}d d d        t        j                  j                  dj                               t        j                  |j                   |j
                        \  }}	|xs t        j"                  }|	xs t        j                         }	t        j                  dd      5  t        j$                  |t&        j(                  j*                  j,                  j/                  d      ||	      \  }
}d d d        t        j                  j                  d	j                  
             y # 1 sw Y   /xY w# 1 sw Y   FxY w)
NzGenerating import script.zAborted script generation.)messageaborted_messagez8Successfully generated {} with imports for {} resources.zGenerating terraform modules.zAborted module generation.T)requiredz*Successfully generated {} with {} modules.)
INPUT_PATHr   ParseExportFilesProcessOutputParametersoutput_script_file
output_dirGenerateDefaultScriptFileNamer   GetCWDr   ProgressTrackerGenerateImportScriptr	   statusPrintformatoutput_module_fileTF_MODULES_FILENAMEGenerateModuleFiler
   VALUEScoreprojectGet)selfargs
input_pathimport_datadest_script_filedest_script_diroutput_script_filenamescript_successesdest_module_filedest_module_diroutput_module_filenamemodule_successess               r   RunzGenerateImport.Run7   s   J!22:>K )8(O(O)2%o' ?+X+X ,%7O		)	)+4
6 2A1U1U
'2:..
6
 JJBII"$4	67
 )8(O(O)2%o'N?+N+N%7O		)	)/4
6 2A1S1S
z((--559949H
O2-..
6 JJAHH 02 3 /
6 
6
6 
6s   GAG+G(+G4N)	__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpclassmethodr   r:    r   r   r   r   .   s!    @ -1 1!r   r   N)r>   
__future__r   r   r   googlecloudsdk.callioper   +googlecloudsdk.command_lib.util.declarativer   r   googlecloudsdk.corer	   r
   googlecloudsdk.core.consoler   googlecloudsdk.core.utilr   r?   DeclarativeCommandr   rB   r   r   <module>rJ      sN    M &  ' ) = G # * 8 * 		*T,, *r   