
    	                         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  \R                  " \R                  R                  5      \R                    " S	 S
\R"                  5      5       5       rg)z@Command to set service account email to zonal instance settings.    )absolute_import)division)unicode_literals)base_classes)base)flags)
propertiesc                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	SetServiceAccount   z/Set service account in zonal instance settings.EXAMPLESa  
        To update the instance settings in the zone called ``us-central1-a''
        in the project ``my-gcp-project'' with service account email ``example@serviceaccount.com'', run:

          $ {command} example@serviceaccount.com --zone=us-central1-a --project=my-gcp-project
      c                 0    [         R                  " U 5        g )N)r   AddServiceAccountFlags)parsers    <lib/surface/compute/instance_settings/set_service_account.pyArgsSetServiceAccount.Args'   s    	  (    c           	         [         R                  " U R                  5       5      nUR                  nUR                  R
                  nUR                  R                  [        R                  R                  R                  R                  5       UR                  S9nUR                  USU4/5      S   R                  nUR                  R!                  UR                  R#                  [%        USS 5      US9[        R                  R                  R                  R                  5       SUR                  S9nUR                  USU4/S	S
9S   $ )N)projectzoneGetr   SERVICE_ACCOUNT_EMAIL)emailfingerprintr   )instanceSettingsr   
updateMaskr   PatchT)no_followup)r   ComputeApiHolderReleaseTrackclientapitools_clientr   messages!ComputeInstanceSettingsGetRequestr	   VALUEScorer   	GetOrFailr   MakeRequestsr   #ComputeInstanceSettingsPatchRequestInstanceSettingsgetattr)selfargsholderr"   serviceget_requestr   requests           r   RunSetServiceAccount.Run+   s@   **4+<+<+>?F]]F$$55G//CC!!&&..88: D K %%'D&EF	k  ooAA99$ 7># : 
 !!&&..88:YY B G 
7G	$%   	 	r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r3   __static_attributes__r5   r   r   r   r      s/     8  
 - ) )	r   r   N)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   4googlecloudsdk.command_lib.compute.instance_settingsr   googlecloudsdk.corer	   ReleaseTracksr!   ALPHAHiddenUpdateCommandr   r5   r   r   <module>rG      sd    G &  ' 7 ( F * D%%++,%	** %	  -%	r   