
                         B   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mZ ddlmZ ddlmZ dZ e
j6                  e
j8                  j:                        e
j<                   G d de
j>                                      Z y)z7Command to import 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                   Z    e Zd ZdZdeiZedd       Zedej                  fd       Z
d Zy)	Importz,Import an Anthos on bare metal user cluster.EXAMPLESc                 4    t        j                  ddd|       S )N	gkeonpremv1BareMetalClusterfor_help)export_utilGetSchemaPathr   s    3lib/surface/container/bare_metal/clusters/import.pyr   zImport.GetSchemaPath.   s    $$T-     parserc                     t        j                  | d       t        j                  | t        j                  d             t        j                  j                  |        t        j                  |        y )Nz	to importTr   )schema_path)
r
   AddClusterResourceArgr   AddImportFlagsr   r   r   
ASYNC_FLAGAddToParserAddValidationOnly)r   s    r   ArgszImport.Args4   sU    ''<F00$0? 	OO'##F+r   c                    |j                   j                  j                         }t        j                         }t        j                  |j                  xs dd      }t        j                  t        j                  |t        j                               }|j                  |||      }|j                  r&|j                  d      st         j"                  |_        |j&                  ry |j                  r#t)        j*                  |d|j                         |S t-        j.                         }|j1                  |      }t)        j*                  |d|j                         |S )N-F)binary)message_typestreamr   formatzAnthos Cluster on bare metal)CONCEPTSclusterParseapisClustersClientr   ReadFromFileOrStdinsourcer   r   messagesr   r   CreateFromImportasync_IsSpecifiedr   OPERATIONS_FORMATr+   validate_onlyr   CreatedResourcer   OperationsClientWait)	selfargscluster_refcluster_clientdatabare_metal_cluster	operationoperation_clientoperation_responses	            r   Runz
Import.Run=   s    --''--/K((*N))$++*<UKD$++..((* // +I {{4++H5//dk{{	
5t{{ #446+00;	
5t{{  r   N)F)__name__
__module____qualname____doc__	_EXAMPLESdetailed_helpstaticmethodr   r	   ArgumentInterceptorr%   rE    r   r   r   r   '   sJ     5y)- 
 ,#77 , ,! r   r   N)!rI   
__future__r   r   r   *googlecloudsdk.api_lib.container.gkeonpremr   r/   r   googlecloudsdk.callioper   r	   /googlecloudsdk.command_lib.container.bare_metalr
   .googlecloudsdk.command_lib.container.gkeonpremr   !googlecloudsdk.command_lib.exportr   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   2googlecloudsdk.generated_clients.apis.gkeonprem.v1r   r3   rJ   ReleaseTracksReleaseTrackALPHAHiddenCommandr   rN   r   r   <module>r]      s|    > &  ' R A ( 4 I D A # 2 `	 D%%++,5 T\\ 5   -5 r   