
                         b   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S.r\R,                  " \R.                  R0                  \R.                  R2                  \R.                  R4                  5       " S S\R6                  5      5       rg)z Export forwarding rules command.    )absolute_import)division)unicode_literalsN)base_classes)forwarding_rules_utils)base)flags)util)fileszE        Exports a forwarding rule's configuration to a file.
        zw        A forwarding rule can be exported by running:

          $ {command} NAME --destination=<path-to-file>
        )DESCRIPTIONEXAMPLESc                   Z    \ rS rSrSrSr\r\S 5       r	\S	S j5       r
\S 5       rS rSrg)
Export,   zExport a forwarding rule.

Exports a forwarding rule's configuration to a file.
This configuration can be imported at a later time.
Nc                     U R                  5       [        R                   R                  :X  a  gU R                  5       [        R                   R                  :X  a  gg)z3Returns the API version based on the release track.alphabetav1)ReleaseTrackr   ALPHABETA)clss    .lib/surface/compute/forwarding_rules/export.pyGetApiVersionExport.GetApiVersion8   sG     T..444				t0055	5    c                 L    [         R                  " SU R                  5       SUS9$ )z!Returns the resource schema path.computeForwardingRulefor_help)export_utilGetSchemaPathr   )r   r!   s     r   r#   Export.GetSchemaPathA   s,     $$3$$&(88M Mr   c                     [         R                  " 5       U l        U R                  R                  USS9  [        R
                  " XR                  SS95        g )Nexport)operation_typeTr    )r	   ForwardingRuleArgumentFORWARDING_RULE_ARGAddArgumentr"   AddExportFlagsr#   )r   parsers     r   ArgsExport.ArgsG   sH    #::<C''x'Hv'8'8$'8'GHr   c                 F   [         R                  " U R                  5       5      nUR                  nU R                  R                  UUR                  [        R                  " U5      S9n[        R                  " X45      nUR                  (       aN  [        R                  " UR                  5       n[        R                  " UUU R!                  5       S9  S S S 5        g [        R                  " U["        R$                  U R!                  5       S9  g ! , (       d  f       g = f)N)scope_lister)messagestreamschema_path)r   ComputeApiHolderr   clientr)   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerutilsSendGetRequestdestinationr   
FileWriterr"   r   r#   sysstdout)selfargsholderr5   forwarding_rule_refforwarding_ruler2   s          r   Run
Export.RunM   s    **4+<+<+>?F]]F22DD"88@ E B
 **6GOD,,-?"('+'9'9';	= .-
  #

%)%7%7%9; .-s   1%D
D  )F)__name__
__module____qualname____firstlineno____doc__r)   DETAILED_HELPdetailed_helpclassmethodr   r#   r-   rE   __static_attributes__rG   r   r   r   r   ,   sW     -  M M
 I I
;r   r   )rL   
__future__r   r   r   r>   googlecloudsdk.api_lib.computer   r   r:   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r8   3googlecloudsdk.command_lib.compute.forwarding_rules!googlecloudsdk.command_lib.exportr
   r"   googlecloudsdk.core.utilr   rM   ReleaseTracksr   GAr   r   Commandr   rG   r   r   <module>r[      s    ' &  ' 
 7 J ( E E A *
		 D%%(($*;*;*@*@%%++-2;T\\ 2;-2;r   