Skip to content

Commit 9643347

Browse files
feat: add field ReasoningEngineSpec.service_account (#6547)
* feat: Added the ability to use the Model Armor service for content sanitization PiperOrigin-RevId: 788957149 Source-Link: googleapis/googleapis@2d4fbff Source-Link: googleapis/googleapis-gen@fc4a4a0 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6ImZjNGE0YTA5OTU3YjhlMDgwOGJiZTcwY2ViYzRkMzBkZmNjYjEwZjQifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add enable_datapoint_upsert_logging to google.cloud.aiplatform.v1.DeployedIndex PiperOrigin-RevId: 789091292 Source-Link: googleapis/googleapis@abf48aa Source-Link: googleapis/googleapis-gen@06f6925 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjA2ZjY5MjVhZGU3ZDhkMGViZDI5MTM3ZWUzYmUyNDUzMmVkODhkMzcifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add `DeploymentStage` for CreateEndpointOperationMetadata and DeployModelOperationMetadata docs: update MutateDeployedModel documentation PiperOrigin-RevId: 789150946 Source-Link: googleapis/googleapis@0e31cfe Source-Link: googleapis/googleapis-gen@3d4256d Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjNkNDI1NmRjOWUzYzdlYTg1MjYwZjViY2E2ZTlhNmFhOGQzN2M1NzUifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add `DeploymentStage` for CreateEndpointOperationMetadata and DeployModelOperationMetadata docs: update MutateDeployedModel documentation PiperOrigin-RevId: 789152949 Source-Link: googleapis/googleapis@e468628 Source-Link: googleapis/googleapis-gen@290211f Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjI5MDIxMWZjMGY5MWI5NDAxNDQzNDcyNTRjY2U3NWI5YjM3MzYxODgifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add field ReasoningEngineSpec.service_account feat: add field ReasoningEngine.encryption_spec PiperOrigin-RevId: 789364610 Source-Link: googleapis/googleapis@bc9d698 Source-Link: googleapis/googleapis-gen@11671ae Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFpcGxhdGZvcm0vLk93bEJvdC55YW1sIiwiaCI6IjExNjcxYWVhZmQzZjg1NWFlN2VhZjIyYWUzZDQyNmEzN2FiZWI4YzMifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 36c69e3 commit 9643347

90 files changed

Lines changed: 1275 additions & 26 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/content.proto

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ syntax = "proto3";
1717
package google.cloud.aiplatform.v1;
1818

1919
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
2021
import "google/cloud/aiplatform/v1/openapi.proto";
2122
import "google/cloud/aiplatform/v1/tool.proto";
2223
import "google/cloud/aiplatform/v1/vertex_rag_data.proto";
@@ -31,6 +32,10 @@ option java_outer_classname = "ContentProto";
3132
option java_package = "com.google.cloud.aiplatform.v1";
3233
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
3334
option ruby_package = "Google::Cloud::AIPlatform::V1";
35+
option (google.api.resource_definition) = {
36+
type: "modelarmor.googleapis.com/Template"
37+
pattern: "projects/{project}/locations/{location}/templates/{template}"
38+
};
3439

3540
// Harm categories that will block the content.
3641
enum HarmCategory {
@@ -503,6 +508,9 @@ message Candidate {
503508

504509
// The function call generated by the model is invalid.
505510
MALFORMED_FUNCTION_CALL = 9;
511+
512+
// The model response was blocked by Model Armor.
513+
MODEL_ARMOR = 10;
506514
}
507515

508516
// Output only. Index of the candidate.
@@ -725,6 +733,27 @@ message RetrievalMetadata {
725733
[(google.api.field_behavior) = OPTIONAL];
726734
}
727735

736+
// Configuration for Model Armor integrations of prompt and responses.
737+
message ModelArmorConfig {
738+
// Optional. The name of the Model Armor template to use for prompt
739+
// sanitization.
740+
string prompt_template_name = 1 [
741+
(google.api.field_behavior) = OPTIONAL,
742+
(google.api.resource_reference) = {
743+
type: "modelarmor.googleapis.com/Template"
744+
}
745+
];
746+
747+
// Optional. The name of the Model Armor template to use for response
748+
// sanitization.
749+
string response_template_name = 2 [
750+
(google.api.field_behavior) = OPTIONAL,
751+
(google.api.resource_reference) = {
752+
type: "modelarmor.googleapis.com/Template"
753+
}
754+
];
755+
}
756+
728757
// Represents token counting info for a single modality.
729758
message ModalityTokenCount {
730759
// The modality associated with this token count.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Copyright 2025 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1;
18+
19+
option csharp_namespace = "Google.Cloud.AIPlatform.V1";
20+
option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "DeploymentStageProto";
23+
option java_package = "com.google.cloud.aiplatform.v1";
24+
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
25+
option ruby_package = "Google::Cloud::AIPlatform::V1";
26+
27+
// Stage field indicating the current progress of a deployment.
28+
enum DeploymentStage {
29+
// Default value. This value is unused.
30+
DEPLOYMENT_STAGE_UNSPECIFIED = 0;
31+
32+
// The deployment is initializing and setting up the environment.
33+
STARTING_DEPLOYMENT = 5;
34+
35+
// The deployment is preparing the model assets.
36+
PREPARING_MODEL = 6;
37+
38+
// The deployment is creating the underlying serving cluster.
39+
CREATING_SERVING_CLUSTER = 7;
40+
41+
// The deployment is adding nodes to the serving cluster.
42+
ADDING_NODES_TO_CLUSTER = 8;
43+
44+
// The deployment is getting the container image for the model server.
45+
GETTING_CONTAINER_IMAGE = 9;
46+
47+
// The deployment is starting the model server.
48+
STARTING_MODEL_SERVER = 3;
49+
50+
// The deployment is performing finalization steps.
51+
FINISHING_UP = 4;
52+
53+
// The deployment has terminated.
54+
DEPLOYMENT_TERMINATED = 10;
55+
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/endpoint_service.proto

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import "google/api/annotations.proto";
2020
import "google/api/client.proto";
2121
import "google/api/field_behavior.proto";
2222
import "google/api/resource.proto";
23+
import "google/cloud/aiplatform/v1/deployment_stage.proto";
2324
import "google/cloud/aiplatform/v1/endpoint.proto";
2425
import "google/cloud/aiplatform/v1/operation.proto";
2526
import "google/longrunning/operations.proto";
@@ -138,9 +139,9 @@ service EndpointService {
138139
}
139140

140141
// Updates an existing deployed model. Updatable fields include
141-
// `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`,
142-
// `disable_container_logging` (v1 only), and `enable_container_logging`
143-
// (v1beta1 only).
142+
// `min_replica_count`, `max_replica_count`, `required_replica_count`,
143+
// `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and
144+
// `enable_container_logging` (v1beta1 only).
144145
rpc MutateDeployedModel(MutateDeployedModelRequest)
145146
returns (google.longrunning.Operation) {
146147
option (google.api.http) = {
@@ -193,6 +194,11 @@ message CreateEndpointRequest {
193194
message CreateEndpointOperationMetadata {
194195
// The operation generic information.
195196
GenericOperationMetadata generic_metadata = 1;
197+
198+
// Output only. The deployment stage of the model. Only populated if this
199+
// CreateEndpoint request deploys a model at the same time.
200+
DeploymentStage deployment_stage = 2
201+
[(google.api.field_behavior) = OUTPUT_ONLY];
196202
}
197203

198204
// Request message for
@@ -372,6 +378,10 @@ message DeployModelResponse {
372378
message DeployModelOperationMetadata {
373379
// The operation generic information.
374380
GenericOperationMetadata generic_metadata = 1;
381+
382+
// Output only. The deployment stage of the model.
383+
DeploymentStage deployment_stage = 2
384+
[(google.api.field_behavior) = OUTPUT_ONLY];
375385
}
376386

377387
// Request message for
@@ -433,6 +443,8 @@ message MutateDeployedModelRequest {
433443
// * `max_replica_count` in either
434444
// [DedicatedResources][google.cloud.aiplatform.v1.DedicatedResources] or
435445
// [AutomaticResources][google.cloud.aiplatform.v1.AutomaticResources]
446+
// * `required_replica_count` in
447+
// [DedicatedResources][google.cloud.aiplatform.v1.DedicatedResources]
436448
// * [autoscaling_metric_specs][google.cloud.aiplatform.v1.DedicatedResources.autoscaling_metric_specs]
437449
// * `disable_container_logging` (v1 only)
438450
// * `enable_container_logging` (v1beta1 only)

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/index_endpoint.proto

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,19 @@ message DeployedIndex {
227227
// Estimate your costs before enabling this option.
228228
bool enable_access_logging = 8 [(google.api.field_behavior) = OPTIONAL];
229229

230+
// Optional. If true, logs to Cloud Logging errors relating to datapoint
231+
// upserts.
232+
//
233+
// Under normal operation conditions, these log entries should be very rare.
234+
// However, if incompatible datapoint updates are being uploaded to an index,
235+
// a high volume of log entries may be generated in a short period of time.
236+
//
237+
// Note that logs may incur a cost, especially if the deployed index receives
238+
// a high volume of datapoint upserts. Estimate your costs before enabling
239+
// this option.
240+
bool enable_datapoint_upsert_logging = 20
241+
[(google.api.field_behavior) = OPTIONAL];
242+
230243
// Optional. If set, the authentication is enabled for the private endpoint.
231244
DeployedIndexAuthConfig deployed_index_auth_config = 9
232245
[(google.api.field_behavior) = OPTIONAL];

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1/prediction_service.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,11 @@ message GenerateContentRequest {
738738
repeated SafetySetting safety_settings = 3
739739
[(google.api.field_behavior) = OPTIONAL];
740740

741+
// Optional. Settings for prompt and response sanitization using the Model
742+
// Armor service. If supplied, safety_settings must not be supplied.
743+
ModelArmorConfig model_armor_config = 11
744+
[(google.api.field_behavior) = OPTIONAL];
745+
741746
// Optional. Generation config.
742747
GenerationConfig generation_config = 4
743748
[(google.api.field_behavior) = OPTIONAL];
@@ -764,6 +769,9 @@ message GenerateContentResponse {
764769

765770
// Candidates blocked due to prohibited content.
766771
PROHIBITED_CONTENT = 4;
772+
773+
// The user prompt was blocked by Model Armor.
774+
MODEL_ARMOR = 5;
767775
}
768776

769777
// Output only. Blocked reason.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Copyright 2025 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1beta1;
18+
19+
option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
20+
option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "DeploymentStageProto";
23+
option java_package = "com.google.cloud.aiplatform.v1beta1";
24+
option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
25+
option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
26+
27+
// Stage field indicating the current progress of a deployment.
28+
enum DeploymentStage {
29+
// Default value. This value is unused.
30+
DEPLOYMENT_STAGE_UNSPECIFIED = 0;
31+
32+
// The deployment is initializing and setting up the environment.
33+
STARTING_DEPLOYMENT = 5;
34+
35+
// The deployment is preparing the model assets.
36+
PREPARING_MODEL = 6;
37+
38+
// The deployment is creating the underlying serving cluster.
39+
CREATING_SERVING_CLUSTER = 7;
40+
41+
// The deployment is adding nodes to the serving cluster.
42+
ADDING_NODES_TO_CLUSTER = 8;
43+
44+
// The deployment is getting the container image for the model server.
45+
GETTING_CONTAINER_IMAGE = 9;
46+
47+
// The deployment is starting the model server.
48+
STARTING_MODEL_SERVER = 3;
49+
50+
// The deployment is performing finalization steps.
51+
FINISHING_UP = 4;
52+
53+
// The deployment has terminated.
54+
DEPLOYMENT_TERMINATED = 10;
55+
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/endpoint_service.proto

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import "google/api/annotations.proto";
2020
import "google/api/client.proto";
2121
import "google/api/field_behavior.proto";
2222
import "google/api/resource.proto";
23+
import "google/cloud/aiplatform/v1beta1/deployment_stage.proto";
2324
import "google/cloud/aiplatform/v1beta1/endpoint.proto";
2425
import "google/cloud/aiplatform/v1beta1/operation.proto";
2526
import "google/longrunning/operations.proto";
@@ -138,9 +139,9 @@ service EndpointService {
138139
}
139140

140141
// Updates an existing deployed model. Updatable fields include
141-
// `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`,
142-
// `disable_container_logging` (v1 only), and `enable_container_logging`
143-
// (v1beta1 only).
142+
// `min_replica_count`, `max_replica_count`, `required_replica_count`,
143+
// `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and
144+
// `enable_container_logging` (v1beta1 only).
144145
rpc MutateDeployedModel(MutateDeployedModelRequest)
145146
returns (google.longrunning.Operation) {
146147
option (google.api.http) = {
@@ -217,6 +218,11 @@ message CreateEndpointRequest {
217218
message CreateEndpointOperationMetadata {
218219
// The operation generic information.
219220
GenericOperationMetadata generic_metadata = 1;
221+
222+
// Output only. The deployment stage of the model. Only populated if this
223+
// CreateEndpoint request deploys a model at the same time.
224+
DeploymentStage deployment_stage = 2
225+
[(google.api.field_behavior) = OUTPUT_ONLY];
220226
}
221227

222228
// Request message for
@@ -385,6 +391,10 @@ message DeployModelResponse {
385391
message DeployModelOperationMetadata {
386392
// The operation generic information.
387393
GenericOperationMetadata generic_metadata = 1;
394+
395+
// Output only. The deployment stage of the model.
396+
DeploymentStage deployment_stage = 2
397+
[(google.api.field_behavior) = OUTPUT_ONLY];
388398
}
389399

390400
// Request message for
@@ -483,6 +493,8 @@ message MutateDeployedModelRequest {
483493
// * `max_replica_count` in either
484494
// [DedicatedResources][google.cloud.aiplatform.v1beta1.DedicatedResources] or
485495
// [AutomaticResources][google.cloud.aiplatform.v1beta1.AutomaticResources]
496+
// * `required_replica_count` in
497+
// [DedicatedResources][google.cloud.aiplatform.v1beta1.DedicatedResources]
486498
// * [autoscaling_metric_specs][google.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs]
487499
// * `disable_container_logging` (v1 only)
488500
// * `enable_container_logging` (v1beta1 only)

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/reasoning_engine.proto

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package google.cloud.aiplatform.v1beta1;
1818

1919
import "google/api/field_behavior.proto";
2020
import "google/api/resource.proto";
21+
import "google/cloud/aiplatform/v1beta1/encryption_spec.proto";
2122
import "google/cloud/aiplatform/v1beta1/env_var.proto";
2223
import "google/protobuf/struct.proto";
2324
import "google/protobuf/timestamp.proto";
@@ -132,6 +133,11 @@ message ReasoningEngine {
132133
// context.
133134
ReasoningEngineContextSpec context_spec = 9
134135
[(google.api.field_behavior) = OPTIONAL];
136+
137+
// Customer-managed encryption key spec for a ReasoningEngine. If set, this
138+
// ReasoningEngine and all sub-resources of this ReasoningEngine will be
139+
// secured by this key.
140+
EncryptionSpec encryption_spec = 11;
135141
}
136142

137143
// Configuration for how Agent Engine sub-resources should manage context.

0 commit comments

Comments
 (0)