
    ,                     \    S 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r
 SS jrS	 rS
 rg)z.Utilities for the container analysis commands.    N)
list_pager)apis)	resources)range   c                    [         R                  " SS5      n[         R                  " SS5      nUnU(       a  SR                  UUS9n[        R
                  R                  U SS9nU(       d>  [        R                  " UR                  UR                  UR                  5       US9SS	S
S9$ / n[        S[        U5      [        5       H  n	X9U	[        -    n
U< SSR                  U
 Vs/ s H  nSU-  PM
     sn5      < S3nUR!                  [        R                  " UR                  UR                  UR                  5       US9SS	S
S95        M     ["        R$                  " U6 $ s  snf )z1Helper function to make Fetch Occurrence Request.containeranalysisv1alpha1z)({occurrence_filter}) AND ({base_filter}))occurrence_filterbase_filterzcloudresourcemanager.projects)
collection)parentfilteroccurrencesi  pageSize)requestfield
batch_sizebatch_size_attributer   z AND (z OR zresource_url="%s"))r   GetClientInstanceGetMessagesModuleformatr   REGISTRYParser   YieldFromListprojects_occurrences/ContaineranalysisProjectsOccurrencesListRequestRelativeNamer   len _MAXIMUM_RESOURCE_URL_CHUNK_SIZEjoinappend	itertoolschain)
project_idresource_filterr   resource_urlsclientmessagesr   project_refoccurrence_generatorsindexchunkurl
url_filters                4lib/googlecloudsdk/api_lib/containeranalysis/util.pyMakeOccurrenceRequestr2      s    !!"5zB&##$7D(+3::/# 	; 	%  ""((< ) >+ 
 ####HH++-k I C') ) QM*,LMe5+K#KME%@%3(3.%@ACJ     ''LL"//1* M F!+	-. N 
/	00 As   (E&c                      [         R                  R                  U S5      $ ! [         R                   a$    [         R                  R	                  U SU0SS9s $ f = f)Nz!containeranalysis.providers.notesprovidersId)paramsr   )r   r   ParseRelativeNameInvalidResourceExceptionr   )	note_namedefault_projects     r1   _GetNoteRefr:   O   sg    8//68 8		+	+ 8##/6 $ 8 88s   " 5AAc                     [         R                  " SS5      n[         R                  " SS5      n[        X5      nUR	                  UR                  5       S9nUR                  R                  U5      $ )Nr	   r
   )name)r   r   r   r:   )ContaineranalysisProvidersNotesGetRequestr   providers_notesGet)r8   r9   r)   r*   note_refr   s         r1   MakeGetNoteRequestrA   [   sl    !!"5zB&##$7D(4(>>  " ? ' 
			#	#G	,,    )NN)__doc__r$   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   	six.movesr   r!   r2   r:   rA    rB   r1   <module>rI      s:    5  ' , ) 
 $%   HL-1`	8-rB   