
    g                     N   S 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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\
R8                  " \
R:                  R<                  5      \
R>                   " S S\
R@                  5      5       5       r!g)zBCommand to import and update an Anthos clusters on bare metal API.    )absolute_import)division)unicode_literals)bare_metal_clusters)
operations)base)parser_arguments)cluster_flags)	constants)util)log)
console_io)gkeonprem_v1_messageszS
A cluster can be imported by running:

  $ {command} NAME --source=<path-to-file>
c                   f    \ rS rSrSrS\0r\S
S j5       r\S\	R                  4S j5       rS rSrg	)UpdateFromFile(   zGUpdate an Anthos on bare metal user cluster using a configuration file.EXAMPLESc                 0    [         R                  " SSSU S9$ )N	gkeonpremv1BareMetalClusterfor_help)export_utilGetSchemaPathr   s    =lib/surface/container/bare_metal/clusters/update_from_file.pyr   UpdateFromFile.GetSchemaPath/   s    $$T-     parserc                 >   U R                   R                  [        R                  5        [        R
                  " U S5        [        R                  " U [        R                  SS95        [        R                  R                  U 5        [        R                  " U 5        g )Nzto import and updateTr   )display_info	AddFormatbare_metal_constantsBARE_METAL_CLUSTERS_FORMATr
   AddClusterResourceArgr   AddImportFlagsr   r   r   
ASYNC_FLAGAddToParserAddValidationOnly)r   s    r   ArgsUpdateFromFile.Args5   ss    
!!779''0FG,,d,; 	OO'##F+r   c                    UR                   R                  R                  5       n[        R                  " 5       n[
        R                  " UR                  =(       d    SSS9n[        R                  " [        R                  U[        R                  5       S9nUR                  X5      nUR                  (       a+  UR                  S5      (       d  [         R"                  Ul        UR&                  (       a  g UR                  (       a$  [(        R*                  " USUR                  5        U$ [,        R.                  " 5       nUR1                  U5      n[(        R*                  " USUR                  5        U$ )N-F)binary)message_typestreamschema_pathformatzAnthos Cluster on bare metal)CONCEPTSclusterParseapisClustersClientr   ReadFromFileOrStdinsourcer   Importmessagesr   r   r   async_IsSpecifiedr   OPERATIONS_FORMATr2   validate_onlyr   UpdatedResourcer   OperationsClientWait)	selfargscluster_refcluster_clientdatabare_metal_cluster	operationoperation_clientoperation_responses	            r   RunUpdateFromFile.Run@   s   --''--/K((*N))$++*<UKD$++.."002 --dGI{{4++H55//dk{{	
5t{{ #446+00;	
5t{{  r    N)F)__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodr   r	   ArgumentInterceptorr*   rL   __static_attributes__rN   r   r   r   r   (   sK     Py)- 
 ,#77 , , r   r   N)"rS   
__future__r   r   r   *googlecloudsdk.api_lib.container.gkeonpremr   r6   r   googlecloudsdk.callioper   r	   /googlecloudsdk.command_lib.container.bare_metalr
   r   r#   .googlecloudsdk.command_lib.container.gkeonprem!googlecloudsdk.command_lib.exportr   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   2googlecloudsdk.generated_clients.apis.gkeonprem.v1r   r;   rT   ReleaseTracksReleaseTrackALPHAHiddenCommandr   rN   r   r   <module>rg      s~    I &  ' R A ( 4 I ] D A # 2 `	 D%%++,5 T\\ 5   -5 r   