1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.dataplex.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "MetadataProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dataplex.v1"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Worker// Metadata service manages metadata resources such as tables, filesets and 32*d5c09012SAndroid Build Coastguard Worker// partitions. 33*d5c09012SAndroid Build Coastguard Workerservice MetadataService { 34*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataplex.googleapis.com"; 35*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 36*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker // Create a metadata entity. 39*d5c09012SAndroid Build Coastguard Worker rpc CreateEntity(CreateEntityRequest) returns (Entity) { 40*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 41*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/entities" 42*d5c09012SAndroid Build Coastguard Worker body: "entity" 43*d5c09012SAndroid Build Coastguard Worker }; 44*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,entity"; 45*d5c09012SAndroid Build Coastguard Worker } 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Update a metadata entity. Only supports full resource update. 48*d5c09012SAndroid Build Coastguard Worker rpc UpdateEntity(UpdateEntityRequest) returns (Entity) { 49*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 50*d5c09012SAndroid Build Coastguard Worker put: "/v1/{entity.name=projects/*/locations/*/lakes/*/zones/*/entities/*}" 51*d5c09012SAndroid Build Coastguard Worker body: "entity" 52*d5c09012SAndroid Build Coastguard Worker }; 53*d5c09012SAndroid Build Coastguard Worker } 54*d5c09012SAndroid Build Coastguard Worker 55*d5c09012SAndroid Build Coastguard Worker // Delete a metadata entity. 56*d5c09012SAndroid Build Coastguard Worker rpc DeleteEntity(DeleteEntityRequest) returns (google.protobuf.Empty) { 57*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 58*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/entities/*}" 59*d5c09012SAndroid Build Coastguard Worker }; 60*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 61*d5c09012SAndroid Build Coastguard Worker } 62*d5c09012SAndroid Build Coastguard Worker 63*d5c09012SAndroid Build Coastguard Worker // Get a metadata entity. 64*d5c09012SAndroid Build Coastguard Worker rpc GetEntity(GetEntityRequest) returns (Entity) { 65*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 66*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/entities/*}" 67*d5c09012SAndroid Build Coastguard Worker }; 68*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 69*d5c09012SAndroid Build Coastguard Worker } 70*d5c09012SAndroid Build Coastguard Worker 71*d5c09012SAndroid Build Coastguard Worker // List metadata entities in a zone. 72*d5c09012SAndroid Build Coastguard Worker rpc ListEntities(ListEntitiesRequest) returns (ListEntitiesResponse) { 73*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 74*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/entities" 75*d5c09012SAndroid Build Coastguard Worker }; 76*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 77*d5c09012SAndroid Build Coastguard Worker } 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Create a metadata partition. 80*d5c09012SAndroid Build Coastguard Worker rpc CreatePartition(CreatePartitionRequest) returns (Partition) { 81*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 82*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*/entities/*}/partitions" 83*d5c09012SAndroid Build Coastguard Worker body: "partition" 84*d5c09012SAndroid Build Coastguard Worker }; 85*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,partition"; 86*d5c09012SAndroid Build Coastguard Worker } 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Delete a metadata partition. 89*d5c09012SAndroid Build Coastguard Worker rpc DeletePartition(DeletePartitionRequest) returns (google.protobuf.Empty) { 90*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 91*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/entities/*/partitions/**}" 92*d5c09012SAndroid Build Coastguard Worker }; 93*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 94*d5c09012SAndroid Build Coastguard Worker } 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Get a metadata partition of an entity. 97*d5c09012SAndroid Build Coastguard Worker rpc GetPartition(GetPartitionRequest) returns (Partition) { 98*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 99*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/entities/*/partitions/**}" 100*d5c09012SAndroid Build Coastguard Worker }; 101*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 102*d5c09012SAndroid Build Coastguard Worker } 103*d5c09012SAndroid Build Coastguard Worker 104*d5c09012SAndroid Build Coastguard Worker // List metadata partitions of an entity. 105*d5c09012SAndroid Build Coastguard Worker rpc ListPartitions(ListPartitionsRequest) returns (ListPartitionsResponse) { 106*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 107*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*/entities/*}/partitions" 108*d5c09012SAndroid Build Coastguard Worker }; 109*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 110*d5c09012SAndroid Build Coastguard Worker } 111*d5c09012SAndroid Build Coastguard Worker} 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker// Create a metadata entity request. 114*d5c09012SAndroid Build Coastguard Workermessage CreateEntityRequest { 115*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent zone: 116*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`. 117*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 118*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 119*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" } 120*d5c09012SAndroid Build Coastguard Worker ]; 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Required. Entity resource. 123*d5c09012SAndroid Build Coastguard Worker Entity entity = 3 [(google.api.field_behavior) = REQUIRED]; 124*d5c09012SAndroid Build Coastguard Worker 125*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 126*d5c09012SAndroid Build Coastguard Worker // The default is false. 127*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; 128*d5c09012SAndroid Build Coastguard Worker} 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker// Update a metadata entity request. 131*d5c09012SAndroid Build Coastguard Worker// The exiting entity will be fully replaced by the entity in the request. 132*d5c09012SAndroid Build Coastguard Worker// The entity ID is mutable. To modify the ID, use the current entity ID in the 133*d5c09012SAndroid Build Coastguard Worker// request URL and specify the new ID in the request body. 134*d5c09012SAndroid Build Coastguard Workermessage UpdateEntityRequest { 135*d5c09012SAndroid Build Coastguard Worker // Required. Update description. 136*d5c09012SAndroid Build Coastguard Worker Entity entity = 2 [(google.api.field_behavior) = REQUIRED]; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 139*d5c09012SAndroid Build Coastguard Worker // The default is false. 140*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; 141*d5c09012SAndroid Build Coastguard Worker} 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker// Delete a metadata entity request. 144*d5c09012SAndroid Build Coastguard Workermessage DeleteEntityRequest { 145*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the entity: 146*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}`. 147*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 148*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 149*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Entity" } 150*d5c09012SAndroid Build Coastguard Worker ]; 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // Required. The etag associated with the entity, which can be retrieved with 153*d5c09012SAndroid Build Coastguard Worker // a [GetEntity][] request. 154*d5c09012SAndroid Build Coastguard Worker string etag = 2 [(google.api.field_behavior) = REQUIRED]; 155*d5c09012SAndroid Build Coastguard Worker} 156*d5c09012SAndroid Build Coastguard Worker 157*d5c09012SAndroid Build Coastguard Worker// List metadata entities request. 158*d5c09012SAndroid Build Coastguard Workermessage ListEntitiesRequest { 159*d5c09012SAndroid Build Coastguard Worker // Entity views. 160*d5c09012SAndroid Build Coastguard Worker enum EntityView { 161*d5c09012SAndroid Build Coastguard Worker // The default unset value. Return both table and fileset entities 162*d5c09012SAndroid Build Coastguard Worker // if unspecified. 163*d5c09012SAndroid Build Coastguard Worker ENTITY_VIEW_UNSPECIFIED = 0; 164*d5c09012SAndroid Build Coastguard Worker 165*d5c09012SAndroid Build Coastguard Worker // Only list table entities. 166*d5c09012SAndroid Build Coastguard Worker TABLES = 1; 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // Only list fileset entities. 169*d5c09012SAndroid Build Coastguard Worker FILESETS = 2; 170*d5c09012SAndroid Build Coastguard Worker } 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent zone: 173*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`. 174*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 175*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 176*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" } 177*d5c09012SAndroid Build Coastguard Worker ]; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // Required. Specify the entity view to make a partial list request. 180*d5c09012SAndroid Build Coastguard Worker EntityView view = 2 [(google.api.field_behavior) = REQUIRED]; 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of entities to return. The service may return 183*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, 100 entities will be returned by 184*d5c09012SAndroid Build Coastguard Worker // default. The maximum value is 500; larger values will will be truncated to 185*d5c09012SAndroid Build Coastguard Worker // 500. 186*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // Optional. Page token received from a previous `ListEntities` call. Provide 189*d5c09012SAndroid Build Coastguard Worker // this to retrieve the subsequent page. When paginating, all other parameters 190*d5c09012SAndroid Build Coastguard Worker // provided to `ListEntities` must match the call that provided the 191*d5c09012SAndroid Build Coastguard Worker // page token. 192*d5c09012SAndroid Build Coastguard Worker string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // Optional. The following filter parameters can be added to the URL to limit 195*d5c09012SAndroid Build Coastguard Worker // the entities returned by the API: 196*d5c09012SAndroid Build Coastguard Worker // 197*d5c09012SAndroid Build Coastguard Worker // - Entity ID: ?filter="id=entityID" 198*d5c09012SAndroid Build Coastguard Worker // - Asset ID: ?filter="asset=assetID" 199*d5c09012SAndroid Build Coastguard Worker // - Data path ?filter="data_path=gs://my-bucket" 200*d5c09012SAndroid Build Coastguard Worker // - Is HIVE compatible: ?filter="hive_compatible=true" 201*d5c09012SAndroid Build Coastguard Worker // - Is BigQuery compatible: ?filter="bigquery_compatible=true" 202*d5c09012SAndroid Build Coastguard Worker string filter = 5 [(google.api.field_behavior) = OPTIONAL]; 203*d5c09012SAndroid Build Coastguard Worker} 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker// List metadata entities response. 206*d5c09012SAndroid Build Coastguard Workermessage ListEntitiesResponse { 207*d5c09012SAndroid Build Coastguard Worker // Entities in the specified parent zone. 208*d5c09012SAndroid Build Coastguard Worker repeated Entity entities = 1; 209*d5c09012SAndroid Build Coastguard Worker 210*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no 211*d5c09012SAndroid Build Coastguard Worker // remaining results in the list. 212*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 213*d5c09012SAndroid Build Coastguard Worker} 214*d5c09012SAndroid Build Coastguard Worker 215*d5c09012SAndroid Build Coastguard Worker// Get metadata entity request. 216*d5c09012SAndroid Build Coastguard Workermessage GetEntityRequest { 217*d5c09012SAndroid Build Coastguard Worker // Entity views for get entity partial result. 218*d5c09012SAndroid Build Coastguard Worker enum EntityView { 219*d5c09012SAndroid Build Coastguard Worker // The API will default to the `BASIC` view. 220*d5c09012SAndroid Build Coastguard Worker ENTITY_VIEW_UNSPECIFIED = 0; 221*d5c09012SAndroid Build Coastguard Worker 222*d5c09012SAndroid Build Coastguard Worker // Minimal view that does not include the schema. 223*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker // Include basic information and schema. 226*d5c09012SAndroid Build Coastguard Worker SCHEMA = 2; 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker // Include everything. Currently, this is the same as the SCHEMA view. 229*d5c09012SAndroid Build Coastguard Worker FULL = 4; 230*d5c09012SAndroid Build Coastguard Worker } 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the entity: 233*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.` 234*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 235*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 236*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Entity" } 237*d5c09012SAndroid Build Coastguard Worker ]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Optional. Used to select the subset of entity information to return. 240*d5c09012SAndroid Build Coastguard Worker // Defaults to `BASIC`. 241*d5c09012SAndroid Build Coastguard Worker EntityView view = 2 [(google.api.field_behavior) = OPTIONAL]; 242*d5c09012SAndroid Build Coastguard Worker} 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker// List metadata partitions request. 245*d5c09012SAndroid Build Coastguard Workermessage ListPartitionsRequest { 246*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent entity: 247*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}`. 248*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 249*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 250*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Entity" } 251*d5c09012SAndroid Build Coastguard Worker ]; 252*d5c09012SAndroid Build Coastguard Worker 253*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of partitions to return. The service may return 254*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, 100 partitions will be returned by 255*d5c09012SAndroid Build Coastguard Worker // default. The maximum page size is 500; larger values will will be truncated 256*d5c09012SAndroid Build Coastguard Worker // to 500. 257*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 258*d5c09012SAndroid Build Coastguard Worker 259*d5c09012SAndroid Build Coastguard Worker // Optional. Page token received from a previous `ListPartitions` call. 260*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. When paginating, all other 261*d5c09012SAndroid Build Coastguard Worker // parameters provided to `ListPartitions` must match the call that provided 262*d5c09012SAndroid Build Coastguard Worker // the page token. 263*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker // Optional. Filter the partitions returned to the caller using a key value 266*d5c09012SAndroid Build Coastguard Worker // pair expression. Supported operators and syntax: 267*d5c09012SAndroid Build Coastguard Worker // 268*d5c09012SAndroid Build Coastguard Worker // - logic operators: AND, OR 269*d5c09012SAndroid Build Coastguard Worker // - comparison operators: <, >, >=, <= ,=, != 270*d5c09012SAndroid Build Coastguard Worker // - LIKE operators: 271*d5c09012SAndroid Build Coastguard Worker // - The right hand of a LIKE operator supports "." and 272*d5c09012SAndroid Build Coastguard Worker // "*" for wildcard searches, for example "value1 LIKE ".*oo.*" 273*d5c09012SAndroid Build Coastguard Worker // - parenthetical grouping: ( ) 274*d5c09012SAndroid Build Coastguard Worker // 275*d5c09012SAndroid Build Coastguard Worker // Sample filter expression: `?filter="key1 < value1 OR key2 > value2" 276*d5c09012SAndroid Build Coastguard Worker // 277*d5c09012SAndroid Build Coastguard Worker // **Notes:** 278*d5c09012SAndroid Build Coastguard Worker // 279*d5c09012SAndroid Build Coastguard Worker // - Keys to the left of operators are case insensitive. 280*d5c09012SAndroid Build Coastguard Worker // - Partition results are sorted first by creation time, then by 281*d5c09012SAndroid Build Coastguard Worker // lexicographic order. 282*d5c09012SAndroid Build Coastguard Worker // - Up to 20 key value filter pairs are allowed, but due to performance 283*d5c09012SAndroid Build Coastguard Worker // considerations, only the first 10 will be used as a filter. 284*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 285*d5c09012SAndroid Build Coastguard Worker} 286*d5c09012SAndroid Build Coastguard Worker 287*d5c09012SAndroid Build Coastguard Worker// Create metadata partition request. 288*d5c09012SAndroid Build Coastguard Workermessage CreatePartitionRequest { 289*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent zone: 290*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}`. 291*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 292*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 293*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Entity" } 294*d5c09012SAndroid Build Coastguard Worker ]; 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker // Required. Partition resource. 297*d5c09012SAndroid Build Coastguard Worker Partition partition = 3 [(google.api.field_behavior) = REQUIRED]; 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 300*d5c09012SAndroid Build Coastguard Worker // The default is false. 301*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; 302*d5c09012SAndroid Build Coastguard Worker} 303*d5c09012SAndroid Build Coastguard Worker 304*d5c09012SAndroid Build Coastguard Worker// Delete metadata partition request. 305*d5c09012SAndroid Build Coastguard Workermessage DeletePartitionRequest { 306*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the partition. 307*d5c09012SAndroid Build Coastguard Worker // format: 308*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}`. 309*d5c09012SAndroid Build Coastguard Worker // The {partition_value_path} segment consists of an ordered sequence of 310*d5c09012SAndroid Build Coastguard Worker // partition values separated by "/". All values must be provided. 311*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 312*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 313*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 314*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Partition" 315*d5c09012SAndroid Build Coastguard Worker } 316*d5c09012SAndroid Build Coastguard Worker ]; 317*d5c09012SAndroid Build Coastguard Worker 318*d5c09012SAndroid Build Coastguard Worker // Optional. The etag associated with the partition. 319*d5c09012SAndroid Build Coastguard Worker string etag = 2 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; 320*d5c09012SAndroid Build Coastguard Worker} 321*d5c09012SAndroid Build Coastguard Worker 322*d5c09012SAndroid Build Coastguard Worker// List metadata partitions response. 323*d5c09012SAndroid Build Coastguard Workermessage ListPartitionsResponse { 324*d5c09012SAndroid Build Coastguard Worker // Partitions under the specified parent entity. 325*d5c09012SAndroid Build Coastguard Worker repeated Partition partitions = 1; 326*d5c09012SAndroid Build Coastguard Worker 327*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no 328*d5c09012SAndroid Build Coastguard Worker // remaining results in the list. 329*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 330*d5c09012SAndroid Build Coastguard Worker} 331*d5c09012SAndroid Build Coastguard Worker 332*d5c09012SAndroid Build Coastguard Worker// Get metadata partition request. 333*d5c09012SAndroid Build Coastguard Workermessage GetPartitionRequest { 334*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the partition: 335*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}`. 336*d5c09012SAndroid Build Coastguard Worker // The {partition_value_path} segment consists of an ordered sequence of 337*d5c09012SAndroid Build Coastguard Worker // partition values separated by "/". All values must be provided. 338*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 339*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 340*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 341*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Partition" 342*d5c09012SAndroid Build Coastguard Worker } 343*d5c09012SAndroid Build Coastguard Worker ]; 344*d5c09012SAndroid Build Coastguard Worker} 345*d5c09012SAndroid Build Coastguard Worker 346*d5c09012SAndroid Build Coastguard Worker// Represents tables and fileset metadata contained within a zone. 347*d5c09012SAndroid Build Coastguard Workermessage Entity { 348*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 349*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Entity" 350*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity}" 351*d5c09012SAndroid Build Coastguard Worker }; 352*d5c09012SAndroid Build Coastguard Worker 353*d5c09012SAndroid Build Coastguard Worker // The type of entity. 354*d5c09012SAndroid Build Coastguard Worker enum Type { 355*d5c09012SAndroid Build Coastguard Worker // Type unspecified. 356*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 357*d5c09012SAndroid Build Coastguard Worker 358*d5c09012SAndroid Build Coastguard Worker // Structured and semi-structured data. 359*d5c09012SAndroid Build Coastguard Worker TABLE = 1; 360*d5c09012SAndroid Build Coastguard Worker 361*d5c09012SAndroid Build Coastguard Worker // Unstructured data. 362*d5c09012SAndroid Build Coastguard Worker FILESET = 2; 363*d5c09012SAndroid Build Coastguard Worker } 364*d5c09012SAndroid Build Coastguard Worker 365*d5c09012SAndroid Build Coastguard Worker // Provides compatibility information for various metadata stores. 366*d5c09012SAndroid Build Coastguard Worker message CompatibilityStatus { 367*d5c09012SAndroid Build Coastguard Worker // Provides compatibility information for a specific metadata store. 368*d5c09012SAndroid Build Coastguard Worker message Compatibility { 369*d5c09012SAndroid Build Coastguard Worker // Output only. Whether the entity is compatible and can be represented in 370*d5c09012SAndroid Build Coastguard Worker // the metadata store. 371*d5c09012SAndroid Build Coastguard Worker bool compatible = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 372*d5c09012SAndroid Build Coastguard Worker 373*d5c09012SAndroid Build Coastguard Worker // Output only. Provides additional detail if the entity is incompatible 374*d5c09012SAndroid Build Coastguard Worker // with the metadata store. 375*d5c09012SAndroid Build Coastguard Worker string reason = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 376*d5c09012SAndroid Build Coastguard Worker } 377*d5c09012SAndroid Build Coastguard Worker 378*d5c09012SAndroid Build Coastguard Worker // Output only. Whether this entity is compatible with Hive Metastore. 379*d5c09012SAndroid Build Coastguard Worker Compatibility hive_metastore = 1 380*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 381*d5c09012SAndroid Build Coastguard Worker 382*d5c09012SAndroid Build Coastguard Worker // Output only. Whether this entity is compatible with BigQuery. 383*d5c09012SAndroid Build Coastguard Worker Compatibility bigquery = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 384*d5c09012SAndroid Build Coastguard Worker } 385*d5c09012SAndroid Build Coastguard Worker 386*d5c09012SAndroid Build Coastguard Worker // Output only. The resource name of the entity, of the form: 387*d5c09012SAndroid Build Coastguard Worker // `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}`. 388*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 389*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 390*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Entity" } 391*d5c09012SAndroid Build Coastguard Worker ]; 392*d5c09012SAndroid Build Coastguard Worker 393*d5c09012SAndroid Build Coastguard Worker // Optional. Display name must be shorter than or equal to 256 characters. 394*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; 395*d5c09012SAndroid Build Coastguard Worker 396*d5c09012SAndroid Build Coastguard Worker // Optional. User friendly longer description text. Must be shorter than or 397*d5c09012SAndroid Build Coastguard Worker // equal to 1024 characters. 398*d5c09012SAndroid Build Coastguard Worker string description = 3 [(google.api.field_behavior) = OPTIONAL]; 399*d5c09012SAndroid Build Coastguard Worker 400*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the entity was created. 401*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 5 402*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 403*d5c09012SAndroid Build Coastguard Worker 404*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the entity was last updated. 405*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 6 406*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 407*d5c09012SAndroid Build Coastguard Worker 408*d5c09012SAndroid Build Coastguard Worker // Required. A user-provided entity ID. It is mutable, and will be used as the 409*d5c09012SAndroid Build Coastguard Worker // published table name. Specifying a new ID in an update entity 410*d5c09012SAndroid Build Coastguard Worker // request will override the existing value. 411*d5c09012SAndroid Build Coastguard Worker // The ID must contain only letters (a-z, A-Z), numbers (0-9), and 412*d5c09012SAndroid Build Coastguard Worker // underscores, and consist of 256 or fewer characters. 413*d5c09012SAndroid Build Coastguard Worker string id = 7 [(google.api.field_behavior) = REQUIRED]; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // Optional. The etag associated with the entity, which can be retrieved with 416*d5c09012SAndroid Build Coastguard Worker // a [GetEntity][] request. Required for update and delete requests. 417*d5c09012SAndroid Build Coastguard Worker string etag = 8 [(google.api.field_behavior) = OPTIONAL]; 418*d5c09012SAndroid Build Coastguard Worker 419*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The type of entity. 420*d5c09012SAndroid Build Coastguard Worker Type type = 10 [ 421*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 422*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 423*d5c09012SAndroid Build Coastguard Worker ]; 424*d5c09012SAndroid Build Coastguard Worker 425*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The ID of the asset associated with the storage 426*d5c09012SAndroid Build Coastguard Worker // location containing the entity data. The entity must be with in the same 427*d5c09012SAndroid Build Coastguard Worker // zone with the asset. 428*d5c09012SAndroid Build Coastguard Worker string asset = 11 [ 429*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 430*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 431*d5c09012SAndroid Build Coastguard Worker ]; 432*d5c09012SAndroid Build Coastguard Worker 433*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The storage path of the entity data. 434*d5c09012SAndroid Build Coastguard Worker // For Cloud Storage data, this is the fully-qualified path to the entity, 435*d5c09012SAndroid Build Coastguard Worker // such as `gs://bucket/path/to/data`. For BigQuery data, this is the name of 436*d5c09012SAndroid Build Coastguard Worker // the table resource, such as 437*d5c09012SAndroid Build Coastguard Worker // `projects/project_id/datasets/dataset_id/tables/table_id`. 438*d5c09012SAndroid Build Coastguard Worker string data_path = 12 [ 439*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 440*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 441*d5c09012SAndroid Build Coastguard Worker ]; 442*d5c09012SAndroid Build Coastguard Worker 443*d5c09012SAndroid Build Coastguard Worker // Optional. The set of items within the data path constituting the data in 444*d5c09012SAndroid Build Coastguard Worker // the entity, represented as a glob path. Example: 445*d5c09012SAndroid Build Coastguard Worker // `gs://bucket/path/to/data/**/*.csv`. 446*d5c09012SAndroid Build Coastguard Worker string data_path_pattern = 13 [(google.api.field_behavior) = OPTIONAL]; 447*d5c09012SAndroid Build Coastguard Worker 448*d5c09012SAndroid Build Coastguard Worker // Output only. The name of the associated Data Catalog entry. 449*d5c09012SAndroid Build Coastguard Worker string catalog_entry = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. Identifies the storage system of the entity data. 452*d5c09012SAndroid Build Coastguard Worker StorageSystem system = 15 [ 453*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 454*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 455*d5c09012SAndroid Build Coastguard Worker ]; 456*d5c09012SAndroid Build Coastguard Worker 457*d5c09012SAndroid Build Coastguard Worker // Required. Identifies the storage format of the entity data. 458*d5c09012SAndroid Build Coastguard Worker // It does not apply to entities with data stored in BigQuery. 459*d5c09012SAndroid Build Coastguard Worker StorageFormat format = 16 [(google.api.field_behavior) = REQUIRED]; 460*d5c09012SAndroid Build Coastguard Worker 461*d5c09012SAndroid Build Coastguard Worker // Output only. Metadata stores that the entity is compatible with. 462*d5c09012SAndroid Build Coastguard Worker CompatibilityStatus compatibility = 19 463*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 464*d5c09012SAndroid Build Coastguard Worker 465*d5c09012SAndroid Build Coastguard Worker // Output only. Identifies the access mechanism to the entity. Not user 466*d5c09012SAndroid Build Coastguard Worker // settable. 467*d5c09012SAndroid Build Coastguard Worker StorageAccess access = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; 468*d5c09012SAndroid Build Coastguard Worker 469*d5c09012SAndroid Build Coastguard Worker // Output only. System generated unique ID for the Entity. This ID will be 470*d5c09012SAndroid Build Coastguard Worker // different if the Entity is deleted and re-created with the same name. 471*d5c09012SAndroid Build Coastguard Worker string uid = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; 472*d5c09012SAndroid Build Coastguard Worker 473*d5c09012SAndroid Build Coastguard Worker // Required. The description of the data structure and layout. 474*d5c09012SAndroid Build Coastguard Worker // The schema is not included in list responses. It is only included in 475*d5c09012SAndroid Build Coastguard Worker // `SCHEMA` and `FULL` entity views of a `GetEntity` response. 476*d5c09012SAndroid Build Coastguard Worker Schema schema = 50 [(google.api.field_behavior) = REQUIRED]; 477*d5c09012SAndroid Build Coastguard Worker} 478*d5c09012SAndroid Build Coastguard Worker 479*d5c09012SAndroid Build Coastguard Worker// Represents partition metadata contained within entity instances. 480*d5c09012SAndroid Build Coastguard Workermessage Partition { 481*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 482*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Partition" 483*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity}/partitions/{partition}" 484*d5c09012SAndroid Build Coastguard Worker }; 485*d5c09012SAndroid Build Coastguard Worker 486*d5c09012SAndroid Build Coastguard Worker // Output only. Partition values used in the HTTP URL must be 487*d5c09012SAndroid Build Coastguard Worker // double encoded. For example, `url_encode(url_encode(value))` can be used 488*d5c09012SAndroid Build Coastguard Worker // to encode "US:CA/CA#Sunnyvale so that the request URL ends 489*d5c09012SAndroid Build Coastguard Worker // with "/partitions/US%253ACA/CA%2523Sunnyvale". 490*d5c09012SAndroid Build Coastguard Worker // The name field in the response retains the encoded format. 491*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 492*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 493*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 494*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Partition" 495*d5c09012SAndroid Build Coastguard Worker } 496*d5c09012SAndroid Build Coastguard Worker ]; 497*d5c09012SAndroid Build Coastguard Worker 498*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The set of values representing the partition, which 499*d5c09012SAndroid Build Coastguard Worker // correspond to the partition schema defined in the parent entity. 500*d5c09012SAndroid Build Coastguard Worker repeated string values = 2 [ 501*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 502*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 503*d5c09012SAndroid Build Coastguard Worker ]; 504*d5c09012SAndroid Build Coastguard Worker 505*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The location of the entity data within the partition, 506*d5c09012SAndroid Build Coastguard Worker // for example, `gs://bucket/path/to/entity/key1=value1/key2=value2`. Or 507*d5c09012SAndroid Build Coastguard Worker // `projects/<project_id>/datasets/<dataset_id>/tables/<table_id>` 508*d5c09012SAndroid Build Coastguard Worker string location = 3 [ 509*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 510*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 511*d5c09012SAndroid Build Coastguard Worker ]; 512*d5c09012SAndroid Build Coastguard Worker 513*d5c09012SAndroid Build Coastguard Worker // Optional. The etag for this partition. 514*d5c09012SAndroid Build Coastguard Worker string etag = 4 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; 515*d5c09012SAndroid Build Coastguard Worker} 516*d5c09012SAndroid Build Coastguard Worker 517*d5c09012SAndroid Build Coastguard Worker// Schema information describing the structure and layout of the data. 518*d5c09012SAndroid Build Coastguard Workermessage Schema { 519*d5c09012SAndroid Build Coastguard Worker // Type information for fields in schemas and partition schemas. 520*d5c09012SAndroid Build Coastguard Worker enum Type { 521*d5c09012SAndroid Build Coastguard Worker // SchemaType unspecified. 522*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 523*d5c09012SAndroid Build Coastguard Worker 524*d5c09012SAndroid Build Coastguard Worker // Boolean field. 525*d5c09012SAndroid Build Coastguard Worker BOOLEAN = 1; 526*d5c09012SAndroid Build Coastguard Worker 527*d5c09012SAndroid Build Coastguard Worker // Single byte numeric field. 528*d5c09012SAndroid Build Coastguard Worker BYTE = 2; 529*d5c09012SAndroid Build Coastguard Worker 530*d5c09012SAndroid Build Coastguard Worker // 16-bit numeric field. 531*d5c09012SAndroid Build Coastguard Worker INT16 = 3; 532*d5c09012SAndroid Build Coastguard Worker 533*d5c09012SAndroid Build Coastguard Worker // 32-bit numeric field. 534*d5c09012SAndroid Build Coastguard Worker INT32 = 4; 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Worker // 64-bit numeric field. 537*d5c09012SAndroid Build Coastguard Worker INT64 = 5; 538*d5c09012SAndroid Build Coastguard Worker 539*d5c09012SAndroid Build Coastguard Worker // Floating point numeric field. 540*d5c09012SAndroid Build Coastguard Worker FLOAT = 6; 541*d5c09012SAndroid Build Coastguard Worker 542*d5c09012SAndroid Build Coastguard Worker // Double precision numeric field. 543*d5c09012SAndroid Build Coastguard Worker DOUBLE = 7; 544*d5c09012SAndroid Build Coastguard Worker 545*d5c09012SAndroid Build Coastguard Worker // Real value numeric field. 546*d5c09012SAndroid Build Coastguard Worker DECIMAL = 8; 547*d5c09012SAndroid Build Coastguard Worker 548*d5c09012SAndroid Build Coastguard Worker // Sequence of characters field. 549*d5c09012SAndroid Build Coastguard Worker STRING = 9; 550*d5c09012SAndroid Build Coastguard Worker 551*d5c09012SAndroid Build Coastguard Worker // Sequence of bytes field. 552*d5c09012SAndroid Build Coastguard Worker BINARY = 10; 553*d5c09012SAndroid Build Coastguard Worker 554*d5c09012SAndroid Build Coastguard Worker // Date and time field. 555*d5c09012SAndroid Build Coastguard Worker TIMESTAMP = 11; 556*d5c09012SAndroid Build Coastguard Worker 557*d5c09012SAndroid Build Coastguard Worker // Date field. 558*d5c09012SAndroid Build Coastguard Worker DATE = 12; 559*d5c09012SAndroid Build Coastguard Worker 560*d5c09012SAndroid Build Coastguard Worker // Time field. 561*d5c09012SAndroid Build Coastguard Worker TIME = 13; 562*d5c09012SAndroid Build Coastguard Worker 563*d5c09012SAndroid Build Coastguard Worker // Structured field. Nested fields that define the structure of the map. 564*d5c09012SAndroid Build Coastguard Worker // If all nested fields are nullable, this field represents a union. 565*d5c09012SAndroid Build Coastguard Worker RECORD = 14; 566*d5c09012SAndroid Build Coastguard Worker 567*d5c09012SAndroid Build Coastguard Worker // Null field that does not have values. 568*d5c09012SAndroid Build Coastguard Worker NULL = 100; 569*d5c09012SAndroid Build Coastguard Worker } 570*d5c09012SAndroid Build Coastguard Worker 571*d5c09012SAndroid Build Coastguard Worker // Additional qualifiers to define field semantics. 572*d5c09012SAndroid Build Coastguard Worker enum Mode { 573*d5c09012SAndroid Build Coastguard Worker // Mode unspecified. 574*d5c09012SAndroid Build Coastguard Worker MODE_UNSPECIFIED = 0; 575*d5c09012SAndroid Build Coastguard Worker 576*d5c09012SAndroid Build Coastguard Worker // The field has required semantics. 577*d5c09012SAndroid Build Coastguard Worker REQUIRED = 1; 578*d5c09012SAndroid Build Coastguard Worker 579*d5c09012SAndroid Build Coastguard Worker // The field has optional semantics, and may be null. 580*d5c09012SAndroid Build Coastguard Worker NULLABLE = 2; 581*d5c09012SAndroid Build Coastguard Worker 582*d5c09012SAndroid Build Coastguard Worker // The field has repeated (0 or more) semantics, and is a list of values. 583*d5c09012SAndroid Build Coastguard Worker REPEATED = 3; 584*d5c09012SAndroid Build Coastguard Worker } 585*d5c09012SAndroid Build Coastguard Worker 586*d5c09012SAndroid Build Coastguard Worker // Represents a column field within a table schema. 587*d5c09012SAndroid Build Coastguard Worker message SchemaField { 588*d5c09012SAndroid Build Coastguard Worker // Required. The name of the field. Must contain only letters, numbers and 589*d5c09012SAndroid Build Coastguard Worker // underscores, with a maximum length of 767 characters, 590*d5c09012SAndroid Build Coastguard Worker // and must begin with a letter or underscore. 591*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 592*d5c09012SAndroid Build Coastguard Worker 593*d5c09012SAndroid Build Coastguard Worker // Optional. User friendly field description. Must be less than or equal to 594*d5c09012SAndroid Build Coastguard Worker // 1024 characters. 595*d5c09012SAndroid Build Coastguard Worker string description = 2 [(google.api.field_behavior) = OPTIONAL]; 596*d5c09012SAndroid Build Coastguard Worker 597*d5c09012SAndroid Build Coastguard Worker // Required. The type of field. 598*d5c09012SAndroid Build Coastguard Worker Type type = 3 [(google.api.field_behavior) = REQUIRED]; 599*d5c09012SAndroid Build Coastguard Worker 600*d5c09012SAndroid Build Coastguard Worker // Required. Additional field semantics. 601*d5c09012SAndroid Build Coastguard Worker Mode mode = 4 [(google.api.field_behavior) = REQUIRED]; 602*d5c09012SAndroid Build Coastguard Worker 603*d5c09012SAndroid Build Coastguard Worker // Optional. Any nested field for complex types. 604*d5c09012SAndroid Build Coastguard Worker repeated SchemaField fields = 10 [(google.api.field_behavior) = OPTIONAL]; 605*d5c09012SAndroid Build Coastguard Worker } 606*d5c09012SAndroid Build Coastguard Worker 607*d5c09012SAndroid Build Coastguard Worker // Represents a key field within the entity's partition structure. You could 608*d5c09012SAndroid Build Coastguard Worker // have up to 20 partition fields, but only the first 10 partitions have the 609*d5c09012SAndroid Build Coastguard Worker // filtering ability due to performance consideration. **Note:** 610*d5c09012SAndroid Build Coastguard Worker // Partition fields are immutable. 611*d5c09012SAndroid Build Coastguard Worker message PartitionField { 612*d5c09012SAndroid Build Coastguard Worker // Required. Partition field name must consist of letters, numbers, and 613*d5c09012SAndroid Build Coastguard Worker // underscores only, with a maximum of length of 256 characters, and must 614*d5c09012SAndroid Build Coastguard Worker // begin with a letter or underscore.. 615*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 616*d5c09012SAndroid Build Coastguard Worker 617*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The type of field. 618*d5c09012SAndroid Build Coastguard Worker Type type = 2 [ 619*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 620*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 621*d5c09012SAndroid Build Coastguard Worker ]; 622*d5c09012SAndroid Build Coastguard Worker } 623*d5c09012SAndroid Build Coastguard Worker 624*d5c09012SAndroid Build Coastguard Worker // The structure of paths within the entity, which represent partitions. 625*d5c09012SAndroid Build Coastguard Worker enum PartitionStyle { 626*d5c09012SAndroid Build Coastguard Worker // PartitionStyle unspecified 627*d5c09012SAndroid Build Coastguard Worker PARTITION_STYLE_UNSPECIFIED = 0; 628*d5c09012SAndroid Build Coastguard Worker 629*d5c09012SAndroid Build Coastguard Worker // Partitions are hive-compatible. 630*d5c09012SAndroid Build Coastguard Worker // Examples: `gs://bucket/path/to/table/dt=2019-10-31/lang=en`, 631*d5c09012SAndroid Build Coastguard Worker // `gs://bucket/path/to/table/dt=2019-10-31/lang=en/late`. 632*d5c09012SAndroid Build Coastguard Worker HIVE_COMPATIBLE = 1; 633*d5c09012SAndroid Build Coastguard Worker } 634*d5c09012SAndroid Build Coastguard Worker 635*d5c09012SAndroid Build Coastguard Worker // Required. Set to `true` if user-managed or `false` if managed by Dataplex. 636*d5c09012SAndroid Build Coastguard Worker // The default is `false` (managed by Dataplex). 637*d5c09012SAndroid Build Coastguard Worker // 638*d5c09012SAndroid Build Coastguard Worker // - Set to `false`to enable Dataplex discovery to update the schema. 639*d5c09012SAndroid Build Coastguard Worker // including new data discovery, schema inference, and schema evolution. 640*d5c09012SAndroid Build Coastguard Worker // Users retain the ability to input and edit the schema. Dataplex 641*d5c09012SAndroid Build Coastguard Worker // treats schema input by the user as though produced 642*d5c09012SAndroid Build Coastguard Worker // by a previous Dataplex discovery operation, and it will 643*d5c09012SAndroid Build Coastguard Worker // evolve the schema and take action based on that treatment. 644*d5c09012SAndroid Build Coastguard Worker // 645*d5c09012SAndroid Build Coastguard Worker // - Set to `true` to fully manage the entity 646*d5c09012SAndroid Build Coastguard Worker // schema. This setting guarantees that Dataplex will not 647*d5c09012SAndroid Build Coastguard Worker // change schema fields. 648*d5c09012SAndroid Build Coastguard Worker bool user_managed = 1 [(google.api.field_behavior) = REQUIRED]; 649*d5c09012SAndroid Build Coastguard Worker 650*d5c09012SAndroid Build Coastguard Worker // Optional. The sequence of fields describing data in table entities. 651*d5c09012SAndroid Build Coastguard Worker // **Note:** BigQuery SchemaFields are immutable. 652*d5c09012SAndroid Build Coastguard Worker repeated SchemaField fields = 2 [(google.api.field_behavior) = OPTIONAL]; 653*d5c09012SAndroid Build Coastguard Worker 654*d5c09012SAndroid Build Coastguard Worker // Optional. The sequence of fields describing the partition structure in 655*d5c09012SAndroid Build Coastguard Worker // entities. If this field is empty, there are no partitions within the data. 656*d5c09012SAndroid Build Coastguard Worker repeated PartitionField partition_fields = 3 657*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 658*d5c09012SAndroid Build Coastguard Worker 659*d5c09012SAndroid Build Coastguard Worker // Optional. The structure of paths containing partition data within the 660*d5c09012SAndroid Build Coastguard Worker // entity. 661*d5c09012SAndroid Build Coastguard Worker PartitionStyle partition_style = 4 [(google.api.field_behavior) = OPTIONAL]; 662*d5c09012SAndroid Build Coastguard Worker} 663*d5c09012SAndroid Build Coastguard Worker 664*d5c09012SAndroid Build Coastguard Worker// Describes the format of the data within its storage location. 665*d5c09012SAndroid Build Coastguard Workermessage StorageFormat { 666*d5c09012SAndroid Build Coastguard Worker // Describes CSV and similar semi-structured data formats. 667*d5c09012SAndroid Build Coastguard Worker message CsvOptions { 668*d5c09012SAndroid Build Coastguard Worker // Optional. The character encoding of the data. Accepts "US-ASCII", 669*d5c09012SAndroid Build Coastguard Worker // "UTF-8", and "ISO-8859-1". Defaults to UTF-8 if unspecified. 670*d5c09012SAndroid Build Coastguard Worker string encoding = 1 [(google.api.field_behavior) = OPTIONAL]; 671*d5c09012SAndroid Build Coastguard Worker 672*d5c09012SAndroid Build Coastguard Worker // Optional. The number of rows to interpret as header rows that should be 673*d5c09012SAndroid Build Coastguard Worker // skipped when reading data rows. Defaults to 0. 674*d5c09012SAndroid Build Coastguard Worker int32 header_rows = 2 [(google.api.field_behavior) = OPTIONAL]; 675*d5c09012SAndroid Build Coastguard Worker 676*d5c09012SAndroid Build Coastguard Worker // Optional. The delimiter used to separate values. Defaults to ','. 677*d5c09012SAndroid Build Coastguard Worker string delimiter = 3 [(google.api.field_behavior) = OPTIONAL]; 678*d5c09012SAndroid Build Coastguard Worker 679*d5c09012SAndroid Build Coastguard Worker // Optional. The character used to quote column values. Accepts '"' 680*d5c09012SAndroid Build Coastguard Worker // (double quotation mark) or ''' (single quotation mark). Defaults to 681*d5c09012SAndroid Build Coastguard Worker // '"' (double quotation mark) if unspecified. 682*d5c09012SAndroid Build Coastguard Worker string quote = 4 [(google.api.field_behavior) = OPTIONAL]; 683*d5c09012SAndroid Build Coastguard Worker } 684*d5c09012SAndroid Build Coastguard Worker 685*d5c09012SAndroid Build Coastguard Worker // Describes JSON data format. 686*d5c09012SAndroid Build Coastguard Worker message JsonOptions { 687*d5c09012SAndroid Build Coastguard Worker // Optional. The character encoding of the data. Accepts "US-ASCII", "UTF-8" 688*d5c09012SAndroid Build Coastguard Worker // and "ISO-8859-1". Defaults to UTF-8 if not specified. 689*d5c09012SAndroid Build Coastguard Worker string encoding = 1 [(google.api.field_behavior) = OPTIONAL]; 690*d5c09012SAndroid Build Coastguard Worker } 691*d5c09012SAndroid Build Coastguard Worker 692*d5c09012SAndroid Build Coastguard Worker // Describes Iceberg data format. 693*d5c09012SAndroid Build Coastguard Worker message IcebergOptions { 694*d5c09012SAndroid Build Coastguard Worker // Optional. The location of where the iceberg metadata is present, must be 695*d5c09012SAndroid Build Coastguard Worker // within the table path 696*d5c09012SAndroid Build Coastguard Worker string metadata_location = 1 [(google.api.field_behavior) = OPTIONAL]; 697*d5c09012SAndroid Build Coastguard Worker } 698*d5c09012SAndroid Build Coastguard Worker 699*d5c09012SAndroid Build Coastguard Worker // The specific file format of the data. 700*d5c09012SAndroid Build Coastguard Worker enum Format { 701*d5c09012SAndroid Build Coastguard Worker // Format unspecified. 702*d5c09012SAndroid Build Coastguard Worker FORMAT_UNSPECIFIED = 0; 703*d5c09012SAndroid Build Coastguard Worker 704*d5c09012SAndroid Build Coastguard Worker // Parquet-formatted structured data. 705*d5c09012SAndroid Build Coastguard Worker PARQUET = 1; 706*d5c09012SAndroid Build Coastguard Worker 707*d5c09012SAndroid Build Coastguard Worker // Avro-formatted structured data. 708*d5c09012SAndroid Build Coastguard Worker AVRO = 2; 709*d5c09012SAndroid Build Coastguard Worker 710*d5c09012SAndroid Build Coastguard Worker // Orc-formatted structured data. 711*d5c09012SAndroid Build Coastguard Worker ORC = 3; 712*d5c09012SAndroid Build Coastguard Worker 713*d5c09012SAndroid Build Coastguard Worker // Csv-formatted semi-structured data. 714*d5c09012SAndroid Build Coastguard Worker CSV = 100; 715*d5c09012SAndroid Build Coastguard Worker 716*d5c09012SAndroid Build Coastguard Worker // Json-formatted semi-structured data. 717*d5c09012SAndroid Build Coastguard Worker JSON = 101; 718*d5c09012SAndroid Build Coastguard Worker 719*d5c09012SAndroid Build Coastguard Worker // Image data formats (such as jpg and png). 720*d5c09012SAndroid Build Coastguard Worker IMAGE = 200; 721*d5c09012SAndroid Build Coastguard Worker 722*d5c09012SAndroid Build Coastguard Worker // Audio data formats (such as mp3, and wav). 723*d5c09012SAndroid Build Coastguard Worker AUDIO = 201; 724*d5c09012SAndroid Build Coastguard Worker 725*d5c09012SAndroid Build Coastguard Worker // Video data formats (such as mp4 and mpg). 726*d5c09012SAndroid Build Coastguard Worker VIDEO = 202; 727*d5c09012SAndroid Build Coastguard Worker 728*d5c09012SAndroid Build Coastguard Worker // Textual data formats (such as txt and xml). 729*d5c09012SAndroid Build Coastguard Worker TEXT = 203; 730*d5c09012SAndroid Build Coastguard Worker 731*d5c09012SAndroid Build Coastguard Worker // TensorFlow record format. 732*d5c09012SAndroid Build Coastguard Worker TFRECORD = 204; 733*d5c09012SAndroid Build Coastguard Worker 734*d5c09012SAndroid Build Coastguard Worker // Data that doesn't match a specific format. 735*d5c09012SAndroid Build Coastguard Worker OTHER = 1000; 736*d5c09012SAndroid Build Coastguard Worker 737*d5c09012SAndroid Build Coastguard Worker // Data of an unknown format. 738*d5c09012SAndroid Build Coastguard Worker UNKNOWN = 1001; 739*d5c09012SAndroid Build Coastguard Worker } 740*d5c09012SAndroid Build Coastguard Worker 741*d5c09012SAndroid Build Coastguard Worker // The specific compressed file format of the data. 742*d5c09012SAndroid Build Coastguard Worker enum CompressionFormat { 743*d5c09012SAndroid Build Coastguard Worker // CompressionFormat unspecified. Implies uncompressed data. 744*d5c09012SAndroid Build Coastguard Worker COMPRESSION_FORMAT_UNSPECIFIED = 0; 745*d5c09012SAndroid Build Coastguard Worker 746*d5c09012SAndroid Build Coastguard Worker // GZip compressed set of files. 747*d5c09012SAndroid Build Coastguard Worker GZIP = 2; 748*d5c09012SAndroid Build Coastguard Worker 749*d5c09012SAndroid Build Coastguard Worker // BZip2 compressed set of files. 750*d5c09012SAndroid Build Coastguard Worker BZIP2 = 3; 751*d5c09012SAndroid Build Coastguard Worker } 752*d5c09012SAndroid Build Coastguard Worker 753*d5c09012SAndroid Build Coastguard Worker // Output only. The data format associated with the stored data, which 754*d5c09012SAndroid Build Coastguard Worker // represents content type values. The value is inferred from mime type. 755*d5c09012SAndroid Build Coastguard Worker Format format = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 756*d5c09012SAndroid Build Coastguard Worker 757*d5c09012SAndroid Build Coastguard Worker // Optional. The compression type associated with the stored data. 758*d5c09012SAndroid Build Coastguard Worker // If unspecified, the data is uncompressed. 759*d5c09012SAndroid Build Coastguard Worker CompressionFormat compression_format = 2 760*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 761*d5c09012SAndroid Build Coastguard Worker 762*d5c09012SAndroid Build Coastguard Worker // Required. The mime type descriptor for the data. Must match the pattern 763*d5c09012SAndroid Build Coastguard Worker // {type}/{subtype}. Supported values: 764*d5c09012SAndroid Build Coastguard Worker // 765*d5c09012SAndroid Build Coastguard Worker // - application/x-parquet 766*d5c09012SAndroid Build Coastguard Worker // - application/x-avro 767*d5c09012SAndroid Build Coastguard Worker // - application/x-orc 768*d5c09012SAndroid Build Coastguard Worker // - application/x-tfrecord 769*d5c09012SAndroid Build Coastguard Worker // - application/x-parquet+iceberg 770*d5c09012SAndroid Build Coastguard Worker // - application/x-avro+iceberg 771*d5c09012SAndroid Build Coastguard Worker // - application/x-orc+iceberg 772*d5c09012SAndroid Build Coastguard Worker // - application/json 773*d5c09012SAndroid Build Coastguard Worker // - application/{subtypes} 774*d5c09012SAndroid Build Coastguard Worker // - text/csv 775*d5c09012SAndroid Build Coastguard Worker // - text/<subtypes> 776*d5c09012SAndroid Build Coastguard Worker // - image/{image subtype} 777*d5c09012SAndroid Build Coastguard Worker // - video/{video subtype} 778*d5c09012SAndroid Build Coastguard Worker // - audio/{audio subtype} 779*d5c09012SAndroid Build Coastguard Worker string mime_type = 3 [(google.api.field_behavior) = REQUIRED]; 780*d5c09012SAndroid Build Coastguard Worker 781*d5c09012SAndroid Build Coastguard Worker // Additional format-specific options. 782*d5c09012SAndroid Build Coastguard Worker oneof options { 783*d5c09012SAndroid Build Coastguard Worker // Optional. Additional information about CSV formatted data. 784*d5c09012SAndroid Build Coastguard Worker CsvOptions csv = 10 [(google.api.field_behavior) = OPTIONAL]; 785*d5c09012SAndroid Build Coastguard Worker 786*d5c09012SAndroid Build Coastguard Worker // Optional. Additional information about CSV formatted data. 787*d5c09012SAndroid Build Coastguard Worker JsonOptions json = 11 [(google.api.field_behavior) = OPTIONAL]; 788*d5c09012SAndroid Build Coastguard Worker 789*d5c09012SAndroid Build Coastguard Worker // Optional. Additional information about iceberg tables. 790*d5c09012SAndroid Build Coastguard Worker IcebergOptions iceberg = 12 [(google.api.field_behavior) = OPTIONAL]; 791*d5c09012SAndroid Build Coastguard Worker } 792*d5c09012SAndroid Build Coastguard Worker} 793*d5c09012SAndroid Build Coastguard Worker 794*d5c09012SAndroid Build Coastguard Worker// Describes the access mechanism of the data within its storage location. 795*d5c09012SAndroid Build Coastguard Workermessage StorageAccess { 796*d5c09012SAndroid Build Coastguard Worker // Access Mode determines how data stored within the Entity is read. 797*d5c09012SAndroid Build Coastguard Worker enum AccessMode { 798*d5c09012SAndroid Build Coastguard Worker // Access mode unspecified. 799*d5c09012SAndroid Build Coastguard Worker ACCESS_MODE_UNSPECIFIED = 0; 800*d5c09012SAndroid Build Coastguard Worker 801*d5c09012SAndroid Build Coastguard Worker // Default. Data is accessed directly using storage APIs. 802*d5c09012SAndroid Build Coastguard Worker DIRECT = 1; 803*d5c09012SAndroid Build Coastguard Worker 804*d5c09012SAndroid Build Coastguard Worker // Data is accessed through a managed interface using BigQuery APIs. 805*d5c09012SAndroid Build Coastguard Worker MANAGED = 2; 806*d5c09012SAndroid Build Coastguard Worker } 807*d5c09012SAndroid Build Coastguard Worker 808*d5c09012SAndroid Build Coastguard Worker // Output only. Describes the read access mechanism of the data. Not user 809*d5c09012SAndroid Build Coastguard Worker // settable. 810*d5c09012SAndroid Build Coastguard Worker AccessMode read = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; 811*d5c09012SAndroid Build Coastguard Worker} 812*d5c09012SAndroid Build Coastguard Worker 813*d5c09012SAndroid Build Coastguard Worker// Identifies the cloud system that manages the data storage. 814*d5c09012SAndroid Build Coastguard Workerenum StorageSystem { 815*d5c09012SAndroid Build Coastguard Worker // Storage system unspecified. 816*d5c09012SAndroid Build Coastguard Worker STORAGE_SYSTEM_UNSPECIFIED = 0; 817*d5c09012SAndroid Build Coastguard Worker 818*d5c09012SAndroid Build Coastguard Worker // The entity data is contained within a Cloud Storage bucket. 819*d5c09012SAndroid Build Coastguard Worker CLOUD_STORAGE = 1; 820*d5c09012SAndroid Build Coastguard Worker 821*d5c09012SAndroid Build Coastguard Worker // The entity data is contained within a BigQuery dataset. 822*d5c09012SAndroid Build Coastguard Worker BIGQUERY = 2; 823*d5c09012SAndroid Build Coastguard Worker} 824