
                             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	 rS
 rS rS rS rSS jrS rSS jrS rS rS rg)z/Utility for making containeranalysis API calls.    )absolute_import)division)unicode_literalsN)
list_pager)apis)	resourcesc                  0    [         R                  " SS5      $ Ncontaineranalysisv1r   GetClientInstance     8lib/googlecloudsdk/api_lib/containeranalysis/requests.py	GetClientr          			 3T	::r   c                  0    [         R                  " SS5      $ r
   r   GetMessagesModuler   r   r   GetMessagesr       r   r   c                  0    [         R                  " SS5      $ Nr   v1beta1r   r   r   r   GetClientV1beta1r   $       			 3Y	??r   c                  0    [         R                  " SS5      $ r   r   r   r   r   GetMessagesV1beta1r   (   r   r   c                     [        5       n[        5       n[        R                  R	                  SU US9nUR                  5       nUR                  US9nUR                  R                  U5      $ )z#Export SBOM for AR image resources.z$containeranalysis.projects.resources)
projectsIdresourcesId)name)	r   r   r   REGISTRYCreateRelativeName3ContaineranalysisProjectsResourcesExportSBOMRequestprojects_resources
ExportSBOM)projecturiclientmessagesresource_refr"   reqs          r   ExportSbomV1beta1r/   ,   sp    &!(##**, + ,
 
	"	"	$$DD$DO#		"	"	-	-c	22r   c                     [        5       n[        5       n[        R                  R	                  U SS9n[
        R                  " UR                  UR                  UR                  5       US9SUSS9$ z,List occurrences for resources in a project.cloudresourcemanager.projects
collectionparentfilteroccurrencespageSize)requestfield
batch_sizebatch_size_attribute)
r   r   r   r#   Parser   YieldFromListprojects_occurrences/ContaineranalysisProjectsOccurrencesListRequestr%   r)   
res_filter	page_sizer+   r,   project_refs         r   ListOccurrencesV1beta1rF   :   s~    &!(""((9 ) + 
	!	!!!FF))+J G  %
 r   c                 h    U Vs/ s H  n[        X5      PM     nn[        R                  " U6 $ s  snf zBList occurrences for resources in a project with multiple filters.)rF   	itertoolschainr)   filtersfresultss       r   !ListOccurrencesWithFiltersV1beta1rO   L   s1    9@AA#G/'A	'	"" B   /c                     [        5       n[        5       n[        R                  R	                  U SS9n[
        R                  " UR                  UR                  UR                  5       US9SUSS9$ r1   )
r   r   r   r#   r>   r   r?   r@   rA   r%   rB   s         r   ListOccurrencesrR   R   sy    ;&](""((9 ) ;+		!	!!!FF))+J G @%
' 'r   c                 h    U Vs/ s H  n[        X5      PM     nn[        R                  " U6 $ s  snf rH   )rR   rI   rJ   rK   s       r   ListOccurrencesWithFiltersrT   a   s/    29:'Q_W('':	'	"" ;rP   c                     [        5       n[        5       n[        R                  R	                  U SS9nUR                  UR                  5       US9nUR                  R                  U5      $ )z5Get vulnerability summary for resources in a project.r2   r3   r5   )	r   r   r   r#   r>   BContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequestr%   r@   GetVulnerabilitySummary)r)   rC   r+   r,   rE   r.   s         r   rW   rW   g   st    ;&](""((9 ) ;+ II))+J J @  
	$	$	<	<S	AAr   c                 D    U Vs/ s H  n[        X5      PM     sn$ s  snf )zKGet vulnerability summary for resources in a project with multiple filters.)rW   )r)   rL   rM   s      r   "GetVulnerabilitySummaryWithFiltersrY   t   s     7>	?w!
!'
-w	??	?s   )i  )__doc__
__future__r   r   r   rI   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   r   r   r   r   r/   rF   rO   rR   rT   rW   rY   r   r   r   <module>r_      sZ    6 &  '  ' , );;@@3$#'#
B@r   