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/cloud/dataplex/v1/analyze.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/iam_policy.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb"; 30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 31*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ContentProto"; 32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dataplex.v1"; 33*d5c09012SAndroid Build Coastguard Worker 34*d5c09012SAndroid Build Coastguard Worker// ContentService manages Notebook and SQL Scripts for Dataplex. 35*d5c09012SAndroid Build Coastguard Workerservice ContentService { 36*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataplex.googleapis.com"; 37*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 38*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 39*d5c09012SAndroid Build Coastguard Worker 40*d5c09012SAndroid Build Coastguard Worker // Create a content. 41*d5c09012SAndroid Build Coastguard Worker rpc CreateContent(CreateContentRequest) returns (Content) { 42*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 43*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*/lakes/*}/contentitems" 44*d5c09012SAndroid Build Coastguard Worker body: "content" 45*d5c09012SAndroid Build Coastguard Worker additional_bindings { 46*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*/lakes/*}/content" 47*d5c09012SAndroid Build Coastguard Worker body: "content" 48*d5c09012SAndroid Build Coastguard Worker } 49*d5c09012SAndroid Build Coastguard Worker }; 50*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,content"; 51*d5c09012SAndroid Build Coastguard Worker } 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Update a content. Only supports full resource update. 54*d5c09012SAndroid Build Coastguard Worker rpc UpdateContent(UpdateContentRequest) returns (Content) { 55*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 56*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{content.name=projects/*/locations/*/lakes/*/contentitems/**}" 57*d5c09012SAndroid Build Coastguard Worker body: "content" 58*d5c09012SAndroid Build Coastguard Worker additional_bindings { 59*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{content.name=projects/*/locations/*/lakes/*/content/**}" 60*d5c09012SAndroid Build Coastguard Worker body: "content" 61*d5c09012SAndroid Build Coastguard Worker } 62*d5c09012SAndroid Build Coastguard Worker }; 63*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "content,update_mask"; 64*d5c09012SAndroid Build Coastguard Worker } 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Delete a content. 67*d5c09012SAndroid Build Coastguard Worker rpc DeleteContent(DeleteContentRequest) returns (google.protobuf.Empty) { 68*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 69*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/lakes/*/contentitems/**}" 70*d5c09012SAndroid Build Coastguard Worker additional_bindings { 71*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/lakes/*/content/**}" 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker }; 74*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Get a content resource. 78*d5c09012SAndroid Build Coastguard Worker rpc GetContent(GetContentRequest) returns (Content) { 79*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 80*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/lakes/*/contentitems/**}" 81*d5c09012SAndroid Build Coastguard Worker additional_bindings { 82*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/lakes/*/content/**}" 83*d5c09012SAndroid Build Coastguard Worker } 84*d5c09012SAndroid Build Coastguard Worker }; 85*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 86*d5c09012SAndroid Build Coastguard Worker } 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Gets the access control policy for a contentitem resource. A `NOT_FOUND` 89*d5c09012SAndroid Build Coastguard Worker // error is returned if the resource does not exist. An empty policy is 90*d5c09012SAndroid Build Coastguard Worker // returned if the resource exists but does not have a policy set on it. 91*d5c09012SAndroid Build Coastguard Worker // 92*d5c09012SAndroid Build Coastguard Worker // Caller must have Google IAM `dataplex.content.getIamPolicy` permission 93*d5c09012SAndroid Build Coastguard Worker // on the resource. 94*d5c09012SAndroid Build Coastguard Worker rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) 95*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.Policy) { 96*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 97*d5c09012SAndroid Build Coastguard Worker get: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:getIamPolicy" 98*d5c09012SAndroid Build Coastguard Worker additional_bindings { 99*d5c09012SAndroid Build Coastguard Worker get: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:getIamPolicy" 100*d5c09012SAndroid Build Coastguard Worker } 101*d5c09012SAndroid Build Coastguard Worker }; 102*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "resource"; 103*d5c09012SAndroid Build Coastguard Worker } 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // Sets the access control policy on the specified contentitem resource. 106*d5c09012SAndroid Build Coastguard Worker // Replaces any existing policy. 107*d5c09012SAndroid Build Coastguard Worker // 108*d5c09012SAndroid Build Coastguard Worker // Caller must have Google IAM `dataplex.content.setIamPolicy` permission 109*d5c09012SAndroid Build Coastguard Worker // on the resource. 110*d5c09012SAndroid Build Coastguard Worker rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) 111*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.Policy) { 112*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 113*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:setIamPolicy" 114*d5c09012SAndroid Build Coastguard Worker body: "*" 115*d5c09012SAndroid Build Coastguard Worker additional_bindings { 116*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:setIamPolicy" 117*d5c09012SAndroid Build Coastguard Worker body: "*" 118*d5c09012SAndroid Build Coastguard Worker } 119*d5c09012SAndroid Build Coastguard Worker }; 120*d5c09012SAndroid Build Coastguard Worker } 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Returns the caller's permissions on a resource. 123*d5c09012SAndroid Build Coastguard Worker // If the resource does not exist, an empty set of 124*d5c09012SAndroid Build Coastguard Worker // permissions is returned (a `NOT_FOUND` error is not returned). 125*d5c09012SAndroid Build Coastguard Worker // 126*d5c09012SAndroid Build Coastguard Worker // A caller is not required to have Google IAM permission to make this 127*d5c09012SAndroid Build Coastguard Worker // request. 128*d5c09012SAndroid Build Coastguard Worker // 129*d5c09012SAndroid Build Coastguard Worker // Note: This operation is designed to be used for building permission-aware 130*d5c09012SAndroid Build Coastguard Worker // UIs and command-line tools, not for authorization checking. This operation 131*d5c09012SAndroid Build Coastguard Worker // may "fail open" without warning. 132*d5c09012SAndroid Build Coastguard Worker rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) 133*d5c09012SAndroid Build Coastguard Worker returns (google.iam.v1.TestIamPermissionsResponse) { 134*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 135*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:testIamPermissions" 136*d5c09012SAndroid Build Coastguard Worker body: "*" 137*d5c09012SAndroid Build Coastguard Worker additional_bindings { 138*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:testIamPermissions" 139*d5c09012SAndroid Build Coastguard Worker body: "*" 140*d5c09012SAndroid Build Coastguard Worker } 141*d5c09012SAndroid Build Coastguard Worker }; 142*d5c09012SAndroid Build Coastguard Worker } 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // List content. 145*d5c09012SAndroid Build Coastguard Worker rpc ListContent(ListContentRequest) returns (ListContentResponse) { 146*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 147*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/lakes/*}/contentitems" 148*d5c09012SAndroid Build Coastguard Worker additional_bindings { 149*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/lakes/*}/content" 150*d5c09012SAndroid Build Coastguard Worker } 151*d5c09012SAndroid Build Coastguard Worker }; 152*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 153*d5c09012SAndroid Build Coastguard Worker } 154*d5c09012SAndroid Build Coastguard Worker} 155*d5c09012SAndroid Build Coastguard Worker 156*d5c09012SAndroid Build Coastguard Worker// Create content request. 157*d5c09012SAndroid Build Coastguard Workermessage CreateContentRequest { 158*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent lake: 159*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location_id}/lakes/{lake_id} 160*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 161*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 162*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" } 163*d5c09012SAndroid Build Coastguard Worker ]; 164*d5c09012SAndroid Build Coastguard Worker 165*d5c09012SAndroid Build Coastguard Worker // Required. Content resource. 166*d5c09012SAndroid Build Coastguard Worker Content content = 2 [(google.api.field_behavior) = REQUIRED]; 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 169*d5c09012SAndroid Build Coastguard Worker // The default is false. 170*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; 171*d5c09012SAndroid Build Coastguard Worker} 172*d5c09012SAndroid Build Coastguard Worker 173*d5c09012SAndroid Build Coastguard Worker// Update content request. 174*d5c09012SAndroid Build Coastguard Workermessage UpdateContentRequest { 175*d5c09012SAndroid Build Coastguard Worker // Required. Mask of fields to update. 176*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 1 177*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // Required. Update description. 180*d5c09012SAndroid Build Coastguard Worker // Only fields specified in `update_mask` are updated. 181*d5c09012SAndroid Build Coastguard Worker Content content = 2 [(google.api.field_behavior) = REQUIRED]; 182*d5c09012SAndroid Build Coastguard Worker 183*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 184*d5c09012SAndroid Build Coastguard Worker // The default is false. 185*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; 186*d5c09012SAndroid Build Coastguard Worker} 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker// Delete content request. 189*d5c09012SAndroid Build Coastguard Workermessage DeleteContentRequest { 190*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the content: 191*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} 192*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 193*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 194*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 195*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Content" 196*d5c09012SAndroid Build Coastguard Worker } 197*d5c09012SAndroid Build Coastguard Worker ]; 198*d5c09012SAndroid Build Coastguard Worker} 199*d5c09012SAndroid Build Coastguard Worker 200*d5c09012SAndroid Build Coastguard Worker// List content request. Returns the BASIC Content view. 201*d5c09012SAndroid Build Coastguard Workermessage ListContentRequest { 202*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent lake: 203*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location_id}/lakes/{lake_id} 204*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 205*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 206*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" } 207*d5c09012SAndroid Build Coastguard Worker ]; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of content to return. The service may return fewer 210*d5c09012SAndroid Build Coastguard Worker // than this value. If unspecified, at most 10 content will be returned. The 211*d5c09012SAndroid Build Coastguard Worker // maximum value is 1000; values above 1000 will be coerced to 1000. 212*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // Optional. Page token received from a previous `ListContent` call. Provide 215*d5c09012SAndroid Build Coastguard Worker // this to retrieve the subsequent page. When paginating, all other parameters 216*d5c09012SAndroid Build Coastguard Worker // provided to `ListContent` must match the call that provided the page 217*d5c09012SAndroid Build Coastguard Worker // token. 218*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 219*d5c09012SAndroid Build Coastguard Worker 220*d5c09012SAndroid Build Coastguard Worker // Optional. Filter request. Filters are case-sensitive. 221*d5c09012SAndroid Build Coastguard Worker // The following formats are supported: 222*d5c09012SAndroid Build Coastguard Worker // 223*d5c09012SAndroid Build Coastguard Worker // labels.key1 = "value1" 224*d5c09012SAndroid Build Coastguard Worker // labels:key1 225*d5c09012SAndroid Build Coastguard Worker // type = "NOTEBOOK" 226*d5c09012SAndroid Build Coastguard Worker // type = "SQL_SCRIPT" 227*d5c09012SAndroid Build Coastguard Worker // 228*d5c09012SAndroid Build Coastguard Worker // These restrictions can be coinjoined with AND, OR and NOT conjunctions. 229*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 230*d5c09012SAndroid Build Coastguard Worker} 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker// List content response. 233*d5c09012SAndroid Build Coastguard Workermessage ListContentResponse { 234*d5c09012SAndroid Build Coastguard Worker // Content under the given parent lake. 235*d5c09012SAndroid Build Coastguard Worker repeated Content content = 1; 236*d5c09012SAndroid Build Coastguard Worker 237*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no more 238*d5c09012SAndroid Build Coastguard Worker // results in the list. 239*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 240*d5c09012SAndroid Build Coastguard Worker} 241*d5c09012SAndroid Build Coastguard Worker 242*d5c09012SAndroid Build Coastguard Worker// Get content request. 243*d5c09012SAndroid Build Coastguard Workermessage GetContentRequest { 244*d5c09012SAndroid Build Coastguard Worker // Specifies whether the request should return the full or the partial 245*d5c09012SAndroid Build Coastguard Worker // representation. 246*d5c09012SAndroid Build Coastguard Worker enum ContentView { 247*d5c09012SAndroid Build Coastguard Worker // Content view not specified. Defaults to BASIC. 248*d5c09012SAndroid Build Coastguard Worker // The API will default to the BASIC view. 249*d5c09012SAndroid Build Coastguard Worker CONTENT_VIEW_UNSPECIFIED = 0; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Will not return the `data_text` field. 252*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 253*d5c09012SAndroid Build Coastguard Worker 254*d5c09012SAndroid Build Coastguard Worker // Returns the complete proto. 255*d5c09012SAndroid Build Coastguard Worker FULL = 2; 256*d5c09012SAndroid Build Coastguard Worker } 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the content: 259*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} 260*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 261*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 262*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 263*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/Content" 264*d5c09012SAndroid Build Coastguard Worker } 265*d5c09012SAndroid Build Coastguard Worker ]; 266*d5c09012SAndroid Build Coastguard Worker 267*d5c09012SAndroid Build Coastguard Worker // Optional. Specify content view to make a partial request. 268*d5c09012SAndroid Build Coastguard Worker ContentView view = 2 [(google.api.field_behavior) = OPTIONAL]; 269*d5c09012SAndroid Build Coastguard Worker} 270