Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// Copyright 2024 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/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 an environment resource.
rpc CreateEnvironment(CreateEnvironmentRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/locations/*/lakes/*}/environments"
body: "environment"
};
option (google.api.method_signature) = "parent,environment,environment_id";
option (google.longrunning.operation_info) = {
response_type: "Environment"
metadata_type: "OperationMetadata"
};
}
// Update the environment resource.
rpc UpdateEnvironment(UpdateEnvironmentRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1/{environment.name=projects/*/locations/*/lakes/*/environments/*}"
body: "environment"
};
option (google.api.method_signature) = "environment,update_mask";
option (google.longrunning.operation_info) = {
response_type: "Environment"
metadata_type: "OperationMetadata"
};
}
// Delete the environment resource. All the child resources must have been
// deleted before environment deletion can be initiated.
rpc DeleteEnvironment(DeleteEnvironmentRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1/{name=projects/*/locations/*/lakes/*/environments/*}"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "OperationMetadata"
};
}
// Lists environments under the given lake.
rpc ListEnvironments(ListEnvironmentsRequest)
returns (ListEnvironmentsResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*/lakes/*}/environments"
};
option (google.api.method_signature) = "parent";
}
// Get environment resource.
rpc GetEnvironment(GetEnvironmentRequest) returns (Environment) {
option (google.api.http) = {
get: "/v1/{name=projects/*/locations/*/lakes/*/environments/*}"
};
option (google.api.method_signature) = "name";
}
// Lists session resources in an environment.
rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*/lakes/*/environments/*}/sessions"
};
option (google.api.method_signature) = "parent";
}
}
// 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 GCP 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 GCP 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 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 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" }
];
}
// Create environment request.
message CreateEnvironmentRequest {
// 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. Environment identifier.
// * Must contain only lowercase letters, numbers and hyphens.
// * Must start with a letter.
// * Must be between 1-63 characters.
// * Must end with a number or a letter.
// * Must be unique within the lake.
string environment_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Environment resource.
Environment environment = 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 environment request.
message UpdateEnvironmentRequest {
// 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.
Environment environment = 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 environment request.
message DeleteEnvironmentRequest {
// Required. The resource name of the environment:
// `projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environments/{environment_id}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataplex.googleapis.com/Environment"
}
];
}
// List environments request.
message ListEnvironmentsRequest {
// 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 environments to return. The service may return
// fewer than this value. If unspecified, at most 10 environments 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 `ListEnvironments` call.
// Provide this to retrieve the subsequent page. When paginating, all other
// parameters provided to `ListEnvironments` 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 environments response.
message ListEnvironmentsResponse {
// Environments under the given parent lake.
repeated Environment environments = 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 environment request.
message GetEnvironmentRequest {
// Required. The resource name of the environment:
// `projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environments/{environment_id}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataplex.googleapis.com/Environment"
}
];
}
// List sessions request.
message ListSessionsRequest {
// Required. The resource name of the parent environment:
// `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataplex.googleapis.com/Environment"
}
];
// Optional. Maximum number of sessions to return. The service may return
// fewer than this value. If unspecified, at most 10 sessions 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 `ListSessions` call. Provide
// this to retrieve the subsequent page. When paginating, all other parameters
// provided to `ListSessions` must match the call that provided the page
// token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Filter request. The following `mode` filter is supported to
// return only the sessions belonging to the requester when the mode is USER
// and return sessions of all the users when the mode is ADMIN. When no filter
// is sent default to USER mode. NOTE: When the mode is ADMIN, the requester
// should have `dataplex.environments.listAllSessions` permission to list all
// sessions, in absence of the permission, the request fails.
//
// mode = ADMIN | USER
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
}
// List sessions response.
message ListSessionsResponse {
// Sessions under a given environment.
repeated Session sessions = 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;
}