123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- // 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/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/cloud/dataplex/v1/resources.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/dataplex/v1;dataplex";
- option java_multiple_files = true;
- option java_outer_classname = "AnalyzeProto";
- option java_package = "com.google.cloud.dataplex.v1";
- // Environment represents a user-visible compute infrastructure for analytics
- // within a lake.
- message Environment {
- option (google.api.resource) = {
- type: "dataplex.googleapis.com/Environment"
- pattern: "projects/{project}/locations/{location}/lakes/{lake}/environments/{environment}"
- };
- // Configuration for the underlying infrastructure used to run workloads.
- message InfrastructureSpec {
- // Compute resources associated with the analyze interactive workloads.
- message ComputeResources {
- // Optional. Size in GB of the disk. Default is 100 GB.
- int32 disk_size_gb = 1 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Total number of nodes in the sessions created for this environment.
- int32 node_count = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Max configurable nodes.
- // If max_node_count > node_count, then auto-scaling is enabled.
- int32 max_node_count = 3 [(google.api.field_behavior) = OPTIONAL];
- }
- // Software Runtime Configuration to run Analyze.
- message OsImageRuntime {
- // Required. Dataplex Image version.
- string image_version = 1 [(google.api.field_behavior) = REQUIRED];
- // Optional. List of Java jars to be included in the runtime environment.
- // Valid input includes Cloud Storage URIs to Jar binaries.
- // For example, gs://bucket-name/my/path/to/file.jar
- repeated string java_libraries = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. A list of python packages to be installed.
- // Valid formats include Cloud Storage URI to a PIP installable library.
- // For example, gs://bucket-name/my/path/to/lib.tar.gz
- repeated string python_packages = 3 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Spark properties to provide configuration for use in sessions created
- // for this environment. The properties to set on daemon config files.
- // Property keys are specified in `prefix:property` format.
- // The prefix must be "spark".
- map<string, string> properties = 4 [(google.api.field_behavior) = OPTIONAL];
- }
- // Hardware config
- oneof resources {
- // Optional. Compute resources needed for analyze interactive workloads.
- ComputeResources compute = 50 [(google.api.field_behavior) = OPTIONAL];
- }
- // Software config
- oneof runtime {
- // Required. Software Runtime Configuration for analyze interactive workloads.
- OsImageRuntime os_image = 100 [(google.api.field_behavior) = REQUIRED];
- }
- }
- message SessionSpec {
- // Optional. The idle time configuration of the session. The session will be
- // auto-terminated at the end of this period.
- google.protobuf.Duration max_idle_duration = 1 [(google.api.field_behavior) = OPTIONAL];
- // Optional. If True, this causes sessions to be pre-created and available for faster
- // startup to enable interactive exploration use-cases. This defaults to
- // False to avoid additional billed charges.
- // These can only be set to True for the environment with name set to
- // "default", and with default configuration.
- bool enable_fast_startup = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- message SessionStatus {
- // Output only. Queries over sessions to mark whether the environment is currently
- // active or not
- bool active = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- message Endpoints {
- // Output only. URI to serve notebook APIs
- string notebooks = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. URI to serve SQL APIs
- string sql = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. The relative resource name of the environment, of the form:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}
- string name = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Environment"
- }
- ];
- // Optional. User friendly display name.
- string display_name = 2 [(google.api.field_behavior) = OPTIONAL];
- // Output only. System generated globally unique ID for the environment. This ID will be
- // different if the environment is deleted and re-created with the same name.
- string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Environment creation time.
- google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time when the environment was last updated.
- google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Optional. User defined labels for the environment.
- map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Description of the environment.
- string description = 7 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Current state of the environment.
- State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Required. Infrastructure specification for the Environment.
- InfrastructureSpec infrastructure_spec = 100 [(google.api.field_behavior) = REQUIRED];
- // Optional. Configuration for sessions created for this environment.
- SessionSpec session_spec = 101 [(google.api.field_behavior) = OPTIONAL];
- // Output only. Status of sessions created for this environment.
- SessionStatus session_status = 102 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. URI Endpoints to access sessions associated with the Environment.
- Endpoints endpoints = 200 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Content represents a user-visible notebook or a sql script
- message Content {
- option (google.api.resource) = {
- type: "dataplex.googleapis.com/Content"
- pattern: "projects/{project}/locations/{location}/lakes/{lake}/content/{content}"
- };
- // Configuration for the Sql Script content.
- message SqlScript {
- // Query Engine Type of the SQL Script.
- enum QueryEngine {
- // Value was unspecified.
- QUERY_ENGINE_UNSPECIFIED = 0;
- // Spark SQL Query.
- SPARK = 2;
- }
- // Required. Query Engine to be used for the Sql Query.
- QueryEngine engine = 1 [(google.api.field_behavior) = REQUIRED];
- }
- // Configuration for Notebook content.
- message Notebook {
- // Kernel Type of the Jupyter notebook.
- enum KernelType {
- // Kernel Type unspecified.
- KERNEL_TYPE_UNSPECIFIED = 0;
- // Python 3 Kernel.
- PYTHON3 = 1;
- }
- // Required. Kernel Type of the notebook.
- KernelType kernel_type = 1 [(google.api.field_behavior) = REQUIRED];
- }
- // Output only. The relative resource name of the content, of the form:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}
- string name = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Content"
- }
- ];
- // Output only. System generated globally unique ID for the content. This ID will be
- // different if the content is deleted and re-created with the same name.
- string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Required. The path for the Content file, represented as directory structure.
- // Unique within a lake.
- // Limited to alphanumerics, hyphens, underscores, dots and slashes.
- string path = 3 [(google.api.field_behavior) = REQUIRED];
- // Output only. Content creation time.
- google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time when the content was last updated.
- google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Optional. User defined labels for the content.
- map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
- // Optional. Description of the content.
- string description = 7 [(google.api.field_behavior) = OPTIONAL];
- // Only returned in `GetContent` requests and not in `ListContent` request.
- oneof data {
- // Required. Content data in string format.
- string data_text = 9 [(google.api.field_behavior) = REQUIRED];
- }
- oneof content {
- // Sql Script related configurations.
- SqlScript sql_script = 100;
- // Notebook related configurations.
- Notebook notebook = 101;
- }
- }
- // Represents an active analyze session running for a user.
- message Session {
- option (google.api.resource) = {
- type: "dataplex.googleapis.com/Session"
- pattern: "projects/{project}/locations/{location}/lakes/{lake}/environments/{environment}/sessions/{session}"
- };
- // Output only. The relative resource name of the content, of the form:
- // projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}/sessions/{session_id}
- string name = 1 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- type: "dataplex.googleapis.com/Session"
- }
- ];
- // Output only. Email of user running the session.
- string user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Session start time.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
|