1- // Copyright 2021 Google LLC
1+ // Copyright 2022 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -30,10 +30,15 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/metastore/v1;me
3030option java_multiple_files = true ;
3131option java_outer_classname = "MetastoreProto" ;
3232option java_package = "com.google.cloud.metastore.v1" ;
33+ option php_namespace = "Google\\Cloud\\Metastore\\V1" ;
3334option (google.api.resource_definition ) = {
3435 type : "compute.googleapis.com/Network"
3536 pattern : "projects/{project}/global/networks/{network}"
3637};
38+ option (google.api.resource_definition ) = {
39+ type : "compute.googleapis.com/Subnetwork"
40+ pattern : "projects/{project}/regions/{region}/subnetworks/{subnetwork}"
41+ };
3742
3843// Configures and manages metastore services.
3944// Metastore services are fully managed, highly available, autoscaled,
@@ -81,7 +86,7 @@ service DataprocMetastore {
8186 option (google.api.method_signature ) = "parent,service,service_id" ;
8287 option (google.longrunning.operation_info ) = {
8388 response_type : "Service"
84- metadata_type : "OperationMetadata"
89+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
8590 };
8691 }
8792
@@ -94,7 +99,7 @@ service DataprocMetastore {
9499 option (google.api.method_signature ) = "service,update_mask" ;
95100 option (google.longrunning.operation_info ) = {
96101 response_type : "Service"
97- metadata_type : "OperationMetadata"
102+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
98103 };
99104 }
100105
@@ -106,7 +111,7 @@ service DataprocMetastore {
106111 option (google.api.method_signature ) = "name" ;
107112 option (google.longrunning.operation_info ) = {
108113 response_type : "google.protobuf.Empty"
109- metadata_type : "OperationMetadata"
114+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
110115 };
111116 }
112117
@@ -135,7 +140,7 @@ service DataprocMetastore {
135140 option (google.api.method_signature ) = "parent,metadata_import,metadata_import_id" ;
136141 option (google.longrunning.operation_info ) = {
137142 response_type : "MetadataImport"
138- metadata_type : "OperationMetadata"
143+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
139144 };
140145 }
141146
@@ -149,7 +154,7 @@ service DataprocMetastore {
149154 option (google.api.method_signature ) = "metadata_import,update_mask" ;
150155 option (google.longrunning.operation_info ) = {
151156 response_type : "MetadataImport"
152- metadata_type : "OperationMetadata"
157+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
153158 };
154159 }
155160
@@ -161,7 +166,7 @@ service DataprocMetastore {
161166 };
162167 option (google.longrunning.operation_info ) = {
163168 response_type : "MetadataExport"
164- metadata_type : "OperationMetadata"
169+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
165170 };
166171 }
167172
@@ -174,7 +179,7 @@ service DataprocMetastore {
174179 option (google.api.method_signature ) = "service,backup" ;
175180 option (google.longrunning.operation_info ) = {
176181 response_type : "Restore"
177- metadata_type : "OperationMetadata"
182+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
178183 };
179184 }
180185
@@ -203,7 +208,7 @@ service DataprocMetastore {
203208 option (google.api.method_signature ) = "parent,backup,backup_id" ;
204209 option (google.longrunning.operation_info ) = {
205210 response_type : "Backup"
206- metadata_type : "OperationMetadata"
211+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
207212 };
208213 }
209214
@@ -215,7 +220,7 @@ service DataprocMetastore {
215220 option (google.api.method_signature ) = "name" ;
216221 option (google.longrunning.operation_info ) = {
217222 response_type : "google.protobuf.Empty"
218- metadata_type : "OperationMetadata"
223+ metadata_type : "google.cloud.metastore.v1. OperationMetadata"
219224 };
220225 }
221226}
@@ -288,6 +293,18 @@ message Service {
288293 STABLE = 2 ;
289294 }
290295
296+ // The backend database type for the metastore service.
297+ enum DatabaseType {
298+ // The DATABASE_TYPE is not set.
299+ DATABASE_TYPE_UNSPECIFIED = 0 ;
300+
301+ // MySQL is used to persist the metastore data.
302+ MYSQL = 1 ;
303+
304+ // Spanner is used to persist the metastore data.
305+ SPANNER = 2 ;
306+ }
307+
291308 // Configuration properties specific to the underlying metastore service
292309 // technology (the software that serves metastore queries).
293310 oneof metastore_config {
@@ -296,7 +313,8 @@ message Service {
296313 HiveMetastoreConfig hive_metastore_config = 5 ;
297314 }
298315
299- // Immutable. The relative resource name of the metastore service, of the form:
316+ // Immutable. The relative resource name of the metastore service, in the following
317+ // format:
300318 //
301319 // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
302320 string name = 1 [(google.api.field_behavior ) = IMMUTABLE ];
@@ -343,6 +361,8 @@ message Service {
343361
344362 // The one hour maintenance window of the metastore service. This specifies
345363 // when the service can be restarted for maintenance purposes in UTC time.
364+ // Maintenance window is not needed for services with the SPANNER
365+ // database type.
346366 MaintenanceWindow maintenance_window = 15 ;
347367
348368 // Output only. The globally unique resource identifier of the metastore service.
@@ -354,6 +374,21 @@ message Service {
354374 // Immutable. The release channel of the service.
355375 // If unspecified, defaults to `STABLE`.
356376 ReleaseChannel release_channel = 19 [(google.api.field_behavior ) = IMMUTABLE ];
377+
378+ // Immutable. Information used to configure the Dataproc Metastore service to encrypt
379+ // customer data at rest. Cannot be updated.
380+ EncryptionConfig encryption_config = 20 [(google.api.field_behavior ) = IMMUTABLE ];
381+
382+ // The configuration specifying the network settings for the
383+ // Dataproc Metastore service.
384+ NetworkConfig network_config = 21 ;
385+
386+ // Immutable. The database type that the Metastore service stores its data.
387+ DatabaseType database_type = 22 [(google.api.field_behavior ) = IMMUTABLE ];
388+
389+ // The configuration specifying telemetry settings for the Dataproc Metastore
390+ // service. If unspecified defaults to `JSON`.
391+ TelemetryConfig telemetry_config = 23 ;
357392}
358393
359394// Maintenance window. This specifies when Dataproc Metastore
@@ -374,7 +409,9 @@ message HiveMetastoreConfig {
374409
375410 // A mapping of Hive metastore configuration key-value pairs to apply to the
376411 // Hive metastore (configured in `hive-site.xml`). The mappings
377- // override system defaults (some keys cannot be overridden).
412+ // override system defaults (some keys cannot be overridden). These
413+ // overrides are also applied to auxiliary versions and can be further
414+ // customized in the auxiliary version's `AuxiliaryVersionConfig`.
378415 map <string , string > config_overrides = 2 ;
379416
380417 // Information used to configure the Hive metastore service as a service
@@ -413,6 +450,62 @@ message Secret {
413450 }
414451}
415452
453+ // Encryption settings for the service.
454+ message EncryptionConfig {
455+ // The fully qualified customer provided Cloud KMS key name to use for
456+ // customer data encryption, in the following form:
457+ //
458+ // `projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}`.
459+ string kms_key = 1 ;
460+ }
461+
462+ // Network configuration for the Dataproc Metastore service.
463+ message NetworkConfig {
464+ // Contains information of the customer's network configurations.
465+ message Consumer {
466+ oneof vpc_resource {
467+ // Immutable. The subnetwork of the customer project from which an IP address is
468+ // reserved and used as the Dataproc Metastore service's
469+ // endpoint. It is accessible to hosts in the subnet and to all
470+ // hosts in a subnet in the same region and same network. There must
471+ // be at least one IP address available in the subnet's primary range. The
472+ // subnet is specified in the following form:
473+ //
474+ // `projects/{project_number}/regions/{region_id}/subnetworks/{subnetwork_id}
475+ string subnetwork = 1 [
476+ (google.api.field_behavior ) = IMMUTABLE ,
477+ (google.api.resource_reference ) = {
478+ type : "compute.googleapis.com/Subnetwork"
479+ }
480+ ];
481+ }
482+
483+ // Output only. The URI of the endpoint used to access the metastore service.
484+ string endpoint_uri = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
485+ }
486+
487+ // Immutable. The consumer-side network configuration for the Dataproc Metastore
488+ // instance.
489+ repeated Consumer consumers = 1 [(google.api.field_behavior ) = IMMUTABLE ];
490+ }
491+
492+ // Telemetry Configuration for the Dataproc Metastore service.
493+ message TelemetryConfig {
494+ enum LogFormat {
495+ // The LOG_FORMAT is not set.
496+ LOG_FORMAT_UNSPECIFIED = 0 ;
497+
498+ // Logging output uses the legacy `textPayload` format.
499+ LEGACY = 1 ;
500+
501+ // Logging output uses the `jsonPayload` format.
502+ JSON = 2 ;
503+ }
504+
505+ // The output format of the Dataproc Metastore service's logs.
506+ LogFormat log_format = 1 ;
507+ }
508+
416509// The metadata management activities of the metastore service.
417510message MetadataManagementActivity {
418511 // Output only. The latest metadata exports of the metastore service.
@@ -432,6 +525,7 @@ message MetadataImport {
432525 // A specification of the location of and metadata about a database dump from
433526 // a relational database management system.
434527 message DatabaseDump {
528+
435529 // The type of the database.
436530 enum DatabaseType {
437531 // The type of the source database is unknown.
@@ -659,7 +753,7 @@ message ListServicesRequest {
659753 string parent = 1 [
660754 (google.api.field_behavior ) = REQUIRED ,
661755 (google.api.resource_reference ) = {
662- type : "locations .googleapis.com/Location "
756+ child_type : "metastore .googleapis.com/Service "
663757 }
664758 ];
665759
@@ -723,7 +817,7 @@ message CreateServiceRequest {
723817 string parent = 1 [
724818 (google.api.field_behavior ) = REQUIRED ,
725819 (google.api.resource_reference ) = {
726- type : "locations .googleapis.com/Location "
820+ child_type : "metastore .googleapis.com/Service "
727821 }
728822 ];
729823
@@ -822,7 +916,7 @@ message ListMetadataImportsRequest {
822916 string parent = 1 [
823917 (google.api.field_behavior ) = REQUIRED ,
824918 (google.api.resource_reference ) = {
825- type : "metastore.googleapis.com/Service "
919+ child_type : "metastore.googleapis.com/MetadataImport "
826920 }
827921 ];
828922
@@ -886,7 +980,7 @@ message CreateMetadataImportRequest {
886980 string parent = 1 [
887981 (google.api.field_behavior ) = REQUIRED ,
888982 (google.api.resource_reference ) = {
889- type : "metastore.googleapis.com/Service "
983+ child_type : "metastore.googleapis.com/MetadataImport "
890984 }
891985 ];
892986
@@ -957,7 +1051,7 @@ message ListBackupsRequest {
9571051 string parent = 1 [
9581052 (google.api.field_behavior ) = REQUIRED ,
9591053 (google.api.resource_reference ) = {
960- type : "metastore.googleapis.com/Service "
1054+ child_type : "metastore.googleapis.com/Backup "
9611055 }
9621056 ];
9631057
@@ -1021,7 +1115,7 @@ message CreateBackupRequest {
10211115 string parent = 1 [
10221116 (google.api.field_behavior ) = REQUIRED ,
10231117 (google.api.resource_reference ) = {
1024- type : "metastore.googleapis.com/Service "
1118+ child_type : "metastore.googleapis.com/Backup "
10251119 }
10261120 ];
10271121
@@ -1219,6 +1313,4 @@ message DatabaseDumpSpec {
12191313 // Database dump contains Avro files.
12201314 AVRO = 2 ;
12211315 }
1222-
1223-
12241316}
0 commit comments