
    {	                     >   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	lmZ ej                   ej                  ej                   j"                  ej                   j$                         G d
 dej&                                      Zddie_        y)z3Command for listing organization security policies.    )absolute_import)division)unicode_literals)
list_pager)base_classes)lister)base)flagsc                   &    e Zd ZdZed        Zd Zy)ListzList Compute Engine organization security policies.

  *{command}* is used to list organization security policies. An organization
  security policy is a set of rules that controls access to various resources.
  c                     t        j                  |       |j                  j                  t         j                         t        j                  |       |j                  j                  t         j                         y )N)	r
   AddArgsListSpdisplay_info	AddFormatDEFAULT_LIST_FORMATr   AddBaseListerArgsAddCacheUpdaterOrgSecurityPoliciesCompleter)clsparsers     1lib/surface/compute/org_security_policies/list.pyArgsz	List.Args%   sR    	
!!%";";<
V$
''(J(JK    c                 z   t        j                  | j                               }|j                  j                  }|j
                  }|j                  rd|j                  z   }n|j                  rd|j                  z   }|j                        }t        j                  |j                  |d|j                  d       S )Nzorganizations/zfolders/)parentIditems)fieldlimit
batch_size)r   ComputeApiHolderReleaseTrackclientapitools_clientMESSAGES_MODULEorganizationfolder.ComputeOrganizationSecurityPoliciesListRequestr   YieldFromListorganizationSecurityPoliciesr   )selfargsholderr"   messages	parent_idrequests          r   RunzList.Run,   s    **4+<+<+>?F]]**F%%H"T%6%66i	t{{*iEE F G##++jj r   N)__name__
__module____qualname____doc__classmethodr   r0    r   r   r   r      s"     L Lr   r   EXAMPLESz    To list organization security policies under folder with ID
    ``123456789'', run:

      $ {command} --folder=123456789
    N)r4   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper	   8googlecloudsdk.command_lib.compute.org_security_policiesr
   UniverseCompatibleReleaseTracksr!   ALPHABETAListCommandr   detailed_helpr6   r   r   <module>rC      s    : &  ' ' 7 1 ( J D%%++T->->-C-CD4  E D 	 r   