google.cloud.dataform.v1alpha2.dataform.proto Maven / Gradle / Ivy
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.dataform.v1alpha2;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/type/interval.proto";
option csharp_namespace = "Google.Cloud.Dataform.V1Alpha2";
option go_package = "cloud.google.com/go/dataform/apiv1alpha2/dataformpb;dataformpb";
option java_multiple_files = true;
option java_outer_classname = "DataformProto";
option java_package = "com.google.cloud.dataform.v1alpha2";
option php_namespace = "Google\\Cloud\\Dataform\\V1alpha2";
option ruby_package = "Google::Cloud::Dataform::V1alpha2";
option (google.api.resource_definition) = {
type: "secretmanager.googleapis.com/SecretVersion"
pattern: "projects/{project}/secrets/{secret}/versions/{version}"
};
// Dataform is a service to develop, create, document, test, and update curated
// tables in BigQuery.
service Dataform {
option (google.api.default_host) = "dataform.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Lists Repositories in a given project and location.
rpc ListRepositories(ListRepositoriesRequest) returns (ListRepositoriesResponse) {
option (google.api.http) = {
get: "/v1alpha2/{parent=projects/*/locations/*}/repositories"
};
option (google.api.method_signature) = "parent";
}
// Fetches a single Repository.
rpc GetRepository(GetRepositoryRequest) returns (Repository) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new Repository in a given project and location.
rpc CreateRepository(CreateRepositoryRequest) returns (Repository) {
option (google.api.http) = {
post: "/v1alpha2/{parent=projects/*/locations/*}/repositories"
body: "repository"
};
option (google.api.method_signature) = "parent,repository,repository_id";
}
// Updates a single Repository.
rpc UpdateRepository(UpdateRepositoryRequest) returns (Repository) {
option (google.api.http) = {
patch: "/v1alpha2/{repository.name=projects/*/locations/*/repositories/*}"
body: "repository"
};
option (google.api.method_signature) = "repository,update_mask";
}
// Deletes a single Repository.
rpc DeleteRepository(DeleteRepositoryRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha2/{name=projects/*/locations/*/repositories/*}"
};
option (google.api.method_signature) = "name";
}
// Fetches a Repository's remote branches.
rpc FetchRemoteBranches(FetchRemoteBranchesRequest) returns (FetchRemoteBranchesResponse) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*}:fetchRemoteBranches"
};
}
// Lists Workspaces in a given Repository.
rpc ListWorkspaces(ListWorkspacesRequest) returns (ListWorkspacesResponse) {
option (google.api.http) = {
get: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/workspaces"
};
option (google.api.method_signature) = "parent";
}
// Fetches a single Workspace.
rpc GetWorkspace(GetWorkspaceRequest) returns (Workspace) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new Workspace in a given Repository.
rpc CreateWorkspace(CreateWorkspaceRequest) returns (Workspace) {
option (google.api.http) = {
post: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/workspaces"
body: "workspace"
};
option (google.api.method_signature) = "parent,workspace,workspace_id";
}
// Deletes a single Workspace.
rpc DeleteWorkspace(DeleteWorkspaceRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}"
};
option (google.api.method_signature) = "name";
}
// Installs dependency NPM packages (inside a Workspace).
rpc InstallNpmPackages(InstallNpmPackagesRequest) returns (InstallNpmPackagesResponse) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:installNpmPackages"
body: "*"
};
}
// Pulls Git commits from the Repository's remote into a Workspace.
rpc PullGitCommits(PullGitCommitsRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:pull"
body: "*"
};
}
// Pushes Git commits from a Workspace to the Repository's remote.
rpc PushGitCommits(PushGitCommitsRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:push"
body: "*"
};
}
// Fetches Git statuses for the files in a Workspace.
rpc FetchFileGitStatuses(FetchFileGitStatusesRequest) returns (FetchFileGitStatusesResponse) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileGitStatuses"
};
}
// Fetches Git ahead/behind against a remote branch.
rpc FetchGitAheadBehind(FetchGitAheadBehindRequest) returns (FetchGitAheadBehindResponse) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchGitAheadBehind"
};
}
// Applies a Git commit for uncommitted files in a Workspace.
rpc CommitWorkspaceChanges(CommitWorkspaceChangesRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:commit"
body: "*"
};
}
// Performs a Git reset for uncommitted files in a Workspace.
rpc ResetWorkspaceChanges(ResetWorkspaceChangesRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workspaces/*}:reset"
body: "*"
};
}
// Fetches Git diff for an uncommitted file in a Workspace.
rpc FetchFileDiff(FetchFileDiffRequest) returns (FetchFileDiffResponse) {
option (google.api.http) = {
get: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileDiff"
};
}
// Returns the contents of a given Workspace directory.
rpc QueryDirectoryContents(QueryDirectoryContentsRequest) returns (QueryDirectoryContentsResponse) {
option (google.api.http) = {
get: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:queryDirectoryContents"
};
}
// Creates a directory inside a Workspace.
rpc MakeDirectory(MakeDirectoryRequest) returns (MakeDirectoryResponse) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:makeDirectory"
body: "*"
};
}
// Deletes a directory (inside a Workspace) and all of its contents.
rpc RemoveDirectory(RemoveDirectoryRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeDirectory"
body: "*"
};
}
// Moves a directory (inside a Workspace), and all of its contents, to a new
// location.
rpc MoveDirectory(MoveDirectoryRequest) returns (MoveDirectoryResponse) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveDirectory"
body: "*"
};
}
// Returns the contents of a file (inside a Workspace).
rpc ReadFile(ReadFileRequest) returns (ReadFileResponse) {
option (google.api.http) = {
get: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:readFile"
};
}
// Deletes a file (inside a Workspace).
rpc RemoveFile(RemoveFileRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeFile"
body: "*"
};
}
// Moves a file (inside a Workspace) to a new location.
rpc MoveFile(MoveFileRequest) returns (MoveFileResponse) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveFile"
body: "*"
};
}
// Writes to a file (inside a Workspace).
rpc WriteFile(WriteFileRequest) returns (WriteFileResponse) {
option (google.api.http) = {
post: "/v1alpha2/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:writeFile"
body: "*"
};
}
// Lists CompilationResults in a given Repository.
rpc ListCompilationResults(ListCompilationResultsRequest) returns (ListCompilationResultsResponse) {
option (google.api.http) = {
get: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/compilationResults"
};
option (google.api.method_signature) = "parent";
}
// Fetches a single CompilationResult.
rpc GetCompilationResult(GetCompilationResultRequest) returns (CompilationResult) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/compilationResults/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new CompilationResult in a given project and location.
rpc CreateCompilationResult(CreateCompilationResultRequest) returns (CompilationResult) {
option (google.api.http) = {
post: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/compilationResults"
body: "compilation_result"
};
option (google.api.method_signature) = "parent,compilation_result";
}
// Returns CompilationResultActions in a given CompilationResult.
rpc QueryCompilationResultActions(QueryCompilationResultActionsRequest) returns (QueryCompilationResultActionsResponse) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/compilationResults/*}:query"
};
}
// Lists WorkflowInvocations in a given Repository.
rpc ListWorkflowInvocations(ListWorkflowInvocationsRequest) returns (ListWorkflowInvocationsResponse) {
option (google.api.http) = {
get: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/workflowInvocations"
};
option (google.api.method_signature) = "parent";
}
// Fetches a single WorkflowInvocation.
rpc GetWorkflowInvocation(GetWorkflowInvocationRequest) returns (WorkflowInvocation) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new WorkflowInvocation in a given Repository.
rpc CreateWorkflowInvocation(CreateWorkflowInvocationRequest) returns (WorkflowInvocation) {
option (google.api.http) = {
post: "/v1alpha2/{parent=projects/*/locations/*/repositories/*}/workflowInvocations"
body: "workflow_invocation"
};
option (google.api.method_signature) = "parent,workflow_invocation";
}
// Deletes a single WorkflowInvocation.
rpc DeleteWorkflowInvocation(DeleteWorkflowInvocationRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}"
};
option (google.api.method_signature) = "name";
}
// Requests cancellation of a running WorkflowInvocation.
rpc CancelWorkflowInvocation(CancelWorkflowInvocationRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:cancel"
body: "*"
};
}
// Returns WorkflowInvocationActions in a given WorkflowInvocation.
rpc QueryWorkflowInvocationActions(QueryWorkflowInvocationActionsRequest) returns (QueryWorkflowInvocationActionsResponse) {
option (google.api.http) = {
get: "/v1alpha2/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:query"
};
}
}
// Represents a Dataform Git repository.
message Repository {
option (google.api.resource) = {
type: "dataform.googleapis.com/Repository"
pattern: "projects/{project}/locations/{location}/repositories/{repository}"
};
// Controls Git remote configuration for a repository.
message GitRemoteSettings {
// Indicates the status of a Git authentication token.
enum TokenStatus {
// Default value. This value is unused.
TOKEN_STATUS_UNSPECIFIED = 0;
// The token could not be found in Secret Manager (or the Dataform
// Service Account did not have permission to access it).
NOT_FOUND = 1;
// The token could not be used to authenticate against the Git remote.
INVALID = 2;
// The token was used successfully to authenticate against the Git remote.
VALID = 3;
}
// Required. The Git remote's URL.
string url = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The Git remote's default branch name.
string default_branch = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The name of the Secret Manager secret version to use as an
// authentication token for Git operations. Must be in the format
// `projects/*/secrets/*/versions/*`.
string authentication_token_secret_version = 3 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "secretmanager.googleapis.com/SecretVersion"
}
];
// Output only. Indicates the status of the Git access token.
TokenStatus token_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Output only. The repository's name.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. If set, configures this repository to be linked to a Git remote.
GitRemoteSettings git_remote_settings = 2 [(google.api.field_behavior) = OPTIONAL];
}
// `ListRepositories` request message.
message ListRepositoriesRequest {
// Required. The location in which to list repositories. Must be in the format
// `projects/*/locations/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Optional. Maximum number of repositories to return. The server may return fewer
// items than requested. If unspecified, the server will pick an appropriate
// default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `ListRepositories` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListRepositories`
// must match the call that provided the page token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. This field only supports ordering by `name`. If unspecified, the server
// will choose the ordering. If specified, the default order is ascending for
// the `name` field.
string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. Filter for the returned list.
string filter = 5 [(google.api.field_behavior) = OPTIONAL];
}
// `ListRepositories` response message.
message ListRepositoriesResponse {
// List of repositories.
repeated Repository repositories = 1;
// A token which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations which could not be reached.
repeated string unreachable = 3;
}
// `GetRepository` request message.
message GetRepositoryRequest {
// Required. The repository's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
}
// `CreateRepository` request message.
message CreateRepositoryRequest {
// Required. The location in which to create the repository. Must be in the format
// `projects/*/locations/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The repository to create.
Repository repository = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The ID to use for the repository, which will become the final component of
// the repository's resource name.
string repository_id = 3 [(google.api.field_behavior) = REQUIRED];
}
// `UpdateRepository` request message.
message UpdateRepositoryRequest {
// Optional. Specifies the fields to be updated in the repository. If left unset,
// all fields will be updated.
google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
// Required. The repository to update.
Repository repository = 2 [(google.api.field_behavior) = REQUIRED];
}
// `DeleteRepository` request message.
message DeleteRepositoryRequest {
// Required. The repository's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// If set to true, any child resources of this repository will also be
// deleted. (Otherwise, the request will only succeed if the repository has no
// child resources.)
bool force = 2;
}
// `FetchRemoteBranches` request message.
message FetchRemoteBranchesRequest {
// Required. The repository's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
}
// `FetchRemoteBranches` response message.
message FetchRemoteBranchesResponse {
// The remote repository's branch names.
repeated string branches = 1;
}
// Represents a Dataform Git workspace.
message Workspace {
option (google.api.resource) = {
type: "dataform.googleapis.com/Workspace"
pattern: "projects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}"
};
// Output only. The workspace's name.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// `ListWorkspaces` request message.
message ListWorkspacesRequest {
// Required. The repository in which to list workspaces. Must be in the
// format `projects/*/locations/*/repositories/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Optional. Maximum number of workspaces to return. The server may return fewer
// items than requested. If unspecified, the server will pick an appropriate
// default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `ListWorkspaces` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListWorkspaces`
// must match the call that provided the page token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. This field only supports ordering by `name`. If unspecified, the server
// will choose the ordering. If specified, the default order is ascending for
// the `name` field.
string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. Filter for the returned list.
string filter = 5 [(google.api.field_behavior) = OPTIONAL];
}
// `ListWorkspaces` response message.
message ListWorkspacesResponse {
// List of workspaces.
repeated Workspace workspaces = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations which could not be reached.
repeated string unreachable = 3;
}
// `GetWorkspace` request message.
message GetWorkspaceRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
}
// `CreateWorkspace` request message.
message CreateWorkspaceRequest {
// Required. The repository in which to create the workspace. Must be in the format
// `projects/*/locations/*/repositories/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Required. The workspace to create.
Workspace workspace = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The ID to use for the workspace, which will become the final component of
// the workspace's resource name.
string workspace_id = 3 [(google.api.field_behavior) = REQUIRED];
}
// `DeleteWorkspace` request message.
message DeleteWorkspaceRequest {
// Required. The workspace resource's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
}
// Represents the author of a Git commit.
message CommitAuthor {
// Required. The commit author's name.
string name = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The commit author's email address.
string email_address = 2 [(google.api.field_behavior) = REQUIRED];
}
// `PullGitCommits` request message.
message PullGitCommitsRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Optional. The name of the branch in the Git remote from which to pull commits.
// If left unset, the repository's default branch name will be used.
string remote_branch = 2 [(google.api.field_behavior) = OPTIONAL];
// Required. The author of any merge commit which may be created as a result of merging
// fetched Git commits into this workspace.
CommitAuthor author = 3 [(google.api.field_behavior) = REQUIRED];
}
// `PushGitCommits` request message.
message PushGitCommitsRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Optional. The name of the branch in the Git remote to which commits should be pushed.
// If left unset, the repository's default branch name will be used.
string remote_branch = 2 [(google.api.field_behavior) = OPTIONAL];
}
// `FetchFileGitStatuses` request message.
message FetchFileGitStatusesRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
}
// `FetchFileGitStatuses` response message.
message FetchFileGitStatusesResponse {
// Represents the Git state of a file with uncommitted changes.
message UncommittedFileChange {
// Indicates the status of an uncommitted file change.
enum State {
// Default value. This value is unused.
STATE_UNSPECIFIED = 0;
// The file has been newly added.
ADDED = 1;
// The file has been deleted.
DELETED = 2;
// The file has been modified.
MODIFIED = 3;
// The file contains merge conflicts.
HAS_CONFLICTS = 4;
}
// The file's full path including filename, relative to the workspace root.
string path = 1;
// Indicates the status of the file.
State state = 2;
}
// A list of all files which have uncommitted Git changes. There will only be
// a single entry for any given file.
repeated UncommittedFileChange uncommitted_file_changes = 1;
}
// `FetchGitAheadBehind` request message.
message FetchGitAheadBehindRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Optional. The name of the branch in the Git remote against which this workspace
// should be compared. If left unset, the repository's default branch name
// will be used.
string remote_branch = 2 [(google.api.field_behavior) = OPTIONAL];
}
// `FetchGitAheadBehind` response message.
message FetchGitAheadBehindResponse {
// The number of commits in the remote branch that are not in the workspace.
int32 commits_ahead = 1;
// The number of commits in the workspace that are not in the remote branch.
int32 commits_behind = 2;
}
// `CommitWorkspaceChanges` request message.
message CommitWorkspaceChangesRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The commit's author.
CommitAuthor author = 4 [(google.api.field_behavior) = REQUIRED];
// Optional. The commit's message.
string commit_message = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Full file paths to commit including filename, rooted at workspace root. If
// left empty, all files will be committed.
repeated string paths = 3 [(google.api.field_behavior) = OPTIONAL];
}
// `ResetWorkspaceChanges` request message.
message ResetWorkspaceChangesRequest {
// Required. The workspace's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Optional. Full file paths to reset back to their committed state including filename,
// rooted at workspace root. If left empty, all files will be reset.
repeated string paths = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set to true, untracked files will be deleted.
bool clean = 3 [(google.api.field_behavior) = OPTIONAL];
}
// `FetchFileDiff` request message.
message FetchFileDiffRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The file's full path including filename, relative to the workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
}
// `FetchFileDiff` response message.
message FetchFileDiffResponse {
// The raw formatted Git diff for the file.
string formatted_diff = 1;
}
// `QueryDirectoryContents` request message.
message QueryDirectoryContentsRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Optional. The directory's full path including directory name, relative to the
// workspace root. If left unset, the workspace root is used.
string path = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Maximum number of paths to return. The server may return fewer
// items than requested. If unspecified, the server will pick an appropriate
// default.
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `QueryDirectoryContents` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to
// `QueryDirectoryContents` must match the call that provided the page
// token.
string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
}
// `QueryDirectoryContents` response message.
message QueryDirectoryContentsResponse {
// Represents a single entry in a workspace directory.
message DirectoryEntry {
oneof entry {
// A file in the directory.
string file = 1;
// A child directory in the directory.
string directory = 2;
}
}
// List of entries in the directory.
repeated DirectoryEntry directory_entries = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
// `MakeDirectory` request message.
message MakeDirectoryRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The directory's full path including directory name, relative to the
// workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
}
// `MakeDirectory` response message.
message MakeDirectoryResponse {
}
// `RemoveDirectory` request message.
message RemoveDirectoryRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The directory's full path including directory name, relative to the
// workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
}
// `MoveDirectory` request message.
message MoveDirectoryRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The directory's full path including directory name, relative to the
// workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The new path for the directory including directory name, rooted at
// workspace root.
string new_path = 3 [(google.api.field_behavior) = REQUIRED];
}
// `MoveDirectory` response message.
message MoveDirectoryResponse {
}
// `ReadFile` request message.
message ReadFileRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The file's full path including filename, relative to the workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
}
// `ReadFile` response message.
message ReadFileResponse {
// The file's contents.
bytes file_contents = 1;
}
// `RemoveFile` request message.
message RemoveFileRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The file's full path including filename, relative to the workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
}
// `MoveFile` request message.
message MoveFileRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The file's full path including filename, relative to the workspace root.
string path = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The file's new path including filename, relative to the workspace root.
string new_path = 3 [(google.api.field_behavior) = REQUIRED];
}
// `MoveFile` response message.
message MoveFileResponse {
}
// `WriteFile` request message.
message WriteFileRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
// Required. The file.
string path = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The file's contents.
bytes contents = 3 [(google.api.field_behavior) = REQUIRED];
}
// `WriteFile` response message.
message WriteFileResponse {
}
// `InstallNpmPackages` request message.
message InstallNpmPackagesRequest {
// Required. The workspace's name.
string workspace = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
}
// `InstallNpmPackages` response message.
message InstallNpmPackagesResponse {
}
// Represents the result of compiling a Dataform project.
message CompilationResult {
option (google.api.resource) = {
type: "dataform.googleapis.com/CompilationResult"
pattern: "projects/{project}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}"
};
// Configures various aspects of Dataform code compilation.
message CodeCompilationConfig {
// Optional. The default database (Google Cloud project ID).
string default_database = 1 [(google.api.field_behavior) = OPTIONAL];
// Optional. The default schema (BigQuery dataset ID).
string default_schema = 2 [(google.api.field_behavior) = OPTIONAL];
// 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.
string default_location = 8 [(google.api.field_behavior) = OPTIONAL];
// Optional. The default schema (BigQuery dataset ID) for assertions.
string assertion_schema = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. User-defined variables that are made available to project code during
// compilation.
map vars = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. The suffix that should be appended to all database (Google Cloud project
// ID) names.
string database_suffix = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. The suffix that should be appended to all schema (BigQuery dataset ID)
// names.
string schema_suffix = 6 [(google.api.field_behavior) = OPTIONAL];
// Optional. The prefix that should be prepended to all table names.
string table_prefix = 7 [(google.api.field_behavior) = OPTIONAL];
}
// An error encountered when attempting to compile a Dataform project.
message CompilationError {
// Output only. The error's top level message.
string message = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The error's full stack trace.
string stack = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The path of the file where this error occurred, if available, relative to
// the project root.
string path = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The identifier of the action where this error occurred, if available.
Target action_target = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Output only. The compilation result's name.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
oneof source {
// 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`
string git_commitish = 2 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The name of the workspace to compile. Must be in the format
// `projects/*/locations/*/repositories/*/workspaces/*`.
string workspace = 3 [
(google.api.field_behavior) = IMMUTABLE,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Workspace"
}
];
}
// Immutable. If set, fields of `code_compilation_overrides` override the default
// compilation settings that are specified in dataform.json.
CodeCompilationConfig code_compilation_config = 4 [(google.api.field_behavior) = IMMUTABLE];
// Output only. The version of `@dataform/core` that was used for compilation.
string dataform_core_version = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Errors encountered during project compilation.
repeated CompilationError compilation_errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// `ListCompilationResults` request message.
message ListCompilationResultsRequest {
// Required. The repository in which to list compilation results. Must be in the
// format `projects/*/locations/*/repositories/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Optional. Maximum number of compilation results to return. The server may return
// fewer items than requested. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `ListCompilationResults` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListCompilationResults`
// must match the call that provided the page token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
}
// `ListCompilationResults` response message.
message ListCompilationResultsResponse {
// List of compilation results.
repeated CompilationResult compilation_results = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations which could not be reached.
repeated string unreachable = 3;
}
// `GetCompilationResult` request message.
message GetCompilationResultRequest {
// Required. The compilation result's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/CompilationResult"
}
];
}
// `CreateCompilationResult` request message.
message CreateCompilationResultRequest {
// Required. The repository in which to create the compilation result. Must be in the
// format `projects/*/locations/*/repositories/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Required. The compilation result to create.
CompilationResult compilation_result = 2 [(google.api.field_behavior) = REQUIRED];
}
// Represents an action identifier. If the action writes output, the output
// will be written to the referenced database object.
message Target {
// The action's database (Google Cloud project ID) .
string database = 1;
// The action's schema (BigQuery dataset ID), within `database`.
string schema = 2;
// The action's name, within `database` and `schema`.
string name = 3;
}
// Describes a relation and its columns.
message RelationDescriptor {
// Describes a column.
message ColumnDescriptor {
// The identifier for the column. Each entry in `path` represents one level
// of nesting.
repeated string path = 1;
// A textual description of the column.
string description = 2;
// A list of BigQuery policy tags that will be applied to the column.
repeated string bigquery_policy_tags = 3;
}
// A text description of the relation.
string description = 1;
// A list of descriptions of columns within the relation.
repeated ColumnDescriptor columns = 2;
// A set of BigQuery labels that should be applied to the relation.
map bigquery_labels = 3;
}
// Represents a single Dataform action in a compilation result.
message CompilationResultAction {
// Represents a database relation.
message Relation {
// Indicates the type of this relation.
enum RelationType {
// Default value. This value is unused.
RELATION_TYPE_UNSPECIFIED = 0;
// The relation is a table.
TABLE = 1;
// The relation is a view.
VIEW = 2;
// The relation is an incrementalized table.
INCREMENTAL_TABLE = 3;
// The relation is a materialized view.
MATERIALIZED_VIEW = 4;
}
// Contains settings for relations of type `INCREMENTAL_TABLE`.
message IncrementalTableConfig {
// The SELECT query which returns rows which should be inserted into the
// relation if it already exists and is not being refreshed.
string incremental_select_query = 1;
// Whether this table should be protected from being refreshed.
bool refresh_disabled = 2;
// 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.
repeated string unique_key_parts = 3;
// A SQL expression conditional used to limit the set of existing rows
// considered for a merge operation (see `unique_key_parts` for more
// information).
string update_partition_filter = 4;
// SQL statements to be executed before inserting new rows into the
// relation.
repeated string incremental_pre_operations = 5;
// SQL statements to be executed after inserting new rows into the
// relation.
repeated string incremental_post_operations = 6;
}
// A list of actions that this action depends on.
repeated Target dependency_targets = 1;
// Whether this action is disabled (i.e. should not be run).
bool disabled = 2;
// Arbitrary, user-defined tags on this action.
repeated string tags = 3;
// Descriptor for the relation and its columns.
RelationDescriptor relation_descriptor = 4;
// The type of this relation.
RelationType relation_type = 5;
// The SELECT query which returns rows which this relation should contain.
string select_query = 6;
// SQL statements to be executed before creating the relation.
repeated string pre_operations = 7;
// SQL statements to be executed after creating the relation.
repeated string post_operations = 8;
// Configures `INCREMENTAL_TABLE` settings for this relation. Only set if
// `relation_type` is `INCREMENTAL_TABLE`.
IncrementalTableConfig incremental_table_config = 9;
// The SQL expression used to partition the relation.
string partition_expression = 10;
// A list of columns or SQL expressions used to cluster the table.
repeated string cluster_expressions = 11;
// Sets the partition expiration in days.
int32 partition_expiration_days = 12;
// Specifies whether queries on this table must include a predicate filter
// that filters on the partitioning column.
bool require_partition_filter = 13;
// Additional options that will be provided as key/value pairs into the
// options clause of a create table/view statement. See
// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language
// for more information on which options are supported.
map additional_options = 14;
}
// Represents a list of arbitrary database operations.
message Operations {
// A list of actions that this action depends on.
repeated Target dependency_targets = 1;
// Whether this action is disabled (i.e. should not be run).
bool disabled = 2;
// Arbitrary, user-defined tags on this action.
repeated string tags = 3;
// Descriptor for any output relation and its columns. Only set if
// `has_output` is true.
RelationDescriptor relation_descriptor = 6;
// A list of arbitrary SQL statements that will be executed without
// alteration.
repeated string queries = 4;
// Whether these operations produce an output relation.
bool has_output = 5;
}
// Represents an assertion upon a SQL query which is required return zero
// rows.
message Assertion {
// A list of actions that this action depends on.
repeated Target dependency_targets = 1;
// The parent action of this assertion. Only set if this assertion was
// automatically generated.
Target parent_action = 5;
// Whether this action is disabled (i.e. should not be run).
bool disabled = 2;
// Arbitrary, user-defined tags on this action.
repeated string tags = 3;
// The SELECT query which must return zero rows in order for this assertion
// to succeed.
string select_query = 4;
// Descriptor for the assertion's automatically-generated view and its
// columns.
RelationDescriptor relation_descriptor = 6;
}
// Represents a relation which is not managed by Dataform but which may be
// referenced by Dataform actions.
message 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 relation_descriptor = 1;
}
// This action's identifier. Unique within the compilation result.
Target target = 1;
// The action's identifier if the project had been compiled without any
// overrides configured. Unique within the compilation result.
Target canonical_target = 2;
// The full path including filename in which this action is located, relative
// to the workspace root.
string file_path = 3;
oneof compiled_object {
// The database relation created/updated by this action.
Relation relation = 4;
// The database operations executed by this action.
Operations operations = 5;
// The assertion executed by this action.
Assertion assertion = 6;
// The declaration declared by this action.
Declaration declaration = 7;
}
}
// `QueryCompilationResultActions` request message.
message QueryCompilationResultActionsRequest {
// Required. The compilation result's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/CompilationResult"
}
];
// Optional. Maximum number of compilation results to return. The server may return
// fewer items than requested. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `QueryCompilationResultActions` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to
// `QueryCompilationResultActions` must match the call that provided the page
// token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Optional filter for the returned list. Filtering is only currently
// supported on the `file_path` field.
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
}
// `QueryCompilationResultActions` response message.
message QueryCompilationResultActionsResponse {
// List of compilation result actions.
repeated CompilationResultAction compilation_result_actions = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
// Represents a single invocation of a compilation result.
message WorkflowInvocation {
option (google.api.resource) = {
type: "dataform.googleapis.com/WorkflowInvocation"
pattern: "projects/{project}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}"
};
// Includes various configuration options for this workflow invocation.
// If both `included_targets` and `included_tags` are unset, all actions
// will be included.
message InvocationConfig {
// Immutable. The set of action identifiers to include.
repeated Target included_targets = 1 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The set of tags to include.
repeated string included_tags = 2 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. When set to true, transitive dependencies of included actions will be
// executed.
bool transitive_dependencies_included = 3 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. When set to true, transitive dependents of included actions will be
// executed.
bool transitive_dependents_included = 4 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. When set to true, any incremental tables will be fully refreshed.
bool fully_refresh_incremental_tables_enabled = 5 [(google.api.field_behavior) = IMMUTABLE];
}
// Represents the current state of a workflow invocation.
enum State {
// Default value. This value is unused.
STATE_UNSPECIFIED = 0;
// The workflow invocation is currently running.
RUNNING = 1;
// The workflow invocation succeeded. A terminal state.
SUCCEEDED = 2;
// The workflow invocation was cancelled. A terminal state.
CANCELLED = 3;
// The workflow invocation failed. A terminal state.
FAILED = 4;
// The workflow invocation is being cancelled, but some actions are still
// running.
CANCELING = 5;
}
// Output only. The workflow invocation's name.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Immutable. The name of the compilation result to compile. Must be in the format
// `projects/*/locations/*/repositories/*/compilationResults/*`.
string compilation_result = 2 [
(google.api.field_behavior) = IMMUTABLE,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/CompilationResult"
}
];
// Immutable. If left unset, a default InvocationConfig will be used.
InvocationConfig invocation_config = 3 [(google.api.field_behavior) = IMMUTABLE];
// Output only. This workflow invocation's current state.
State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. This workflow invocation's timing details.
google.type.Interval invocation_timing = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// `ListWorkflowInvocations` request message.
message ListWorkflowInvocationsRequest {
// Required. The parent resource of the WorkflowInvocation type. Must be in the
// format `projects/*/locations/*/repositories/*`.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Optional. Maximum number of workflow invocations to return. The server may return
// fewer items than requested. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `ListWorkflowInvocations` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListWorkflowInvocations`
// must match the call that provided the page token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
}
// `ListWorkflowInvocations` response message.
message ListWorkflowInvocationsResponse {
// List of workflow invocations.
repeated WorkflowInvocation workflow_invocations = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations which could not be reached.
repeated string unreachable = 3;
}
// `GetWorkflowInvocation` request message.
message GetWorkflowInvocationRequest {
// Required. The workflow invocation resource's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/WorkflowInvocation"
}
];
}
// `CreateWorkflowInvocation` request message.
message CreateWorkflowInvocationRequest {
// Required. The parent resource of the WorkflowInvocation type.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/Repository"
}
];
// Required. The workflow invocation resource to create.
WorkflowInvocation workflow_invocation = 2 [(google.api.field_behavior) = REQUIRED];
}
// `DeleteWorkflowInvocation` request message.
message DeleteWorkflowInvocationRequest {
// Required. The workflow invocation resource's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/WorkflowInvocation"
}
];
}
// `CancelWorkflowInvocation` request message.
message CancelWorkflowInvocationRequest {
// Required. The workflow invocation resource's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/WorkflowInvocation"
}
];
}
// Represents a single action in a workflow invocation.
message WorkflowInvocationAction {
// Represents the current state of an workflow invocation action.
enum State {
// The action has not yet been considered for invocation.
PENDING = 0;
// The action is currently running.
RUNNING = 1;
// Execution of the action was skipped because upstream dependencies did not
// all complete successfully. A terminal state.
SKIPPED = 2;
// Execution of the action was disabled as per the configuration of the
// corresponding compilation result action. A terminal state.
DISABLED = 3;
// The action succeeded. A terminal state.
SUCCEEDED = 4;
// The action was cancelled. A terminal state.
CANCELLED = 5;
// The action failed. A terminal state.
FAILED = 6;
}
// Represents a workflow action that will run against BigQuery.
message BigQueryAction {
// Output only. The generated BigQuery SQL script that will be executed.
string sql_script = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Output only. This action's identifier. Unique within the workflow invocation.
Target target = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The action's identifier if the project had been compiled without any
// overrides configured. Unique within the compilation result.
Target canonical_target = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. This action's current state.
State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. If and only if action's state is FAILED a failure reason is set.
string failure_reason = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. This action's timing details.
// `start_time` will be set if the action is in [RUNNING, SUCCEEDED,
// CANCELLED, FAILED] state.
// `end_time` will be set if the action is in [SUCCEEDED, CANCELLED, FAILED]
// state.
google.type.Interval invocation_timing = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The workflow action's bigquery action details.
BigQueryAction bigquery_action = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// `QueryWorkflowInvocationActions` request message.
message QueryWorkflowInvocationActionsRequest {
// Required. The workflow invocation's name.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "dataform.googleapis.com/WorkflowInvocation"
}
];
// Optional. Maximum number of workflow invocations to return. The server may return
// fewer items than requested. If unspecified, the server will pick an
// appropriate default.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Page token received from a previous `QueryWorkflowInvocationActions` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to
// `QueryWorkflowInvocationActions` must match the call that provided the page
// token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
}
// `QueryWorkflowInvocationActions` response message.
message QueryWorkflowInvocationActionsResponse {
// List of workflow invocation actions.
repeated WorkflowInvocationAction workflow_invocation_actions = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy