
                            S r SSKJr  SSKJr  SSKJr  SSK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 rS rSS jrS r\	R4                  " \	R6                  R8                  \	R6                  R:                  \	R6                  R<                  5       " S S\	R>                  5      5       r g)zExport Url maps command.    )absolute_import)division)unicode_literalsN)base_classes)base)flags)scope)url_maps_utils)util)filesc                      SSSS.$ )NExport a URL map.z          Exports a URL map's configuration to a file.
          This configuration can be imported at a later time.
          zu          A URL map can be exported by running:

            $ {command} NAME --destination=<path-to-file>
          )briefDESCRIPTIONEXAMPLES r       &lib/surface/compute/url_maps/export.py_DetailedHelpr       s     

 r   c                     U [         R                  R                  :X  a  gU [         R                  R                  :X  a  gg)z3Returns the API version based on the release track.alphabetav1)r   ReleaseTrackALPHABETA)release_tracks    r   _GetApiVersionr   2   s3    d''---))...	r   c                 B    [         R                  " S[        U 5      SUS9$ )z!Returns the resource schema path.computeUrlMapfor_help)export_utilGetSchemaPathr   )r   r#   s     r   _GetSchemaPathr&   ;   s%    		"	".8
M Mr   c                    UR                   nUR                  U UR                  [        R                  R
                  [        R                  " U5      S9n[        R                  " XE5      nU R                  (       aI  [        R                  " U R                  5       n[        R                  " UU[        U5      S9  SSS5        g[        R                  " U[         R"                  [        U5      S9  g! , (       d  f       g= f)z-Issues requests necessary to export URL maps.)default_scopescope_lister)messagestreamschema_pathN)clientResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALcompute_flagsGetDefaultScopeListerr
   SendGetRequestdestinationr   
FileWriterr$   Exportr&   sysstdout)argsholderurl_map_argr   r-   url_map_refurl_mapr+   s           r   _Runr@   A   s    ==&--
!++22 66v>	 . @+ ))&>'				$**	+v$]35 
,	+ zz"=13 
,	+s    C33
Dc                   @    \ rS rSrSr\" 5       rSr\S 5       r	S r
Srg)r8   Z   r   Nc                     [         R                  " 5       U l        U R                  R                  USS9  [        R
                  " U[        U R                  5       SS95        g )Nexport)operation_typeTr"   )r   UrlMapArgumentURL_MAP_ARGAddArgumentr$   AddExportFlagsr&   r   )clsparsers     r   ArgsExport.Argsb   sM    **,COOOx@s//1DACr   c                     [         R                  " U R                  5       5      n[        XU R                  U R                  5       5      $ )N)r   ComputeApiHolderr   r@   rG   )selfr;   r<   s      r   Run
Export.Runi   s9    **4+<+<+>?Fd..0A0A0CDDr   r   )__name__
__module____qualname____firstlineno____doc__r   detailed_helprG   classmethodrL   rQ   __static_attributes__r   r   r   r8   r8   Z   s-     /-+C CEr   r8   )F)!rW   
__future__r   r   r   r9   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r3   r	   r0   +googlecloudsdk.command_lib.compute.url_mapsr
   !googlecloudsdk.command_lib.exportr   r$   googlecloudsdk.core.utilr   r   r   r&   r@   ReleaseTracksr   GAr   r   Commandr8   r   r   r   <module>re      s     &  ' 
 7 ( E E = F A *$M32 D%%(($*;*;*@*@%%++-ET\\ E-Er   