xref: /aosp_15_r20/external/googleapis/google/cloud/dataplex/v1/content.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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