
                            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KJr  SSKJr  SSS.r\R(                  \R*                  " \R,                  R.                  5       " S S\R0                  5      5       5       r\R(                  \R*                  " \R,                  R4                  5       " S S\5      5       5       rg)zCommand to enroll a new scope.    )absolute_import)division)unicode_literals)
exceptions)	constants)enrollments)base)exception_utils)flags)
propertiesEnroll a new scope.z         To enroll a project with ID `123` with `gs://test-bucket-1` and `gs://my-bucket-2` as eligible storage buckets, run:

        $ {command} --project=123 --eligible-gcs-buckets="gs://test-bucket-1,gs://my-bucket-2"
        )DESCRIPTIONEXAMPLESc                   ^    \ rS rSrSr\r\R                  R                  r
\S 5       rS rSrg)Add)   r   c                 ^    [         R                  " U S5        [         R                  " U 5        g )Nz	to enroll)r   %AddProjectOrFolderOrOrganizationFlagsAddEligibleDestinationsFlags)parsers    ,lib/surface/audit_manager/enrollments/add.pyArgsAdd.Args1   s     	//D	&&v.    c                 x   UR                   SLnUR                  SLnU(       a  SR                  UR                   S9nO:U(       a  SR                  UR                  S9nOSR                  UR                  S9nUS-  n[        R
                  " U R                  S	9n UR                  UUR                  UUS
9$ ! [        R                   a  n[        R                  " U5      nUR                  [        R                  5      (       a  Sn[        R                   R"                  R$                  R'                  5       n	SUl        U(       a  Sn
OU(       a  Sn
OSn
U
 SU(       a  UR                   OU(       a  UR                  OUR                   SU	 SU 3Ul        [,        R.                  " U5         SnAgSnAff = f)zRun the add command.Nzfolders/{folder})folderzorganizations/{organization})organizationzprojects/{project})projectz/locations/global)api_version)eligible_gcs_bucketsis_parent_folderis_parent_organizationzroles/auditmanager.adminzgrant permissionz6gcloud resource-manager folders add-iam-policy-bindingz<gcloud resource-manager organizations add-iam-policy-bindingz&gcloud projects add-iam-policy-binding z --member=user:z --role )r   r   formatr   r   EnrollmentsClientr   r   r    apitools_exceptions	HttpErrorr
   AuditManagerErrorhas_error_infoERROR_REASON_PERMISSION_DENIEDr   VALUEScoreaccountGetsuggested_command_purposesuggested_commandcore_exceptionsreraise)selfargsr!   r"   scopeclienterrorexcroleusercommand_prefixs              r   RunAdd.Run6   s   {{$.!..d: ''t{{';e	,33(( 4 e #))$,,)?e	  E**t7G7GHF#ZZ
#88+!7	    (( #--e4c			OJJ	K	K)  %%--113(:%F  $L  D./J`T5F5FfjfrfrsdV8D63 	 c""/#s   B8 8F9C#F44F9 N)__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpr   
ApiVersionV1r   staticmethodr   r<   __static_attributes__r>   r   r   r   r   )   s4      -$$''+/ /1#r   r   c                   D    \ rS rSrSr\R                  R                  rSr	g)AddAlphaj   r   r>   N)
r?   r@   rA   rB   rC   r   rF   V1_ALPHAr   rI   r>   r   r   rK   rK   j   s     $$--+r   rK   N)rC   
__future__r   r   r   apitools.base.pyr   r&   $googlecloudsdk.api_lib.audit_managerr   r   googlecloudsdk.callioper	   (googlecloudsdk.command_lib.audit_managerr
   r   googlecloudsdk.corer1   r   rD   DefaultUniverseOnlyReleaseTracksReleaseTrackGACreateCommandr   ALPHArK   r>   r   r   <module>rZ      s    % &  ' > : < ( D : = * ) D%%(()<#$

 <# * <#~ D%%++,.s . - .r   