
                         L   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lZej"                   ej$                  ej&                  j(                  ej&                  j*                         G d dej,                                      Zy)z?Command for creating files for a local development environment.    )absolute_import)division)unicode_literals)base)flags)local)local_files)cloud)cloud_files)filesNc                   &    e Zd ZdZed        Zd Zy)Exporta  Writes skaffold and kubernetes files for local development.

  Writes skaffold and kubernetes yaml that builds a docker image
  and runs it locally. In order to build and run the image, run

  > skaffold dev

  This command should be used if there is a need to make
  customizations to the development environment. Otherwise,
  the gcloud local dev command should be used instead.
  c                 b   t        j                         }|j                  | j                                |j	                          |j                          |j                          |j                          |j                         j                          |j                         j                          |j                         j                          |j                  |       |j                  d      }|j                  dddd       |j                  ddddd	
       |j                  ddd       y )NF)requiredz--skaffold-filezskaffold.yamlz-Location of the generated skaffold.yaml file.)defaultr   helpz--no-skaffold-file
store_truez$Do not produce a skaffold.yaml file.)r   actionr   r   z--kubernetes-filezpods_and_services.yamlz=File containing yaml specifications for kubernetes resources.)r   r   )r   CommonFlagsAddAlphaAndBetaFlagsReleaseTrackAddServiceNameAddImage	AddMemoryAddCpuEnvVarsGroup
AddEnvVarsAddEnvVarsFileBuildersGroup
AddBuilderConfigureParseradd_mutually_exclusive_groupadd_argument)clsparsercommonskaffold_output_groups       lib/surface/code/export.pyArgszExport.Args-   s    F
 0 0 23

OO

MMO
$$&
((*
%%'
6""???O&&<	 ' > &&3 ' 5 (L  N    c                    |j                  d      r7|j                  r+t        j                  |      }t        j                  |      }n9t        j                  || j                               }t        j                  |      }t        j                  |j                        5 }|j                  t        j                  |j                                      d d d        |j                   sft        j                  |j"                        5 }|j                  t        j                  |j%                  |j                                     d d d        y y # 1 sw Y   |xY w# 1 sw Y   y xY w)Nr
   )IsKnownAndSpecifiedr
   AssembleSettingsr   CloudRuntimeFilesr   r   r	   LocalRuntimeFilesr   
FileWriterkubernetes_filewritesixuKubernetesConfigno_skaffold_fileskaffold_fileSkaffoldConfig)selfargssettingsfile_generatoroutputs        r(   Runz
Export.RunP   s    (TZZ''-h"44X>n''d.?.?.ABh"44X>n			$..	/6ll35588:;< 
0   D../6SUU>889M9MNOP 0/ ! 
0	/ 0/s   !3E>EEE$N)__name__
__module____qualname____doc__classmethodr)   r>    r*   r(   r   r      s$    
  N  NDQr*   r   )rB   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.coder   r   r	   %googlecloudsdk.command_lib.code.cloudr
   r   googlecloudsdk.core.utilr   r3   HiddenReleaseTracksr   BETAALPHACommandr   rD   r*   r(   <module>rO      s    F &  ' ( 1 1 7 7 = * 
 D%%**D,=,=,C,CD=QT\\ =Q E =Qr*   