
                             S r SSKJr  SSKJr  SSKJr  SSK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\R$                  5      rg)z&Command for deleting service accounts.    )absolute_import)division)unicode_literalsN)util)smart_guardrails)base)iam_util)log)
console_ioc                   V    \ rS rSrSrS\R                  " S5      0r\S 5       r	S r
Srg)	Delete    zDelete a service account from a project.

If the service account does not exist, this command returns a
`PERMISSION_DENIED` error.
EXAMPLESz
          To delete an service account from your project, run:

            $ {command} my-iam-account@my-project.iam.gserviceaccount.com
          c                     [         R                  " USS9  U R                  5       [        R                  R                  :w  a  [         R
                  " USS9  g g )Nz	to delete)actiondeletion)r	   AddServiceAccountNameArgReleaseTrackr   GAAddServiceAccountRecommendArg)clsparsers     *lib/surface/iam/service_accounts/delete.pyArgsDelete.Args/   sG    %%{$
T..111,,VJG 2    c                 Z   SR                  UR                  5      n[        R                  " 5       u  p4[        R
                  " UR                  5      nU R                  5       [        R                  R                  :w  a  UR                  (       a  UR                  R                  UR                  US95      n[        R                  " 5         [        R                  " U R                  5       UR                   UR                  5      n[        R"                  " 5         U(       a  USR                  U5      -  n[$        R&                  " USS9  UR                  R)                  UR+                  US95        [,        R.                  R1                  SR                  UR                  5      5        g )Nz-You are about to delete service account [{0}])namez

{0}T)messagecancel_on_nozdeleted service account [{0}])formatservice_accountr   GetClientAndMessagesr	   EmailToAccountResourceNamer   r   r   	recommendprojects_serviceAccountsGet$IamProjectsServiceAccountsGetRequestEnableUserProjectQuotar   GetServiceAccountDeletionRisk	projectIdDisableUserProjectQuotar   PromptContinuer   'IamProjectsServiceAccountsDeleteRequestr
   statusPrint)selfargsprompt_messageclientmessagessa_resource_namer"   risks           r   Run
Delete.Run6   sS   DKKN 002F::4;O;OPd//222t~~77;;

7
7=M
7
No !!#;;





#
#


d
 ""$	)**400n4H
##**88>N8O JJ4;; r    N)__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpclassmethodr   r8   __static_attributes__r:   r   r   r   r       s>     (// # - H Hr   r   )r?   
__future__r   r   r   r@   googlecloudsdk.api_lib.iamr   'googlecloudsdk.api_lib.smart_guardrailsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.iamr	   googlecloudsdk.corer
   googlecloudsdk.core.consoler   DeleteCommandr   r:   r   r   <module>rM      s:     - &  '  + D ( 3 # 23T 3r   