diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor/__init__.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor/__init__.py index d116cb6acc6a..90261024fbb6 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor/__init__.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor/__init__.py @@ -23,6 +23,7 @@ ) from google.cloud.modelarmor_v1.services.model_armor.client import ModelArmorClient from google.cloud.modelarmor_v1.types.service import ( + AiPlatformFloorSetting, ByteDataItem, CreateTemplateRequest, CsamFilterResult, @@ -72,6 +73,7 @@ __all__ = ( "ModelArmorClient", "ModelArmorAsyncClient", + "AiPlatformFloorSetting", "ByteDataItem", "CreateTemplateRequest", "CsamFilterResult", diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor/gapic_version.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor/gapic_version.py index 9650dd3a514f..20a9cd975b02 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor/gapic_version.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.2.6" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/__init__.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/__init__.py index f1abfefa7951..ab26001cc8ac 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/__init__.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/__init__.py @@ -20,6 +20,7 @@ from .services.model_armor import ModelArmorAsyncClient, ModelArmorClient from .types.service import ( + AiPlatformFloorSetting, ByteDataItem, CreateTemplateRequest, CsamFilterResult, @@ -68,6 +69,7 @@ __all__ = ( "ModelArmorAsyncClient", + "AiPlatformFloorSetting", "ByteDataItem", "CreateTemplateRequest", "CsamFilterResult", diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/gapic_version.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/gapic_version.py index 9650dd3a514f..20a9cd975b02 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/gapic_version.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.2.6" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/__init__.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/__init__.py index 28f300204133..8442cbffbb53 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/__init__.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/__init__.py @@ -14,6 +14,7 @@ # limitations under the License. # from .service import ( + AiPlatformFloorSetting, ByteDataItem, CreateTemplateRequest, CsamFilterResult, @@ -61,6 +62,7 @@ ) __all__ = ( + "AiPlatformFloorSetting", "ByteDataItem", "CreateTemplateRequest", "CsamFilterResult", diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/service.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/service.py index e92a92ea2da8..736cf3ac7981 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/service.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1/types/service.py @@ -32,6 +32,7 @@ "InvocationResult", "Template", "FloorSetting", + "AiPlatformFloorSetting", "ListTemplatesRequest", "ListTemplatesResponse", "GetTemplateRequest", @@ -246,11 +247,32 @@ class TemplateMetadata(proto.Message): operations. log_sanitize_operations (bool): Optional. If true, log sanitize operations. + enforcement_type (google.cloud.modelarmor_v1.types.Template.TemplateMetadata.EnforcementType): + Optional. Enforcement type for Model Armor + filters. multi_language_detection (google.cloud.modelarmor_v1.types.Template.TemplateMetadata.MultiLanguageDetection): Optional. Metadata for multi language detection. """ + class EnforcementType(proto.Enum): + r"""Enforcement type for Model Armor filters. + + Values: + ENFORCEMENT_TYPE_UNSPECIFIED (0): + Default value. Same as INSPECT_AND_BLOCK. + INSPECT_ONLY (1): + Model Armor filters will run in inspect only + mode. No action will be taken on the request. + INSPECT_AND_BLOCK (2): + Model Armor filters will run in inspect and + block mode. Requests that trip Model Armor + filters will be blocked. + """ + ENFORCEMENT_TYPE_UNSPECIFIED = 0 + INSPECT_ONLY = 1 + INSPECT_AND_BLOCK = 2 + class MultiLanguageDetection(proto.Message): r"""Metadata to enable multi language detection via template. @@ -293,6 +315,11 @@ class MultiLanguageDetection(proto.Message): proto.BOOL, number=7, ) + enforcement_type: "Template.TemplateMetadata.EnforcementType" = proto.Field( + proto.ENUM, + number=8, + enum="Template.TemplateMetadata.EnforcementType", + ) multi_language_detection: "Template.TemplateMetadata.MultiLanguageDetection" = ( proto.Field( proto.MESSAGE, @@ -350,8 +377,32 @@ class FloorSetting(proto.Message): Optional. Floor Settings enforcement status. This field is a member of `oneof`_ ``_enable_floor_setting_enforcement``. + integrated_services (MutableSequence[google.cloud.modelarmor_v1.types.FloorSetting.IntegratedService]): + Optional. List of integrated services for + which the floor setting is applicable. + ai_platform_floor_setting (google.cloud.modelarmor_v1.types.AiPlatformFloorSetting): + Optional. AI Platform floor setting. + + This field is a member of `oneof`_ ``_ai_platform_floor_setting``. + floor_setting_metadata (google.cloud.modelarmor_v1.types.FloorSetting.FloorSettingMetadata): + Optional. Metadata for FloorSetting """ + class IntegratedService(proto.Enum): + r"""Integrated service for which the floor setting is applicable. + + Values: + INTEGRATED_SERVICE_UNSPECIFIED (0): + Unspecified integrated service. + AI_PLATFORM (1): + AI Platform. + """ + INTEGRATED_SERVICE_UNSPECIFIED = 0 + AI_PLATFORM = 1 + + class FloorSettingMetadata(proto.Message): + r"""message describing FloorSetting Metadata""" + name: str = proto.Field( proto.STRING, number=1, @@ -376,6 +427,66 @@ class FloorSetting(proto.Message): number=5, optional=True, ) + integrated_services: MutableSequence[IntegratedService] = proto.RepeatedField( + proto.ENUM, + number=6, + enum=IntegratedService, + ) + ai_platform_floor_setting: "AiPlatformFloorSetting" = proto.Field( + proto.MESSAGE, + number=7, + optional=True, + message="AiPlatformFloorSetting", + ) + floor_setting_metadata: FloorSettingMetadata = proto.Field( + proto.MESSAGE, + number=8, + message=FloorSettingMetadata, + ) + + +class AiPlatformFloorSetting(proto.Message): + r"""message describing AiPlatformFloorSetting + + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + + Attributes: + inspect_only (bool): + Optional. If true, Model Armor filters will + be run in inspect only mode. No action will be + taken on the request. + + This field is a member of `oneof`_ ``enforcement_type``. + inspect_and_block (bool): + Optional. If true, Model Armor filters will + be run in inspect and block mode. Requests that + trip Model Armor filters will be blocked. + + This field is a member of `oneof`_ ``enforcement_type``. + enable_cloud_logging (bool): + Optional. If true, log Model Armor filter + results to Cloud Logging. + """ + + inspect_only: bool = proto.Field( + proto.BOOL, + number=1, + oneof="enforcement_type", + ) + inspect_and_block: bool = proto.Field( + proto.BOOL, + number=2, + oneof="enforcement_type", + ) + enable_cloud_logging: bool = proto.Field( + proto.BOOL, + number=3, + ) class ListTemplatesRequest(proto.Message): diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/__init__.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/__init__.py index c7196a2391d2..df8136127e1b 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/__init__.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/__init__.py @@ -20,6 +20,7 @@ from .services.model_armor import ModelArmorAsyncClient, ModelArmorClient from .types.service import ( + AiPlatformFloorSetting, ByteDataItem, CreateTemplateRequest, CsamFilterResult, @@ -68,6 +69,7 @@ __all__ = ( "ModelArmorAsyncClient", + "AiPlatformFloorSetting", "ByteDataItem", "CreateTemplateRequest", "CsamFilterResult", diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/gapic_version.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/gapic_version.py index 9650dd3a514f..20a9cd975b02 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/gapic_version.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.2.6" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/__init__.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/__init__.py index 28f300204133..8442cbffbb53 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/__init__.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/__init__.py @@ -14,6 +14,7 @@ # limitations under the License. # from .service import ( + AiPlatformFloorSetting, ByteDataItem, CreateTemplateRequest, CsamFilterResult, @@ -61,6 +62,7 @@ ) __all__ = ( + "AiPlatformFloorSetting", "ByteDataItem", "CreateTemplateRequest", "CsamFilterResult", diff --git a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/service.py b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/service.py index 9bfa57bdee42..cde57f5cb13d 100644 --- a/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/service.py +++ b/packages/google-cloud-modelarmor/google/cloud/modelarmor_v1beta/types/service.py @@ -32,6 +32,7 @@ "InvocationResult", "Template", "FloorSetting", + "AiPlatformFloorSetting", "ListTemplatesRequest", "ListTemplatesResponse", "GetTemplateRequest", @@ -246,11 +247,32 @@ class TemplateMetadata(proto.Message): operations. log_sanitize_operations (bool): Optional. If true, log sanitize operations. + enforcement_type (google.cloud.modelarmor_v1beta.types.Template.TemplateMetadata.EnforcementType): + Optional. Enforcement type for Model Armor + filters. multi_language_detection (google.cloud.modelarmor_v1beta.types.Template.TemplateMetadata.MultiLanguageDetection): Optional. Metadata for multi language detection. """ + class EnforcementType(proto.Enum): + r"""Enforcement type for Model Armor filters. + + Values: + ENFORCEMENT_TYPE_UNSPECIFIED (0): + Default value. Same as INSPECT_AND_BLOCK. + INSPECT_ONLY (1): + Model Armor filters will run in inspect only + mode. No action will be taken on the request. + INSPECT_AND_BLOCK (2): + Model Armor filters will run in inspect and + block mode. Requests that trip Model Armor + filters will be blocked. + """ + ENFORCEMENT_TYPE_UNSPECIFIED = 0 + INSPECT_ONLY = 1 + INSPECT_AND_BLOCK = 2 + class MultiLanguageDetection(proto.Message): r"""Metadata to enable multi language detection via template. @@ -293,6 +315,11 @@ class MultiLanguageDetection(proto.Message): proto.BOOL, number=7, ) + enforcement_type: "Template.TemplateMetadata.EnforcementType" = proto.Field( + proto.ENUM, + number=8, + enum="Template.TemplateMetadata.EnforcementType", + ) multi_language_detection: "Template.TemplateMetadata.MultiLanguageDetection" = ( proto.Field( proto.MESSAGE, @@ -350,8 +377,32 @@ class FloorSetting(proto.Message): Optional. Floor Settings enforcement status. This field is a member of `oneof`_ ``_enable_floor_setting_enforcement``. + integrated_services (MutableSequence[google.cloud.modelarmor_v1beta.types.FloorSetting.IntegratedService]): + Optional. List of integrated services for + which the floor setting is applicable. + ai_platform_floor_setting (google.cloud.modelarmor_v1beta.types.AiPlatformFloorSetting): + Optional. AI Platform floor setting. + + This field is a member of `oneof`_ ``_ai_platform_floor_setting``. + floor_setting_metadata (google.cloud.modelarmor_v1beta.types.FloorSetting.FloorSettingMetadata): + Optional. Metadata for FloorSetting """ + class IntegratedService(proto.Enum): + r"""Integrated service for which the floor setting is applicable. + + Values: + INTEGRATED_SERVICE_UNSPECIFIED (0): + Unspecified integrated service. + AI_PLATFORM (1): + AI Platform. + """ + INTEGRATED_SERVICE_UNSPECIFIED = 0 + AI_PLATFORM = 1 + + class FloorSettingMetadata(proto.Message): + r"""message describing FloorSetting Metadata""" + name: str = proto.Field( proto.STRING, number=1, @@ -376,6 +427,66 @@ class FloorSetting(proto.Message): number=5, optional=True, ) + integrated_services: MutableSequence[IntegratedService] = proto.RepeatedField( + proto.ENUM, + number=6, + enum=IntegratedService, + ) + ai_platform_floor_setting: "AiPlatformFloorSetting" = proto.Field( + proto.MESSAGE, + number=7, + optional=True, + message="AiPlatformFloorSetting", + ) + floor_setting_metadata: FloorSettingMetadata = proto.Field( + proto.MESSAGE, + number=8, + message=FloorSettingMetadata, + ) + + +class AiPlatformFloorSetting(proto.Message): + r"""message describing AiPlatformFloorSetting + + This message has `oneof`_ fields (mutually exclusive fields). + For each oneof, at most one member field can be set at the same time. + Setting any member of the oneof automatically clears all other + members. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + + Attributes: + inspect_only (bool): + Optional. If true, Model Armor filters will + be run in inspect only mode. No action will be + taken on the request. + + This field is a member of `oneof`_ ``enforcement_type``. + inspect_and_block (bool): + Optional. If true, Model Armor filters will + be run in inspect and block mode. Requests that + trip Model Armor filters will be blocked. + + This field is a member of `oneof`_ ``enforcement_type``. + enable_cloud_logging (bool): + Optional. If true, log Model Armor filter + results to Cloud Logging. + """ + + inspect_only: bool = proto.Field( + proto.BOOL, + number=1, + oneof="enforcement_type", + ) + inspect_and_block: bool = proto.Field( + proto.BOOL, + number=2, + oneof="enforcement_type", + ) + enable_cloud_logging: bool = proto.Field( + proto.BOOL, + number=3, + ) class ListTemplatesRequest(proto.Message): diff --git a/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1.json b/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1.json index 039c7bc6c7ab..acc0863d1e1d 100644 --- a/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1.json +++ b/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-modelarmor", - "version": "0.2.6" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1beta.json b/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1beta.json index dd78ca5807fb..f91bf1df7397 100644 --- a/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1beta.json +++ b/packages/google-cloud-modelarmor/samples/generated_samples/snippet_metadata_google.cloud.modelarmor.v1beta.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-modelarmor", - "version": "0.2.6" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1/test_model_armor.py b/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1/test_model_armor.py index 78d54b0aa0ef..d5bb780fb365 100644 --- a/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1/test_model_armor.py +++ b/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1/test_model_armor.py @@ -2920,6 +2920,7 @@ def test_get_floor_setting(request_type, transport: str = "grpc"): call.return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) response = client.get_floor_setting(request) @@ -2933,6 +2934,9 @@ def test_get_floor_setting(request_type, transport: str = "grpc"): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] def test_get_floor_setting_non_empty_request_with_auto_populated_field(): @@ -3066,6 +3070,9 @@ async def test_get_floor_setting_async( service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) response = await client.get_floor_setting(request) @@ -3080,6 +3087,9 @@ async def test_get_floor_setting_async( assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.asyncio @@ -3263,6 +3273,7 @@ def test_update_floor_setting(request_type, transport: str = "grpc"): call.return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) response = client.update_floor_setting(request) @@ -3276,6 +3287,9 @@ def test_update_floor_setting(request_type, transport: str = "grpc"): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] def test_update_floor_setting_non_empty_request_with_auto_populated_field(): @@ -3407,6 +3421,9 @@ async def test_update_floor_setting_async( service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) response = await client.update_floor_setting(request) @@ -3421,6 +3438,9 @@ async def test_update_floor_setting_async( assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.asyncio @@ -6209,6 +6229,9 @@ async def test_get_floor_setting_empty_call_grpc_asyncio(): service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) await client.get_floor_setting(request=None) @@ -6239,6 +6262,9 @@ async def test_update_floor_setting_empty_call_grpc_asyncio(): service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) await client.update_floor_setting(request=None) @@ -6629,6 +6655,7 @@ def test_create_template_rest_call_success(request_type): "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value", "log_template_operations": True, "log_sanitize_operations": True, + "enforcement_type": 1, "multi_language_detection": {"enable_multi_language_detection": True}, }, } @@ -6856,6 +6883,7 @@ def test_update_template_rest_call_success(request_type): "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value", "log_template_operations": True, "log_sanitize_operations": True, + "enforcement_type": 1, "multi_language_detection": {"enable_multi_language_detection": True}, }, } @@ -7164,6 +7192,7 @@ def test_get_floor_setting_rest_call_success(request_type): return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) # Wrap the value into a proper Response obj @@ -7182,6 +7211,9 @@ def test_get_floor_setting_rest_call_success(request_type): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.parametrize("null_interceptor", [True, False]) @@ -7309,6 +7341,13 @@ def test_update_floor_setting_rest_call_success(request_type): "malicious_uri_filter_settings": {"filter_enforcement": 1}, }, "enable_floor_setting_enforcement": True, + "integrated_services": [1], + "ai_platform_floor_setting": { + "inspect_only": True, + "inspect_and_block": True, + "enable_cloud_logging": True, + }, + "floor_setting_metadata": {}, } # The version of a generated dependency at test runtime may differ from the version used during generation. # Delete any fields which are not present in the current runtime dependency @@ -7385,6 +7424,7 @@ def get_message_fields(field): return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) # Wrap the value into a proper Response obj @@ -7403,6 +7443,9 @@ def get_message_fields(field): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.parametrize("null_interceptor", [True, False]) diff --git a/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1beta/test_model_armor.py b/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1beta/test_model_armor.py index c2f2c74c02bd..898166c2b4ae 100644 --- a/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1beta/test_model_armor.py +++ b/packages/google-cloud-modelarmor/tests/unit/gapic/modelarmor_v1beta/test_model_armor.py @@ -2920,6 +2920,7 @@ def test_get_floor_setting(request_type, transport: str = "grpc"): call.return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) response = client.get_floor_setting(request) @@ -2933,6 +2934,9 @@ def test_get_floor_setting(request_type, transport: str = "grpc"): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] def test_get_floor_setting_non_empty_request_with_auto_populated_field(): @@ -3066,6 +3070,9 @@ async def test_get_floor_setting_async( service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) response = await client.get_floor_setting(request) @@ -3080,6 +3087,9 @@ async def test_get_floor_setting_async( assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.asyncio @@ -3263,6 +3273,7 @@ def test_update_floor_setting(request_type, transport: str = "grpc"): call.return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) response = client.update_floor_setting(request) @@ -3276,6 +3287,9 @@ def test_update_floor_setting(request_type, transport: str = "grpc"): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] def test_update_floor_setting_non_empty_request_with_auto_populated_field(): @@ -3407,6 +3421,9 @@ async def test_update_floor_setting_async( service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) response = await client.update_floor_setting(request) @@ -3421,6 +3438,9 @@ async def test_update_floor_setting_async( assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.asyncio @@ -6214,6 +6234,9 @@ async def test_get_floor_setting_empty_call_grpc_asyncio(): service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) await client.get_floor_setting(request=None) @@ -6244,6 +6267,9 @@ async def test_update_floor_setting_empty_call_grpc_asyncio(): service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[ + service.FloorSetting.IntegratedService.AI_PLATFORM + ], ) ) await client.update_floor_setting(request=None) @@ -6634,6 +6660,7 @@ def test_create_template_rest_call_success(request_type): "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value", "log_template_operations": True, "log_sanitize_operations": True, + "enforcement_type": 1, "multi_language_detection": {"enable_multi_language_detection": True}, }, } @@ -6861,6 +6888,7 @@ def test_update_template_rest_call_success(request_type): "custom_llm_response_safety_error_message": "custom_llm_response_safety_error_message_value", "log_template_operations": True, "log_sanitize_operations": True, + "enforcement_type": 1, "multi_language_detection": {"enable_multi_language_detection": True}, }, } @@ -7169,6 +7197,7 @@ def test_get_floor_setting_rest_call_success(request_type): return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) # Wrap the value into a proper Response obj @@ -7187,6 +7216,9 @@ def test_get_floor_setting_rest_call_success(request_type): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.parametrize("null_interceptor", [True, False]) @@ -7314,6 +7346,13 @@ def test_update_floor_setting_rest_call_success(request_type): "malicious_uri_filter_settings": {"filter_enforcement": 1}, }, "enable_floor_setting_enforcement": True, + "integrated_services": [1], + "ai_platform_floor_setting": { + "inspect_only": True, + "inspect_and_block": True, + "enable_cloud_logging": True, + }, + "floor_setting_metadata": {}, } # The version of a generated dependency at test runtime may differ from the version used during generation. # Delete any fields which are not present in the current runtime dependency @@ -7390,6 +7429,7 @@ def get_message_fields(field): return_value = service.FloorSetting( name="name_value", enable_floor_setting_enforcement=True, + integrated_services=[service.FloorSetting.IntegratedService.AI_PLATFORM], ) # Wrap the value into a proper Response obj @@ -7408,6 +7448,9 @@ def get_message_fields(field): assert isinstance(response, service.FloorSetting) assert response.name == "name_value" assert response.enable_floor_setting_enforcement is True + assert response.integrated_services == [ + service.FloorSetting.IntegratedService.AI_PLATFORM + ] @pytest.mark.parametrize("null_interceptor", [True, False])