
    	                        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
dZ ej                  ej                  j                   ej                  j"                         G d dej$                               Zee_        y)z)Bare Metal Solution SSH keys add command.    )absolute_import)division)unicode_literals)	BmsClient)base)flags)fileszO
          Add a public SSH key to the project in Bare Metal Solution.
        a  
          To add an SSH key called ``my-ssh-key'' in project ``my-project''
          with a public key ``ABC6695''

          $ {command} my-ssh-key --project=my-project --key=ABC6695

          To add an SSH key called ``my-ssh-key'' in project ``my-project''
          with a public key stored in /home/user/.ssh/id_rsa.pub

          $ {command} my-ssh-key --project=my-project --key-file=/home/user/.ssh/id_rsa.pub
    )DESCRIPTIONEXAMPLESc                   &    e Zd ZdZed        Zd Zy)Addz;Add a public SSH key to the project in Bare Metal Solution.c                     t        j                  | d       | j                  d      }|j                  dd       |j                  dd       y	)
z Register flags for this command.T)
positional)requiredz--keyzThe SSH public key to add)helpz
--key-filez6The path to a file containing an SSH public key to addN)r   AddSshKeyArgToParseradd_mutually_exclusive_groupadd_argument)parserkey_args     lib/surface/bms/ssh_keys/add.pyArgszAdd.Args3   sU     
v$71141@G'BCF  I    c                    t               }|j                  r t        j                  |j                        }n|j                  }|j                  |j                  j                  j                         |j                               S )N)resource
public_key)
r   key_filer	   ReadFileContentskeyCreateSshKeyCONCEPTSssh_keyParsestrip)selfargsclientr   s       r   RunzAdd.Run=   sh    [F}}))$--8j88j&&,,.:;K;K;M  O Or   N)__name__
__module____qualname____doc__staticmethodr   r(    r   r   r   r   /   s    CI IOr   r   N)r,   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr   googlecloudsdk.core.utilr	   DETAILED_HELPReleaseTracksReleaseTrackALPHAGACreateCommandr   detailed_helpr.   r   r   <module>r;      s    0 &  ' ; ( 0 *
	
	( D%%++T->->-A-ABO$

 O CO. " r   