1"""Generated client library for containeranalysis version v1."""
2# NOTE: This file is autogenerated and should not be edited by hand.
3
4from __future__ import absolute_import
5
6from apitools.base.py import base_api
7from googlecloudsdk.third_party.apis.containeranalysis.v1 import containeranalysis_v1_messages as messages
8
9
10class ContaineranalysisV1(base_api.BaseApiClient):
11  """Generated client library for service containeranalysis version v1."""
12
13  MESSAGES_MODULE = messages
14  BASE_URL = 'https://containeranalysis.googleapis.com/'
15  MTLS_BASE_URL = 'https://containeranalysis.mtls.googleapis.com/'
16
17  _PACKAGE = 'containeranalysis'
18  _SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
19  _VERSION = 'v1'
20  _CLIENT_ID = '1042881264118.apps.googleusercontent.com'
21  _CLIENT_SECRET = 'x_Tw5K8nnjoRAqULM9PFAC2b'
22  _USER_AGENT = 'google-cloud-sdk'
23  _CLIENT_CLASS_NAME = 'ContaineranalysisV1'
24  _URL_VERSION = 'v1'
25  _API_KEY = None
26
27  def __init__(self, url='', credentials=None,
28               get_credentials=True, http=None, model=None,
29               log_request=False, log_response=False,
30               credentials_args=None, default_global_params=None,
31               additional_http_headers=None, response_encoding=None):
32    """Create a new containeranalysis handle."""
33    url = url or self.BASE_URL
34    super(ContaineranalysisV1, self).__init__(
35        url, credentials=credentials,
36        get_credentials=get_credentials, http=http, model=model,
37        log_request=log_request, log_response=log_response,
38        credentials_args=credentials_args,
39        default_global_params=default_global_params,
40        additional_http_headers=additional_http_headers,
41        response_encoding=response_encoding)
42    self.operations = self.OperationsService(self)
43    self.projects_notes_occurrences = self.ProjectsNotesOccurrencesService(self)
44    self.projects_notes = self.ProjectsNotesService(self)
45    self.projects_occurrences = self.ProjectsOccurrencesService(self)
46    self.projects = self.ProjectsService(self)
47
48  class OperationsService(base_api.BaseApiService):
49    """Service class for the operations resource."""
50
51    _NAME = 'operations'
52
53    def __init__(self, client):
54      super(ContaineranalysisV1.OperationsService, self).__init__(client)
55      self._upload_configs = {
56          }
57
58    def Cancel(self, request, global_params=None):
59      r"""Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
60
61      Args:
62        request: (ContaineranalysisOperationsCancelRequest) input message
63        global_params: (StandardQueryParameters, default: None) global arguments
64      Returns:
65        (Empty) The response message.
66      """
67      config = self.GetMethodConfig('Cancel')
68      return self._RunMethod(
69          config, request, global_params=global_params)
70
71    Cancel.method_config = lambda: base_api.ApiMethodInfo(
72        flat_path='v1/operations/{operationsId}:cancel',
73        http_method='POST',
74        method_id='containeranalysis.operations.cancel',
75        ordered_params=['name'],
76        path_params=['name'],
77        query_params=[],
78        relative_path='v1/{+name}:cancel',
79        request_field='cancelOperationRequest',
80        request_type_name='ContaineranalysisOperationsCancelRequest',
81        response_type_name='Empty',
82        supports_download=False,
83    )
84
85    def Delete(self, request, global_params=None):
86      r"""Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
87
88      Args:
89        request: (ContaineranalysisOperationsDeleteRequest) input message
90        global_params: (StandardQueryParameters, default: None) global arguments
91      Returns:
92        (Empty) The response message.
93      """
94      config = self.GetMethodConfig('Delete')
95      return self._RunMethod(
96          config, request, global_params=global_params)
97
98    Delete.method_config = lambda: base_api.ApiMethodInfo(
99        flat_path='v1/operations/{operationsId}',
100        http_method='DELETE',
101        method_id='containeranalysis.operations.delete',
102        ordered_params=['name'],
103        path_params=['name'],
104        query_params=[],
105        relative_path='v1/{+name}',
106        request_field='',
107        request_type_name='ContaineranalysisOperationsDeleteRequest',
108        response_type_name='Empty',
109        supports_download=False,
110    )
111
112    def Get(self, request, global_params=None):
113      r"""Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
114
115      Args:
116        request: (ContaineranalysisOperationsGetRequest) input message
117        global_params: (StandardQueryParameters, default: None) global arguments
118      Returns:
119        (Operation) The response message.
120      """
121      config = self.GetMethodConfig('Get')
122      return self._RunMethod(
123          config, request, global_params=global_params)
124
125    Get.method_config = lambda: base_api.ApiMethodInfo(
126        flat_path='v1/operations/{operationsId}',
127        http_method='GET',
128        method_id='containeranalysis.operations.get',
129        ordered_params=['name'],
130        path_params=['name'],
131        query_params=[],
132        relative_path='v1/{+name}',
133        request_field='',
134        request_type_name='ContaineranalysisOperationsGetRequest',
135        response_type_name='Operation',
136        supports_download=False,
137    )
138
139    def List(self, request, global_params=None):
140      r"""Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
141
142      Args:
143        request: (ContaineranalysisOperationsListRequest) input message
144        global_params: (StandardQueryParameters, default: None) global arguments
145      Returns:
146        (ListOperationsResponse) The response message.
147      """
148      config = self.GetMethodConfig('List')
149      return self._RunMethod(
150          config, request, global_params=global_params)
151
152    List.method_config = lambda: base_api.ApiMethodInfo(
153        flat_path='v1/operations',
154        http_method='GET',
155        method_id='containeranalysis.operations.list',
156        ordered_params=['name'],
157        path_params=['name'],
158        query_params=['filter', 'pageSize', 'pageToken'],
159        relative_path='v1/{+name}',
160        request_field='',
161        request_type_name='ContaineranalysisOperationsListRequest',
162        response_type_name='ListOperationsResponse',
163        supports_download=False,
164    )
165
166  class ProjectsNotesOccurrencesService(base_api.BaseApiService):
167    """Service class for the projects_notes_occurrences resource."""
168
169    _NAME = 'projects_notes_occurrences'
170
171    def __init__(self, client):
172      super(ContaineranalysisV1.ProjectsNotesOccurrencesService, self).__init__(client)
173      self._upload_configs = {
174          }
175
176    def List(self, request, global_params=None):
177      r"""Lists occurrences referencing the specified note. Provider projects can use this method to get all occurrences across consumer projects referencing the specified note.
178
179      Args:
180        request: (ContaineranalysisProjectsNotesOccurrencesListRequest) input message
181        global_params: (StandardQueryParameters, default: None) global arguments
182      Returns:
183        (ListNoteOccurrencesResponse) The response message.
184      """
185      config = self.GetMethodConfig('List')
186      return self._RunMethod(
187          config, request, global_params=global_params)
188
189    List.method_config = lambda: base_api.ApiMethodInfo(
190        flat_path='v1/projects/{projectsId}/notes/{notesId}/occurrences',
191        http_method='GET',
192        method_id='containeranalysis.projects.notes.occurrences.list',
193        ordered_params=['name'],
194        path_params=['name'],
195        query_params=['filter', 'pageSize', 'pageToken'],
196        relative_path='v1/{+name}/occurrences',
197        request_field='',
198        request_type_name='ContaineranalysisProjectsNotesOccurrencesListRequest',
199        response_type_name='ListNoteOccurrencesResponse',
200        supports_download=False,
201    )
202
203  class ProjectsNotesService(base_api.BaseApiService):
204    """Service class for the projects_notes resource."""
205
206    _NAME = 'projects_notes'
207
208    def __init__(self, client):
209      super(ContaineranalysisV1.ProjectsNotesService, self).__init__(client)
210      self._upload_configs = {
211          }
212
213    def BatchCreate(self, request, global_params=None):
214      r"""Creates new notes in batch.
215
216      Args:
217        request: (ContaineranalysisProjectsNotesBatchCreateRequest) input message
218        global_params: (StandardQueryParameters, default: None) global arguments
219      Returns:
220        (BatchCreateNotesResponse) The response message.
221      """
222      config = self.GetMethodConfig('BatchCreate')
223      return self._RunMethod(
224          config, request, global_params=global_params)
225
226    BatchCreate.method_config = lambda: base_api.ApiMethodInfo(
227        flat_path='v1/projects/{projectsId}/notes:batchCreate',
228        http_method='POST',
229        method_id='containeranalysis.projects.notes.batchCreate',
230        ordered_params=['parent'],
231        path_params=['parent'],
232        query_params=[],
233        relative_path='v1/{+parent}/notes:batchCreate',
234        request_field='batchCreateNotesRequest',
235        request_type_name='ContaineranalysisProjectsNotesBatchCreateRequest',
236        response_type_name='BatchCreateNotesResponse',
237        supports_download=False,
238    )
239
240    def Create(self, request, global_params=None):
241      r"""Creates a new note.
242
243      Args:
244        request: (ContaineranalysisProjectsNotesCreateRequest) input message
245        global_params: (StandardQueryParameters, default: None) global arguments
246      Returns:
247        (Note) The response message.
248      """
249      config = self.GetMethodConfig('Create')
250      return self._RunMethod(
251          config, request, global_params=global_params)
252
253    Create.method_config = lambda: base_api.ApiMethodInfo(
254        flat_path='v1/projects/{projectsId}/notes',
255        http_method='POST',
256        method_id='containeranalysis.projects.notes.create',
257        ordered_params=['parent'],
258        path_params=['parent'],
259        query_params=['noteId'],
260        relative_path='v1/{+parent}/notes',
261        request_field='note',
262        request_type_name='ContaineranalysisProjectsNotesCreateRequest',
263        response_type_name='Note',
264        supports_download=False,
265    )
266
267    def Delete(self, request, global_params=None):
268      r"""Deletes the specified note.
269
270      Args:
271        request: (ContaineranalysisProjectsNotesDeleteRequest) input message
272        global_params: (StandardQueryParameters, default: None) global arguments
273      Returns:
274        (Empty) The response message.
275      """
276      config = self.GetMethodConfig('Delete')
277      return self._RunMethod(
278          config, request, global_params=global_params)
279
280    Delete.method_config = lambda: base_api.ApiMethodInfo(
281        flat_path='v1/projects/{projectsId}/notes/{notesId}',
282        http_method='DELETE',
283        method_id='containeranalysis.projects.notes.delete',
284        ordered_params=['name'],
285        path_params=['name'],
286        query_params=[],
287        relative_path='v1/{+name}',
288        request_field='',
289        request_type_name='ContaineranalysisProjectsNotesDeleteRequest',
290        response_type_name='Empty',
291        supports_download=False,
292    )
293
294    def Get(self, request, global_params=None):
295      r"""Gets the specified note.
296
297      Args:
298        request: (ContaineranalysisProjectsNotesGetRequest) input message
299        global_params: (StandardQueryParameters, default: None) global arguments
300      Returns:
301        (Note) The response message.
302      """
303      config = self.GetMethodConfig('Get')
304      return self._RunMethod(
305          config, request, global_params=global_params)
306
307    Get.method_config = lambda: base_api.ApiMethodInfo(
308        flat_path='v1/projects/{projectsId}/notes/{notesId}',
309        http_method='GET',
310        method_id='containeranalysis.projects.notes.get',
311        ordered_params=['name'],
312        path_params=['name'],
313        query_params=[],
314        relative_path='v1/{+name}',
315        request_field='',
316        request_type_name='ContaineranalysisProjectsNotesGetRequest',
317        response_type_name='Note',
318        supports_download=False,
319    )
320
321    def GetIamPolicy(self, request, global_params=None):
322      r"""Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
323
324      Args:
325        request: (ContaineranalysisProjectsNotesGetIamPolicyRequest) input message
326        global_params: (StandardQueryParameters, default: None) global arguments
327      Returns:
328        (Policy) The response message.
329      """
330      config = self.GetMethodConfig('GetIamPolicy')
331      return self._RunMethod(
332          config, request, global_params=global_params)
333
334    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
335        flat_path='v1/projects/{projectsId}/notes/{notesId}:getIamPolicy',
336        http_method='POST',
337        method_id='containeranalysis.projects.notes.getIamPolicy',
338        ordered_params=['resource'],
339        path_params=['resource'],
340        query_params=[],
341        relative_path='v1/{+resource}:getIamPolicy',
342        request_field='getIamPolicyRequest',
343        request_type_name='ContaineranalysisProjectsNotesGetIamPolicyRequest',
344        response_type_name='Policy',
345        supports_download=False,
346    )
347
348    def List(self, request, global_params=None):
349      r"""Lists notes for the specified project.
350
351      Args:
352        request: (ContaineranalysisProjectsNotesListRequest) input message
353        global_params: (StandardQueryParameters, default: None) global arguments
354      Returns:
355        (ListNotesResponse) The response message.
356      """
357      config = self.GetMethodConfig('List')
358      return self._RunMethod(
359          config, request, global_params=global_params)
360
361    List.method_config = lambda: base_api.ApiMethodInfo(
362        flat_path='v1/projects/{projectsId}/notes',
363        http_method='GET',
364        method_id='containeranalysis.projects.notes.list',
365        ordered_params=['parent'],
366        path_params=['parent'],
367        query_params=['filter', 'pageSize', 'pageToken'],
368        relative_path='v1/{+parent}/notes',
369        request_field='',
370        request_type_name='ContaineranalysisProjectsNotesListRequest',
371        response_type_name='ListNotesResponse',
372        supports_download=False,
373    )
374
375    def Patch(self, request, global_params=None):
376      r"""Updates the specified note.
377
378      Args:
379        request: (ContaineranalysisProjectsNotesPatchRequest) input message
380        global_params: (StandardQueryParameters, default: None) global arguments
381      Returns:
382        (Note) The response message.
383      """
384      config = self.GetMethodConfig('Patch')
385      return self._RunMethod(
386          config, request, global_params=global_params)
387
388    Patch.method_config = lambda: base_api.ApiMethodInfo(
389        flat_path='v1/projects/{projectsId}/notes/{notesId}',
390        http_method='PATCH',
391        method_id='containeranalysis.projects.notes.patch',
392        ordered_params=['name'],
393        path_params=['name'],
394        query_params=['updateMask'],
395        relative_path='v1/{+name}',
396        request_field='note',
397        request_type_name='ContaineranalysisProjectsNotesPatchRequest',
398        response_type_name='Note',
399        supports_download=False,
400    )
401
402    def SetIamPolicy(self, request, global_params=None):
403      r"""Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
404
405      Args:
406        request: (ContaineranalysisProjectsNotesSetIamPolicyRequest) input message
407        global_params: (StandardQueryParameters, default: None) global arguments
408      Returns:
409        (Policy) The response message.
410      """
411      config = self.GetMethodConfig('SetIamPolicy')
412      return self._RunMethod(
413          config, request, global_params=global_params)
414
415    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
416        flat_path='v1/projects/{projectsId}/notes/{notesId}:setIamPolicy',
417        http_method='POST',
418        method_id='containeranalysis.projects.notes.setIamPolicy',
419        ordered_params=['resource'],
420        path_params=['resource'],
421        query_params=[],
422        relative_path='v1/{+resource}:setIamPolicy',
423        request_field='setIamPolicyRequest',
424        request_type_name='ContaineranalysisProjectsNotesSetIamPolicyRequest',
425        response_type_name='Policy',
426        supports_download=False,
427    )
428
429    def TestIamPermissions(self, request, global_params=None):
430      r"""Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
431
432      Args:
433        request: (ContaineranalysisProjectsNotesTestIamPermissionsRequest) input message
434        global_params: (StandardQueryParameters, default: None) global arguments
435      Returns:
436        (TestIamPermissionsResponse) The response message.
437      """
438      config = self.GetMethodConfig('TestIamPermissions')
439      return self._RunMethod(
440          config, request, global_params=global_params)
441
442    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
443        flat_path='v1/projects/{projectsId}/notes/{notesId}:testIamPermissions',
444        http_method='POST',
445        method_id='containeranalysis.projects.notes.testIamPermissions',
446        ordered_params=['resource'],
447        path_params=['resource'],
448        query_params=[],
449        relative_path='v1/{+resource}:testIamPermissions',
450        request_field='testIamPermissionsRequest',
451        request_type_name='ContaineranalysisProjectsNotesTestIamPermissionsRequest',
452        response_type_name='TestIamPermissionsResponse',
453        supports_download=False,
454    )
455
456  class ProjectsOccurrencesService(base_api.BaseApiService):
457    """Service class for the projects_occurrences resource."""
458
459    _NAME = 'projects_occurrences'
460
461    def __init__(self, client):
462      super(ContaineranalysisV1.ProjectsOccurrencesService, self).__init__(client)
463      self._upload_configs = {
464          }
465
466    def BatchCreate(self, request, global_params=None):
467      r"""Creates new occurrences in batch.
468
469      Args:
470        request: (ContaineranalysisProjectsOccurrencesBatchCreateRequest) input message
471        global_params: (StandardQueryParameters, default: None) global arguments
472      Returns:
473        (BatchCreateOccurrencesResponse) The response message.
474      """
475      config = self.GetMethodConfig('BatchCreate')
476      return self._RunMethod(
477          config, request, global_params=global_params)
478
479    BatchCreate.method_config = lambda: base_api.ApiMethodInfo(
480        flat_path='v1/projects/{projectsId}/occurrences:batchCreate',
481        http_method='POST',
482        method_id='containeranalysis.projects.occurrences.batchCreate',
483        ordered_params=['parent'],
484        path_params=['parent'],
485        query_params=[],
486        relative_path='v1/{+parent}/occurrences:batchCreate',
487        request_field='batchCreateOccurrencesRequest',
488        request_type_name='ContaineranalysisProjectsOccurrencesBatchCreateRequest',
489        response_type_name='BatchCreateOccurrencesResponse',
490        supports_download=False,
491    )
492
493    def Create(self, request, global_params=None):
494      r"""Creates a new occurrence.
495
496      Args:
497        request: (ContaineranalysisProjectsOccurrencesCreateRequest) input message
498        global_params: (StandardQueryParameters, default: None) global arguments
499      Returns:
500        (Occurrence) The response message.
501      """
502      config = self.GetMethodConfig('Create')
503      return self._RunMethod(
504          config, request, global_params=global_params)
505
506    Create.method_config = lambda: base_api.ApiMethodInfo(
507        flat_path='v1/projects/{projectsId}/occurrences',
508        http_method='POST',
509        method_id='containeranalysis.projects.occurrences.create',
510        ordered_params=['parent'],
511        path_params=['parent'],
512        query_params=[],
513        relative_path='v1/{+parent}/occurrences',
514        request_field='occurrence',
515        request_type_name='ContaineranalysisProjectsOccurrencesCreateRequest',
516        response_type_name='Occurrence',
517        supports_download=False,
518    )
519
520    def Delete(self, request, global_params=None):
521      r"""Deletes the specified occurrence. For example, use this method to delete an occurrence when the occurrence is no longer applicable for the given resource.
522
523      Args:
524        request: (ContaineranalysisProjectsOccurrencesDeleteRequest) input message
525        global_params: (StandardQueryParameters, default: None) global arguments
526      Returns:
527        (Empty) The response message.
528      """
529      config = self.GetMethodConfig('Delete')
530      return self._RunMethod(
531          config, request, global_params=global_params)
532
533    Delete.method_config = lambda: base_api.ApiMethodInfo(
534        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}',
535        http_method='DELETE',
536        method_id='containeranalysis.projects.occurrences.delete',
537        ordered_params=['name'],
538        path_params=['name'],
539        query_params=[],
540        relative_path='v1/{+name}',
541        request_field='',
542        request_type_name='ContaineranalysisProjectsOccurrencesDeleteRequest',
543        response_type_name='Empty',
544        supports_download=False,
545    )
546
547    def Get(self, request, global_params=None):
548      r"""Gets the specified occurrence.
549
550      Args:
551        request: (ContaineranalysisProjectsOccurrencesGetRequest) input message
552        global_params: (StandardQueryParameters, default: None) global arguments
553      Returns:
554        (Occurrence) The response message.
555      """
556      config = self.GetMethodConfig('Get')
557      return self._RunMethod(
558          config, request, global_params=global_params)
559
560    Get.method_config = lambda: base_api.ApiMethodInfo(
561        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}',
562        http_method='GET',
563        method_id='containeranalysis.projects.occurrences.get',
564        ordered_params=['name'],
565        path_params=['name'],
566        query_params=[],
567        relative_path='v1/{+name}',
568        request_field='',
569        request_type_name='ContaineranalysisProjectsOccurrencesGetRequest',
570        response_type_name='Occurrence',
571        supports_download=False,
572    )
573
574    def GetIamPolicy(self, request, global_params=None):
575      r"""Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
576
577      Args:
578        request: (ContaineranalysisProjectsOccurrencesGetIamPolicyRequest) input message
579        global_params: (StandardQueryParameters, default: None) global arguments
580      Returns:
581        (Policy) The response message.
582      """
583      config = self.GetMethodConfig('GetIamPolicy')
584      return self._RunMethod(
585          config, request, global_params=global_params)
586
587    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
588        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy',
589        http_method='POST',
590        method_id='containeranalysis.projects.occurrences.getIamPolicy',
591        ordered_params=['resource'],
592        path_params=['resource'],
593        query_params=[],
594        relative_path='v1/{+resource}:getIamPolicy',
595        request_field='getIamPolicyRequest',
596        request_type_name='ContaineranalysisProjectsOccurrencesGetIamPolicyRequest',
597        response_type_name='Policy',
598        supports_download=False,
599    )
600
601    def GetNotes(self, request, global_params=None):
602      r"""Gets the note attached to the specified occurrence. Consumer projects can use this method to get a note that belongs to a provider project.
603
604      Args:
605        request: (ContaineranalysisProjectsOccurrencesGetNotesRequest) input message
606        global_params: (StandardQueryParameters, default: None) global arguments
607      Returns:
608        (Note) The response message.
609      """
610      config = self.GetMethodConfig('GetNotes')
611      return self._RunMethod(
612          config, request, global_params=global_params)
613
614    GetNotes.method_config = lambda: base_api.ApiMethodInfo(
615        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}/notes',
616        http_method='GET',
617        method_id='containeranalysis.projects.occurrences.getNotes',
618        ordered_params=['name'],
619        path_params=['name'],
620        query_params=[],
621        relative_path='v1/{+name}/notes',
622        request_field='',
623        request_type_name='ContaineranalysisProjectsOccurrencesGetNotesRequest',
624        response_type_name='Note',
625        supports_download=False,
626    )
627
628    def GetVulnerabilitySummary(self, request, global_params=None):
629      r"""Gets a summary of the number and severity of occurrences.
630
631      Args:
632        request: (ContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequest) input message
633        global_params: (StandardQueryParameters, default: None) global arguments
634      Returns:
635        (VulnerabilityOccurrencesSummary) The response message.
636      """
637      config = self.GetMethodConfig('GetVulnerabilitySummary')
638      return self._RunMethod(
639          config, request, global_params=global_params)
640
641    GetVulnerabilitySummary.method_config = lambda: base_api.ApiMethodInfo(
642        flat_path='v1/projects/{projectsId}/occurrences:vulnerabilitySummary',
643        http_method='GET',
644        method_id='containeranalysis.projects.occurrences.getVulnerabilitySummary',
645        ordered_params=['parent'],
646        path_params=['parent'],
647        query_params=['filter'],
648        relative_path='v1/{+parent}/occurrences:vulnerabilitySummary',
649        request_field='',
650        request_type_name='ContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequest',
651        response_type_name='VulnerabilityOccurrencesSummary',
652        supports_download=False,
653    )
654
655    def List(self, request, global_params=None):
656      r"""Lists occurrences for the specified project.
657
658      Args:
659        request: (ContaineranalysisProjectsOccurrencesListRequest) input message
660        global_params: (StandardQueryParameters, default: None) global arguments
661      Returns:
662        (ListOccurrencesResponse) The response message.
663      """
664      config = self.GetMethodConfig('List')
665      return self._RunMethod(
666          config, request, global_params=global_params)
667
668    List.method_config = lambda: base_api.ApiMethodInfo(
669        flat_path='v1/projects/{projectsId}/occurrences',
670        http_method='GET',
671        method_id='containeranalysis.projects.occurrences.list',
672        ordered_params=['parent'],
673        path_params=['parent'],
674        query_params=['filter', 'pageSize', 'pageToken'],
675        relative_path='v1/{+parent}/occurrences',
676        request_field='',
677        request_type_name='ContaineranalysisProjectsOccurrencesListRequest',
678        response_type_name='ListOccurrencesResponse',
679        supports_download=False,
680    )
681
682    def Patch(self, request, global_params=None):
683      r"""Updates the specified occurrence.
684
685      Args:
686        request: (ContaineranalysisProjectsOccurrencesPatchRequest) input message
687        global_params: (StandardQueryParameters, default: None) global arguments
688      Returns:
689        (Occurrence) The response message.
690      """
691      config = self.GetMethodConfig('Patch')
692      return self._RunMethod(
693          config, request, global_params=global_params)
694
695    Patch.method_config = lambda: base_api.ApiMethodInfo(
696        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}',
697        http_method='PATCH',
698        method_id='containeranalysis.projects.occurrences.patch',
699        ordered_params=['name'],
700        path_params=['name'],
701        query_params=['updateMask'],
702        relative_path='v1/{+name}',
703        request_field='occurrence',
704        request_type_name='ContaineranalysisProjectsOccurrencesPatchRequest',
705        response_type_name='Occurrence',
706        supports_download=False,
707    )
708
709    def SetIamPolicy(self, request, global_params=None):
710      r"""Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
711
712      Args:
713        request: (ContaineranalysisProjectsOccurrencesSetIamPolicyRequest) input message
714        global_params: (StandardQueryParameters, default: None) global arguments
715      Returns:
716        (Policy) The response message.
717      """
718      config = self.GetMethodConfig('SetIamPolicy')
719      return self._RunMethod(
720          config, request, global_params=global_params)
721
722    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
723        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy',
724        http_method='POST',
725        method_id='containeranalysis.projects.occurrences.setIamPolicy',
726        ordered_params=['resource'],
727        path_params=['resource'],
728        query_params=[],
729        relative_path='v1/{+resource}:setIamPolicy',
730        request_field='setIamPolicyRequest',
731        request_type_name='ContaineranalysisProjectsOccurrencesSetIamPolicyRequest',
732        response_type_name='Policy',
733        supports_download=False,
734    )
735
736    def TestIamPermissions(self, request, global_params=None):
737      r"""Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.
738
739      Args:
740        request: (ContaineranalysisProjectsOccurrencesTestIamPermissionsRequest) input message
741        global_params: (StandardQueryParameters, default: None) global arguments
742      Returns:
743        (TestIamPermissionsResponse) The response message.
744      """
745      config = self.GetMethodConfig('TestIamPermissions')
746      return self._RunMethod(
747          config, request, global_params=global_params)
748
749    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
750        flat_path='v1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions',
751        http_method='POST',
752        method_id='containeranalysis.projects.occurrences.testIamPermissions',
753        ordered_params=['resource'],
754        path_params=['resource'],
755        query_params=[],
756        relative_path='v1/{+resource}:testIamPermissions',
757        request_field='testIamPermissionsRequest',
758        request_type_name='ContaineranalysisProjectsOccurrencesTestIamPermissionsRequest',
759        response_type_name='TestIamPermissionsResponse',
760        supports_download=False,
761    )
762
763  class ProjectsService(base_api.BaseApiService):
764    """Service class for the projects resource."""
765
766    _NAME = 'projects'
767
768    def __init__(self, client):
769      super(ContaineranalysisV1.ProjectsService, self).__init__(client)
770      self._upload_configs = {
771          }
772