123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.dataplex.v1;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/cloud/dataplex/v1/analyze.proto";
- import "google/iam/v1/iam_policy.proto";
- import "google/iam/v1/policy.proto";
- import "google/protobuf/empty.proto";
- import "google/protobuf/field_mask.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/dataplex/v1;dataplex";
- option java_multiple_files = true;
- option java_outer_classname = "ContentProto";
- option java_package = "com.google.cloud.dataplex.v1";
- // ContentService manages Notebook and SQL Scripts for Dataplex.
- service ContentService {
- option (google.api.default_host) = "dataplex.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
- // Create a content.
- rpc CreateContent(CreateContentRequest) returns (Content) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/lakes/*}/contentitems"
- body: "content"
- additional_bindings {
- post: "/v1/{parent=projects/*/locations/*/lakes/*}/content"
- body: "content"
- }
- };
- option (google.api.method_signature) = "parent,content";
- }
- // Update a content. Only supports full resource update.
- rpc UpdateContent(UpdateContentRequest) returns (Content) {
- option (google.api.http) = {
- patch: "/v1/{content.name=projects/*/locations/*/lakes/*/contentitems/**}"
- body: "content"
- additional_bindings {
- patch: "/v1/{content.name=projects/*/locations/*/lakes/*/content/**}"
- body: "content"
- }
- };
- option (google.api.method_signature) = "content,update_mask";
- }
- // Delete a content.
- rpc DeleteContent(DeleteContentRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/lakes/*/contentitems/**}"
- additional_bindings {
- delete: "/v1/{name=projects/*/locations/*/lakes/*/content/**}"
- }
- };
- option (google.api.method_signature) = "name";
- }
- // Get a content resource.
- rpc GetContent(GetContentRequest) returns (Content) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/lakes/*/contentitems/**}"
- additional_bindings {
- get: "/v1/{name=projects/*/locations/*/lakes/*/content/**}"
- }
- };
- option (google.api.method_signature) = "name";
- }
- // Gets the access control policy for a contentitem resource. A `NOT_FOUND`
- // error is returned if the resource does not exist. An empty policy is
- // returned if the resource exists but does not have a policy set on it.
- //
- // Caller must have Google IAM `dataplex.content.getIamPolicy` permission
- // on the resource.
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- get: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:getIamPolicy"
- additional_bindings {
- get: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:getIamPolicy"
- }
- };
- option (google.api.method_signature) = "resource";
- }
- // Sets the access control policy on the specified contentitem resource.
- // Replaces any existing policy.
- //
- // Caller must have Google IAM `dataplex.content.setIamPolicy` permission
- // on the resource.
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:setIamPolicy"
- body: "*"
- additional_bindings {
- post: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:setIamPolicy"
- body: "*"
- }
- };
- }
- // Returns the caller's permissions on a resource.
- // If the resource does not exist, an empty set of
- // permissions is returned (a `NOT_FOUND` error is not returned).
- //
- // A caller is not required to have Google IAM permission to make this
- // request.
- //
- // Note: This operation is designed to be used for building permission-aware
- // UIs and command-line tools, not for authorization checking. This operation
- // may "fail open" without warning.
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
- option (google.api.http) = {
- post: "/v1/{resource=projects/*/locations/*/lakes/*/contentitems/**}:testIamPermissions"
- body: "*"
- additional_bindings {
- post: "/v1/{resource=projects/*/locations/*/lakes/*/content/**}:testIamPermissions"
- body: "*"
- }
- };
- }
- // List content.
- rpc ListContent(ListContentRequest) returns (ListContentResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/lakes/*}/contentitems"
- additional_bindings {
- get: "/v1/{parent=projects/*/locations/*/lakes/*}/content"
- }
- };
- option (google.api.method_signature) = "parent";
- }
- }
- // Create content request.
- message CreateContentRequest {
- // Required. The resource name of the parent lake:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Lake"
- }
- ];
- // Required. Content resource.
- Content content = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. Only validate the request, but do not perform mutations.
- // The default is false.
- bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Update content request.
- message UpdateContentRequest {
- // Required. Mask of fields to update.
- google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. Update description.
- // Only fields specified in `update_mask` are updated.
- Content content = 2 [(google.api.field_behavior) = REQUIRED];
- // Optional. Only validate the request, but do not perform mutations.
- // The default is false.
- bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Delete content request.
- message DeleteContentRequest {
- // Required. The resource name of the content:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Content"
- }
- ];
- }
- // List content request. Returns the BASIC Content view.
- message ListContentRequest {
- // Required. The resource name of the parent lake:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Lake"
- }
- ];
- // Optional. Maximum number of content to return. The service may return fewer than
- // this value. If unspecified, at most 10 content will be returned. The
- // maximum value is 1000; values above 1000 will be coerced to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Page token received from a previous `ListContent` call. Provide this
- // to retrieve the subsequent page. When paginating, all other parameters
- // provided to `ListContent` must match the call that provided the page
- // token.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Filter request. Filters are case-sensitive.
- // The following formats are supported:
- //
- // labels.key1 = "value1"
- // labels:key1
- // type = "NOTEBOOK"
- // type = "SQL_SCRIPT"
- //
- // These restrictions can be coinjoined with AND, OR and NOT conjunctions.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // List content response.
- message ListContentResponse {
- // Content under the given parent lake.
- repeated Content content = 1;
- // Token to retrieve the next page of results, or empty if there are no more
- // results in the list.
- string next_page_token = 2;
- }
- // Get content request.
- message GetContentRequest {
- // Specifies whether the request should return the full or the partial
- // representation.
- enum ContentView {
- // Content view not specified. Defaults to BASIC.
- // The API will default to the BASIC view.
- CONTENT_VIEW_UNSPECIFIED = 0;
- // Will not return the `data_text` field.
- BASIC = 1;
- // Returns the complete proto.
- FULL = 2;
- }
- // Required. The resource name of the content:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Content"
- }
- ];
- // Optional. Specify content view to make a partial request.
- ContentView view = 2 [(google.api.field_behavior) = OPTIONAL];
- }
|