metastore.proto 56 KB

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