
                             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
r SS jrS rS rg)z.Utilities for the container analysis commands.    )absolute_import)division)unicode_literalsN)
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MakeOccurrenceRequestr5   "   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     r4   _GetNoteRefr=   R   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)r;   r<   r,   r-   note_refr   s         r4   MakeGetNoteRequestrD   ^   sl    !!"5zB&##$7D(4(>>  " ? ' 
			#	#G	,,    )NN)__doc__
__future__r   r   r   r'   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   	six.movesr	   r$   r5   r=   rD    rE   r4   <module>rM      sA    5 &  '  ' , ) 
 $%   HL-1`	8-rE   