# frozen_string_literal: true # 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 # # https://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. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module Dataplex module V1 # List metadata entities request. # @!attribute [rw] parent # @return [::String] # Required. The resource name of the parent zone: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}`. # @!attribute [rw] view # @return [::Google::Cloud::Dataplex::V1::ListEntitiesRequest::EntityView] # Required. Specify the entity view to make a partial list request. # @!attribute [rw] page_size # @return [::Integer] # Optional. Maximum number of entities to return. The service may return fewer than # this value. If unspecified, at most 10 entities will be returned. The # maximum value is 1000; values above 1000 are set to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. Page token received from a previous `ListEntities` call. Provide # this to retrieve the subsequent page. When paginating, all other parameters # provided to `ListEntities` must match the call that provided the # page token. # @!attribute [rw] filter # @return [::String] # Optional. Filter request by name prefix. class ListEntitiesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Entity views. module EntityView # The default unset value. The API will default to the FULL view. ENTITY_VIEW_UNSPECIFIED = 0 # Only list table entities. TABLES = 1 # Only list fileset entities. FILESETS = 2 end end # List metadata entities response. # @!attribute [rw] entities # @return [::Array<::Google::Cloud::Dataplex::V1::Entity>] # Entities in the specified parent zone. # @!attribute [rw] next_page_token # @return [::String] # Token to retrieve the next page of results, or empty if there are no # remaining results in the list. class ListEntitiesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Get metadata entity request. # @!attribute [rw] name # @return [::String] # Required. The resource name of the entity: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.` # @!attribute [rw] view # @return [::Google::Cloud::Dataplex::V1::GetEntityRequest::EntityView] # Optional. Used to select the subset of entity information to return. # Defaults to `BASIC`. class GetEntityRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Entity views for get entity partial result. module EntityView # The API will default to the `BASIC` view. ENTITY_VIEW_UNSPECIFIED = 0 # Minimal view that does not include the schema. BASIC = 1 # Include basic information and schema. SCHEMA = 2 # Include everything. FULL = 4 end end # List metadata partitions request. # @!attribute [rw] parent # @return [::String] # Required. The resource name of the parent entity: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}`. # @!attribute [rw] page_size # @return [::Integer] # Optional. Maximum number of partitions to return. The service may return fewer than # this value. If unspecified, at most 10 partitions will be returned. The # maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. Page token received from a previous `ListPartitions` call. Provide # this to retrieve the subsequent page. When paginating, all other parameters # provided to `ListPartitions` must match the call that provided the # page token. # @!attribute [rw] filter # @return [::String] # Optional. Filter request. class ListPartitionsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # List metadata partitions response. # @!attribute [rw] partitions # @return [::Array<::Google::Cloud::Dataplex::V1::Partition>] # Partitions under the specified parent entity. # @!attribute [rw] next_page_token # @return [::String] # Token to retrieve the next page of results, or empty if there are no # remaining results in the list. class ListPartitionsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Get metadata partition request. # @!attribute [rw] name # @return [::String] # Required. The resource name of the partition: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_id}`. class GetPartitionRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents tables and fileset metadata contained within a zone. # @!attribute [r] name # @return [::String] # Output only. The resource name of the entity, of the form: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}`. # @!attribute [rw] display_name # @return [::String] # Optional. User friendly display name. # @!attribute [rw] description # @return [::String] # Optional. User friendly longer description text. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time when the entity was created. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The time when the entity was last updated. # @!attribute [rw] id # @return [::String] # Required. A user-provided entity ID. It is mutable, and will be used as the # published table name. Specifying a new ID in an update entity # request will override the existing value. # @!attribute [rw] etag # @return [::String] # Optional. The etag for this entity. # Required for update requests. It must match the server's etag. # @!attribute [rw] type # @return [::Google::Cloud::Dataplex::V1::Entity::Type] # Required. The type of entity. # @!attribute [rw] asset # @return [::String] # Required. The name of the asset associated with the storage location containing the # entity data. # @!attribute [rw] data_path # @return [::String] # Required. Immutable. The storage path of the entity data. # For Cloud Storage data, this is the fully-qualified path to the entity, # such as `gs://bucket/path/to/data`. For BigQuery data, this is the name of # the table resource, such as # `projects/project_id/datasets/dataset_id/tables/table_id`. # @!attribute [rw] data_path_pattern # @return [::String] # Optional. The set of items within the data path constituting the data in the entity, # represented as a glob path. # Example: `gs://bucket/path/to/data/**/*.csv`. # @!attribute [r] catalog_entry # @return [::String] # Output only. The name of the associated Data Catalog entry. # @!attribute [rw] system # @return [::Google::Cloud::Dataplex::V1::StorageSystem] # Required. Identifies the storage system of the entity data. # @!attribute [rw] format # @return [::Google::Cloud::Dataplex::V1::StorageFormat] # Required. Identifies the storage format of the entity data. # It does not apply to entities with data stored in BigQuery. # @!attribute [r] compatibility # @return [::Google::Cloud::Dataplex::V1::Entity::CompatibilityStatus] # Output only. Metadata stores that the entity is compatible with. # @!attribute [rw] schema # @return [::Google::Cloud::Dataplex::V1::Schema] # Required. The description of the data structure and layout. # The schema is not included in list responses. It is only included in # `SCHEMA` and `FULL` entity views of a `GetEntity` response. class Entity include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Provides compatibility information for various metadata stores. # @!attribute [r] hive_metastore # @return [::Google::Cloud::Dataplex::V1::Entity::CompatibilityStatus::Compatibility] # Output only. Whether this entity is compatible with Hive Metastore. # @!attribute [r] bigquery # @return [::Google::Cloud::Dataplex::V1::Entity::CompatibilityStatus::Compatibility] # Output only. Whether this entity is compatible with BigQuery. class CompatibilityStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Provides compatibility information for a specific metadata store. # @!attribute [r] compatible # @return [::Boolean] # Output only. Whether the entity is compatible and can be represented in the metadata # store. # @!attribute [r] reason # @return [::String] # Output only. Provides additional detail if the entity is incompatible with the # metadata store. class Compatibility include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # The type of entity. module Type # Type unspecified. TYPE_UNSPECIFIED = 0 # Structured and semi-structured data. TABLE = 1 # Unstructured data. FILESET = 2 end end # Represents partition metadata contained within entity instances. # @!attribute [r] name # @return [::String] # Output only. The resource name of the partition, of the form: # `projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_id}`. # \\{partition_id} is a generated unique ID. # @!attribute [rw] values # @return [::Array<::String>] # Required. Immutable. The set of values representing the partition, which correspond to the # partition schema defined in the parent entity. # @!attribute [rw] location # @return [::String] # Required. Immutable. The location of the entity data within the partition, for example, # `gs://bucket/path/to/entity/key1=value1/key2=value2`. # @!attribute [rw] etag # @return [::String] # Optional. The etag for this partition. # Required for update requests. It must match the server's etag. class Partition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Schema information describing the structure and layout of the data. # @!attribute [rw] user_managed # @return [::Boolean] # Required. Whether the schema is user-managed or managed by the service. User-managed # schemas are not automatically updated by discovery jobs. # @!attribute [rw] fields # @return [::Array<::Google::Cloud::Dataplex::V1::Schema::SchemaField>] # Optional. The sequence of fields describing data in table entities. # @!attribute [rw] partition_fields # @return [::Array<::Google::Cloud::Dataplex::V1::Schema::PartitionField>] # Optional. The sequence of fields describing the partition structure in entities. # If this field is empty, there are no partitions within the data. # @!attribute [rw] partition_style # @return [::Google::Cloud::Dataplex::V1::Schema::PartitionStyle] # Optional. The structure of paths containing partition data within the entity. class Schema include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents a column field within a table schema. # @!attribute [rw] name # @return [::String] # Required. The name of the field. # @!attribute [rw] description # @return [::String] # Optional. User friendly field description. # @!attribute [rw] type # @return [::Google::Cloud::Dataplex::V1::Schema::Type] # Required. The type of field. # @!attribute [rw] mode # @return [::Google::Cloud::Dataplex::V1::Schema::Mode] # Required. Additional field semantics. # @!attribute [rw] fields # @return [::Array<::Google::Cloud::Dataplex::V1::Schema::SchemaField>] # Optional. Any nested field for complex types. class SchemaField include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents a key field within the entity's partition structure. # @!attribute [rw] name # @return [::String] # Required. The name of the field. # @!attribute [rw] type # @return [::Google::Cloud::Dataplex::V1::Schema::Type] # Required. The type of field. class PartitionField include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type information for fields in schemas and partition schemas. module Type # SchemaType unspecified. TYPE_UNSPECIFIED = 0 # Boolean field. BOOLEAN = 1 # Single byte numeric field. BYTE = 2 # 16-bit numeric field. INT16 = 3 # 32-bit numeric field. INT32 = 4 # 64-bit numeric field. INT64 = 5 # Floating point numeric field. FLOAT = 6 # Double precision numeric field. DOUBLE = 7 # Real value numeric field. DECIMAL = 8 # Sequence of characters field. STRING = 9 # Sequence of bytes field. BINARY = 10 # Date and time field. TIMESTAMP = 11 # Date field. DATE = 12 # Time field. TIME = 13 # Structured field. Nested fields that define the structure of the map. # If all nested fields are nullable, this field represents a union. RECORD = 14 # Null field that does not have values. NULL = 100 end # Additional qualifiers to define field semantics. module Mode # Mode unspecified. MODE_UNSPECIFIED = 0 # The field has required semantics. REQUIRED = 1 # The field has optional semantics, and may be null. NULLABLE = 2 # The field has repeated (0 or more) semantics, and is a list of values. REPEATED = 3 end # The structure of paths within the entity, which represent partitions. module PartitionStyle # PartitionStyle unspecified PARTITION_STYLE_UNSPECIFIED = 0 # Partitions are hive-compatible. # Examples: `gs://bucket/path/to/table/dt=2019-10-31/lang=en`, # `gs://bucket/path/to/table/dt=2019-10-31/lang=en/late`. HIVE_COMPATIBLE = 1 end end # Describes the format of the data within its storage location. # @!attribute [r] format # @return [::Google::Cloud::Dataplex::V1::StorageFormat::Format] # Output only. The data format associated with the stored data, which represents # content type values. # @!attribute [rw] compression_format # @return [::Google::Cloud::Dataplex::V1::StorageFormat::CompressionFormat] # Optional. The compression type associated with the stored data. # If unspecified, the data is uncompressed. # @!attribute [rw] mime_type # @return [::String] # Required. The mime type descriptor for the data. This field is valid for formats # other than `UNKNOWN` and `MIXED`. # @!attribute [rw] csv # @return [::Google::Cloud::Dataplex::V1::StorageFormat::CsvOptions] # Optional. Additional information about CSV formatted data. # @!attribute [rw] json # @return [::Google::Cloud::Dataplex::V1::StorageFormat::JsonOptions] # Optional. Additional information about CSV formatted data. class StorageFormat include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Describes CSV and similar semi-structured data formats. # @!attribute [rw] encoding # @return [::String] # Optional. The character encoding of the data. The default is UTF-8. # @!attribute [rw] header_rows # @return [::Integer] # Optional. The number of rows to interpret as header rows that should be skipped # when reading data rows. # @!attribute [rw] delimiter # @return [::String] # Optional. The delimiter used to separate values. Defaults to ','. # @!attribute [rw] quote # @return [::String] # Optional. The character used to quote column values. Defaults to empty, # implying unquoted data. class CsvOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Describes JSON data format. # @!attribute [rw] encoding # @return [::String] # Optional. The character encoding of the data. The default is UTF-8. class JsonOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The specific file format of the data. module Format # Format unspecified. FORMAT_UNSPECIFIED = 0 # Parquet-formatted structured data. PARQUET = 1 # Avro-formatted structured data. AVRO = 2 # Orc-formatted structured data. ORC = 3 # Csv-formatted semi-structured data. CSV = 100 # Json-formatted semi-structured data. JSON = 101 # Image data formats (such as jpg and png). IMAGE = 200 # Audio data formats (such as mp3 and wav). AUDIO = 201 # Video data formats (such as mp4 and mpg). VIDEO = 202 # Textual data formats (such as txt and xml). TEXT = 203 # TensorFlow record format. TFRECORD = 204 # Data that doesn't match a specific format. OTHER = 1000 # Data of an unknown format. UNKNOWN = 1001 end # The specific compressed file format of the data. module CompressionFormat # CompressionFormat unspecified. Implies uncompressed data. COMPRESSION_FORMAT_UNSPECIFIED = 0 # GZip compressed set of files. GZIP = 2 # BZip2 compressed set of files. BZIP2 = 3 end end # Identifies the cloud system that manages the data storage. module StorageSystem # Storage system unspecified. STORAGE_SYSTEM_UNSPECIFIED = 0 # The entity data is contained within a Cloud Storage bucket. CLOUD_STORAGE = 1 # The entity data is contained within a BigQuery dataset. BIGQUERY = 2 end end end end end