
                         &   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S.r\
R"                  \
R$                  " \
R&                  R(                  5       " S S\
R*                  5      5       5       r\\l        g)z-Bare Metal Solution instance reimage command.    )absolute_import)division)unicode_literals)	BmsClient)waiter)base)flags)log)	resourcesa  
          Reimage a Bare Metal Solution instance.

          This call returns immediately, but the reimage operation may take
          several minutes to complete. To check if the operation is complete,
          use the `describe` command for the instance.
        a  
          To reimage an instance called ``my-instance'' in region ``us-central1'' with
          the OS image code ``RHEL9x'', run:

          $ {command} my-instance  --region=us-central1 --os-image=RHEL9x

          To set KMS key and ssh keys in order to connect the instance.
          Please use corresponding flags:

          $ {command} my-instance  --region=us-central1 --os-image=RHEL9x --ssh-keys=ssh-key-1,ssh-key-2 --kms-key-version=sample-kms-key-version
        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)Reimage2   z'Reimage a Bare Metal Solution instance.c                     [         R                  " U SS9  [        R                  R	                  U 5        [         R
                  " U SSS9  [         R                  " U SS9  [         R                  " U SSSS9  g)z Register flags for this command.T)
positionalF)hiddenrequired)r   )r   r   pluralN)r	   AddInstanceArgToParserr   
ASYNC_FLAGAddToParserAddInstanceOsImageToParserAddKMSCryptoKeyVersionToParserAddSshKeyArgToParser)parsers    $lib/surface/bms/instances/reimage.pyArgsReimage.Args7   s_     
  D9OO'	$$VEDI	((>	55    c           
      <   [        5       nUR                  R                  R                  5       nUR	                  UUR
                  UR                  R                  R                  5       [        USS 5      S9nUR                  (       a%  [        R                  " UR                  5       SS9  U$ UR                  (       a@  [        R                  R                  SUR                  5        SUR                   S35        U$ [         R"                  R%                  UR                  SS	S
9n[&        R(                  " UR*                  5      n[&        R,                  " UUSR/                  UR                  5      5      n[        R                  " UR                  5       SS9  U$ )Nkms_crypto_key_version)os_imagessh_keysr"   instance)kindzReimage request issued for: [z]
Check operation [z] for status.z/baremetalsolution.projects.locations.operationsv2)
collectionapi_versionz&Waiting for operation [{}] to complete)r   CONCEPTSr%   ParseReimageInstancer#   r$   getattrdoner
   UpdatedResourceNameasync_statusPrintnamer   REGISTRYParseRelativeNamer   CloudOperationPollerNoResourcesoperation_serviceWaitForformat)selfargsclientr%   op_refop_resourcepollerress           r   RunReimage.RunB   sM   [F}}%%++-H##''--/&t-EtL	 $ F {{	(--/
;m{{	jj)(--/): ;$kk]-9 m$$66D 7 K 33F4L4LMF
..077DC
 j9Jr     N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rB   __static_attributes__rD   r    r   r   r   2   s     0 r    r   N)rI   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr	   googlecloudsdk.corer
   r   DETAILED_HELPUniverseCompatibleReleaseTracksReleaseTrackALPHAUpdateCommandr   detailed_helprD   r    r   <module>rY      s    4 &  ' ; . ( 0 # )
, D%%++,-d   - - -` & r    