google-cloud-modelarmor 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. google/cloud/modelarmor/__init__.py +117 -0
  2. google/cloud/modelarmor/gapic_version.py +16 -0
  3. google/cloud/modelarmor/py.typed +2 -0
  4. google/cloud/modelarmor_v1/__init__.py +114 -0
  5. google/cloud/modelarmor_v1/gapic_metadata.json +163 -0
  6. google/cloud/modelarmor_v1/gapic_version.py +16 -0
  7. google/cloud/modelarmor_v1/py.typed +2 -0
  8. google/cloud/modelarmor_v1/services/__init__.py +15 -0
  9. google/cloud/modelarmor_v1/services/model_armor/__init__.py +22 -0
  10. google/cloud/modelarmor_v1/services/model_armor/async_client.py +1377 -0
  11. google/cloud/modelarmor_v1/services/model_armor/client.py +1772 -0
  12. google/cloud/modelarmor_v1/services/model_armor/pagers.py +197 -0
  13. google/cloud/modelarmor_v1/services/model_armor/transports/__init__.py +36 -0
  14. google/cloud/modelarmor_v1/services/model_armor/transports/base.py +357 -0
  15. google/cloud/modelarmor_v1/services/model_armor/transports/grpc.py +607 -0
  16. google/cloud/modelarmor_v1/services/model_armor/transports/grpc_asyncio.py +730 -0
  17. google/cloud/modelarmor_v1/services/model_armor/transports/rest.py +2143 -0
  18. google/cloud/modelarmor_v1/services/model_armor/transports/rest_base.py +638 -0
  19. google/cloud/modelarmor_v1/types/__init__.py +106 -0
  20. google/cloud/modelarmor_v1/types/service.py +1881 -0
  21. google_cloud_modelarmor-0.1.0.dist-info/LICENSE +202 -0
  22. google_cloud_modelarmor-0.1.0.dist-info/METADATA +139 -0
  23. google_cloud_modelarmor-0.1.0.dist-info/RECORD +25 -0
  24. google_cloud_modelarmor-0.1.0.dist-info/WHEEL +5 -0
  25. google_cloud_modelarmor-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2143 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2024 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ import dataclasses
17
+ import json # type: ignore
18
+ import logging
19
+ from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union
20
+ import warnings
21
+
22
+ from google.api_core import exceptions as core_exceptions
23
+ from google.api_core import gapic_v1, rest_helpers, rest_streaming
24
+ from google.api_core import retry as retries
25
+ from google.auth import credentials as ga_credentials # type: ignore
26
+ from google.auth.transport.requests import AuthorizedSession # type: ignore
27
+ from google.cloud.location import locations_pb2 # type: ignore
28
+ from google.protobuf import empty_pb2 # type: ignore
29
+ from google.protobuf import json_format
30
+ from requests import __version__ as requests_version
31
+
32
+ from google.cloud.modelarmor_v1.types import service
33
+
34
+ from .base import DEFAULT_CLIENT_INFO as BASE_DEFAULT_CLIENT_INFO
35
+ from .rest_base import _BaseModelArmorRestTransport
36
+
37
+ try:
38
+ OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None]
39
+ except AttributeError: # pragma: NO COVER
40
+ OptionalRetry = Union[retries.Retry, object, None] # type: ignore
41
+
42
+ try:
43
+ from google.api_core import client_logging # type: ignore
44
+
45
+ CLIENT_LOGGING_SUPPORTED = True # pragma: NO COVER
46
+ except ImportError: # pragma: NO COVER
47
+ CLIENT_LOGGING_SUPPORTED = False
48
+
49
+ _LOGGER = logging.getLogger(__name__)
50
+
51
+ DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(
52
+ gapic_version=BASE_DEFAULT_CLIENT_INFO.gapic_version,
53
+ grpc_version=None,
54
+ rest_version=f"requests@{requests_version}",
55
+ )
56
+
57
+
58
+ class ModelArmorRestInterceptor:
59
+ """Interceptor for ModelArmor.
60
+
61
+ Interceptors are used to manipulate requests, request metadata, and responses
62
+ in arbitrary ways.
63
+ Example use cases include:
64
+ * Logging
65
+ * Verifying requests according to service or custom semantics
66
+ * Stripping extraneous information from responses
67
+
68
+ These use cases and more can be enabled by injecting an
69
+ instance of a custom subclass when constructing the ModelArmorRestTransport.
70
+
71
+ .. code-block:: python
72
+ class MyCustomModelArmorInterceptor(ModelArmorRestInterceptor):
73
+ def pre_create_template(self, request, metadata):
74
+ logging.log(f"Received request: {request}")
75
+ return request, metadata
76
+
77
+ def post_create_template(self, response):
78
+ logging.log(f"Received response: {response}")
79
+ return response
80
+
81
+ def pre_delete_template(self, request, metadata):
82
+ logging.log(f"Received request: {request}")
83
+ return request, metadata
84
+
85
+ def pre_get_floor_setting(self, request, metadata):
86
+ logging.log(f"Received request: {request}")
87
+ return request, metadata
88
+
89
+ def post_get_floor_setting(self, response):
90
+ logging.log(f"Received response: {response}")
91
+ return response
92
+
93
+ def pre_get_template(self, request, metadata):
94
+ logging.log(f"Received request: {request}")
95
+ return request, metadata
96
+
97
+ def post_get_template(self, response):
98
+ logging.log(f"Received response: {response}")
99
+ return response
100
+
101
+ def pre_list_templates(self, request, metadata):
102
+ logging.log(f"Received request: {request}")
103
+ return request, metadata
104
+
105
+ def post_list_templates(self, response):
106
+ logging.log(f"Received response: {response}")
107
+ return response
108
+
109
+ def pre_sanitize_model_response(self, request, metadata):
110
+ logging.log(f"Received request: {request}")
111
+ return request, metadata
112
+
113
+ def post_sanitize_model_response(self, response):
114
+ logging.log(f"Received response: {response}")
115
+ return response
116
+
117
+ def pre_sanitize_user_prompt(self, request, metadata):
118
+ logging.log(f"Received request: {request}")
119
+ return request, metadata
120
+
121
+ def post_sanitize_user_prompt(self, response):
122
+ logging.log(f"Received response: {response}")
123
+ return response
124
+
125
+ def pre_update_floor_setting(self, request, metadata):
126
+ logging.log(f"Received request: {request}")
127
+ return request, metadata
128
+
129
+ def post_update_floor_setting(self, response):
130
+ logging.log(f"Received response: {response}")
131
+ return response
132
+
133
+ def pre_update_template(self, request, metadata):
134
+ logging.log(f"Received request: {request}")
135
+ return request, metadata
136
+
137
+ def post_update_template(self, response):
138
+ logging.log(f"Received response: {response}")
139
+ return response
140
+
141
+ transport = ModelArmorRestTransport(interceptor=MyCustomModelArmorInterceptor())
142
+ client = ModelArmorClient(transport=transport)
143
+
144
+
145
+ """
146
+
147
+ def pre_create_template(
148
+ self,
149
+ request: service.CreateTemplateRequest,
150
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
151
+ ) -> Tuple[service.CreateTemplateRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
152
+ """Pre-rpc interceptor for create_template
153
+
154
+ Override in a subclass to manipulate the request or metadata
155
+ before they are sent to the ModelArmor server.
156
+ """
157
+ return request, metadata
158
+
159
+ def post_create_template(self, response: service.Template) -> service.Template:
160
+ """Post-rpc interceptor for create_template
161
+
162
+ Override in a subclass to manipulate the response
163
+ after it is returned by the ModelArmor server but before
164
+ it is returned to user code.
165
+ """
166
+ return response
167
+
168
+ def pre_delete_template(
169
+ self,
170
+ request: service.DeleteTemplateRequest,
171
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
172
+ ) -> Tuple[service.DeleteTemplateRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
173
+ """Pre-rpc interceptor for delete_template
174
+
175
+ Override in a subclass to manipulate the request or metadata
176
+ before they are sent to the ModelArmor server.
177
+ """
178
+ return request, metadata
179
+
180
+ def pre_get_floor_setting(
181
+ self,
182
+ request: service.GetFloorSettingRequest,
183
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
184
+ ) -> Tuple[service.GetFloorSettingRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
185
+ """Pre-rpc interceptor for get_floor_setting
186
+
187
+ Override in a subclass to manipulate the request or metadata
188
+ before they are sent to the ModelArmor server.
189
+ """
190
+ return request, metadata
191
+
192
+ def post_get_floor_setting(
193
+ self, response: service.FloorSetting
194
+ ) -> service.FloorSetting:
195
+ """Post-rpc interceptor for get_floor_setting
196
+
197
+ Override in a subclass to manipulate the response
198
+ after it is returned by the ModelArmor server but before
199
+ it is returned to user code.
200
+ """
201
+ return response
202
+
203
+ def pre_get_template(
204
+ self,
205
+ request: service.GetTemplateRequest,
206
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
207
+ ) -> Tuple[service.GetTemplateRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
208
+ """Pre-rpc interceptor for get_template
209
+
210
+ Override in a subclass to manipulate the request or metadata
211
+ before they are sent to the ModelArmor server.
212
+ """
213
+ return request, metadata
214
+
215
+ def post_get_template(self, response: service.Template) -> service.Template:
216
+ """Post-rpc interceptor for get_template
217
+
218
+ Override in a subclass to manipulate the response
219
+ after it is returned by the ModelArmor server but before
220
+ it is returned to user code.
221
+ """
222
+ return response
223
+
224
+ def pre_list_templates(
225
+ self,
226
+ request: service.ListTemplatesRequest,
227
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
228
+ ) -> Tuple[service.ListTemplatesRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
229
+ """Pre-rpc interceptor for list_templates
230
+
231
+ Override in a subclass to manipulate the request or metadata
232
+ before they are sent to the ModelArmor server.
233
+ """
234
+ return request, metadata
235
+
236
+ def post_list_templates(
237
+ self, response: service.ListTemplatesResponse
238
+ ) -> service.ListTemplatesResponse:
239
+ """Post-rpc interceptor for list_templates
240
+
241
+ Override in a subclass to manipulate the response
242
+ after it is returned by the ModelArmor server but before
243
+ it is returned to user code.
244
+ """
245
+ return response
246
+
247
+ def pre_sanitize_model_response(
248
+ self,
249
+ request: service.SanitizeModelResponseRequest,
250
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
251
+ ) -> Tuple[
252
+ service.SanitizeModelResponseRequest, Sequence[Tuple[str, Union[str, bytes]]]
253
+ ]:
254
+ """Pre-rpc interceptor for sanitize_model_response
255
+
256
+ Override in a subclass to manipulate the request or metadata
257
+ before they are sent to the ModelArmor server.
258
+ """
259
+ return request, metadata
260
+
261
+ def post_sanitize_model_response(
262
+ self, response: service.SanitizeModelResponseResponse
263
+ ) -> service.SanitizeModelResponseResponse:
264
+ """Post-rpc interceptor for sanitize_model_response
265
+
266
+ Override in a subclass to manipulate the response
267
+ after it is returned by the ModelArmor server but before
268
+ it is returned to user code.
269
+ """
270
+ return response
271
+
272
+ def pre_sanitize_user_prompt(
273
+ self,
274
+ request: service.SanitizeUserPromptRequest,
275
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
276
+ ) -> Tuple[
277
+ service.SanitizeUserPromptRequest, Sequence[Tuple[str, Union[str, bytes]]]
278
+ ]:
279
+ """Pre-rpc interceptor for sanitize_user_prompt
280
+
281
+ Override in a subclass to manipulate the request or metadata
282
+ before they are sent to the ModelArmor server.
283
+ """
284
+ return request, metadata
285
+
286
+ def post_sanitize_user_prompt(
287
+ self, response: service.SanitizeUserPromptResponse
288
+ ) -> service.SanitizeUserPromptResponse:
289
+ """Post-rpc interceptor for sanitize_user_prompt
290
+
291
+ Override in a subclass to manipulate the response
292
+ after it is returned by the ModelArmor server but before
293
+ it is returned to user code.
294
+ """
295
+ return response
296
+
297
+ def pre_update_floor_setting(
298
+ self,
299
+ request: service.UpdateFloorSettingRequest,
300
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
301
+ ) -> Tuple[
302
+ service.UpdateFloorSettingRequest, Sequence[Tuple[str, Union[str, bytes]]]
303
+ ]:
304
+ """Pre-rpc interceptor for update_floor_setting
305
+
306
+ Override in a subclass to manipulate the request or metadata
307
+ before they are sent to the ModelArmor server.
308
+ """
309
+ return request, metadata
310
+
311
+ def post_update_floor_setting(
312
+ self, response: service.FloorSetting
313
+ ) -> service.FloorSetting:
314
+ """Post-rpc interceptor for update_floor_setting
315
+
316
+ Override in a subclass to manipulate the response
317
+ after it is returned by the ModelArmor server but before
318
+ it is returned to user code.
319
+ """
320
+ return response
321
+
322
+ def pre_update_template(
323
+ self,
324
+ request: service.UpdateTemplateRequest,
325
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
326
+ ) -> Tuple[service.UpdateTemplateRequest, Sequence[Tuple[str, Union[str, bytes]]]]:
327
+ """Pre-rpc interceptor for update_template
328
+
329
+ Override in a subclass to manipulate the request or metadata
330
+ before they are sent to the ModelArmor server.
331
+ """
332
+ return request, metadata
333
+
334
+ def post_update_template(self, response: service.Template) -> service.Template:
335
+ """Post-rpc interceptor for update_template
336
+
337
+ Override in a subclass to manipulate the response
338
+ after it is returned by the ModelArmor server but before
339
+ it is returned to user code.
340
+ """
341
+ return response
342
+
343
+ def pre_get_location(
344
+ self,
345
+ request: locations_pb2.GetLocationRequest,
346
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
347
+ ) -> Tuple[
348
+ locations_pb2.GetLocationRequest, Sequence[Tuple[str, Union[str, bytes]]]
349
+ ]:
350
+ """Pre-rpc interceptor for get_location
351
+
352
+ Override in a subclass to manipulate the request or metadata
353
+ before they are sent to the ModelArmor server.
354
+ """
355
+ return request, metadata
356
+
357
+ def post_get_location(
358
+ self, response: locations_pb2.Location
359
+ ) -> locations_pb2.Location:
360
+ """Post-rpc interceptor for get_location
361
+
362
+ Override in a subclass to manipulate the response
363
+ after it is returned by the ModelArmor server but before
364
+ it is returned to user code.
365
+ """
366
+ return response
367
+
368
+ def pre_list_locations(
369
+ self,
370
+ request: locations_pb2.ListLocationsRequest,
371
+ metadata: Sequence[Tuple[str, Union[str, bytes]]],
372
+ ) -> Tuple[
373
+ locations_pb2.ListLocationsRequest, Sequence[Tuple[str, Union[str, bytes]]]
374
+ ]:
375
+ """Pre-rpc interceptor for list_locations
376
+
377
+ Override in a subclass to manipulate the request or metadata
378
+ before they are sent to the ModelArmor server.
379
+ """
380
+ return request, metadata
381
+
382
+ def post_list_locations(
383
+ self, response: locations_pb2.ListLocationsResponse
384
+ ) -> locations_pb2.ListLocationsResponse:
385
+ """Post-rpc interceptor for list_locations
386
+
387
+ Override in a subclass to manipulate the response
388
+ after it is returned by the ModelArmor server but before
389
+ it is returned to user code.
390
+ """
391
+ return response
392
+
393
+
394
+ @dataclasses.dataclass
395
+ class ModelArmorRestStub:
396
+ _session: AuthorizedSession
397
+ _host: str
398
+ _interceptor: ModelArmorRestInterceptor
399
+
400
+
401
+ class ModelArmorRestTransport(_BaseModelArmorRestTransport):
402
+ """REST backend synchronous transport for ModelArmor.
403
+
404
+ Service describing handlers for resources
405
+
406
+ This class defines the same methods as the primary client, so the
407
+ primary client can load the underlying transport implementation
408
+ and call it.
409
+
410
+ It sends JSON representations of protocol buffers over HTTP/1.1
411
+ """
412
+
413
+ def __init__(
414
+ self,
415
+ *,
416
+ host: str = "modelarmor.googleapis.com",
417
+ credentials: Optional[ga_credentials.Credentials] = None,
418
+ credentials_file: Optional[str] = None,
419
+ scopes: Optional[Sequence[str]] = None,
420
+ client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None,
421
+ quota_project_id: Optional[str] = None,
422
+ client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
423
+ always_use_jwt_access: Optional[bool] = False,
424
+ url_scheme: str = "https",
425
+ interceptor: Optional[ModelArmorRestInterceptor] = None,
426
+ api_audience: Optional[str] = None,
427
+ ) -> None:
428
+ """Instantiate the transport.
429
+
430
+ Args:
431
+ host (Optional[str]):
432
+ The hostname to connect to (default: 'modelarmor.googleapis.com').
433
+ credentials (Optional[google.auth.credentials.Credentials]): The
434
+ authorization credentials to attach to requests. These
435
+ credentials identify the application to the service; if none
436
+ are specified, the client will attempt to ascertain the
437
+ credentials from the environment.
438
+
439
+ credentials_file (Optional[str]): A file with credentials that can
440
+ be loaded with :func:`google.auth.load_credentials_from_file`.
441
+ This argument is ignored if ``channel`` is provided.
442
+ scopes (Optional(Sequence[str])): A list of scopes. This argument is
443
+ ignored if ``channel`` is provided.
444
+ client_cert_source_for_mtls (Callable[[], Tuple[bytes, bytes]]): Client
445
+ certificate to configure mutual TLS HTTP channel. It is ignored
446
+ if ``channel`` is provided.
447
+ quota_project_id (Optional[str]): An optional project to use for billing
448
+ and quota.
449
+ client_info (google.api_core.gapic_v1.client_info.ClientInfo):
450
+ The client info used to send a user-agent string along with
451
+ API requests. If ``None``, then default info will be used.
452
+ Generally, you only need to set this if you are developing
453
+ your own client library.
454
+ always_use_jwt_access (Optional[bool]): Whether self signed JWT should
455
+ be used for service account credentials.
456
+ url_scheme: the protocol scheme for the API endpoint. Normally
457
+ "https", but for testing or local servers,
458
+ "http" can be specified.
459
+ """
460
+ # Run the base constructor
461
+ # TODO(yon-mg): resolve other ctor params i.e. scopes, quota, etc.
462
+ # TODO: When custom host (api_endpoint) is set, `scopes` must *also* be set on the
463
+ # credentials object
464
+ super().__init__(
465
+ host=host,
466
+ credentials=credentials,
467
+ client_info=client_info,
468
+ always_use_jwt_access=always_use_jwt_access,
469
+ url_scheme=url_scheme,
470
+ api_audience=api_audience,
471
+ )
472
+ self._session = AuthorizedSession(
473
+ self._credentials, default_host=self.DEFAULT_HOST
474
+ )
475
+ if client_cert_source_for_mtls:
476
+ self._session.configure_mtls_channel(client_cert_source_for_mtls)
477
+ self._interceptor = interceptor or ModelArmorRestInterceptor()
478
+ self._prep_wrapped_messages(client_info)
479
+
480
+ class _CreateTemplate(
481
+ _BaseModelArmorRestTransport._BaseCreateTemplate, ModelArmorRestStub
482
+ ):
483
+ def __hash__(self):
484
+ return hash("ModelArmorRestTransport.CreateTemplate")
485
+
486
+ @staticmethod
487
+ def _get_response(
488
+ host,
489
+ metadata,
490
+ query_params,
491
+ session,
492
+ timeout,
493
+ transcoded_request,
494
+ body=None,
495
+ ):
496
+ uri = transcoded_request["uri"]
497
+ method = transcoded_request["method"]
498
+ headers = dict(metadata)
499
+ headers["Content-Type"] = "application/json"
500
+ response = getattr(session, method)(
501
+ "{host}{uri}".format(host=host, uri=uri),
502
+ timeout=timeout,
503
+ headers=headers,
504
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
505
+ data=body,
506
+ )
507
+ return response
508
+
509
+ def __call__(
510
+ self,
511
+ request: service.CreateTemplateRequest,
512
+ *,
513
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
514
+ timeout: Optional[float] = None,
515
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
516
+ ) -> service.Template:
517
+ r"""Call the create template method over HTTP.
518
+
519
+ Args:
520
+ request (~.service.CreateTemplateRequest):
521
+ The request object. Message for creating a Template
522
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
523
+ should be retried.
524
+ timeout (float): The timeout for this request.
525
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
526
+ sent along with the request as metadata. Normally, each value must be of type `str`,
527
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
528
+ be of type `bytes`.
529
+
530
+ Returns:
531
+ ~.service.Template:
532
+ Message describing Template resource
533
+ """
534
+
535
+ http_options = (
536
+ _BaseModelArmorRestTransport._BaseCreateTemplate._get_http_options()
537
+ )
538
+
539
+ request, metadata = self._interceptor.pre_create_template(request, metadata)
540
+ transcoded_request = _BaseModelArmorRestTransport._BaseCreateTemplate._get_transcoded_request(
541
+ http_options, request
542
+ )
543
+
544
+ body = (
545
+ _BaseModelArmorRestTransport._BaseCreateTemplate._get_request_body_json(
546
+ transcoded_request
547
+ )
548
+ )
549
+
550
+ # Jsonify the query params
551
+ query_params = (
552
+ _BaseModelArmorRestTransport._BaseCreateTemplate._get_query_params_json(
553
+ transcoded_request
554
+ )
555
+ )
556
+
557
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
558
+ logging.DEBUG
559
+ ): # pragma: NO COVER
560
+ request_url = "{host}{uri}".format(
561
+ host=self._host, uri=transcoded_request["uri"]
562
+ )
563
+ method = transcoded_request["method"]
564
+ try:
565
+ request_payload = type(request).to_json(request)
566
+ except:
567
+ request_payload = None
568
+ http_request = {
569
+ "payload": request_payload,
570
+ "requestMethod": method,
571
+ "requestUrl": request_url,
572
+ "headers": dict(metadata),
573
+ }
574
+ _LOGGER.debug(
575
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.CreateTemplate",
576
+ extra={
577
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
578
+ "rpcName": "CreateTemplate",
579
+ "httpRequest": http_request,
580
+ "metadata": http_request["headers"],
581
+ },
582
+ )
583
+
584
+ # Send the request
585
+ response = ModelArmorRestTransport._CreateTemplate._get_response(
586
+ self._host,
587
+ metadata,
588
+ query_params,
589
+ self._session,
590
+ timeout,
591
+ transcoded_request,
592
+ body,
593
+ )
594
+
595
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
596
+ # subclass.
597
+ if response.status_code >= 400:
598
+ raise core_exceptions.from_http_response(response)
599
+
600
+ # Return the response
601
+ resp = service.Template()
602
+ pb_resp = service.Template.pb(resp)
603
+
604
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
605
+
606
+ resp = self._interceptor.post_create_template(resp)
607
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
608
+ logging.DEBUG
609
+ ): # pragma: NO COVER
610
+ try:
611
+ response_payload = service.Template.to_json(response)
612
+ except:
613
+ response_payload = None
614
+ http_response = {
615
+ "payload": response_payload,
616
+ "headers": dict(response.headers),
617
+ "status": response.status_code,
618
+ }
619
+ _LOGGER.debug(
620
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.create_template",
621
+ extra={
622
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
623
+ "rpcName": "CreateTemplate",
624
+ "metadata": http_response["headers"],
625
+ "httpResponse": http_response,
626
+ },
627
+ )
628
+ return resp
629
+
630
+ class _DeleteTemplate(
631
+ _BaseModelArmorRestTransport._BaseDeleteTemplate, ModelArmorRestStub
632
+ ):
633
+ def __hash__(self):
634
+ return hash("ModelArmorRestTransport.DeleteTemplate")
635
+
636
+ @staticmethod
637
+ def _get_response(
638
+ host,
639
+ metadata,
640
+ query_params,
641
+ session,
642
+ timeout,
643
+ transcoded_request,
644
+ body=None,
645
+ ):
646
+ uri = transcoded_request["uri"]
647
+ method = transcoded_request["method"]
648
+ headers = dict(metadata)
649
+ headers["Content-Type"] = "application/json"
650
+ response = getattr(session, method)(
651
+ "{host}{uri}".format(host=host, uri=uri),
652
+ timeout=timeout,
653
+ headers=headers,
654
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
655
+ )
656
+ return response
657
+
658
+ def __call__(
659
+ self,
660
+ request: service.DeleteTemplateRequest,
661
+ *,
662
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
663
+ timeout: Optional[float] = None,
664
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
665
+ ):
666
+ r"""Call the delete template method over HTTP.
667
+
668
+ Args:
669
+ request (~.service.DeleteTemplateRequest):
670
+ The request object. Message for deleting a Template
671
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
672
+ should be retried.
673
+ timeout (float): The timeout for this request.
674
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
675
+ sent along with the request as metadata. Normally, each value must be of type `str`,
676
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
677
+ be of type `bytes`.
678
+ """
679
+
680
+ http_options = (
681
+ _BaseModelArmorRestTransport._BaseDeleteTemplate._get_http_options()
682
+ )
683
+
684
+ request, metadata = self._interceptor.pre_delete_template(request, metadata)
685
+ transcoded_request = _BaseModelArmorRestTransport._BaseDeleteTemplate._get_transcoded_request(
686
+ http_options, request
687
+ )
688
+
689
+ # Jsonify the query params
690
+ query_params = (
691
+ _BaseModelArmorRestTransport._BaseDeleteTemplate._get_query_params_json(
692
+ transcoded_request
693
+ )
694
+ )
695
+
696
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
697
+ logging.DEBUG
698
+ ): # pragma: NO COVER
699
+ request_url = "{host}{uri}".format(
700
+ host=self._host, uri=transcoded_request["uri"]
701
+ )
702
+ method = transcoded_request["method"]
703
+ try:
704
+ request_payload = json_format.MessageToJson(request)
705
+ except:
706
+ request_payload = None
707
+ http_request = {
708
+ "payload": request_payload,
709
+ "requestMethod": method,
710
+ "requestUrl": request_url,
711
+ "headers": dict(metadata),
712
+ }
713
+ _LOGGER.debug(
714
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.DeleteTemplate",
715
+ extra={
716
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
717
+ "rpcName": "DeleteTemplate",
718
+ "httpRequest": http_request,
719
+ "metadata": http_request["headers"],
720
+ },
721
+ )
722
+
723
+ # Send the request
724
+ response = ModelArmorRestTransport._DeleteTemplate._get_response(
725
+ self._host,
726
+ metadata,
727
+ query_params,
728
+ self._session,
729
+ timeout,
730
+ transcoded_request,
731
+ )
732
+
733
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
734
+ # subclass.
735
+ if response.status_code >= 400:
736
+ raise core_exceptions.from_http_response(response)
737
+
738
+ class _GetFloorSetting(
739
+ _BaseModelArmorRestTransport._BaseGetFloorSetting, ModelArmorRestStub
740
+ ):
741
+ def __hash__(self):
742
+ return hash("ModelArmorRestTransport.GetFloorSetting")
743
+
744
+ @staticmethod
745
+ def _get_response(
746
+ host,
747
+ metadata,
748
+ query_params,
749
+ session,
750
+ timeout,
751
+ transcoded_request,
752
+ body=None,
753
+ ):
754
+ uri = transcoded_request["uri"]
755
+ method = transcoded_request["method"]
756
+ headers = dict(metadata)
757
+ headers["Content-Type"] = "application/json"
758
+ response = getattr(session, method)(
759
+ "{host}{uri}".format(host=host, uri=uri),
760
+ timeout=timeout,
761
+ headers=headers,
762
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
763
+ )
764
+ return response
765
+
766
+ def __call__(
767
+ self,
768
+ request: service.GetFloorSettingRequest,
769
+ *,
770
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
771
+ timeout: Optional[float] = None,
772
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
773
+ ) -> service.FloorSetting:
774
+ r"""Call the get floor setting method over HTTP.
775
+
776
+ Args:
777
+ request (~.service.GetFloorSettingRequest):
778
+ The request object. Message for getting a Floor Setting
779
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
780
+ should be retried.
781
+ timeout (float): The timeout for this request.
782
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
783
+ sent along with the request as metadata. Normally, each value must be of type `str`,
784
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
785
+ be of type `bytes`.
786
+
787
+ Returns:
788
+ ~.service.FloorSetting:
789
+ Message describing FloorSetting
790
+ resource
791
+
792
+ """
793
+
794
+ http_options = (
795
+ _BaseModelArmorRestTransport._BaseGetFloorSetting._get_http_options()
796
+ )
797
+
798
+ request, metadata = self._interceptor.pre_get_floor_setting(
799
+ request, metadata
800
+ )
801
+ transcoded_request = _BaseModelArmorRestTransport._BaseGetFloorSetting._get_transcoded_request(
802
+ http_options, request
803
+ )
804
+
805
+ # Jsonify the query params
806
+ query_params = _BaseModelArmorRestTransport._BaseGetFloorSetting._get_query_params_json(
807
+ transcoded_request
808
+ )
809
+
810
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
811
+ logging.DEBUG
812
+ ): # pragma: NO COVER
813
+ request_url = "{host}{uri}".format(
814
+ host=self._host, uri=transcoded_request["uri"]
815
+ )
816
+ method = transcoded_request["method"]
817
+ try:
818
+ request_payload = type(request).to_json(request)
819
+ except:
820
+ request_payload = None
821
+ http_request = {
822
+ "payload": request_payload,
823
+ "requestMethod": method,
824
+ "requestUrl": request_url,
825
+ "headers": dict(metadata),
826
+ }
827
+ _LOGGER.debug(
828
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.GetFloorSetting",
829
+ extra={
830
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
831
+ "rpcName": "GetFloorSetting",
832
+ "httpRequest": http_request,
833
+ "metadata": http_request["headers"],
834
+ },
835
+ )
836
+
837
+ # Send the request
838
+ response = ModelArmorRestTransport._GetFloorSetting._get_response(
839
+ self._host,
840
+ metadata,
841
+ query_params,
842
+ self._session,
843
+ timeout,
844
+ transcoded_request,
845
+ )
846
+
847
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
848
+ # subclass.
849
+ if response.status_code >= 400:
850
+ raise core_exceptions.from_http_response(response)
851
+
852
+ # Return the response
853
+ resp = service.FloorSetting()
854
+ pb_resp = service.FloorSetting.pb(resp)
855
+
856
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
857
+
858
+ resp = self._interceptor.post_get_floor_setting(resp)
859
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
860
+ logging.DEBUG
861
+ ): # pragma: NO COVER
862
+ try:
863
+ response_payload = service.FloorSetting.to_json(response)
864
+ except:
865
+ response_payload = None
866
+ http_response = {
867
+ "payload": response_payload,
868
+ "headers": dict(response.headers),
869
+ "status": response.status_code,
870
+ }
871
+ _LOGGER.debug(
872
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.get_floor_setting",
873
+ extra={
874
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
875
+ "rpcName": "GetFloorSetting",
876
+ "metadata": http_response["headers"],
877
+ "httpResponse": http_response,
878
+ },
879
+ )
880
+ return resp
881
+
882
+ class _GetTemplate(
883
+ _BaseModelArmorRestTransport._BaseGetTemplate, ModelArmorRestStub
884
+ ):
885
+ def __hash__(self):
886
+ return hash("ModelArmorRestTransport.GetTemplate")
887
+
888
+ @staticmethod
889
+ def _get_response(
890
+ host,
891
+ metadata,
892
+ query_params,
893
+ session,
894
+ timeout,
895
+ transcoded_request,
896
+ body=None,
897
+ ):
898
+ uri = transcoded_request["uri"]
899
+ method = transcoded_request["method"]
900
+ headers = dict(metadata)
901
+ headers["Content-Type"] = "application/json"
902
+ response = getattr(session, method)(
903
+ "{host}{uri}".format(host=host, uri=uri),
904
+ timeout=timeout,
905
+ headers=headers,
906
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
907
+ )
908
+ return response
909
+
910
+ def __call__(
911
+ self,
912
+ request: service.GetTemplateRequest,
913
+ *,
914
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
915
+ timeout: Optional[float] = None,
916
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
917
+ ) -> service.Template:
918
+ r"""Call the get template method over HTTP.
919
+
920
+ Args:
921
+ request (~.service.GetTemplateRequest):
922
+ The request object. Message for getting a Template
923
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
924
+ should be retried.
925
+ timeout (float): The timeout for this request.
926
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
927
+ sent along with the request as metadata. Normally, each value must be of type `str`,
928
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
929
+ be of type `bytes`.
930
+
931
+ Returns:
932
+ ~.service.Template:
933
+ Message describing Template resource
934
+ """
935
+
936
+ http_options = (
937
+ _BaseModelArmorRestTransport._BaseGetTemplate._get_http_options()
938
+ )
939
+
940
+ request, metadata = self._interceptor.pre_get_template(request, metadata)
941
+ transcoded_request = (
942
+ _BaseModelArmorRestTransport._BaseGetTemplate._get_transcoded_request(
943
+ http_options, request
944
+ )
945
+ )
946
+
947
+ # Jsonify the query params
948
+ query_params = (
949
+ _BaseModelArmorRestTransport._BaseGetTemplate._get_query_params_json(
950
+ transcoded_request
951
+ )
952
+ )
953
+
954
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
955
+ logging.DEBUG
956
+ ): # pragma: NO COVER
957
+ request_url = "{host}{uri}".format(
958
+ host=self._host, uri=transcoded_request["uri"]
959
+ )
960
+ method = transcoded_request["method"]
961
+ try:
962
+ request_payload = type(request).to_json(request)
963
+ except:
964
+ request_payload = None
965
+ http_request = {
966
+ "payload": request_payload,
967
+ "requestMethod": method,
968
+ "requestUrl": request_url,
969
+ "headers": dict(metadata),
970
+ }
971
+ _LOGGER.debug(
972
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.GetTemplate",
973
+ extra={
974
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
975
+ "rpcName": "GetTemplate",
976
+ "httpRequest": http_request,
977
+ "metadata": http_request["headers"],
978
+ },
979
+ )
980
+
981
+ # Send the request
982
+ response = ModelArmorRestTransport._GetTemplate._get_response(
983
+ self._host,
984
+ metadata,
985
+ query_params,
986
+ self._session,
987
+ timeout,
988
+ transcoded_request,
989
+ )
990
+
991
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
992
+ # subclass.
993
+ if response.status_code >= 400:
994
+ raise core_exceptions.from_http_response(response)
995
+
996
+ # Return the response
997
+ resp = service.Template()
998
+ pb_resp = service.Template.pb(resp)
999
+
1000
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1001
+
1002
+ resp = self._interceptor.post_get_template(resp)
1003
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1004
+ logging.DEBUG
1005
+ ): # pragma: NO COVER
1006
+ try:
1007
+ response_payload = service.Template.to_json(response)
1008
+ except:
1009
+ response_payload = None
1010
+ http_response = {
1011
+ "payload": response_payload,
1012
+ "headers": dict(response.headers),
1013
+ "status": response.status_code,
1014
+ }
1015
+ _LOGGER.debug(
1016
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.get_template",
1017
+ extra={
1018
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1019
+ "rpcName": "GetTemplate",
1020
+ "metadata": http_response["headers"],
1021
+ "httpResponse": http_response,
1022
+ },
1023
+ )
1024
+ return resp
1025
+
1026
+ class _ListTemplates(
1027
+ _BaseModelArmorRestTransport._BaseListTemplates, ModelArmorRestStub
1028
+ ):
1029
+ def __hash__(self):
1030
+ return hash("ModelArmorRestTransport.ListTemplates")
1031
+
1032
+ @staticmethod
1033
+ def _get_response(
1034
+ host,
1035
+ metadata,
1036
+ query_params,
1037
+ session,
1038
+ timeout,
1039
+ transcoded_request,
1040
+ body=None,
1041
+ ):
1042
+ uri = transcoded_request["uri"]
1043
+ method = transcoded_request["method"]
1044
+ headers = dict(metadata)
1045
+ headers["Content-Type"] = "application/json"
1046
+ response = getattr(session, method)(
1047
+ "{host}{uri}".format(host=host, uri=uri),
1048
+ timeout=timeout,
1049
+ headers=headers,
1050
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1051
+ )
1052
+ return response
1053
+
1054
+ def __call__(
1055
+ self,
1056
+ request: service.ListTemplatesRequest,
1057
+ *,
1058
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1059
+ timeout: Optional[float] = None,
1060
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1061
+ ) -> service.ListTemplatesResponse:
1062
+ r"""Call the list templates method over HTTP.
1063
+
1064
+ Args:
1065
+ request (~.service.ListTemplatesRequest):
1066
+ The request object. Message for requesting list of
1067
+ Templates
1068
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1069
+ should be retried.
1070
+ timeout (float): The timeout for this request.
1071
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1072
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1073
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1074
+ be of type `bytes`.
1075
+
1076
+ Returns:
1077
+ ~.service.ListTemplatesResponse:
1078
+ Message for response to listing
1079
+ Templates
1080
+
1081
+ """
1082
+
1083
+ http_options = (
1084
+ _BaseModelArmorRestTransport._BaseListTemplates._get_http_options()
1085
+ )
1086
+
1087
+ request, metadata = self._interceptor.pre_list_templates(request, metadata)
1088
+ transcoded_request = (
1089
+ _BaseModelArmorRestTransport._BaseListTemplates._get_transcoded_request(
1090
+ http_options, request
1091
+ )
1092
+ )
1093
+
1094
+ # Jsonify the query params
1095
+ query_params = (
1096
+ _BaseModelArmorRestTransport._BaseListTemplates._get_query_params_json(
1097
+ transcoded_request
1098
+ )
1099
+ )
1100
+
1101
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1102
+ logging.DEBUG
1103
+ ): # pragma: NO COVER
1104
+ request_url = "{host}{uri}".format(
1105
+ host=self._host, uri=transcoded_request["uri"]
1106
+ )
1107
+ method = transcoded_request["method"]
1108
+ try:
1109
+ request_payload = type(request).to_json(request)
1110
+ except:
1111
+ request_payload = None
1112
+ http_request = {
1113
+ "payload": request_payload,
1114
+ "requestMethod": method,
1115
+ "requestUrl": request_url,
1116
+ "headers": dict(metadata),
1117
+ }
1118
+ _LOGGER.debug(
1119
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.ListTemplates",
1120
+ extra={
1121
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1122
+ "rpcName": "ListTemplates",
1123
+ "httpRequest": http_request,
1124
+ "metadata": http_request["headers"],
1125
+ },
1126
+ )
1127
+
1128
+ # Send the request
1129
+ response = ModelArmorRestTransport._ListTemplates._get_response(
1130
+ self._host,
1131
+ metadata,
1132
+ query_params,
1133
+ self._session,
1134
+ timeout,
1135
+ transcoded_request,
1136
+ )
1137
+
1138
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1139
+ # subclass.
1140
+ if response.status_code >= 400:
1141
+ raise core_exceptions.from_http_response(response)
1142
+
1143
+ # Return the response
1144
+ resp = service.ListTemplatesResponse()
1145
+ pb_resp = service.ListTemplatesResponse.pb(resp)
1146
+
1147
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1148
+
1149
+ resp = self._interceptor.post_list_templates(resp)
1150
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1151
+ logging.DEBUG
1152
+ ): # pragma: NO COVER
1153
+ try:
1154
+ response_payload = service.ListTemplatesResponse.to_json(response)
1155
+ except:
1156
+ response_payload = None
1157
+ http_response = {
1158
+ "payload": response_payload,
1159
+ "headers": dict(response.headers),
1160
+ "status": response.status_code,
1161
+ }
1162
+ _LOGGER.debug(
1163
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.list_templates",
1164
+ extra={
1165
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1166
+ "rpcName": "ListTemplates",
1167
+ "metadata": http_response["headers"],
1168
+ "httpResponse": http_response,
1169
+ },
1170
+ )
1171
+ return resp
1172
+
1173
+ class _SanitizeModelResponse(
1174
+ _BaseModelArmorRestTransport._BaseSanitizeModelResponse, ModelArmorRestStub
1175
+ ):
1176
+ def __hash__(self):
1177
+ return hash("ModelArmorRestTransport.SanitizeModelResponse")
1178
+
1179
+ @staticmethod
1180
+ def _get_response(
1181
+ host,
1182
+ metadata,
1183
+ query_params,
1184
+ session,
1185
+ timeout,
1186
+ transcoded_request,
1187
+ body=None,
1188
+ ):
1189
+ uri = transcoded_request["uri"]
1190
+ method = transcoded_request["method"]
1191
+ headers = dict(metadata)
1192
+ headers["Content-Type"] = "application/json"
1193
+ response = getattr(session, method)(
1194
+ "{host}{uri}".format(host=host, uri=uri),
1195
+ timeout=timeout,
1196
+ headers=headers,
1197
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1198
+ data=body,
1199
+ )
1200
+ return response
1201
+
1202
+ def __call__(
1203
+ self,
1204
+ request: service.SanitizeModelResponseRequest,
1205
+ *,
1206
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1207
+ timeout: Optional[float] = None,
1208
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1209
+ ) -> service.SanitizeModelResponseResponse:
1210
+ r"""Call the sanitize model response method over HTTP.
1211
+
1212
+ Args:
1213
+ request (~.service.SanitizeModelResponseRequest):
1214
+ The request object. Sanitize Model Response request.
1215
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1216
+ should be retried.
1217
+ timeout (float): The timeout for this request.
1218
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1219
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1220
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1221
+ be of type `bytes`.
1222
+
1223
+ Returns:
1224
+ ~.service.SanitizeModelResponseResponse:
1225
+ Sanitized Model Response Response.
1226
+ """
1227
+
1228
+ http_options = (
1229
+ _BaseModelArmorRestTransport._BaseSanitizeModelResponse._get_http_options()
1230
+ )
1231
+
1232
+ request, metadata = self._interceptor.pre_sanitize_model_response(
1233
+ request, metadata
1234
+ )
1235
+ transcoded_request = _BaseModelArmorRestTransport._BaseSanitizeModelResponse._get_transcoded_request(
1236
+ http_options, request
1237
+ )
1238
+
1239
+ body = _BaseModelArmorRestTransport._BaseSanitizeModelResponse._get_request_body_json(
1240
+ transcoded_request
1241
+ )
1242
+
1243
+ # Jsonify the query params
1244
+ query_params = _BaseModelArmorRestTransport._BaseSanitizeModelResponse._get_query_params_json(
1245
+ transcoded_request
1246
+ )
1247
+
1248
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1249
+ logging.DEBUG
1250
+ ): # pragma: NO COVER
1251
+ request_url = "{host}{uri}".format(
1252
+ host=self._host, uri=transcoded_request["uri"]
1253
+ )
1254
+ method = transcoded_request["method"]
1255
+ try:
1256
+ request_payload = type(request).to_json(request)
1257
+ except:
1258
+ request_payload = None
1259
+ http_request = {
1260
+ "payload": request_payload,
1261
+ "requestMethod": method,
1262
+ "requestUrl": request_url,
1263
+ "headers": dict(metadata),
1264
+ }
1265
+ _LOGGER.debug(
1266
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.SanitizeModelResponse",
1267
+ extra={
1268
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1269
+ "rpcName": "SanitizeModelResponse",
1270
+ "httpRequest": http_request,
1271
+ "metadata": http_request["headers"],
1272
+ },
1273
+ )
1274
+
1275
+ # Send the request
1276
+ response = ModelArmorRestTransport._SanitizeModelResponse._get_response(
1277
+ self._host,
1278
+ metadata,
1279
+ query_params,
1280
+ self._session,
1281
+ timeout,
1282
+ transcoded_request,
1283
+ body,
1284
+ )
1285
+
1286
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1287
+ # subclass.
1288
+ if response.status_code >= 400:
1289
+ raise core_exceptions.from_http_response(response)
1290
+
1291
+ # Return the response
1292
+ resp = service.SanitizeModelResponseResponse()
1293
+ pb_resp = service.SanitizeModelResponseResponse.pb(resp)
1294
+
1295
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1296
+
1297
+ resp = self._interceptor.post_sanitize_model_response(resp)
1298
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1299
+ logging.DEBUG
1300
+ ): # pragma: NO COVER
1301
+ try:
1302
+ response_payload = service.SanitizeModelResponseResponse.to_json(
1303
+ response
1304
+ )
1305
+ except:
1306
+ response_payload = None
1307
+ http_response = {
1308
+ "payload": response_payload,
1309
+ "headers": dict(response.headers),
1310
+ "status": response.status_code,
1311
+ }
1312
+ _LOGGER.debug(
1313
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.sanitize_model_response",
1314
+ extra={
1315
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1316
+ "rpcName": "SanitizeModelResponse",
1317
+ "metadata": http_response["headers"],
1318
+ "httpResponse": http_response,
1319
+ },
1320
+ )
1321
+ return resp
1322
+
1323
+ class _SanitizeUserPrompt(
1324
+ _BaseModelArmorRestTransport._BaseSanitizeUserPrompt, ModelArmorRestStub
1325
+ ):
1326
+ def __hash__(self):
1327
+ return hash("ModelArmorRestTransport.SanitizeUserPrompt")
1328
+
1329
+ @staticmethod
1330
+ def _get_response(
1331
+ host,
1332
+ metadata,
1333
+ query_params,
1334
+ session,
1335
+ timeout,
1336
+ transcoded_request,
1337
+ body=None,
1338
+ ):
1339
+ uri = transcoded_request["uri"]
1340
+ method = transcoded_request["method"]
1341
+ headers = dict(metadata)
1342
+ headers["Content-Type"] = "application/json"
1343
+ response = getattr(session, method)(
1344
+ "{host}{uri}".format(host=host, uri=uri),
1345
+ timeout=timeout,
1346
+ headers=headers,
1347
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1348
+ data=body,
1349
+ )
1350
+ return response
1351
+
1352
+ def __call__(
1353
+ self,
1354
+ request: service.SanitizeUserPromptRequest,
1355
+ *,
1356
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1357
+ timeout: Optional[float] = None,
1358
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1359
+ ) -> service.SanitizeUserPromptResponse:
1360
+ r"""Call the sanitize user prompt method over HTTP.
1361
+
1362
+ Args:
1363
+ request (~.service.SanitizeUserPromptRequest):
1364
+ The request object. Sanitize User Prompt request.
1365
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1366
+ should be retried.
1367
+ timeout (float): The timeout for this request.
1368
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1369
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1370
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1371
+ be of type `bytes`.
1372
+
1373
+ Returns:
1374
+ ~.service.SanitizeUserPromptResponse:
1375
+ Sanitized User Prompt Response.
1376
+ """
1377
+
1378
+ http_options = (
1379
+ _BaseModelArmorRestTransport._BaseSanitizeUserPrompt._get_http_options()
1380
+ )
1381
+
1382
+ request, metadata = self._interceptor.pre_sanitize_user_prompt(
1383
+ request, metadata
1384
+ )
1385
+ transcoded_request = _BaseModelArmorRestTransport._BaseSanitizeUserPrompt._get_transcoded_request(
1386
+ http_options, request
1387
+ )
1388
+
1389
+ body = _BaseModelArmorRestTransport._BaseSanitizeUserPrompt._get_request_body_json(
1390
+ transcoded_request
1391
+ )
1392
+
1393
+ # Jsonify the query params
1394
+ query_params = _BaseModelArmorRestTransport._BaseSanitizeUserPrompt._get_query_params_json(
1395
+ transcoded_request
1396
+ )
1397
+
1398
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1399
+ logging.DEBUG
1400
+ ): # pragma: NO COVER
1401
+ request_url = "{host}{uri}".format(
1402
+ host=self._host, uri=transcoded_request["uri"]
1403
+ )
1404
+ method = transcoded_request["method"]
1405
+ try:
1406
+ request_payload = type(request).to_json(request)
1407
+ except:
1408
+ request_payload = None
1409
+ http_request = {
1410
+ "payload": request_payload,
1411
+ "requestMethod": method,
1412
+ "requestUrl": request_url,
1413
+ "headers": dict(metadata),
1414
+ }
1415
+ _LOGGER.debug(
1416
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.SanitizeUserPrompt",
1417
+ extra={
1418
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1419
+ "rpcName": "SanitizeUserPrompt",
1420
+ "httpRequest": http_request,
1421
+ "metadata": http_request["headers"],
1422
+ },
1423
+ )
1424
+
1425
+ # Send the request
1426
+ response = ModelArmorRestTransport._SanitizeUserPrompt._get_response(
1427
+ self._host,
1428
+ metadata,
1429
+ query_params,
1430
+ self._session,
1431
+ timeout,
1432
+ transcoded_request,
1433
+ body,
1434
+ )
1435
+
1436
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1437
+ # subclass.
1438
+ if response.status_code >= 400:
1439
+ raise core_exceptions.from_http_response(response)
1440
+
1441
+ # Return the response
1442
+ resp = service.SanitizeUserPromptResponse()
1443
+ pb_resp = service.SanitizeUserPromptResponse.pb(resp)
1444
+
1445
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1446
+
1447
+ resp = self._interceptor.post_sanitize_user_prompt(resp)
1448
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1449
+ logging.DEBUG
1450
+ ): # pragma: NO COVER
1451
+ try:
1452
+ response_payload = service.SanitizeUserPromptResponse.to_json(
1453
+ response
1454
+ )
1455
+ except:
1456
+ response_payload = None
1457
+ http_response = {
1458
+ "payload": response_payload,
1459
+ "headers": dict(response.headers),
1460
+ "status": response.status_code,
1461
+ }
1462
+ _LOGGER.debug(
1463
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.sanitize_user_prompt",
1464
+ extra={
1465
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1466
+ "rpcName": "SanitizeUserPrompt",
1467
+ "metadata": http_response["headers"],
1468
+ "httpResponse": http_response,
1469
+ },
1470
+ )
1471
+ return resp
1472
+
1473
+ class _UpdateFloorSetting(
1474
+ _BaseModelArmorRestTransport._BaseUpdateFloorSetting, ModelArmorRestStub
1475
+ ):
1476
+ def __hash__(self):
1477
+ return hash("ModelArmorRestTransport.UpdateFloorSetting")
1478
+
1479
+ @staticmethod
1480
+ def _get_response(
1481
+ host,
1482
+ metadata,
1483
+ query_params,
1484
+ session,
1485
+ timeout,
1486
+ transcoded_request,
1487
+ body=None,
1488
+ ):
1489
+ uri = transcoded_request["uri"]
1490
+ method = transcoded_request["method"]
1491
+ headers = dict(metadata)
1492
+ headers["Content-Type"] = "application/json"
1493
+ response = getattr(session, method)(
1494
+ "{host}{uri}".format(host=host, uri=uri),
1495
+ timeout=timeout,
1496
+ headers=headers,
1497
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1498
+ data=body,
1499
+ )
1500
+ return response
1501
+
1502
+ def __call__(
1503
+ self,
1504
+ request: service.UpdateFloorSettingRequest,
1505
+ *,
1506
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1507
+ timeout: Optional[float] = None,
1508
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1509
+ ) -> service.FloorSetting:
1510
+ r"""Call the update floor setting method over HTTP.
1511
+
1512
+ Args:
1513
+ request (~.service.UpdateFloorSettingRequest):
1514
+ The request object. Message for Updating a Floor Setting
1515
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1516
+ should be retried.
1517
+ timeout (float): The timeout for this request.
1518
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1519
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1520
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1521
+ be of type `bytes`.
1522
+
1523
+ Returns:
1524
+ ~.service.FloorSetting:
1525
+ Message describing FloorSetting
1526
+ resource
1527
+
1528
+ """
1529
+
1530
+ http_options = (
1531
+ _BaseModelArmorRestTransport._BaseUpdateFloorSetting._get_http_options()
1532
+ )
1533
+
1534
+ request, metadata = self._interceptor.pre_update_floor_setting(
1535
+ request, metadata
1536
+ )
1537
+ transcoded_request = _BaseModelArmorRestTransport._BaseUpdateFloorSetting._get_transcoded_request(
1538
+ http_options, request
1539
+ )
1540
+
1541
+ body = _BaseModelArmorRestTransport._BaseUpdateFloorSetting._get_request_body_json(
1542
+ transcoded_request
1543
+ )
1544
+
1545
+ # Jsonify the query params
1546
+ query_params = _BaseModelArmorRestTransport._BaseUpdateFloorSetting._get_query_params_json(
1547
+ transcoded_request
1548
+ )
1549
+
1550
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1551
+ logging.DEBUG
1552
+ ): # pragma: NO COVER
1553
+ request_url = "{host}{uri}".format(
1554
+ host=self._host, uri=transcoded_request["uri"]
1555
+ )
1556
+ method = transcoded_request["method"]
1557
+ try:
1558
+ request_payload = type(request).to_json(request)
1559
+ except:
1560
+ request_payload = None
1561
+ http_request = {
1562
+ "payload": request_payload,
1563
+ "requestMethod": method,
1564
+ "requestUrl": request_url,
1565
+ "headers": dict(metadata),
1566
+ }
1567
+ _LOGGER.debug(
1568
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.UpdateFloorSetting",
1569
+ extra={
1570
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1571
+ "rpcName": "UpdateFloorSetting",
1572
+ "httpRequest": http_request,
1573
+ "metadata": http_request["headers"],
1574
+ },
1575
+ )
1576
+
1577
+ # Send the request
1578
+ response = ModelArmorRestTransport._UpdateFloorSetting._get_response(
1579
+ self._host,
1580
+ metadata,
1581
+ query_params,
1582
+ self._session,
1583
+ timeout,
1584
+ transcoded_request,
1585
+ body,
1586
+ )
1587
+
1588
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1589
+ # subclass.
1590
+ if response.status_code >= 400:
1591
+ raise core_exceptions.from_http_response(response)
1592
+
1593
+ # Return the response
1594
+ resp = service.FloorSetting()
1595
+ pb_resp = service.FloorSetting.pb(resp)
1596
+
1597
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1598
+
1599
+ resp = self._interceptor.post_update_floor_setting(resp)
1600
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1601
+ logging.DEBUG
1602
+ ): # pragma: NO COVER
1603
+ try:
1604
+ response_payload = service.FloorSetting.to_json(response)
1605
+ except:
1606
+ response_payload = None
1607
+ http_response = {
1608
+ "payload": response_payload,
1609
+ "headers": dict(response.headers),
1610
+ "status": response.status_code,
1611
+ }
1612
+ _LOGGER.debug(
1613
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.update_floor_setting",
1614
+ extra={
1615
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1616
+ "rpcName": "UpdateFloorSetting",
1617
+ "metadata": http_response["headers"],
1618
+ "httpResponse": http_response,
1619
+ },
1620
+ )
1621
+ return resp
1622
+
1623
+ class _UpdateTemplate(
1624
+ _BaseModelArmorRestTransport._BaseUpdateTemplate, ModelArmorRestStub
1625
+ ):
1626
+ def __hash__(self):
1627
+ return hash("ModelArmorRestTransport.UpdateTemplate")
1628
+
1629
+ @staticmethod
1630
+ def _get_response(
1631
+ host,
1632
+ metadata,
1633
+ query_params,
1634
+ session,
1635
+ timeout,
1636
+ transcoded_request,
1637
+ body=None,
1638
+ ):
1639
+ uri = transcoded_request["uri"]
1640
+ method = transcoded_request["method"]
1641
+ headers = dict(metadata)
1642
+ headers["Content-Type"] = "application/json"
1643
+ response = getattr(session, method)(
1644
+ "{host}{uri}".format(host=host, uri=uri),
1645
+ timeout=timeout,
1646
+ headers=headers,
1647
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1648
+ data=body,
1649
+ )
1650
+ return response
1651
+
1652
+ def __call__(
1653
+ self,
1654
+ request: service.UpdateTemplateRequest,
1655
+ *,
1656
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1657
+ timeout: Optional[float] = None,
1658
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1659
+ ) -> service.Template:
1660
+ r"""Call the update template method over HTTP.
1661
+
1662
+ Args:
1663
+ request (~.service.UpdateTemplateRequest):
1664
+ The request object. Message for updating a Template
1665
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1666
+ should be retried.
1667
+ timeout (float): The timeout for this request.
1668
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1669
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1670
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1671
+ be of type `bytes`.
1672
+
1673
+ Returns:
1674
+ ~.service.Template:
1675
+ Message describing Template resource
1676
+ """
1677
+
1678
+ http_options = (
1679
+ _BaseModelArmorRestTransport._BaseUpdateTemplate._get_http_options()
1680
+ )
1681
+
1682
+ request, metadata = self._interceptor.pre_update_template(request, metadata)
1683
+ transcoded_request = _BaseModelArmorRestTransport._BaseUpdateTemplate._get_transcoded_request(
1684
+ http_options, request
1685
+ )
1686
+
1687
+ body = (
1688
+ _BaseModelArmorRestTransport._BaseUpdateTemplate._get_request_body_json(
1689
+ transcoded_request
1690
+ )
1691
+ )
1692
+
1693
+ # Jsonify the query params
1694
+ query_params = (
1695
+ _BaseModelArmorRestTransport._BaseUpdateTemplate._get_query_params_json(
1696
+ transcoded_request
1697
+ )
1698
+ )
1699
+
1700
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1701
+ logging.DEBUG
1702
+ ): # pragma: NO COVER
1703
+ request_url = "{host}{uri}".format(
1704
+ host=self._host, uri=transcoded_request["uri"]
1705
+ )
1706
+ method = transcoded_request["method"]
1707
+ try:
1708
+ request_payload = type(request).to_json(request)
1709
+ except:
1710
+ request_payload = None
1711
+ http_request = {
1712
+ "payload": request_payload,
1713
+ "requestMethod": method,
1714
+ "requestUrl": request_url,
1715
+ "headers": dict(metadata),
1716
+ }
1717
+ _LOGGER.debug(
1718
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.UpdateTemplate",
1719
+ extra={
1720
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1721
+ "rpcName": "UpdateTemplate",
1722
+ "httpRequest": http_request,
1723
+ "metadata": http_request["headers"],
1724
+ },
1725
+ )
1726
+
1727
+ # Send the request
1728
+ response = ModelArmorRestTransport._UpdateTemplate._get_response(
1729
+ self._host,
1730
+ metadata,
1731
+ query_params,
1732
+ self._session,
1733
+ timeout,
1734
+ transcoded_request,
1735
+ body,
1736
+ )
1737
+
1738
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1739
+ # subclass.
1740
+ if response.status_code >= 400:
1741
+ raise core_exceptions.from_http_response(response)
1742
+
1743
+ # Return the response
1744
+ resp = service.Template()
1745
+ pb_resp = service.Template.pb(resp)
1746
+
1747
+ json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True)
1748
+
1749
+ resp = self._interceptor.post_update_template(resp)
1750
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1751
+ logging.DEBUG
1752
+ ): # pragma: NO COVER
1753
+ try:
1754
+ response_payload = service.Template.to_json(response)
1755
+ except:
1756
+ response_payload = None
1757
+ http_response = {
1758
+ "payload": response_payload,
1759
+ "headers": dict(response.headers),
1760
+ "status": response.status_code,
1761
+ }
1762
+ _LOGGER.debug(
1763
+ "Received response for google.cloud.modelarmor_v1.ModelArmorClient.update_template",
1764
+ extra={
1765
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1766
+ "rpcName": "UpdateTemplate",
1767
+ "metadata": http_response["headers"],
1768
+ "httpResponse": http_response,
1769
+ },
1770
+ )
1771
+ return resp
1772
+
1773
+ @property
1774
+ def create_template(
1775
+ self,
1776
+ ) -> Callable[[service.CreateTemplateRequest], service.Template]:
1777
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1778
+ # In C++ this would require a dynamic_cast
1779
+ return self._CreateTemplate(self._session, self._host, self._interceptor) # type: ignore
1780
+
1781
+ @property
1782
+ def delete_template(
1783
+ self,
1784
+ ) -> Callable[[service.DeleteTemplateRequest], empty_pb2.Empty]:
1785
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1786
+ # In C++ this would require a dynamic_cast
1787
+ return self._DeleteTemplate(self._session, self._host, self._interceptor) # type: ignore
1788
+
1789
+ @property
1790
+ def get_floor_setting(
1791
+ self,
1792
+ ) -> Callable[[service.GetFloorSettingRequest], service.FloorSetting]:
1793
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1794
+ # In C++ this would require a dynamic_cast
1795
+ return self._GetFloorSetting(self._session, self._host, self._interceptor) # type: ignore
1796
+
1797
+ @property
1798
+ def get_template(self) -> Callable[[service.GetTemplateRequest], service.Template]:
1799
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1800
+ # In C++ this would require a dynamic_cast
1801
+ return self._GetTemplate(self._session, self._host, self._interceptor) # type: ignore
1802
+
1803
+ @property
1804
+ def list_templates(
1805
+ self,
1806
+ ) -> Callable[[service.ListTemplatesRequest], service.ListTemplatesResponse]:
1807
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1808
+ # In C++ this would require a dynamic_cast
1809
+ return self._ListTemplates(self._session, self._host, self._interceptor) # type: ignore
1810
+
1811
+ @property
1812
+ def sanitize_model_response(
1813
+ self,
1814
+ ) -> Callable[
1815
+ [service.SanitizeModelResponseRequest], service.SanitizeModelResponseResponse
1816
+ ]:
1817
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1818
+ # In C++ this would require a dynamic_cast
1819
+ return self._SanitizeModelResponse(self._session, self._host, self._interceptor) # type: ignore
1820
+
1821
+ @property
1822
+ def sanitize_user_prompt(
1823
+ self,
1824
+ ) -> Callable[
1825
+ [service.SanitizeUserPromptRequest], service.SanitizeUserPromptResponse
1826
+ ]:
1827
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1828
+ # In C++ this would require a dynamic_cast
1829
+ return self._SanitizeUserPrompt(self._session, self._host, self._interceptor) # type: ignore
1830
+
1831
+ @property
1832
+ def update_floor_setting(
1833
+ self,
1834
+ ) -> Callable[[service.UpdateFloorSettingRequest], service.FloorSetting]:
1835
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1836
+ # In C++ this would require a dynamic_cast
1837
+ return self._UpdateFloorSetting(self._session, self._host, self._interceptor) # type: ignore
1838
+
1839
+ @property
1840
+ def update_template(
1841
+ self,
1842
+ ) -> Callable[[service.UpdateTemplateRequest], service.Template]:
1843
+ # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here.
1844
+ # In C++ this would require a dynamic_cast
1845
+ return self._UpdateTemplate(self._session, self._host, self._interceptor) # type: ignore
1846
+
1847
+ @property
1848
+ def get_location(self):
1849
+ return self._GetLocation(self._session, self._host, self._interceptor) # type: ignore
1850
+
1851
+ class _GetLocation(
1852
+ _BaseModelArmorRestTransport._BaseGetLocation, ModelArmorRestStub
1853
+ ):
1854
+ def __hash__(self):
1855
+ return hash("ModelArmorRestTransport.GetLocation")
1856
+
1857
+ @staticmethod
1858
+ def _get_response(
1859
+ host,
1860
+ metadata,
1861
+ query_params,
1862
+ session,
1863
+ timeout,
1864
+ transcoded_request,
1865
+ body=None,
1866
+ ):
1867
+ uri = transcoded_request["uri"]
1868
+ method = transcoded_request["method"]
1869
+ headers = dict(metadata)
1870
+ headers["Content-Type"] = "application/json"
1871
+ response = getattr(session, method)(
1872
+ "{host}{uri}".format(host=host, uri=uri),
1873
+ timeout=timeout,
1874
+ headers=headers,
1875
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
1876
+ )
1877
+ return response
1878
+
1879
+ def __call__(
1880
+ self,
1881
+ request: locations_pb2.GetLocationRequest,
1882
+ *,
1883
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
1884
+ timeout: Optional[float] = None,
1885
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
1886
+ ) -> locations_pb2.Location:
1887
+ r"""Call the get location method over HTTP.
1888
+
1889
+ Args:
1890
+ request (locations_pb2.GetLocationRequest):
1891
+ The request object for GetLocation method.
1892
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
1893
+ should be retried.
1894
+ timeout (float): The timeout for this request.
1895
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
1896
+ sent along with the request as metadata. Normally, each value must be of type `str`,
1897
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
1898
+ be of type `bytes`.
1899
+
1900
+ Returns:
1901
+ locations_pb2.Location: Response from GetLocation method.
1902
+ """
1903
+
1904
+ http_options = (
1905
+ _BaseModelArmorRestTransport._BaseGetLocation._get_http_options()
1906
+ )
1907
+
1908
+ request, metadata = self._interceptor.pre_get_location(request, metadata)
1909
+ transcoded_request = (
1910
+ _BaseModelArmorRestTransport._BaseGetLocation._get_transcoded_request(
1911
+ http_options, request
1912
+ )
1913
+ )
1914
+
1915
+ # Jsonify the query params
1916
+ query_params = (
1917
+ _BaseModelArmorRestTransport._BaseGetLocation._get_query_params_json(
1918
+ transcoded_request
1919
+ )
1920
+ )
1921
+
1922
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1923
+ logging.DEBUG
1924
+ ): # pragma: NO COVER
1925
+ request_url = "{host}{uri}".format(
1926
+ host=self._host, uri=transcoded_request["uri"]
1927
+ )
1928
+ method = transcoded_request["method"]
1929
+ try:
1930
+ request_payload = json_format.MessageToJson(request)
1931
+ except:
1932
+ request_payload = None
1933
+ http_request = {
1934
+ "payload": request_payload,
1935
+ "requestMethod": method,
1936
+ "requestUrl": request_url,
1937
+ "headers": dict(metadata),
1938
+ }
1939
+ _LOGGER.debug(
1940
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.GetLocation",
1941
+ extra={
1942
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1943
+ "rpcName": "GetLocation",
1944
+ "httpRequest": http_request,
1945
+ "metadata": http_request["headers"],
1946
+ },
1947
+ )
1948
+
1949
+ # Send the request
1950
+ response = ModelArmorRestTransport._GetLocation._get_response(
1951
+ self._host,
1952
+ metadata,
1953
+ query_params,
1954
+ self._session,
1955
+ timeout,
1956
+ transcoded_request,
1957
+ )
1958
+
1959
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
1960
+ # subclass.
1961
+ if response.status_code >= 400:
1962
+ raise core_exceptions.from_http_response(response)
1963
+
1964
+ content = response.content.decode("utf-8")
1965
+ resp = locations_pb2.Location()
1966
+ resp = json_format.Parse(content, resp)
1967
+ resp = self._interceptor.post_get_location(resp)
1968
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
1969
+ logging.DEBUG
1970
+ ): # pragma: NO COVER
1971
+ try:
1972
+ response_payload = json_format.MessageToJson(resp)
1973
+ except:
1974
+ response_payload = None
1975
+ http_response = {
1976
+ "payload": response_payload,
1977
+ "headers": dict(response.headers),
1978
+ "status": response.status_code,
1979
+ }
1980
+ _LOGGER.debug(
1981
+ "Received response for google.cloud.modelarmor_v1.ModelArmorAsyncClient.GetLocation",
1982
+ extra={
1983
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
1984
+ "rpcName": "GetLocation",
1985
+ "httpResponse": http_response,
1986
+ "metadata": http_response["headers"],
1987
+ },
1988
+ )
1989
+ return resp
1990
+
1991
+ @property
1992
+ def list_locations(self):
1993
+ return self._ListLocations(self._session, self._host, self._interceptor) # type: ignore
1994
+
1995
+ class _ListLocations(
1996
+ _BaseModelArmorRestTransport._BaseListLocations, ModelArmorRestStub
1997
+ ):
1998
+ def __hash__(self):
1999
+ return hash("ModelArmorRestTransport.ListLocations")
2000
+
2001
+ @staticmethod
2002
+ def _get_response(
2003
+ host,
2004
+ metadata,
2005
+ query_params,
2006
+ session,
2007
+ timeout,
2008
+ transcoded_request,
2009
+ body=None,
2010
+ ):
2011
+ uri = transcoded_request["uri"]
2012
+ method = transcoded_request["method"]
2013
+ headers = dict(metadata)
2014
+ headers["Content-Type"] = "application/json"
2015
+ response = getattr(session, method)(
2016
+ "{host}{uri}".format(host=host, uri=uri),
2017
+ timeout=timeout,
2018
+ headers=headers,
2019
+ params=rest_helpers.flatten_query_params(query_params, strict=True),
2020
+ )
2021
+ return response
2022
+
2023
+ def __call__(
2024
+ self,
2025
+ request: locations_pb2.ListLocationsRequest,
2026
+ *,
2027
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
2028
+ timeout: Optional[float] = None,
2029
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = (),
2030
+ ) -> locations_pb2.ListLocationsResponse:
2031
+ r"""Call the list locations method over HTTP.
2032
+
2033
+ Args:
2034
+ request (locations_pb2.ListLocationsRequest):
2035
+ The request object for ListLocations method.
2036
+ retry (google.api_core.retry.Retry): Designation of what errors, if any,
2037
+ should be retried.
2038
+ timeout (float): The timeout for this request.
2039
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
2040
+ sent along with the request as metadata. Normally, each value must be of type `str`,
2041
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
2042
+ be of type `bytes`.
2043
+
2044
+ Returns:
2045
+ locations_pb2.ListLocationsResponse: Response from ListLocations method.
2046
+ """
2047
+
2048
+ http_options = (
2049
+ _BaseModelArmorRestTransport._BaseListLocations._get_http_options()
2050
+ )
2051
+
2052
+ request, metadata = self._interceptor.pre_list_locations(request, metadata)
2053
+ transcoded_request = (
2054
+ _BaseModelArmorRestTransport._BaseListLocations._get_transcoded_request(
2055
+ http_options, request
2056
+ )
2057
+ )
2058
+
2059
+ # Jsonify the query params
2060
+ query_params = (
2061
+ _BaseModelArmorRestTransport._BaseListLocations._get_query_params_json(
2062
+ transcoded_request
2063
+ )
2064
+ )
2065
+
2066
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
2067
+ logging.DEBUG
2068
+ ): # pragma: NO COVER
2069
+ request_url = "{host}{uri}".format(
2070
+ host=self._host, uri=transcoded_request["uri"]
2071
+ )
2072
+ method = transcoded_request["method"]
2073
+ try:
2074
+ request_payload = json_format.MessageToJson(request)
2075
+ except:
2076
+ request_payload = None
2077
+ http_request = {
2078
+ "payload": request_payload,
2079
+ "requestMethod": method,
2080
+ "requestUrl": request_url,
2081
+ "headers": dict(metadata),
2082
+ }
2083
+ _LOGGER.debug(
2084
+ f"Sending request for google.cloud.modelarmor_v1.ModelArmorClient.ListLocations",
2085
+ extra={
2086
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
2087
+ "rpcName": "ListLocations",
2088
+ "httpRequest": http_request,
2089
+ "metadata": http_request["headers"],
2090
+ },
2091
+ )
2092
+
2093
+ # Send the request
2094
+ response = ModelArmorRestTransport._ListLocations._get_response(
2095
+ self._host,
2096
+ metadata,
2097
+ query_params,
2098
+ self._session,
2099
+ timeout,
2100
+ transcoded_request,
2101
+ )
2102
+
2103
+ # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception
2104
+ # subclass.
2105
+ if response.status_code >= 400:
2106
+ raise core_exceptions.from_http_response(response)
2107
+
2108
+ content = response.content.decode("utf-8")
2109
+ resp = locations_pb2.ListLocationsResponse()
2110
+ resp = json_format.Parse(content, resp)
2111
+ resp = self._interceptor.post_list_locations(resp)
2112
+ if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(
2113
+ logging.DEBUG
2114
+ ): # pragma: NO COVER
2115
+ try:
2116
+ response_payload = json_format.MessageToJson(resp)
2117
+ except:
2118
+ response_payload = None
2119
+ http_response = {
2120
+ "payload": response_payload,
2121
+ "headers": dict(response.headers),
2122
+ "status": response.status_code,
2123
+ }
2124
+ _LOGGER.debug(
2125
+ "Received response for google.cloud.modelarmor_v1.ModelArmorAsyncClient.ListLocations",
2126
+ extra={
2127
+ "serviceName": "google.cloud.modelarmor.v1.ModelArmor",
2128
+ "rpcName": "ListLocations",
2129
+ "httpResponse": http_response,
2130
+ "metadata": http_response["headers"],
2131
+ },
2132
+ )
2133
+ return resp
2134
+
2135
+ @property
2136
+ def kind(self) -> str:
2137
+ return "rest"
2138
+
2139
+ def close(self):
2140
+ self._session.close()
2141
+
2142
+
2143
+ __all__ = ("ModelArmorRestTransport",)