Skip to content

Commit 3403a38

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add support for Inline source based deployment
docs: A comment for message `ReasoningEngineSpec` is changed docs: A comment for field `package_spec` in message `.google.cloud.aiplatform.v1.ReasoningEngineSpec` is changed PiperOrigin-RevId: 819343785
1 parent 91d2fc6 commit 3403a38

1 file changed

Lines changed: 67 additions & 1 deletion

File tree

google/cloud/aiplatform/v1/reasoning_engine.proto

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ option ruby_package = "Google::Cloud::AIPlatform::V1";
3434

3535
// ReasoningEngine configurations
3636
message ReasoningEngineSpec {
37-
// User provided package spec like pickled object and package requirements.
37+
// User-provided package specification, containing pickled object and package
38+
// requirements.
3839
message PackageSpec {
3940
// Optional. The Cloud Storage URI of the pickled python object.
4041
string pickle_object_gcs_uri = 1 [(google.api.field_behavior) = OPTIONAL];
@@ -98,6 +99,66 @@ message ReasoningEngineSpec {
9899
[(google.api.field_behavior) = OPTIONAL];
99100
}
100101

102+
// Specification for deploying from source code.
103+
message SourceCodeSpec {
104+
// Specifies source code provided as a byte stream.
105+
message InlineSource {
106+
// Required. Input only. The application source code archive, provided as
107+
// a compressed tarball
108+
// (.tar.gz) file.
109+
bytes source_archive = 1 [
110+
(google.api.field_behavior) = REQUIRED,
111+
(google.api.field_behavior) = INPUT_ONLY
112+
];
113+
}
114+
115+
// Specification for running a Python application from source.
116+
message PythonSpec {
117+
// Optional. The version of Python to use. Support version
118+
// includes 3.9, 3.10, 3.11, 3.12, 3.13.
119+
// If not specified, default value is 3.10.
120+
string version = 1 [(google.api.field_behavior) = OPTIONAL];
121+
122+
// Optional. The Python module to load as the entrypoint, specified as a
123+
// fully qualified module name. For example: path.to.agent.
124+
// If not specified, defaults to "agent".
125+
//
126+
// The project root will be added to Python sys.path, allowing imports
127+
// to be specified relative to the root.
128+
string entrypoint_module = 2 [(google.api.field_behavior) = OPTIONAL];
129+
130+
// Optional. The name of the callable object within the
131+
// `entrypoint_module` to use as the application If not specified,
132+
// defaults to "root_agent".
133+
string entrypoint_object = 3 [(google.api.field_behavior) = OPTIONAL];
134+
135+
// Optional. The path to the requirements file, relative to the source
136+
// root. If not specified, defaults to "requirements.txt".
137+
string requirements_file = 4 [(google.api.field_behavior) = OPTIONAL];
138+
}
139+
140+
// Specifies where the source code is located.
141+
oneof source {
142+
// Source code is provided directly in the request.
143+
InlineSource inline_source = 1;
144+
}
145+
146+
// Specifies the language-specific configuration for building and running
147+
// the code.
148+
oneof language_spec {
149+
// Configuration for a Python application.
150+
PythonSpec python_spec = 2;
151+
}
152+
}
153+
154+
// Defines the source for the deployment.
155+
// The `package_spec` field should not be set if `deployment_source` is
156+
// specified.
157+
oneof deployment_source {
158+
// Deploy from source code files with a defined entrypoint.
159+
SourceCodeSpec source_code_spec = 11;
160+
}
161+
101162
// Optional. The service account that the Reasoning Engine artifact runs as.
102163
// It should have "roles/storage.objectViewer" for reading the user project's
103164
// Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If
@@ -109,6 +170,8 @@ message ReasoningEngineSpec {
109170
// Ignored when users directly specify a deployment image through
110171
// `deployment_spec.first_party_image_override`, but keeping the
111172
// field_behavior to avoid introducing breaking changes.
173+
// The `deployment_source` field should not be set if `package_spec` is
174+
// specified.
112175
PackageSpec package_spec = 2 [(google.api.field_behavior) = OPTIONAL];
113176

114177
// Optional. The specification of a Reasoning Engine deployment.
@@ -165,4 +228,7 @@ message ReasoningEngine {
165228
// ReasoningEngine and all sub-resources of this ReasoningEngine will be
166229
// secured by this key.
167230
EncryptionSpec encryption_spec = 11;
231+
232+
// Labels for the ReasoningEngine.
233+
map<string, string> labels = 17;
168234
}

0 commit comments

Comments
 (0)