metadata_service.proto 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.cloud.aiplatform.v1beta1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/aiplatform/v1beta1/artifact.proto";
  21. import "google/cloud/aiplatform/v1beta1/context.proto";
  22. import "google/cloud/aiplatform/v1beta1/event.proto";
  23. import "google/cloud/aiplatform/v1beta1/execution.proto";
  24. import "google/cloud/aiplatform/v1beta1/lineage_subgraph.proto";
  25. import "google/cloud/aiplatform/v1beta1/metadata_schema.proto";
  26. import "google/cloud/aiplatform/v1beta1/metadata_store.proto";
  27. import "google/cloud/aiplatform/v1beta1/operation.proto";
  28. import "google/longrunning/operations.proto";
  29. import "google/protobuf/field_mask.proto";
  30. option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
  31. option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
  32. option java_multiple_files = true;
  33. option java_outer_classname = "MetadataServiceProto";
  34. option java_package = "com.google.cloud.aiplatform.v1beta1";
  35. option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
  36. option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
  37. // Service for reading and writing metadata entries.
  38. service MetadataService {
  39. option (google.api.default_host) = "aiplatform.googleapis.com";
  40. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  41. // Initializes a MetadataStore, including allocation of resources.
  42. rpc CreateMetadataStore(CreateMetadataStoreRequest) returns (google.longrunning.Operation) {
  43. option (google.api.http) = {
  44. post: "/v1beta1/{parent=projects/*/locations/*}/metadataStores"
  45. body: "metadata_store"
  46. };
  47. option (google.api.method_signature) = "parent,metadata_store,metadata_store_id";
  48. option (google.longrunning.operation_info) = {
  49. response_type: "MetadataStore"
  50. metadata_type: "CreateMetadataStoreOperationMetadata"
  51. };
  52. }
  53. // Retrieves a specific MetadataStore.
  54. rpc GetMetadataStore(GetMetadataStoreRequest) returns (MetadataStore) {
  55. option (google.api.http) = {
  56. get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*}"
  57. };
  58. option (google.api.method_signature) = "name";
  59. }
  60. // Lists MetadataStores for a Location.
  61. rpc ListMetadataStores(ListMetadataStoresRequest) returns (ListMetadataStoresResponse) {
  62. option (google.api.http) = {
  63. get: "/v1beta1/{parent=projects/*/locations/*}/metadataStores"
  64. };
  65. option (google.api.method_signature) = "parent";
  66. }
  67. // Deletes a single MetadataStore and all its child resources (Artifacts,
  68. // Executions, and Contexts).
  69. rpc DeleteMetadataStore(DeleteMetadataStoreRequest) returns (google.longrunning.Operation) {
  70. option (google.api.http) = {
  71. delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*}"
  72. };
  73. option (google.api.method_signature) = "name";
  74. option (google.longrunning.operation_info) = {
  75. response_type: "google.protobuf.Empty"
  76. metadata_type: "DeleteMetadataStoreOperationMetadata"
  77. };
  78. }
  79. // Creates an Artifact associated with a MetadataStore.
  80. rpc CreateArtifact(CreateArtifactRequest) returns (Artifact) {
  81. option (google.api.http) = {
  82. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts"
  83. body: "artifact"
  84. };
  85. option (google.api.method_signature) = "parent,artifact,artifact_id";
  86. }
  87. // Retrieves a specific Artifact.
  88. rpc GetArtifact(GetArtifactRequest) returns (Artifact) {
  89. option (google.api.http) = {
  90. get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}"
  91. };
  92. option (google.api.method_signature) = "name";
  93. }
  94. // Lists Artifacts in the MetadataStore.
  95. rpc ListArtifacts(ListArtifactsRequest) returns (ListArtifactsResponse) {
  96. option (google.api.http) = {
  97. get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts"
  98. };
  99. option (google.api.method_signature) = "parent";
  100. }
  101. // Updates a stored Artifact.
  102. rpc UpdateArtifact(UpdateArtifactRequest) returns (Artifact) {
  103. option (google.api.http) = {
  104. patch: "/v1beta1/{artifact.name=projects/*/locations/*/metadataStores/*/artifacts/*}"
  105. body: "artifact"
  106. };
  107. option (google.api.method_signature) = "artifact,update_mask";
  108. }
  109. // Deletes an Artifact.
  110. rpc DeleteArtifact(DeleteArtifactRequest) returns (google.longrunning.Operation) {
  111. option (google.api.http) = {
  112. delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}"
  113. };
  114. option (google.api.method_signature) = "name";
  115. option (google.longrunning.operation_info) = {
  116. response_type: "google.protobuf.Empty"
  117. metadata_type: "DeleteOperationMetadata"
  118. };
  119. }
  120. // Purges Artifacts.
  121. rpc PurgeArtifacts(PurgeArtifactsRequest) returns (google.longrunning.Operation) {
  122. option (google.api.http) = {
  123. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts:purge"
  124. body: "*"
  125. };
  126. option (google.api.method_signature) = "parent";
  127. option (google.longrunning.operation_info) = {
  128. response_type: "PurgeArtifactsResponse"
  129. metadata_type: "PurgeArtifactsMetadata"
  130. };
  131. }
  132. // Creates a Context associated with a MetadataStore.
  133. rpc CreateContext(CreateContextRequest) returns (Context) {
  134. option (google.api.http) = {
  135. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts"
  136. body: "context"
  137. };
  138. option (google.api.method_signature) = "parent,context,context_id";
  139. }
  140. // Retrieves a specific Context.
  141. rpc GetContext(GetContextRequest) returns (Context) {
  142. option (google.api.http) = {
  143. get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}"
  144. };
  145. option (google.api.method_signature) = "name";
  146. }
  147. // Lists Contexts on the MetadataStore.
  148. rpc ListContexts(ListContextsRequest) returns (ListContextsResponse) {
  149. option (google.api.http) = {
  150. get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts"
  151. };
  152. option (google.api.method_signature) = "parent";
  153. }
  154. // Updates a stored Context.
  155. rpc UpdateContext(UpdateContextRequest) returns (Context) {
  156. option (google.api.http) = {
  157. patch: "/v1beta1/{context.name=projects/*/locations/*/metadataStores/*/contexts/*}"
  158. body: "context"
  159. };
  160. option (google.api.method_signature) = "context,update_mask";
  161. }
  162. // Deletes a stored Context.
  163. rpc DeleteContext(DeleteContextRequest) returns (google.longrunning.Operation) {
  164. option (google.api.http) = {
  165. delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}"
  166. };
  167. option (google.api.method_signature) = "name";
  168. option (google.longrunning.operation_info) = {
  169. response_type: "google.protobuf.Empty"
  170. metadata_type: "DeleteOperationMetadata"
  171. };
  172. }
  173. // Purges Contexts.
  174. rpc PurgeContexts(PurgeContextsRequest) returns (google.longrunning.Operation) {
  175. option (google.api.http) = {
  176. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts:purge"
  177. body: "*"
  178. };
  179. option (google.api.method_signature) = "parent";
  180. option (google.longrunning.operation_info) = {
  181. response_type: "PurgeContextsResponse"
  182. metadata_type: "PurgeContextsMetadata"
  183. };
  184. }
  185. // Adds a set of Artifacts and Executions to a Context. If any of the
  186. // Artifacts or Executions have already been added to a Context, they are
  187. // simply skipped.
  188. rpc AddContextArtifactsAndExecutions(AddContextArtifactsAndExecutionsRequest) returns (AddContextArtifactsAndExecutionsResponse) {
  189. option (google.api.http) = {
  190. post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextArtifactsAndExecutions"
  191. body: "*"
  192. };
  193. option (google.api.method_signature) = "context,artifacts,executions";
  194. }
  195. // Adds a set of Contexts as children to a parent Context. If any of the
  196. // child Contexts have already been added to the parent Context, they are
  197. // simply skipped. If this call would create a cycle or cause any Context to
  198. // have more than 10 parents, the request will fail with an INVALID_ARGUMENT
  199. // error.
  200. rpc AddContextChildren(AddContextChildrenRequest) returns (AddContextChildrenResponse) {
  201. option (google.api.http) = {
  202. post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextChildren"
  203. body: "*"
  204. };
  205. option (google.api.method_signature) = "context,child_contexts";
  206. }
  207. // Remove a set of children contexts from a parent Context. If any of the
  208. // child Contexts were NOT added to the parent Context, they are
  209. // simply skipped.
  210. rpc RemoveContextChildren(RemoveContextChildrenRequest) returns (RemoveContextChildrenResponse) {
  211. option (google.api.http) = {
  212. post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:removeContextChildren"
  213. body: "*"
  214. };
  215. option (google.api.method_signature) = "context,child_contexts";
  216. }
  217. // Retrieves Artifacts and Executions within the specified Context, connected
  218. // by Event edges and returned as a LineageSubgraph.
  219. rpc QueryContextLineageSubgraph(QueryContextLineageSubgraphRequest) returns (LineageSubgraph) {
  220. option (google.api.http) = {
  221. get: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:queryContextLineageSubgraph"
  222. };
  223. option (google.api.method_signature) = "context";
  224. }
  225. // Creates an Execution associated with a MetadataStore.
  226. rpc CreateExecution(CreateExecutionRequest) returns (Execution) {
  227. option (google.api.http) = {
  228. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions"
  229. body: "execution"
  230. };
  231. option (google.api.method_signature) = "parent,execution,execution_id";
  232. }
  233. // Retrieves a specific Execution.
  234. rpc GetExecution(GetExecutionRequest) returns (Execution) {
  235. option (google.api.http) = {
  236. get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}"
  237. };
  238. option (google.api.method_signature) = "name";
  239. }
  240. // Lists Executions in the MetadataStore.
  241. rpc ListExecutions(ListExecutionsRequest) returns (ListExecutionsResponse) {
  242. option (google.api.http) = {
  243. get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions"
  244. };
  245. option (google.api.method_signature) = "parent";
  246. }
  247. // Updates a stored Execution.
  248. rpc UpdateExecution(UpdateExecutionRequest) returns (Execution) {
  249. option (google.api.http) = {
  250. patch: "/v1beta1/{execution.name=projects/*/locations/*/metadataStores/*/executions/*}"
  251. body: "execution"
  252. };
  253. option (google.api.method_signature) = "execution,update_mask";
  254. }
  255. // Deletes an Execution.
  256. rpc DeleteExecution(DeleteExecutionRequest) returns (google.longrunning.Operation) {
  257. option (google.api.http) = {
  258. delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}"
  259. };
  260. option (google.api.method_signature) = "name";
  261. option (google.longrunning.operation_info) = {
  262. response_type: "google.protobuf.Empty"
  263. metadata_type: "DeleteOperationMetadata"
  264. };
  265. }
  266. // Purges Executions.
  267. rpc PurgeExecutions(PurgeExecutionsRequest) returns (google.longrunning.Operation) {
  268. option (google.api.http) = {
  269. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions:purge"
  270. body: "*"
  271. };
  272. option (google.api.method_signature) = "parent";
  273. option (google.longrunning.operation_info) = {
  274. response_type: "PurgeExecutionsResponse"
  275. metadata_type: "PurgeExecutionsMetadata"
  276. };
  277. }
  278. // Adds Events to the specified Execution. An Event indicates whether an
  279. // Artifact was used as an input or output for an Execution. If an Event
  280. // already exists between the Execution and the Artifact, the Event is
  281. // skipped.
  282. rpc AddExecutionEvents(AddExecutionEventsRequest) returns (AddExecutionEventsResponse) {
  283. option (google.api.http) = {
  284. post: "/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:addExecutionEvents"
  285. body: "*"
  286. };
  287. option (google.api.method_signature) = "execution,events";
  288. }
  289. // Obtains the set of input and output Artifacts for this Execution, in the
  290. // form of LineageSubgraph that also contains the Execution and connecting
  291. // Events.
  292. rpc QueryExecutionInputsAndOutputs(QueryExecutionInputsAndOutputsRequest) returns (LineageSubgraph) {
  293. option (google.api.http) = {
  294. get: "/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:queryExecutionInputsAndOutputs"
  295. };
  296. option (google.api.method_signature) = "execution";
  297. }
  298. // Creates a MetadataSchema.
  299. rpc CreateMetadataSchema(CreateMetadataSchemaRequest) returns (MetadataSchema) {
  300. option (google.api.http) = {
  301. post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas"
  302. body: "metadata_schema"
  303. };
  304. option (google.api.method_signature) = "parent,metadata_schema,metadata_schema_id";
  305. }
  306. // Retrieves a specific MetadataSchema.
  307. rpc GetMetadataSchema(GetMetadataSchemaRequest) returns (MetadataSchema) {
  308. option (google.api.http) = {
  309. get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/metadataSchemas/*}"
  310. };
  311. option (google.api.method_signature) = "name";
  312. }
  313. // Lists MetadataSchemas.
  314. rpc ListMetadataSchemas(ListMetadataSchemasRequest) returns (ListMetadataSchemasResponse) {
  315. option (google.api.http) = {
  316. get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas"
  317. };
  318. option (google.api.method_signature) = "parent";
  319. }
  320. // Retrieves lineage of an Artifact represented through Artifacts and
  321. // Executions connected by Event edges and returned as a LineageSubgraph.
  322. rpc QueryArtifactLineageSubgraph(QueryArtifactLineageSubgraphRequest) returns (LineageSubgraph) {
  323. option (google.api.http) = {
  324. get: "/v1beta1/{artifact=projects/*/locations/*/metadataStores/*/artifacts/*}:queryArtifactLineageSubgraph"
  325. };
  326. option (google.api.method_signature) = "artifact";
  327. }
  328. }
  329. // Request message for [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore].
  330. message CreateMetadataStoreRequest {
  331. // Required. The resource name of the Location where the MetadataStore should
  332. // be created.
  333. // Format: `projects/{project}/locations/{location}/`
  334. string parent = 1 [
  335. (google.api.field_behavior) = REQUIRED,
  336. (google.api.resource_reference) = {
  337. type: "locations.googleapis.com/Location"
  338. }
  339. ];
  340. // Required. The MetadataStore to create.
  341. MetadataStore metadata_store = 2 [(google.api.field_behavior) = REQUIRED];
  342. // The {metadatastore} portion of the resource name with the format:
  343. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  344. // If not provided, the MetadataStore's ID will be a UUID generated by the
  345. // service.
  346. // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`.
  347. // Must be unique across all MetadataStores in the parent Location.
  348. // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED
  349. // if the caller can't view the preexisting MetadataStore.)
  350. string metadata_store_id = 3;
  351. }
  352. // Details of operations that perform [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore].
  353. message CreateMetadataStoreOperationMetadata {
  354. // Operation metadata for creating a MetadataStore.
  355. GenericOperationMetadata generic_metadata = 1;
  356. }
  357. // Request message for [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore].
  358. message GetMetadataStoreRequest {
  359. // Required. The resource name of the MetadataStore to retrieve.
  360. // Format:
  361. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  362. string name = 1 [
  363. (google.api.field_behavior) = REQUIRED,
  364. (google.api.resource_reference) = {
  365. type: "aiplatform.googleapis.com/MetadataStore"
  366. }
  367. ];
  368. }
  369. // Request message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores].
  370. message ListMetadataStoresRequest {
  371. // Required. The Location whose MetadataStores should be listed.
  372. // Format:
  373. // `projects/{project}/locations/{location}`
  374. string parent = 1 [
  375. (google.api.field_behavior) = REQUIRED,
  376. (google.api.resource_reference) = {
  377. type: "locations.googleapis.com/Location"
  378. }
  379. ];
  380. // The maximum number of Metadata Stores to return. The service may return
  381. // fewer.
  382. // Must be in range 1-1000, inclusive. Defaults to 100.
  383. int32 page_size = 2;
  384. // A page token, received from a previous
  385. // [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores] call. Provide this to retrieve the
  386. // subsequent page.
  387. //
  388. // When paginating, all other provided parameters must match the call that
  389. // provided the page token. (Otherwise the request will fail with
  390. // INVALID_ARGUMENT error.)
  391. string page_token = 3;
  392. }
  393. // Response message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores].
  394. message ListMetadataStoresResponse {
  395. // The MetadataStores found for the Location.
  396. repeated MetadataStore metadata_stores = 1;
  397. // A token, which can be sent as
  398. // [ListMetadataStoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataStoresRequest.page_token] to retrieve the next
  399. // page. If this field is not populated, there are no subsequent pages.
  400. string next_page_token = 2;
  401. }
  402. // Request message for [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore].
  403. message DeleteMetadataStoreRequest {
  404. // Required. The resource name of the MetadataStore to delete.
  405. // Format:
  406. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  407. string name = 1 [
  408. (google.api.field_behavior) = REQUIRED,
  409. (google.api.resource_reference) = {
  410. type: "aiplatform.googleapis.com/MetadataStore"
  411. }
  412. ];
  413. // Deprecated: Field is no longer supported.
  414. bool force = 2 [deprecated = true];
  415. }
  416. // Details of operations that perform [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore].
  417. message DeleteMetadataStoreOperationMetadata {
  418. // Operation metadata for deleting a MetadataStore.
  419. GenericOperationMetadata generic_metadata = 1;
  420. }
  421. // Request message for [MetadataService.CreateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact].
  422. message CreateArtifactRequest {
  423. // Required. The resource name of the MetadataStore where the Artifact should
  424. // be created.
  425. // Format:
  426. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  427. string parent = 1 [
  428. (google.api.field_behavior) = REQUIRED,
  429. (google.api.resource_reference) = {
  430. type: "aiplatform.googleapis.com/MetadataStore"
  431. }
  432. ];
  433. // Required. The Artifact to create.
  434. Artifact artifact = 2 [(google.api.field_behavior) = REQUIRED];
  435. // The {artifact} portion of the resource name with the format:
  436. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  437. // If not provided, the Artifact's ID will be a UUID generated by the service.
  438. // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`.
  439. // Must be unique across all Artifacts in the parent MetadataStore. (Otherwise
  440. // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the
  441. // caller can't view the preexisting Artifact.)
  442. string artifact_id = 3;
  443. }
  444. // Request message for [MetadataService.GetArtifact][google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact].
  445. message GetArtifactRequest {
  446. // Required. The resource name of the Artifact to retrieve.
  447. // Format:
  448. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  449. string name = 1 [
  450. (google.api.field_behavior) = REQUIRED,
  451. (google.api.resource_reference) = {
  452. type: "aiplatform.googleapis.com/Artifact"
  453. }
  454. ];
  455. }
  456. // Request message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts].
  457. message ListArtifactsRequest {
  458. // Required. The MetadataStore whose Artifacts should be listed.
  459. // Format:
  460. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  461. string parent = 1 [
  462. (google.api.field_behavior) = REQUIRED,
  463. (google.api.resource_reference) = {
  464. child_type: "aiplatform.googleapis.com/Artifact"
  465. }
  466. ];
  467. // The maximum number of Artifacts to return. The service may return fewer.
  468. // Must be in range 1-1000, inclusive. Defaults to 100.
  469. int32 page_size = 2;
  470. // A page token, received from a previous [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]
  471. // call. Provide this to retrieve the subsequent page.
  472. //
  473. // When paginating, all other provided parameters must match the call that
  474. // provided the page token. (Otherwise the request will fail with
  475. // INVALID_ARGUMENT error.)
  476. string page_token = 3;
  477. // Filter specifying the boolean condition for the Artifacts to satisfy in
  478. // order to be part of the result set.
  479. // The syntax to define filter query is based on https://google.aip.dev/160.
  480. // The supported set of filters include the following:
  481. //
  482. // * **Attribute filtering**:
  483. // For example: `display_name = "test"`.
  484. // Supported fields include: `name`, `display_name`, `uri`, `state`,
  485. // `schema_title`, `create_time`, and `update_time`.
  486. // Time fields, such as `create_time` and `update_time`, require values
  487. // specified in RFC-3339 format.
  488. // For example: `create_time = "2020-11-19T11:30:00-04:00"`
  489. // * **Metadata field**:
  490. // To filter on metadata fields use traversal operation as follows:
  491. // `metadata.<field_name>.<type_value>`.
  492. // For example: `metadata.field_1.number_value = 10.0`
  493. // * **Context based filtering**:
  494. // To filter Artifacts based on the contexts to which they belong, use the
  495. // function operator with the full resource name
  496. // `in_context(<context-name>)`.
  497. // For example:
  498. // `in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>")`
  499. //
  500. // Each of the above supported filter types can be combined together using
  501. // logical operators (`AND` & `OR`). Maximum nested expression depth allowed
  502. // is 5.
  503. //
  504. // For example: `display_name = "test" AND metadata.field1.bool_value = true`.
  505. string filter = 4;
  506. // How the list of messages is ordered. Specify the values to order by and an
  507. // ordering operation. The default sorting order is ascending. To specify
  508. // descending order for a field, users append a " desc" suffix; for example:
  509. // "foo desc, bar".
  510. // Subfields are specified with a `.` character, such as foo.bar.
  511. // see https://google.aip.dev/132#ordering for more details.
  512. string order_by = 5;
  513. }
  514. // Response message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts].
  515. message ListArtifactsResponse {
  516. // The Artifacts retrieved from the MetadataStore.
  517. repeated Artifact artifacts = 1;
  518. // A token, which can be sent as [ListArtifactsRequest.page_token][google.cloud.aiplatform.v1beta1.ListArtifactsRequest.page_token]
  519. // to retrieve the next page.
  520. // If this field is not populated, there are no subsequent pages.
  521. string next_page_token = 2;
  522. }
  523. // Request message for [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact].
  524. message UpdateArtifactRequest {
  525. // Required. The Artifact containing updates.
  526. // The Artifact's [Artifact.name][google.cloud.aiplatform.v1beta1.Artifact.name] field is used to identify the Artifact to
  527. // be updated.
  528. // Format:
  529. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  530. Artifact artifact = 1 [(google.api.field_behavior) = REQUIRED];
  531. // Optional. A FieldMask indicating which fields should be updated.
  532. // Functionality of this field is not yet supported.
  533. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
  534. // If set to true, and the [Artifact][google.cloud.aiplatform.v1beta1.Artifact] is not found, a new [Artifact][google.cloud.aiplatform.v1beta1.Artifact] is
  535. // created.
  536. bool allow_missing = 3;
  537. }
  538. // Request message for [MetadataService.DeleteArtifact][google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact].
  539. message DeleteArtifactRequest {
  540. // Required. The resource name of the Artifact to delete.
  541. // Format:
  542. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  543. string name = 1 [
  544. (google.api.field_behavior) = REQUIRED,
  545. (google.api.resource_reference) = {
  546. type: "aiplatform.googleapis.com/Artifact"
  547. }
  548. ];
  549. // Optional. The etag of the Artifact to delete.
  550. // If this is provided, it must match the server's etag. Otherwise, the
  551. // request will fail with a FAILED_PRECONDITION.
  552. string etag = 2 [(google.api.field_behavior) = OPTIONAL];
  553. }
  554. // Request message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts].
  555. message PurgeArtifactsRequest {
  556. // Required. The metadata store to purge Artifacts from.
  557. // Format:
  558. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  559. string parent = 1 [
  560. (google.api.field_behavior) = REQUIRED,
  561. (google.api.resource_reference) = {
  562. child_type: "aiplatform.googleapis.com/Artifact"
  563. }
  564. ];
  565. // Required. A required filter matching the Artifacts to be purged.
  566. // E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
  567. string filter = 2 [(google.api.field_behavior) = REQUIRED];
  568. // Optional. Flag to indicate to actually perform the purge.
  569. // If `force` is set to false, the method will return a sample of
  570. // Artifact names that would be deleted.
  571. bool force = 3 [(google.api.field_behavior) = OPTIONAL];
  572. }
  573. // Response message for [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts].
  574. message PurgeArtifactsResponse {
  575. // The number of Artifacts that this request deleted (or, if `force` is false,
  576. // the number of Artifacts that will be deleted). This can be an estimate.
  577. int64 purge_count = 1;
  578. // A sample of the Artifact names that will be deleted.
  579. // Only populated if `force` is set to false. The maximum number of samples is
  580. // 100 (it is possible to return fewer).
  581. repeated string purge_sample = 2 [(google.api.resource_reference) = {
  582. type: "aiplatform.googleapis.com/Artifact"
  583. }];
  584. }
  585. // Details of operations that perform [MetadataService.PurgeArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts].
  586. message PurgeArtifactsMetadata {
  587. // Operation metadata for purging Artifacts.
  588. GenericOperationMetadata generic_metadata = 1;
  589. }
  590. // Request message for [MetadataService.CreateContext][google.cloud.aiplatform.v1beta1.MetadataService.CreateContext].
  591. message CreateContextRequest {
  592. // Required. The resource name of the MetadataStore where the Context should be
  593. // created.
  594. // Format:
  595. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  596. string parent = 1 [
  597. (google.api.field_behavior) = REQUIRED,
  598. (google.api.resource_reference) = {
  599. type: "aiplatform.googleapis.com/MetadataStore"
  600. }
  601. ];
  602. // Required. The Context to create.
  603. Context context = 2 [(google.api.field_behavior) = REQUIRED];
  604. // The {context} portion of the resource name with the format:
  605. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`.
  606. // If not provided, the Context's ID will be a UUID generated by the service.
  607. // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`.
  608. // Must be unique across all Contexts in the parent MetadataStore. (Otherwise
  609. // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the
  610. // caller can't view the preexisting Context.)
  611. string context_id = 3;
  612. }
  613. // Request message for [MetadataService.GetContext][google.cloud.aiplatform.v1beta1.MetadataService.GetContext].
  614. message GetContextRequest {
  615. // Required. The resource name of the Context to retrieve.
  616. // Format:
  617. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  618. string name = 1 [
  619. (google.api.field_behavior) = REQUIRED,
  620. (google.api.resource_reference) = {
  621. type: "aiplatform.googleapis.com/Context"
  622. }
  623. ];
  624. }
  625. // Request message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts]
  626. message ListContextsRequest {
  627. // Required. The MetadataStore whose Contexts should be listed.
  628. // Format:
  629. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  630. string parent = 1 [
  631. (google.api.field_behavior) = REQUIRED,
  632. (google.api.resource_reference) = {
  633. child_type: "aiplatform.googleapis.com/Context"
  634. }
  635. ];
  636. // The maximum number of Contexts to return. The service may return fewer.
  637. // Must be in range 1-1000, inclusive. Defaults to 100.
  638. int32 page_size = 2;
  639. // A page token, received from a previous [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts]
  640. // call. Provide this to retrieve the subsequent page.
  641. //
  642. // When paginating, all other provided parameters must match the call that
  643. // provided the page token. (Otherwise the request will fail with
  644. // INVALID_ARGUMENT error.)
  645. string page_token = 3;
  646. // Filter specifying the boolean condition for the Contexts to satisfy in
  647. // order to be part of the result set.
  648. // The syntax to define filter query is based on https://google.aip.dev/160.
  649. // Following are the supported set of filters:
  650. //
  651. // * **Attribute filtering**:
  652. // For example: `display_name = "test"`.
  653. // Supported fields include: `name`, `display_name`, `schema_title`,
  654. // `create_time`, and `update_time`.
  655. // Time fields, such as `create_time` and `update_time`, require values
  656. // specified in RFC-3339 format.
  657. // For example: `create_time = "2020-11-19T11:30:00-04:00"`.
  658. // * **Metadata field**:
  659. // To filter on metadata fields use traversal operation as follows:
  660. // `metadata.<field_name>.<type_value>`.
  661. // For example: `metadata.field_1.number_value = 10.0`.
  662. // * **Parent Child filtering**:
  663. // To filter Contexts based on parent-child relationship use the HAS
  664. // operator as follows:
  665. //
  666. // ```
  667. // parent_contexts:
  668. // "projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context_id>"
  669. // child_contexts:
  670. // "projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context_id>"
  671. // ```
  672. //
  673. // Each of the above supported filters can be combined together using
  674. // logical operators (`AND` & `OR`). Maximum nested expression depth allowed
  675. // is 5.
  676. //
  677. // For example: `display_name = "test" AND metadata.field1.bool_value = true`.
  678. string filter = 4;
  679. // How the list of messages is ordered. Specify the values to order by and an
  680. // ordering operation. The default sorting order is ascending. To specify
  681. // descending order for a field, users append a " desc" suffix; for example:
  682. // "foo desc, bar".
  683. // Subfields are specified with a `.` character, such as foo.bar.
  684. // see https://google.aip.dev/132#ordering for more details.
  685. string order_by = 5;
  686. }
  687. // Response message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts].
  688. message ListContextsResponse {
  689. // The Contexts retrieved from the MetadataStore.
  690. repeated Context contexts = 1;
  691. // A token, which can be sent as [ListContextsRequest.page_token][google.cloud.aiplatform.v1beta1.ListContextsRequest.page_token]
  692. // to retrieve the next page.
  693. // If this field is not populated, there are no subsequent pages.
  694. string next_page_token = 2;
  695. }
  696. // Request message for [MetadataService.UpdateContext][google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext].
  697. message UpdateContextRequest {
  698. // Required. The Context containing updates.
  699. // The Context's [Context.name][google.cloud.aiplatform.v1beta1.Context.name] field is used to identify the Context to be
  700. // updated.
  701. // Format:
  702. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  703. Context context = 1 [(google.api.field_behavior) = REQUIRED];
  704. // Optional. A FieldMask indicating which fields should be updated.
  705. // Functionality of this field is not yet supported.
  706. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
  707. // If set to true, and the [Context][google.cloud.aiplatform.v1beta1.Context] is not found, a new [Context][google.cloud.aiplatform.v1beta1.Context] is
  708. // created.
  709. bool allow_missing = 3;
  710. }
  711. // Request message for [MetadataService.DeleteContext][google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext].
  712. message DeleteContextRequest {
  713. // Required. The resource name of the Context to delete.
  714. // Format:
  715. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  716. string name = 1 [
  717. (google.api.field_behavior) = REQUIRED,
  718. (google.api.resource_reference) = {
  719. type: "aiplatform.googleapis.com/Context"
  720. }
  721. ];
  722. // The force deletion semantics is still undefined.
  723. // Users should not use this field.
  724. bool force = 2;
  725. // Optional. The etag of the Context to delete.
  726. // If this is provided, it must match the server's etag. Otherwise, the
  727. // request will fail with a FAILED_PRECONDITION.
  728. string etag = 3 [(google.api.field_behavior) = OPTIONAL];
  729. }
  730. // Request message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts].
  731. message PurgeContextsRequest {
  732. // Required. The metadata store to purge Contexts from.
  733. // Format:
  734. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  735. string parent = 1 [
  736. (google.api.field_behavior) = REQUIRED,
  737. (google.api.resource_reference) = {
  738. child_type: "aiplatform.googleapis.com/Context"
  739. }
  740. ];
  741. // Required. A required filter matching the Contexts to be purged.
  742. // E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
  743. string filter = 2 [(google.api.field_behavior) = REQUIRED];
  744. // Optional. Flag to indicate to actually perform the purge.
  745. // If `force` is set to false, the method will return a sample of
  746. // Context names that would be deleted.
  747. bool force = 3 [(google.api.field_behavior) = OPTIONAL];
  748. }
  749. // Response message for [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts].
  750. message PurgeContextsResponse {
  751. // The number of Contexts that this request deleted (or, if `force` is false,
  752. // the number of Contexts that will be deleted). This can be an estimate.
  753. int64 purge_count = 1;
  754. // A sample of the Context names that will be deleted.
  755. // Only populated if `force` is set to false. The maximum number of samples is
  756. // 100 (it is possible to return fewer).
  757. repeated string purge_sample = 2 [(google.api.resource_reference) = {
  758. type: "aiplatform.googleapis.com/Context"
  759. }];
  760. }
  761. // Details of operations that perform [MetadataService.PurgeContexts][google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts].
  762. message PurgeContextsMetadata {
  763. // Operation metadata for purging Contexts.
  764. GenericOperationMetadata generic_metadata = 1;
  765. }
  766. // Request message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions].
  767. message AddContextArtifactsAndExecutionsRequest {
  768. // Required. The resource name of the Context that the Artifacts and Executions
  769. // belong to.
  770. // Format:
  771. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  772. string context = 1 [
  773. (google.api.field_behavior) = REQUIRED,
  774. (google.api.resource_reference) = {
  775. type: "aiplatform.googleapis.com/Context"
  776. }
  777. ];
  778. // The resource names of the Artifacts to attribute to the Context.
  779. //
  780. // Format:
  781. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  782. repeated string artifacts = 2 [(google.api.resource_reference) = {
  783. type: "aiplatform.googleapis.com/Artifact"
  784. }];
  785. // The resource names of the Executions to associate with the
  786. // Context.
  787. //
  788. // Format:
  789. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  790. repeated string executions = 3 [(google.api.resource_reference) = {
  791. type: "aiplatform.googleapis.com/Execution"
  792. }];
  793. }
  794. // Response message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions].
  795. message AddContextArtifactsAndExecutionsResponse {
  796. }
  797. // Request message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren].
  798. message AddContextChildrenRequest {
  799. // Required. The resource name of the parent Context.
  800. //
  801. // Format:
  802. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  803. string context = 1 [
  804. (google.api.field_behavior) = REQUIRED,
  805. (google.api.resource_reference) = {
  806. type: "aiplatform.googleapis.com/Context"
  807. }
  808. ];
  809. // The resource names of the child Contexts.
  810. repeated string child_contexts = 2 [(google.api.resource_reference) = {
  811. type: "aiplatform.googleapis.com/Context"
  812. }];
  813. }
  814. // Response message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren].
  815. message AddContextChildrenResponse {
  816. }
  817. // Request message for
  818. // [MetadataService.DeleteContextChildrenRequest][].
  819. message RemoveContextChildrenRequest {
  820. // Required. The resource name of the parent Context.
  821. //
  822. // Format:
  823. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  824. string context = 1 [
  825. (google.api.field_behavior) = REQUIRED,
  826. (google.api.resource_reference) = {
  827. type: "aiplatform.googleapis.com/Context"
  828. }
  829. ];
  830. // The resource names of the child Contexts.
  831. repeated string child_contexts = 2 [(google.api.resource_reference) = {
  832. type: "aiplatform.googleapis.com/Context"
  833. }];
  834. }
  835. // Response message for [MetadataService.RemoveContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren].
  836. message RemoveContextChildrenResponse {
  837. }
  838. // Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph].
  839. message QueryContextLineageSubgraphRequest {
  840. // Required. The resource name of the Context whose Artifacts and Executions
  841. // should be retrieved as a LineageSubgraph.
  842. // Format:
  843. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
  844. //
  845. // The request may error with FAILED_PRECONDITION if the number of Artifacts,
  846. // the number of Executions, or the number of Events that would be returned
  847. // for the Context exceeds 1000.
  848. string context = 1 [
  849. (google.api.field_behavior) = REQUIRED,
  850. (google.api.resource_reference) = {
  851. type: "aiplatform.googleapis.com/Context"
  852. }
  853. ];
  854. }
  855. // Request message for [MetadataService.CreateExecution][google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution].
  856. message CreateExecutionRequest {
  857. // Required. The resource name of the MetadataStore where the Execution should
  858. // be created.
  859. // Format:
  860. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  861. string parent = 1 [
  862. (google.api.field_behavior) = REQUIRED,
  863. (google.api.resource_reference) = {
  864. type: "aiplatform.googleapis.com/MetadataStore"
  865. }
  866. ];
  867. // Required. The Execution to create.
  868. Execution execution = 2 [(google.api.field_behavior) = REQUIRED];
  869. // The {execution} portion of the resource name with the format:
  870. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  871. // If not provided, the Execution's ID will be a UUID generated by the
  872. // service.
  873. // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`.
  874. // Must be unique across all Executions in the parent MetadataStore.
  875. // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED
  876. // if the caller can't view the preexisting Execution.)
  877. string execution_id = 3;
  878. }
  879. // Request message for [MetadataService.GetExecution][google.cloud.aiplatform.v1beta1.MetadataService.GetExecution].
  880. message GetExecutionRequest {
  881. // Required. The resource name of the Execution to retrieve.
  882. // Format:
  883. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  884. string name = 1 [
  885. (google.api.field_behavior) = REQUIRED,
  886. (google.api.resource_reference) = {
  887. type: "aiplatform.googleapis.com/Execution"
  888. }
  889. ];
  890. }
  891. // Request message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions].
  892. message ListExecutionsRequest {
  893. // Required. The MetadataStore whose Executions should be listed.
  894. // Format:
  895. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  896. string parent = 1 [
  897. (google.api.field_behavior) = REQUIRED,
  898. (google.api.resource_reference) = {
  899. child_type: "aiplatform.googleapis.com/Execution"
  900. }
  901. ];
  902. // The maximum number of Executions to return. The service may return fewer.
  903. // Must be in range 1-1000, inclusive. Defaults to 100.
  904. int32 page_size = 2;
  905. // A page token, received from a previous [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]
  906. // call. Provide this to retrieve the subsequent page.
  907. //
  908. // When paginating, all other provided parameters must match the call that
  909. // provided the page token. (Otherwise the request will fail with an
  910. // INVALID_ARGUMENT error.)
  911. string page_token = 3;
  912. // Filter specifying the boolean condition for the Executions to satisfy in
  913. // order to be part of the result set.
  914. // The syntax to define filter query is based on https://google.aip.dev/160.
  915. // Following are the supported set of filters:
  916. //
  917. // * **Attribute filtering**:
  918. // For example: `display_name = "test"`.
  919. // Supported fields include: `name`, `display_name`, `state`,
  920. // `schema_title`, `create_time`, and `update_time`.
  921. // Time fields, such as `create_time` and `update_time`, require values
  922. // specified in RFC-3339 format.
  923. // For example: `create_time = "2020-11-19T11:30:00-04:00"`.
  924. // * **Metadata field**:
  925. // To filter on metadata fields use traversal operation as follows:
  926. // `metadata.<field_name>.<type_value>`
  927. // For example: `metadata.field_1.number_value = 10.0`
  928. // * **Context based filtering**:
  929. // To filter Executions based on the contexts to which they belong use
  930. // the function operator with the full resource name:
  931. // `in_context(<context-name>)`.
  932. // For example:
  933. // `in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>")`
  934. //
  935. // Each of the above supported filters can be combined together using
  936. // logical operators (`AND` & `OR`). Maximum nested expression depth allowed
  937. // is 5.
  938. //
  939. // For example: `display_name = "test" AND metadata.field1.bool_value = true`.
  940. string filter = 4;
  941. // How the list of messages is ordered. Specify the values to order by and an
  942. // ordering operation. The default sorting order is ascending. To specify
  943. // descending order for a field, users append a " desc" suffix; for example:
  944. // "foo desc, bar".
  945. // Subfields are specified with a `.` character, such as foo.bar.
  946. // see https://google.aip.dev/132#ordering for more details.
  947. string order_by = 5;
  948. }
  949. // Response message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions].
  950. message ListExecutionsResponse {
  951. // The Executions retrieved from the MetadataStore.
  952. repeated Execution executions = 1;
  953. // A token, which can be sent as [ListExecutionsRequest.page_token][google.cloud.aiplatform.v1beta1.ListExecutionsRequest.page_token]
  954. // to retrieve the next page.
  955. // If this field is not populated, there are no subsequent pages.
  956. string next_page_token = 2;
  957. }
  958. // Request message for [MetadataService.UpdateExecution][google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution].
  959. message UpdateExecutionRequest {
  960. // Required. The Execution containing updates.
  961. // The Execution's [Execution.name][google.cloud.aiplatform.v1beta1.Execution.name] field is used to identify the Execution
  962. // to be updated.
  963. // Format:
  964. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  965. Execution execution = 1 [(google.api.field_behavior) = REQUIRED];
  966. // Optional. A FieldMask indicating which fields should be updated.
  967. // Functionality of this field is not yet supported.
  968. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
  969. // If set to true, and the [Execution][google.cloud.aiplatform.v1beta1.Execution] is not found, a new [Execution][google.cloud.aiplatform.v1beta1.Execution]
  970. // is created.
  971. bool allow_missing = 3;
  972. }
  973. // Request message for [MetadataService.DeleteExecution][google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution].
  974. message DeleteExecutionRequest {
  975. // Required. The resource name of the Execution to delete.
  976. // Format:
  977. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  978. string name = 1 [
  979. (google.api.field_behavior) = REQUIRED,
  980. (google.api.resource_reference) = {
  981. type: "aiplatform.googleapis.com/Execution"
  982. }
  983. ];
  984. // Optional. The etag of the Execution to delete.
  985. // If this is provided, it must match the server's etag. Otherwise, the
  986. // request will fail with a FAILED_PRECONDITION.
  987. string etag = 2 [(google.api.field_behavior) = OPTIONAL];
  988. }
  989. // Request message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions].
  990. message PurgeExecutionsRequest {
  991. // Required. The metadata store to purge Executions from.
  992. // Format:
  993. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  994. string parent = 1 [
  995. (google.api.field_behavior) = REQUIRED,
  996. (google.api.resource_reference) = {
  997. child_type: "aiplatform.googleapis.com/Execution"
  998. }
  999. ];
  1000. // Required. A required filter matching the Executions to be purged.
  1001. // E.g., `update_time <= 2020-11-19T11:30:00-04:00`.
  1002. string filter = 2 [(google.api.field_behavior) = REQUIRED];
  1003. // Optional. Flag to indicate to actually perform the purge.
  1004. // If `force` is set to false, the method will return a sample of
  1005. // Execution names that would be deleted.
  1006. bool force = 3 [(google.api.field_behavior) = OPTIONAL];
  1007. }
  1008. // Response message for [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions].
  1009. message PurgeExecutionsResponse {
  1010. // The number of Executions that this request deleted (or, if `force` is
  1011. // false, the number of Executions that will be deleted). This can be an
  1012. // estimate.
  1013. int64 purge_count = 1;
  1014. // A sample of the Execution names that will be deleted.
  1015. // Only populated if `force` is set to false. The maximum number of samples is
  1016. // 100 (it is possible to return fewer).
  1017. repeated string purge_sample = 2 [(google.api.resource_reference) = {
  1018. type: "aiplatform.googleapis.com/Execution"
  1019. }];
  1020. }
  1021. // Details of operations that perform [MetadataService.PurgeExecutions][google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions].
  1022. message PurgeExecutionsMetadata {
  1023. // Operation metadata for purging Executions.
  1024. GenericOperationMetadata generic_metadata = 1;
  1025. }
  1026. // Request message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents].
  1027. message AddExecutionEventsRequest {
  1028. // Required. The resource name of the Execution that the Events connect
  1029. // Artifacts with.
  1030. // Format:
  1031. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  1032. string execution = 1 [
  1033. (google.api.field_behavior) = REQUIRED,
  1034. (google.api.resource_reference) = {
  1035. type: "aiplatform.googleapis.com/Execution"
  1036. }
  1037. ];
  1038. // The Events to create and add.
  1039. repeated Event events = 2;
  1040. }
  1041. // Response message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents].
  1042. message AddExecutionEventsResponse {
  1043. }
  1044. // Request message for [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs].
  1045. message QueryExecutionInputsAndOutputsRequest {
  1046. // Required. The resource name of the Execution whose input and output Artifacts should
  1047. // be retrieved as a LineageSubgraph.
  1048. // Format:
  1049. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
  1050. string execution = 1 [
  1051. (google.api.field_behavior) = REQUIRED,
  1052. (google.api.resource_reference) = {
  1053. type: "aiplatform.googleapis.com/Execution"
  1054. }
  1055. ];
  1056. }
  1057. // Request message for [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema].
  1058. message CreateMetadataSchemaRequest {
  1059. // Required. The resource name of the MetadataStore where the MetadataSchema should
  1060. // be created.
  1061. // Format:
  1062. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  1063. string parent = 1 [
  1064. (google.api.field_behavior) = REQUIRED,
  1065. (google.api.resource_reference) = {
  1066. type: "aiplatform.googleapis.com/MetadataStore"
  1067. }
  1068. ];
  1069. // Required. The MetadataSchema to create.
  1070. MetadataSchema metadata_schema = 2 [(google.api.field_behavior) = REQUIRED];
  1071. // The {metadata_schema} portion of the resource name with the format:
  1072. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`
  1073. // If not provided, the MetadataStore's ID will be a UUID generated by the
  1074. // service.
  1075. // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`.
  1076. // Must be unique across all MetadataSchemas in the parent Location.
  1077. // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED
  1078. // if the caller can't view the preexisting MetadataSchema.)
  1079. string metadata_schema_id = 3;
  1080. }
  1081. // Request message for [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema].
  1082. message GetMetadataSchemaRequest {
  1083. // Required. The resource name of the MetadataSchema to retrieve.
  1084. // Format:
  1085. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`
  1086. string name = 1 [
  1087. (google.api.field_behavior) = REQUIRED,
  1088. (google.api.resource_reference) = {
  1089. type: "aiplatform.googleapis.com/MetadataSchema"
  1090. }
  1091. ];
  1092. }
  1093. // Request message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas].
  1094. message ListMetadataSchemasRequest {
  1095. // Required. The MetadataStore whose MetadataSchemas should be listed.
  1096. // Format:
  1097. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}`
  1098. string parent = 1 [
  1099. (google.api.field_behavior) = REQUIRED,
  1100. (google.api.resource_reference) = {
  1101. child_type: "aiplatform.googleapis.com/MetadataSchema"
  1102. }
  1103. ];
  1104. // The maximum number of MetadataSchemas to return. The service may return
  1105. // fewer.
  1106. // Must be in range 1-1000, inclusive. Defaults to 100.
  1107. int32 page_size = 2;
  1108. // A page token, received from a previous
  1109. // [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas] call. Provide this to retrieve the
  1110. // next page.
  1111. //
  1112. // When paginating, all other provided parameters must match the call that
  1113. // provided the page token. (Otherwise the request will fail with
  1114. // INVALID_ARGUMENT error.)
  1115. string page_token = 3;
  1116. // A query to filter available MetadataSchemas for matching results.
  1117. string filter = 4;
  1118. }
  1119. // Response message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas].
  1120. message ListMetadataSchemasResponse {
  1121. // The MetadataSchemas found for the MetadataStore.
  1122. repeated MetadataSchema metadata_schemas = 1;
  1123. // A token, which can be sent as
  1124. // [ListMetadataSchemasRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest.page_token] to retrieve the next
  1125. // page. If this field is not populated, there are no subsequent pages.
  1126. string next_page_token = 2;
  1127. }
  1128. // Request message for [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph].
  1129. message QueryArtifactLineageSubgraphRequest {
  1130. // Required. The resource name of the Artifact whose Lineage needs to be retrieved as a
  1131. // LineageSubgraph.
  1132. // Format:
  1133. // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
  1134. //
  1135. // The request may error with FAILED_PRECONDITION if the number of Artifacts,
  1136. // the number of Executions, or the number of Events that would be returned
  1137. // for the Context exceeds 1000.
  1138. string artifact = 1 [
  1139. (google.api.field_behavior) = REQUIRED,
  1140. (google.api.resource_reference) = {
  1141. type: "aiplatform.googleapis.com/Artifact"
  1142. }
  1143. ];
  1144. // Specifies the size of the lineage graph in terms of number of hops from the
  1145. // specified artifact.
  1146. // Negative Value: INVALID_ARGUMENT error is returned
  1147. // 0: Only input artifact is returned.
  1148. // No value: Transitive closure is performed to return the complete graph.
  1149. int32 max_hops = 2;
  1150. // Filter specifying the boolean condition for the Artifacts to satisfy in
  1151. // order to be part of the Lineage Subgraph.
  1152. // The syntax to define filter query is based on https://google.aip.dev/160.
  1153. // The supported set of filters include the following:
  1154. //
  1155. // * **Attribute filtering**:
  1156. // For example: `display_name = "test"`
  1157. // Supported fields include: `name`, `display_name`, `uri`, `state`,
  1158. // `schema_title`, `create_time`, and `update_time`.
  1159. // Time fields, such as `create_time` and `update_time`, require values
  1160. // specified in RFC-3339 format.
  1161. // For example: `create_time = "2020-11-19T11:30:00-04:00"`
  1162. // * **Metadata field**:
  1163. // To filter on metadata fields use traversal operation as follows:
  1164. // `metadata.<field_name>.<type_value>`.
  1165. // For example: `metadata.field_1.number_value = 10.0`
  1166. //
  1167. // Each of the above supported filter types can be combined together using
  1168. // logical operators (`AND` & `OR`). Maximum nested expression depth allowed
  1169. // is 5.
  1170. //
  1171. // For example: `display_name = "test" AND metadata.field1.bool_value = true`.
  1172. string filter = 3;
  1173. }