googleapis
Version:
Google APIs Client Library for Node.js
1,013 lines • 424 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace datacatalog_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Google Cloud Data Catalog API
*
* A fully managed and highly scalable data discovery and metadata management service.
*
* @example
* ```js
* const {google} = require('googleapis');
* const datacatalog = google.datacatalog('v1');
* ```
*/
export class Datacatalog {
context: APIRequestContext;
catalog: Resource$Catalog;
entries: Resource$Entries;
organizations: Resource$Organizations;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Associates `members`, or principals, with a `role`.
*/
export interface Schema$Binding {
/**
* The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
condition?: Schema$Expr;
/**
* Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
*/
members?: string[] | null;
/**
* Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
*/
role?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
*/
export interface Schema$Expr {
/**
* Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
*/
description?: string | null;
/**
* Textual representation of an expression in Common Expression Language syntax.
*/
expression?: string | null;
/**
* Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
*/
location?: string | null;
/**
* Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
*/
title?: string | null;
}
/**
* Request message for `GetIamPolicy` method.
*/
export interface Schema$GetIamPolicyRequest {
/**
* OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
*/
options?: Schema$GetPolicyOptions;
}
/**
* Encapsulates settings provided to GetIamPolicy.
*/
export interface Schema$GetPolicyOptions {
/**
* Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
requestedPolicyVersion?: number | null;
}
/**
* Specification for the BigQuery connection.
*/
export interface Schema$GoogleCloudDatacatalogV1BigQueryConnectionSpec {
/**
* Specification for the BigQuery connection to a Cloud SQL instance.
*/
cloudSql?: Schema$GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec;
/**
* The type of the BigQuery connection.
*/
connectionType?: string | null;
/**
* True if there are credentials attached to the BigQuery connection; false otherwise.
*/
hasCredential?: boolean | null;
}
/**
* Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).
*/
export interface Schema$GoogleCloudDatacatalogV1BigQueryDateShardedSpec {
/**
* Output only. The Data Catalog resource name of the dataset entry the current table belongs to. For example: `projects/{PROJECT_ID\}/locations/{LOCATION\}/entrygroups/{ENTRY_GROUP_ID\}/entries/{ENTRY_ID\}`.
*/
dataset?: string | null;
/**
* Output only. BigQuery resource name of the latest shard.
*/
latestShardResource?: string | null;
/**
* Output only. Total number of shards.
*/
shardCount?: string | null;
/**
* Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`. For example, for the `MyTable20180101` shard, the `table_prefix` is `MyTable`.
*/
tablePrefix?: string | null;
}
/**
* Fields specific for BigQuery routines.
*/
export interface Schema$GoogleCloudDatacatalogV1BigQueryRoutineSpec {
/**
* Paths of the imported libraries.
*/
importedLibraries?: string[] | null;
}
/**
* Describes a BigQuery table.
*/
export interface Schema$GoogleCloudDatacatalogV1BigQueryTableSpec {
/**
* Output only. The table source type.
*/
tableSourceType?: string | null;
/**
* Specification of a BigQuery table. Populated only if the `table_source_type` is `BIGQUERY_TABLE`.
*/
tableSpec?: Schema$GoogleCloudDatacatalogV1TableSpec;
/**
* Table view specification. Populated only if the `table_source_type` is `BIGQUERY_VIEW`.
*/
viewSpec?: Schema$GoogleCloudDatacatalogV1ViewSpec;
}
/**
* Business Context of the entry.
*/
export interface Schema$GoogleCloudDatacatalogV1BusinessContext {
/**
* Contact people for the entry.
*/
contacts?: Schema$GoogleCloudDatacatalogV1Contacts;
/**
* Entry overview fields for rich text descriptions of entries.
*/
entryOverview?: Schema$GoogleCloudDatacatalogV1EntryOverview;
}
/**
* Specification that applies to Instance entries that are part of `CLOUD_BIGTABLE` system. (user_specified_type)
*/
export interface Schema$GoogleCloudDatacatalogV1CloudBigtableInstanceSpec {
/**
* The list of clusters for the Instance.
*/
cloudBigtableClusterSpecs?: Schema$GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec[];
}
/**
* Spec that applies to clusters of an Instance of Cloud Bigtable.
*/
export interface Schema$GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec {
/**
* Name of the cluster.
*/
displayName?: string | null;
/**
* A link back to the parent resource, in this case Instance.
*/
linkedResource?: string | null;
/**
* Location of the cluster, typically a Cloud zone.
*/
location?: string | null;
/**
* Type of the resource. For a cluster this would be "CLUSTER".
*/
type?: string | null;
}
/**
* Specification that applies to all entries that are part of `CLOUD_BIGTABLE` system (user_specified_type)
*/
export interface Schema$GoogleCloudDatacatalogV1CloudBigtableSystemSpec {
/**
* Display name of the Instance. This is user specified and different from the resource name.
*/
instanceDisplayName?: string | null;
}
/**
* Specification for the BigQuery connection to a Cloud SQL instance.
*/
export interface Schema$GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec {
/**
* Database name.
*/
database?: string | null;
/**
* Cloud SQL instance ID in the format of `project:location:instance`.
*/
instanceId?: string | null;
/**
* Type of the Cloud SQL database.
*/
type?: string | null;
}
/**
* A column within a schema. Columns can be nested inside other columns.
*/
export interface Schema$GoogleCloudDatacatalogV1ColumnSchema {
/**
* Required. Name of the column. Must be a UTF-8 string without dots (.). The maximum size is 64 bytes.
*/
column?: string | null;
/**
* Optional. Default value for the column.
*/
defaultValue?: string | null;
/**
* Optional. Description of the column. Default value is an empty string. The description must be a UTF-8 string with the maximum size of 2000 bytes.
*/
description?: string | null;
/**
* Optional. Garbage collection policy for the column or column family. Applies to systems like Cloud Bigtable.
*/
gcRule?: string | null;
/**
* Optional. Most important inclusion of this column.
*/
highestIndexingType?: string | null;
/**
* Looker specific column info of this column.
*/
lookerColumnSpec?: Schema$GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec;
/**
* Optional. A column's mode indicates whether values in this column are required, nullable, or repeated. Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are supported. Default mode is `NULLABLE`.
*/
mode?: string | null;
/**
* Optional. Ordinal position
*/
ordinalPosition?: number | null;
/**
* Optional. The subtype of the RANGE, if the type of this field is RANGE. If the type is RANGE, this field is required. Possible values for the field element type of a RANGE include: * DATE * DATETIME * TIMESTAMP
*/
rangeElementType?: Schema$GoogleCloudDatacatalogV1ColumnSchemaFieldElementType;
/**
* Optional. Schema of sub-columns. A column can have zero or more sub-columns.
*/
subcolumns?: Schema$GoogleCloudDatacatalogV1ColumnSchema[];
/**
* Required. Type of the column. Must be a UTF-8 string with the maximum size of 128 bytes.
*/
type?: string | null;
}
/**
* Represents the type of a field element.
*/
export interface Schema$GoogleCloudDatacatalogV1ColumnSchemaFieldElementType {
/**
* Required. The type of a field element. See ColumnSchema.type.
*/
type?: string | null;
}
/**
* Column info specific to Looker System.
*/
export interface Schema$GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec {
/**
* Looker specific column type of this column.
*/
type?: string | null;
}
/**
* Common statistics on the entry's usage. They can be set on any system.
*/
export interface Schema$GoogleCloudDatacatalogV1CommonUsageStats {
/**
* View count in source system.
*/
viewCount?: string | null;
}
/**
* Contact people for the entry.
*/
export interface Schema$GoogleCloudDatacatalogV1Contacts {
/**
* The list of contact people for the entry.
*/
people?: Schema$GoogleCloudDatacatalogV1ContactsPerson[];
}
/**
* A contact person for the entry.
*/
export interface Schema$GoogleCloudDatacatalogV1ContactsPerson {
/**
* Designation of the person, for example, Data Steward.
*/
designation?: string | null;
/**
* Email of the person in the format of `john.doe@xyz`, ``, or `John Doe`.
*/
email?: string | null;
}
/**
* Cross-regional source used to import an existing taxonomy into a different region.
*/
export interface Schema$GoogleCloudDatacatalogV1CrossRegionalSource {
/**
* Required. The resource name of the source taxonomy to import.
*/
taxonomy?: string | null;
}
/**
* Specification that applies to a table resource. Valid only for entries with the `TABLE` type.
*/
export interface Schema$GoogleCloudDatacatalogV1DatabaseTableSpec {
/**
* Spec what applies to tables that are actually views. Not set for "real" tables.
*/
databaseViewSpec?: Schema$GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec;
/**
* Output only. Fields specific to a Dataplex Universal Catalog table and present only in the Dataplex Universal Catalog table entries.
*/
dataplexTable?: Schema$GoogleCloudDatacatalogV1DataplexTableSpec;
/**
* Type of this table.
*/
type?: string | null;
}
/**
* Specification that applies to database view.
*/
export interface Schema$GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec {
/**
* Name of a singular table this view reflects one to one.
*/
baseTable?: string | null;
/**
* SQL query used to generate this view.
*/
sqlQuery?: string | null;
/**
* Type of this view.
*/
viewType?: string | null;
}
/**
* External table registered by Dataplex Universal Catalog. Dataplex Universal Catalog publishes data discovered from an asset into multiple other systems (BigQuery, DPMS) in form of tables. We call them "external tables". External tables are also synced into the Data Catalog. This message contains pointers to those external tables (fully qualified name, resource name et cetera) within the Data Catalog.
*/
export interface Schema$GoogleCloudDatacatalogV1DataplexExternalTable {
/**
* Name of the Data Catalog entry representing the external table.
*/
dataCatalogEntry?: string | null;
/**
* Fully qualified name (FQN) of the external table.
*/
fullyQualifiedName?: string | null;
/**
* Google Cloud resource name of the external table.
*/
googleCloudResource?: string | null;
/**
* Service in which the external table is registered.
*/
system?: string | null;
}
/**
* Entry specification for a Dataplex Universal Catalog fileset.
*/
export interface Schema$GoogleCloudDatacatalogV1DataplexFilesetSpec {
/**
* Common Dataplex Universal Catalog fields.
*/
dataplexSpec?: Schema$GoogleCloudDatacatalogV1DataplexSpec;
}
/**
* Common Dataplex Universal Catalog fields.
*/
export interface Schema$GoogleCloudDatacatalogV1DataplexSpec {
/**
* Fully qualified resource name of an asset in Dataplex Universal Catalog, to which the underlying data source (Cloud Storage bucket or BigQuery dataset) of the entity is attached.
*/
asset?: string | null;
/**
* Compression format of the data, e.g., zip, gzip etc.
*/
compressionFormat?: string | null;
/**
* Format of the data.
*/
dataFormat?: Schema$GoogleCloudDatacatalogV1PhysicalSchema;
/**
* Project ID of the underlying Cloud Storage or BigQuery data. Note that this may not be the same project as the corresponding Dataplex Universal Catalog lake / zone / asset.
*/
projectId?: string | null;
}
/**
* Entry specification for a Dataplex Universal Catalog table.
*/
export interface Schema$GoogleCloudDatacatalogV1DataplexTableSpec {
/**
* Common Dataplex Universal Catalog fields.
*/
dataplexSpec?: Schema$GoogleCloudDatacatalogV1DataplexSpec;
/**
* List of external tables registered by Dataplex Universal Catalog in other systems based on the same underlying data. External tables allow to query this data in those systems.
*/
externalTables?: Schema$GoogleCloudDatacatalogV1DataplexExternalTable[];
/**
* Indicates if the table schema is managed by the user or not.
*/
userManaged?: boolean | null;
}
/**
* Specification that applies to a dataset. Valid only for entries with the `DATASET` type.
*/
export interface Schema$GoogleCloudDatacatalogV1DatasetSpec {
/**
* Vertex AI Dataset specific fields
*/
vertexDatasetSpec?: Schema$GoogleCloudDatacatalogV1VertexDatasetSpec;
}
/**
* Physical location of an entry.
*/
export interface Schema$GoogleCloudDatacatalogV1DataSource {
/**
* Full name of a resource as defined by the service. For example: `//bigquery.googleapis.com/projects/{PROJECT_ID\}/locations/{LOCATION\}/datasets/{DATASET_ID\}/tables/{TABLE_ID\}`
*/
resource?: string | null;
/**
* Service that physically stores the data.
*/
service?: string | null;
/**
* Output only. Data Catalog entry name, if applicable.
*/
sourceEntry?: string | null;
/**
* Detailed properties of the underlying storage.
*/
storageProperties?: Schema$GoogleCloudDatacatalogV1StorageProperties;
}
/**
* Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type. Only one of internal specs can be set at the time, and cannot be changed later.
*/
export interface Schema$GoogleCloudDatacatalogV1DataSourceConnectionSpec {
/**
* Output only. Fields specific to BigQuery connections.
*/
bigqueryConnectionSpec?: Schema$GoogleCloudDatacatalogV1BigQueryConnectionSpec;
}
/**
* Wrapper for any item that can be contained in the dump.
*/
export interface Schema$GoogleCloudDatacatalogV1DumpItem {
/**
* Entry and its tags.
*/
taggedEntry?: Schema$GoogleCloudDatacatalogV1TaggedEntry;
}
/**
* Entry metadata. A Data Catalog entry represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of it. You can use the `linked_resource` field in the entry resource to refer to the original resource ID of the source system. An entry resource contains resource details, for example, its schema. Additionally, you can attach flexible metadata to an entry in the form of a Tag.
*/
export interface Schema$GoogleCloudDatacatalogV1Entry {
/**
* Output only. Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).
*/
bigqueryDateShardedSpec?: Schema$GoogleCloudDatacatalogV1BigQueryDateShardedSpec;
/**
* Output only. Specification that applies to a BigQuery table. Valid only for entries with the `TABLE` type.
*/
bigqueryTableSpec?: Schema$GoogleCloudDatacatalogV1BigQueryTableSpec;
/**
* Business Context of the entry. Not supported for BigQuery datasets
*/
businessContext?: Schema$GoogleCloudDatacatalogV1BusinessContext;
/**
* Specification that applies to Cloud Bigtable system. Only settable when `integrated_system` is equal to `CLOUD_BIGTABLE`
*/
cloudBigtableSystemSpec?: Schema$GoogleCloudDatacatalogV1CloudBigtableSystemSpec;
/**
* Specification that applies to a table resource. Valid only for entries with the `TABLE` or `EXPLORE` type.
*/
databaseTableSpec?: Schema$GoogleCloudDatacatalogV1DatabaseTableSpec;
/**
* Specification that applies to a dataset.
*/
datasetSpec?: Schema$GoogleCloudDatacatalogV1DatasetSpec;
/**
* Output only. Physical location of the entry.
*/
dataSource?: Schema$GoogleCloudDatacatalogV1DataSource;
/**
* Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type.
*/
dataSourceConnectionSpec?: Schema$GoogleCloudDatacatalogV1DataSourceConnectionSpec;
/**
* Entry description that can consist of several sentences or paragraphs that describe entry contents. The description must not contain Unicode non-characters as well as C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). The maximum size is 2000 bytes when encoded in UTF-8. Default value is an empty string.
*/
description?: string | null;
/**
* Display name of an entry. The maximum size is 500 bytes when encoded in UTF-8. Default value is an empty string.
*/
displayName?: string | null;
/**
* FeatureonlineStore spec for Vertex AI Feature Store.
*/
featureOnlineStoreSpec?: Schema$GoogleCloudDatacatalogV1FeatureOnlineStoreSpec;
/**
* Specification that applies to a fileset resource. Valid only for entries with the `FILESET` type.
*/
filesetSpec?: Schema$GoogleCloudDatacatalogV1FilesetSpec;
/**
* [Fully Qualified Name (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names) of the resource. Set automatically for entries representing resources from synced systems. Settable only during creation, and read-only later. Can be used for search and lookup of the entries.
*/
fullyQualifiedName?: string | null;
/**
* Specification that applies to a Cloud Storage fileset. Valid only for entries with the `FILESET` type.
*/
gcsFilesetSpec?: Schema$GoogleCloudDatacatalogV1GcsFilesetSpec;
/**
* Spec for graph.
*/
graphSpec?: Schema$GoogleCloudDatacatalogV1GraphSpec;
/**
* Output only. Indicates the entry's source system that Data Catalog integrates with, such as BigQuery, Pub/Sub, or Dataproc Metastore.
*/
integratedSystem?: string | null;
/**
* Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system.
*/
labels?: {
[key: string]: string;
} | null;
/**
* The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID\}/datasets/{DATASET_ID\}/tables/{TABLE_ID\}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.
*/
linkedResource?: string | null;
/**
* Specification that applies to Looker sysstem. Only settable when `user_specified_system` is equal to `LOOKER`
*/
lookerSystemSpec?: Schema$GoogleCloudDatacatalogV1LookerSystemSpec;
/**
* Model specification.
*/
modelSpec?: Schema$GoogleCloudDatacatalogV1ModelSpec;
/**
* Output only. Identifier. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.
*/
name?: string | null;
/**
* Output only. Additional information related to the entry. Private to the current user.
*/
personalDetails?: Schema$GoogleCloudDatacatalogV1PersonalDetails;
/**
* Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.
*/
routineSpec?: Schema$GoogleCloudDatacatalogV1RoutineSpec;
/**
* Schema of the entry. An entry might not have any schema attached to it.
*/
schema?: Schema$GoogleCloudDatacatalogV1Schema;
/**
* Specification that applies to a Service resource.
*/
serviceSpec?: Schema$GoogleCloudDatacatalogV1ServiceSpec;
/**
* Timestamps from the underlying resource, not from the Data Catalog entry. Output only when the entry has a system listed in the `IntegratedSystem` enum. For entries with `user_specified_system`, this field is optional and defaults to an empty timestamp.
*/
sourceSystemTimestamps?: Schema$GoogleCloudDatacatalogV1SystemTimestamps;
/**
* Specification of a Spanner table.
*/
spannerTableSpec?: Schema$GoogleCloudDatacatalogV1SpannerTableSpec;
/**
* Specification that applies to a relational database system. Only settable when `user_specified_system` is equal to `SQL_DATABASE`
*/
sqlDatabaseSystemSpec?: Schema$GoogleCloudDatacatalogV1SqlDatabaseSystemSpec;
/**
* The type of the entry. For details, see [`EntryType`](#entrytype).
*/
type?: string | null;
/**
* Resource usage statistics.
*/
usageSignal?: Schema$GoogleCloudDatacatalogV1UsageSignal;
/**
* Indicates the entry's source system that Data Catalog doesn't automatically integrate with. The `user_specified_system` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.
*/
userSpecifiedSystem?: string | null;
/**
* Custom entry type that doesn't match any of the values allowed for input and listed in the `EntryType` enum. When creating an entry, first check the type values in the enum. If there are no appropriate types for the new entry, provide a custom value, for example, `my_special_type`. The `user_specified_type` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.
*/
userSpecifiedType?: string | null;
}
/**
* Entry group metadata. An `EntryGroup` resource represents a logical grouping of zero or more Data Catalog Entry resources.
*/
export interface Schema$GoogleCloudDatacatalogV1EntryGroup {
/**
* Output only. Timestamps of the entry group. Default value is empty.
*/
dataCatalogTimestamps?: Schema$GoogleCloudDatacatalogV1SystemTimestamps;
/**
* Entry group description. Can consist of several sentences or paragraphs that describe the entry group contents. Default value is an empty string.
*/
description?: string | null;
/**
* A short name to identify the entry group, for example, "analytics data - jan 2011". Default value is an empty string.
*/
displayName?: string | null;
/**
* Identifier. The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.
*/
name?: string | null;
/**
* Optional. When set to [true], it means DataCatalog EntryGroup was transferred to Dataplex Universal Catalog. It makes EntryGroup and its Entries to be read-only in DataCatalog. However, new Tags on EntryGroup and its Entries can be created. After setting the flag to [true] it cannot be unset.
*/
transferredToDataplex?: boolean | null;
}
/**
* Entry overview fields for rich text descriptions of entries.
*/
export interface Schema$GoogleCloudDatacatalogV1EntryOverview {
/**
* Entry overview with support for rich text. The overview must only contain Unicode characters, and should be formatted using HTML. The maximum length is 10 MiB as this value holds HTML descriptions including encoded images. The maximum length of the text without images is 100 KiB.
*/
overview?: string | null;
}
/**
* Response message for ExportTaxonomies.
*/
export interface Schema$GoogleCloudDatacatalogV1ExportTaxonomiesResponse {
/**
* List of taxonomies and policy tags as nested protocol buffers.
*/
taxonomies?: Schema$GoogleCloudDatacatalogV1SerializedTaxonomy[];
}
/**
* Detail description of the source information of a Vertex Feature Online Store.
*/
export interface Schema$GoogleCloudDatacatalogV1FeatureOnlineStoreSpec {
/**
* Output only. Type of underlying storage for the FeatureOnlineStore.
*/
storageType?: string | null;
}
export interface Schema$GoogleCloudDatacatalogV1FieldType {
/**
* An enum type.
*/
enumType?: Schema$GoogleCloudDatacatalogV1FieldTypeEnumType;
/**
* Primitive types, such as string, boolean, etc.
*/
primitiveType?: string | null;
}
export interface Schema$GoogleCloudDatacatalogV1FieldTypeEnumType {
/**
* The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method.
*/
allowedValues?: Schema$GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue[];
}
export interface Schema$GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue {
/**
* Required. The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.
*/
displayName?: string | null;
}
/**
* Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.
*/
export interface Schema$GoogleCloudDatacatalogV1FilesetSpec {
/**
* Fields specific to a Dataplex Universal Catalog fileset and present only in the Dataplex Universal Catalog fileset entries.
*/
dataplexFileset?: Schema$GoogleCloudDatacatalogV1DataplexFilesetSpec;
}
/**
* Describes a Cloud Storage fileset entry.
*/
export interface Schema$GoogleCloudDatacatalogV1GcsFilesetSpec {
/**
* Required. Patterns to identify a set of files in Google Cloud Storage. For more information, see [Wildcard Names] (https://cloud.google.com/storage/docs/wildcards). Note: Currently, bucket wildcards are not supported. Examples of valid `file_patterns`: * `gs://bucket_name/dir/x`: matches all files in `bucket_name/dir` directory * `gs://bucket_name/dir/x*`: matches all files in `bucket_name/dir` and all subdirectories * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/x/b`: matches all files in `bucket_name` that match the `a/x/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to match complex sets of files, for example: `gs://bucket_name/[a-m]??.j*g`
*/
filePatterns?: string[] | null;
/**
* Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.
*/
sampleGcsFileSpecs?: Schema$GoogleCloudDatacatalogV1GcsFileSpec[];
}
/**
* Specification of a single file in Cloud Storage.
*/
export interface Schema$GoogleCloudDatacatalogV1GcsFileSpec {
/**
* Required. Full file path. Example: `gs://bucket_name/a/b.txt`.
*/
filePath?: string | null;
/**
* Output only. Creation, modification, and expiration timestamps of a Cloud Storage file.
*/
gcsTimestamps?: Schema$GoogleCloudDatacatalogV1SystemTimestamps;
/**
* Output only. File size in bytes.
*/
sizeBytes?: string | null;
}
/**
* Specification that applies to a graph.
*/
export interface Schema$GoogleCloudDatacatalogV1GraphSpec {
/**
* Optional. Edge tables of the graph.
*/
edgeTables?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTable[];
/**
* Output only. Fully qualified graph name. e.g. `named_catalog.MyGraph`
*/
name?: string | null;
/**
* Required. Node tables of the graph.
*/
nodeTables?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTable[];
}
/**
* Element table definition.
*/
export interface Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTable {
/**
* Required. The alias name of the graph element.
*/
alias?: string | null;
/**
* Required. The name of the data source. This is either a table name or a view name that is used for graph element input source. E.g. `Person` table or `PersonView` view.
*/
dataSource?: string | null;
/**
* Optional. The destination node reference of the edge.
*/
destinationNodeReference?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference;
/**
* Optional. If set, this is the input column for dynamic label in schemaless data model.
*/
dynamicLabelColumn?: string | null;
/**
* Optional. If set, this is the input column for dynamic properties in schemaless data model.
*/
dynamicPropertiesColumn?: string | null;
/**
* Required. The name of the keys of the elements in the table.
*/
elementKeys?: string[] | null;
/**
* Required. The input source of the graph element.
*/
inputSource?: string | null;
/**
* Required. The kind of the graph element.
*/
kind?: string | null;
/**
* Required. The labels and their properties for the graph element.
*/
labelAndProperties?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties[];
/**
* Optional. The source node reference of the edge.
*/
sourceNodeReference?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference;
}
/**
* A reference to a source or destination node in a graph edge.
*/
export interface Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference {
/**
* Required. The referencing columns in the edge table. The size of `edge_table_columns` must be equal to the size of `node_table_columns`.
*/
edgeTableColumns?: string[] | null;
/**
* Required. The reference to the source/destination node of the edge. This name must be a valid `alias` of a node element in the same graph. Example, `Person` node can be a source node name of an edge element `Person_to_Address`.
*/
nodeAlias?: string | null;
/**
* Required. The referenced columns of the source node table.
*/
nodeTableColumns?: string[] | null;
}
/**
* The label and its properties. Each label is associated with a set of properties.
*/
export interface Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties {
/**
* Required. The name of the label.
*/
label?: string | null;
/**
* Optional. The properties associated with the label.
*/
properties?: Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty[];
}
/**
* A property declaration.
*/
export interface Schema$GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty {
/**
* Required. Property name.
*/
name?: string | null;
/**
* Required. Property data type.
*/
type?: string | null;
}
/**
* Metadata message for long-running operation returned by the ImportEntries.
*/
export interface Schema$GoogleCloudDatacatalogV1ImportEntriesMetadata {
/**
* Partial errors that are encountered during the ImportEntries operation. There is no guarantee that all the encountered errors are reported. However, if no errors are reported, it means that no errors were encountered.
*/
errors?: Schema$Status[];
/**
* State of the import operation.
*/
state?: string | null;
}
/**
* Request message for ImportEntries method.
*/
export interface Schema$GoogleCloudDatacatalogV1ImportEntriesRequest {
/**
* Path to a Cloud Storage bucket that contains a dump ready for ingestion.
*/
gcsBucketPath?: string | null;
/**
* Optional. (Optional) Dataplex Universal Catalog task job id, if specified will be used as part of ImportEntries LRO ID
*/
jobId?: string | null;
}
/**
* Response message for long-running operation returned by the ImportEntries.
*/
export interface Schema$GoogleCloudDatacatalogV1ImportEntriesResponse {
/**
* Number of entries deleted as a result of import operation.
*/
deletedEntriesCount?: string | null;
/**
* Cumulative number of entries created and entries updated as a result of import operation.
*/
upsertedEntriesCount?: string | null;
}
/**
* Request message for ImportTaxonomies.
*/
export interface Schema$GoogleCloudDatacatalogV1ImportTaxonomiesRequest {
/**
* Cross-regional source taxonomy to import.
*/
crossRegionalSource?: Schema$GoogleCloudDatacatalogV1CrossRegionalSource;
/**
* Inline source taxonomy to import.
*/
inlineSource?: Schema$GoogleCloudDatacatalogV1InlineSource;
}
/**
* Response message for ImportTaxonomies.
*/
export interface Schema$GoogleCloudDatacatalogV1ImportTaxonomiesResponse {
/**
* Imported taxonomies.
*/
taxonomies?: Schema$GoogleCloudDatacatalogV1Taxonomy[];
}
/**
* Inline source containing taxonomies to import.
*/
export interface Schema$GoogleCloudDatacatalogV1InlineSource {
/**
* Required. Taxonomies to import.
*/
taxonomies?: Schema$GoogleCloudDatacatalogV1SerializedTaxonomy[];
}
/**
* Response message for ListEntries.
*/
export interface Schema$GoogleCloudDatacatalogV1ListEntriesResponse {
/**
* Entry details.
*/
entries?: Schema$GoogleCloudDatacatalogV1Entry[];
/**
* Pagination token of the next results page. Empty if there are no more items in results.
*/
nextPageToken?: string | null;
}
/**
* Response message for ListEntryGroups.
*/
export interface Schema$GoogleCloudDatacatalogV1ListEntryGroupsResponse {
/**
* Entry group details.
*/
entryGroups?: Schema$GoogleCloudDatacatalogV1EntryGroup[];
/**
* Pagination token to specify in the next call to retrieve the next page of results. Empty if there are no more items.
*/
nextPageToken?: string | null;
}
/**
* Response message for ListPolicyTags.
*/
export interface Schema$GoogleCloudDatacatalogV1ListPolicyTagsResponse {
/**
* Pagination token of the next results page. Empty if there are no more results in the list.
*/
nextPageToken?: string | null;
/**
* The policy tags that belong to the taxonomy.
*/
policyTags?: Schema$GoogleCloudDatacatalogV1PolicyTag[];
}
/**
* Response message for ListTags.
*/
export interface Schema$GoogleCloudDatacatalogV1ListTagsResponse {
/**
* Pagination token of the next results page. Empty if there are no more items in results.
*/
nextPageToken?: string | null;
/**
* Tag details.
*/
tags?: Schema$GoogleCloudDatacatalogV1Tag[];
}
/**
* Response message for ListTaxonomies.
*/
export interface Schema$GoogleCloudDatacatalogV1ListTaxonomiesResponse {
/**
* Pagination token of the next results page. Empty if there are no more results in the list.
*/
nextPageToken?: string | null;
/**
* Taxonomies that the project contains.
*/
taxonomies?: Schema$Goo