123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875 |
- // Copyright 2021 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.metastore.v1;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- import "google/protobuf/wrappers.proto";
- import "google/type/dayofweek.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/metastore/v1;metastore";
- option java_multiple_files = true;
- option java_outer_classname = "MetastoreProto";
- option java_package = "com.google.cloud.metastore.v1";
- option (google.api.resource_definition) = {
- type: "compute.googleapis.com/Network"
- pattern: "projects/{project}/global/networks/{network}"
- };
- // Configures and manages metastore services.
- // Metastore services are fully managed, highly available, auto-scaled,
- // auto-healing, OSS-native deployments of technical metadata management
- // software. Each metastore service exposes a network endpoint through which
- // metadata queries are served. Metadata queries can originate from a variety
- // of sources, including Apache Hive, Apache Presto, and Apache Spark.
- //
- // The Dataproc Metastore API defines the following resource model:
- //
- // * The service works with a collection of Google Cloud projects, named:
- // `/projects/*`
- // * Each project has a collection of available locations, named: `/locations/*`
- // (a location must refer to a Google Cloud `region`)
- // * Each location has a collection of services, named: `/services/*`
- // * Dataproc Metastore services are resources with names of the form:
- //
- // `/projects/{project_number}/locations/{location_id}/services/{service_id}`.
- service DataprocMetastore {
- option (google.api.default_host) = "metastore.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
- // Lists services in a project and location.
- rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/services"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets the details of a single service.
- rpc GetService(GetServiceRequest) returns (Service) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/services/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a metastore service in a project and location.
- rpc CreateService(CreateServiceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/services"
- body: "service"
- };
- option (google.api.method_signature) = "parent,service,service_id";
- option (google.longrunning.operation_info) = {
- response_type: "Service"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single service.
- rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{service.name=projects/*/locations/*/services/*}"
- body: "service"
- };
- option (google.api.method_signature) = "service,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "Service"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single service.
- rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/services/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists imports in a service.
- rpc ListMetadataImports(ListMetadataImportsRequest) returns (ListMetadataImportsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/services/*}/metadataImports"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single import.
- rpc GetMetadataImport(GetMetadataImportRequest) returns (MetadataImport) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/services/*/metadataImports/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new MetadataImport in a given project and location.
- rpc CreateMetadataImport(CreateMetadataImportRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/services/*}/metadataImports"
- body: "metadata_import"
- };
- option (google.api.method_signature) = "parent,metadata_import,metadata_import_id";
- option (google.longrunning.operation_info) = {
- response_type: "MetadataImport"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates a single import.
- // Only the description field of MetadataImport is supported to be updated.
- rpc UpdateMetadataImport(UpdateMetadataImportRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{metadata_import.name=projects/*/locations/*/services/*/metadataImports/*}"
- body: "metadata_import"
- };
- option (google.api.method_signature) = "metadata_import,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "MetadataImport"
- metadata_type: "OperationMetadata"
- };
- }
- // Exports metadata from a service.
- rpc ExportMetadata(ExportMetadataRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{service=projects/*/locations/*/services/*}:exportMetadata"
- body: "*"
- };
- option (google.longrunning.operation_info) = {
- response_type: "MetadataExport"
- metadata_type: "OperationMetadata"
- };
- }
- }
- // A managed metastore service that serves metadata queries.
- message Service {
- option (google.api.resource) = {
- type: "metastore.googleapis.com/Service"
- pattern: "projects/{project}/locations/{location}/services/{service}"
- };
- // The current state of the metastore service.
- enum State {
- // The state of the metastore service is unknown.
- STATE_UNSPECIFIED = 0;
- // The metastore service is in the process of being created.
- CREATING = 1;
- // The metastore service is running and ready to serve queries.
- ACTIVE = 2;
- // The metastore service is entering suspension. Its query-serving
- // availability may cease unexpectedly.
- SUSPENDING = 3;
- // The metastore service is suspended and unable to serve queries.
- SUSPENDED = 4;
- // The metastore service is being updated. It remains usable but cannot
- // accept additional update requests or be deleted at this time.
- UPDATING = 5;
- // The metastore service is undergoing deletion. It cannot be used.
- DELETING = 6;
- // The metastore service has encountered an error and cannot be used. The
- // metastore service should be deleted.
- ERROR = 7;
- }
- // Available service tiers.
- enum Tier {
- // The tier is not set.
- TIER_UNSPECIFIED = 0;
- // The developer tier provides limited scalability and no fault tolerance.
- // Good for low-cost proof-of-concept.
- DEVELOPER = 1;
- // The enterprise tier provides multi-zone high availability, and sufficient
- // scalability for enterprise-level Dataproc Metastore workloads.
- ENTERPRISE = 3;
- }
- // Release channels bundle features of varying levels of stability. Newer
- // features may be introduced initially into less stable release channels and
- // can be automatically promoted into more stable release channels.
- enum ReleaseChannel {
- // Release channel is not specified.
- RELEASE_CHANNEL_UNSPECIFIED = 0;
- // The `CANARY` release channel contains the newest features, which may be
- // unstable and subject to unresolved issues with no known workarounds.
- // Services using the `CANARY` release channel are not subject to any SLAs.
- CANARY = 1;
- // The `STABLE` release channel contains features that are considered stable
- // and have been validated for production use.
- STABLE = 2;
- }
- // Configuration properties specific to the underlying metastore service
- // technology (the software that serves metastore queries).
- oneof metastore_config {
- // Configuration information specific to running Hive metastore
- // software as the metastore service.
- HiveMetastoreConfig hive_metastore_config = 5;
- }
- // Immutable. The relative resource name of the metastore service, of the form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // Output only. The time when the metastore service was created.
- google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time when the metastore service was last updated.
- google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // User-defined labels for the metastore service.
- map<string, string> labels = 4;
- // Immutable. The relative resource name of the VPC network on which the instance can be
- // accessed. It is specified in the following form:
- //
- // `projects/{project_number}/global/networks/{network_id}`.
- string network = 7 [
- (google.api.field_behavior) = IMMUTABLE,
- (google.api.resource_reference) = {
- type: "compute.googleapis.com/Network"
- }
- ];
- // Output only. The URI of the endpoint used to access the metastore service.
- string endpoint_uri = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The TCP port at which the metastore service is reached. Default: 9083.
- int32 port = 9;
- // Output only. The current state of the metastore service.
- State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Additional information about the current state of the metastore service, if
- // available.
- string state_message = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A Cloud Storage URI (starting with `gs://`) that specifies where artifacts
- // related to the metastore service are stored.
- string artifact_gcs_uri = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The tier of the service.
- Tier tier = 13;
- // The one hour maintenance window of the metastore service. This specifies
- // when the service can be restarted for maintenance purposes in UTC time.
- MaintenanceWindow maintenance_window = 15;
- // Output only. The globally unique resource identifier of the metastore service.
- string uid = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The metadata management activities of the metastore service.
- MetadataManagementActivity metadata_management_activity = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Immutable. The release channel of the service.
- // If unspecified, defaults to `STABLE`.
- ReleaseChannel release_channel = 19 [(google.api.field_behavior) = IMMUTABLE];
- }
- // Maintenance window. This specifies when Dataproc Metastore
- // may perform system maintenance operation to the service.
- message MaintenanceWindow {
- // The hour of day (0-23) when the window starts.
- google.protobuf.Int32Value hour_of_day = 1;
- // The day of week, when the window starts.
- google.type.DayOfWeek day_of_week = 2;
- }
- // Specifies configuration information specific to running Hive metastore
- // software as the metastore service.
- message HiveMetastoreConfig {
- // Immutable. The Hive metastore schema version.
- string version = 1 [(google.api.field_behavior) = IMMUTABLE];
- // A mapping of Hive metastore configuration key-value pairs to apply to the
- // Hive metastore (configured in `hive-site.xml`). The mappings
- // override system defaults (some keys cannot be overridden).
- map<string, string> config_overrides = 2;
- // Information used to configure the Hive metastore service as a service
- // principal in a Kerberos realm. To disable Kerberos, use the `UpdateService`
- // method and specify this field's path
- // (`hive_metastore_config.kerberos_config`) in the request's `update_mask`
- // while omitting this field from the request's `service`.
- KerberosConfig kerberos_config = 3;
- }
- // Configuration information for a Kerberos principal.
- message KerberosConfig {
- // A Kerberos keytab file that can be used to authenticate a service principal
- // with a Kerberos Key Distribution Center (KDC).
- Secret keytab = 1;
- // A Kerberos principal that exists in the both the keytab the KDC
- // to authenticate as. A typical principal is of the form
- // `primary/instance@REALM`, but there is no exact format.
- string principal = 2;
- // A Cloud Storage URI that specifies the path to a
- // krb5.conf file. It is of the form `gs://{bucket_name}/path/to/krb5.conf`,
- // although the file does not need to be named krb5.conf explicitly.
- string krb5_config_gcs_uri = 3;
- }
- // A securely stored value.
- message Secret {
- oneof value {
- // The relative resource name of a Secret Manager secret version, in the
- // following form:
- //
- // `projects/{project_number}/secrets/{secret_id}/versions/{version_id}`.
- string cloud_secret = 2;
- }
- }
- // The metadata management activities of the metastore service.
- message MetadataManagementActivity {
- // Output only. The latest metadata exports of the metastore service.
- repeated MetadataExport metadata_exports = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // A metastore resource that imports metadata.
- message MetadataImport {
- option (google.api.resource) = {
- type: "metastore.googleapis.com/MetadataImport"
- pattern: "projects/{project}/locations/{location}/services/{service}/metadataImports/{metadata_import}"
- };
- // A specification of the location of and metadata about a database dump from
- // a relational database management system.
- message DatabaseDump {
- // The type of the database.
- enum DatabaseType {
- // The type of the source database is unknown.
- DATABASE_TYPE_UNSPECIFIED = 0;
- // The type of the source database is MySQL.
- MYSQL = 1;
- }
- // The type of the database.
- DatabaseType database_type = 1 [deprecated = true];
- // A Cloud Storage object or folder URI that specifies the source from which
- // to import metadata. It must begin with `gs://`.
- string gcs_uri = 2;
- // Optional. The type of the database dump. If unspecified, defaults to `MYSQL`.
- DatabaseDumpSpec.Type type = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // The current state of the metadata import.
- enum State {
- // The state of the metadata import is unknown.
- STATE_UNSPECIFIED = 0;
- // The metadata import is running.
- RUNNING = 1;
- // The metadata import completed successfully.
- SUCCEEDED = 2;
- // The metadata import is being updated.
- UPDATING = 3;
- // The metadata import failed, and attempted metadata changes were rolled
- // back.
- FAILED = 4;
- }
- // The metadata to be imported.
- oneof metadata {
- // Immutable. A database dump from a pre-existing metastore's database.
- DatabaseDump database_dump = 6 [(google.api.field_behavior) = IMMUTABLE];
- }
- // Immutable. The relative resource name of the metadata import, of the form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}`.
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // The description of the metadata import.
- string description = 2;
- // Output only. The time when the metadata import was created.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time when the metadata import was last updated.
- google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The current state of the metadata import.
- State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // The details of a metadata export operation.
- message MetadataExport {
- // The current state of the metadata export.
- enum State {
- // The state of the metadata export is unknown.
- STATE_UNSPECIFIED = 0;
- // The metadata export is running.
- RUNNING = 1;
- // The metadata export completed successfully.
- SUCCEEDED = 2;
- // The metadata export failed.
- FAILED = 3;
- // The metadata export is cancelled.
- CANCELLED = 4;
- }
- oneof destination {
- // Output only. A Cloud Storage URI of a folder that metadata are exported to, in the
- // form of `gs://<bucket_name>/<path_inside_bucket>/<export_folder>`, where
- // `<export_folder>` is automatically generated.
- string destination_gcs_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. The time when the export started.
- google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time when the export ended.
- google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The current state of the export.
- State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The type of the database dump.
- DatabaseDumpSpec.Type database_dump_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices].
- message ListServicesRequest {
- // Required. The relative resource name of the location of metastore services to
- // list, in the following form:
- //
- // `projects/{project_number}/locations/{location_id}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "locations.googleapis.com/Location"
- }
- ];
- // Optional. The maximum number of services to return. The response may contain less
- // than the maximum number. If unspecified, no more than 500 services are
- // returned. The maximum value is 1000; values above 1000 are changed to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices]
- // call. Provide this token to retrieve the subsequent page.
- //
- // To retrieve the first page, supply an empty page token.
- //
- // When paginating, other parameters provided to
- // [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices] must match the call that provided the
- // page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The filter to apply to list results.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Specify the ordering of results as described in [Sorting
- // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
- // If not specified, the results will be sorted in the default order.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices].
- message ListServicesResponse {
- // The services in the specified location.
- repeated Service services = 1;
- // A token that can be sent as `page_token` to retrieve the next page. If this
- // field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // Request message for [DataprocMetastore.GetService][google.cloud.metastore.v1.DataprocMetastore.GetService].
- message GetServiceRequest {
- // Required. The relative resource name of the metastore service to retrieve, in the
- // following form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/Service"
- }
- ];
- }
- // Request message for [DataprocMetastore.CreateService][google.cloud.metastore.v1.DataprocMetastore.CreateService].
- message CreateServiceRequest {
- // Required. The relative resource name of the location in which to create a metastore
- // service, in the following form:
- //
- // `projects/{project_number}/locations/{location_id}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "locations.googleapis.com/Location"
- }
- ];
- // Required. The ID of the metastore service, which is used as the final
- // component of the metastore service's name.
- //
- // This value must be between 2 and 63 characters long inclusive, begin with a
- // letter, end with a letter or number, and consist of alpha-numeric
- // ASCII characters or hyphens.
- string service_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The Metastore service to create. The `name` field is
- // ignored. The ID of the created metastore service must be provided in
- // the request's `service_id` field.
- Service service = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [DataprocMetastore.UpdateService][google.cloud.metastore.v1.DataprocMetastore.UpdateService].
- message UpdateServiceRequest {
- // Required. A field mask used to specify the fields to be overwritten in the
- // metastore service resource by the update.
- // Fields specified in the `update_mask` are relative to the resource (not
- // to the full request). A field is overwritten if it is in the mask.
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The metastore service to update. The server only merges fields
- // in the service if they are specified in `update_mask`.
- //
- // The metastore service's `name` field is used to identify the metastore
- // service to be updated.
- Service service = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [DataprocMetastore.DeleteService][google.cloud.metastore.v1.DataprocMetastore.DeleteService].
- message DeleteServiceRequest {
- // Required. The relative resource name of the metastore service to delete, in the
- // following form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/Service"
- }
- ];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1.DataprocMetastore.ListMetadataImports].
- message ListMetadataImportsRequest {
- // Required. The relative resource name of the service whose metadata imports to
- // list, in the following form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/Service"
- }
- ];
- // Optional. The maximum number of imports to return. The response may contain less
- // than the maximum number. If unspecified, no more than 500 imports are
- // returned. The maximum value is 1000; values above 1000 are changed to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A page token, received from a previous [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices]
- // call. Provide this token to retrieve the subsequent page.
- //
- // To retrieve the first page, supply an empty page token.
- //
- // When paginating, other parameters provided to
- // [DataprocMetastore.ListServices][google.cloud.metastore.v1.DataprocMetastore.ListServices] must match the call that provided the
- // page token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The filter to apply to list results.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Specify the ordering of results as described in [Sorting
- // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
- // If not specified, the results will be sorted in the default order.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for [DataprocMetastore.ListMetadataImports][google.cloud.metastore.v1.DataprocMetastore.ListMetadataImports].
- message ListMetadataImportsResponse {
- // The imports in the specified service.
- repeated MetadataImport metadata_imports = 1;
- // A token that can be sent as `page_token` to retrieve the next page. If this
- // field is omitted, there are no subsequent pages.
- string next_page_token = 2;
- // Locations that could not be reached.
- repeated string unreachable = 3;
- }
- // Request message for [DataprocMetastore.GetMetadataImport][google.cloud.metastore.v1.DataprocMetastore.GetMetadataImport].
- message GetMetadataImportRequest {
- // Required. The relative resource name of the metadata import to retrieve, in the
- // following form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{import_id}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/MetadataImport"
- }
- ];
- }
- // Request message for [DataprocMetastore.CreateMetadataImport][google.cloud.metastore.v1.DataprocMetastore.CreateMetadataImport].
- message CreateMetadataImportRequest {
- // Required. The relative resource name of the service in which to create a metastore
- // import, in the following form:
- //
- // `projects/{project_number}/locations/{location_id}/services/{service_id}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/Service"
- }
- ];
- // Required. The ID of the metadata import, which is used as the final component of the
- // metadata import's name.
- //
- // This value must be between 1 and 64 characters long, begin with a letter,
- // end with a letter or number, and consist of alpha-numeric ASCII characters
- // or hyphens.
- string metadata_import_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The metadata import to create. The `name` field is ignored. The ID of the
- // created metadata import must be provided in the request's
- // `metadata_import_id` field.
- MetadataImport metadata_import = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [DataprocMetastore.UpdateMetadataImport][google.cloud.metastore.v1.DataprocMetastore.UpdateMetadataImport].
- message UpdateMetadataImportRequest {
- // Required. A field mask used to specify the fields to be overwritten in the
- // metadata import resource by the update.
- // Fields specified in the `update_mask` are relative to the resource (not
- // to the full request). A field is overwritten if it is in the mask.
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The metadata import to update. The server only merges fields
- // in the import if they are specified in `update_mask`.
- //
- // The metadata import's `name` field is used to identify the metastore
- // import to be updated.
- MetadataImport metadata_import = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for [DataprocMetastore.ExportMetadata][google.cloud.metastore.v1.DataprocMetastore.ExportMetadata].
- message ExportMetadataRequest {
- // Required. Destination that metadata is exported to.
- oneof destination {
- // A Cloud Storage URI of a folder, in the format
- // `gs://<bucket_name>/<path_inside_bucket>`. A sub-folder
- // `<export_folder>` containing exported files will be created below it.
- string destination_gcs_folder = 2;
- }
- // Required. The relative resource name of the metastore service to run export, in the
- // following form:
- //
- // `projects/{project_id}/locations/{location_id}/services/{service_id}`.
- string service = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "metastore.googleapis.com/Service"
- }
- ];
- // Optional. A request ID. Specify a unique request ID to allow the server to ignore the
- // request if it has completed. The server will ignore subsequent requests
- // that provide a duplicate request ID for at least 60 minutes after the first
- // request.
- //
- // For example, if an initial request times out, followed by another request
- // with the same request ID, the server ignores the second request to prevent
- // the creation of duplicate commitments.
- //
- // The request ID must be a valid
- // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
- // A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
- string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The type of the database dump. If unspecified, defaults to `MYSQL`.
- DatabaseDumpSpec.Type database_dump_type = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // Represents the metadata of a long-running operation.
- message OperationMetadata {
- // Output only. The time the operation was created.
- google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the operation finished running.
- google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Server-defined resource path for the target of the operation.
- string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Name of the verb executed by the operation.
- string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Human-readable status of the operation, if any.
- string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Identifies whether the caller has requested cancellation
- // of the operation. Operations that have successfully been cancelled
- // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
- // corresponding to `Code.CANCELLED`.
- bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. API version used to start the operation.
- string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Metadata about the service in a location.
- message LocationMetadata {
- // A specification of a supported version of the Hive Metastore software.
- message HiveMetastoreVersion {
- // The semantic version of the Hive Metastore software.
- string version = 1;
- // Whether `version` will be chosen by the server if a metastore service is
- // created with a `HiveMetastoreConfig` that omits the `version`.
- bool is_default = 2;
- }
- // The versions of Hive Metastore that can be used when creating a new
- // metastore service in this location. The server guarantees that exactly one
- // `HiveMetastoreVersion` in the list will set `is_default`.
- repeated HiveMetastoreVersion supported_hive_metastore_versions = 1;
- }
- // The specification of database dump to import from or export to.
- message DatabaseDumpSpec {
- // The type of the database dump.
- enum Type {
- // The type of the database dump is unknown.
- TYPE_UNSPECIFIED = 0;
- // Database dump is a MySQL dump file.
- MYSQL = 1;
- }
- }
|