google-cloud-modelarmor 0.2.6__tar.gz → 0.2.7__tar.gz

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 (56) hide show
  1. {google_cloud_modelarmor-0.2.6/google_cloud_modelarmor.egg-info → google_cloud_modelarmor-0.2.7}/PKG-INFO +1 -1
  2. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor/__init__.py +2 -0
  3. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor/gapic_version.py +1 -1
  4. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/__init__.py +2 -0
  5. {google_cloud_modelarmor-0.2.6/google/cloud/modelarmor_v1beta → google_cloud_modelarmor-0.2.7/google/cloud/modelarmor_v1}/gapic_version.py +1 -1
  6. {google_cloud_modelarmor-0.2.6/google/cloud/modelarmor_v1beta → google_cloud_modelarmor-0.2.7/google/cloud/modelarmor_v1}/types/__init__.py +2 -0
  7. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/types/service.py +111 -0
  8. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/__init__.py +2 -0
  9. {google_cloud_modelarmor-0.2.6/google/cloud/modelarmor_v1 → google_cloud_modelarmor-0.2.7/google/cloud/modelarmor_v1beta}/gapic_version.py +1 -1
  10. {google_cloud_modelarmor-0.2.6/google/cloud/modelarmor_v1 → google_cloud_modelarmor-0.2.7/google/cloud/modelarmor_v1beta}/types/__init__.py +2 -0
  11. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/types/service.py +111 -0
  12. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7/google_cloud_modelarmor.egg-info}/PKG-INFO +1 -1
  13. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/gapic/modelarmor_v1/test_model_armor.py +43 -0
  14. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/gapic/modelarmor_v1beta/test_model_armor.py +43 -0
  15. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/LICENSE +0 -0
  16. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/MANIFEST.in +0 -0
  17. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/README.rst +0 -0
  18. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor/py.typed +0 -0
  19. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/gapic_metadata.json +0 -0
  20. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/py.typed +0 -0
  21. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/__init__.py +0 -0
  22. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/__init__.py +0 -0
  23. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/async_client.py +0 -0
  24. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/client.py +0 -0
  25. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/pagers.py +0 -0
  26. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/__init__.py +0 -0
  27. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/base.py +0 -0
  28. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/grpc.py +0 -0
  29. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/grpc_asyncio.py +0 -0
  30. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/rest.py +0 -0
  31. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1/services/model_armor/transports/rest_base.py +0 -0
  32. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/gapic_metadata.json +0 -0
  33. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/py.typed +0 -0
  34. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/__init__.py +0 -0
  35. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/__init__.py +0 -0
  36. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/async_client.py +0 -0
  37. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/client.py +0 -0
  38. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/pagers.py +0 -0
  39. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/__init__.py +0 -0
  40. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/base.py +0 -0
  41. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/grpc.py +0 -0
  42. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/grpc_asyncio.py +0 -0
  43. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/rest.py +0 -0
  44. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google/cloud/modelarmor_v1beta/services/model_armor/transports/rest_base.py +0 -0
  45. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google_cloud_modelarmor.egg-info/SOURCES.txt +0 -0
  46. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google_cloud_modelarmor.egg-info/dependency_links.txt +0 -0
  47. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google_cloud_modelarmor.egg-info/not-zip-safe +0 -0
  48. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google_cloud_modelarmor.egg-info/requires.txt +0 -0
  49. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/google_cloud_modelarmor.egg-info/top_level.txt +0 -0
  50. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/setup.cfg +0 -0
  51. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/setup.py +0 -0
  52. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/__init__.py +0 -0
  53. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/__init__.py +0 -0
  54. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/gapic/__init__.py +0 -0
  55. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/gapic/modelarmor_v1/__init__.py +0 -0
  56. {google_cloud_modelarmor-0.2.6 → google_cloud_modelarmor-0.2.7}/tests/unit/gapic/modelarmor_v1beta/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-modelarmor
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: Google Cloud Modelarmor API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-modelarmor
6
6
  Author: Google LLC
@@ -23,6 +23,7 @@ from google.cloud.modelarmor_v1.services.model_armor.async_client import (
23
23
  )
24
24
  from google.cloud.modelarmor_v1.services.model_armor.client import ModelArmorClient
25
25
  from google.cloud.modelarmor_v1.types.service import (
26
+ AiPlatformFloorSetting,
26
27
  ByteDataItem,
27
28
  CreateTemplateRequest,
28
29
  CsamFilterResult,
@@ -72,6 +73,7 @@ from google.cloud.modelarmor_v1.types.service import (
72
73
  __all__ = (
73
74
  "ModelArmorClient",
74
75
  "ModelArmorAsyncClient",
76
+ "AiPlatformFloorSetting",
75
77
  "ByteDataItem",
76
78
  "CreateTemplateRequest",
77
79
  "CsamFilterResult",
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "0.2.6" # {x-release-please-version}
16
+ __version__ = "0.2.7" # {x-release-please-version}
@@ -20,6 +20,7 @@ __version__ = package_version.__version__
20
20
 
21
21
  from .services.model_armor import ModelArmorAsyncClient, ModelArmorClient
22
22
  from .types.service import (
23
+ AiPlatformFloorSetting,
23
24
  ByteDataItem,
24
25
  CreateTemplateRequest,
25
26
  CsamFilterResult,
@@ -68,6 +69,7 @@ from .types.service import (
68
69
 
69
70
  __all__ = (
70
71
  "ModelArmorAsyncClient",
72
+ "AiPlatformFloorSetting",
71
73
  "ByteDataItem",
72
74
  "CreateTemplateRequest",
73
75
  "CsamFilterResult",
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "0.2.6" # {x-release-please-version}
16
+ __version__ = "0.2.7" # {x-release-please-version}
@@ -14,6 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  from .service import (
17
+ AiPlatformFloorSetting,
17
18
  ByteDataItem,
18
19
  CreateTemplateRequest,
19
20
  CsamFilterResult,
@@ -61,6 +62,7 @@ from .service import (
61
62
  )
62
63
 
63
64
  __all__ = (
65
+ "AiPlatformFloorSetting",
64
66
  "ByteDataItem",
65
67
  "CreateTemplateRequest",
66
68
  "CsamFilterResult",
@@ -32,6 +32,7 @@ __protobuf__ = proto.module(
32
32
  "InvocationResult",
33
33
  "Template",
34
34
  "FloorSetting",
35
+ "AiPlatformFloorSetting",
35
36
  "ListTemplatesRequest",
36
37
  "ListTemplatesResponse",
37
38
  "GetTemplateRequest",
@@ -246,11 +247,32 @@ class Template(proto.Message):
246
247
  operations.
247
248
  log_sanitize_operations (bool):
248
249
  Optional. If true, log sanitize operations.
250
+ enforcement_type (google.cloud.modelarmor_v1.types.Template.TemplateMetadata.EnforcementType):
251
+ Optional. Enforcement type for Model Armor
252
+ filters.
249
253
  multi_language_detection (google.cloud.modelarmor_v1.types.Template.TemplateMetadata.MultiLanguageDetection):
250
254
  Optional. Metadata for multi language
251
255
  detection.
252
256
  """
253
257
 
258
+ class EnforcementType(proto.Enum):
259
+ r"""Enforcement type for Model Armor filters.
260
+
261
+ Values:
262
+ ENFORCEMENT_TYPE_UNSPECIFIED (0):
263
+ Default value. Same as INSPECT_AND_BLOCK.
264
+ INSPECT_ONLY (1):
265
+ Model Armor filters will run in inspect only
266
+ mode. No action will be taken on the request.
267
+ INSPECT_AND_BLOCK (2):
268
+ Model Armor filters will run in inspect and
269
+ block mode. Requests that trip Model Armor
270
+ filters will be blocked.
271
+ """
272
+ ENFORCEMENT_TYPE_UNSPECIFIED = 0
273
+ INSPECT_ONLY = 1
274
+ INSPECT_AND_BLOCK = 2
275
+
254
276
  class MultiLanguageDetection(proto.Message):
255
277
  r"""Metadata to enable multi language detection via template.
256
278
 
@@ -293,6 +315,11 @@ class Template(proto.Message):
293
315
  proto.BOOL,
294
316
  number=7,
295
317
  )
318
+ enforcement_type: "Template.TemplateMetadata.EnforcementType" = proto.Field(
319
+ proto.ENUM,
320
+ number=8,
321
+ enum="Template.TemplateMetadata.EnforcementType",
322
+ )
296
323
  multi_language_detection: "Template.TemplateMetadata.MultiLanguageDetection" = (
297
324
  proto.Field(
298
325
  proto.MESSAGE,
@@ -350,8 +377,32 @@ class FloorSetting(proto.Message):
350
377
  Optional. Floor Settings enforcement status.
351
378
 
352
379
  This field is a member of `oneof`_ ``_enable_floor_setting_enforcement``.
380
+ integrated_services (MutableSequence[google.cloud.modelarmor_v1.types.FloorSetting.IntegratedService]):
381
+ Optional. List of integrated services for
382
+ which the floor setting is applicable.
383
+ ai_platform_floor_setting (google.cloud.modelarmor_v1.types.AiPlatformFloorSetting):
384
+ Optional. AI Platform floor setting.
385
+
386
+ This field is a member of `oneof`_ ``_ai_platform_floor_setting``.
387
+ floor_setting_metadata (google.cloud.modelarmor_v1.types.FloorSetting.FloorSettingMetadata):
388
+ Optional. Metadata for FloorSetting
353
389
  """
354
390
 
391
+ class IntegratedService(proto.Enum):
392
+ r"""Integrated service for which the floor setting is applicable.
393
+
394
+ Values:
395
+ INTEGRATED_SERVICE_UNSPECIFIED (0):
396
+ Unspecified integrated service.
397
+ AI_PLATFORM (1):
398
+ AI Platform.
399
+ """
400
+ INTEGRATED_SERVICE_UNSPECIFIED = 0
401
+ AI_PLATFORM = 1
402
+
403
+ class FloorSettingMetadata(proto.Message):
404
+ r"""message describing FloorSetting Metadata"""
405
+
355
406
  name: str = proto.Field(
356
407
  proto.STRING,
357
408
  number=1,
@@ -376,6 +427,66 @@ class FloorSetting(proto.Message):
376
427
  number=5,
377
428
  optional=True,
378
429
  )
430
+ integrated_services: MutableSequence[IntegratedService] = proto.RepeatedField(
431
+ proto.ENUM,
432
+ number=6,
433
+ enum=IntegratedService,
434
+ )
435
+ ai_platform_floor_setting: "AiPlatformFloorSetting" = proto.Field(
436
+ proto.MESSAGE,
437
+ number=7,
438
+ optional=True,
439
+ message="AiPlatformFloorSetting",
440
+ )
441
+ floor_setting_metadata: FloorSettingMetadata = proto.Field(
442
+ proto.MESSAGE,
443
+ number=8,
444
+ message=FloorSettingMetadata,
445
+ )
446
+
447
+
448
+ class AiPlatformFloorSetting(proto.Message):
449
+ r"""message describing AiPlatformFloorSetting
450
+
451
+ This message has `oneof`_ fields (mutually exclusive fields).
452
+ For each oneof, at most one member field can be set at the same time.
453
+ Setting any member of the oneof automatically clears all other
454
+ members.
455
+
456
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
457
+
458
+ Attributes:
459
+ inspect_only (bool):
460
+ Optional. If true, Model Armor filters will
461
+ be run in inspect only mode. No action will be
462
+ taken on the request.
463
+
464
+ This field is a member of `oneof`_ ``enforcement_type``.
465
+ inspect_and_block (bool):
466
+ Optional. If true, Model Armor filters will
467
+ be run in inspect and block mode. Requests that
468
+ trip Model Armor filters will be blocked.
469
+
470
+ This field is a member of `oneof`_ ``enforcement_type``.
471
+ enable_cloud_logging (bool):
472
+ Optional. If true, log Model Armor filter
473
+ results to Cloud Logging.
474
+ """
475
+
476
+ inspect_only: bool = proto.Field(
477
+ proto.BOOL,
478
+ number=1,
479
+ oneof="enforcement_type",
480
+ )
481
+ inspect_and_block: bool = proto.Field(
482
+ proto.BOOL,
483
+ number=2,
484
+ oneof="enforcement_type",
485
+ )
486
+ enable_cloud_logging: bool = proto.Field(
487
+ proto.BOOL,
488
+ number=3,
489
+ )
379
490
 
380
491
 
381
492
  class ListTemplatesRequest(proto.Message):
@@ -20,6 +20,7 @@ __version__ = package_version.__version__
20
20
 
21
21
  from .services.model_armor import ModelArmorAsyncClient, ModelArmorClient
22
22
  from .types.service import (
23
+ AiPlatformFloorSetting,
23
24
  ByteDataItem,
24
25
  CreateTemplateRequest,
25
26
  CsamFilterResult,
@@ -68,6 +69,7 @@ from .types.service import (
68
69
 
69
70
  __all__ = (
70
71
  "ModelArmorAsyncClient",
72
+ "AiPlatformFloorSetting",
71
73
  "ByteDataItem",
72
74
  "CreateTemplateRequest",
73
75
  "CsamFilterResult",
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "0.2.6" # {x-release-please-version}
16
+ __version__ = "0.2.7" # {x-release-please-version}
@@ -14,6 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
  from .service import (
17
+ AiPlatformFloorSetting,
17
18
  ByteDataItem,
18
19
  CreateTemplateRequest,
19
20
  CsamFilterResult,
@@ -61,6 +62,7 @@ from .service import (
61
62
  )
62
63
 
63
64
  __all__ = (
65
+ "AiPlatformFloorSetting",
64
66
  "ByteDataItem",
65
67
  "CreateTemplateRequest",
66
68
  "CsamFilterResult",
@@ -32,6 +32,7 @@ __protobuf__ = proto.module(
32
32
  "InvocationResult",
33
33
  "Template",
34
34
  "FloorSetting",
35
+ "AiPlatformFloorSetting",
35
36
  "ListTemplatesRequest",
36
37
  "ListTemplatesResponse",
37
38
  "GetTemplateRequest",
@@ -246,11 +247,32 @@ class Template(proto.Message):
246
247
  operations.
247
248
  log_sanitize_operations (bool):
248
249
  Optional. If true, log sanitize operations.
250
+ enforcement_type (google.cloud.modelarmor_v1beta.types.Template.TemplateMetadata.EnforcementType):
251
+ Optional. Enforcement type for Model Armor
252
+ filters.
249
253
  multi_language_detection (google.cloud.modelarmor_v1beta.types.Template.TemplateMetadata.MultiLanguageDetection):
250
254
  Optional. Metadata for multi language
251
255
  detection.
252
256
  """
253
257
 
258
+ class EnforcementType(proto.Enum):
259
+ r"""Enforcement type for Model Armor filters.
260
+
261
+ Values:
262
+ ENFORCEMENT_TYPE_UNSPECIFIED (0):
263
+ Default value. Same as INSPECT_AND_BLOCK.
264
+ INSPECT_ONLY (1):
265
+ Model Armor filters will run in inspect only
266
+ mode. No action will be taken on the request.
267
+ INSPECT_AND_BLOCK (2):
268
+ Model Armor filters will run in inspect and
269
+ block mode. Requests that trip Model Armor
270
+ filters will be blocked.
271
+ """
272
+ ENFORCEMENT_TYPE_UNSPECIFIED = 0
273
+ INSPECT_ONLY = 1
274
+ INSPECT_AND_BLOCK = 2
275
+
254
276
  class MultiLanguageDetection(proto.Message):
255
277
  r"""Metadata to enable multi language detection via template.
256
278
 
@@ -293,6 +315,11 @@ class Template(proto.Message):
293
315
  proto.BOOL,
294
316
  number=7,
295
317
  )
318
+ enforcement_type: "Template.TemplateMetadata.EnforcementType" = proto.Field(
319
+ proto.ENUM,
320
+ number=8,
321
+ enum="Template.TemplateMetadata.EnforcementType",
322
+ )
296
323
  multi_language_detection: "Template.TemplateMetadata.MultiLanguageDetection" = (
297
324
  proto.Field(
298
325
  proto.MESSAGE,
@@ -350,8 +377,32 @@ class FloorSetting(proto.Message):
350
377
  Optional. Floor Settings enforcement status.
351
378
 
352
379
  This field is a member of `oneof`_ ``_enable_floor_setting_enforcement``.
380
+ integrated_services (MutableSequence[google.cloud.modelarmor_v1beta.types.FloorSetting.IntegratedService]):
381
+ Optional. List of integrated services for
382
+ which the floor setting is applicable.
383
+ ai_platform_floor_setting (google.cloud.modelarmor_v1beta.types.AiPlatformFloorSetting):
384
+ Optional. AI Platform floor setting.
385
+
386
+ This field is a member of `oneof`_ ``_ai_platform_floor_setting``.
387
+ floor_setting_metadata (google.cloud.modelarmor_v1beta.types.FloorSetting.FloorSettingMetadata):
388
+ Optional. Metadata for FloorSetting
353
389
  """
354
390
 
391
+ class IntegratedService(proto.Enum):
392
+ r"""Integrated service for which the floor setting is applicable.
393
+
394
+ Values:
395
+ INTEGRATED_SERVICE_UNSPECIFIED (0):
396
+ Unspecified integrated service.
397
+ AI_PLATFORM (1):
398
+ AI Platform.
399
+ """
400
+ INTEGRATED_SERVICE_UNSPECIFIED = 0
401
+ AI_PLATFORM = 1
402
+
403
+ class FloorSettingMetadata(proto.Message):
404
+ r"""message describing FloorSetting Metadata"""
405
+
355
406
  name: str = proto.Field(
356
407
  proto.STRING,
357
408
  number=1,
@@ -376,6 +427,66 @@ class FloorSetting(proto.Message):
376
427
  number=5,
377
428
  optional=True,
378
429
  )
430
+ integrated_services: MutableSequence[IntegratedService] = proto.RepeatedField(
431
+ proto.ENUM,
432
+ number=6,
433
+ enum=IntegratedService,
434
+ )
435
+ ai_platform_floor_setting: "AiPlatformFloorSetting" = proto.Field(
436
+ proto.MESSAGE,
437
+ number=7,
438
+ optional=True,
439
+ message="AiPlatformFloorSetting",
440
+ )
441
+ floor_setting_metadata: FloorSettingMetadata = proto.Field(
442
+ proto.MESSAGE,
443
+ number=8,
444
+ message=FloorSettingMetadata,
445
+ )
446
+
447
+
448
+ class AiPlatformFloorSetting(proto.Message):
449
+ r"""message describing AiPlatformFloorSetting
450
+
451
+ This message has `oneof`_ fields (mutually exclusive fields).
452
+ For each oneof, at most one member field can be set at the same time.
453
+ Setting any member of the oneof automatically clears all other
454
+ members.
455
+
456
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
457
+
458
+ Attributes:
459
+ inspect_only (bool):
460
+ Optional. If true, Model Armor filters will
461
+ be run in inspect only mode. No action will be
462
+ taken on the request.
463
+
464
+ This field is a member of `oneof`_ ``enforcement_type``.
465
+ inspect_and_block (bool):
466
+ Optional. If true, Model Armor filters will
467
+ be run in inspect and block mode. Requests that
468
+ trip Model Armor filters will be blocked.
469
+
470
+ This field is a member of `oneof`_ ``enforcement_type``.
471
+ enable_cloud_logging (bool):
472
+ Optional. If true, log Model Armor filter
473
+ results to Cloud Logging.
474
+ """
475
+
476
+ inspect_only: bool = proto.Field(
477
+ proto.BOOL,
478
+ number=1,
479
+ oneof="enforcement_type",
480
+ )
481
+ inspect_and_block: bool = proto.Field(
482
+ proto.BOOL,
483
+ number=2,
484
+ oneof="enforcement_type",
485
+ )
486
+ enable_cloud_logging: bool = proto.Field(
487
+ proto.BOOL,
488
+ number=3,
489
+ )
379
490
 
380
491
 
381
492
  class ListTemplatesRequest(proto.Message):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-modelarmor
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: Google Cloud Modelarmor API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-modelarmor
6
6
  Author: Google LLC
@@ -2920,6 +2920,7 @@ def test_get_floor_setting(request_type, transport: str = "grpc"):
2920
2920
  call.return_value = service.FloorSetting(
2921
2921
  name="name_value",
2922
2922
  enable_floor_setting_enforcement=True,
2923
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
2923
2924
  )
2924
2925
  response = client.get_floor_setting(request)
2925
2926
 
@@ -2933,6 +2934,9 @@ def test_get_floor_setting(request_type, transport: str = "grpc"):
2933
2934
  assert isinstance(response, service.FloorSetting)
2934
2935
  assert response.name == "name_value"
2935
2936
  assert response.enable_floor_setting_enforcement is True
2937
+ assert response.integrated_services == [
2938
+ service.FloorSetting.IntegratedService.AI_PLATFORM
2939
+ ]
2936
2940
 
2937
2941
 
2938
2942
  def test_get_floor_setting_non_empty_request_with_auto_populated_field():
@@ -3066,6 +3070,9 @@ async def test_get_floor_setting_async(
3066
3070
  service.FloorSetting(
3067
3071
  name="name_value",
3068
3072
  enable_floor_setting_enforcement=True,
3073
+ integrated_services=[
3074
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3075
+ ],
3069
3076
  )
3070
3077
  )
3071
3078
  response = await client.get_floor_setting(request)
@@ -3080,6 +3087,9 @@ async def test_get_floor_setting_async(
3080
3087
  assert isinstance(response, service.FloorSetting)
3081
3088
  assert response.name == "name_value"
3082
3089
  assert response.enable_floor_setting_enforcement is True
3090
+ assert response.integrated_services == [
3091
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3092
+ ]
3083
3093
 
3084
3094
 
3085
3095
  @pytest.mark.asyncio
@@ -3263,6 +3273,7 @@ def test_update_floor_setting(request_type, transport: str = "grpc"):
3263
3273
  call.return_value = service.FloorSetting(
3264
3274
  name="name_value",
3265
3275
  enable_floor_setting_enforcement=True,
3276
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
3266
3277
  )
3267
3278
  response = client.update_floor_setting(request)
3268
3279
 
@@ -3276,6 +3287,9 @@ def test_update_floor_setting(request_type, transport: str = "grpc"):
3276
3287
  assert isinstance(response, service.FloorSetting)
3277
3288
  assert response.name == "name_value"
3278
3289
  assert response.enable_floor_setting_enforcement is True
3290
+ assert response.integrated_services == [
3291
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3292
+ ]
3279
3293
 
3280
3294
 
3281
3295
  def test_update_floor_setting_non_empty_request_with_auto_populated_field():
@@ -3407,6 +3421,9 @@ async def test_update_floor_setting_async(
3407
3421
  service.FloorSetting(
3408
3422
  name="name_value",
3409
3423
  enable_floor_setting_enforcement=True,
3424
+ integrated_services=[
3425
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3426
+ ],
3410
3427
  )
3411
3428
  )
3412
3429
  response = await client.update_floor_setting(request)
@@ -3421,6 +3438,9 @@ async def test_update_floor_setting_async(
3421
3438
  assert isinstance(response, service.FloorSetting)
3422
3439
  assert response.name == "name_value"
3423
3440
  assert response.enable_floor_setting_enforcement is True
3441
+ assert response.integrated_services == [
3442
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3443
+ ]
3424
3444
 
3425
3445
 
3426
3446
  @pytest.mark.asyncio
@@ -6209,6 +6229,9 @@ async def test_get_floor_setting_empty_call_grpc_asyncio():
6209
6229
  service.FloorSetting(
6210
6230
  name="name_value",
6211
6231
  enable_floor_setting_enforcement=True,
6232
+ integrated_services=[
6233
+ service.FloorSetting.IntegratedService.AI_PLATFORM
6234
+ ],
6212
6235
  )
6213
6236
  )
6214
6237
  await client.get_floor_setting(request=None)
@@ -6239,6 +6262,9 @@ async def test_update_floor_setting_empty_call_grpc_asyncio():
6239
6262
  service.FloorSetting(
6240
6263
  name="name_value",
6241
6264
  enable_floor_setting_enforcement=True,
6265
+ integrated_services=[
6266
+ service.FloorSetting.IntegratedService.AI_PLATFORM
6267
+ ],
6242
6268
  )
6243
6269
  )
6244
6270
  await client.update_floor_setting(request=None)
@@ -6629,6 +6655,7 @@ def test_create_template_rest_call_success(request_type):
6629
6655
  "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value",
6630
6656
  "log_template_operations": True,
6631
6657
  "log_sanitize_operations": True,
6658
+ "enforcement_type": 1,
6632
6659
  "multi_language_detection": {"enable_multi_language_detection": True},
6633
6660
  },
6634
6661
  }
@@ -6856,6 +6883,7 @@ def test_update_template_rest_call_success(request_type):
6856
6883
  "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value",
6857
6884
  "log_template_operations": True,
6858
6885
  "log_sanitize_operations": True,
6886
+ "enforcement_type": 1,
6859
6887
  "multi_language_detection": {"enable_multi_language_detection": True},
6860
6888
  },
6861
6889
  }
@@ -7164,6 +7192,7 @@ def test_get_floor_setting_rest_call_success(request_type):
7164
7192
  return_value = service.FloorSetting(
7165
7193
  name="name_value",
7166
7194
  enable_floor_setting_enforcement=True,
7195
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
7167
7196
  )
7168
7197
 
7169
7198
  # Wrap the value into a proper Response obj
@@ -7182,6 +7211,9 @@ def test_get_floor_setting_rest_call_success(request_type):
7182
7211
  assert isinstance(response, service.FloorSetting)
7183
7212
  assert response.name == "name_value"
7184
7213
  assert response.enable_floor_setting_enforcement is True
7214
+ assert response.integrated_services == [
7215
+ service.FloorSetting.IntegratedService.AI_PLATFORM
7216
+ ]
7185
7217
 
7186
7218
 
7187
7219
  @pytest.mark.parametrize("null_interceptor", [True, False])
@@ -7309,6 +7341,13 @@ def test_update_floor_setting_rest_call_success(request_type):
7309
7341
  "malicious_uri_filter_settings": {"filter_enforcement": 1},
7310
7342
  },
7311
7343
  "enable_floor_setting_enforcement": True,
7344
+ "integrated_services": [1],
7345
+ "ai_platform_floor_setting": {
7346
+ "inspect_only": True,
7347
+ "inspect_and_block": True,
7348
+ "enable_cloud_logging": True,
7349
+ },
7350
+ "floor_setting_metadata": {},
7312
7351
  }
7313
7352
  # The version of a generated dependency at test runtime may differ from the version used during generation.
7314
7353
  # Delete any fields which are not present in the current runtime dependency
@@ -7385,6 +7424,7 @@ def test_update_floor_setting_rest_call_success(request_type):
7385
7424
  return_value = service.FloorSetting(
7386
7425
  name="name_value",
7387
7426
  enable_floor_setting_enforcement=True,
7427
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
7388
7428
  )
7389
7429
 
7390
7430
  # Wrap the value into a proper Response obj
@@ -7403,6 +7443,9 @@ def test_update_floor_setting_rest_call_success(request_type):
7403
7443
  assert isinstance(response, service.FloorSetting)
7404
7444
  assert response.name == "name_value"
7405
7445
  assert response.enable_floor_setting_enforcement is True
7446
+ assert response.integrated_services == [
7447
+ service.FloorSetting.IntegratedService.AI_PLATFORM
7448
+ ]
7406
7449
 
7407
7450
 
7408
7451
  @pytest.mark.parametrize("null_interceptor", [True, False])
@@ -2920,6 +2920,7 @@ def test_get_floor_setting(request_type, transport: str = "grpc"):
2920
2920
  call.return_value = service.FloorSetting(
2921
2921
  name="name_value",
2922
2922
  enable_floor_setting_enforcement=True,
2923
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
2923
2924
  )
2924
2925
  response = client.get_floor_setting(request)
2925
2926
 
@@ -2933,6 +2934,9 @@ def test_get_floor_setting(request_type, transport: str = "grpc"):
2933
2934
  assert isinstance(response, service.FloorSetting)
2934
2935
  assert response.name == "name_value"
2935
2936
  assert response.enable_floor_setting_enforcement is True
2937
+ assert response.integrated_services == [
2938
+ service.FloorSetting.IntegratedService.AI_PLATFORM
2939
+ ]
2936
2940
 
2937
2941
 
2938
2942
  def test_get_floor_setting_non_empty_request_with_auto_populated_field():
@@ -3066,6 +3070,9 @@ async def test_get_floor_setting_async(
3066
3070
  service.FloorSetting(
3067
3071
  name="name_value",
3068
3072
  enable_floor_setting_enforcement=True,
3073
+ integrated_services=[
3074
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3075
+ ],
3069
3076
  )
3070
3077
  )
3071
3078
  response = await client.get_floor_setting(request)
@@ -3080,6 +3087,9 @@ async def test_get_floor_setting_async(
3080
3087
  assert isinstance(response, service.FloorSetting)
3081
3088
  assert response.name == "name_value"
3082
3089
  assert response.enable_floor_setting_enforcement is True
3090
+ assert response.integrated_services == [
3091
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3092
+ ]
3083
3093
 
3084
3094
 
3085
3095
  @pytest.mark.asyncio
@@ -3263,6 +3273,7 @@ def test_update_floor_setting(request_type, transport: str = "grpc"):
3263
3273
  call.return_value = service.FloorSetting(
3264
3274
  name="name_value",
3265
3275
  enable_floor_setting_enforcement=True,
3276
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
3266
3277
  )
3267
3278
  response = client.update_floor_setting(request)
3268
3279
 
@@ -3276,6 +3287,9 @@ def test_update_floor_setting(request_type, transport: str = "grpc"):
3276
3287
  assert isinstance(response, service.FloorSetting)
3277
3288
  assert response.name == "name_value"
3278
3289
  assert response.enable_floor_setting_enforcement is True
3290
+ assert response.integrated_services == [
3291
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3292
+ ]
3279
3293
 
3280
3294
 
3281
3295
  def test_update_floor_setting_non_empty_request_with_auto_populated_field():
@@ -3407,6 +3421,9 @@ async def test_update_floor_setting_async(
3407
3421
  service.FloorSetting(
3408
3422
  name="name_value",
3409
3423
  enable_floor_setting_enforcement=True,
3424
+ integrated_services=[
3425
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3426
+ ],
3410
3427
  )
3411
3428
  )
3412
3429
  response = await client.update_floor_setting(request)
@@ -3421,6 +3438,9 @@ async def test_update_floor_setting_async(
3421
3438
  assert isinstance(response, service.FloorSetting)
3422
3439
  assert response.name == "name_value"
3423
3440
  assert response.enable_floor_setting_enforcement is True
3441
+ assert response.integrated_services == [
3442
+ service.FloorSetting.IntegratedService.AI_PLATFORM
3443
+ ]
3424
3444
 
3425
3445
 
3426
3446
  @pytest.mark.asyncio
@@ -6214,6 +6234,9 @@ async def test_get_floor_setting_empty_call_grpc_asyncio():
6214
6234
  service.FloorSetting(
6215
6235
  name="name_value",
6216
6236
  enable_floor_setting_enforcement=True,
6237
+ integrated_services=[
6238
+ service.FloorSetting.IntegratedService.AI_PLATFORM
6239
+ ],
6217
6240
  )
6218
6241
  )
6219
6242
  await client.get_floor_setting(request=None)
@@ -6244,6 +6267,9 @@ async def test_update_floor_setting_empty_call_grpc_asyncio():
6244
6267
  service.FloorSetting(
6245
6268
  name="name_value",
6246
6269
  enable_floor_setting_enforcement=True,
6270
+ integrated_services=[
6271
+ service.FloorSetting.IntegratedService.AI_PLATFORM
6272
+ ],
6247
6273
  )
6248
6274
  )
6249
6275
  await client.update_floor_setting(request=None)
@@ -6634,6 +6660,7 @@ def test_create_template_rest_call_success(request_type):
6634
6660
  "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value",
6635
6661
  "log_template_operations": True,
6636
6662
  "log_sanitize_operations": True,
6663
+ "enforcement_type": 1,
6637
6664
  "multi_language_detection": {"enable_multi_language_detection": True},
6638
6665
  },
6639
6666
  }
@@ -6861,6 +6888,7 @@ def test_update_template_rest_call_success(request_type):
6861
6888
  "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value",
6862
6889
  "log_template_operations": True,
6863
6890
  "log_sanitize_operations": True,
6891
+ "enforcement_type": 1,
6864
6892
  "multi_language_detection": {"enable_multi_language_detection": True},
6865
6893
  },
6866
6894
  }
@@ -7169,6 +7197,7 @@ def test_get_floor_setting_rest_call_success(request_type):
7169
7197
  return_value = service.FloorSetting(
7170
7198
  name="name_value",
7171
7199
  enable_floor_setting_enforcement=True,
7200
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
7172
7201
  )
7173
7202
 
7174
7203
  # Wrap the value into a proper Response obj
@@ -7187,6 +7216,9 @@ def test_get_floor_setting_rest_call_success(request_type):
7187
7216
  assert isinstance(response, service.FloorSetting)
7188
7217
  assert response.name == "name_value"
7189
7218
  assert response.enable_floor_setting_enforcement is True
7219
+ assert response.integrated_services == [
7220
+ service.FloorSetting.IntegratedService.AI_PLATFORM
7221
+ ]
7190
7222
 
7191
7223
 
7192
7224
  @pytest.mark.parametrize("null_interceptor", [True, False])
@@ -7314,6 +7346,13 @@ def test_update_floor_setting_rest_call_success(request_type):
7314
7346
  "malicious_uri_filter_settings": {"filter_enforcement": 1},
7315
7347
  },
7316
7348
  "enable_floor_setting_enforcement": True,
7349
+ "integrated_services": [1],
7350
+ "ai_platform_floor_setting": {
7351
+ "inspect_only": True,
7352
+ "inspect_and_block": True,
7353
+ "enable_cloud_logging": True,
7354
+ },
7355
+ "floor_setting_metadata": {},
7317
7356
  }
7318
7357
  # The version of a generated dependency at test runtime may differ from the version used during generation.
7319
7358
  # Delete any fields which are not present in the current runtime dependency
@@ -7390,6 +7429,7 @@ def test_update_floor_setting_rest_call_success(request_type):
7390
7429
  return_value = service.FloorSetting(
7391
7430
  name="name_value",
7392
7431
  enable_floor_setting_enforcement=True,
7432
+ integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM],
7393
7433
  )
7394
7434
 
7395
7435
  # Wrap the value into a proper Response obj
@@ -7408,6 +7448,9 @@ def test_update_floor_setting_rest_call_success(request_type):
7408
7448
  assert isinstance(response, service.FloorSetting)
7409
7449
  assert response.name == "name_value"
7410
7450
  assert response.enable_floor_setting_enforcement is True
7451
+ assert response.integrated_services == [
7452
+ service.FloorSetting.IntegratedService.AI_PLATFORM
7453
+ ]
7411
7454
 
7412
7455
 
7413
7456
  @pytest.mark.parametrize("null_interceptor", [True, False])