
                         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,                  R.                  \	R,                  R0                  \	R,                  R2                  5       " S S\	R4                  5      5       rg)zExport backend service command.    )absolute_import)division)unicode_literalsN)base_classes)base)flags)backend_services_utils)util)filesz        Exports a backend service's configuration to a file.
        This configuration can be imported at a later time.
        z        A backend service can be exported by running:

          $ {command} NAME --destination=<path-to-file> --global
        )DESCRIPTIONEXAMPLESc                   V    \ 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 backend service.

Exports a backend service's configuration to a file.
This configuration can be imported at a later time.
c                     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/backend_services/export.pyGetApiVersionExport.GetApiVersion9   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BackendServicefor_help)export_utilGetSchemaPathr   )r   r!   s     r   r#   Export.GetSchemaPathB   s,     $$3$$&(88M Mr   c                     [         R                  R                  USS9  [        R                  " XR                  SS95        g )Nexport)operation_typeTr    )r   #GLOBAL_REGIONAL_BACKEND_SERVICE_ARGAddArgumentr"   AddExportFlagsr#   )r   parsers     r   ArgsExport.ArgsH   s<    	--99x : )v'8'8$'8'GHr   c                 x   [         R                  " U R                  5       5      nUR                  n[        R
                  " 5         [        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	   8IsDefaultRegionalBackendServicePropertyNoneWarnOtherwiser   r(   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerSendGetRequestdestinationr   
FileWriterr"   r   r#   sysstdout)selfargsholderr4   backend_service_refbackend_servicer1   s          r   Run
Export.RunN   s    **4+<+<+>?F]]F==> @ 	11CC&<<VD 	D 	F  -;;%O D,,-?"('+'9'9';	= .-
  #

%)%7%7%9; .-s   
%D++
D9 N)F)__name__
__module____qualname____firstlineno____doc__DETAILED_HELPdetailed_helpclassmethodr   r#   r,   rD   __static_attributes__rF   r   r   r   r   .   sQ      -  M M
 I I
;r   r   )rK   
__future__r   r   r   r=   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r8   3googlecloudsdk.command_lib.compute.backend_servicesr	   !googlecloudsdk.command_lib.exportr
   r"   googlecloudsdk.core.utilr   rL   ReleaseTracksr   GAr   r   Commandr   rF   r   r   <module>rZ      s    & &  ' 
 7 ( E V E A *
	
	 D%%(($*;*;*@*@%%++-5;T\\ 5;-5;r   