googleapis
Version:
Google APIs Client Library for Node.js
1,226 lines • 403 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 dataform_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;
}
/**
* Dataform API
*
* Service to develop, version control, and operationalize SQL pipelines in BigQuery.
*
* @example
* ```js
* const {google} = require('googleapis');
* const dataform = google.dataform('v1');
* ```
*/
export class Dataform {
context: APIRequestContext;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Error table information, used to write error data into a BigQuery table.
*/
export interface Schema$ActionErrorTable {
/**
* Error table partition expiration in days. Only positive values are allowed.
*/
retentionDays?: number | null;
/**
* Error Table target.
*/
target?: Schema$Target;
}
/**
* Load definition for incremental load modes
*/
export interface Schema$ActionIncrementalLoadMode {
/**
* Column name for incremental load modes
*/
column?: string | null;
}
/**
* Simplified load configuration for actions
*/
export interface Schema$ActionLoadConfig {
/**
* Append into destination table
*/
append?: Schema$ActionSimpleLoadMode;
/**
* Insert records where the value exceeds the previous maximum value for a column in the destination table
*/
maximum?: Schema$ActionIncrementalLoadMode;
/**
* Replace destination table
*/
replace?: Schema$ActionSimpleLoadMode;
/**
* Insert records where the value of a column is not already present in the destination table
*/
unique?: Schema$ActionIncrementalLoadMode;
}
/**
* Simple load definition
*/
export interface Schema$ActionSimpleLoadMode {
}
/**
* Definition of a SQL Data Preparation
*/
export interface Schema$ActionSqlDefinition {
/**
* Error table configuration,
*/
errorTable?: Schema$ActionErrorTable;
/**
* Load configuration.
*/
loadConfig?: Schema$ActionLoadConfig;
/**
* The SQL query representing the data preparation steps. Formatted as a Pipe SQL query statement.
*/
query?: string | null;
}
/**
* Represents an assertion upon a SQL query which is required return zero rows.
*/
export interface Schema$Assertion {
/**
* A list of actions that this action depends on.
*/
dependencyTargets?: Schema$Target[];
/**
* Whether this action is disabled (i.e. should not be run).
*/
disabled?: boolean | null;
/**
* The parent action of this assertion. Only set if this assertion was automatically generated.
*/
parentAction?: Schema$Target;
/**
* Descriptor for the assertion's automatically-generated view and its columns.
*/
relationDescriptor?: Schema$RelationDescriptor;
/**
* The SELECT query which must return zero rows in order for this assertion to succeed.
*/
selectQuery?: string | null;
/**
* Arbitrary, user-defined tags on this action.
*/
tags?: string[] | null;
}
/**
* Represents a workflow action that will run against BigQuery.
*/
export interface Schema$BigQueryAction {
/**
* Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run.
*/
jobId?: string | null;
/**
* Output only. The generated BigQuery SQL script that will be executed.
*/
sqlScript?: string | null;
}
/**
* 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;
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* `CancelWorkflowInvocation` request message.
*/
export interface Schema$CancelWorkflowInvocationRequest {
}
/**
* `CancelWorkflowInvocation` response message.
*/
export interface Schema$CancelWorkflowInvocationResponse {
}
/**
* Configures various aspects of Dataform code compilation.
*/
export interface Schema$CodeCompilationConfig {
/**
* Optional. The default schema (BigQuery dataset ID) for assertions.
*/
assertionSchema?: string | null;
/**
* Optional. The prefix to prepend to built-in assertion names.
*/
builtinAssertionNamePrefix?: string | null;
/**
* Optional. The suffix that should be appended to all database (Google Cloud project ID) names.
*/
databaseSuffix?: string | null;
/**
* Optional. The default database (Google Cloud project ID).
*/
defaultDatabase?: string | null;
/**
* Optional. The default BigQuery location to use. Defaults to "US". See the BigQuery docs for a full list of locations: https://cloud.google.com/bigquery/docs/locations.
*/
defaultLocation?: string | null;
/**
* Optional. The default notebook runtime options.
*/
defaultNotebookRuntimeOptions?: Schema$NotebookRuntimeOptions;
/**
* Optional. The default schema (BigQuery dataset ID).
*/
defaultSchema?: string | null;
/**
* Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names.
*/
schemaSuffix?: string | null;
/**
* Optional. The prefix that should be prepended to all table names.
*/
tablePrefix?: string | null;
/**
* Optional. User-defined variables that are made available to project code during compilation.
*/
vars?: {
[key: string]: string;
} | null;
}
/**
* Describes a column.
*/
export interface Schema$ColumnDescriptor {
/**
* A list of BigQuery policy tags that will be applied to the column.
*/
bigqueryPolicyTags?: string[] | null;
/**
* A textual description of the column.
*/
description?: string | null;
/**
* The identifier for the column. Each entry in `path` represents one level of nesting.
*/
path?: string[] | null;
}
/**
* Represents the author of a Git commit.
*/
export interface Schema$CommitAuthor {
/**
* Required. The commit author's email address.
*/
emailAddress?: string | null;
/**
* Required. The commit author's name.
*/
name?: string | null;
}
/**
* Represents a single commit log.
*/
export interface Schema$CommitLogEntry {
/**
* The commit author for this commit log entry.
*/
author?: Schema$CommitAuthor;
/**
* The commit message for this commit log entry.
*/
commitMessage?: string | null;
/**
* The commit SHA for this commit log entry.
*/
commitSha?: string | null;
/**
* Commit timestamp.
*/
commitTime?: string | null;
}
/**
* Represents a Dataform Git commit.
*/
export interface Schema$CommitMetadata {
/**
* Required. The commit's author.
*/
author?: Schema$CommitAuthor;
/**
* Optional. The commit's message.
*/
commitMessage?: string | null;
}
/**
* `CommitRepositoryChanges` request message.
*/
export interface Schema$CommitRepositoryChangesRequest {
/**
* Required. The changes to commit to the repository.
*/
commitMetadata?: Schema$CommitMetadata;
/**
* Optional. A map to the path of the file to the operation. The path is the full file path including filename, from repository root.
*/
fileOperations?: {
[key: string]: Schema$FileOperation;
} | null;
/**
* Optional. The commit SHA which must be the repository's current HEAD before applying this commit; otherwise this request will fail. If unset, no validation on the current HEAD commit SHA is performed.
*/
requiredHeadCommitSha?: string | null;
}
/**
* `CommitRepositoryChanges` response message.
*/
export interface Schema$CommitRepositoryChangesResponse {
/**
* The commit SHA of the current commit.
*/
commitSha?: string | null;
}
/**
* `CommitWorkspaceChanges` request message.
*/
export interface Schema$CommitWorkspaceChangesRequest {
/**
* Required. The commit's author.
*/
author?: Schema$CommitAuthor;
/**
* Optional. The commit's message.
*/
commitMessage?: string | null;
/**
* Optional. Full file paths to commit including filename, rooted at workspace root. If left empty, all files will be committed.
*/
paths?: string[] | null;
}
/**
* `CommitWorkspaceChanges` response message.
*/
export interface Schema$CommitWorkspaceChangesResponse {
}
/**
* An error encountered when attempting to compile a Dataform project.
*/
export interface Schema$CompilationError {
/**
* Output only. The identifier of the action where this error occurred, if available.
*/
actionTarget?: Schema$Target;
/**
* Output only. The error's top level message.
*/
message?: string | null;
/**
* Output only. The path of the file where this error occurred, if available, relative to the project root.
*/
path?: string | null;
/**
* Output only. The error's full stack trace.
*/
stack?: string | null;
}
/**
* Represents the result of compiling a Dataform project.
*/
export interface Schema$CompilationResult {
/**
* Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json.
*/
codeCompilationConfig?: Schema$CodeCompilationConfig;
/**
* Output only. Errors encountered during project compilation.
*/
compilationErrors?: Schema$CompilationError[];
/**
* Output only. The timestamp of when the compilation result was created.
*/
createTime?: string | null;
/**
* Output only. Only set if the repository has a KMS Key.
*/
dataEncryptionState?: Schema$DataEncryptionState;
/**
* Output only. The version of `@dataform/core` that was used for compilation.
*/
dataformCoreVersion?: string | null;
/**
* Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
*/
gitCommitish?: string | null;
/**
* Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
*/
internalMetadata?: string | null;
/**
* Output only. The compilation result's name.
*/
name?: string | null;
/**
* Output only. Metadata indicating whether this resource is user-scoped. `CompilationResult` resource is `user_scoped` only if it is sourced from a workspace.
*/
privateResourceMetadata?: Schema$PrivateResourceMetadata;
/**
* Immutable. The name of the release config to compile. Must be in the format `projects/x/locations/x/repositories/x/releaseConfigs/x`.
*/
releaseConfig?: string | null;
/**
* Output only. The fully resolved Git commit SHA of the code that was compiled. Not set for compilation results whose source is a workspace.
*/
resolvedGitCommitSha?: string | null;
/**
* Immutable. The name of the workspace to compile. Must be in the format `projects/x/locations/x/repositories/x/workspaces/x`.
*/
workspace?: string | null;
}
/**
* Represents a single Dataform action in a compilation result.
*/
export interface Schema$CompilationResultAction {
/**
* The assertion executed by this action.
*/
assertion?: Schema$Assertion;
/**
* The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result.
*/
canonicalTarget?: Schema$Target;
/**
* The data preparation executed by this action.
*/
dataPreparation?: Schema$DataPreparation;
/**
* The declaration declared by this action.
*/
declaration?: Schema$Declaration;
/**
* The full path including filename in which this action is located, relative to the workspace root.
*/
filePath?: string | null;
/**
* Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
*/
internalMetadata?: string | null;
/**
* The notebook executed by this action.
*/
notebook?: Schema$Notebook;
/**
* The database operations executed by this action.
*/
operations?: Schema$Operations;
/**
* The database relation created/updated by this action.
*/
relation?: Schema$Relation;
/**
* This action's identifier. Unique within the compilation result.
*/
target?: Schema$Target;
}
/**
* `ComputeRepositoryAccessTokenStatus` response message.
*/
export interface Schema$ComputeRepositoryAccessTokenStatusResponse {
/**
* Indicates the status of the Git access token.
*/
tokenStatus?: string | null;
}
/**
* Config for all repositories in a given project and location.
*/
export interface Schema$Config {
/**
* Optional. The default KMS key that is used if no encryption key is provided when a repository is created.
*/
defaultKmsKeyName?: string | null;
/**
* Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
*/
internalMetadata?: string | null;
/**
* Identifier. The config name.
*/
name?: string | null;
}
/**
* Describes encryption state of a resource.
*/
export interface Schema$DataEncryptionState {
/**
* Required. The KMS key version name with which data of a resource is encrypted.
*/
kmsKeyVersionName?: string | null;
}
/**
* Defines a compiled Data Preparation entity
*/
export interface Schema$DataPreparation {
/**
* SQL definition for a Data Preparation. Contains a SQL query and additional context information.
*/
contentsSql?: Schema$SqlDefinition;
/**
* The data preparation definition, stored as a YAML string.
*/
contentsYaml?: string | null;
/**
* A list of actions that this action depends on.
*/
dependencyTargets?: Schema$Target[];
/**
* Whether this action is disabled (i.e. should not be run).
*/
disabled?: boolean | null;
/**
* Arbitrary, user-defined tags on this action.
*/
tags?: string[] | null;
}
/**
* Represents a workflow action that will run a Data Preparation.
*/
export interface Schema$DataPreparationAction {
/**
* SQL definition for a Data Preparation. Contains a SQL query and additional context information.
*/
contentsSql?: Schema$ActionSqlDefinition;
/**
* Output only. YAML representing the contents of the data preparation. Can be used to show the customer what the input was to their workflow.
*/
contentsYaml?: string | null;
/**
* Output only. The generated BigQuery SQL script that will be executed. For reference only.
*/
generatedSql?: string | null;
/**
* Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run.
*/
jobId?: string | null;
}
/**
* Represents a relation which is not managed by Dataform but which may be referenced by Dataform actions.
*/
export interface Schema$Declaration {
/**
* Descriptor for the relation and its columns. Used as documentation only, i.e. values here will result in no changes to the relation's metadata.
*/
relationDescriptor?: Schema$RelationDescriptor;
}
/**
* Represents the delete file operation.
*/
export interface Schema$DeleteFile {
}
/**
* Represents a single entry in a directory.
*/
export interface Schema$DirectoryEntry {
/**
* A child directory in the directory.
*/
directory?: string | null;
/**
* A file in the directory.
*/
file?: string | null;
}
/**
* Client-facing representation of a directory entry in search results.
*/
export interface Schema$DirectorySearchResult {
/**
* File system path relative to the workspace root.
*/
path?: 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 {
}
/**
* Error table information, used to write error data into a BigQuery table.
*/
export interface Schema$ErrorTable {
/**
* Error table partition expiration in days. Only positive values are allowed.
*/
retentionDays?: number | null;
/**
* Error Table target.
*/
target?: Schema$Target;
}
/**
* 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;
}
/**
* `FetchFileDiff` response message.
*/
export interface Schema$FetchFileDiffResponse {
/**
* The raw formatted Git diff for the file.
*/
formattedDiff?: string | null;
}
/**
* `FetchFileGitStatuses` response message.
*/
export interface Schema$FetchFileGitStatusesResponse {
/**
* A list of all files which have uncommitted Git changes. There will only be a single entry for any given file.
*/
uncommittedFileChanges?: Schema$UncommittedFileChange[];
}
/**
* `FetchGitAheadBehind` response message.
*/
export interface Schema$FetchGitAheadBehindResponse {
/**
* The number of commits in the remote branch that are not in the workspace.
*/
commitsAhead?: number | null;
/**
* The number of commits in the workspace that are not in the remote branch.
*/
commitsBehind?: number | null;
}
/**
* `FetchRemoteBranches` response message.
*/
export interface Schema$FetchRemoteBranchesResponse {
/**
* The remote repository's branch names.
*/
branches?: string[] | null;
}
/**
* `FetchRepositoryHistory` response message.
*/
export interface Schema$FetchRepositoryHistoryResponse {
/**
* A list of commit logs, ordered by 'git log' default order.
*/
commits?: Schema$CommitLogEntry[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
}
/**
* Represents a single file operation to the repository.
*/
export interface Schema$FileOperation {
/**
* Represents the delete operation.
*/
deleteFile?: Schema$DeleteFile;
/**
* Represents the write operation.
*/
writeFile?: Schema$WriteFile;
}
/**
* Client-facing representation of a file entry in search results.
*/
export interface Schema$FileSearchResult {
/**
* File system path relative to the workspace root.
*/
path?: string | null;
}
/**
* Controls Git remote configuration for a repository.
*/
export interface Schema$GitRemoteSettings {
/**
* Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/x/secrets/x/versions/x`.
*/
authenticationTokenSecretVersion?: string | null;
/**
* Required. The Git remote's default branch name.
*/
defaultBranch?: string | null;
/**
* Optional. Authentication fields for remote uris using SSH protocol.
*/
sshAuthenticationConfig?: Schema$SshAuthenticationConfig;
/**
* Output only. Deprecated: The field does not contain any token status information.
*/
tokenStatus?: string | null;
/**
* Required. The Git remote's URL.
*/
url?: string | null;
}
/**
* Contains metadata about the IAM policy override for a given Dataform resource. If is_active is true, this the policy encoded in iam_policy_name is the source of truth for this resource. Will be provided in internal ESV2 views for: Workspaces, Repositories, Folders, TeamFolders.
*/
export interface Schema$IamPolicyOverrideView {
/**
* The IAM policy name for the resource.
*/
iamPolicyName?: Schema$PolicyName;
/**
* Whether the IAM policy encoded in this view is active.
*/
isActive?: boolean | null;
}
/**
* Load definition for incremental load modes
*/
export interface Schema$IncrementalLoadMode {
/**
* Column name for incremental load modes
*/
column?: string | null;
}
/**
* Contains settings for relations of type `INCREMENTAL_TABLE`.
*/
export interface Schema$IncrementalTableConfig {
/**
* SQL statements to be executed after inserting new rows into the relation.
*/
incrementalPostOperations?: string[] | null;
/**
* SQL statements to be executed before inserting new rows into the relation.
*/
incrementalPreOperations?: string[] | null;
/**
* The SELECT query which returns rows which should be inserted into the relation if it already exists and is not being refreshed.
*/
incrementalSelectQuery?: string | null;
/**
* Whether this table should be protected from being refreshed.
*/
refreshDisabled?: boolean | null;
/**
* A set of columns or SQL expressions used to define row uniqueness. If any duplicates are discovered (as defined by `unique_key_parts`), only the newly selected rows (as defined by `incremental_select_query`) will be included in the relation.
*/
uniqueKeyParts?: string[] | null;
/**
* A SQL expression conditional used to limit the set of existing rows considered for a merge operation (see `unique_key_parts` for more information).
*/
updatePartitionFilter?: string | null;
}
/**
* `InstallNpmPackages` request message.
*/
export interface Schema$InstallNpmPackagesRequest {
}
/**
* `InstallNpmPackages` response message.
*/
export interface Schema$InstallNpmPackagesResponse {
}
/**
* Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.
*/
export interface Schema$Interval {
/**
* Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
*/
endTime?: string | null;
/**
* Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
*/
startTime?: string | null;
}
/**
* Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included.
*/
export interface Schema$InvocationConfig {
/**
* Optional. When set to true, any incremental tables will be fully refreshed.
*/
fullyRefreshIncrementalTablesEnabled?: boolean | null;
/**
* Optional. The set of tags to include.
*/
includedTags?: string[] | null;
/**
* Optional. The set of action identifiers to include.
*/
includedTargets?: Schema$Target[];
/**
* Optional. Specifies the priority for query execution in BigQuery. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries.
*/
queryPriority?: string | null;
/**
* Optional. The service account to run workflow invocations under.
*/
serviceAccount?: string | null;
/**
* Optional. When set to true, transitive dependencies of included actions will be executed.
*/
transitiveDependenciesIncluded?: boolean | null;
/**
* Optional. When set to true, transitive dependents of included actions will be executed.
*/
transitiveDependentsIncluded?: boolean | null;
}
/**
* `ListCompilationResults` response message.
*/
export interface Schema$ListCompilationResultsResponse {
/**
* List of compilation results.
*/
compilationResults?: Schema$CompilationResult[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
}
/**
* The response message for Locations.ListLocations.
*/
export interface Schema$ListLocationsResponse {
/**
* A list of locations that matches the specified filter in the request.
*/
locations?: Schema$Location[];
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
/**
* A list of operations that matches the specified filter in the request.
*/
operations?: Schema$Operation[];
/**
* Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
*/
unreachable?: string[] | null;
}
/**
* `ListReleaseConfigs` response message.
*/
export interface Schema$ListReleaseConfigsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* List of release configs.
*/
releaseConfigs?: Schema$ReleaseConfig[];
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
}
/**
* `ListRepositories` response message.
*/
export interface Schema$ListRepositoriesResponse {
/**
* A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* List of repositories.
*/
repositories?: Schema$Repository[];
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
}
/**
* `ListWorkflowConfigs` response message.
*/
export interface Schema$ListWorkflowConfigsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
/**
* List of workflow configs.
*/
workflowConfigs?: Schema$WorkflowConfig[];
}
/**
* `ListWorkflowInvocations` response message.
*/
export interface Schema$ListWorkflowInvocationsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
/**
* List of workflow invocations.
*/
workflowInvocations?: Schema$WorkflowInvocation[];
}
/**
* `ListWorkspaces` response message.
*/
export interface Schema$ListWorkspacesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations which could not be reached.
*/
unreachable?: string[] | null;
/**
* List of workspaces.
*/
workspaces?: Schema$Workspace[];
}
/**
* Simplified load configuration for actions
*/
export interface Schema$LoadConfig {
/**
* Append into destination table
*/
append?: Schema$SimpleLoadMode;
/**
* Insert records where the value exceeds the previous maximum value for a column in the destination table
*/
maximum?: Schema$IncrementalLoadMode;
/**
* Replace destination table
*/
replace?: Schema$SimpleLoadMode;
/**
* Insert records where the value of a column is not already present in the destination table
*/
unique?: Schema$IncrementalLoadMode;
}
/**
* A resource that represents a Google Cloud location.
*/
export interface Schema$Location {
/**
* The friendly name for this location, typically a nearby city name. For example, "Tokyo".
*/
displayName?: string | null;
/**
* Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\}
*/
labels?: {
[key: string]: string;
} | null;
/**
* The canonical id for this location. For example: `"us-east1"`.
*/
locationId?: string | null;
/**
* Service-specific metadata. For example the available capacity at the given location.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
*/
name?: string | null;
}
/**
* `MakeDirectory` request message.
*/
export interface Schema$MakeDirectoryRequest {
/**
* Required. The directory's full path including directory name, relative to the workspace root.
*/
path?: string | null;
}
/**
* `MakeDirectory` response message.
*/
export interface Schema$MakeDirectoryResponse {
}
/**
* `MoveDirectory` request message.
*/
export interface Schema$MoveDirectoryRequest {
/**
* Required. The new path for the directory including directory name, rooted at workspace root.
*/
newPath?: string | null;
/**
* Required. The directory's full path including directory name, relative to the workspace root.
*/
path?: string | null;
}
/**
* `MoveDirectory` response message.
*/
export interface Schema$MoveDirectoryResponse {
}
/**
* `MoveFile` request message.
*/
export interface Schema$MoveFileRequest {
/**
* Required. The file's new path including filename, relative to the workspace root.
*/
newPath?: string | null;
/**
* Required. The file's full path including filename, relative to the workspace root.
*/
path?: string | null;
}
/**
* `MoveFile` response message.
*/
export interface Schema$MoveFileResponse {
}
/**
* Represents a notebook.
*/
export interface Schema$Notebook {
/**
* The contents of the notebook.
*/
contents?: string | null;
/**
* A list of actions that this action depends on.
*/
dependencyTargets?: Schema$Target[];
/**
* Whether this action is disabled (i.e. should not be run).
*/
disabled?: boolean | null;
/**
* Arbitrary, user-defined tags on this action.
*/
tags?: string[] | null;
}
/**
* Represents a workflow action that will run against a Notebook runtime.
*/
export interface Schema$NotebookAction {
/**
* Output only. The code contents of a Notebook to be run.
*/
contents?: string | null;
/**
* Output only. The ID of the Vertex job that executed the notebook in contents and also the ID used for the outputs created in Google Cloud Storage buckets. Only set once the job has started to run.
*/
jobId?: string | null;
}
/**
* Configures various aspects of Dataform notebook runtime.
*/
export interface Schema$NotebookRuntimeOptions {
/**
* Optional. The resource name of the [Colab runtime template] (https://cloud.google.com/colab/docs/runtimes), from which a runtime is created for notebook executions. If not specified, a runtime is created with Colab's default specifications.
*/
aiPlatformNotebookRuntimeTemplate?: string | null;
/**
* Optional. The Google Cloud Storage location to upload the result to. Format: `gs://bucket-name`.
*/
gcsOutputBucket?: string | null;
}
/**
* This resource represents a long-running operation that is the result of a network API call.
*/
export interface Schema$Operation {
/**
* If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
*/
done?: boolean | null;
/**
* The error result of the operation in case of failure or cancellation.
*/
error?: Schema$Status;
/**
* Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`.
*/
name?: string | null;
/**
* The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
*/
response?: {
[key: string]: any;
} | null;
}
/**
* Represents the metadata of the long-running operation.
*/
export interface Schema$OperationMetadata {
/**
* Output only. API version used to start the operation.
*/
apiVersion?: string | null;
/**
* Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
*/
cancelRequested?: boolean | null;
/**
* Output only. The time the operation was created.
*/
createTime?: string | null;
/**
* Output only. The time the operation finished running.
*/
endTime?: string | null;
/**
* Output only. Human-readable status of the operation, if any.
*/
statusDetail?: string | null;
/**
* Output only. Server-defined resource path for the target of the operation.
*/
target?: string | null;
/**
* Output only. Name of the verb executed by the operation.
*/
verb?: string | null;
}
/**
* Represents a list of arbitrary database operations.
*/
export interface Schema$Operations {
/**
* A list of actions that this action depends on.
*/
dependencyTargets?: Schema$Target[];
/**
* Whether this action is disabled (i.e. should not be run).
*/
disabled?: boolean | null;
/**
* Whether these operations produce an output relation.
*/
hasOutput?: boolean | null;
/**
* A list of arbitrary SQL statements that will be executed without alteration.
*/
queries?: string[] | null;
/**
* Descriptor for any output relation and its columns. Only set if `has_output` is true.
*/
relationDescriptor?: Schema$RelationDescriptor;
/**
* Arbitrary, user-defined tags on this action.
*/
tags?: string[] | null;
}
/**
* An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mi