1"""Generated client library for containeranalysis version v1alpha1."""
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.v1alpha1 import containeranalysis_v1alpha1_messages as messages
8
9
10class ContaineranalysisV1alpha1(base_api.BaseApiClient):
11  """Generated client library for service containeranalysis version v1alpha1."""
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 = 'v1alpha1'
20  _CLIENT_ID = '1042881264118.apps.googleusercontent.com'
21  _CLIENT_SECRET = 'x_Tw5K8nnjoRAqULM9PFAC2b'
22  _USER_AGENT = 'google-cloud-sdk'
23  _CLIENT_CLASS_NAME = 'ContaineranalysisV1alpha1'
24  _URL_VERSION = 'v1alpha1'
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(ContaineranalysisV1alpha1, 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.projects_notes_occurrences = self.ProjectsNotesOccurrencesService(self)
43    self.projects_notes = self.ProjectsNotesService(self)
44    self.projects_occurrences = self.ProjectsOccurrencesService(self)
45    self.projects_operations = self.ProjectsOperationsService(self)
46    self.projects_scanConfigs = self.ProjectsScanConfigsService(self)
47    self.projects = self.ProjectsService(self)
48    self.providers_notes_occurrences = self.ProvidersNotesOccurrencesService(self)
49    self.providers_notes = self.ProvidersNotesService(self)
50    self.providers = self.ProvidersService(self)
51
52  class ProjectsNotesOccurrencesService(base_api.BaseApiService):
53    """Service class for the projects_notes_occurrences resource."""
54
55    _NAME = 'projects_notes_occurrences'
56
57    def __init__(self, client):
58      super(ContaineranalysisV1alpha1.ProjectsNotesOccurrencesService, self).__init__(client)
59      self._upload_configs = {
60          }
61
62    def List(self, request, global_params=None):
63      r"""Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer projects.
64
65      Args:
66        request: (ContaineranalysisProjectsNotesOccurrencesListRequest) input message
67        global_params: (StandardQueryParameters, default: None) global arguments
68      Returns:
69        (ListNoteOccurrencesResponse) The response message.
70      """
71      config = self.GetMethodConfig('List')
72      return self._RunMethod(
73          config, request, global_params=global_params)
74
75    List.method_config = lambda: base_api.ApiMethodInfo(
76        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}/occurrences',
77        http_method='GET',
78        method_id='containeranalysis.projects.notes.occurrences.list',
79        ordered_params=['name'],
80        path_params=['name'],
81        query_params=['filter', 'pageSize', 'pageToken'],
82        relative_path='v1alpha1/{+name}/occurrences',
83        request_field='',
84        request_type_name='ContaineranalysisProjectsNotesOccurrencesListRequest',
85        response_type_name='ListNoteOccurrencesResponse',
86        supports_download=False,
87    )
88
89  class ProjectsNotesService(base_api.BaseApiService):
90    """Service class for the projects_notes resource."""
91
92    _NAME = 'projects_notes'
93
94    def __init__(self, client):
95      super(ContaineranalysisV1alpha1.ProjectsNotesService, self).__init__(client)
96      self._upload_configs = {
97          }
98
99    def Create(self, request, global_params=None):
100      r"""Creates a new `Note`.
101
102      Args:
103        request: (ContaineranalysisProjectsNotesCreateRequest) input message
104        global_params: (StandardQueryParameters, default: None) global arguments
105      Returns:
106        (Note) The response message.
107      """
108      config = self.GetMethodConfig('Create')
109      return self._RunMethod(
110          config, request, global_params=global_params)
111
112    Create.method_config = lambda: base_api.ApiMethodInfo(
113        flat_path='v1alpha1/projects/{projectsId}/notes',
114        http_method='POST',
115        method_id='containeranalysis.projects.notes.create',
116        ordered_params=['parent'],
117        path_params=['parent'],
118        query_params=['name', 'noteId'],
119        relative_path='v1alpha1/{+parent}/notes',
120        request_field='note',
121        request_type_name='ContaineranalysisProjectsNotesCreateRequest',
122        response_type_name='Note',
123        supports_download=False,
124    )
125
126    def Delete(self, request, global_params=None):
127      r"""Deletes the given `Note` from the system.
128
129      Args:
130        request: (ContaineranalysisProjectsNotesDeleteRequest) input message
131        global_params: (StandardQueryParameters, default: None) global arguments
132      Returns:
133        (Empty) The response message.
134      """
135      config = self.GetMethodConfig('Delete')
136      return self._RunMethod(
137          config, request, global_params=global_params)
138
139    Delete.method_config = lambda: base_api.ApiMethodInfo(
140        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}',
141        http_method='DELETE',
142        method_id='containeranalysis.projects.notes.delete',
143        ordered_params=['name'],
144        path_params=['name'],
145        query_params=[],
146        relative_path='v1alpha1/{+name}',
147        request_field='',
148        request_type_name='ContaineranalysisProjectsNotesDeleteRequest',
149        response_type_name='Empty',
150        supports_download=False,
151    )
152
153    def Get(self, request, global_params=None):
154      r"""Returns the requested `Note`.
155
156      Args:
157        request: (ContaineranalysisProjectsNotesGetRequest) input message
158        global_params: (StandardQueryParameters, default: None) global arguments
159      Returns:
160        (Note) The response message.
161      """
162      config = self.GetMethodConfig('Get')
163      return self._RunMethod(
164          config, request, global_params=global_params)
165
166    Get.method_config = lambda: base_api.ApiMethodInfo(
167        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}',
168        http_method='GET',
169        method_id='containeranalysis.projects.notes.get',
170        ordered_params=['name'],
171        path_params=['name'],
172        query_params=[],
173        relative_path='v1alpha1/{+name}',
174        request_field='',
175        request_type_name='ContaineranalysisProjectsNotesGetRequest',
176        response_type_name='Note',
177        supports_download=False,
178    )
179
180    def GetIamPolicy(self, request, global_params=None):
181      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. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes.
182
183      Args:
184        request: (ContaineranalysisProjectsNotesGetIamPolicyRequest) input message
185        global_params: (StandardQueryParameters, default: None) global arguments
186      Returns:
187        (Policy) The response message.
188      """
189      config = self.GetMethodConfig('GetIamPolicy')
190      return self._RunMethod(
191          config, request, global_params=global_params)
192
193    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
194        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}:getIamPolicy',
195        http_method='POST',
196        method_id='containeranalysis.projects.notes.getIamPolicy',
197        ordered_params=['resource'],
198        path_params=['resource'],
199        query_params=[],
200        relative_path='v1alpha1/{+resource}:getIamPolicy',
201        request_field='getIamPolicyRequest',
202        request_type_name='ContaineranalysisProjectsNotesGetIamPolicyRequest',
203        response_type_name='Policy',
204        supports_download=False,
205    )
206
207    def List(self, request, global_params=None):
208      r"""Lists all `Notes` for a given project.
209
210      Args:
211        request: (ContaineranalysisProjectsNotesListRequest) input message
212        global_params: (StandardQueryParameters, default: None) global arguments
213      Returns:
214        (ListNotesResponse) The response message.
215      """
216      config = self.GetMethodConfig('List')
217      return self._RunMethod(
218          config, request, global_params=global_params)
219
220    List.method_config = lambda: base_api.ApiMethodInfo(
221        flat_path='v1alpha1/projects/{projectsId}/notes',
222        http_method='GET',
223        method_id='containeranalysis.projects.notes.list',
224        ordered_params=['parent'],
225        path_params=['parent'],
226        query_params=['filter', 'name', 'pageSize', 'pageToken'],
227        relative_path='v1alpha1/{+parent}/notes',
228        request_field='',
229        request_type_name='ContaineranalysisProjectsNotesListRequest',
230        response_type_name='ListNotesResponse',
231        supports_download=False,
232    )
233
234    def Patch(self, request, global_params=None):
235      r"""Updates an existing `Note`.
236
237      Args:
238        request: (ContaineranalysisProjectsNotesPatchRequest) input message
239        global_params: (StandardQueryParameters, default: None) global arguments
240      Returns:
241        (Note) The response message.
242      """
243      config = self.GetMethodConfig('Patch')
244      return self._RunMethod(
245          config, request, global_params=global_params)
246
247    Patch.method_config = lambda: base_api.ApiMethodInfo(
248        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}',
249        http_method='PATCH',
250        method_id='containeranalysis.projects.notes.patch',
251        ordered_params=['name'],
252        path_params=['name'],
253        query_params=['updateMask'],
254        relative_path='v1alpha1/{+name}',
255        request_field='note',
256        request_type_name='ContaineranalysisProjectsNotesPatchRequest',
257        response_type_name='Note',
258        supports_download=False,
259    )
260
261    def SetIamPolicy(self, request, global_params=None):
262      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. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes.
263
264      Args:
265        request: (ContaineranalysisProjectsNotesSetIamPolicyRequest) input message
266        global_params: (StandardQueryParameters, default: None) global arguments
267      Returns:
268        (Policy) The response message.
269      """
270      config = self.GetMethodConfig('SetIamPolicy')
271      return self._RunMethod(
272          config, request, global_params=global_params)
273
274    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
275        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}:setIamPolicy',
276        http_method='POST',
277        method_id='containeranalysis.projects.notes.setIamPolicy',
278        ordered_params=['resource'],
279        path_params=['resource'],
280        query_params=[],
281        relative_path='v1alpha1/{+resource}:setIamPolicy',
282        request_field='setIamPolicyRequest',
283        request_type_name='ContaineranalysisProjectsNotesSetIamPolicyRequest',
284        response_type_name='Policy',
285        supports_download=False,
286    )
287
288    def TestIamPermissions(self, request, global_params=None):
289      r"""Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, "storage.objects.list" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`.
290
291      Args:
292        request: (ContaineranalysisProjectsNotesTestIamPermissionsRequest) input message
293        global_params: (StandardQueryParameters, default: None) global arguments
294      Returns:
295        (TestIamPermissionsResponse) The response message.
296      """
297      config = self.GetMethodConfig('TestIamPermissions')
298      return self._RunMethod(
299          config, request, global_params=global_params)
300
301    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
302        flat_path='v1alpha1/projects/{projectsId}/notes/{notesId}:testIamPermissions',
303        http_method='POST',
304        method_id='containeranalysis.projects.notes.testIamPermissions',
305        ordered_params=['resource'],
306        path_params=['resource'],
307        query_params=[],
308        relative_path='v1alpha1/{+resource}:testIamPermissions',
309        request_field='testIamPermissionsRequest',
310        request_type_name='ContaineranalysisProjectsNotesTestIamPermissionsRequest',
311        response_type_name='TestIamPermissionsResponse',
312        supports_download=False,
313    )
314
315  class ProjectsOccurrencesService(base_api.BaseApiService):
316    """Service class for the projects_occurrences resource."""
317
318    _NAME = 'projects_occurrences'
319
320    def __init__(self, client):
321      super(ContaineranalysisV1alpha1.ProjectsOccurrencesService, self).__init__(client)
322      self._upload_configs = {
323          }
324
325    def Create(self, request, global_params=None):
326      r"""Creates a new `Occurrence`. Use this method to create `Occurrences` for a resource.
327
328      Args:
329        request: (ContaineranalysisProjectsOccurrencesCreateRequest) input message
330        global_params: (StandardQueryParameters, default: None) global arguments
331      Returns:
332        (Occurrence) The response message.
333      """
334      config = self.GetMethodConfig('Create')
335      return self._RunMethod(
336          config, request, global_params=global_params)
337
338    Create.method_config = lambda: base_api.ApiMethodInfo(
339        flat_path='v1alpha1/projects/{projectsId}/occurrences',
340        http_method='POST',
341        method_id='containeranalysis.projects.occurrences.create',
342        ordered_params=['parent'],
343        path_params=['parent'],
344        query_params=['name'],
345        relative_path='v1alpha1/{+parent}/occurrences',
346        request_field='occurrence',
347        request_type_name='ContaineranalysisProjectsOccurrencesCreateRequest',
348        response_type_name='Occurrence',
349        supports_download=False,
350    )
351
352    def Delete(self, request, global_params=None):
353      r"""Deletes the given `Occurrence` from the system. Use this when an `Occurrence` is no longer applicable for the given resource.
354
355      Args:
356        request: (ContaineranalysisProjectsOccurrencesDeleteRequest) input message
357        global_params: (StandardQueryParameters, default: None) global arguments
358      Returns:
359        (Empty) The response message.
360      """
361      config = self.GetMethodConfig('Delete')
362      return self._RunMethod(
363          config, request, global_params=global_params)
364
365    Delete.method_config = lambda: base_api.ApiMethodInfo(
366        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}',
367        http_method='DELETE',
368        method_id='containeranalysis.projects.occurrences.delete',
369        ordered_params=['name'],
370        path_params=['name'],
371        query_params=[],
372        relative_path='v1alpha1/{+name}',
373        request_field='',
374        request_type_name='ContaineranalysisProjectsOccurrencesDeleteRequest',
375        response_type_name='Empty',
376        supports_download=False,
377    )
378
379    def Get(self, request, global_params=None):
380      r"""Returns the requested `Occurrence`.
381
382      Args:
383        request: (ContaineranalysisProjectsOccurrencesGetRequest) input message
384        global_params: (StandardQueryParameters, default: None) global arguments
385      Returns:
386        (Occurrence) The response message.
387      """
388      config = self.GetMethodConfig('Get')
389      return self._RunMethod(
390          config, request, global_params=global_params)
391
392    Get.method_config = lambda: base_api.ApiMethodInfo(
393        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}',
394        http_method='GET',
395        method_id='containeranalysis.projects.occurrences.get',
396        ordered_params=['name'],
397        path_params=['name'],
398        query_params=[],
399        relative_path='v1alpha1/{+name}',
400        request_field='',
401        request_type_name='ContaineranalysisProjectsOccurrencesGetRequest',
402        response_type_name='Occurrence',
403        supports_download=False,
404    )
405
406    def GetIamPolicy(self, request, global_params=None):
407      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. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes.
408
409      Args:
410        request: (ContaineranalysisProjectsOccurrencesGetIamPolicyRequest) input message
411        global_params: (StandardQueryParameters, default: None) global arguments
412      Returns:
413        (Policy) The response message.
414      """
415      config = self.GetMethodConfig('GetIamPolicy')
416      return self._RunMethod(
417          config, request, global_params=global_params)
418
419    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
420        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy',
421        http_method='POST',
422        method_id='containeranalysis.projects.occurrences.getIamPolicy',
423        ordered_params=['resource'],
424        path_params=['resource'],
425        query_params=[],
426        relative_path='v1alpha1/{+resource}:getIamPolicy',
427        request_field='getIamPolicyRequest',
428        request_type_name='ContaineranalysisProjectsOccurrencesGetIamPolicyRequest',
429        response_type_name='Policy',
430        supports_download=False,
431    )
432
433    def GetNotes(self, request, global_params=None):
434      r"""Gets the `Note` attached to the given `Occurrence`.
435
436      Args:
437        request: (ContaineranalysisProjectsOccurrencesGetNotesRequest) input message
438        global_params: (StandardQueryParameters, default: None) global arguments
439      Returns:
440        (Note) The response message.
441      """
442      config = self.GetMethodConfig('GetNotes')
443      return self._RunMethod(
444          config, request, global_params=global_params)
445
446    GetNotes.method_config = lambda: base_api.ApiMethodInfo(
447        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}/notes',
448        http_method='GET',
449        method_id='containeranalysis.projects.occurrences.getNotes',
450        ordered_params=['name'],
451        path_params=['name'],
452        query_params=[],
453        relative_path='v1alpha1/{+name}/notes',
454        request_field='',
455        request_type_name='ContaineranalysisProjectsOccurrencesGetNotesRequest',
456        response_type_name='Note',
457        supports_download=False,
458    )
459
460    def GetVulnerabilitySummary(self, request, global_params=None):
461      r"""Gets a summary of the number and severity of occurrences.
462
463      Args:
464        request: (ContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequest) input message
465        global_params: (StandardQueryParameters, default: None) global arguments
466      Returns:
467        (GetVulnzOccurrencesSummaryResponse) The response message.
468      """
469      config = self.GetMethodConfig('GetVulnerabilitySummary')
470      return self._RunMethod(
471          config, request, global_params=global_params)
472
473    GetVulnerabilitySummary.method_config = lambda: base_api.ApiMethodInfo(
474        flat_path='v1alpha1/projects/{projectsId}/occurrences:vulnerabilitySummary',
475        http_method='GET',
476        method_id='containeranalysis.projects.occurrences.getVulnerabilitySummary',
477        ordered_params=['parent'],
478        path_params=['parent'],
479        query_params=['filter'],
480        relative_path='v1alpha1/{+parent}/occurrences:vulnerabilitySummary',
481        request_field='',
482        request_type_name='ContaineranalysisProjectsOccurrencesGetVulnerabilitySummaryRequest',
483        response_type_name='GetVulnzOccurrencesSummaryResponse',
484        supports_download=False,
485    )
486
487    def List(self, request, global_params=None):
488      r"""Lists active `Occurrences` for a given project matching the filters.
489
490      Args:
491        request: (ContaineranalysisProjectsOccurrencesListRequest) input message
492        global_params: (StandardQueryParameters, default: None) global arguments
493      Returns:
494        (ListOccurrencesResponse) The response message.
495      """
496      config = self.GetMethodConfig('List')
497      return self._RunMethod(
498          config, request, global_params=global_params)
499
500    List.method_config = lambda: base_api.ApiMethodInfo(
501        flat_path='v1alpha1/projects/{projectsId}/occurrences',
502        http_method='GET',
503        method_id='containeranalysis.projects.occurrences.list',
504        ordered_params=['parent'],
505        path_params=['parent'],
506        query_params=['filter', 'kind', 'name', 'pageSize', 'pageToken'],
507        relative_path='v1alpha1/{+parent}/occurrences',
508        request_field='',
509        request_type_name='ContaineranalysisProjectsOccurrencesListRequest',
510        response_type_name='ListOccurrencesResponse',
511        supports_download=False,
512    )
513
514    def Patch(self, request, global_params=None):
515      r"""Updates an existing occurrence.
516
517      Args:
518        request: (ContaineranalysisProjectsOccurrencesPatchRequest) input message
519        global_params: (StandardQueryParameters, default: None) global arguments
520      Returns:
521        (Occurrence) The response message.
522      """
523      config = self.GetMethodConfig('Patch')
524      return self._RunMethod(
525          config, request, global_params=global_params)
526
527    Patch.method_config = lambda: base_api.ApiMethodInfo(
528        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}',
529        http_method='PATCH',
530        method_id='containeranalysis.projects.occurrences.patch',
531        ordered_params=['name'],
532        path_params=['name'],
533        query_params=['updateMask'],
534        relative_path='v1alpha1/{+name}',
535        request_field='occurrence',
536        request_type_name='ContaineranalysisProjectsOccurrencesPatchRequest',
537        response_type_name='Occurrence',
538        supports_download=False,
539    )
540
541    def SetIamPolicy(self, request, global_params=None):
542      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. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes.
543
544      Args:
545        request: (ContaineranalysisProjectsOccurrencesSetIamPolicyRequest) input message
546        global_params: (StandardQueryParameters, default: None) global arguments
547      Returns:
548        (Policy) The response message.
549      """
550      config = self.GetMethodConfig('SetIamPolicy')
551      return self._RunMethod(
552          config, request, global_params=global_params)
553
554    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
555        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy',
556        http_method='POST',
557        method_id='containeranalysis.projects.occurrences.setIamPolicy',
558        ordered_params=['resource'],
559        path_params=['resource'],
560        query_params=[],
561        relative_path='v1alpha1/{+resource}:setIamPolicy',
562        request_field='setIamPolicyRequest',
563        request_type_name='ContaineranalysisProjectsOccurrencesSetIamPolicyRequest',
564        response_type_name='Policy',
565        supports_download=False,
566    )
567
568    def TestIamPermissions(self, request, global_params=None):
569      r"""Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, "storage.objects.list" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`.
570
571      Args:
572        request: (ContaineranalysisProjectsOccurrencesTestIamPermissionsRequest) input message
573        global_params: (StandardQueryParameters, default: None) global arguments
574      Returns:
575        (TestIamPermissionsResponse) The response message.
576      """
577      config = self.GetMethodConfig('TestIamPermissions')
578      return self._RunMethod(
579          config, request, global_params=global_params)
580
581    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
582        flat_path='v1alpha1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions',
583        http_method='POST',
584        method_id='containeranalysis.projects.occurrences.testIamPermissions',
585        ordered_params=['resource'],
586        path_params=['resource'],
587        query_params=[],
588        relative_path='v1alpha1/{+resource}:testIamPermissions',
589        request_field='testIamPermissionsRequest',
590        request_type_name='ContaineranalysisProjectsOccurrencesTestIamPermissionsRequest',
591        response_type_name='TestIamPermissionsResponse',
592        supports_download=False,
593    )
594
595  class ProjectsOperationsService(base_api.BaseApiService):
596    """Service class for the projects_operations resource."""
597
598    _NAME = 'projects_operations'
599
600    def __init__(self, client):
601      super(ContaineranalysisV1alpha1.ProjectsOperationsService, self).__init__(client)
602      self._upload_configs = {
603          }
604
605    def Create(self, request, global_params=None):
606      r"""Creates a new `Operation`.
607
608      Args:
609        request: (ContaineranalysisProjectsOperationsCreateRequest) input message
610        global_params: (StandardQueryParameters, default: None) global arguments
611      Returns:
612        (Operation) The response message.
613      """
614      config = self.GetMethodConfig('Create')
615      return self._RunMethod(
616          config, request, global_params=global_params)
617
618    Create.method_config = lambda: base_api.ApiMethodInfo(
619        flat_path='v1alpha1/projects/{projectsId}/operations',
620        http_method='POST',
621        method_id='containeranalysis.projects.operations.create',
622        ordered_params=['parent'],
623        path_params=['parent'],
624        query_params=[],
625        relative_path='v1alpha1/{+parent}/operations',
626        request_field='createOperationRequest',
627        request_type_name='ContaineranalysisProjectsOperationsCreateRequest',
628        response_type_name='Operation',
629        supports_download=False,
630    )
631
632    def Patch(self, request, global_params=None):
633      r"""Updates an existing operation returns an error if operation does not exist. The only valid operations are to update mark the done bit change the result.
634
635      Args:
636        request: (ContaineranalysisProjectsOperationsPatchRequest) input message
637        global_params: (StandardQueryParameters, default: None) global arguments
638      Returns:
639        (Operation) The response message.
640      """
641      config = self.GetMethodConfig('Patch')
642      return self._RunMethod(
643          config, request, global_params=global_params)
644
645    Patch.method_config = lambda: base_api.ApiMethodInfo(
646        flat_path='v1alpha1/projects/{projectsId}/operations/{operationsId}',
647        http_method='PATCH',
648        method_id='containeranalysis.projects.operations.patch',
649        ordered_params=['name'],
650        path_params=['name'],
651        query_params=[],
652        relative_path='v1alpha1/{+name}',
653        request_field='updateOperationRequest',
654        request_type_name='ContaineranalysisProjectsOperationsPatchRequest',
655        response_type_name='Operation',
656        supports_download=False,
657    )
658
659  class ProjectsScanConfigsService(base_api.BaseApiService):
660    """Service class for the projects_scanConfigs resource."""
661
662    _NAME = 'projects_scanConfigs'
663
664    def __init__(self, client):
665      super(ContaineranalysisV1alpha1.ProjectsScanConfigsService, self).__init__(client)
666      self._upload_configs = {
667          }
668
669    def Get(self, request, global_params=None):
670      r"""Gets a specific scan configuration for a project.
671
672      Args:
673        request: (ContaineranalysisProjectsScanConfigsGetRequest) input message
674        global_params: (StandardQueryParameters, default: None) global arguments
675      Returns:
676        (ScanConfig) The response message.
677      """
678      config = self.GetMethodConfig('Get')
679      return self._RunMethod(
680          config, request, global_params=global_params)
681
682    Get.method_config = lambda: base_api.ApiMethodInfo(
683        flat_path='v1alpha1/projects/{projectsId}/scanConfigs/{scanConfigsId}',
684        http_method='GET',
685        method_id='containeranalysis.projects.scanConfigs.get',
686        ordered_params=['name'],
687        path_params=['name'],
688        query_params=[],
689        relative_path='v1alpha1/{+name}',
690        request_field='',
691        request_type_name='ContaineranalysisProjectsScanConfigsGetRequest',
692        response_type_name='ScanConfig',
693        supports_download=False,
694    )
695
696    def List(self, request, global_params=None):
697      r"""Lists scan configurations for a project.
698
699      Args:
700        request: (ContaineranalysisProjectsScanConfigsListRequest) input message
701        global_params: (StandardQueryParameters, default: None) global arguments
702      Returns:
703        (ListScanConfigsResponse) The response message.
704      """
705      config = self.GetMethodConfig('List')
706      return self._RunMethod(
707          config, request, global_params=global_params)
708
709    List.method_config = lambda: base_api.ApiMethodInfo(
710        flat_path='v1alpha1/projects/{projectsId}/scanConfigs',
711        http_method='GET',
712        method_id='containeranalysis.projects.scanConfigs.list',
713        ordered_params=['parent'],
714        path_params=['parent'],
715        query_params=['filter', 'pageSize', 'pageToken'],
716        relative_path='v1alpha1/{+parent}/scanConfigs',
717        request_field='',
718        request_type_name='ContaineranalysisProjectsScanConfigsListRequest',
719        response_type_name='ListScanConfigsResponse',
720        supports_download=False,
721    )
722
723    def Patch(self, request, global_params=None):
724      r"""Updates the scan configuration to a new value.
725
726      Args:
727        request: (ContaineranalysisProjectsScanConfigsPatchRequest) input message
728        global_params: (StandardQueryParameters, default: None) global arguments
729      Returns:
730        (ScanConfig) The response message.
731      """
732      config = self.GetMethodConfig('Patch')
733      return self._RunMethod(
734          config, request, global_params=global_params)
735
736    Patch.method_config = lambda: base_api.ApiMethodInfo(
737        flat_path='v1alpha1/projects/{projectsId}/scanConfigs/{scanConfigsId}',
738        http_method='PATCH',
739        method_id='containeranalysis.projects.scanConfigs.patch',
740        ordered_params=['name'],
741        path_params=['name'],
742        query_params=['updateMask'],
743        relative_path='v1alpha1/{+name}',
744        request_field='scanConfig',
745        request_type_name='ContaineranalysisProjectsScanConfigsPatchRequest',
746        response_type_name='ScanConfig',
747        supports_download=False,
748    )
749
750  class ProjectsService(base_api.BaseApiService):
751    """Service class for the projects resource."""
752
753    _NAME = 'projects'
754
755    def __init__(self, client):
756      super(ContaineranalysisV1alpha1.ProjectsService, self).__init__(client)
757      self._upload_configs = {
758          }
759
760  class ProvidersNotesOccurrencesService(base_api.BaseApiService):
761    """Service class for the providers_notes_occurrences resource."""
762
763    _NAME = 'providers_notes_occurrences'
764
765    def __init__(self, client):
766      super(ContaineranalysisV1alpha1.ProvidersNotesOccurrencesService, self).__init__(client)
767      self._upload_configs = {
768          }
769
770    def List(self, request, global_params=None):
771      r"""Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer projects.
772
773      Args:
774        request: (ContaineranalysisProvidersNotesOccurrencesListRequest) input message
775        global_params: (StandardQueryParameters, default: None) global arguments
776      Returns:
777        (ListNoteOccurrencesResponse) The response message.
778      """
779      config = self.GetMethodConfig('List')
780      return self._RunMethod(
781          config, request, global_params=global_params)
782
783    List.method_config = lambda: base_api.ApiMethodInfo(
784        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}/occurrences',
785        http_method='GET',
786        method_id='containeranalysis.providers.notes.occurrences.list',
787        ordered_params=['name'],
788        path_params=['name'],
789        query_params=['filter', 'pageSize', 'pageToken'],
790        relative_path='v1alpha1/{+name}/occurrences',
791        request_field='',
792        request_type_name='ContaineranalysisProvidersNotesOccurrencesListRequest',
793        response_type_name='ListNoteOccurrencesResponse',
794        supports_download=False,
795    )
796
797  class ProvidersNotesService(base_api.BaseApiService):
798    """Service class for the providers_notes resource."""
799
800    _NAME = 'providers_notes'
801
802    def __init__(self, client):
803      super(ContaineranalysisV1alpha1.ProvidersNotesService, self).__init__(client)
804      self._upload_configs = {
805          }
806
807    def Create(self, request, global_params=None):
808      r"""Creates a new `Note`.
809
810      Args:
811        request: (ContaineranalysisProvidersNotesCreateRequest) input message
812        global_params: (StandardQueryParameters, default: None) global arguments
813      Returns:
814        (Note) The response message.
815      """
816      config = self.GetMethodConfig('Create')
817      return self._RunMethod(
818          config, request, global_params=global_params)
819
820    Create.method_config = lambda: base_api.ApiMethodInfo(
821        flat_path='v1alpha1/providers/{providersId}/notes',
822        http_method='POST',
823        method_id='containeranalysis.providers.notes.create',
824        ordered_params=['name'],
825        path_params=['name'],
826        query_params=['noteId', 'parent'],
827        relative_path='v1alpha1/{+name}/notes',
828        request_field='note',
829        request_type_name='ContaineranalysisProvidersNotesCreateRequest',
830        response_type_name='Note',
831        supports_download=False,
832    )
833
834    def Delete(self, request, global_params=None):
835      r"""Deletes the given `Note` from the system.
836
837      Args:
838        request: (ContaineranalysisProvidersNotesDeleteRequest) input message
839        global_params: (StandardQueryParameters, default: None) global arguments
840      Returns:
841        (Empty) The response message.
842      """
843      config = self.GetMethodConfig('Delete')
844      return self._RunMethod(
845          config, request, global_params=global_params)
846
847    Delete.method_config = lambda: base_api.ApiMethodInfo(
848        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}',
849        http_method='DELETE',
850        method_id='containeranalysis.providers.notes.delete',
851        ordered_params=['name'],
852        path_params=['name'],
853        query_params=[],
854        relative_path='v1alpha1/{+name}',
855        request_field='',
856        request_type_name='ContaineranalysisProvidersNotesDeleteRequest',
857        response_type_name='Empty',
858        supports_download=False,
859    )
860
861    def Get(self, request, global_params=None):
862      r"""Returns the requested `Note`.
863
864      Args:
865        request: (ContaineranalysisProvidersNotesGetRequest) input message
866        global_params: (StandardQueryParameters, default: None) global arguments
867      Returns:
868        (Note) The response message.
869      """
870      config = self.GetMethodConfig('Get')
871      return self._RunMethod(
872          config, request, global_params=global_params)
873
874    Get.method_config = lambda: base_api.ApiMethodInfo(
875        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}',
876        http_method='GET',
877        method_id='containeranalysis.providers.notes.get',
878        ordered_params=['name'],
879        path_params=['name'],
880        query_params=[],
881        relative_path='v1alpha1/{+name}',
882        request_field='',
883        request_type_name='ContaineranalysisProvidersNotesGetRequest',
884        response_type_name='Note',
885        supports_download=False,
886    )
887
888    def GetIamPolicy(self, request, global_params=None):
889      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. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes.
890
891      Args:
892        request: (ContaineranalysisProvidersNotesGetIamPolicyRequest) input message
893        global_params: (StandardQueryParameters, default: None) global arguments
894      Returns:
895        (Policy) The response message.
896      """
897      config = self.GetMethodConfig('GetIamPolicy')
898      return self._RunMethod(
899          config, request, global_params=global_params)
900
901    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
902        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}:getIamPolicy',
903        http_method='POST',
904        method_id='containeranalysis.providers.notes.getIamPolicy',
905        ordered_params=['resource'],
906        path_params=['resource'],
907        query_params=[],
908        relative_path='v1alpha1/{+resource}:getIamPolicy',
909        request_field='getIamPolicyRequest',
910        request_type_name='ContaineranalysisProvidersNotesGetIamPolicyRequest',
911        response_type_name='Policy',
912        supports_download=False,
913    )
914
915    def List(self, request, global_params=None):
916      r"""Lists all `Notes` for a given project.
917
918      Args:
919        request: (ContaineranalysisProvidersNotesListRequest) input message
920        global_params: (StandardQueryParameters, default: None) global arguments
921      Returns:
922        (ListNotesResponse) The response message.
923      """
924      config = self.GetMethodConfig('List')
925      return self._RunMethod(
926          config, request, global_params=global_params)
927
928    List.method_config = lambda: base_api.ApiMethodInfo(
929        flat_path='v1alpha1/providers/{providersId}/notes',
930        http_method='GET',
931        method_id='containeranalysis.providers.notes.list',
932        ordered_params=['name'],
933        path_params=['name'],
934        query_params=['filter', 'pageSize', 'pageToken', 'parent'],
935        relative_path='v1alpha1/{+name}/notes',
936        request_field='',
937        request_type_name='ContaineranalysisProvidersNotesListRequest',
938        response_type_name='ListNotesResponse',
939        supports_download=False,
940    )
941
942    def Patch(self, request, global_params=None):
943      r"""Updates an existing `Note`.
944
945      Args:
946        request: (ContaineranalysisProvidersNotesPatchRequest) input message
947        global_params: (StandardQueryParameters, default: None) global arguments
948      Returns:
949        (Note) The response message.
950      """
951      config = self.GetMethodConfig('Patch')
952      return self._RunMethod(
953          config, request, global_params=global_params)
954
955    Patch.method_config = lambda: base_api.ApiMethodInfo(
956        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}',
957        http_method='PATCH',
958        method_id='containeranalysis.providers.notes.patch',
959        ordered_params=['name'],
960        path_params=['name'],
961        query_params=['updateMask'],
962        relative_path='v1alpha1/{+name}',
963        request_field='note',
964        request_type_name='ContaineranalysisProvidersNotesPatchRequest',
965        response_type_name='Note',
966        supports_download=False,
967    )
968
969    def SetIamPolicy(self, request, global_params=None):
970      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. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes.
971
972      Args:
973        request: (ContaineranalysisProvidersNotesSetIamPolicyRequest) input message
974        global_params: (StandardQueryParameters, default: None) global arguments
975      Returns:
976        (Policy) The response message.
977      """
978      config = self.GetMethodConfig('SetIamPolicy')
979      return self._RunMethod(
980          config, request, global_params=global_params)
981
982    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
983        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}:setIamPolicy',
984        http_method='POST',
985        method_id='containeranalysis.providers.notes.setIamPolicy',
986        ordered_params=['resource'],
987        path_params=['resource'],
988        query_params=[],
989        relative_path='v1alpha1/{+resource}:setIamPolicy',
990        request_field='setIamPolicyRequest',
991        request_type_name='ContaineranalysisProvidersNotesSetIamPolicyRequest',
992        response_type_name='Policy',
993        supports_download=False,
994    )
995
996    def TestIamPermissions(self, request, global_params=None):
997      r"""Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, "storage.objects.list" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`.
998
999      Args:
1000        request: (ContaineranalysisProvidersNotesTestIamPermissionsRequest) input message
1001        global_params: (StandardQueryParameters, default: None) global arguments
1002      Returns:
1003        (TestIamPermissionsResponse) The response message.
1004      """
1005      config = self.GetMethodConfig('TestIamPermissions')
1006      return self._RunMethod(
1007          config, request, global_params=global_params)
1008
1009    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
1010        flat_path='v1alpha1/providers/{providersId}/notes/{notesId}:testIamPermissions',
1011        http_method='POST',
1012        method_id='containeranalysis.providers.notes.testIamPermissions',
1013        ordered_params=['resource'],
1014        path_params=['resource'],
1015        query_params=[],
1016        relative_path='v1alpha1/{+resource}:testIamPermissions',
1017        request_field='testIamPermissionsRequest',
1018        request_type_name='ContaineranalysisProvidersNotesTestIamPermissionsRequest',
1019        response_type_name='TestIamPermissionsResponse',
1020        supports_download=False,
1021    )
1022
1023  class ProvidersService(base_api.BaseApiService):
1024    """Service class for the providers resource."""
1025
1026    _NAME = 'providers'
1027
1028    def __init__(self, client):
1029      super(ContaineranalysisV1alpha1.ProvidersService, self).__init__(client)
1030      self._upload_configs = {
1031          }
1032