1"""Generated client library for servicemanagement 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.servicemanagement.v1 import servicemanagement_v1_messages as messages
8
9
10class ServicemanagementV1(base_api.BaseApiClient):
11  """Generated client library for service servicemanagement version v1."""
12
13  MESSAGES_MODULE = messages
14  BASE_URL = 'https://servicemanagement.googleapis.com/'
15  MTLS_BASE_URL = 'https://servicemanagement.mtls.googleapis.com/'
16
17  _PACKAGE = 'servicemanagement'
18  _SCOPES = ['https://www.googleapis.com/auth/cloud-platform', 'https://www.googleapis.com/auth/cloud-platform.read-only', 'https://www.googleapis.com/auth/service.management', 'https://www.googleapis.com/auth/service.management.readonly']
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 = 'ServicemanagementV1'
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 servicemanagement handle."""
33    url = url or self.BASE_URL
34    super(ServicemanagementV1, 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.services_accessPolicy = self.ServicesAccessPolicyService(self)
44    self.services_configs = self.ServicesConfigsService(self)
45    self.services_consumers = self.ServicesConsumersService(self)
46    self.services_customerSettings = self.ServicesCustomerSettingsService(self)
47    self.services_projectSettings = self.ServicesProjectSettingsService(self)
48    self.services_rollouts = self.ServicesRolloutsService(self)
49    self.services = self.ServicesService(self)
50
51  class OperationsService(base_api.BaseApiService):
52    """Service class for the operations resource."""
53
54    _NAME = 'operations'
55
56    def __init__(self, client):
57      super(ServicemanagementV1.OperationsService, self).__init__(client)
58      self._upload_configs = {
59          }
60
61    def Get(self, request, global_params=None):
62      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.
63
64      Args:
65        request: (ServicemanagementOperationsGetRequest) input message
66        global_params: (StandardQueryParameters, default: None) global arguments
67      Returns:
68        (Operation) The response message.
69      """
70      config = self.GetMethodConfig('Get')
71      return self._RunMethod(
72          config, request, global_params=global_params)
73
74    Get.method_config = lambda: base_api.ApiMethodInfo(
75        http_method='GET',
76        method_id='servicemanagement.operations.get',
77        ordered_params=['operationsId'],
78        path_params=['operationsId'],
79        query_params=[],
80        relative_path='v1/operations/{operationsId}',
81        request_field='',
82        request_type_name='ServicemanagementOperationsGetRequest',
83        response_type_name='Operation',
84        supports_download=False,
85    )
86
87    def List(self, request, global_params=None):
88      r"""Lists service operations that match the specified filter in the request.
89
90      Args:
91        request: (ServicemanagementOperationsListRequest) input message
92        global_params: (StandardQueryParameters, default: None) global arguments
93      Returns:
94        (ListOperationsResponse) The response message.
95      """
96      config = self.GetMethodConfig('List')
97      return self._RunMethod(
98          config, request, global_params=global_params)
99
100    List.method_config = lambda: base_api.ApiMethodInfo(
101        http_method='GET',
102        method_id='servicemanagement.operations.list',
103        ordered_params=[],
104        path_params=[],
105        query_params=['filter', 'name', 'pageSize', 'pageToken'],
106        relative_path='v1/operations',
107        request_field='',
108        request_type_name='ServicemanagementOperationsListRequest',
109        response_type_name='ListOperationsResponse',
110        supports_download=False,
111    )
112
113  class ServicesAccessPolicyService(base_api.BaseApiService):
114    """Service class for the services_accessPolicy resource."""
115
116    _NAME = 'services_accessPolicy'
117
118    def __init__(self, client):
119      super(ServicemanagementV1.ServicesAccessPolicyService, self).__init__(client)
120      self._upload_configs = {
121          }
122
123    def Query(self, request, global_params=None):
124      r"""Method to query the accessibility of a service and any associated visibility labels for a specified user. Members of the producer project may call this method and specify any user. Any user may call this method, but must specify their own email address. In this case the method will return NOT_FOUND if the user has no access to the service.
125
126      Args:
127        request: (ServicemanagementServicesAccessPolicyQueryRequest) input message
128        global_params: (StandardQueryParameters, default: None) global arguments
129      Returns:
130        (QueryUserAccessResponse) The response message.
131      """
132      config = self.GetMethodConfig('Query')
133      return self._RunMethod(
134          config, request, global_params=global_params)
135
136    Query.method_config = lambda: base_api.ApiMethodInfo(
137        http_method='POST',
138        method_id='servicemanagement.services.accessPolicy.query',
139        ordered_params=['serviceName'],
140        path_params=['serviceName'],
141        query_params=['userEmail'],
142        relative_path='v1/services/{serviceName}/accessPolicy:query',
143        request_field='',
144        request_type_name='ServicemanagementServicesAccessPolicyQueryRequest',
145        response_type_name='QueryUserAccessResponse',
146        supports_download=False,
147    )
148
149  class ServicesConfigsService(base_api.BaseApiService):
150    """Service class for the services_configs resource."""
151
152    _NAME = 'services_configs'
153
154    def __init__(self, client):
155      super(ServicemanagementV1.ServicesConfigsService, self).__init__(client)
156      self._upload_configs = {
157          }
158
159    def Create(self, request, global_params=None):
160      r"""Creates a new service configuration (version) for a managed service. This method only stores the service configuration. To roll out the service configuration to backend systems please call CreateServiceRollout. Only the 100 most recent service configurations and ones referenced by existing rollouts are kept for each service. The rest will be deleted eventually.
161
162      Args:
163        request: (ServicemanagementServicesConfigsCreateRequest) input message
164        global_params: (StandardQueryParameters, default: None) global arguments
165      Returns:
166        (Service) The response message.
167      """
168      config = self.GetMethodConfig('Create')
169      return self._RunMethod(
170          config, request, global_params=global_params)
171
172    Create.method_config = lambda: base_api.ApiMethodInfo(
173        http_method='POST',
174        method_id='servicemanagement.services.configs.create',
175        ordered_params=['serviceName'],
176        path_params=['serviceName'],
177        query_params=[],
178        relative_path='v1/services/{serviceName}/configs',
179        request_field='service',
180        request_type_name='ServicemanagementServicesConfigsCreateRequest',
181        response_type_name='Service',
182        supports_download=False,
183    )
184
185    def Get(self, request, global_params=None):
186      r"""Gets a service configuration (version) for a managed service.
187
188      Args:
189        request: (ServicemanagementServicesConfigsGetRequest) input message
190        global_params: (StandardQueryParameters, default: None) global arguments
191      Returns:
192        (Service) The response message.
193      """
194      config = self.GetMethodConfig('Get')
195      return self._RunMethod(
196          config, request, global_params=global_params)
197
198    Get.method_config = lambda: base_api.ApiMethodInfo(
199        http_method='GET',
200        method_id='servicemanagement.services.configs.get',
201        ordered_params=['serviceName', 'configId'],
202        path_params=['configId', 'serviceName'],
203        query_params=['view'],
204        relative_path='v1/services/{serviceName}/configs/{configId}',
205        request_field='',
206        request_type_name='ServicemanagementServicesConfigsGetRequest',
207        response_type_name='Service',
208        supports_download=False,
209    )
210
211    def List(self, request, global_params=None):
212      r"""Lists the history of the service configuration for a managed service, from the newest to the oldest.
213
214      Args:
215        request: (ServicemanagementServicesConfigsListRequest) input message
216        global_params: (StandardQueryParameters, default: None) global arguments
217      Returns:
218        (ListServiceConfigsResponse) The response message.
219      """
220      config = self.GetMethodConfig('List')
221      return self._RunMethod(
222          config, request, global_params=global_params)
223
224    List.method_config = lambda: base_api.ApiMethodInfo(
225        http_method='GET',
226        method_id='servicemanagement.services.configs.list',
227        ordered_params=['serviceName'],
228        path_params=['serviceName'],
229        query_params=['pageSize', 'pageToken'],
230        relative_path='v1/services/{serviceName}/configs',
231        request_field='',
232        request_type_name='ServicemanagementServicesConfigsListRequest',
233        response_type_name='ListServiceConfigsResponse',
234        supports_download=False,
235    )
236
237    def Submit(self, request, global_params=None):
238      r"""Creates a new service configuration (version) for a managed service based on user-supplied configuration source files (for example: OpenAPI Specification). This method stores the source configurations as well as the generated service configuration. To rollout the service configuration to other services, please call CreateServiceRollout. Only the 100 most recent configuration sources and ones referenced by existing service configurtions are kept for each service. The rest will be deleted eventually. Operation.
239
240      Args:
241        request: (ServicemanagementServicesConfigsSubmitRequest) input message
242        global_params: (StandardQueryParameters, default: None) global arguments
243      Returns:
244        (Operation) The response message.
245      """
246      config = self.GetMethodConfig('Submit')
247      return self._RunMethod(
248          config, request, global_params=global_params)
249
250    Submit.method_config = lambda: base_api.ApiMethodInfo(
251        http_method='POST',
252        method_id='servicemanagement.services.configs.submit',
253        ordered_params=['serviceName'],
254        path_params=['serviceName'],
255        query_params=[],
256        relative_path='v1/services/{serviceName}/configs:submit',
257        request_field='submitConfigSourceRequest',
258        request_type_name='ServicemanagementServicesConfigsSubmitRequest',
259        response_type_name='Operation',
260        supports_download=False,
261    )
262
263  class ServicesConsumersService(base_api.BaseApiService):
264    """Service class for the services_consumers resource."""
265
266    _NAME = 'services_consumers'
267
268    def __init__(self, client):
269      super(ServicemanagementV1.ServicesConsumersService, self).__init__(client)
270      self._upload_configs = {
271          }
272
273    def GetIamPolicy(self, request, global_params=None):
274      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
275
276      Args:
277        request: (ServicemanagementServicesConsumersGetIamPolicyRequest) input message
278        global_params: (StandardQueryParameters, default: None) global arguments
279      Returns:
280        (Policy) The response message.
281      """
282      config = self.GetMethodConfig('GetIamPolicy')
283      return self._RunMethod(
284          config, request, global_params=global_params)
285
286    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
287        http_method='POST',
288        method_id='servicemanagement.services.consumers.getIamPolicy',
289        ordered_params=['servicesId', 'consumersId'],
290        path_params=['consumersId', 'servicesId'],
291        query_params=[],
292        relative_path='v1/services/{servicesId}/consumers/{consumersId}:getIamPolicy',
293        request_field='getIamPolicyRequest',
294        request_type_name='ServicemanagementServicesConsumersGetIamPolicyRequest',
295        response_type_name='Policy',
296        supports_download=False,
297    )
298
299    def SetIamPolicy(self, request, global_params=None):
300      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
301
302      Args:
303        request: (ServicemanagementServicesConsumersSetIamPolicyRequest) input message
304        global_params: (StandardQueryParameters, default: None) global arguments
305      Returns:
306        (Policy) The response message.
307      """
308      config = self.GetMethodConfig('SetIamPolicy')
309      return self._RunMethod(
310          config, request, global_params=global_params)
311
312    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
313        http_method='POST',
314        method_id='servicemanagement.services.consumers.setIamPolicy',
315        ordered_params=['servicesId', 'consumersId'],
316        path_params=['consumersId', 'servicesId'],
317        query_params=[],
318        relative_path='v1/services/{servicesId}/consumers/{consumersId}:setIamPolicy',
319        request_field='setIamPolicyRequest',
320        request_type_name='ServicemanagementServicesConsumersSetIamPolicyRequest',
321        response_type_name='Policy',
322        supports_download=False,
323    )
324
325    def TestIamPermissions(self, request, global_params=None):
326      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
327
328      Args:
329        request: (ServicemanagementServicesConsumersTestIamPermissionsRequest) input message
330        global_params: (StandardQueryParameters, default: None) global arguments
331      Returns:
332        (TestIamPermissionsResponse) The response message.
333      """
334      config = self.GetMethodConfig('TestIamPermissions')
335      return self._RunMethod(
336          config, request, global_params=global_params)
337
338    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
339        http_method='POST',
340        method_id='servicemanagement.services.consumers.testIamPermissions',
341        ordered_params=['servicesId', 'consumersId'],
342        path_params=['consumersId', 'servicesId'],
343        query_params=[],
344        relative_path='v1/services/{servicesId}/consumers/{consumersId}:testIamPermissions',
345        request_field='testIamPermissionsRequest',
346        request_type_name='ServicemanagementServicesConsumersTestIamPermissionsRequest',
347        response_type_name='TestIamPermissionsResponse',
348        supports_download=False,
349    )
350
351  class ServicesCustomerSettingsService(base_api.BaseApiService):
352    """Service class for the services_customerSettings resource."""
353
354    _NAME = 'services_customerSettings'
355
356    def __init__(self, client):
357      super(ServicemanagementV1.ServicesCustomerSettingsService, self).__init__(client)
358      self._upload_configs = {
359          }
360
361    def Get(self, request, global_params=None):
362      r"""Retrieves the settings that control the specified customer's usage of the service.
363
364      Args:
365        request: (ServicemanagementServicesCustomerSettingsGetRequest) input message
366        global_params: (StandardQueryParameters, default: None) global arguments
367      Returns:
368        (CustomerSettings) The response message.
369      """
370      config = self.GetMethodConfig('Get')
371      return self._RunMethod(
372          config, request, global_params=global_params)
373
374    Get.method_config = lambda: base_api.ApiMethodInfo(
375        http_method='GET',
376        method_id='servicemanagement.services.customerSettings.get',
377        ordered_params=['serviceName', 'customerId'],
378        path_params=['customerId', 'serviceName'],
379        query_params=['expand', 'view'],
380        relative_path='v1/services/{serviceName}/customerSettings/{customerId}',
381        request_field='',
382        request_type_name='ServicemanagementServicesCustomerSettingsGetRequest',
383        response_type_name='CustomerSettings',
384        supports_download=False,
385    )
386
387    def Patch(self, request, global_params=None):
388      r"""Patches specified subset of the settings that control the specified customer's usage of the service. Attempts to update a field not controlled by the caller will result in an access denied error. Operation.
389
390      Args:
391        request: (ServicemanagementServicesCustomerSettingsPatchRequest) input message
392        global_params: (StandardQueryParameters, default: None) global arguments
393      Returns:
394        (Operation) The response message.
395      """
396      config = self.GetMethodConfig('Patch')
397      return self._RunMethod(
398          config, request, global_params=global_params)
399
400    Patch.method_config = lambda: base_api.ApiMethodInfo(
401        http_method='PATCH',
402        method_id='servicemanagement.services.customerSettings.patch',
403        ordered_params=['serviceName', 'customerId'],
404        path_params=['customerId', 'serviceName'],
405        query_params=['updateMask'],
406        relative_path='v1/services/{serviceName}/customerSettings/{customerId}',
407        request_field='customerSettings',
408        request_type_name='ServicemanagementServicesCustomerSettingsPatchRequest',
409        response_type_name='Operation',
410        supports_download=False,
411    )
412
413  class ServicesProjectSettingsService(base_api.BaseApiService):
414    """Service class for the services_projectSettings resource."""
415
416    _NAME = 'services_projectSettings'
417
418    def __init__(self, client):
419      super(ServicemanagementV1.ServicesProjectSettingsService, self).__init__(client)
420      self._upload_configs = {
421          }
422
423    def Get(self, request, global_params=None):
424      r"""Retrieves the settings that control the specified consumer project's usage of the service.
425
426      Args:
427        request: (ServicemanagementServicesProjectSettingsGetRequest) input message
428        global_params: (StandardQueryParameters, default: None) global arguments
429      Returns:
430        (ProjectSettings) The response message.
431      """
432      config = self.GetMethodConfig('Get')
433      return self._RunMethod(
434          config, request, global_params=global_params)
435
436    Get.method_config = lambda: base_api.ApiMethodInfo(
437        http_method='GET',
438        method_id='servicemanagement.services.projectSettings.get',
439        ordered_params=['serviceName', 'consumerProjectId'],
440        path_params=['consumerProjectId', 'serviceName'],
441        query_params=['expand', 'view'],
442        relative_path='v1/services/{serviceName}/projectSettings/{consumerProjectId}',
443        request_field='',
444        request_type_name='ServicemanagementServicesProjectSettingsGetRequest',
445        response_type_name='ProjectSettings',
446        supports_download=False,
447    )
448
449    def Patch(self, request, global_params=None):
450      r"""Updates specified subset of the settings that control the specified consumer project's usage of the service. Attempts to update a field not controlled by the caller will result in an access denied error. Operation The metadata field of the Operation will be a CompositeOperationMetadata object.
451
452      Args:
453        request: (ServicemanagementServicesProjectSettingsPatchRequest) input message
454        global_params: (StandardQueryParameters, default: None) global arguments
455      Returns:
456        (Operation) The response message.
457      """
458      config = self.GetMethodConfig('Patch')
459      return self._RunMethod(
460          config, request, global_params=global_params)
461
462    Patch.method_config = lambda: base_api.ApiMethodInfo(
463        http_method='PATCH',
464        method_id='servicemanagement.services.projectSettings.patch',
465        ordered_params=['serviceName', 'consumerProjectId'],
466        path_params=['consumerProjectId', 'serviceName'],
467        query_params=['excludeFinalQuotaSettingsInResponse', 'updateMask'],
468        relative_path='v1/services/{serviceName}/projectSettings/{consumerProjectId}',
469        request_field='projectSettings',
470        request_type_name='ServicemanagementServicesProjectSettingsPatchRequest',
471        response_type_name='Operation',
472        supports_download=False,
473    )
474
475  class ServicesRolloutsService(base_api.BaseApiService):
476    """Service class for the services_rollouts resource."""
477
478    _NAME = 'services_rollouts'
479
480    def __init__(self, client):
481      super(ServicemanagementV1.ServicesRolloutsService, self).__init__(client)
482      self._upload_configs = {
483          }
484
485    def Create(self, request, global_params=None):
486      r"""Creates a new service configuration rollout. Based on rollout, the Google Service Management will roll out the service configurations to different backend services. For example, the logging configuration will be pushed to Google Cloud Logging. Please note that any previous pending and running Rollouts and associated Operations will be automatically cancelled so that the latest Rollout will not be blocked by previous Rollouts. Only the 100 most recent (in any state) and the last 10 successful (if not already part of the set of 100 most recent) rollouts are kept for each service. The rest will be deleted eventually. Operation.
487
488      Args:
489        request: (ServicemanagementServicesRolloutsCreateRequest) input message
490        global_params: (StandardQueryParameters, default: None) global arguments
491      Returns:
492        (Operation) The response message.
493      """
494      config = self.GetMethodConfig('Create')
495      return self._RunMethod(
496          config, request, global_params=global_params)
497
498    Create.method_config = lambda: base_api.ApiMethodInfo(
499        http_method='POST',
500        method_id='servicemanagement.services.rollouts.create',
501        ordered_params=['serviceName'],
502        path_params=['serviceName'],
503        query_params=['force'],
504        relative_path='v1/services/{serviceName}/rollouts',
505        request_field='rollout',
506        request_type_name='ServicemanagementServicesRolloutsCreateRequest',
507        response_type_name='Operation',
508        supports_download=False,
509    )
510
511    def Get(self, request, global_params=None):
512      r"""Gets a service configuration rollout.
513
514      Args:
515        request: (ServicemanagementServicesRolloutsGetRequest) input message
516        global_params: (StandardQueryParameters, default: None) global arguments
517      Returns:
518        (Rollout) The response message.
519      """
520      config = self.GetMethodConfig('Get')
521      return self._RunMethod(
522          config, request, global_params=global_params)
523
524    Get.method_config = lambda: base_api.ApiMethodInfo(
525        http_method='GET',
526        method_id='servicemanagement.services.rollouts.get',
527        ordered_params=['serviceName', 'rolloutId'],
528        path_params=['rolloutId', 'serviceName'],
529        query_params=[],
530        relative_path='v1/services/{serviceName}/rollouts/{rolloutId}',
531        request_field='',
532        request_type_name='ServicemanagementServicesRolloutsGetRequest',
533        response_type_name='Rollout',
534        supports_download=False,
535    )
536
537    def List(self, request, global_params=None):
538      r"""Lists the history of the service configuration rollouts for a managed service, from the newest to the oldest.
539
540      Args:
541        request: (ServicemanagementServicesRolloutsListRequest) input message
542        global_params: (StandardQueryParameters, default: None) global arguments
543      Returns:
544        (ListServiceRolloutsResponse) The response message.
545      """
546      config = self.GetMethodConfig('List')
547      return self._RunMethod(
548          config, request, global_params=global_params)
549
550    List.method_config = lambda: base_api.ApiMethodInfo(
551        http_method='GET',
552        method_id='servicemanagement.services.rollouts.list',
553        ordered_params=['serviceName'],
554        path_params=['serviceName'],
555        query_params=['filter', 'pageSize', 'pageToken'],
556        relative_path='v1/services/{serviceName}/rollouts',
557        request_field='',
558        request_type_name='ServicemanagementServicesRolloutsListRequest',
559        response_type_name='ListServiceRolloutsResponse',
560        supports_download=False,
561    )
562
563  class ServicesService(base_api.BaseApiService):
564    """Service class for the services resource."""
565
566    _NAME = 'services'
567
568    def __init__(self, client):
569      super(ServicemanagementV1.ServicesService, self).__init__(client)
570      self._upload_configs = {
571          }
572
573    def Create(self, request, global_params=None):
574      r"""Creates a new managed service. A managed service is immutable, and is subject to mandatory 30-day data retention. You cannot move a service or recreate it within 30 days after deletion. One producer project can own no more than 500 services. For security and reliability purposes, a production service should be hosted in a dedicated producer project. Operation.
575
576      Args:
577        request: (ManagedService) input message
578        global_params: (StandardQueryParameters, default: None) global arguments
579      Returns:
580        (Operation) The response message.
581      """
582      config = self.GetMethodConfig('Create')
583      return self._RunMethod(
584          config, request, global_params=global_params)
585
586    Create.method_config = lambda: base_api.ApiMethodInfo(
587        http_method='POST',
588        method_id='servicemanagement.services.create',
589        ordered_params=[],
590        path_params=[],
591        query_params=[],
592        relative_path='v1/services',
593        request_field='<request>',
594        request_type_name='ManagedService',
595        response_type_name='Operation',
596        supports_download=False,
597    )
598
599    def Delete(self, request, global_params=None):
600      r"""Deletes a managed service. This method will change the service to the `Soft-Delete` state for 30 days. Within this period, service producers may call UndeleteService to restore the service. After 30 days, the service will be permanently deleted. Operation.
601
602      Args:
603        request: (ServicemanagementServicesDeleteRequest) input message
604        global_params: (StandardQueryParameters, default: None) global arguments
605      Returns:
606        (Operation) The response message.
607      """
608      config = self.GetMethodConfig('Delete')
609      return self._RunMethod(
610          config, request, global_params=global_params)
611
612    Delete.method_config = lambda: base_api.ApiMethodInfo(
613        http_method='DELETE',
614        method_id='servicemanagement.services.delete',
615        ordered_params=['serviceName'],
616        path_params=['serviceName'],
617        query_params=[],
618        relative_path='v1/services/{serviceName}',
619        request_field='',
620        request_type_name='ServicemanagementServicesDeleteRequest',
621        response_type_name='Operation',
622        supports_download=False,
623    )
624
625    def Enable(self, request, global_params=None):
626      r"""Enables a service for a project, so it can be used for the project. See [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for more information. Operation.
627
628      Args:
629        request: (ServicemanagementServicesEnableRequest) input message
630        global_params: (StandardQueryParameters, default: None) global arguments
631      Returns:
632        (Operation) The response message.
633      """
634      config = self.GetMethodConfig('Enable')
635      return self._RunMethod(
636          config, request, global_params=global_params)
637
638    Enable.method_config = lambda: base_api.ApiMethodInfo(
639        http_method='POST',
640        method_id='servicemanagement.services.enable',
641        ordered_params=['serviceName'],
642        path_params=['serviceName'],
643        query_params=[],
644        relative_path='v1/services/{serviceName}:enable',
645        request_field='enableServiceRequest',
646        request_type_name='ServicemanagementServicesEnableRequest',
647        response_type_name='Operation',
648        supports_download=False,
649    )
650
651    def GenerateConfigReport(self, request, global_params=None):
652      r"""Generates and returns a report (errors, warnings and changes from existing configurations) associated with GenerateConfigReportRequest.new_value If GenerateConfigReportRequest.old_value is specified, GenerateConfigReportRequest will contain a single ChangeReport based on the comparison between GenerateConfigReportRequest.new_value and GenerateConfigReportRequest.old_value. If GenerateConfigReportRequest.old_value is not specified, this method will compare GenerateConfigReportRequest.new_value with the last pushed service configuration.
653
654      Args:
655        request: (GenerateConfigReportRequest) input message
656        global_params: (StandardQueryParameters, default: None) global arguments
657      Returns:
658        (GenerateConfigReportResponse) The response message.
659      """
660      config = self.GetMethodConfig('GenerateConfigReport')
661      return self._RunMethod(
662          config, request, global_params=global_params)
663
664    GenerateConfigReport.method_config = lambda: base_api.ApiMethodInfo(
665        http_method='POST',
666        method_id='servicemanagement.services.generateConfigReport',
667        ordered_params=[],
668        path_params=[],
669        query_params=[],
670        relative_path='v1/services:generateConfigReport',
671        request_field='<request>',
672        request_type_name='GenerateConfigReportRequest',
673        response_type_name='GenerateConfigReportResponse',
674        supports_download=False,
675    )
676
677    def Get(self, request, global_params=None):
678      r"""Gets a managed service. Authentication is required unless the service is public.
679
680      Args:
681        request: (ServicemanagementServicesGetRequest) input message
682        global_params: (StandardQueryParameters, default: None) global arguments
683      Returns:
684        (ManagedService) The response message.
685      """
686      config = self.GetMethodConfig('Get')
687      return self._RunMethod(
688          config, request, global_params=global_params)
689
690    Get.method_config = lambda: base_api.ApiMethodInfo(
691        http_method='GET',
692        method_id='servicemanagement.services.get',
693        ordered_params=['serviceName'],
694        path_params=['serviceName'],
695        query_params=['consumerProjectId', 'expand', 'view'],
696        relative_path='v1/services/{serviceName}',
697        request_field='',
698        request_type_name='ServicemanagementServicesGetRequest',
699        response_type_name='ManagedService',
700        supports_download=False,
701    )
702
703    def GetConfig(self, request, global_params=None):
704      r"""Gets a service configuration (version) for a managed service.
705
706      Args:
707        request: (ServicemanagementServicesGetConfigRequest) input message
708        global_params: (StandardQueryParameters, default: None) global arguments
709      Returns:
710        (Service) The response message.
711      """
712      config = self.GetMethodConfig('GetConfig')
713      return self._RunMethod(
714          config, request, global_params=global_params)
715
716    GetConfig.method_config = lambda: base_api.ApiMethodInfo(
717        http_method='GET',
718        method_id='servicemanagement.services.getConfig',
719        ordered_params=['serviceName'],
720        path_params=['serviceName'],
721        query_params=['configId', 'view'],
722        relative_path='v1/services/{serviceName}/config',
723        request_field='',
724        request_type_name='ServicemanagementServicesGetConfigRequest',
725        response_type_name='Service',
726        supports_download=False,
727    )
728
729    def GetIamPolicy(self, request, global_params=None):
730      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
731
732      Args:
733        request: (ServicemanagementServicesGetIamPolicyRequest) input message
734        global_params: (StandardQueryParameters, default: None) global arguments
735      Returns:
736        (Policy) The response message.
737      """
738      config = self.GetMethodConfig('GetIamPolicy')
739      return self._RunMethod(
740          config, request, global_params=global_params)
741
742    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
743        http_method='POST',
744        method_id='servicemanagement.services.getIamPolicy',
745        ordered_params=['servicesId'],
746        path_params=['servicesId'],
747        query_params=[],
748        relative_path='v1/services/{servicesId}:getIamPolicy',
749        request_field='getIamPolicyRequest',
750        request_type_name='ServicemanagementServicesGetIamPolicyRequest',
751        response_type_name='Policy',
752        supports_download=False,
753    )
754
755    def List(self, request, global_params=None):
756      r"""Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. **BETA:** If the caller specifies the `consumer_id`, it returns only the services enabled on the consumer. The `consumer_id` must have the format of "project:{PROJECT-ID}".
757
758      Args:
759        request: (ServicemanagementServicesListRequest) input message
760        global_params: (StandardQueryParameters, default: None) global arguments
761      Returns:
762        (ListServicesResponse) The response message.
763      """
764      config = self.GetMethodConfig('List')
765      return self._RunMethod(
766          config, request, global_params=global_params)
767
768    List.method_config = lambda: base_api.ApiMethodInfo(
769        http_method='GET',
770        method_id='servicemanagement.services.list',
771        ordered_params=[],
772        path_params=[],
773        query_params=['category', 'consumerId', 'consumerProjectId', 'pageSize', 'pageToken', 'producerProjectId'],
774        relative_path='v1/services',
775        request_field='',
776        request_type_name='ServicemanagementServicesListRequest',
777        response_type_name='ListServicesResponse',
778        supports_download=False,
779    )
780
781    def SetIamPolicy(self, request, global_params=None):
782      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
783
784      Args:
785        request: (ServicemanagementServicesSetIamPolicyRequest) input message
786        global_params: (StandardQueryParameters, default: None) global arguments
787      Returns:
788        (Policy) The response message.
789      """
790      config = self.GetMethodConfig('SetIamPolicy')
791      return self._RunMethod(
792          config, request, global_params=global_params)
793
794    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
795        http_method='POST',
796        method_id='servicemanagement.services.setIamPolicy',
797        ordered_params=['servicesId'],
798        path_params=['servicesId'],
799        query_params=[],
800        relative_path='v1/services/{servicesId}:setIamPolicy',
801        request_field='setIamPolicyRequest',
802        request_type_name='ServicemanagementServicesSetIamPolicyRequest',
803        response_type_name='Policy',
804        supports_download=False,
805    )
806
807    def TestIamPermissions(self, request, global_params=None):
808      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
809
810      Args:
811        request: (ServicemanagementServicesTestIamPermissionsRequest) input message
812        global_params: (StandardQueryParameters, default: None) global arguments
813      Returns:
814        (TestIamPermissionsResponse) The response message.
815      """
816      config = self.GetMethodConfig('TestIamPermissions')
817      return self._RunMethod(
818          config, request, global_params=global_params)
819
820    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
821        http_method='POST',
822        method_id='servicemanagement.services.testIamPermissions',
823        ordered_params=['servicesId'],
824        path_params=['servicesId'],
825        query_params=[],
826        relative_path='v1/services/{servicesId}:testIamPermissions',
827        request_field='testIamPermissionsRequest',
828        request_type_name='ServicemanagementServicesTestIamPermissionsRequest',
829        response_type_name='TestIamPermissionsResponse',
830        supports_download=False,
831    )
832
833    def Undelete(self, request, global_params=None):
834      r"""Revives a previously deleted managed service. The method restores the service using the configuration at the time the service was deleted. The target service must exist and must have been deleted within the last 30 days. Operation.
835
836      Args:
837        request: (ServicemanagementServicesUndeleteRequest) input message
838        global_params: (StandardQueryParameters, default: None) global arguments
839      Returns:
840        (Operation) The response message.
841      """
842      config = self.GetMethodConfig('Undelete')
843      return self._RunMethod(
844          config, request, global_params=global_params)
845
846    Undelete.method_config = lambda: base_api.ApiMethodInfo(
847        http_method='POST',
848        method_id='servicemanagement.services.undelete',
849        ordered_params=['serviceName'],
850        path_params=['serviceName'],
851        query_params=[],
852        relative_path='v1/services/{serviceName}:undelete',
853        request_field='',
854        request_type_name='ServicemanagementServicesUndeleteRequest',
855        response_type_name='Operation',
856        supports_download=False,
857    )
858