metastore.proto 48 KB

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