metastore.proto 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285
  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.metastore.v1beta;
  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/longrunning/operations.proto";
  21. import "google/protobuf/field_mask.proto";
  22. import "google/protobuf/timestamp.proto";
  23. import "google/protobuf/wrappers.proto";
  24. import "google/type/dayofweek.proto";
  25. option go_package = "google.golang.org/genproto/googleapis/cloud/metastore/v1beta;metastore";
  26. option php_namespace = "Google\\Cloud\\Metastore\\V1beta";
  27. option java_multiple_files = true;
  28. option java_outer_classname = "MetastoreProto";
  29. option java_package = "com.google.cloud.metastore.v1beta";
  30. option (google.api.resource_definition) = {
  31. type: "compute.googleapis.com/Network"
  32. pattern: "projects/{project}/global/networks/{network}"
  33. };
  34. // Configures and manages metastore services.
  35. // Metastore services are fully managed, highly available, auto-scaled,
  36. // auto-healing, OSS-native deployments of technical metadata management
  37. // software. Each metastore service exposes a network endpoint through which
  38. // metadata queries are served. Metadata queries can originate from a variety
  39. // of sources, including Apache Hive, Apache Presto, and Apache Spark.
  40. //
  41. // The Dataproc Metastore API defines the following resource model:
  42. //
  43. // * The service works with a collection of Google Cloud projects, named:
  44. // `/projects/*`
  45. // * Each project has a collection of available locations, named: `/locations/*`
  46. // (a location must refer to a Google Cloud `region`)
  47. // * Each location has a collection of services, named: `/services/*`
  48. // * Dataproc Metastore services are resources with names of the form:
  49. //
  50. // `/projects/{project_number}/locations/{location_id}/services/{service_id}`.
  51. service DataprocMetastore {
  52. option (google.api.default_host) = "metastore.googleapis.com";
  53. option (google.api.oauth_scopes) =
  54. "https://www.googleapis.com/auth/cloud-platform";
  55. // Lists services in a project and location.
  56. rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
  57. option (google.api.http) = {
  58. get: "/v1beta/{parent=projects/*/locations/*}/services"
  59. };
  60. option (google.api.method_signature) = "parent";
  61. }
  62. // Gets the details of a single service.
  63. rpc GetService(GetServiceRequest) returns (Service) {
  64. option (google.api.http) = {
  65. get: "/v1beta/{name=projects/*/locations/*/services/*}"
  66. };
  67. option (google.api.method_signature) = "name";
  68. }
  69. // Creates a metastore service in a project and location.
  70. rpc CreateService(CreateServiceRequest)
  71. returns (google.longrunning.Operation) {
  72. option (google.api.http) = {
  73. post: "/v1beta/{parent=projects/*/locations/*}/services"
  74. body: "service"
  75. };
  76. option (google.api.method_signature) = "parent,service,service_id";
  77. option (google.longrunning.operation_info) = {
  78. response_type: "Service"
  79. metadata_type: "OperationMetadata"
  80. };
  81. }
  82. // Updates the parameters of a single service.
  83. rpc UpdateService(UpdateServiceRequest)
  84. returns (google.longrunning.Operation) {
  85. option (google.api.http) = {
  86. patch: "/v1beta/{service.name=projects/*/locations/*/services/*}"
  87. body: "service"
  88. };
  89. option (google.api.method_signature) = "service,update_mask";
  90. option (google.longrunning.operation_info) = {
  91. response_type: "Service"
  92. metadata_type: "OperationMetadata"
  93. };
  94. }
  95. // Deletes a single service.
  96. rpc DeleteService(DeleteServiceRequest)
  97. returns (google.longrunning.Operation) {
  98. option (google.api.http) = {
  99. delete: "/v1beta/{name=projects/*/locations/*/services/*}"
  100. };
  101. option (google.api.method_signature) = "name";
  102. option (google.longrunning.operation_info) = {
  103. response_type: "google.protobuf.Empty"
  104. metadata_type: "OperationMetadata"
  105. };
  106. }
  107. // Lists imports in a service.
  108. rpc ListMetadataImports(ListMetadataImportsRequest)
  109. returns (ListMetadataImportsResponse) {
  110. option (google.api.http) = {
  111. get: "/v1beta/{parent=projects/*/locations/*/services/*}/metadataImports"
  112. };
  113. option (google.api.method_signature) = "parent";
  114. }
  115. // Gets details of a single import.
  116. rpc GetMetadataImport(GetMetadataImportRequest) returns (MetadataImport) {
  117. option (google.api.http) = {
  118. get: "/v1beta/{name=projects/*/locations/*/services/*/metadataImports/*}"
  119. };
  120. option (google.api.method_signature) = "name";
  121. }
  122. // Creates a new MetadataImport in a given project and location.
  123. rpc CreateMetadataImport(CreateMetadataImportRequest)
  124. returns (google.longrunning.Operation) {
  125. option (google.api.http) = {
  126. post: "/v1beta/{parent=projects/*/locations/*/services/*}/metadataImports"
  127. body: "metadata_import"
  128. };
  129. option (google.api.method_signature) =
  130. "parent,metadata_import,metadata_import_id";
  131. option (google.longrunning.operation_info) = {
  132. response_type: "MetadataImport"
  133. metadata_type: "OperationMetadata"
  134. };
  135. }
  136. // Updates a single import.
  137. // Only the description field of MetadataImport is supported to be updated.
  138. rpc UpdateMetadataImport(UpdateMetadataImportRequest)
  139. returns (google.longrunning.Operation) {
  140. option (google.api.http) = {
  141. patch: "/v1beta/{metadata_import.name=projects/*/locations/*/services/*/metadataImports/*}"
  142. body: "metadata_import"
  143. };
  144. option (google.api.method_signature) = "metadata_import,update_mask";
  145. option (google.longrunning.operation_info) = {
  146. response_type: "MetadataImport"
  147. metadata_type: "OperationMetadata"
  148. };
  149. }
  150. // Exports metadata from a service.
  151. rpc ExportMetadata(ExportMetadataRequest)
  152. returns (google.longrunning.Operation) {
  153. option (google.api.http) = {
  154. post: "/v1beta/{service=projects/*/locations/*/services/*}:exportMetadata"
  155. body: "*"
  156. };
  157. option (google.longrunning.operation_info) = {
  158. response_type: "MetadataExport"
  159. metadata_type: "OperationMetadata"
  160. };
  161. }
  162. // Restores a service from a backup.
  163. rpc RestoreService(RestoreServiceRequest)
  164. returns (google.longrunning.Operation) {
  165. option (google.api.http) = {
  166. post: "/v1beta/{service=projects/*/locations/*/services/*}:restore"
  167. body: "*"
  168. };
  169. option (google.api.method_signature) = "service,backup";
  170. option (google.longrunning.operation_info) = {
  171. response_type: "Restore"
  172. metadata_type: "OperationMetadata"
  173. };
  174. }
  175. // Lists backups in a service.
  176. rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) {
  177. option (google.api.http) = {
  178. get: "/v1beta/{parent=projects/*/locations/*/services/*}/backups"
  179. };
  180. option (google.api.method_signature) = "parent";
  181. }
  182. // Gets details of a single backup.
  183. rpc GetBackup(GetBackupRequest) returns (Backup) {
  184. option (google.api.http) = {
  185. get: "/v1beta/{name=projects/*/locations/*/services/*/backups/*}"
  186. };
  187. option (google.api.method_signature) = "name";
  188. }
  189. // Creates a new Backup in a given project and location.
  190. rpc CreateBackup(CreateBackupRequest) returns (google.longrunning.Operation) {
  191. option (google.api.http) = {
  192. post: "/v1beta/{parent=projects/*/locations/*/services/*}/backups"
  193. body: "backup"
  194. };
  195. option (google.api.method_signature) = "parent,backup,backup_id";
  196. option (google.longrunning.operation_info) = {
  197. response_type: "Backup"
  198. metadata_type: "OperationMetadata"
  199. };
  200. }
  201. // Deletes a single backup.
  202. rpc DeleteBackup(DeleteBackupRequest) returns (google.longrunning.Operation) {
  203. option (google.api.http) = {
  204. delete: "/v1beta/{name=projects/*/locations/*/services/*/backups/*}"
  205. };
  206. option (google.api.method_signature) = "name";
  207. option (google.longrunning.operation_info) = {
  208. response_type: "google.protobuf.Empty"
  209. metadata_type: "OperationMetadata"
  210. };
  211. }
  212. }
  213. // A managed metastore service that serves metadata queries.
  214. message Service {
  215. option (google.api.resource) = {
  216. type: "metastore.googleapis.com/Service"
  217. pattern: "projects/{project}/locations/{location}/services/{service}"
  218. };
  219. // The current state of the metastore service.
  220. enum State {
  221. // The state of the metastore service is unknown.
  222. STATE_UNSPECIFIED = 0;
  223. // The metastore service is in the process of being created.
  224. CREATING = 1;
  225. // The metastore service is running and ready to serve queries.
  226. ACTIVE = 2;
  227. // The metastore service is entering suspension. Its query-serving
  228. // availability may cease unexpectedly.
  229. SUSPENDING = 3;
  230. // The metastore service is suspended and unable to serve queries.
  231. SUSPENDED = 4;
  232. // The metastore service is being updated. It remains usable but cannot
  233. // accept additional update requests or be deleted at this time.
  234. UPDATING = 5;
  235. // The metastore service is undergoing deletion. It cannot be used.
  236. DELETING = 6;
  237. // The metastore service has encountered an error and cannot be used. The
  238. // metastore service should be deleted.
  239. ERROR = 7;
  240. }
  241. // Available service tiers.
  242. enum Tier {
  243. // The tier is not set.
  244. TIER_UNSPECIFIED = 0;
  245. // The developer tier provides limited scalability and no fault tolerance.
  246. // Good for low-cost proof-of-concept.
  247. DEVELOPER = 1;
  248. // The enterprise tier provides multi-zone high availability, and sufficient
  249. // scalability for enterprise-level Dataproc Metastore workloads.
  250. ENTERPRISE = 3;
  251. }
  252. // Release channels bundle features of varying levels of stability. Newer
  253. // features may be introduced initially into less stable release channels and
  254. // can be automatically promoted into more stable release channels.
  255. enum ReleaseChannel {
  256. // Release channel is not specified.
  257. RELEASE_CHANNEL_UNSPECIFIED = 0;
  258. // The `CANARY` release channel contains the newest features, which may be
  259. // unstable and subject to unresolved issues with no known workarounds.
  260. // Services using the `CANARY` release channel are not subject to any SLAs.
  261. CANARY = 1;
  262. // The `STABLE` release channel contains features that are considered stable
  263. // and have been validated for production use.
  264. STABLE = 2;
  265. }
  266. // Configuration properties specific to the underlying metastore service
  267. // technology (the software that serves metastore queries).
  268. oneof metastore_config {
  269. // Configuration information specific to running Hive metastore
  270. // software as the metastore service.
  271. HiveMetastoreConfig hive_metastore_config = 5;
  272. }
  273. // Immutable. The relative resource name of the metastore service, of the
  274. // form:
  275. //
  276. // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
  277. string name = 1 [(google.api.field_behavior) = IMMUTABLE];
  278. // Output only. The time when the metastore service was created.
  279. google.protobuf.Timestamp create_time = 2
  280. [(google.api.field_behavior) = OUTPUT_ONLY];
  281. // Output only. The time when the metastore service was last updated.
  282. google.protobuf.Timestamp update_time = 3
  283. [(google.api.field_behavior) = OUTPUT_ONLY];
  284. // User-defined labels for the metastore service.
  285. map<string, string> labels = 4;
  286. // Immutable. The relative resource name of the VPC network on which the
  287. // instance can be accessed. It is specified in the following form:
  288. //
  289. // `projects/{project_number}/global/networks/{network_id}`.
  290. string network = 7 [
  291. (google.api.field_behavior) = IMMUTABLE,
  292. (google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
  293. ];
  294. // Output only. The URI of the endpoint used to access the metastore service.
  295. string endpoint_uri = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  296. // The TCP port at which the metastore service is reached. Default: 9083.
  297. int32 port = 9;
  298. // Output only. The current state of the metastore service.
  299. State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  300. // Output only. Additional information about the current state of the
  301. // metastore service, if available.
  302. string state_message = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  303. // Output only. A Cloud Storage URI (starting with `gs://`) that specifies
  304. // where artifacts related to the metastore service are stored.
  305. string artifact_gcs_uri = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  306. // The tier of the service.
  307. Tier tier = 13;
  308. // The setting that defines how metastore metadata should be integrated with
  309. // external services and systems.
  310. MetadataIntegration metadata_integration = 14;
  311. // The one hour maintenance window of the metastore service. This specifies
  312. // when the service can be restarted for maintenance purposes in UTC time.
  313. MaintenanceWindow maintenance_window = 15;
  314. // Output only. The globally unique resource identifier of the metastore
  315. // service.
  316. string uid = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
  317. // Output only. The metadata management activities of the metastore service.
  318. MetadataManagementActivity metadata_management_activity = 17
  319. [(google.api.field_behavior) = OUTPUT_ONLY];
  320. // Immutable. The release channel of the service.
  321. // If unspecified, defaults to `STABLE`.
  322. ReleaseChannel release_channel = 19 [(google.api.field_behavior) = IMMUTABLE];
  323. }
  324. // Specifies how metastore metadata should be integrated with external services.
  325. message MetadataIntegration {
  326. // The integration config for the Data Catalog service.
  327. DataCatalogConfig data_catalog_config = 1;
  328. }
  329. // Specifies how metastore metadata should be integrated with the Data Catalog
  330. // service.
  331. message DataCatalogConfig {
  332. // Defines whether the metastore metadata should be synced to Data Catalog.
  333. // The default value is to disable syncing metastore metadata to Data Catalog.
  334. bool enabled = 2;
  335. }
  336. // Maintenance window. This specifies when Dataproc Metastore
  337. // may perform system maintenance operation to the service.
  338. message MaintenanceWindow {
  339. // The hour of day (0-23) when the window starts.
  340. google.protobuf.Int32Value hour_of_day = 1;
  341. // The day of week, when the window starts.
  342. google.type.DayOfWeek day_of_week = 2;
  343. }
  344. // Specifies configuration information specific to running Hive metastore
  345. // software as the metastore service.
  346. message HiveMetastoreConfig {
  347. // Immutable. The Hive metastore schema version.
  348. string version = 1 [(google.api.field_behavior) = IMMUTABLE];
  349. // A mapping of Hive metastore configuration key-value pairs to apply to the
  350. // Hive metastore (configured in `hive-site.xml`). The mappings
  351. // override system defaults (some keys cannot be overridden).
  352. map<string, string> config_overrides = 2;
  353. // Information used to configure the Hive metastore service as a service
  354. // principal in a Kerberos realm. To disable Kerberos, use the `UpdateService`
  355. // method and specify this field's path
  356. // (`hive_metastore_config.kerberos_config`) in the request's `update_mask`
  357. // while omitting this field from the request's `service`.
  358. KerberosConfig kerberos_config = 3;
  359. }
  360. // Configuration information for a Kerberos principal.
  361. message KerberosConfig {
  362. // A Kerberos keytab file that can be used to authenticate a service principal
  363. // with a Kerberos Key Distribution Center (KDC).
  364. Secret keytab = 1;
  365. // A Kerberos principal that exists in the both the keytab the KDC
  366. // to authenticate as. A typical principal is of the form
  367. // `primary/instance@REALM`, but there is no exact format.
  368. string principal = 2;
  369. // A Cloud Storage URI that specifies the path to a
  370. // krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf,
  371. // although the file does not need to be named krb5.conf explicitly.
  372. string krb5_config_gcs_uri = 3;
  373. }
  374. // A securely stored value.
  375. message Secret {
  376. oneof value {
  377. // The relative resource name of a Secret Manager secret version, in the
  378. // following form:
  379. //
  380. // `projects/{project_number}/secrets/{secret_id}/versions/{version_id}`.
  381. string cloud_secret = 2;
  382. }
  383. }
  384. // The metadata management activities of the metastore service.
  385. message MetadataManagementActivity {
  386. // Output only. The latest metadata exports of the metastore service.
  387. repeated MetadataExport metadata_exports = 1
  388. [(google.api.field_behavior) = OUTPUT_ONLY];
  389. // Output only. The latest restores of the metastore service.
  390. repeated Restore restores = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  391. }
  392. // A metastore resource that imports metadata.
  393. message MetadataImport {
  394. option (google.api.resource) = {
  395. type: "metastore.googleapis.com/MetadataImport"
  396. pattern: "projects/{project}/locations/{location}/services/{service}/metadataImports/{metadata_import}"
  397. };
  398. // A specification of the location of and metadata about a database dump from
  399. // a relational database management system.
  400. message DatabaseDump {
  401. // The type of the database.
  402. enum DatabaseType {
  403. // The type of the source database is unknown.
  404. DATABASE_TYPE_UNSPECIFIED = 0;
  405. // The type of the source database is MySQL.
  406. MYSQL = 1;
  407. }
  408. // The type of the database.
  409. DatabaseType database_type = 1 [deprecated = true];
  410. // A Cloud Storage object or folder URI that specifies the source from which
  411. // to import metadata. It must begin with `gs://`.
  412. string gcs_uri = 2;
  413. // The name of the source database.
  414. string source_database = 3 [deprecated = true];
  415. // Optional. The type of the database dump. If unspecified, defaults to
  416. // `MYSQL`.
  417. DatabaseDumpSpec.Type type = 4 [(google.api.field_behavior) = OPTIONAL];
  418. }
  419. // The current state of the metadata import.
  420. enum State {
  421. // The state of the metadata import is unknown.
  422. STATE_UNSPECIFIED = 0;
  423. // The metadata import is running.
  424. RUNNING = 1;
  425. // The metadata import completed successfully.
  426. SUCCEEDED = 2;
  427. // The metadata import is being updated.
  428. UPDATING = 3;
  429. // The metadata import failed, and attempted metadata changes were rolled
  430. // back.
  431. FAILED = 4;
  432. }
  433. // The metadata to be imported.
  434. oneof metadata {
  435. // Immutable. A database dump from a pre-existing metastore's database.
  436. DatabaseDump database_dump = 6 [(google.api.field_behavior) = IMMUTABLE];
  437. }
  438. // Immutable. The relative resource name of the metadata import, of the form:
  439. //
  440. // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}`.
  441. string name = 1 [(google.api.field_behavior) = IMMUTABLE];
  442. // The description of the metadata import.
  443. string description = 2;
  444. // Output only. The time when the metadata import was created.
  445. google.protobuf.Timestamp create_time = 3
  446. [(google.api.field_behavior) = OUTPUT_ONLY];
  447. // Output only. The time when the metadata import was last updated.
  448. google.protobuf.Timestamp update_time = 4
  449. [(google.api.field_behavior) = OUTPUT_ONLY];
  450. // Output only. The current state of the metadata import.
  451. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  452. }
  453. // The details of a metadata export operation.
  454. message MetadataExport {
  455. // The current state of the metadata export.
  456. enum State {
  457. // The state of the metadata export is unknown.
  458. STATE_UNSPECIFIED = 0;
  459. // The metadata export is running.
  460. RUNNING = 1;
  461. // The metadata export completed successfully.
  462. SUCCEEDED = 2;
  463. // The metadata export failed.
  464. FAILED = 3;
  465. // The metadata export is cancelled.
  466. CANCELLED = 4;
  467. }
  468. oneof destination {
  469. // Output only. A Cloud Storage URI of a folder that metadata are exported
  470. // to, in the form of
  471. // `gs://<bucket_name>/<path_inside_bucket>/<export_folder>`, where
  472. // `<export_folder>` is automatically generated.
  473. string destination_gcs_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  474. }
  475. // Output only. The time when the export started.
  476. google.protobuf.Timestamp start_time = 1
  477. [(google.api.field_behavior) = OUTPUT_ONLY];
  478. // Output only. The time when the export ended.
  479. google.protobuf.Timestamp end_time = 2
  480. [(google.api.field_behavior) = OUTPUT_ONLY];
  481. // Output only. The current state of the export.
  482. State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  483. // Output only. The type of the database dump.
  484. DatabaseDumpSpec.Type database_dump_type = 5
  485. [(google.api.field_behavior) = OUTPUT_ONLY];
  486. }
  487. // The details of a backup resource.
  488. message Backup {
  489. option (google.api.resource) = {
  490. type: "metastore.googleapis.com/Backup"
  491. pattern: "projects/{project}/locations/{location}/services/{service}/backups/{backup}"
  492. };
  493. // The current state of the backup.
  494. enum State {
  495. // The state of the backup is unknown.
  496. STATE_UNSPECIFIED = 0;
  497. // The backup is being created.
  498. CREATING = 1;
  499. // The backup is being deleted.
  500. DELETING = 2;
  501. // The backup is active and ready to use.
  502. ACTIVE = 3;
  503. // The backup failed.
  504. FAILED = 4;
  505. }
  506. // Immutable. The relative resource name of the backup, in the following form:
  507. //
  508. // `projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}`
  509. string name = 1 [(google.api.field_behavior) = IMMUTABLE];
  510. // Output only. The time when the backup was started.
  511. google.protobuf.Timestamp create_time = 2
  512. [(google.api.field_behavior) = OUTPUT_ONLY];
  513. // Output only. The time when the backup finished creating.
  514. google.protobuf.Timestamp end_time = 3
  515. [(google.api.field_behavior) = OUTPUT_ONLY];
  516. // Output only. The current state of the backup.
  517. State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  518. // Output only. The revision of the service at the time of backup.
  519. Service service_revision = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  520. // The description of the backup.
  521. string description = 6;
  522. }
  523. // The details of a metadata restore operation.
  524. message Restore {
  525. // The current state of the restore.
  526. enum State {
  527. // The state of the metadata restore is unknown.
  528. STATE_UNSPECIFIED = 0;
  529. // The metadata restore is running.
  530. RUNNING = 1;
  531. // The metadata restore completed successfully.
  532. SUCCEEDED = 2;
  533. // The metadata restore failed.
  534. FAILED = 3;
  535. // The metadata restore is cancelled.
  536. CANCELLED = 4;
  537. }
  538. // The type of restore.
  539. enum RestoreType {
  540. // The restore type is unknown.
  541. RESTORE_TYPE_UNSPECIFIED = 0;
  542. // The service's metadata and configuration are restored.
  543. FULL = 1;
  544. // Only the service's metadata is restored.
  545. METADATA_ONLY = 2;
  546. }
  547. // Output only. The time when the restore started.
  548. google.protobuf.Timestamp start_time = 1
  549. [(google.api.field_behavior) = OUTPUT_ONLY];
  550. // Output only. The time when the restore ended.
  551. google.protobuf.Timestamp end_time = 2
  552. [(google.api.field_behavior) = OUTPUT_ONLY];
  553. // Output only. The current state of the restore.
  554. State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  555. // Output only. The relative resource name of the metastore service backup to
  556. // restore from, in the following form:
  557. //
  558. // `projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}`
  559. string backup = 4 [
  560. (google.api.field_behavior) = OUTPUT_ONLY,
  561. (google.api.resource_reference) = {
  562. type: "metastore.googleapis.com/Backup"
  563. }
  564. ];
  565. // Output only. The type of restore.
  566. RestoreType type = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  567. // Output only. The restore details containing the revision of the service to
  568. // be restored to, in format of JSON.
  569. string details = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  570. }
  571. // Request message for
  572. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices].
  573. message ListServicesRequest {
  574. // Required. The relative resource name of the location of metastore services
  575. // to list, in the following form:
  576. //
  577. // `projects/{project_number}/locations/{location_id}`.
  578. string parent = 1 [
  579. (google.api.field_behavior) = REQUIRED,
  580. (google.api.resource_reference) = {
  581. type: "locations.googleapis.com/Location"
  582. }
  583. ];
  584. // Optional. The maximum number of services to return. The response may
  585. // contain less than the maximum number. If unspecified, no more than 500
  586. // services are returned. The maximum value is 1000; values above 1000 are
  587. // changed to 1000.
  588. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  589. // Optional. A page token, received from a previous
  590. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices]
  591. // call. Provide this token to retrieve the subsequent page.
  592. //
  593. // To retrieve the first page, supply an empty page token.
  594. //
  595. // When paginating, other parameters provided to
  596. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices]
  597. // must match the call that provided the page token.
  598. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  599. // Optional. The filter to apply to list results.
  600. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  601. // Optional. Specify the ordering of results as described in [Sorting
  602. // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  603. // If not specified, the results will be sorted in the default order.
  604. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  605. }
  606. // Response message for
  607. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices].
  608. message ListServicesResponse {
  609. // The services in the specified location.
  610. repeated Service services = 1;
  611. // A token that can be sent as `page_token` to retrieve the next page. If this
  612. // field is omitted, there are no subsequent pages.
  613. string next_page_token = 2;
  614. // Locations that could not be reached.
  615. repeated string unreachable = 3;
  616. }
  617. // Request message for
  618. // [DataprocMetastore.GetService][google.cloud.metastore.v1beta.DataprocMetastore.GetService].
  619. message GetServiceRequest {
  620. // Required. The relative resource name of the metastore service to retrieve,
  621. // in the following form:
  622. //
  623. // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
  624. string name = 1 [
  625. (google.api.field_behavior) = REQUIRED,
  626. (google.api.resource_reference) = {
  627. type: "metastore.googleapis.com/Service"
  628. }
  629. ];
  630. }
  631. // Request message for
  632. // [DataprocMetastore.CreateService][google.cloud.metastore.v1beta.DataprocMetastore.CreateService].
  633. message CreateServiceRequest {
  634. // Required. The relative resource name of the location in which to create a
  635. // metastore service, in the following form:
  636. //
  637. // `projects/{project_number}/locations/{location_id}`.
  638. string parent = 1 [
  639. (google.api.field_behavior) = REQUIRED,
  640. (google.api.resource_reference) = {
  641. type: "locations.googleapis.com/Location"
  642. }
  643. ];
  644. // Required. The ID of the metastore service, which is used as the final
  645. // component of the metastore service's name.
  646. //
  647. // This value must be between 2 and 63 characters long inclusive, begin with a
  648. // letter, end with a letter or number, and consist of alpha-numeric
  649. // ASCII characters or hyphens.
  650. string service_id = 2 [(google.api.field_behavior) = REQUIRED];
  651. // Required. The Metastore service to create. The `name` field is
  652. // ignored. The ID of the created metastore service must be provided in
  653. // the request's `service_id` field.
  654. Service service = 3 [(google.api.field_behavior) = REQUIRED];
  655. // Optional. A request ID. Specify a unique request ID to allow the server to
  656. // ignore the request if it has completed. The server will ignore subsequent
  657. // requests that provide a duplicate request ID for at least 60 minutes after
  658. // the first request.
  659. //
  660. // For example, if an initial request times out, followed by another request
  661. // with the same request ID, the server ignores the second request to prevent
  662. // the creation of duplicate commitments.
  663. //
  664. // The request ID must be a valid
  665. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  666. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  667. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  668. }
  669. // Request message for
  670. // [DataprocMetastore.UpdateService][google.cloud.metastore.v1beta.DataprocMetastore.UpdateService].
  671. message UpdateServiceRequest {
  672. // Required. A field mask used to specify the fields to be overwritten in the
  673. // metastore service resource by the update.
  674. // Fields specified in the `update_mask` are relative to the resource (not
  675. // to the full request). A field is overwritten if it is in the mask.
  676. google.protobuf.FieldMask update_mask = 1
  677. [(google.api.field_behavior) = REQUIRED];
  678. // Required. The metastore service to update. The server only merges fields
  679. // in the service if they are specified in `update_mask`.
  680. //
  681. // The metastore service's `name` field is used to identify the metastore
  682. // service to be updated.
  683. Service service = 2 [(google.api.field_behavior) = REQUIRED];
  684. // Optional. A request ID. Specify a unique request ID to allow the server to
  685. // ignore the request if it has completed. The server will ignore subsequent
  686. // requests that provide a duplicate request ID for at least 60 minutes after
  687. // the first request.
  688. //
  689. // For example, if an initial request times out, followed by another request
  690. // with the same request ID, the server ignores the second request to prevent
  691. // the creation of duplicate commitments.
  692. //
  693. // The request ID must be a valid
  694. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  695. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  696. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  697. }
  698. // Request message for
  699. // [DataprocMetastore.DeleteService][google.cloud.metastore.v1beta.DataprocMetastore.DeleteService].
  700. message DeleteServiceRequest {
  701. // Required. The relative resource name of the metastore service to delete, in
  702. // the following form:
  703. //
  704. // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
  705. string name = 1 [
  706. (google.api.field_behavior) = REQUIRED,
  707. (google.api.resource_reference) = {
  708. type: "metastore.googleapis.com/Service"
  709. }
  710. ];
  711. // Optional. A request ID. Specify a unique request ID to allow the server to
  712. // ignore the request if it has completed. The server will ignore subsequent
  713. // requests that provide a duplicate request ID for at least 60 minutes after
  714. // the first request.
  715. //
  716. // For example, if an initial request times out, followed by another request
  717. // with the same request ID, the server ignores the second request to prevent
  718. // the creation of duplicate commitments.
  719. //
  720. // The request ID must be a valid
  721. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  722. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  723. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  724. }
  725. // Request message for
  726. // [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1beta.DataprocMetastore.ListMetadataImports].
  727. message ListMetadataImportsRequest {
  728. // Required. The relative resource name of the service whose metadata imports
  729. // to list, in the following form:
  730. //
  731. // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports`.
  732. string parent = 1 [
  733. (google.api.field_behavior) = REQUIRED,
  734. (google.api.resource_reference) = {
  735. type: "metastore.googleapis.com/Service"
  736. }
  737. ];
  738. // Optional. The maximum number of imports to return. The response may contain
  739. // less than the maximum number. If unspecified, no more than 500 imports are
  740. // returned. The maximum value is 1000; values above 1000 are changed to 1000.
  741. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  742. // Optional. A page token, received from a previous
  743. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices]
  744. // call. Provide this token to retrieve the subsequent page.
  745. //
  746. // To retrieve the first page, supply an empty page token.
  747. //
  748. // When paginating, other parameters provided to
  749. // [DataprocMetastore.ListServices][google.cloud.metastore.v1beta.DataprocMetastore.ListServices]
  750. // must match the call that provided the page token.
  751. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  752. // Optional. The filter to apply to list results.
  753. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  754. // Optional. Specify the ordering of results as described in [Sorting
  755. // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  756. // If not specified, the results will be sorted in the default order.
  757. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  758. }
  759. // Response message for
  760. // [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1beta.DataprocMetastore.ListMetadataImports].
  761. message ListMetadataImportsResponse {
  762. // The imports in the specified service.
  763. repeated MetadataImport metadata_imports = 1;
  764. // A token that can be sent as `page_token` to retrieve the next page. If this
  765. // field is omitted, there are no subsequent pages.
  766. string next_page_token = 2;
  767. // Locations that could not be reached.
  768. repeated string unreachable = 3;
  769. }
  770. // Request message for
  771. // [DataprocMetastore.GetMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.GetMetadataImport].
  772. message GetMetadataImportRequest {
  773. // Required. The relative resource name of the metadata import to retrieve, in
  774. // the following form:
  775. //
  776. // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{import_id}`.
  777. string name = 1 [
  778. (google.api.field_behavior) = REQUIRED,
  779. (google.api.resource_reference) = {
  780. type: "metastore.googleapis.com/MetadataImport"
  781. }
  782. ];
  783. }
  784. // Request message for
  785. // [DataprocMetastore.CreateMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.CreateMetadataImport].
  786. message CreateMetadataImportRequest {
  787. // Required. The relative resource name of the service in which to create a
  788. // metastore import, in the following form:
  789. //
  790. // `projects/{project_number}/locations/{location_id}/services/{service_id}`
  791. string parent = 1 [
  792. (google.api.field_behavior) = REQUIRED,
  793. (google.api.resource_reference) = {
  794. type: "metastore.googleapis.com/Service"
  795. }
  796. ];
  797. // Required. The ID of the metadata import, which is used as the final
  798. // component of the metadata import's name.
  799. //
  800. // This value must be between 1 and 64 characters long, begin with a letter,
  801. // end with a letter or number, and consist of alpha-numeric ASCII characters
  802. // or hyphens.
  803. string metadata_import_id = 2 [(google.api.field_behavior) = REQUIRED];
  804. // Required. The metadata import to create. The `name` field is ignored. The
  805. // ID of the created metadata import must be provided in the request's
  806. // `metadata_import_id` field.
  807. MetadataImport metadata_import = 3 [(google.api.field_behavior) = REQUIRED];
  808. // Optional. A request ID. Specify a unique request ID to allow the server to
  809. // ignore the request if it has completed. The server will ignore subsequent
  810. // requests that provide a duplicate request ID for at least 60 minutes after
  811. // the first request.
  812. //
  813. // For example, if an initial request times out, followed by another request
  814. // with the same request ID, the server ignores the second request to prevent
  815. // the creation of duplicate commitments.
  816. //
  817. // The request ID must be a valid
  818. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  819. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  820. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  821. }
  822. // Request message for
  823. // [DataprocMetastore.UpdateMetadataImport][google.cloud.metastore.v1beta.DataprocMetastore.UpdateMetadataImport].
  824. message UpdateMetadataImportRequest {
  825. // Required. A field mask used to specify the fields to be overwritten in the
  826. // metadata import resource by the update.
  827. // Fields specified in the `update_mask` are relative to the resource (not
  828. // to the full request). A field is overwritten if it is in the mask.
  829. google.protobuf.FieldMask update_mask = 1
  830. [(google.api.field_behavior) = REQUIRED];
  831. // Required. The metadata import to update. The server only merges fields
  832. // in the import if they are specified in `update_mask`.
  833. //
  834. // The metadata import's `name` field is used to identify the metastore
  835. // import to be updated.
  836. MetadataImport metadata_import = 2 [(google.api.field_behavior) = REQUIRED];
  837. // Optional. A request ID. Specify a unique request ID to allow the server to
  838. // ignore the request if it has completed. The server will ignore subsequent
  839. // requests that provide a duplicate request ID for at least 60 minutes after
  840. // the first request.
  841. //
  842. // For example, if an initial request times out, followed by another request
  843. // with the same request ID, the server ignores the second request to prevent
  844. // the creation of duplicate commitments.
  845. //
  846. // The request ID must be a valid
  847. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  848. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  849. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  850. }
  851. // Request message for
  852. // [DataprocMetastore.ListBackups][google.cloud.metastore.v1beta.DataprocMetastore.ListBackups].
  853. message ListBackupsRequest {
  854. // Required. The relative resource name of the service whose backups to
  855. // list, in the following form:
  856. //
  857. // `projects/{project_number}/locations/{location_id}/services/{service_id}/backups`.
  858. string parent = 1 [
  859. (google.api.field_behavior) = REQUIRED,
  860. (google.api.resource_reference) = {
  861. type: "metastore.googleapis.com/Service"
  862. }
  863. ];
  864. // Optional. The maximum number of backups to return. The response may contain
  865. // less than the maximum number. If unspecified, no more than 500 backups are
  866. // returned. The maximum value is 1000; values above 1000 are changed to 1000.
  867. int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
  868. // Optional. A page token, received from a previous
  869. // [DataprocMetastore.ListBackups][google.cloud.metastore.v1beta.DataprocMetastore.ListBackups]
  870. // call. Provide this token to retrieve the subsequent page.
  871. //
  872. // To retrieve the first page, supply an empty page token.
  873. //
  874. // When paginating, other parameters provided to
  875. // [DataprocMetastore.ListBackups][google.cloud.metastore.v1beta.DataprocMetastore.ListBackups]
  876. // must match the call that provided the page token.
  877. string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
  878. // Optional. The filter to apply to list results.
  879. string filter = 4 [(google.api.field_behavior) = OPTIONAL];
  880. // Optional. Specify the ordering of results as described in [Sorting
  881. // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  882. // If not specified, the results will be sorted in the default order.
  883. string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
  884. }
  885. // Response message for
  886. // [DataprocMetastore.ListBackups][google.cloud.metastore.v1beta.DataprocMetastore.ListBackups].
  887. message ListBackupsResponse {
  888. // The backups of the specified service.
  889. repeated Backup backups = 1;
  890. // A token that can be sent as `page_token` to retrieve the next page. If this
  891. // field is omitted, there are no subsequent pages.
  892. string next_page_token = 2;
  893. // Locations that could not be reached.
  894. repeated string unreachable = 3;
  895. }
  896. // Request message for
  897. // [DataprocMetastore.GetBackup][google.cloud.metastore.v1beta.DataprocMetastore.GetBackup].
  898. message GetBackupRequest {
  899. // Required. The relative resource name of the backup to retrieve, in the
  900. // following form:
  901. //
  902. // `projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}`.
  903. string name = 1 [
  904. (google.api.field_behavior) = REQUIRED,
  905. (google.api.resource_reference) = {
  906. type: "metastore.googleapis.com/Backup"
  907. }
  908. ];
  909. }
  910. // Request message for
  911. // [DataprocMetastore.CreateBackup][google.cloud.metastore.v1beta.DataprocMetastore.CreateBackup].
  912. message CreateBackupRequest {
  913. // Required. The relative resource name of the service in which to create a
  914. // backup of the following form:
  915. //
  916. // `projects/{project_number}/locations/{location_id}/services/{service_id}`
  917. string parent = 1 [
  918. (google.api.field_behavior) = REQUIRED,
  919. (google.api.resource_reference) = {
  920. type: "metastore.googleapis.com/Service"
  921. }
  922. ];
  923. // Required. The ID of the backup, which is used as the final component of the
  924. // backup's name.
  925. //
  926. // This value must be between 1 and 64 characters long, begin with a letter,
  927. // end with a letter or number, and consist of alpha-numeric ASCII characters
  928. // or hyphens.
  929. string backup_id = 2 [(google.api.field_behavior) = REQUIRED];
  930. // Required. The backup to create. The `name` field is ignored. The ID of the
  931. // created backup must be provided in the request's `backup_id` field.
  932. Backup backup = 3 [(google.api.field_behavior) = REQUIRED];
  933. // Optional. A request ID. Specify a unique request ID to allow the server to
  934. // ignore the request if it has completed. The server will ignore subsequent
  935. // requests that provide a duplicate request ID for at least 60 minutes after
  936. // the first request.
  937. //
  938. // For example, if an initial request times out, followed by another request
  939. // with the same request ID, the server ignores the second request to prevent
  940. // the creation of duplicate commitments.
  941. //
  942. // The request ID must be a valid
  943. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  944. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  945. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  946. }
  947. // Request message for
  948. // [DataprocMetastore.DeleteBackup][google.cloud.metastore.v1beta.DataprocMetastore.DeleteBackup].
  949. message DeleteBackupRequest {
  950. // Required. The relative resource name of the backup to delete, in the
  951. // following form:
  952. //
  953. // `projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}`.
  954. string name = 1 [
  955. (google.api.field_behavior) = REQUIRED,
  956. (google.api.resource_reference) = {
  957. type: "metastore.googleapis.com/Backup"
  958. }
  959. ];
  960. // Optional. A request ID. Specify a unique request ID to allow the server to
  961. // ignore the request if it has completed. The server will ignore subsequent
  962. // requests that provide a duplicate request ID for at least 60 minutes after
  963. // the first request.
  964. //
  965. // For example, if an initial request times out, followed by another request
  966. // with the same request ID, the server ignores the second request to prevent
  967. // the creation of duplicate commitments.
  968. //
  969. // The request ID must be a valid
  970. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  971. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  972. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  973. }
  974. // Request message for
  975. // [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1beta.DataprocMetastore.ExportMetadata].
  976. message ExportMetadataRequest {
  977. // Required. Destination that metadata is exported to.
  978. oneof destination {
  979. // A Cloud Storage URI of a folder, in the format
  980. // `gs://<bucket_name>/<path_inside_bucket>`. A sub-folder
  981. // `<export_folder>` containing exported files will be created below it.
  982. string destination_gcs_folder = 2;
  983. }
  984. // Required. The relative resource name of the metastore service to run
  985. // export, in the following form:
  986. //
  987. // `projects/{project_id}/locations/{location_id}/services/{service_id}`
  988. string service = 1 [
  989. (google.api.field_behavior) = REQUIRED,
  990. (google.api.resource_reference) = {
  991. type: "metastore.googleapis.com/Service"
  992. }
  993. ];
  994. // Optional. A request ID. Specify a unique request ID to allow the server to
  995. // ignore the request if it has completed. The server will ignore subsequent
  996. // requests that provide a duplicate request ID for at least 60 minutes after
  997. // the first request.
  998. //
  999. // For example, if an initial request times out, followed by another request
  1000. // with the same request ID, the server ignores the second request to prevent
  1001. // the creation of duplicate commitments.
  1002. //
  1003. // The request ID must be a valid
  1004. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
  1005. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  1006. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  1007. // Optional. The type of the database dump. If unspecified, defaults to
  1008. // `MYSQL`.
  1009. DatabaseDumpSpec.Type database_dump_type = 4
  1010. [(google.api.field_behavior) = OPTIONAL];
  1011. }
  1012. // Request message for [DataprocMetastore.Restore][].
  1013. message RestoreServiceRequest {
  1014. // Required. The relative resource name of the metastore service to run
  1015. // restore, in the following form:
  1016. //
  1017. // `projects/{project_id}/locations/{location_id}/services/{service_id}`
  1018. string service = 1 [
  1019. (google.api.field_behavior) = REQUIRED,
  1020. (google.api.resource_reference) = {
  1021. type: "metastore.googleapis.com/Service"
  1022. }
  1023. ];
  1024. // Required. The relative resource name of the metastore service backup to
  1025. // restore from, in the following form:
  1026. //
  1027. // `projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}`
  1028. string backup = 2 [
  1029. (google.api.field_behavior) = REQUIRED,
  1030. (google.api.resource_reference) = {
  1031. type: "metastore.googleapis.com/Backup"
  1032. }
  1033. ];
  1034. // Optional. The type of restore. If unspecified, defaults to `METADATA_ONLY`.
  1035. Restore.RestoreType restore_type = 3 [(google.api.field_behavior) = OPTIONAL];
  1036. // Optional. A request ID. Specify a unique request ID to allow the server to
  1037. // ignore the request if it has completed. The server will ignore subsequent
  1038. // requests that provide a duplicate request ID for at least 60 minutes after
  1039. // the first request.
  1040. //
  1041. // For example, if an initial request times out, followed by another request
  1042. // with the same request ID, the server ignores the second request to prevent
  1043. // the creation of duplicate commitments.
  1044. //
  1045. // The request ID must be a valid
  1046. // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
  1047. // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
  1048. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  1049. }
  1050. // Represents the metadata of a long-running operation.
  1051. message OperationMetadata {
  1052. // Output only. The time the operation was created.
  1053. google.protobuf.Timestamp create_time = 1
  1054. [(google.api.field_behavior) = OUTPUT_ONLY];
  1055. // Output only. The time the operation finished running.
  1056. google.protobuf.Timestamp end_time = 2
  1057. [(google.api.field_behavior) = OUTPUT_ONLY];
  1058. // Output only. Server-defined resource path for the target of the operation.
  1059. string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  1060. // Output only. Name of the verb executed by the operation.
  1061. string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  1062. // Output only. Human-readable status of the operation, if any.
  1063. string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  1064. // Output only. Identifies whether the caller has requested cancellation
  1065. // of the operation. Operations that have successfully been cancelled
  1066. // have [Operation.error][] value with a
  1067. // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
  1068. // `Code.CANCELLED`.
  1069. bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  1070. // Output only. API version used to start the operation.
  1071. string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  1072. }
  1073. // Metadata about the service in a location.
  1074. message LocationMetadata {
  1075. // A specification of a supported version of the Hive Metastore software.
  1076. message HiveMetastoreVersion {
  1077. // The semantic version of the Hive Metastore software.
  1078. string version = 1;
  1079. // Whether `version` will be chosen by the server if a metastore service is
  1080. // created with a `HiveMetastoreConfig` that omits the `version`.
  1081. bool is_default = 2;
  1082. }
  1083. // The versions of Hive Metastore that can be used when creating a new
  1084. // metastore service in this location. The server guarantees that exactly one
  1085. // `HiveMetastoreVersion` in the list will set `is_default`.
  1086. repeated HiveMetastoreVersion supported_hive_metastore_versions = 1;
  1087. }
  1088. // The specification of database dump to import from or export to.
  1089. message DatabaseDumpSpec {
  1090. // The type of the database dump.
  1091. enum Type {
  1092. // The type of the database dump is unknown.
  1093. TYPE_UNSPECIFIED = 0;
  1094. // Database dump is a MySQL dump file.
  1095. MYSQL = 1;
  1096. }
  1097. }