
    -                     \   S 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\R,                  " \R.                  R0                  \R.                  R2                  \R.                  R4                  5       " S S\R6                  5      5       rg)zExport Url maps command.    N)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   /   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#   8   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=   >   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)r5   W   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.Args_   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=   rD   )selfr8   r9   s      r   Run
Export.Runf   s9    **4+<+<+>?Fd..0A0A0CDDr   r   )__name__
__module____qualname____firstlineno____doc__r   detailed_helprD   classmethodrI   rN   __static_attributes__r   r   r   r5   r5   W   s-     /-+C CEr   r5   )F)rT   r6   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r0   r   r-   +googlecloudsdk.command_lib.compute.url_mapsr   !googlecloudsdk.command_lib.exportr   r!   googlecloudsdk.core.utilr	   r   r   r#   r=   ReleaseTracksr   GAr   r   Commandr5   r   r   r   <module>ra      s      7 ( E E = F A *$M32 D%%(($*;*;*@*@%%++-ET\\ E-Er   