Class: Google::Cloud::AIPlatform::V1::ReasoningEngineSpec

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb

Overview

ReasoningEngine configurations

Defined Under Namespace

Classes: DeploymentSpec, PackageSpec, SourceCodeSpec

Instance Attribute Summary collapse

Instance Attribute Details

#agent_framework::String

Returns Optional. The OSS agent framework used to develop the agent. Currently supported values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".

Returns:

  • (::String)

    Optional. The OSS agent framework used to develop the agent. Currently supported values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#class_methods::Array<::Google::Protobuf::Struct>

Returns Optional. Declarations for object class methods in OpenAPI specification format.

Returns:



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#deployment_spec::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::DeploymentSpec

Returns Optional. The specification of a Reasoning Engine deployment.

Returns:



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#package_spec::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::PackageSpec

Returns Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deployment_spec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. The deployment_source field should not be set if package_spec is specified.

Returns:

  • (::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::PackageSpec)

    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deployment_spec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. The deployment_source field should not be set if package_spec is specified.



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#service_account::String

Returns Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.

Returns:

  • (::String)

    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine Service Agent in the project will be used.



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#source_code_spec::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec

Returns Deploy from source code files with a defined entrypoint.

Returns:



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'proto_docs/google/cloud/aiplatform/v1/reasoning_engine.rb', line 55

class ReasoningEngineSpec
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # User-provided package specification, containing pickled object and package
  # requirements.
  # @!attribute [rw] pickle_object_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the pickled python object.
  # @!attribute [rw] dependency_files_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the dependency files in tar.gz format.
  # @!attribute [rw] requirements_gcs_uri
  #   @return [::String]
  #     Optional. The Cloud Storage URI of the `requirements.txt` file
  # @!attribute [rw] python_version
  #   @return [::String]
  #     Optional. The Python version. Supported values
  #     are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value
  #     is 3.10.
  class PackageSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The specification of a Reasoning Engine deployment.
  # @!attribute [rw] env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::EnvVar>]
  #     Optional. Environment variables to be set with the Reasoning Engine
  #     deployment. The environment variables can be updated through the
  #     UpdateReasoningEngine API.
  # @!attribute [rw] secret_env
  #   @return [::Array<::Google::Cloud::AIPlatform::V1::SecretEnvVar>]
  #     Optional. Environment variables where the value is a secret in Cloud
  #     Secret Manager.
  #     To use this feature, add 'Secret Manager Secret Accessor' role
  #     (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine
  #     Service Agent.
  # @!attribute [rw] psc_interface_config
  #   @return [::Google::Cloud::AIPlatform::V1::PscInterfaceConfig]
  #     Optional. Configuration for PSC-I.
  # @!attribute [rw] min_instances
  #   @return [::Integer]
  #     Optional. The minimum number of application instances that will be kept
  #     running at all times. Defaults to 1. Range: [0, 10].
  # @!attribute [rw] max_instances
  #   @return [::Integer]
  #     Optional. The maximum number of application instances that can be
  #     launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
  #
  #     If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
  # @!attribute [rw] resource_limits
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Optional. Resource limits for each container. Only 'cpu' and 'memory'
  #     keys are supported. Defaults to \\{"cpu": "4", "memory": "4Gi"}.
  #
  #       * The only supported values for CPU are '1', '2', '4', '6' and '8'. For
  #       more information, go to
  #       https://cloud.google.com/run/docs/configuring/cpu.
  #       * The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
  #       * For required cpu on different memory values, go to
  #       https://cloud.google.com/run/docs/configuring/memory-limits
  # @!attribute [rw] container_concurrency
  #   @return [::Integer]
  #     Optional. Concurrency for each container and agent server. Recommended
  #     value: 2 * cpu + 1. Defaults to 9.
  class DeploymentSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ResourceLimitsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Specification for deploying from source code.
  # @!attribute [rw] inline_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::InlineSource]
  #     Source code is provided directly in the request.
  #
  #     Note: The following fields are mutually exclusive: `inline_source`, `developer_connect_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] developer_connect_source
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectSource]
  #     Source code is in a Git repository managed by Developer Connect.
  #
  #     Note: The following fields are mutually exclusive: `developer_connect_source`, `inline_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] python_spec
  #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::PythonSpec]
  #     Configuration for a Python application.
  class SourceCodeSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Specifies source code provided as a byte stream.
    # @!attribute [rw] source_archive
    #   @return [::String]
    #     Required. Input only. The application source code archive, provided as
    #     a compressed tarball (.tar.gz) file.
    class InlineSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies the configuration for fetching source code from a Git
    # repository that is managed by Developer Connect. This includes the
    # repository, revision, and directory to use.
    # @!attribute [rw] git_repository_link
    #   @return [::String]
    #     Required. The Developer Connect Git repository link, formatted as
    #     `projects/*/locations/*/connections/*/gitRepositoryLink/*`.
    # @!attribute [rw] dir
    #   @return [::String]
    #     Required. Directory, relative to the source root, in which to run the
    #     build.
    # @!attribute [rw] revision
    #   @return [::String]
    #     Required. The revision to fetch from the Git repository such as a
    #     branch, a tag, a commit SHA, or any Git ref.
    class DeveloperConnectConfig
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specifies source code to be fetched from a Git repository managed through
    # the Developer Connect service.
    # @!attribute [rw] config
    #   @return [::Google::Cloud::AIPlatform::V1::ReasoningEngineSpec::SourceCodeSpec::DeveloperConnectConfig]
    #     Required. The Developer Connect configuration that defines the
    #     specific repository, revision, and directory to use as the source code
    #     root.
    class DeveloperConnectSource
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Specification for running a Python application from source.
    # @!attribute [rw] version
    #   @return [::String]
    #     Optional. The version of Python to use. Support version
    #     includes 3.9, 3.10, 3.11, 3.12, 3.13.
    #     If not specified, default value is 3.10.
    # @!attribute [rw] entrypoint_module
    #   @return [::String]
    #     Optional. The Python module to load as the entrypoint, specified as a
    #     fully qualified module name. For example: path.to.agent.
    #     If not specified, defaults to "agent".
    #
    #     The project root will be added to Python sys.path, allowing imports
    #     to be specified relative to the root.
    # @!attribute [rw] entrypoint_object
    #   @return [::String]
    #     Optional. The name of the callable object within the
    #     `entrypoint_module` to use as the application If not specified,
    #     defaults to "root_agent".
    # @!attribute [rw] requirements_file
    #   @return [::String]
    #     Optional. The path to the requirements file, relative to the source
    #     root. If not specified, defaults to "requirements.txt".
    class PythonSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end