
    h                     ~    S 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.    N)
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   ListOccurrencesV1beta1rC   7   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.)rC   	itertoolschainr&   filtersfresultss       r   !ListOccurrencesWithFiltersV1beta1rL   I   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$ r.   )
r   r   r   r    r;   r   r<   r=   r>   r"   r?   s         r   ListOccurrencesrO   O   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 rE   )rO   rF   rG   rH   s       r   ListOccurrencesWithFiltersrQ   ^   s/    29:'Q_W('':	'	"" ;rM   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.r/   r0   r2   )	r   r   r   r    r;   BContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequestr"   r=   GetVulnerabilitySummary)r&   r@   r(   r)   rB   r+   s         r   rT   rT   d   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.)rT   )r&   rI   rJ   s      r   "GetVulnerabilitySummaryWithFiltersrV   q   s     7>	?w!
!'
-w	??	?s   )i  )__doc__rF   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   r   r   r   r   r,   rC   rL   rO   rQ   rT   rV   r   r   r   <module>r[      sS    6  ' , );;@@3$#'#
B@r   