metadata_service.proto 53 KB

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