mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-18 13:08:24 +02:00
feat(dataplex): add MetadataFeed to CatalogService for tracking metadata changes feat(dataplex): add LookupContext to CatalogService for LLM-generated resource context feat(dataplex): add support for attaching aspects to EntryLinks feat(dataplex): add UpdateEntryLink and LookupEntryLinks methods to CatalogService feat(dataplex): support OneTime triggers for DataScan operations feat(dataplex): add debug query support to Data Quality rules feat(dataplex): allow selective generation scope for Data Documentation scans feat(dataplex): add SKIPPED state to DataScan catalog publishing status docs(dataplex): remove deprecated metadata change warnings in Dataplex Catalog The DataProductService provides APIs to curate and manage collections of data assets as data products, enabling more organized sharing and usage for specific business cases. MetadataFeeds allow users to monitor metadata changes (CREATE, UPDATE, DELETE) within a specified scope (organization, project, or entry group) and publish them to Pub/Sub. CatalogService now includes a LookupContext API to provide LLM-generated context for resources, and enhanced EntryLink management, including the ability to attach aspects. DataScan operations now support a OneTime trigger for single-run scans, and Data Quality rules support DebugQueries to help investigate rule failures by returning diagnostic values. fix(dataplex)!: remove deprecated Explore-related methods and messages from public client libraries Breaking Changes: - Removed ContentService and all associated methods (CreateContent, UpdateContent, DeleteContent, GetContent, ListContent, etc.) and request/response messages. - Removed Environment and Session management methods from DataplexService (CreateEnvironment, UpdateEnvironment, DeleteEnvironment, ListEnvironments, GetEnvironment, ListSessions) and their associated messages. PiperOrigin-RevId: 883306841
906 lines
33 KiB
Protocol Buffer
906 lines
33 KiB
Protocol Buffer
// Copyright 2026 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/resources.proto";
|
|
import "google/cloud/dataplex/v1/tasks.proto";
|
|
import "google/longrunning/operations.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "ServiceProto";
|
|
option java_package = "com.google.cloud.dataplex.v1";
|
|
|
|
// Dataplex service provides data lakes as a service. The primary resources
|
|
// offered by this service are Lakes, Zones and Assets which collectively allow
|
|
// a data administrator to organize, manage, secure and catalog data across
|
|
// their organization located across cloud projects in a variety of storage
|
|
// systems including Cloud Storage and BigQuery.
|
|
service DataplexService {
|
|
option (google.api.default_host) = "dataplex.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// Creates a lake resource.
|
|
rpc CreateLake(CreateLakeRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/lakes"
|
|
body: "lake"
|
|
};
|
|
option (google.api.method_signature) = "parent,lake,lake_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Lake"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates a lake resource.
|
|
rpc UpdateLake(UpdateLakeRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{lake.name=projects/*/locations/*/lakes/*}"
|
|
body: "lake"
|
|
};
|
|
option (google.api.method_signature) = "lake,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Lake"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a lake resource. All zones within the lake must be deleted before
|
|
// the lake can be deleted.
|
|
rpc DeleteLake(DeleteLakeRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/lakes/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists lake resources in a project and location.
|
|
rpc ListLakes(ListLakesRequest) returns (ListLakesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/lakes"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Retrieves a lake resource.
|
|
rpc GetLake(GetLakeRequest) returns (Lake) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/lakes/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists action resources in a lake.
|
|
rpc ListLakeActions(ListLakeActionsRequest) returns (ListActionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*}/actions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Creates a zone resource within a lake.
|
|
rpc CreateZone(CreateZoneRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/lakes/*}/zones"
|
|
body: "zone"
|
|
};
|
|
option (google.api.method_signature) = "parent,zone,zone_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Zone"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates a zone resource.
|
|
rpc UpdateZone(UpdateZoneRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{zone.name=projects/*/locations/*/lakes/*/zones/*}"
|
|
body: "zone"
|
|
};
|
|
option (google.api.method_signature) = "zone,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Zone"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a zone resource. All assets within a zone must be deleted before
|
|
// the zone can be deleted.
|
|
rpc DeleteZone(DeleteZoneRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/lakes/*/zones/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists zone resources in a lake.
|
|
rpc ListZones(ListZonesRequest) returns (ListZonesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*}/zones"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Retrieves a zone resource.
|
|
rpc GetZone(GetZoneRequest) returns (Zone) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/lakes/*/zones/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists action resources in a zone.
|
|
rpc ListZoneActions(ListZoneActionsRequest) returns (ListActionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/actions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Creates an asset resource.
|
|
rpc CreateAsset(CreateAssetRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets"
|
|
body: "asset"
|
|
};
|
|
option (google.api.method_signature) = "parent,asset,asset_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Asset"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates an asset resource.
|
|
rpc UpdateAsset(UpdateAssetRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{asset.name=projects/*/locations/*/lakes/*/zones/*/assets/*}"
|
|
body: "asset"
|
|
};
|
|
option (google.api.method_signature) = "asset,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Asset"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes an asset resource. The referenced storage resource is detached
|
|
// (default) or deleted based on the associated Lifecycle policy.
|
|
rpc DeleteAsset(DeleteAssetRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists asset resources in a zone.
|
|
rpc ListAssets(ListAssetsRequest) returns (ListAssetsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*}/assets"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Retrieves an asset resource.
|
|
rpc GetAsset(GetAssetRequest) returns (Asset) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/lakes/*/zones/*/assets/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists action resources in an asset.
|
|
rpc ListAssetActions(ListAssetActionsRequest) returns (ListActionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*/zones/*/assets/*}/actions"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Creates a task resource within a lake.
|
|
rpc CreateTask(CreateTaskRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/lakes/*}/tasks"
|
|
body: "task"
|
|
};
|
|
option (google.api.method_signature) = "parent,task,task_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Task"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Update the task resource.
|
|
rpc UpdateTask(UpdateTaskRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{task.name=projects/*/locations/*/lakes/*/tasks/*}"
|
|
body: "task"
|
|
};
|
|
option (google.api.method_signature) = "task,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Task"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Delete the task resource.
|
|
rpc DeleteTask(DeleteTaskRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/lakes/*/tasks/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists tasks under the given lake.
|
|
rpc ListTasks(ListTasksRequest) returns (ListTasksResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*}/tasks"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Get task resource.
|
|
rpc GetTask(GetTaskRequest) returns (Task) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/lakes/*/tasks/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Lists Jobs under the given task.
|
|
rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/lakes/*/tasks/*}/jobs"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Run an on demand execution of a Task.
|
|
rpc RunTask(RunTaskRequest) returns (RunTaskResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/lakes/*/tasks/*}:run"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Get job resource.
|
|
rpc GetJob(GetJobRequest) returns (Job) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Cancel jobs running for the task resource.
|
|
rpc CancelJob(CancelJobRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/lakes/*/tasks/*/jobs/*}:cancel"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
}
|
|
|
|
// Create lake request.
|
|
message CreateLakeRequest {
|
|
// Required. The resource name of the lake location, of the form:
|
|
// projects/{project_number}/locations/{location_id}
|
|
// where `location_id` refers to a Google Cloud region.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Required. Lake identifier.
|
|
// This ID will be used to generate names such as database and dataset names
|
|
// when publishing metadata to Hive Metastore and BigQuery.
|
|
// * Must contain only lowercase letters, numbers and hyphens.
|
|
// * Must start with a letter.
|
|
// * Must end with a number or a letter.
|
|
// * Must be between 1-63 characters.
|
|
// * Must be unique within the customer project / location.
|
|
string lake_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Lake resource
|
|
Lake lake = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Only validate the request, but do not perform mutations.
|
|
// The default is false.
|
|
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Update lake request.
|
|
message UpdateLakeRequest {
|
|
// 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.
|
|
Lake lake = 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 lake request.
|
|
message DeleteLakeRequest {
|
|
// Required. The resource name of the lake:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" }
|
|
];
|
|
}
|
|
|
|
// List lakes request.
|
|
message ListLakesRequest {
|
|
// Required. The resource name of the lake location, of the form:
|
|
// `projects/{project_number}/locations/{location_id}`
|
|
// where `location_id` refers to a Google Cloud region.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Optional. Maximum number of Lakes to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 lakes 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 `ListLakes` call. Provide
|
|
// this to retrieve the subsequent page. When paginating, all other parameters
|
|
// provided to `ListLakes` must match the call that provided the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filter request.
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Order by fields for the result.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List lakes response.
|
|
message ListLakesResponse {
|
|
// Lakes under the given parent location.
|
|
repeated Lake lakes = 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;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable_locations = 3;
|
|
}
|
|
|
|
// List lake actions request.
|
|
message ListLakeActionsRequest {
|
|
// Required. The resource name of the parent lake:
|
|
// `projects/{project_number}/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 actions to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 actions 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 `ListLakeActions` call.
|
|
// Provide this to retrieve the subsequent page. When paginating, all other
|
|
// parameters provided to `ListLakeActions` must match the call that provided
|
|
// the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List actions response.
|
|
message ListActionsResponse {
|
|
// Actions under the given parent lake/zone/asset.
|
|
repeated Action actions = 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 lake request.
|
|
message GetLakeRequest {
|
|
// Required. The resource name of the lake:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" }
|
|
];
|
|
}
|
|
|
|
// Create zone request.
|
|
message CreateZoneRequest {
|
|
// Required. The resource name of the parent lake:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" }
|
|
];
|
|
|
|
// Required. Zone identifier.
|
|
// This ID will be used to generate names such as database and dataset names
|
|
// when publishing metadata to Hive Metastore and BigQuery.
|
|
// * Must contain only lowercase letters, numbers and hyphens.
|
|
// * Must start with a letter.
|
|
// * Must end with a number or a letter.
|
|
// * Must be between 1-63 characters.
|
|
// * Must be unique across all lakes from all locations in a project.
|
|
// * Must not be one of the reserved IDs (i.e. "default", "global-temp")
|
|
string zone_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Zone resource.
|
|
Zone zone = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Only validate the request, but do not perform mutations.
|
|
// The default is false.
|
|
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Update zone request.
|
|
message UpdateZoneRequest {
|
|
// 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.
|
|
Zone zone = 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 zone request.
|
|
message DeleteZoneRequest {
|
|
// Required. The resource name of the zone:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" }
|
|
];
|
|
}
|
|
|
|
// List zones request.
|
|
message ListZonesRequest {
|
|
// Required. The resource name of the parent lake:
|
|
// `projects/{project_number}/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 zones to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 zones 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 `ListZones` call. Provide
|
|
// this to retrieve the subsequent page. When paginating, all other parameters
|
|
// provided to `ListZones` must match the call that provided the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filter request.
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Order by fields for the result.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List zones response.
|
|
message ListZonesResponse {
|
|
// Zones under the given parent lake.
|
|
repeated Zone zones = 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;
|
|
}
|
|
|
|
// List zone actions request.
|
|
message ListZoneActionsRequest {
|
|
// Required. The resource name of the parent zone:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" }
|
|
];
|
|
|
|
// Optional. Maximum number of actions to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 actions 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 `ListZoneActions` call.
|
|
// Provide this to retrieve the subsequent page. When paginating, all other
|
|
// parameters provided to `ListZoneActions` must match the call that provided
|
|
// the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Get zone request.
|
|
message GetZoneRequest {
|
|
// Required. The resource name of the zone:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" }
|
|
];
|
|
}
|
|
|
|
// Create asset request.
|
|
message CreateAssetRequest {
|
|
// Required. The resource name of the parent zone:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" }
|
|
];
|
|
|
|
// Required. Asset identifier.
|
|
// This ID will be used to generate names such as table names when publishing
|
|
// metadata to Hive Metastore and BigQuery.
|
|
// * Must contain only lowercase letters, numbers and hyphens.
|
|
// * Must start with a letter.
|
|
// * Must end with a number or a letter.
|
|
// * Must be between 1-63 characters.
|
|
// * Must be unique within the zone.
|
|
string asset_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Asset resource.
|
|
Asset asset = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Only validate the request, but do not perform mutations.
|
|
// The default is false.
|
|
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Update asset request.
|
|
message UpdateAssetRequest {
|
|
// 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.
|
|
Asset asset = 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 asset request.
|
|
message DeleteAssetRequest {
|
|
// Required. The resource name of the asset:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Asset" }
|
|
];
|
|
}
|
|
|
|
// List assets request.
|
|
message ListAssetsRequest {
|
|
// Required. The resource name of the parent zone:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Zone" }
|
|
];
|
|
|
|
// Optional. Maximum number of asset to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 assets 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 `ListAssets` call. Provide
|
|
// this to retrieve the subsequent page. When paginating, all other parameters
|
|
// provided to `ListAssets` must match the call that provided the page
|
|
// token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filter request.
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Order by fields for the result.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List assets response.
|
|
message ListAssetsResponse {
|
|
// Asset under the given parent zone.
|
|
repeated Asset assets = 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;
|
|
}
|
|
|
|
// List asset actions request.
|
|
message ListAssetActionsRequest {
|
|
// Required. The resource name of the parent asset:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Asset" }
|
|
];
|
|
|
|
// Optional. Maximum number of actions to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 actions 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 `ListAssetActions` call.
|
|
// Provide this to retrieve the subsequent page. When paginating, all other
|
|
// parameters provided to `ListAssetActions` must match the call that provided
|
|
// the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Get asset request.
|
|
message GetAssetRequest {
|
|
// Required. The resource name of the asset:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Asset" }
|
|
];
|
|
}
|
|
|
|
// Represents the metadata of a long-running operation.
|
|
message OperationMetadata {
|
|
// Output only. The time the operation was created.
|
|
google.protobuf.Timestamp create_time = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The time the operation finished running.
|
|
google.protobuf.Timestamp end_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Server-defined resource path for the target of the operation.
|
|
string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Name of the verb executed by the operation.
|
|
string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Human-readable status of the operation, if any.
|
|
string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Identifies whether the user has requested cancellation
|
|
// of the operation. Operations that have successfully been cancelled
|
|
// have [Operation.error][] value with a
|
|
// [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
|
|
// `Code.CANCELLED`.
|
|
bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. API version used to start the operation.
|
|
string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Create task request.
|
|
message CreateTaskRequest {
|
|
// Required. The resource name of the parent lake:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Lake" }
|
|
];
|
|
|
|
// Required. Task identifier.
|
|
string task_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Task resource.
|
|
Task task = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Only validate the request, but do not perform mutations.
|
|
// The default is false.
|
|
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Update task request.
|
|
message UpdateTaskRequest {
|
|
// 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.
|
|
Task task = 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 task request.
|
|
message DeleteTaskRequest {
|
|
// Required. The resource name of the task:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/task/{task_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Task" }
|
|
];
|
|
}
|
|
|
|
// List tasks request.
|
|
message ListTasksRequest {
|
|
// Required. The resource name of the parent lake:
|
|
// `projects/{project_number}/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 tasks to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 tasks 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 `ListZones` call. Provide
|
|
// this to retrieve the subsequent page. When paginating, all other parameters
|
|
// provided to `ListZones` must match the call that provided the page token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Filter request.
|
|
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Order by fields for the result.
|
|
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List tasks response.
|
|
message ListTasksResponse {
|
|
// Tasks under the given parent lake.
|
|
repeated Task tasks = 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;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable_locations = 3;
|
|
}
|
|
|
|
// Get task request.
|
|
message GetTaskRequest {
|
|
// Required. The resource name of the task:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{tasks_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Task" }
|
|
];
|
|
}
|
|
|
|
// Get job request.
|
|
message GetJobRequest {
|
|
// Required. The resource name of the job:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Job" }
|
|
];
|
|
}
|
|
|
|
message RunTaskRequest {
|
|
// Required. The resource name of the task:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Task" }
|
|
];
|
|
|
|
// Optional. User-defined labels for the task. If the map is left empty, the
|
|
// task will run with existing labels from task definition. If the map
|
|
// contains an entry with a new key, the same will be added to existing set of
|
|
// labels. If the map contains an entry with an existing label key in task
|
|
// definition, the task will run with new label value for that entry. Clearing
|
|
// an existing label will require label value to be explicitly set to a hyphen
|
|
// "-". The label value cannot be empty.
|
|
map<string, string> labels = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Execution spec arguments. If the map is left empty, the task will
|
|
// run with existing execution spec args from task definition. If the map
|
|
// contains an entry with a new key, the same will be added to existing set of
|
|
// args. If the map contains an entry with an existing arg key in task
|
|
// definition, the task will run with new arg value for that entry. Clearing
|
|
// an existing arg will require arg value to be explicitly set to a hyphen
|
|
// "-". The arg value cannot be empty.
|
|
map<string, string> args = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
message RunTaskResponse {
|
|
// Jobs created by RunTask API.
|
|
Job job = 1;
|
|
}
|
|
|
|
// List jobs request.
|
|
message ListJobsRequest {
|
|
// Required. The resource name of the parent environment:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}`.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Task" }
|
|
];
|
|
|
|
// Optional. Maximum number of jobs to return. The service may return fewer
|
|
// than this value. If unspecified, at most 10 jobs 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 `ListJobs` call. Provide this
|
|
// to retrieve the subsequent page. When paginating, all other parameters
|
|
// provided to `ListJobs` must match the call that provided the page
|
|
// token.
|
|
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// List jobs response.
|
|
message ListJobsResponse {
|
|
// Jobs under a given task.
|
|
repeated Job jobs = 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;
|
|
}
|
|
|
|
// Cancel task jobs.
|
|
message CancelJobRequest {
|
|
// Required. The resource name of the job:
|
|
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/task/{task_id}/job/{job_id}`.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "dataplex.googleapis.com/Job" }
|
|
];
|
|
}
|