
                            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
S.rS rS rS rS rS r\	R&                  " \	R(                  R*                  5       " S S\	R,                  5      5       r\\l        g)z$List command for the Org Policy CLI.    )absolute_import)division)unicode_literals)service)base)	arguments)utilsz2      Lists the policies set on a resource.
      zq      To list the policies set on the Project 'foo-project', run:

      $ {command} --project=foo-project
      )DESCRIPTIONEXAMPLESc                     U (       d  gU R                    H,  nUR                  c  UR                  c  UR                  c  M,    g   gNFTrulesvaluesallowAlldenyAllspecrules      lib/surface/org_policies/list.pyHasListPolicyr   (   s;    	jjd4==#<   
    c                     U (       d  gU R                    H,  nUR                  c  UR                  c  UR                  c  M,    g   gr   r   dry_run_specr   s     r   HasDryRunListPolicyr   2   s=    	  d4==#<  ! 
r   c                 ~    U (       a1  [        U R                   Vs/ s H  oR                  S LPM     sn5      $ gs  snf NFanyr   enforcer   s     r   HasBooleanPolicyr"   <   s3    	TZZ@ZTD(Z@AA	 A   :c                 ~    U (       a1  [        U R                   Vs/ s H  oR                  S LPM     sn5      $ gs  snf r   r   r   s     r   HasDryRunBooleanPolicyr%   B   s7    \5G5GH5GTD(5GHII	 Ir#   c                 B    U (       a  U(       a  gU (       a  gU(       a  gg)NLIVE_AND_DRY_RUN_SETSETDRY_RUN_SET- )is_policy_setis_dry_run_policy_sets     r   PolicyOutputr.   H   s    ,!	r   c                   .    \ rS rSrSr\S 5       rS rSrg)ListR   z$List the policies set on a resource.c                     [         R                  " U 5        U R                  SSSS9  U R                  R	                  S5        g )Nz--show-unset
store_truez0Show all available constraints for the resource.)actionhelpz2table(constraint, listPolicy, booleanPolicy, etag))r   AddResourceFlagsToParseradd_argumentdisplay_info	AddFormat)parsers    r   Args	List.ArgsV   sF    &&v.
?  A
 !!<>r   c                 
   [         R                  " U R                  5       5      n[        R                  " U5      n/ nUR                  U5      R                  nU H  nUR                  nUR                  n[        U5      n	[        U5      n
[        U5      n[        U5      n[        U
U5      n[        U	U5      nUR                  UR                  R!                  S5      S   UUUR"                  S.5        M     UR$                  (       at  UR'                  U5      R(                  nU Vs1 s H  nUS   iM
     nnU H>  nUR                  R!                  S5      S   nUU;  d  M)  UR                  USSS.5        M@     U$ s  snf )N/)
constraint
listPolicybooleanPolicyetagr@   r*   )r@   rA   rB   )org_policy_serviceOrgPolicyApiReleaseTrackr	   GetResourceFromArgsListPoliciespoliciesr   
dryRunSpecr   r"   r%   r   r.   appendnamesplitrC   
show_unsetListConstraintsconstraints)selfargsorg_policy_apiparentoutputrI   policyr   r   list_policy_setboolean_policy_setdry_run_boolean_policy_setdry_run_list_policy_setboolean_policy_outputlist_policy_outputrP   rowexisting_policy_namesr@   constraint_names                       r   RunList.Runa   ss   '44T5F5F5HIN&&t,FF**62;;H[[d&&l%d+o+D1#9,#G  3L A*+=+EG'(?Amm))#.r2*0++	 	 " "226:FFk<BCFSs<0FC#*$////4R8"77
--+"  $ M Ds   )F r+   N)	__name__
__module____qualname____firstlineno____doc__staticmethodr;   r`   __static_attributes__r+   r   r   r0   r0   R   s    ,> >$r   r0   N)rf   
__future__r   r   r    googlecloudsdk.api_lib.orgpolicyr   rD   googlecloudsdk.callioper   'googlecloudsdk.command_lib.org_policiesr   r	   DETAILED_HELPr   r   r"   r%   r.   ReleaseTracksrF   GAListCommandr0   detailed_helpr+   r   r   <module>rr      s    + &  ' J ( = 9	
	
 D%%(()24 2 *2j # r   