{
  "description": "Service to develop, version control, and operationalize SQL pipelines in BigQuery.",
  "kind": "discovery#restDescription",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "rootUrl": "https://dataform.googleapis.com/",
  "baseUrl": "https://dataform.googleapis.com/",
  "fullyEncodeReservedExpansion": true,
  "batchPath": "batch",
  "revision": "20260920",
  "id": "dataform:v1",
  "discoveryVersion": "v1",
  "endpoints": [
    {
      "location": "africa-south1",
      "endpointUrl": "https://dataform.africa-south1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.asia-east1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-east1"
    },
    {
      "location": "asia-east2",
      "endpointUrl": "https://dataform.asia-east2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast1",
      "endpointUrl": "https://dataform.asia-northeast1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast2",
      "endpointUrl": "https://dataform.asia-northeast2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast3",
      "endpointUrl": "https://dataform.asia-northeast3.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-south1",
      "endpointUrl": "https://dataform.asia-south1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.asia-south2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-south2"
    },
    {
      "endpointUrl": "https://dataform.asia-southeast1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-southeast1"
    },
    {
      "location": "asia-southeast2",
      "endpointUrl": "https://dataform.asia-southeast2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "australia-southeast1",
      "endpointUrl": "https://dataform.australia-southeast1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.australia-southeast2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "australia-southeast2"
    },
    {
      "endpointUrl": "https://dataform.europe-central2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-central2"
    },
    {
      "endpointUrl": "https://dataform.europe-north1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-north1"
    },
    {
      "location": "europe-southwest1",
      "endpointUrl": "https://dataform.europe-southwest1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-west1",
      "endpointUrl": "https://dataform.europe-west1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-west10",
      "endpointUrl": "https://dataform.europe-west10.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.europe-west12.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west12"
    },
    {
      "location": "europe-west2",
      "endpointUrl": "https://dataform.europe-west2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-west3",
      "endpointUrl": "https://dataform.europe-west3.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.europe-west4.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west4"
    },
    {
      "location": "europe-west6",
      "endpointUrl": "https://dataform.europe-west6.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-west8",
      "endpointUrl": "https://dataform.europe-west8.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.europe-west9.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west9"
    },
    {
      "location": "me-central1",
      "endpointUrl": "https://dataform.me-central1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.me-central2.rep.googleapis.com/",
      "location": "me-central2",
      "description": "Regional Endpoint"
    },
    {
      "location": "me-west1",
      "endpointUrl": "https://dataform.me-west1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.northamerica-northeast1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "northamerica-northeast1"
    },
    {
      "endpointUrl": "https://dataform.northamerica-northeast2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "northamerica-northeast2"
    },
    {
      "location": "southamerica-east1",
      "endpointUrl": "https://dataform.southamerica-east1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.southamerica-west1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "southamerica-west1"
    },
    {
      "endpointUrl": "https://dataform.us-central1.rep.googleapis.com/",
      "location": "us-central1",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-east1",
      "endpointUrl": "https://dataform.us-east1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-east4",
      "endpointUrl": "https://dataform.us-east4.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-east5",
      "endpointUrl": "https://dataform.us-east5.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.us-south1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-south1"
    },
    {
      "endpointUrl": "https://dataform.us-west1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-west1"
    },
    {
      "location": "us-west2",
      "endpointUrl": "https://dataform.us-west2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataform.us-west3.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-west3"
    },
    {
      "location": "us-west4",
      "endpointUrl": "https://dataform.us-west4.rep.googleapis.com/",
      "description": "Regional Endpoint"
    }
  ],
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "repositories": {
              "methods": {
                "delete": {
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The repository's name.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    },
                    "force": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. If set to true, child resources of this repository (compilation results and workflow invocations) will also be deleted. Otherwise, the request will only succeed if the repository has no child resources. **Note:** *This flag doesn't support deletion of workspaces, release configs or workflow configs. If any of such resources exists in the repository, the request will fail.*."
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}",
                  "description": "Deletes a single Repository.",
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "dataform.projects.locations.repositories.delete"
                },
                "commit": {
                  "request": {
                    "$ref": "CommitRepositoryChangesRequest"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Applies a Git commit to a Repository. The Repository must not have a value for `git_remote_settings.url`.",
                  "path": "v1/{+name}:commit",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "description": "Required. The repository's name.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:commit",
                  "response": {
                    "$ref": "CommitRepositoryChangesResponse"
                  },
                  "id": "dataform.projects.locations.repositories.commit",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "move": {
                  "id": "dataform.projects.locations.repositories.move",
                  "request": {
                    "$ref": "MoveRepositoryRequest"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Moves a Repository to a new location.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:move",
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+name}:move",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The full resource name of the repository to move.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  }
                },
                "readFile": {
                  "httpMethod": "GET",
                  "description": "Returns the contents of a file (inside a Repository). The Repository must not have a value for `git_remote_settings.url`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.repositories.readFile",
                  "path": "v1/{+name}:readFile",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "description": "Required. The repository's name.",
                      "type": "string",
                      "location": "path",
                      "required": true
                    },
                    "commitSha": {
                      "location": "query",
                      "description": "Optional. The commit SHA for the commit to read from. If unset, the file will be read from HEAD.",
                      "type": "string"
                    },
                    "path": {
                      "type": "string",
                      "location": "query",
                      "description": "Required. Full file path to read including filename, from repository root."
                    }
                  },
                  "response": {
                    "$ref": "ReadRepositoryFileResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:readFile"
                },
                "testIamPermissions": {
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "location": "path",
                      "required": true
                    }
                  },
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.repositories.testIamPermissions",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:testIamPermissions",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  }
                },
                "fetchRemoteBranches": {
                  "path": "v1/{+name}:fetchRemoteBranches",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The repository's name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  },
                  "description": "Fetches a Repository's remote branches.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:fetchRemoteBranches",
                  "id": "dataform.projects.locations.repositories.fetchRemoteBranches",
                  "response": {
                    "$ref": "FetchRemoteBranchesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET"
                },
                "queryDirectoryContents": {
                  "description": "Returns the contents of a given Repository directory. The Repository must not have a value for `git_remote_settings.url`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "path": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The directory's full path including directory name, relative to root. If left unset, the root is used."
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of paths to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                      "location": "query"
                    },
                    "commitSha": {
                      "location": "query",
                      "description": "Optional. The Commit SHA for the commit to query from. If unset, the directory will be queried from HEAD.",
                      "type": "string"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Optional. Page token received from a previous `QueryRepositoryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryRepositoryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token.",
                      "location": "query"
                    },
                    "name": {
                      "description": "Required. The repository's name.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  },
                  "id": "dataform.projects.locations.repositories.queryDirectoryContents",
                  "response": {
                    "$ref": "QueryRepositoryDirectoryContentsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:queryDirectoryContents",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "path": "v1/{+name}:queryDirectoryContents"
                },
                "fetchHistory": {
                  "response": {
                    "$ref": "FetchRepositoryHistoryResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:fetchHistory",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "type": "string",
                      "description": "Required. The repository's name."
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous `FetchRepositoryHistory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchRepositoryHistory`, with the exception of `page_size`, must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "type": "integer",
                      "description": "Optional. Maximum number of commits to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataform.projects.locations.repositories.fetchHistory",
                  "path": "v1/{+name}:fetchHistory",
                  "description": "Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`.",
                  "httpMethod": "GET"
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists Repositories in a given project and location. **Note:** *This method can return repositories not shown in the [Dataform UI](https://console.cloud.google.com/bigquery/dataform)*.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/repositories",
                  "id": "dataform.projects.locations.repositories.list",
                  "parameters": {
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "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."
                    },
                    "pageSize": {
                      "location": "query",
                      "description": "Optional. Maximum number of repositories to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "parent": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "Required. The location in which to list repositories. Must be in the format `projects/*/locations/*`."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous `ListRepositories` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepositories`, with the exception of `page_size`, must match the call that provided the page token."
                    },
                    "filter": {
                      "type": "string",
                      "description": "Optional. Filter for the returned list.",
                      "location": "query"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories",
                  "response": {
                    "$ref": "ListRepositoriesResponse"
                  }
                },
                "getIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.repositories.getIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "create": {
                  "id": "dataform.projects.locations.repositories.create",
                  "parameters": {
                    "repositoryId": {
                      "type": "string",
                      "description": "Required. The ID to use for the repository, which will become the final component of the repository's resource name.",
                      "location": "query"
                    },
                    "parent": {
                      "type": "string",
                      "description": "Required. The location in which to create the repository. Must be in the format `projects/*/locations/*`.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "description": "Creates a new Repository in a given project and location.",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "Repository"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "Repository"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories",
                  "path": "v1/{+parent}/repositories"
                },
                "patch": {
                  "description": "Updates a single Repository. **Note:** *This method does not fully implement [AIP/134](https://google.aip.dev/134). The wildcard entry (\\*) is treated as a bad request, and when the `field_mask` is omitted, the request is treated as a full update on all modifiable fields.*",
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.repositories.patch",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "Identifier. The repository's name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "location": "path",
                      "required": true
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Specifies the fields to be updated in the repository. If left unset, all fields will be updated.",
                      "format": "google-fieldmask"
                    }
                  },
                  "request": {
                    "$ref": "Repository"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}",
                  "response": {
                    "$ref": "Repository"
                  },
                  "parameterOrder": [
                    "name"
                  ]
                },
                "setIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy",
                  "httpMethod": "POST",
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "id": "dataform.projects.locations.repositories.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "computeAccessTokenStatus": {
                  "path": "v1/{+name}:computeAccessTokenStatus",
                  "httpMethod": "GET",
                  "description": "Computes a Repository's Git access token status.",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataform.projects.locations.repositories.computeAccessTokenStatus",
                  "parameters": {
                    "name": {
                      "description": "Required. The repository's name.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:computeAccessTokenStatus",
                  "response": {
                    "$ref": "ComputeRepositoryAccessTokenStatusResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}",
                  "response": {
                    "$ref": "Repository"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Fetches a single Repository.",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.repositories.get",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "description": "Required. The repository's name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                      "type": "string"
                    }
                  }
                }
              },
              "resources": {
                "workflowInvocations": {
                  "methods": {
                    "query": {
                      "id": "dataform.projects.locations.repositories.workflowInvocations.query",
                      "response": {
                        "$ref": "QueryWorkflowInvocationActionsResponse"
                      },
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations/{workflowInvocationsId}:query",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:query",
                      "description": "Returns WorkflowInvocationActions in a given WorkflowInvocation.",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowInvocations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The workflow invocation's name."
                        },
                        "pageSize": {
                          "location": "query",
                          "description": "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.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `QueryWorkflowInvocationActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryWorkflowInvocationActions`, with the exception of `page_size`, must match the call that provided the page token.",
                          "type": "string",
                          "location": "query"
                        }
                      }
                    },
                    "delete": {
                      "description": "Deletes a single WorkflowInvocation.",
                      "parameters": {
                        "name": {
                          "description": "Required. The workflow invocation resource's name.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowInvocations/[^/]+$"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "dataform.projects.locations.repositories.workflowInvocations.delete",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations/{workflowInvocationsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Empty"
                      },
                      "httpMethod": "DELETE",
                      "path": "v1/{+name}"
                    },
                    "cancel": {
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowInvocations/[^/]+$",
                          "type": "string",
                          "description": "Required. The workflow invocation resource's name.",
                          "location": "path",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "dataform.projects.locations.repositories.workflowInvocations.cancel",
                      "path": "v1/{+name}:cancel",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "CancelWorkflowInvocationRequest"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Requests cancellation of a running WorkflowInvocation.",
                      "response": {
                        "$ref": "CancelWorkflowInvocationResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations/{workflowInvocationsId}:cancel"
                    },
                    "create": {
                      "parameters": {
                        "parent": {
                          "description": "Required. The repository in which to create the workflow invocation. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations",
                      "id": "dataform.projects.locations.repositories.workflowInvocations.create",
                      "response": {
                        "$ref": "WorkflowInvocation"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "request": {
                        "$ref": "WorkflowInvocation"
                      },
                      "description": "Creates a new WorkflowInvocation in a given Repository.",
                      "httpMethod": "POST",
                      "path": "v1/{+parent}/workflowInvocations"
                    },
                    "list": {
                      "path": "v1/{+parent}/workflowInvocations",
                      "parameters": {
                        "filter": {
                          "description": "Optional. Filter for the returned list.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The parent resource of the WorkflowInvocation type. Must be in the format `projects/*/locations/*/repositories/*`."
                        },
                        "orderBy": {
                          "type": "string",
                          "description": "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.",
                          "location": "query"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `ListWorkflowInvocations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowInvocations`, with the exception of `page_size`, must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "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.",
                          "format": "int32",
                          "type": "integer",
                          "location": "query"
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workflowInvocations.list",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations",
                      "response": {
                        "$ref": "ListWorkflowInvocationsResponse"
                      },
                      "description": "Lists WorkflowInvocations in a given Repository.",
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "id": "dataform.projects.locations.repositories.workflowInvocations.get",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The workflow invocation resource's name.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowInvocations/[^/]+$"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "description": "Fetches a single WorkflowInvocation.",
                      "response": {
                        "$ref": "WorkflowInvocation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowInvocations/{workflowInvocationsId}"
                    }
                  }
                },
                "workspaces": {
                  "methods": {
                    "makeDirectory": {
                      "path": "v1/{+workspace}:makeDirectory",
                      "description": "Creates a directory inside a Workspace.",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:makeDirectory",
                      "response": {
                        "$ref": "MakeDirectoryResponse"
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.makeDirectory",
                      "httpMethod": "POST",
                      "parameters": {
                        "workspace": {
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "request": {
                        "$ref": "MakeDirectoryRequest"
                      }
                    },
                    "setIamPolicy": {
                      "httpMethod": "POST",
                      "path": "v1/{+resource}:setIamPolicy",
                      "id": "dataform.projects.locations.repositories.workspaces.setIamPolicy",
                      "request": {
                        "$ref": "SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:setIamPolicy",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "parameterOrder": [
                        "resource"
                      ]
                    },
                    "fetchFileDiff": {
                      "id": "dataform.projects.locations.repositories.workspaces.fetchFileDiff",
                      "parameters": {
                        "path": {
                          "description": "Required. The file's full path including filename, relative to the workspace root.",
                          "type": "string",
                          "location": "query"
                        },
                        "workspace": {
                          "type": "string",
                          "description": "Required. The workspace's name.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:fetchFileDiff",
                      "response": {
                        "$ref": "FetchFileDiffResponse"
                      },
                      "description": "Fetches Git diff for an uncommitted file in a Workspace.",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+workspace}:fetchFileDiff"
                    },
                    "searchFiles": {
                      "parameters": {
                        "pageToken": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. Page token received from a previous `SearchFilesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchFilesRequest`, with the exception of `page_size`, must match the call that provided the page token."
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of search results to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                          "location": "query"
                        },
                        "filter": {
                          "description": "Optional. Optional filter for the returned list in filtering format. Filtering is only currently supported on the `path` field. See https://google.aip.dev/160 for details.",
                          "location": "query",
                          "type": "string"
                        },
                        "workspace": {
                          "location": "path",
                          "required": true,
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.searchFiles",
                      "response": {
                        "$ref": "SearchFilesResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:searchFiles",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "httpMethod": "GET",
                      "path": "v1/{+workspace}:searchFiles",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Finds the contents of a given Workspace directory by filter."
                    },
                    "removeDirectory": {
                      "description": "Deletes a directory (inside a Workspace) and all of its contents.",
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:removeDirectory",
                      "id": "dataform.projects.locations.repositories.workspaces.removeDirectory",
                      "response": {
                        "$ref": "RemoveDirectoryResponse"
                      },
                      "parameterOrder": [
                        "workspace"
                      ],
                      "parameters": {
                        "workspace": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "request": {
                        "$ref": "RemoveDirectoryRequest"
                      },
                      "path": "v1/{+workspace}:removeDirectory"
                    },
                    "fetchGitAheadBehind": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:fetchGitAheadBehind",
                      "response": {
                        "$ref": "FetchGitAheadBehindResponse"
                      },
                      "path": "v1/{+name}:fetchGitAheadBehind",
                      "parameters": {
                        "remoteBranch": {
                          "type": "string",
                          "location": "query",
                          "description": "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."
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The workspace's name.",
                          "type": "string"
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.fetchGitAheadBehind",
                      "description": "Fetches Git ahead/behind against a remote branch.",
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "moveFile": {
                      "request": {
                        "$ref": "MoveFileRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:moveFile",
                      "response": {
                        "$ref": "MoveFileResponse"
                      },
                      "description": "Moves a file (inside a Workspace) to a new location.",
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "workspace": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "Required. The workspace's name."
                        }
                      },
                      "path": "v1/{+workspace}:moveFile",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "id": "dataform.projects.locations.repositories.workspaces.moveFile"
                    },
                    "pull": {
                      "path": "v1/{+name}:pull",
                      "id": "dataform.projects.locations.repositories.workspaces.pull",
                      "parameters": {
                        "name": {
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "request": {
                        "$ref": "PullGitCommitsRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:pull",
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "PullGitCommitsResponse"
                      },
                      "description": "Pulls Git commits from the Repository's remote into a Workspace.",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "readFile": {
                      "parameterOrder": [
                        "workspace"
                      ],
                      "description": "Returns the contents of a file (inside a Workspace).",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "dataform.projects.locations.repositories.workspaces.readFile",
                      "parameters": {
                        "workspace": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The workspace's name."
                        },
                        "revision": {
                          "location": "query",
                          "description": "Optional. The Git revision of the file to return. If left empty, the current contents of `path` will be returned.",
                          "type": "string"
                        },
                        "path": {
                          "description": "Required. The file's full path including filename, relative to the workspace root.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+workspace}:readFile",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:readFile",
                      "response": {
                        "$ref": "ReadFileResponse"
                      }
                    },
                    "fetchFileGitStatuses": {
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "GET",
                      "path": "v1/{+name}:fetchFileGitStatuses",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:fetchFileGitStatuses",
                      "response": {
                        "$ref": "FetchFileGitStatusesResponse"
                      },
                      "description": "Fetches Git statuses for the files in a Workspace.",
                      "id": "dataform.projects.locations.repositories.workspaces.fetchFileGitStatuses",
                      "parameters": {
                        "name": {
                          "description": "Required. The workspace's name.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      }
                    },
                    "getIamPolicy": {
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "id": "dataform.projects.locations.repositories.workspaces.getIamPolicy",
                      "path": "v1/{+resource}:getIamPolicy",
                      "httpMethod": "GET",
                      "response": {
                        "$ref": "Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "location": "query",
                          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                          "type": "integer",
                          "format": "int32"
                        },
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      }
                    },
                    "create": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces",
                      "response": {
                        "$ref": "Workspace"
                      },
                      "request": {
                        "$ref": "Workspace"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new Workspace in a given Repository.",
                      "path": "v1/{+parent}/workspaces",
                      "parameters": {
                        "workspaceId": {
                          "type": "string",
                          "location": "query",
                          "description": "Required. The ID to use for the workspace, which will become the final component of the workspace's resource name."
                        },
                        "parent": {
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "description": "Required. The repository in which to create the workspace. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "type": "string"
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.create"
                    },
                    "removeFile": {
                      "path": "v1/{+workspace}:removeFile",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:removeFile",
                      "id": "dataform.projects.locations.repositories.workspaces.removeFile",
                      "request": {
                        "$ref": "RemoveFileRequest"
                      },
                      "response": {
                        "$ref": "RemoveFileResponse"
                      },
                      "parameters": {
                        "workspace": {
                          "type": "string",
                          "description": "Required. The workspace's name.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "parameterOrder": [
                        "workspace"
                      ],
                      "description": "Deletes a file (inside a Workspace).",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "POST"
                    },
                    "queryDirectoryContents": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:queryDirectoryContents",
                      "response": {
                        "$ref": "QueryDirectoryContentsResponse"
                      },
                      "parameters": {
                        "workspace": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The workspace's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of paths to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                          "location": "query"
                        },
                        "pageToken": {
                          "type": "string",
                          "description": "Optional. Page token received from a previous `QueryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token.",
                          "location": "query"
                        },
                        "path": {
                          "description": "Optional. The directory's full path including directory name, relative to the workspace root. If left unset, the workspace root is used.",
                          "type": "string",
                          "location": "query"
                        },
                        "view": {
                          "location": "query",
                          "enum": [
                            "DIRECTORY_CONTENTS_VIEW_UNSPECIFIED",
                            "DIRECTORY_CONTENTS_VIEW_BASIC",
                            "DIRECTORY_CONTENTS_VIEW_METADATA"
                          ],
                          "description": "Optional. Specifies the metadata to return for each directory entry. If unspecified, the default is `DIRECTORY_CONTENTS_VIEW_BASIC`. Currently the `DIRECTORY_CONTENTS_VIEW_METADATA` view is not supported by CMEK-protected workspaces.",
                          "enumDescriptions": [
                            "The default unset value. Defaults to DIRECTORY_CONTENTS_VIEW_BASIC.",
                            "Includes only the file or directory name. This is the default behavior.",
                            "Includes all metadata for each file or directory. Currently not supported by CMEK-protected workspaces."
                          ],
                          "type": "string"
                        }
                      },
                      "description": "Returns the contents of a given Workspace directory.",
                      "path": "v1/{+workspace}:queryDirectoryContents",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "id": "dataform.projects.locations.repositories.workspaces.queryDirectoryContents",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "GET"
                    },
                    "reset": {
                      "response": {
                        "$ref": "ResetWorkspaceChangesResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:reset",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The workspace's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.reset",
                      "request": {
                        "$ref": "ResetWorkspaceChangesRequest"
                      },
                      "description": "Performs a Git reset for uncommitted files in a Workspace.",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:reset",
                      "httpMethod": "POST"
                    },
                    "get": {
                      "id": "dataform.projects.locations.repositories.workspaces.get",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Workspace"
                      },
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "Required. The workspace's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}",
                      "path": "v1/{+name}",
                      "description": "Fetches a single Workspace.",
                      "httpMethod": "GET"
                    },
                    "writeFile": {
                      "id": "dataform.projects.locations.repositories.workspaces.writeFile",
                      "request": {
                        "$ref": "WriteFileRequest"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Writes to a file (inside a Workspace).",
                      "parameters": {
                        "workspace": {
                          "description": "Required. The workspace's name.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "WriteFileResponse"
                      },
                      "parameterOrder": [
                        "workspace"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:writeFile",
                      "httpMethod": "POST",
                      "path": "v1/{+workspace}:writeFile"
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/workspaces",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists Workspaces in a given Repository.",
                      "id": "dataform.projects.locations.repositories.workspaces.list",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces",
                      "response": {
                        "$ref": "ListWorkspacesResponse"
                      },
                      "parameters": {
                        "orderBy": {
                          "description": "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.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces`, with the exception of `page_size`, must match the call that provided the page token.",
                          "type": "string",
                          "location": "query"
                        },
                        "pageSize": {
                          "location": "query",
                          "format": "int32",
                          "description": "Optional. Maximum number of workspaces to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                          "type": "integer"
                        },
                        "filter": {
                          "description": "Optional. Filter for the returned list.",
                          "type": "string",
                          "location": "query"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "description": "Required. The repository in which to list workspaces. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "location": "path",
                          "required": true
                        }
                      }
                    },
                    "installNpmPackages": {
                      "description": "Installs dependency NPM packages (inside a Workspace).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:installNpmPackages",
                      "response": {
                        "$ref": "InstallNpmPackagesResponse"
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.installNpmPackages",
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "workspace"
                      ],
                      "parameters": {
                        "workspace": {
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$"
                        }
                      },
                      "request": {
                        "$ref": "InstallNpmPackagesRequest"
                      },
                      "path": "v1/{+workspace}:installNpmPackages",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "push": {
                      "path": "v1/{+name}:push",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "type": "string",
                          "description": "Required. The workspace's name.",
                          "location": "path",
                          "required": true
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.push",
                      "request": {
                        "$ref": "PushGitCommitsRequest"
                      },
                      "response": {
                        "$ref": "PushGitCommitsResponse"
                      },
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:push",
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Pushes Git commits from a Workspace to the Repository's remote."
                    },
                    "moveDirectory": {
                      "request": {
                        "$ref": "MoveDirectoryRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:moveDirectory",
                      "response": {
                        "$ref": "MoveDirectoryResponse"
                      },
                      "parameters": {
                        "workspace": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "Required. The workspace's name.",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.moveDirectory",
                      "description": "Moves a directory (inside a Workspace), and all of its contents, to a new location.",
                      "path": "v1/{+workspace}:moveDirectory",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "workspace"
                      ],
                      "httpMethod": "POST"
                    },
                    "testIamPermissions": {
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:testIamPermissions",
                      "id": "dataform.projects.locations.repositories.workspaces.testIamPermissions",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "httpMethod": "POST"
                    },
                    "commit": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}:commit",
                      "response": {
                        "$ref": "CommitWorkspaceChangesResponse"
                      },
                      "id": "dataform.projects.locations.repositories.workspaces.commit",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}:commit",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "description": "Required. The workspace's name."
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "CommitWorkspaceChangesRequest"
                      },
                      "httpMethod": "POST",
                      "description": "Applies a Git commit for uncommitted files in a Workspace."
                    },
                    "delete": {
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workspaces/{workspacesId}",
                      "httpMethod": "DELETE",
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single Workspace.",
                      "id": "dataform.projects.locations.repositories.workspaces.delete",
                      "parameters": {
                        "name": {
                          "description": "Required. The workspace resource's name.",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workspaces/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      }
                    }
                  }
                },
                "releaseConfigs": {
                  "methods": {
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "GET",
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "ReleaseConfig"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs/{releaseConfigsId}",
                      "description": "Fetches a single ReleaseConfig.",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "dataform.projects.locations.repositories.releaseConfigs.get",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
                          "description": "Required. The release config's name."
                        }
                      }
                    },
                    "create": {
                      "response": {
                        "$ref": "ReleaseConfig"
                      },
                      "request": {
                        "$ref": "ReleaseConfig"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs",
                      "description": "Creates a new ReleaseConfig in a given Repository.",
                      "parameters": {
                        "parent": {
                          "description": "Required. The repository in which to create the release config. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "required": true
                        },
                        "releaseConfigId": {
                          "type": "string",
                          "location": "query",
                          "description": "Required. The ID to use for the release config, which will become the final component of the release config's resource name."
                        }
                      },
                      "id": "dataform.projects.locations.repositories.releaseConfigs.create",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "path": "v1/{+parent}/releaseConfigs"
                    },
                    "delete": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs/{releaseConfigsId}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "httpMethod": "DELETE",
                      "path": "v1/{+name}",
                      "id": "dataform.projects.locations.repositories.releaseConfigs.delete",
                      "description": "Deletes a single ReleaseConfig.",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The release config's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "httpMethod": "GET",
                      "description": "Lists ReleaseConfigs in a given Repository.",
                      "path": "v1/{+parent}/releaseConfigs",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataform.projects.locations.repositories.releaseConfigs.list",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs",
                      "response": {
                        "$ref": "ListReleaseConfigsResponse"
                      },
                      "parameters": {
                        "pageSize": {
                          "description": "Optional. Maximum number of release configs to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                          "location": "query",
                          "format": "int32",
                          "type": "integer"
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.",
                          "type": "string"
                        },
                        "parent": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "Required. The repository in which to list release configs. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates a single ReleaseConfig. **Note:** *This method does not fully implement [AIP/134](https://google.aip.dev/134). The wildcard entry (\\*) is treated as a bad request, and when the `field_mask` is omitted, the request is treated as a full update on all modifiable fields.*",
                      "id": "dataform.projects.locations.repositories.releaseConfigs.patch",
                      "request": {
                        "$ref": "ReleaseConfig"
                      },
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Identifier. The release config's name.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$"
                        },
                        "updateMask": {
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Optional. Specifies the fields to be updated in the release config. If left unset, all fields will be updated.",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs/{releaseConfigsId}",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ReleaseConfig"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "PATCH"
                    }
                  }
                },
                "compilationResults": {
                  "methods": {
                    "create": {
                      "path": "v1/{+parent}/compilationResults",
                      "description": "Creates a new CompilationResult in a given project and location.",
                      "request": {
                        "$ref": "CompilationResult"
                      },
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataform.projects.locations.repositories.compilationResults.create",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "description": "Required. The repository in which to create the compilation result. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "location": "path",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/compilationResults",
                      "response": {
                        "$ref": "CompilationResult"
                      }
                    },
                    "query": {
                      "response": {
                        "$ref": "QueryCompilationResultActionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/compilationResults/{compilationResultsId}:query",
                      "httpMethod": "GET",
                      "description": "Returns CompilationResultActions in a given CompilationResult.",
                      "id": "dataform.projects.locations.repositories.compilationResults.query",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:query",
                      "parameters": {
                        "name": {
                          "description": "Required. The compilation result's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/compilationResults/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "format": "int32",
                          "type": "integer",
                          "description": "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.",
                          "location": "query"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `QueryCompilationResultActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryCompilationResultActions`, with the exception of `page_size`, must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Optional filter for the returned list. Filtering is only currently supported on the `file_path` field."
                        }
                      }
                    },
                    "get": {
                      "id": "dataform.projects.locations.repositories.compilationResults.get",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "description": "Required. The compilation result's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/compilationResults/[^/]+$",
                          "type": "string"
                        }
                      },
                      "description": "Fetches a single CompilationResult.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/compilationResults/{compilationResultsId}",
                      "response": {
                        "$ref": "CompilationResult"
                      },
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}"
                    },
                    "list": {
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataform.projects.locations.repositories.compilationResults.list",
                      "path": "v1/{+parent}/compilationResults",
                      "response": {
                        "$ref": "ListCompilationResultsResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/compilationResults",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists CompilationResults in a given Repository.",
                      "parameters": {
                        "parent": {
                          "description": "Required. The repository in which to list compilation results. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "required": true
                        },
                        "filter": {
                          "description": "Optional. Filter for the returned list.",
                          "type": "string",
                          "location": "query"
                        },
                        "pageSize": {
                          "format": "int32",
                          "description": "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.",
                          "type": "integer",
                          "location": "query"
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. This field only supports ordering by `name` and `create_time`. If unspecified, the server will choose the ordering. If specified, the default order is ascending for the `name` field."
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults`, with the exception of `page_size`, must match the call that provided the page token.",
                          "type": "string",
                          "location": "query"
                        }
                      }
                    }
                  }
                },
                "workflowConfigs": {
                  "methods": {
                    "create": {
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new WorkflowConfig in a given Repository.",
                      "path": "v1/{+parent}/workflowConfigs",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "type": "string",
                          "description": "Required. The repository in which to create the workflow config. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "location": "path",
                          "required": true
                        },
                        "workflowConfigId": {
                          "type": "string",
                          "location": "query",
                          "description": "Required. The ID to use for the workflow config, which will become the final component of the workflow config's resource name."
                        }
                      },
                      "request": {
                        "$ref": "WorkflowConfig"
                      },
                      "response": {
                        "$ref": "WorkflowConfig"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataform.projects.locations.repositories.workflowConfigs.create",
                      "httpMethod": "POST"
                    },
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "WorkflowConfig"
                      },
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs/{workflowConfigsId}",
                      "id": "dataform.projects.locations.repositories.workflowConfigs.get",
                      "httpMethod": "GET",
                      "description": "Fetches a single WorkflowConfig.",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The workflow config's name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowConfigs/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "delete": {
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs/{workflowConfigsId}",
                      "id": "dataform.projects.locations.repositories.workflowConfigs.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a single WorkflowConfig.",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowConfigs/[^/]+$",
                          "type": "string",
                          "description": "Required. The workflow config's name."
                        }
                      },
                      "path": "v1/{+name}"
                    },
                    "patch": {
                      "path": "v1/{+name}",
                      "request": {
                        "$ref": "WorkflowConfig"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/workflowConfigs/[^/]+$",
                          "type": "string",
                          "description": "Identifier. The workflow config's name.",
                          "location": "path",
                          "required": true
                        },
                        "updateMask": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. Specifies the fields to be updated in the workflow config. If left unset, all fields will be updated.",
                          "format": "google-fieldmask"
                        }
                      },
                      "response": {
                        "$ref": "WorkflowConfig"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs/{workflowConfigsId}",
                      "httpMethod": "PATCH",
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Updates a single WorkflowConfig. **Note:** *This method does not fully implement [AIP/134](https://google.aip.dev/134). The wildcard entry (\\*) is treated as a bad request, and when the `field_mask` is omitted, the request is treated as a full update on all modifiable fields.*",
                      "id": "dataform.projects.locations.repositories.workflowConfigs.patch"
                    },
                    "list": {
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                          "description": "Required. The repository in which to list workflow configs. Must be in the format `projects/*/locations/*/repositories/*`.",
                          "type": "string",
                          "location": "path",
                          "required": true
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous `ListWorkflowConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowConfigs`, with the exception of `page_size`, must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "format": "int32",
                          "type": "integer",
                          "location": "query",
                          "description": "Optional. Maximum number of workflow configs to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default."
                        }
                      },
                      "id": "dataform.projects.locations.repositories.workflowConfigs.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs",
                      "response": {
                        "$ref": "ListWorkflowConfigsResponse"
                      },
                      "description": "Lists WorkflowConfigs in a given Repository.",
                      "httpMethod": "GET",
                      "path": "v1/{+parent}/workflowConfigs",
                      "scopes": [
                        "https://www.googleapis.com/auth/bigquery",
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                }
              }
            },
            "folders": {
              "methods": {
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "path": "v1/{+resource}:testIamPermissions",
                  "id": "dataform.projects.locations.folders.testIamPermissions",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:testIamPermissions"
                },
                "move": {
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "Required. The full resource name of the Folder to move.",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "MoveFolderRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:move",
                  "path": "v1/{+name}:move",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Moves a Folder to a new Folder, TeamFolder, or the root location.",
                  "id": "dataform.projects.locations.folders.move",
                  "httpMethod": "POST"
                },
                "setIamPolicy": {
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:setIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "httpMethod": "POST",
                  "id": "dataform.projects.locations.folders.setIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "queryFolderContents": {
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "QueryFolderContentsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:queryFolderContents",
                  "id": "dataform.projects.locations.folders.queryFolderContents",
                  "parameterOrder": [
                    "folder"
                  ],
                  "path": "v1/{+folder}:queryFolderContents",
                  "description": "Returns the contents of a given Folder.",
                  "parameters": {
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "description": "Optional. Maximum number of paths to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.",
                      "type": "integer"
                    },
                    "filter": {
                      "description": "Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=\"display_name=\"MyFolder\"\"`",
                      "type": "string",
                      "location": "query"
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous `QueryFolderContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryFolderContents`, with the exception of `page_size`, must match the call that provided the page token.",
                      "type": "string",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Optional. Field to additionally sort results by. Will order Folders before Repositories, and then by `order_by` in ascending order. Supported keywords: display_name (default), create_time, last_modified_time. Examples: * `orderBy=\"display_name\"` * `orderBy=\"display_name desc\"`",
                      "location": "query"
                    },
                    "folder": {
                      "type": "string",
                      "description": "Required. Resource name of the Folder to list contents for. Format: projects/*/locations/*/folders/*",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Folder"
                  },
                  "id": "dataform.projects.locations.folders.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. The Folder's name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$"
                    }
                  },
                  "description": "Fetches a single Folder.",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET"
                },
                "patch": {
                  "id": "dataform.projects.locations.folders.patch",
                  "response": {
                    "$ref": "Folder"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}",
                  "path": "v1/{+name}",
                  "request": {
                    "$ref": "Folder"
                  },
                  "parameters": {
                    "name": {
                      "description": "Identifier. The Folder's name.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$"
                    },
                    "updateMask": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Specifies the fields to be updated in the Folder. If left unset, all fields that can be updated, will be updated. A few fields cannot be updated and will be ignored if specified in the update_mask (e.g. parent_name, team_folder_name).",
                      "format": "google-fieldmask"
                    }
                  },
                  "description": "Updates a single Folder.",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH"
                },
                "deleteTree": {
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "DeleteFolderTreeRequest"
                  },
                  "path": "v1/{+name}:deleteTree",
                  "parameters": {
                    "name": {
                      "description": "Required. The Folder's name. Format: projects/{project}/locations/{location}/folders/{folder}",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$"
                    }
                  },
                  "id": "dataform.projects.locations.folders.deleteTree",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "response": {
                    "$ref": "Operation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:deleteTree",
                  "description": "Deletes a Folder with its contents (Folders, Repositories, Workspaces, ReleaseConfigs, and WorkflowConfigs)."
                },
                "create": {
                  "path": "v1/{+parent}/folders",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "required": true,
                      "description": "Required. The location in which to create the Folder. Must be in the format `projects/*/locations/*`.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "Folder"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders",
                  "httpMethod": "POST",
                  "id": "dataform.projects.locations.folders.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "Folder"
                  },
                  "description": "Creates a new Folder in a given project and location."
                },
                "delete": {
                  "id": "dataform.projects.locations.folders.delete",
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "httpMethod": "DELETE",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Deletes a single Folder.",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "Required. The Folder's name."
                    }
                  }
                },
                "getIamPolicy": {
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/folders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "location": "query",
                      "format": "int32",
                      "type": "integer"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "id": "dataform.projects.locations.folders.getIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/folders/{foldersId}:getIamPolicy"
                }
              }
            },
            "operations": {
              "methods": {
                "delete": {
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "id": "dataform.projects.locations.operations.delete",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "httpMethod": "GET",
                  "path": "v1/{+name}/operations",
                  "id": "dataform.projects.locations.operations.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list page token."
                    },
                    "filter": {
                      "type": "string",
                      "description": "The standard list filter.",
                      "location": "query"
                    },
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true
                    },
                    "pageSize": {
                      "format": "int32",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "location": "query"
                    },
                    "returnPartialSuccess": {
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "type": "boolean",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "cancel": {
                  "path": "v1/{+name}:cancel",
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "id": "dataform.projects.locations.operations.cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "get": {
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "id": "dataform.projects.locations.operations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource.",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            },
            "teamFolders": {
              "methods": {
                "setIamPolicy": {
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}:setIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "id": "dataform.projects.locations.teamFolders.setIamPolicy",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a single TeamFolder.",
                  "id": "dataform.projects.locations.teamFolders.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The TeamFolder's name."
                    }
                  }
                },
                "create": {
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The location in which to create the TeamFolder. Must be in the format `projects/*/locations/*`.",
                      "location": "path",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "dataform.projects.locations.teamFolders.create",
                  "description": "Creates a new TeamFolder in a given project and location.",
                  "response": {
                    "$ref": "TeamFolder"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders",
                  "path": "v1/{+parent}/teamFolders",
                  "request": {
                    "$ref": "TeamFolder"
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "search": {
                  "parameters": {
                    "pageSize": {
                      "format": "int32",
                      "description": "Optional. Maximum number of `TeamFolders` to return. The server may return fewer items than requested. If unspecified, the server will pick a default of `page_size` = 50.",
                      "type": "integer",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=\"display_name=\"MyFolder\"\"`"
                    },
                    "location": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. Location in which to query TeamFolders. Format: `projects/*/locations/*`."
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "Optional. Page token received from a previous `SearchTeamFolders` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchTeamFolders`, with the exception of `page_size`, must match the call that provided the page token.",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Field to additionally sort results by. Supported keywords: `display_name` (default), `create_time`, `last_modified_time`. Examples: * `orderBy=\"display_name\"` * `orderBy=\"display_name desc\"`",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "description": "Returns all TeamFolders in a given location that the caller has access to and match the provided filter.",
                  "path": "v1/{+location}/teamFolders:search",
                  "id": "dataform.projects.locations.teamFolders.search",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders:search",
                  "response": {
                    "$ref": "SearchTeamFoldersResponse"
                  },
                  "parameterOrder": [
                    "location"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET"
                },
                "deleteTree": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "type": "string",
                      "description": "Required. The TeamFolder's name. Format: projects/{project}/locations/{location}/teamFolders/{team_folder}"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "DeleteTeamFolderTreeRequest"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Deletes a TeamFolder with its contents (Folders, Repositories, Workspaces, ReleaseConfigs, and WorkflowConfigs).",
                  "id": "dataform.projects.locations.teamFolders.deleteTree",
                  "httpMethod": "POST",
                  "response": {
                    "$ref": "Operation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}:deleteTree",
                  "path": "v1/{+name}:deleteTree"
                },
                "patch": {
                  "description": "Updates a single TeamFolder.",
                  "id": "dataform.projects.locations.teamFolders.patch",
                  "httpMethod": "PATCH",
                  "path": "v1/{+name}",
                  "request": {
                    "$ref": "TeamFolder"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "updateMask": {
                      "format": "google-fieldmask",
                      "location": "query",
                      "description": "Optional. Specifies the fields to be updated in the Folder. If left unset, all fields will be updated.",
                      "type": "string"
                    },
                    "name": {
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Identifier. The TeamFolder's name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "TeamFolder"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "queryContents": {
                  "parameters": {
                    "teamFolder": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "description": "Required. Resource name of the TeamFolder to list contents for. Format: `projects/*/locations/*/teamFolders/*`.",
                      "type": "string",
                      "location": "path",
                      "required": true
                    },
                    "orderBy": {
                      "description": "Optional. Field to additionally sort results by. Will order Folders before Repositories, and then by `order_by` in ascending order. Supported keywords: `display_name` (default), `create_time`, last_modified_time. Examples: * `orderBy=\"display_name\"` * `orderBy=\"display_name desc\"`",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "type": "string",
                      "description": "Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=\"display_name=\"MyFolder\"\"`",
                      "location": "query"
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32",
                      "location": "query",
                      "description": "Optional. Maximum number of paths to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default."
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous `QueryTeamFolderContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryTeamFolderContents`, with the exception of `page_size`, must match the call that provided the page token.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+teamFolder}:queryContents",
                  "response": {
                    "$ref": "QueryTeamFolderContentsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}:queryContents",
                  "parameterOrder": [
                    "teamFolder"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns the contents of a given TeamFolder.",
                  "id": "dataform.projects.locations.teamFolders.queryContents",
                  "httpMethod": "GET"
                },
                "testIamPermissions": {
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    }
                  },
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}:testIamPermissions",
                  "id": "dataform.projects.locations.teamFolders.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "httpMethod": "POST"
                },
                "getIamPolicy": {
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    },
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "path": "v1/{+resource}:getIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}:getIamPolicy",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataform.projects.locations.teamFolders.getIamPolicy"
                },
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquery",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "TeamFolder"
                  },
                  "description": "Fetches a single TeamFolder.",
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/teamFolders/{teamFoldersId}",
                  "id": "dataform.projects.locations.teamFolders.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/teamFolders/[^/]+$",
                      "description": "Required. The TeamFolder's name.",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "updateConfig": {
              "parameters": {
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Optional. Specifies the fields to be updated in the config."
                },
                "name": {
                  "description": "Identifier. The config name.",
                  "location": "path",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+/config$",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/bigquery",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config",
              "response": {
                "$ref": "Config"
              },
              "description": "Update default config for a given project and location. **Note:** *This method does not fully implement [AIP/134](https://google.aip.dev/134). The wildcard entry (\\*) is treated as a bad request, and when the `field_mask` is omitted, the request is treated as a full update on all modifiable fields.*",
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "Config"
              },
              "httpMethod": "PATCH",
              "id": "dataform.projects.locations.updateConfig"
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/bigquery",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "path": "v1/{+name}/locations",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "flatPath": "v1/projects/{projectsId}/locations",
              "id": "dataform.projects.locations.list",
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "pattern": "^projects/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "type": "string",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "location": "query"
                },
                "pageSize": {
                  "format": "int32",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "type": "integer",
                  "location": "query"
                },
                "extraLocationTypes": {
                  "location": "query",
                  "repeated": true,
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "type": "string"
                }
              },
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version."
            },
            "get": {
              "httpMethod": "GET",
              "description": "Gets information about a location.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              },
              "id": "dataform.projects.locations.get",
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/bigquery",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "description": "Resource name for the location.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$"
                }
              }
            },
            "queryUserRootContents": {
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/bigquery",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "dataform.projects.locations.queryUserRootContents",
              "parameterOrder": [
                "location"
              ],
              "description": "Returns the contents of a caller's root folder in a given location. The root folder contains all resources that are created by the user and not contained in any other folder.",
              "path": "v1/{+location}:queryUserRootContents",
              "response": {
                "$ref": "QueryUserRootContentsResponse"
              },
              "parameters": {
                "filter": {
                  "type": "string",
                  "description": "Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=\"display_name=\"MyFolder\"\"`",
                  "location": "query"
                },
                "location": {
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Required. Location of the user root folder to list contents for. Format: projects/*/locations/*"
                },
                "orderBy": {
                  "description": "Optional. Field to additionally sort results by. Will order Folders before Repositories, and then by `order_by` in ascending order. Supported keywords: display_name (default), created_at, last_modified_at. Examples: * `orderBy=\"display_name\"` * `orderBy=\"display_name desc\"`",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. Maximum number of paths to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default."
                },
                "pageToken": {
                  "type": "string",
                  "description": "Optional. Page token received from a previous `QueryUserRootContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryUserRootFolderContents`, with the exception of `page_size`, must match the call that provided the page token.",
                  "location": "query"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:queryUserRootContents"
            },
            "getConfig": {
              "httpMethod": "GET",
              "id": "dataform.projects.locations.getConfig",
              "parameterOrder": [
                "name"
              ],
              "description": "Get default config for a given project and location.",
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "description": "Required. The config name.",
                  "location": "path",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+/config$",
                  "type": "string"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config",
              "scopes": [
                "https://www.googleapis.com/auth/bigquery",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "Config"
              }
            }
          }
        }
      }
    }
  },
  "name": "dataform",
  "version": "v1",
  "mtlsRootUrl": "https://dataform.mtls.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        },
        "https://www.googleapis.com/auth/bigquery": {
          "description": "View and manage your data in Google BigQuery and see the email address for your Google Account"
        }
      }
    }
  },
  "protocol": "rest",
  "servicePath": "",
  "ownerName": "Google",
  "title": "Dataform API",
  "version_module": true,
  "ownerDomain": "google.com",
  "parameters": {
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "description": "V1 error format.",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "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."
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query",
      "default": "true"
    },
    "alt": {
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "key": {
      "description": "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.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    }
  },
  "basePath": "",
  "documentationLink": "https://cloud.google.com/dataform/docs",
  "schemas": {
    "RemoveFileResponse": {
      "type": "object",
      "id": "RemoveFileResponse",
      "description": "`RemoveFile` response message.",
      "properties": {}
    },
    "NotebookRuntimeOptions": {
      "type": "object",
      "id": "NotebookRuntimeOptions",
      "description": "Configures various aspects of Dataform notebook runtime.",
      "properties": {
        "aiPlatformNotebookRuntimeTemplate": {
          "type": "string",
          "description": "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."
        },
        "gcsRepositorySnapshotDestination": {
          "description": "Optional. The Google Cloud Storage destination to upload the snapshot to. For empty URI it defaults to the provided gcs_output_bucket. Format: `gs://bucket-name/path/`.",
          "$ref": "GcsRepositorySnapshotDestination"
        },
        "gcsOutputBucket": {
          "description": "Optional. The Google Cloud Storage location to upload the result to. Format: `gs://bucket-name`.",
          "type": "string"
        }
      }
    },
    "SshAuthenticationConfig": {
      "properties": {
        "hostPublicKey": {
          "type": "string",
          "description": "Required. Content of a public SSH key to verify an identity of a remote Git host."
        },
        "userPrivateKeySecretVersion": {
          "description": "Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SshAuthenticationConfig",
      "description": "Configures fields for performing SSH authentication."
    },
    "IamPolicyOverrideView": {
      "id": "IamPolicyOverrideView",
      "type": "object",
      "properties": {
        "isActive": {
          "description": "Whether the IAM policy encoded in this view is active.",
          "type": "boolean"
        },
        "iamPolicyName": {
          "$ref": "PolicyName",
          "description": "The IAM policy name for the resource."
        }
      },
      "description": "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."
    },
    "WorkflowConfig": {
      "description": "Represents a Dataform workflow configuration.",
      "type": "object",
      "properties": {
        "timeZone": {
          "description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is `UTC`.",
          "type": "string"
        },
        "disabled": {
          "description": "Optional. Disables automatic creation of workflow invocations.",
          "type": "boolean"
        },
        "cronSchedule": {
          "description": "Optional. Optional schedule (in cron format) for automatic execution of this workflow config.",
          "type": "string"
        },
        "releaseConfig": {
          "description": "Required. The name of the release config whose release_compilation_result should be executed. Must be in the format `projects/*/locations/*/repositories/*/releaseConfigs/*`.",
          "type": "string"
        },
        "recentScheduledExecutionRecords": {
          "items": {
            "$ref": "ScheduledExecutionRecord"
          },
          "type": "array",
          "readOnly": true,
          "description": "Output only. Records of the 10 most recent scheduled execution attempts, ordered in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule."
        },
        "invocationConfig": {
          "$ref": "InvocationConfig",
          "description": "Optional. If left unset, a default InvocationConfig will be used."
        },
        "internalMetadata": {
          "type": "string",
          "description": "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.",
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. The timestamp of when the WorkflowConfig was last updated.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Identifier. The workflow config's name."
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The timestamp of when the WorkflowConfig was created."
        }
      },
      "id": "WorkflowConfig"
    },
    "FolderContentsEntry": {
      "description": "Represents a single content entry.",
      "type": "object",
      "id": "FolderContentsEntry",
      "properties": {
        "repository": {
          "$ref": "Repository",
          "description": "A repository."
        },
        "folder": {
          "description": "A subfolder.",
          "$ref": "Folder"
        }
      }
    },
    "OAuthConfig": {
      "id": "OAuthConfig",
      "properties": {
        "additionalOauthScopes": {
          "description": "Optional. Additional OAuth scopes to use for BigQuery executions. Scopes always in use: `https://www.googleapis.com/auth/bigquery`",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "OAuth configuration for end user authentication.",
      "type": "object"
    },
    "WorkflowInvocationAction": {
      "description": "Represents a single action in a workflow invocation.",
      "type": "object",
      "properties": {
        "state": {
          "enum": [
            "PENDING",
            "RUNNING",
            "SKIPPED",
            "DISABLED",
            "SUCCEEDED",
            "CANCELLED",
            "FAILED"
          ],
          "enumDescriptions": [
            "The action has not yet been considered for invocation.",
            "The action is currently running.",
            "Execution of the action was skipped because upstream dependencies did not all complete successfully. A terminal state.",
            "Execution of the action was disabled as per the configuration of the corresponding compilation result action. A terminal state.",
            "The action succeeded. A terminal state.",
            "The action was cancelled. A terminal state.",
            "The action failed. A terminal state."
          ],
          "readOnly": true,
          "description": "Output only. This action's current state.",
          "type": "string"
        },
        "bigqueryAction": {
          "$ref": "BigQueryAction",
          "readOnly": true,
          "description": "Output only. The workflow action's bigquery action details."
        },
        "bigqueryUnitTestAction": {
          "description": "Output only. The workflow action's unit test details.",
          "$ref": "BigQueryUnitTestAction",
          "readOnly": true
        },
        "target": {
          "readOnly": true,
          "description": "Output only. This action's identifier. Unique within the workflow invocation.",
          "$ref": "Target"
        },
        "canonicalTarget": {
          "description": "Output only. The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result.",
          "readOnly": true,
          "$ref": "Target"
        },
        "notebookAction": {
          "description": "Output only. The workflow action's notebook action details.",
          "$ref": "NotebookAction",
          "readOnly": true
        },
        "internalMetadata": {
          "readOnly": true,
          "description": "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.",
          "type": "string"
        },
        "failureReason": {
          "description": "Output only. If and only if action's state is FAILED a failure reason is set.",
          "type": "string",
          "readOnly": true
        },
        "invocationTiming": {
          "$ref": "Interval",
          "readOnly": true,
          "description": "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."
        },
        "dataPreparationAction": {
          "description": "Output only. The workflow action's data preparation action details.",
          "$ref": "DataPreparationAction",
          "readOnly": true
        }
      },
      "id": "WorkflowInvocationAction"
    },
    "Status": {
      "id": "Status",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "type": "array"
        }
      }
    },
    "ListOperationsResponse": {
      "properties": {
        "unreachable": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "type": "array",
          "items": {
            "$ref": "Operation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        }
      },
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "type": "object"
    },
    "Notebook": {
      "properties": {
        "tags": {
          "type": "array",
          "description": "Arbitrary, user-defined tags on this action.",
          "items": {
            "type": "string"
          }
        },
        "contents": {
          "description": "The contents of the notebook.",
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "description": "Whether this action is disabled (i.e. should not be run)."
        },
        "dependencyTargets": {
          "description": "A list of actions that this action depends on.",
          "items": {
            "$ref": "Target"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "Notebook",
      "description": "Represents a notebook."
    },
    "MoveFolderRequest": {
      "properties": {
        "destinationContainingFolder": {
          "type": "string",
          "description": "Optional. The name of the Folder, TeamFolder, or root location to move the Folder to. Can be in the format of: \"\" to move into the root User folder, `projects/*/locations/*/folders/*`, `projects/*/locations/*/teamFolders/*`"
        }
      },
      "id": "MoveFolderRequest",
      "type": "object",
      "description": "`MoveFolder` request message."
    },
    "SqlDefinition": {
      "id": "SqlDefinition",
      "description": "Definition of a SQL Data Preparation",
      "properties": {
        "load": {
          "description": "Load configuration.",
          "$ref": "LoadConfig"
        },
        "errorTable": {
          "$ref": "ErrorTable",
          "description": "Error table configuration,"
        },
        "query": {
          "type": "string",
          "description": "The SQL query representing the data preparation steps. Formatted as a Pipe SQL query statement."
        }
      },
      "type": "object"
    },
    "Declaration": {
      "id": "Declaration",
      "description": "Represents a relation which is not managed by Dataform but which may be referenced by Dataform actions.",
      "type": "object",
      "properties": {
        "relationDescriptor": {
          "$ref": "RelationDescriptor",
          "description": "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."
        }
      }
    },
    "DeleteFolderTreeRequest": {
      "type": "object",
      "properties": {
        "force": {
          "description": "Optional. If `false` (default): The operation will fail if any Repository within the folder hierarchy has associated Release Configs or Workflow Configs. If `true`: The operation will attempt to delete everything, including any Release Configs and Workflow Configs linked to Repositories within the folder hierarchy. This permanently removes schedules and resources.",
          "type": "boolean"
        }
      },
      "description": "`DeleteFolderTree` request message.",
      "id": "DeleteFolderTreeRequest"
    },
    "Workspace": {
      "type": "object",
      "description": "Represents a Dataform Git workspace.",
      "properties": {
        "dataEncryptionState": {
          "description": "Output only. A data encryption state of a Git repository if this Workspace is protected by a KMS key.",
          "$ref": "DataEncryptionState",
          "readOnly": true
        },
        "disableMoves": {
          "description": "Optional. If set to true, workspaces will not be moved if its linked Repository is moved. Instead, it will be deleted.",
          "type": "boolean"
        },
        "createTime": {
          "description": "Output only. The timestamp of when the workspace was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The workspace's name."
        },
        "privateResourceMetadata": {
          "$ref": "PrivateResourceMetadata",
          "description": "Output only. Metadata indicating whether this resource is user-scoped. For `Workspace` resources, the `user_scoped` field is always `true`.",
          "readOnly": true
        },
        "internalMetadata": {
          "type": "string",
          "readOnly": true,
          "description": "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."
        }
      },
      "id": "Workspace"
    },
    "WriteFileResponse": {
      "description": "`WriteFile` response message.",
      "id": "WriteFileResponse",
      "properties": {},
      "type": "object"
    },
    "MoveFileResponse": {
      "properties": {},
      "type": "object",
      "id": "MoveFileResponse",
      "description": "`MoveFile` response message."
    },
    "CommitLogEntry": {
      "type": "object",
      "description": "Represents a single commit log.",
      "properties": {
        "commitMessage": {
          "description": "The commit message for this commit log entry.",
          "type": "string"
        },
        "commitTime": {
          "description": "Commit timestamp.",
          "type": "string",
          "format": "google-datetime"
        },
        "author": {
          "$ref": "CommitAuthor",
          "description": "The commit author for this commit log entry."
        },
        "commitSha": {
          "description": "The commit SHA for this commit log entry.",
          "type": "string"
        }
      },
      "id": "CommitLogEntry"
    },
    "FilesystemEntryMetadata": {
      "id": "FilesystemEntryMetadata",
      "description": "Represents metadata for a single entry in a filesystem.",
      "properties": {
        "updateTime": {
          "type": "string",
          "description": "Output only. Represents the time of the last modification of the entry.",
          "format": "google-datetime",
          "readOnly": true
        },
        "sizeBytes": {
          "readOnly": true,
          "description": "Output only. Provides the size of the entry in bytes. For directories, this will be 0.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GitRemoteSettings": {
      "id": "GitRemoteSettings",
      "properties": {
        "tokenStatus": {
          "description": "Output only. Deprecated: The field does not contain any token status information.",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The token could not be found in Secret Manager (or the Dataform Service Account did not have permission to access it).",
            "The token could not be used to authenticate against the Git remote.",
            "The token was used successfully to authenticate against the Git remote."
          ],
          "enum": [
            "TOKEN_STATUS_UNSPECIFIED",
            "NOT_FOUND",
            "INVALID",
            "VALID"
          ],
          "type": "string",
          "readOnly": true,
          "deprecated": true
        },
        "defaultBranch": {
          "type": "string",
          "description": "Optional. The Git remote's default branch name. If not set, `main` will be used."
        },
        "url": {
          "type": "string",
          "description": "Required. The Git remote's URL."
        },
        "gitRepositoryLink": {
          "description": "Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`",
          "type": "string"
        },
        "authenticationTokenSecretVersion": {
          "type": "string",
          "description": "Optional. 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/*`."
        },
        "effectiveDefaultBranch": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`."
        },
        "sshAuthenticationConfig": {
          "$ref": "SshAuthenticationConfig",
          "description": "Optional. Authentication fields for remote uris using SSH protocol."
        }
      },
      "description": "Controls Git remote configuration for a repository.",
      "type": "object"
    },
    "FetchRepositoryHistoryResponse": {
      "description": "`FetchRepositoryHistory` response message.",
      "properties": {
        "commits": {
          "description": "A list of commit logs, ordered by 'git log' default order.",
          "type": "array",
          "items": {
            "$ref": "CommitLogEntry"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "id": "FetchRepositoryHistoryResponse",
      "type": "object"
    },
    "FetchGitAheadBehindResponse": {
      "id": "FetchGitAheadBehindResponse",
      "description": "`FetchGitAheadBehind` response message.",
      "type": "object",
      "properties": {
        "commitsBehind": {
          "type": "integer",
          "description": "The number of commits in the workspace that are not in the remote branch.",
          "format": "int32"
        },
        "commitsAhead": {
          "description": "The number of commits in the remote branch that are not in the workspace.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamFolder": {
      "id": "TeamFolder",
      "description": "Represents a Dataform TeamFolder. This is a resource that sits at the project level and is used to organize Repositories and Folders with hierarchical access controls. They provide a team context and stricter access controls.",
      "type": "object",
      "properties": {
        "updateTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The timestamp of when the TeamFolder was last updated.",
          "format": "google-datetime"
        },
        "name": {
          "description": "Identifier. The TeamFolder's name.",
          "type": "string"
        },
        "creatorIamPrincipal": {
          "description": "Output only. The IAM principal identifier of the creator of the TeamFolder.",
          "type": "string",
          "readOnly": true
        },
        "internalMetadata": {
          "readOnly": true,
          "description": "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.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The TeamFolder's user-friendly name.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The timestamp of when the TeamFolder was created.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        }
      }
    },
    "InvocationConfig": {
      "type": "object",
      "description": "Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included.",
      "id": "InvocationConfig",
      "properties": {
        "queryPriority": {
          "enum": [
            "QUERY_PRIORITY_UNSPECIFIED",
            "INTERACTIVE",
            "BATCH"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Query will be executed in BigQuery with interactive priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries.",
            "Query will be executed in BigQuery with batch priority. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#batchqueries."
          ],
          "type": "string",
          "description": "Optional. Specifies the priority for query execution in BigQuery. More information can be found at https://cloud.google.com/bigquery/docs/running-queries#queries."
        },
        "includedTags": {
          "type": "array",
          "description": "Optional. The set of tags to include.",
          "items": {
            "type": "string"
          }
        },
        "executionMode": {
          "description": "Optional. Specifies the execution mode for the workflow invocation.",
          "enumDescriptions": [
            "Default value.",
            "Default execution mode, which runs all actions except unit tests. Same as ALL_EXCEPT_UNIT_TESTS.",
            "Run all actions except unit tests.",
            "Run unit tests only."
          ],
          "type": "string",
          "enum": [
            "EXECUTION_MODE_UNSPECIFIED",
            "DEFAULT",
            "ALL_EXCEPT_UNIT_TESTS",
            "UNIT_TESTS_ONLY"
          ]
        },
        "transitiveDependenciesIncluded": {
          "type": "boolean",
          "description": "Optional. When set to true, transitive dependencies of included actions will be executed."
        },
        "includedTargets": {
          "items": {
            "$ref": "Target"
          },
          "type": "array",
          "description": "Optional. The set of action identifiers to include."
        },
        "serviceAccount": {
          "description": "Optional. The service account to run workflow invocations under.",
          "type": "string"
        },
        "endUserAuthConfig": {
          "description": "Optional. Configuration for end user authentication. Note that this should not be set when `service_account` is used.",
          "$ref": "EndUserAuthenticationConfig"
        },
        "fullyRefreshIncrementalTablesEnabled": {
          "description": "Optional. When set to true, any incremental tables will be fully refreshed.",
          "type": "boolean"
        },
        "transitiveDependentsIncluded": {
          "description": "Optional. When set to true, transitive dependents of included actions will be executed.",
          "type": "boolean"
        }
      }
    },
    "QueryTeamFolderContentsResponse": {
      "description": "`QueryTeamFolderContents` response message.",
      "type": "object",
      "id": "QueryTeamFolderContentsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "TeamFolderContentsEntry"
          },
          "description": "List of entries in the TeamFolder."
        }
      }
    },
    "IncrementalLoadMode": {
      "properties": {
        "column": {
          "type": "string",
          "description": "Column name for incremental load modes"
        }
      },
      "description": "Load definition for incremental load modes",
      "id": "IncrementalLoadMode",
      "type": "object"
    },
    "SearchResult": {
      "id": "SearchResult",
      "description": "Client-facing representation of a search result entry.",
      "type": "object",
      "properties": {
        "file": {
          "$ref": "FileSearchResult",
          "description": "Details when search result is a file."
        },
        "directory": {
          "$ref": "DirectorySearchResult",
          "description": "Details when search result is a directory."
        }
      }
    },
    "LoadConfig": {
      "properties": {
        "maximum": {
          "$ref": "IncrementalLoadMode",
          "description": "Insert records where the value exceeds the previous maximum value for a column in the destination table"
        },
        "unique": {
          "description": "Insert records where the value of a column is not already present in the destination table",
          "$ref": "IncrementalLoadMode"
        },
        "append": {
          "description": "Append into destination table",
          "$ref": "SimpleLoadMode"
        },
        "replace": {
          "description": "Replace destination table",
          "$ref": "SimpleLoadMode"
        }
      },
      "description": "Simplified load configuration for actions",
      "type": "object",
      "id": "LoadConfig"
    },
    "Interval": {
      "id": "Interval",
      "type": "object",
      "properties": {
        "startTime": {
          "format": "google-datetime",
          "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.",
          "type": "string"
        },
        "endTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end."
        }
      },
      "description": "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."
    },
    "Folder": {
      "properties": {
        "teamFolderName": {
          "type": "string",
          "description": "Output only. The resource name of the TeamFolder that this Folder is associated with. This should take the format: projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this is not set, the Folder is not associated with a TeamFolder and is a UserFolder.",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The timestamp of when the Folder was created."
        },
        "internalMetadata": {
          "type": "string",
          "description": "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.",
          "readOnly": true
        },
        "creatorIamPrincipal": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The IAM principal identifier of the creator of the Folder."
        },
        "displayName": {
          "type": "string",
          "description": "Required. The Folder's user-friendly name."
        },
        "containingFolder": {
          "type": "string",
          "description": "Optional. The containing Folder resource name. This should take the format: projects/{project}/locations/{location}/folders/{folder}, projects/{project}/locations/{location}/teamFolders/{teamFolder}, or just \"\" if this is a root Folder. This field can only be updated through MoveFolder."
        },
        "updateTime": {
          "description": "Output only. The timestamp of when the Folder was last updated.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Identifier. The Folder's name."
        }
      },
      "description": "Represents a Dataform Folder. This is a resource that is used to organize Files and other Folders and provide hierarchical access controls.",
      "type": "object",
      "id": "Folder"
    },
    "ListReleaseConfigsResponse": {
      "id": "ListReleaseConfigsResponse",
      "description": "`ListReleaseConfigs` response message.",
      "type": "object",
      "properties": {
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Locations which could not be reached.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "releaseConfigs": {
          "description": "List of release configs.",
          "type": "array",
          "items": {
            "$ref": "ReleaseConfig"
          }
        }
      }
    },
    "CommitWorkspaceChangesRequest": {
      "properties": {
        "author": {
          "$ref": "CommitAuthor",
          "description": "Required. The commit's author."
        },
        "commitMessage": {
          "type": "string",
          "description": "Optional. The commit's message."
        },
        "paths": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Full file paths to commit including filename, rooted at workspace root. If left empty, all files will be committed.",
          "type": "array"
        }
      },
      "id": "CommitWorkspaceChangesRequest",
      "type": "object",
      "description": "`CommitWorkspaceChanges` request message."
    },
    "QueryUserRootContentsResponse": {
      "properties": {
        "entries": {
          "description": "List of entries in the folder.",
          "type": "array",
          "items": {
            "$ref": "RootContentsEntry"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object",
      "id": "QueryUserRootContentsResponse",
      "description": "`QueryUserRootContents` response message."
    },
    "ActionSqlDefinition": {
      "description": "Definition of a SQL Data Preparation",
      "id": "ActionSqlDefinition",
      "properties": {
        "query": {
          "description": "The SQL query representing the data preparation steps. Formatted as a Pipe SQL query statement.",
          "type": "string"
        },
        "errorTable": {
          "description": "Error table configuration,",
          "$ref": "ActionErrorTable"
        },
        "loadConfig": {
          "$ref": "ActionLoadConfig",
          "description": "Load configuration."
        }
      },
      "type": "object"
    },
    "WriteFile": {
      "properties": {
        "contents": {
          "format": "byte",
          "description": "The file's contents.",
          "type": "string"
        }
      },
      "description": "Represents the write file operation (for files added or modified).",
      "id": "WriteFile",
      "type": "object"
    },
    "FileOperation": {
      "description": "Represents a single file operation to the repository.",
      "type": "object",
      "id": "FileOperation",
      "properties": {
        "deleteFile": {
          "description": "Represents the delete operation.",
          "$ref": "DeleteFile"
        },
        "writeFile": {
          "description": "Represents the write operation.",
          "$ref": "WriteFile"
        }
      }
    },
    "ComputeRepositoryAccessTokenStatusResponse": {
      "properties": {
        "tokenStatus": {
          "description": "Indicates the status of the Git access token.",
          "enum": [
            "TOKEN_STATUS_UNSPECIFIED",
            "NOT_FOUND",
            "INVALID",
            "VALID",
            "PERMISSION_DENIED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The token could not be found in Secret Manager (or the Dataform Service Account did not have permission to access it).",
            "The token could not be used to authenticate against the Git remote.",
            "The token was used successfully to authenticate against the Git remote.",
            "The token is not accessible due to permission issues."
          ]
        }
      },
      "id": "ComputeRepositoryAccessTokenStatusResponse",
      "type": "object",
      "description": "`ComputeRepositoryAccessTokenStatus` response message."
    },
    "DataPreparation": {
      "description": "Defines a compiled Data Preparation entity",
      "id": "DataPreparation",
      "properties": {
        "dependencyTargets": {
          "items": {
            "$ref": "Target"
          },
          "description": "A list of actions that this action depends on.",
          "type": "array"
        },
        "disabled": {
          "type": "boolean",
          "description": "Whether this action is disabled (i.e. should not be run)."
        },
        "contentsSql": {
          "description": "SQL definition for a Data Preparation. Contains a SQL query and additional context information.",
          "$ref": "SqlDefinition"
        },
        "tags": {
          "description": "Arbitrary, user-defined tags on this action.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "contentsYaml": {
          "description": "The data preparation definition, stored as a YAML string.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CompilationResult": {
      "properties": {
        "internalMetadata": {
          "type": "string",
          "description": "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.",
          "readOnly": true
        },
        "codeCompilationConfig": {
          "$ref": "CodeCompilationConfig",
          "description": "Immutable. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json."
        },
        "workspace": {
          "description": "Immutable. The name of the workspace to compile. Must be in the format `projects/*/locations/*/repositories/*/workspaces/*`.",
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The timestamp of when the compilation result was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "resolvedGitCommitSha": {
          "type": "string",
          "description": "Output only. The fully resolved Git commit SHA of the code that was compiled. Not set for compilation results whose source is a workspace.",
          "readOnly": true
        },
        "compilationErrors": {
          "type": "array",
          "description": "Output only. Errors encountered during project compilation.",
          "items": {
            "$ref": "CompilationError"
          },
          "readOnly": true
        },
        "dataformCoreVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The version of `@dataform/core` that was used for compilation."
        },
        "name": {
          "description": "Output only. The compilation result's name.",
          "type": "string",
          "readOnly": true
        },
        "dataEncryptionState": {
          "description": "Output only. Only set if the repository has a KMS Key.",
          "readOnly": true,
          "$ref": "DataEncryptionState"
        },
        "releaseConfig": {
          "type": "string",
          "description": "Immutable. The name of the release config to compile. Must be in the format `projects/*/locations/*/repositories/*/releaseConfigs/*`."
        },
        "gcsRepositorySnapshotMetadata": {
          "$ref": "GcsRepositorySnapshotMetadata",
          "description": "Output only. Metadata about the repository snapshot used by scheduled notebooks.",
          "readOnly": true
        },
        "gitCommitish": {
          "description": "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`",
          "type": "string"
        },
        "privateResourceMetadata": {
          "readOnly": true,
          "description": "Output only. Metadata indicating whether this resource is user-scoped. `CompilationResult` resource is `user_scoped` only if it is sourced from a workspace.",
          "$ref": "PrivateResourceMetadata"
        }
      },
      "description": "Represents the result of compiling a Dataform project.",
      "type": "object",
      "id": "CompilationResult"
    },
    "FetchFileGitStatusesResponse": {
      "description": "`FetchFileGitStatuses` response message.",
      "type": "object",
      "id": "FetchFileGitStatusesResponse",
      "properties": {
        "uncommittedFileChanges": {
          "items": {
            "$ref": "UncommittedFileChange"
          },
          "type": "array",
          "description": "A list of all files which have uncommitted Git changes. There will only be a single entry for any given file."
        }
      }
    },
    "ActionSimpleLoadMode": {
      "properties": {},
      "type": "object",
      "id": "ActionSimpleLoadMode",
      "description": "Simple load definition"
    },
    "ActionErrorTable": {
      "description": "Error table information, used to write error data into a BigQuery table.",
      "id": "ActionErrorTable",
      "type": "object",
      "properties": {
        "retentionDays": {
          "type": "integer",
          "format": "int32",
          "description": "Error table partition expiration in days. Only positive values are allowed."
        },
        "target": {
          "description": "Error Table target.",
          "$ref": "Target"
        }
      }
    },
    "InstallNpmPackagesResponse": {
      "type": "object",
      "id": "InstallNpmPackagesResponse",
      "properties": {},
      "description": "`InstallNpmPackages` response message."
    },
    "TestIamPermissionsResponse": {
      "type": "object",
      "id": "TestIamPermissionsResponse",
      "description": "Response message for `TestIamPermissions` method.",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "DirectorySearchResult": {
      "id": "DirectorySearchResult",
      "properties": {
        "path": {
          "description": "File system path relative to the workspace root.",
          "type": "string"
        }
      },
      "description": "Client-facing representation of a directory entry in search results.",
      "type": "object"
    },
    "SetIamPolicyRequest": {
      "description": "Request message for `SetIamPolicy` method.",
      "id": "SetIamPolicyRequest",
      "properties": {
        "policy": {
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.",
          "$ref": "Policy"
        }
      },
      "type": "object"
    },
    "ReadFileResponse": {
      "properties": {
        "fileContents": {
          "type": "string",
          "format": "byte",
          "description": "The file's contents."
        }
      },
      "description": "`ReadFile` response message.",
      "id": "ReadFileResponse",
      "type": "object"
    },
    "Config": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. The config name."
        },
        "defaultKmsKeyName": {
          "type": "string",
          "description": "Optional. The default KMS key that is used if no encryption key is provided when a repository is created."
        },
        "internalMetadata": {
          "description": "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.",
          "type": "string",
          "readOnly": true
        }
      },
      "description": "Config for all repositories in a given project and location.",
      "type": "object",
      "id": "Config"
    },
    "BigQueryAction": {
      "description": "Represents a workflow action that will run against BigQuery.",
      "type": "object",
      "id": "BigQueryAction",
      "properties": {
        "sqlScript": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The generated BigQuery SQL script that will be executed."
        },
        "jobId": {
          "readOnly": true,
          "description": "Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run.",
          "type": "string"
        }
      }
    },
    "DataPreparationAction": {
      "type": "object",
      "properties": {
        "jobId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The ID of the BigQuery job that executed the SQL in sql_script. Only set once the job has started to run."
        },
        "generatedSql": {
          "description": "Output only. The generated BigQuery SQL script that will be executed. For reference only.",
          "readOnly": true,
          "type": "string"
        },
        "contentsSql": {
          "$ref": "ActionSqlDefinition",
          "description": "SQL definition for a Data Preparation. Contains a SQL query and additional context information."
        },
        "contentsYaml": {
          "description": "Output only. YAML representing the contents of the data preparation. Can be used to show the customer what the input was to their workflow.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "DataPreparationAction",
      "description": "Represents a workflow action that will run a Data Preparation."
    },
    "QueryFolderContentsResponse": {
      "properties": {
        "entries": {
          "items": {
            "$ref": "FolderContentsEntry"
          },
          "description": "List of entries in the folder.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "id": "QueryFolderContentsResponse",
      "description": "`QueryFolderContents` response message.",
      "type": "object"
    },
    "CompilationError": {
      "properties": {
        "message": {
          "readOnly": true,
          "description": "Output only. The error's top level message.",
          "type": "string"
        },
        "path": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The path of the file where this error occurred, if available, relative to the project root."
        },
        "stack": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The error's full stack trace."
        },
        "actionTarget": {
          "$ref": "Target",
          "description": "Output only. The identifier of the action where this error occurred, if available.",
          "readOnly": true
        }
      },
      "id": "CompilationError",
      "description": "An error encountered when attempting to compile a Dataform project.",
      "type": "object"
    },
    "ListWorkflowConfigsResponse": {
      "properties": {
        "unreachable": {
          "description": "Locations which could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "workflowConfigs": {
          "items": {
            "$ref": "WorkflowConfig"
          },
          "type": "array",
          "description": "List of workflow configs."
        }
      },
      "description": "`ListWorkflowConfigs` response message.",
      "id": "ListWorkflowConfigsResponse",
      "type": "object"
    },
    "SearchTeamFoldersResponse": {
      "description": "`SearchTeamFolders` response message.",
      "id": "SearchTeamFoldersResponse",
      "properties": {
        "results": {
          "items": {
            "$ref": "TeamFolderSearchResult"
          },
          "description": "List of TeamFolders that match the search query.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object"
    },
    "ResetWorkspaceChangesResponse": {
      "properties": {},
      "id": "ResetWorkspaceChangesResponse",
      "type": "object",
      "description": "`ResetWorkspaceChanges` response message."
    },
    "QueryDirectoryContentsResponse": {
      "description": "`QueryDirectoryContents` response message.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "directoryEntries": {
          "description": "List of entries in the directory.",
          "items": {
            "$ref": "DirectoryEntry"
          },
          "type": "array"
        }
      },
      "id": "QueryDirectoryContentsResponse"
    },
    "MoveRepositoryRequest": {
      "properties": {
        "destinationContainingFolder": {
          "type": "string",
          "description": "Optional. The name of the Folder, TeamFolder, or root location to move the repository to. Can be in the format of: \"\" to move into the root User folder, `projects/*/locations/*/folders/*`, `projects/*/locations/*/teamFolders/*`"
        }
      },
      "id": "MoveRepositoryRequest",
      "type": "object",
      "description": "`MoveRepository` request message."
    },
    "WorkspaceCompilationOverrides": {
      "properties": {
        "defaultDatabase": {
          "description": "Optional. The default database (Google Cloud project ID).",
          "type": "string"
        },
        "tablePrefix": {
          "description": "Optional. The prefix that should be prepended to all table names.",
          "type": "string"
        },
        "schemaSuffix": {
          "description": "Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Configures workspace compilation overrides for a repository.",
      "id": "WorkspaceCompilationOverrides"
    },
    "CommitAuthor": {
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Required. The commit author's email address.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Required. The commit author's name."
        }
      },
      "description": "Represents the author of a Git commit.",
      "id": "CommitAuthor"
    },
    "CompilationResultAction": {
      "id": "CompilationResultAction",
      "description": "Represents a single Dataform action in a compilation result.",
      "properties": {
        "canonicalTarget": {
          "description": "The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result.",
          "$ref": "Target"
        },
        "internalMetadata": {
          "readOnly": true,
          "type": "string",
          "description": "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."
        },
        "notebook": {
          "description": "The notebook executed by this action.",
          "$ref": "Notebook"
        },
        "filePath": {
          "type": "string",
          "description": "The full path including filename in which this action is located, relative to the workspace root."
        },
        "target": {
          "$ref": "Target",
          "description": "This action's identifier. Unique within the compilation result."
        },
        "operations": {
          "$ref": "Operations",
          "description": "The database operations executed by this action."
        },
        "declaration": {
          "description": "The declaration declared by this action.",
          "$ref": "Declaration"
        },
        "bigqueryUnitTest": {
          "description": "The unit test executed by this action.",
          "$ref": "BigQueryUnitTest"
        },
        "assertion": {
          "description": "The assertion executed by this action.",
          "$ref": "Assertion"
        },
        "relation": {
          "$ref": "Relation",
          "description": "The database relation created/updated by this action."
        },
        "dataPreparation": {
          "$ref": "DataPreparation",
          "description": "The data preparation executed by this action."
        }
      },
      "type": "object"
    },
    "ReleaseConfig": {
      "properties": {
        "internalMetadata": {
          "description": "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.",
          "type": "string",
          "readOnly": true
        },
        "cronSchedule": {
          "description": "Optional. Optional schedule (in cron format) for automatic creation of compilation results.",
          "type": "string"
        },
        "timeZone": {
          "description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is `UTC`.",
          "type": "string"
        },
        "disabled": {
          "description": "Optional. Disables automatic creation of compilation results.",
          "type": "boolean"
        },
        "releaseCompilationResult": {
          "type": "string",
          "description": "Optional. The name of the currently released compilation result for this release config. This value is updated when a compilation result is automatically created from this release config (using cron_schedule), or when this resource is updated by API call (perhaps to roll back to an earlier release). The compilation result must have been created using this release config. Must be in the format `projects/*/locations/*/repositories/*/compilationResults/*`."
        },
        "recentScheduledReleaseRecords": {
          "type": "array",
          "items": {
            "$ref": "ScheduledReleaseRecord"
          },
          "readOnly": true,
          "description": "Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule."
        },
        "name": {
          "type": "string",
          "description": "Identifier. The release config's name."
        },
        "codeCompilationConfig": {
          "$ref": "CodeCompilationConfig",
          "description": "Optional. If set, fields of `code_compilation_config` override the default compilation settings that are specified in dataform.json."
        },
        "gitCommitish": {
          "description": "Required. 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`",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ReleaseConfig",
      "description": "Represents a Dataform release configuration."
    },
    "OperationMetadata": {
      "description": "Represents the metadata of the long-running operation.",
      "properties": {
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time the operation was created.",
          "type": "string"
        },
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "statusDetail": {
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any.",
          "type": "string"
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "type": "string",
          "readOnly": true
        },
        "cancelRequested": {
          "readOnly": true,
          "description": "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`.",
          "type": "boolean"
        },
        "verb": {
          "type": "string",
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true
        },
        "endTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time the operation finished running."
        }
      },
      "id": "OperationMetadata",
      "type": "object"
    },
    "Repository": {
      "properties": {
        "kmsKeyName": {
          "type": "string",
          "description": "Optional. The reference to a KMS encryption key. If provided, it will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: `projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}`"
        },
        "serviceAccount": {
          "description": "Optional. The service account to run workflow invocations under.",
          "type": "string"
        },
        "setAuthenticatedUserAdmin": {
          "description": "Optional. Input only. If set to true, the authenticated user will be granted the roles/dataform.admin role on the created repository.",
          "type": "boolean"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The timestamp of when the repository was created.",
          "type": "string",
          "readOnly": true
        },
        "containingFolder": {
          "description": "Optional. The name of the containing folder of the repository. The field is immutable and it can be modified via a MoveRepository operation. Format: `projects/*/locations/*/folders/*`. or `projects/*/locations/*/teamFolders/*`.",
          "type": "string"
        },
        "internalMetadata": {
          "description": "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.",
          "readOnly": true,
          "type": "string"
        },
        "endUserAuthConfig": {
          "description": "Optional. Includes configuration options for end user authentication.",
          "$ref": "EndUserAuthConfig"
        },
        "name": {
          "description": "Identifier. The repository's name.",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "description": "Optional. Repository user labels.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "npmrcEnvironmentVariablesSecretVersion": {
          "type": "string",
          "description": "Optional. The name of the Secret Manager secret version to be used to interpolate variables into the .npmrc file for package installation operations. Must be in the format `projects/*/secrets/*/versions/*`. The file itself must be in a JSON format."
        },
        "displayName": {
          "description": "Optional. The repository's user-friendly name.",
          "type": "string"
        },
        "gitRemoteSettings": {
          "$ref": "GitRemoteSettings",
          "description": "Optional. If set, configures this repository to be linked to a Git remote."
        },
        "dataEncryptionState": {
          "$ref": "DataEncryptionState",
          "description": "Output only. A data encryption state of a Git repository if this Repository is protected by a KMS key.",
          "readOnly": true
        },
        "workspaceCompilationOverrides": {
          "$ref": "WorkspaceCompilationOverrides",
          "description": "Optional. If set, fields of `workspace_compilation_overrides` override the default compilation settings that are specified in dataform.json when creating workspace-scoped compilation results. See documentation for `WorkspaceCompilationOverrides` for more information."
        },
        "teamFolderName": {
          "description": "Output only. The resource name of the TeamFolder that this Repository is associated with. This should take the format: projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this is not set, the Repository is not associated with a TeamFolder.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "Repository",
      "type": "object",
      "description": "Represents a Dataform Git repository."
    },
    "ErrorTable": {
      "properties": {
        "target": {
          "$ref": "Target",
          "description": "Error Table target."
        },
        "retentionDays": {
          "format": "int32",
          "description": "Error table partition expiration in days. Only positive values are allowed.",
          "type": "integer"
        }
      },
      "id": "ErrorTable",
      "description": "Error table information, used to write error data into a BigQuery table.",
      "type": "object"
    },
    "CommitWorkspaceChangesResponse": {
      "description": "`CommitWorkspaceChanges` response message.",
      "type": "object",
      "id": "CommitWorkspaceChangesResponse",
      "properties": {}
    },
    "CommitRepositoryChangesRequest": {
      "properties": {
        "fileOperations": {
          "additionalProperties": {
            "$ref": "FileOperation"
          },
          "type": "object",
          "description": "Optional. A map to the path of the file to the operation. The path is the full file path including filename, from repository root."
        },
        "requiredHeadCommitSha": {
          "type": "string",
          "description": "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."
        },
        "commitMetadata": {
          "$ref": "CommitMetadata",
          "description": "Required. The changes to commit to the repository."
        }
      },
      "id": "CommitRepositoryChangesRequest",
      "type": "object",
      "description": "`CommitRepositoryChanges` request message."
    },
    "DeleteTeamFolderTreeRequest": {
      "type": "object",
      "properties": {
        "force": {
          "description": "Optional. If `false` (default): The operation will fail if any Repository within the folder hierarchy has associated Release Configs or Workflow Configs. If `true`: The operation will attempt to delete everything, including any Release Configs and Workflow Configs linked to Repositories within the folder hierarchy. This permanently removes schedules and resources.",
          "type": "boolean"
        }
      },
      "id": "DeleteTeamFolderTreeRequest",
      "description": "`DeleteTeamFolderTree` request message."
    },
    "Target": {
      "type": "object",
      "id": "Target",
      "description": "Represents an action identifier. If the action writes output, the output will be written to the referenced database object.",
      "properties": {
        "database": {
          "type": "string",
          "description": "Optional. The action's database (Google Cloud project ID) ."
        },
        "schema": {
          "type": "string",
          "description": "Optional. The action's schema (BigQuery dataset ID), within `database`."
        },
        "name": {
          "description": "Optional. The action's name, within `database` and `schema`.",
          "type": "string"
        }
      }
    },
    "ResetWorkspaceChangesRequest": {
      "type": "object",
      "id": "ResetWorkspaceChangesRequest",
      "properties": {
        "clean": {
          "description": "Optional. If set to true, untracked files will be deleted.",
          "type": "boolean"
        },
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "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."
        }
      },
      "description": "`ResetWorkspaceChanges` request message."
    },
    "Location": {
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object",
          "description": "Service-specific metadata. For example the available capacity at the given location."
        }
      },
      "id": "Location",
      "type": "object"
    },
    "DeleteFile": {
      "id": "DeleteFile",
      "properties": {},
      "type": "object",
      "description": "Represents the delete file operation."
    },
    "Operations": {
      "id": "Operations",
      "type": "object",
      "description": "Represents a list of arbitrary database operations.",
      "properties": {
        "disabled": {
          "description": "Whether this action is disabled (i.e. should not be run).",
          "type": "boolean"
        },
        "dependencyTargets": {
          "type": "array",
          "description": "A list of actions that this action depends on.",
          "items": {
            "$ref": "Target"
          }
        },
        "relationDescriptor": {
          "$ref": "RelationDescriptor",
          "description": "Descriptor for any output relation and its columns. Only set if `has_output` is true."
        },
        "hasOutput": {
          "description": "Whether these operations produce an output relation.",
          "type": "boolean"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "description": "Arbitrary, user-defined tags on this action.",
          "type": "array"
        },
        "queries": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of arbitrary SQL statements that will be executed without alteration."
        }
      }
    },
    "RootContentsEntry": {
      "properties": {
        "folder": {
          "$ref": "Folder",
          "description": "A subfolder."
        },
        "repository": {
          "description": "A repository.",
          "$ref": "Repository"
        }
      },
      "id": "RootContentsEntry",
      "type": "object",
      "description": "Represents a single content entry."
    },
    "Binding": {
      "properties": {
        "role": {
          "type": "string",
          "description": "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)."
        },
        "condition": {
          "description": "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).",
          "$ref": "Expr"
        },
        "members": {
          "type": "array",
          "description": "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}/*`: 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}/*`: 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`.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "Binding",
      "description": "Associates `members`, or principals, with a `role`.",
      "type": "object"
    },
    "PolicyName": {
      "description": "An internal name for an IAM policy, based on the resource to which the policy applies. Not to be confused with a resource's external full resource name. For more information on this distinction, see go/iam-full-resource-names.",
      "id": "PolicyName",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Resource type. Types are defined in IAM's .service files. Valid values for type might be 'storage_buckets', 'compute_instances', 'resourcemanager_customers', 'billing_accounts', etc."
        },
        "region": {
          "description": "For Cloud IAM: The location of the Policy. Must be empty or \"global\" for Policies owned by global IAM. Must name a region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see go/iam-faq#where-is-iam-currently-deployed. For Local IAM: This field should be set to \"local\".",
          "type": "string"
        },
        "id": {
          "description": "Identifies an instance of the type. ID format varies by type. The ID format is defined in the IAM .service file that defines the type, either in path_mapping or in a comment.",
          "type": "string"
        }
      }
    },
    "Policy": {
      "description": "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:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
      "type": "object",
      "id": "Policy",
      "properties": {
        "version": {
          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "format": "int32",
          "type": "integer"
        },
        "etag": {
          "type": "string",
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
          "format": "byte"
        },
        "bindings": {
          "items": {
            "$ref": "Binding"
          },
          "type": "array",
          "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`."
        }
      }
    },
    "EndUserAuthConfig": {
      "properties": {
        "oauthConfig": {
          "$ref": "OAuthConfig",
          "description": "Optional. OAuth configuration for repository end user authentication."
        }
      },
      "type": "object",
      "description": "Includes configuration options for repository end user authentication.",
      "id": "EndUserAuthConfig"
    },
    "ActionIncrementalLoadMode": {
      "properties": {
        "column": {
          "description": "Column name for incremental load modes",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Load definition for incremental load modes",
      "id": "ActionIncrementalLoadMode"
    },
    "SimpleLoadMode": {
      "properties": {},
      "type": "object",
      "id": "SimpleLoadMode",
      "description": "Simple load definition"
    },
    "ListWorkspacesResponse": {
      "properties": {
        "workspaces": {
          "description": "List of workspaces.",
          "items": {
            "$ref": "Workspace"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations which could not be reached.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "`ListWorkspaces` response message.",
      "id": "ListWorkspacesResponse",
      "type": "object"
    },
    "ListWorkflowInvocationsResponse": {
      "type": "object",
      "id": "ListWorkflowInvocationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "workflowInvocations": {
          "type": "array",
          "description": "List of workflow invocations.",
          "items": {
            "$ref": "WorkflowInvocation"
          }
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Locations which could not be reached.",
          "type": "array"
        }
      },
      "description": "`ListWorkflowInvocations` response message."
    },
    "CodeCompilationConfig": {
      "description": "Configures various aspects of Dataform code compilation.",
      "id": "CodeCompilationConfig",
      "type": "object",
      "properties": {
        "tablePrefix": {
          "type": "string",
          "description": "Optional. The prefix that should be prepended to all table names."
        },
        "defaultDatabase": {
          "description": "Optional. The default database (Google Cloud project ID).",
          "type": "string"
        },
        "databaseSuffix": {
          "type": "string",
          "description": "Optional. The suffix that should be appended to all database (Google Cloud project ID) names."
        },
        "defaultLocation": {
          "description": "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.",
          "type": "string"
        },
        "assertionSchema": {
          "type": "string",
          "description": "Optional. The default schema (BigQuery dataset ID) for assertions."
        },
        "pipelineConfig": {
          "$ref": "PipelineConfig",
          "description": "Optional. The pipeline options which defines the pipeline type and path within the Git repository."
        },
        "defaultSchema": {
          "type": "string",
          "description": "Optional. The default schema (BigQuery dataset ID)."
        },
        "vars": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined variables that are made available to project code during compilation."
        },
        "schemaSuffix": {
          "type": "string",
          "description": "Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names."
        },
        "defaultNotebookRuntimeOptions": {
          "$ref": "NotebookRuntimeOptions",
          "description": "Optional. The default notebook runtime options."
        },
        "builtinAssertionNamePrefix": {
          "description": "Optional. The prefix to prepend to built-in assertion names.",
          "type": "string"
        }
      }
    },
    "QueryRepositoryDirectoryContentsResponse": {
      "description": "`QueryRepositoryDirectoryContents` response message.",
      "type": "object",
      "id": "QueryRepositoryDirectoryContentsResponse",
      "properties": {
        "directoryEntries": {
          "type": "array",
          "description": "List of entries in the directory.",
          "items": {
            "$ref": "DirectoryEntry"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "PullGitCommitsResponse": {
      "id": "PullGitCommitsResponse",
      "description": "`PullGitCommits` response message.",
      "properties": {},
      "type": "object"
    },
    "ColumnDescriptor": {
      "id": "ColumnDescriptor",
      "description": "Describes a column.",
      "properties": {
        "bigqueryPolicyTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of BigQuery policy tags that will be applied to the column."
        },
        "description": {
          "description": "A textual description of the column.",
          "type": "string"
        },
        "path": {
          "type": "array",
          "description": "The identifier for the column. Each entry in `path` represents one level of nesting.",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "FileSearchResult": {
      "description": "Client-facing representation of a file entry in search results.",
      "type": "object",
      "id": "FileSearchResult",
      "properties": {
        "path": {
          "description": "File system path relative to the file tree root.",
          "type": "string"
        }
      }
    },
    "RemoveDirectoryRequest": {
      "properties": {
        "path": {
          "type": "string",
          "description": "Required. The directory's full path including directory name, relative to the workspace root."
        }
      },
      "id": "RemoveDirectoryRequest",
      "type": "object",
      "description": "`RemoveDirectory` request message."
    },
    "CancelOperationRequest": {
      "properties": {},
      "type": "object",
      "id": "CancelOperationRequest",
      "description": "The request message for Operations.CancelOperation."
    },
    "CommitMetadata": {
      "description": "Represents a Dataform Git commit.",
      "type": "object",
      "id": "CommitMetadata",
      "properties": {
        "commitMessage": {
          "type": "string",
          "description": "Optional. The commit's message."
        },
        "author": {
          "description": "Required. The commit's author.",
          "$ref": "CommitAuthor"
        }
      }
    },
    "RelationDescriptor": {
      "description": "Describes a relation and its columns.",
      "properties": {
        "bigqueryLabels": {
          "description": "A set of BigQuery labels that should be applied to the relation.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "A text description of the relation.",
          "type": "string"
        },
        "columns": {
          "type": "array",
          "description": "A list of descriptions of columns within the relation.",
          "items": {
            "$ref": "ColumnDescriptor"
          }
        }
      },
      "id": "RelationDescriptor",
      "type": "object"
    },
    "MoveDirectoryResponse": {
      "description": "`MoveDirectory` response message.",
      "type": "object",
      "id": "MoveDirectoryResponse",
      "properties": {}
    },
    "QueryCompilationResultActionsResponse": {
      "description": "`QueryCompilationResultActions` response message.",
      "id": "QueryCompilationResultActionsResponse",
      "properties": {
        "compilationResultActions": {
          "description": "List of compilation result actions.",
          "type": "array",
          "items": {
            "$ref": "CompilationResultAction"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object"
    },
    "FetchRemoteBranchesResponse": {
      "type": "object",
      "properties": {
        "branches": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The remote repository's branch names."
        }
      },
      "description": "`FetchRemoteBranches` response message.",
      "id": "FetchRemoteBranchesResponse"
    },
    "Empty": {
      "id": "Empty",
      "description": "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); }",
      "properties": {},
      "type": "object"
    },
    "TeamFolderContentsEntry": {
      "properties": {
        "repository": {
          "description": "A repository.",
          "$ref": "Repository"
        },
        "folder": {
          "description": "A subfolder.",
          "$ref": "Folder"
        }
      },
      "description": "Represents a single content entry.",
      "type": "object",
      "id": "TeamFolderContentsEntry"
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "locations": {
          "items": {
            "$ref": "Location"
          },
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "EndUserAuthenticationConfig": {
      "properties": {
        "oauthConfig": {
          "description": "Optional. OAuth configuration for end user authentication.",
          "$ref": "OAuthConfig"
        },
        "userEmail": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Email address of the user to run workflow invocations under."
        }
      },
      "id": "EndUserAuthenticationConfig",
      "type": "object",
      "description": "Includes configuration options for end user authentication."
    },
    "CommitRepositoryChangesResponse": {
      "description": "`CommitRepositoryChanges` response message.",
      "type": "object",
      "properties": {
        "commitSha": {
          "description": "The commit SHA of the current commit.",
          "type": "string"
        }
      },
      "id": "CommitRepositoryChangesResponse"
    },
    "WriteFileRequest": {
      "description": "`WriteFile` request message.",
      "type": "object",
      "id": "WriteFileRequest",
      "properties": {
        "contents": {
          "type": "string",
          "description": "Required. The file's contents.",
          "format": "byte"
        },
        "path": {
          "description": "Required. The file.",
          "type": "string"
        }
      }
    },
    "Assertion": {
      "type": "object",
      "id": "Assertion",
      "description": "Represents an assertion upon a SQL query which is required return zero rows.",
      "properties": {
        "dependencyTargets": {
          "type": "array",
          "description": "A list of actions that this action depends on.",
          "items": {
            "$ref": "Target"
          }
        },
        "tags": {
          "description": "Arbitrary, user-defined tags on this action.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "relationDescriptor": {
          "$ref": "RelationDescriptor",
          "description": "Descriptor for the assertion's automatically-generated view and its columns."
        },
        "disabled": {
          "description": "Whether this action is disabled (i.e. should not be run).",
          "type": "boolean"
        },
        "selectQuery": {
          "type": "string",
          "description": "The SELECT query which must return zero rows in order for this assertion to succeed."
        },
        "parentAction": {
          "$ref": "Target",
          "description": "The parent action of this assertion. Only set if this assertion was automatically generated."
        }
      }
    },
    "NotebookAction": {
      "type": "object",
      "properties": {
        "filePath": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The path to the notebook file in the repository."
        },
        "jobId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The ID of the Gemini Enterprise Agent Platform 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."
        },
        "contents": {
          "type": "string",
          "description": "Output only. The code contents of a Notebook to be run.",
          "readOnly": true
        }
      },
      "id": "NotebookAction",
      "description": "Represents a workflow action that will run against a Notebook runtime."
    },
    "DirectoryEntry": {
      "id": "DirectoryEntry",
      "description": "Represents a single entry in a directory.",
      "properties": {
        "directory": {
          "description": "A child directory in the directory. The path is returned including the full folder structure from the root.",
          "type": "string"
        },
        "file": {
          "type": "string",
          "description": "A file in the directory. The path is returned including the full folder structure from the root."
        },
        "metadata": {
          "$ref": "FilesystemEntryMetadata",
          "description": "Entry with metadata."
        }
      },
      "type": "object"
    },
    "BigQueryUnitTestAction": {
      "properties": {
        "expectedResultsJobId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Job ID for the expected results."
        },
        "totalBilledBytes": {
          "type": "string",
          "description": "Output only. Total bytes billed for this action. Combined total for actual and expected jobs.",
          "readOnly": true,
          "format": "int64"
        },
        "actualResultsJobId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Job ID for the actual results."
        },
        "actualResultsSqlScript": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. SQL script for the actual results."
        },
        "totalProcessedBytes": {
          "type": "string",
          "format": "int64",
          "description": "Output only. Total bytes processed for this action. Combined total for actual and expected jobs.",
          "readOnly": true
        },
        "expectedResultsSqlScript": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. SQL script for the expected results."
        }
      },
      "id": "BigQueryUnitTestAction",
      "type": "object",
      "description": "Represents a workflow action that will run a BigQuery unit test."
    },
    "RemoveFileRequest": {
      "properties": {
        "path": {
          "type": "string",
          "description": "Required. The file's full path including filename, relative to the workspace root."
        }
      },
      "id": "RemoveFileRequest",
      "type": "object",
      "description": "`RemoveFile` request message."
    },
    "PrivateResourceMetadata": {
      "description": "Metadata used to identify if a resource is user scoped.",
      "type": "object",
      "properties": {
        "userScoped": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. If true, this resource is user-scoped, meaning it is either a workspace or sourced from a workspace."
        }
      },
      "id": "PrivateResourceMetadata"
    },
    "PullGitCommitsRequest": {
      "type": "object",
      "id": "PullGitCommitsRequest",
      "description": "`PullGitCommits` request message.",
      "properties": {
        "remoteBranch": {
          "description": "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.",
          "type": "string"
        },
        "author": {
          "description": "Required. The author of any merge commit which may be created as a result of merging fetched Git commits into this workspace.",
          "$ref": "CommitAuthor"
        }
      }
    },
    "ScheduledExecutionRecord": {
      "properties": {
        "workflowInvocation": {
          "description": "The name of the created workflow invocation, if one was successfully created. Must be in the format `projects/*/locations/*/repositories/*/workflowInvocations/*`.",
          "type": "string"
        },
        "executionTime": {
          "description": "Output only. The timestamp of this execution attempt.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "errorStatus": {
          "$ref": "Status",
          "description": "The error status encountered upon this attempt to create the workflow invocation, if the attempt was unsuccessful."
        }
      },
      "id": "ScheduledExecutionRecord",
      "type": "object",
      "description": "A record of an attempt to create a workflow invocation for this workflow config."
    },
    "InstallNpmPackagesRequest": {
      "type": "object",
      "properties": {
        "pipelineConfig": {
          "description": "Optional. The pipeline options which defines the pipeline type and path within the Git repository.",
          "$ref": "PipelineConfig"
        }
      },
      "id": "InstallNpmPackagesRequest",
      "description": "`InstallNpmPackages` request message."
    },
    "BigQueryUnitTest": {
      "id": "BigQueryUnitTest",
      "description": "Represents a BigQuery unit test.",
      "properties": {
        "disabled": {
          "description": "Whether this action is disabled (i.e. should not be run).",
          "type": "boolean"
        },
        "dependencyTargets": {
          "items": {
            "$ref": "Target"
          },
          "description": "A list of actions that this action depends on.",
          "type": "array"
        },
        "expectedOutputQuery": {
          "type": "string",
          "description": "Expected output query to compare against the test query."
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Arbitrary, user-defined tags on this action."
        },
        "testQuery": {
          "type": "string",
          "description": "Test query to execute."
        },
        "displayName": {
          "description": "The name of the unit test.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Expr": {
      "id": "Expr",
      "description": "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() \u003c 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.",
      "type": "object",
      "properties": {
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "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."
        }
      }
    },
    "MakeDirectoryResponse": {
      "id": "MakeDirectoryResponse",
      "description": "`MakeDirectory` response message.",
      "properties": {},
      "type": "object"
    },
    "DataEncryptionState": {
      "type": "object",
      "properties": {
        "kmsKeyVersionName": {
          "type": "string",
          "description": "Required. The KMS key version name with which data of a resource is encrypted."
        }
      },
      "description": "Describes encryption state of a resource.",
      "id": "DataEncryptionState"
    },
    "TeamFolderSearchResult": {
      "properties": {
        "teamFolder": {
          "$ref": "TeamFolder",
          "description": "A TeamFolder resource that is in the project / location."
        }
      },
      "id": "TeamFolderSearchResult",
      "type": "object",
      "description": "Represents a single content entry."
    },
    "CancelWorkflowInvocationRequest": {
      "properties": {},
      "type": "object",
      "description": "`CancelWorkflowInvocation` request message.",
      "id": "CancelWorkflowInvocationRequest"
    },
    "GcsRepositorySnapshotDestination": {
      "properties": {
        "repositorySnapshotUri": {
          "type": "string",
          "description": "Optional. The Google Cloud Storage destination to upload the repository snapshot to. Format: `gs://bucket-name/path/`."
        }
      },
      "type": "object",
      "id": "GcsRepositorySnapshotDestination",
      "description": "Configures the destination for a repository snapshot."
    },
    "GcsRepositorySnapshotMetadata": {
      "description": "Metadata about a repository snapshot stored in Google Cloud Storage.",
      "properties": {
        "crc32cChecksum": {
          "description": "Output only. The crc32c checksum of the repository snapshot, big-endian base64 encoded.",
          "readOnly": true,
          "type": "string"
        },
        "repositorySnapshotUri": {
          "type": "string",
          "description": "Output only. The Google Cloud Storage URI of the repository snapshot.",
          "readOnly": true
        },
        "generation": {
          "format": "int64",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The generation number of the Cloud Storage object. See https://cloud.google.com/storage/docs/metadata#generation-number."
        }
      },
      "type": "object",
      "id": "GcsRepositorySnapshotMetadata"
    },
    "MoveDirectoryRequest": {
      "id": "MoveDirectoryRequest",
      "type": "object",
      "description": "`MoveDirectory` request message.",
      "properties": {
        "newPath": {
          "type": "string",
          "description": "Required. The new path for the directory including directory name, rooted at workspace root."
        },
        "path": {
          "description": "Required. The directory's full path including directory name, relative to the workspace root.",
          "type": "string"
        }
      }
    },
    "MoveFileRequest": {
      "description": "`MoveFile` request message.",
      "type": "object",
      "id": "MoveFileRequest",
      "properties": {
        "newPath": {
          "type": "string",
          "description": "Required. The file's new path including filename, relative to the workspace root."
        },
        "path": {
          "type": "string",
          "description": "Required. The file's full path including filename, relative to the workspace root."
        }
      }
    },
    "ReadRepositoryFileResponse": {
      "properties": {
        "contents": {
          "description": "The file's contents.",
          "type": "string",
          "format": "byte"
        }
      },
      "description": "`ReadRepositoryFile` response message.",
      "id": "ReadRepositoryFileResponse",
      "type": "object"
    },
    "FetchFileDiffResponse": {
      "id": "FetchFileDiffResponse",
      "description": "`FetchFileDiff` response message.",
      "type": "object",
      "properties": {
        "formattedDiff": {
          "description": "The raw formatted Git diff for the file.",
          "type": "string"
        }
      }
    },
    "UncommittedFileChange": {
      "id": "UncommittedFileChange",
      "properties": {
        "path": {
          "description": "The file's full path including filename, relative to the workspace root.",
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "Output only. Indicates the status of the file.",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The file has been newly added.",
            "The file has been deleted.",
            "The file has been modified.",
            "The file contains merge conflicts."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ADDED",
            "DELETED",
            "MODIFIED",
            "HAS_CONFLICTS"
          ],
          "readOnly": true
        }
      },
      "type": "object",
      "description": "Represents the Git state of a file with uncommitted changes."
    },
    "ListCompilationResultsResponse": {
      "id": "ListCompilationResultsResponse",
      "type": "object",
      "description": "`ListCompilationResults` response message.",
      "properties": {
        "compilationResults": {
          "items": {
            "$ref": "CompilationResult"
          },
          "description": "List of compilation results.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations which could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "PushGitCommitsResponse": {
      "description": "`PushGitCommits` response message.",
      "type": "object",
      "properties": {},
      "id": "PushGitCommitsResponse"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "name": {
          "description": "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}`.",
          "type": "string"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "description": "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.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "response": {
          "description": "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`.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "done": {
          "type": "boolean",
          "description": "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."
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "MakeDirectoryRequest": {
      "id": "MakeDirectoryRequest",
      "description": "`MakeDirectory` request message.",
      "properties": {
        "path": {
          "description": "Required. The directory's full path including directory name, relative to the workspace root.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ScheduledReleaseRecord": {
      "description": "A record of an attempt to create a compilation result for this release config.",
      "properties": {
        "errorStatus": {
          "$ref": "Status",
          "description": "The error status encountered upon this attempt to create the compilation result, if the attempt was unsuccessful."
        },
        "releaseTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The timestamp of this release attempt."
        },
        "compilationResult": {
          "type": "string",
          "description": "The name of the created compilation result, if one was successfully created. Must be in the format `projects/*/locations/*/repositories/*/compilationResults/*`."
        }
      },
      "id": "ScheduledReleaseRecord",
      "type": "object"
    },
    "PipelineConfig": {
      "id": "PipelineConfig",
      "type": "object",
      "properties": {
        "pipelineType": {
          "enum": [
            "PIPELINE_TYPE_UNSPECIFIED",
            "DATAFORM",
            "SQL",
            "NOTEBOOK"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Regular Dataform pipeline.",
            "SQL single file asset.",
            "Notebook single file asset."
          ],
          "description": "Required. The type of the pipeline."
        },
        "path": {
          "type": "string",
          "description": "Required. The relative path within the Git repository where the pipeline is defined. For example, for a Dataform pipeline, it is a path to the folder where `workflow_settings.yaml` or `dataform.json` is located."
        }
      },
      "description": "Defines the pipeline type and path within the Git repository."
    },
    "TestIamPermissionsRequest": {
      "id": "TestIamPermissionsRequest",
      "type": "object",
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Request message for `TestIamPermissions` method."
    },
    "CancelWorkflowInvocationResponse": {
      "id": "CancelWorkflowInvocationResponse",
      "description": "`CancelWorkflowInvocation` response message.",
      "type": "object",
      "properties": {}
    },
    "PushGitCommitsRequest": {
      "description": "`PushGitCommits` request message.",
      "type": "object",
      "properties": {
        "remoteBranch": {
          "type": "string",
          "description": "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."
        }
      },
      "id": "PushGitCommitsRequest"
    },
    "ActionLoadConfig": {
      "id": "ActionLoadConfig",
      "type": "object",
      "description": "Simplified load configuration for actions",
      "properties": {
        "unique": {
          "description": "Insert records where the value of a column is not already present in the destination table",
          "$ref": "ActionIncrementalLoadMode"
        },
        "replace": {
          "$ref": "ActionSimpleLoadMode",
          "description": "Replace destination table"
        },
        "maximum": {
          "$ref": "ActionIncrementalLoadMode",
          "description": "Insert records where the value exceeds the previous maximum value for a column in the destination table"
        },
        "append": {
          "description": "Append into destination table",
          "$ref": "ActionSimpleLoadMode"
        }
      }
    },
    "Relation": {
      "type": "object",
      "properties": {
        "relationType": {
          "enum": [
            "RELATION_TYPE_UNSPECIFIED",
            "TABLE",
            "VIEW",
            "INCREMENTAL_TABLE",
            "MATERIALIZED_VIEW"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The relation is a table.",
            "The relation is a view.",
            "The relation is an incrementalized table.",
            "The relation is a materialized view."
          ],
          "description": "The type of this relation."
        },
        "partitionExpression": {
          "description": "The SQL expression used to partition the relation.",
          "type": "string"
        },
        "requirePartitionFilter": {
          "type": "boolean",
          "description": "Specifies whether queries on this table must include a predicate filter that filters on the partitioning column."
        },
        "storageUri": {
          "description": "Optional. The fully qualified location prefix of the external folder where table data is stored. The URI should be in the format `gs://bucket/path_to_table/`.",
          "type": "string"
        },
        "preOperations": {
          "description": "SQL statements to be executed before creating the relation.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "incrementalTableConfig": {
          "description": "Configures `INCREMENTAL_TABLE` settings for this relation. Only set if `relation_type` is `INCREMENTAL_TABLE`.",
          "$ref": "IncrementalTableConfig"
        },
        "clusterExpressions": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of columns or SQL expressions used to cluster the table."
        },
        "disabled": {
          "type": "boolean",
          "description": "Whether this action is disabled (i.e. should not be run)."
        },
        "dependencyTargets": {
          "type": "array",
          "description": "A list of actions that this action depends on.",
          "items": {
            "$ref": "Target"
          }
        },
        "additionalOptions": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "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."
        },
        "tableFormat": {
          "description": "Optional. The table format for the BigQuery table.",
          "enum": [
            "TABLE_FORMAT_UNSPECIFIED",
            "ICEBERG"
          ],
          "enumDescriptions": [
            "Default value.",
            "Apache Iceberg format."
          ],
          "type": "string"
        },
        "connection": {
          "type": "string",
          "description": "Optional. The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection can have the form `{project}.{location}.{connection_id}` or `projects/{project}/locations/{location}/connections/{connection_id}`, or be set to DEFAULT."
        },
        "fileFormat": {
          "description": "Optional. The file format for the BigQuery table.",
          "type": "string",
          "enum": [
            "FILE_FORMAT_UNSPECIFIED",
            "PARQUET"
          ],
          "enumDescriptions": [
            "Default value.",
            "Apache Parquet format."
          ]
        },
        "relationDescriptor": {
          "description": "Descriptor for the relation and its columns.",
          "$ref": "RelationDescriptor"
        },
        "postOperations": {
          "description": "SQL statements to be executed after creating the relation.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "partitionExpirationDays": {
          "type": "integer",
          "description": "Sets the partition expiration in days.",
          "format": "int32"
        },
        "tags": {
          "description": "Arbitrary, user-defined tags on this action.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "selectQuery": {
          "description": "The SELECT query which returns rows which this relation should contain.",
          "type": "string"
        }
      },
      "description": "Represents a database relation.",
      "id": "Relation"
    },
    "SearchFilesResponse": {
      "id": "SearchFilesResponse",
      "type": "object",
      "description": "Client-facing representation of a file search response.",
      "properties": {
        "nextPageToken": {
          "description": "Optional. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "searchResults": {
          "type": "array",
          "items": {
            "$ref": "SearchResult"
          },
          "description": "List of matched results."
        }
      }
    },
    "WorkflowInvocation": {
      "description": "Represents a single invocation of a compilation result.",
      "type": "object",
      "properties": {
        "pipelineConfig": {
          "readOnly": true,
          "$ref": "PipelineConfig",
          "description": "Output only. The pipeline options which defines the pipeline type and path within the Git repository."
        },
        "privateResourceMetadata": {
          "description": "Output only. Metadata indicating whether this resource is user-scoped. `WorkflowInvocation` resource is `user_scoped` only if it is sourced from a compilation result and the compilation result is user-scoped.",
          "$ref": "PrivateResourceMetadata",
          "readOnly": true
        },
        "workflowConfig": {
          "description": "Immutable. The name of the workflow config to invoke. Must be in the format `projects/*/locations/*/repositories/*/workflowConfigs/*`.",
          "type": "string"
        },
        "dataEncryptionState": {
          "description": "Output only. Only set if the repository has a KMS Key.",
          "readOnly": true,
          "$ref": "DataEncryptionState"
        },
        "resolvedCompilationResult": {
          "readOnly": true,
          "description": "Output only. The resolved compilation result that was used to create this invocation. Will be in the format `projects/*/locations/*/repositories/*/compilationResults/*`.",
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "RUNNING",
            "SUCCEEDED",
            "CANCELLED",
            "FAILED",
            "CANCELING"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The workflow invocation is currently running.",
            "The workflow invocation succeeded. A terminal state.",
            "The workflow invocation was cancelled. A terminal state.",
            "The workflow invocation failed. A terminal state.",
            "The workflow invocation is being cancelled, but some actions are still running."
          ],
          "description": "Output only. This workflow invocation's current state.",
          "type": "string"
        },
        "compilationResult": {
          "type": "string",
          "description": "Immutable. The name of the compilation result to use for this invocation. Must be in the format `projects/*/locations/*/repositories/*/compilationResults/*`."
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The workflow invocation's name."
        },
        "invocationConfig": {
          "description": "Immutable. If left unset, a default InvocationConfig will be used.",
          "$ref": "InvocationConfig"
        },
        "internalMetadata": {
          "readOnly": true,
          "type": "string",
          "description": "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."
        },
        "invocationTiming": {
          "readOnly": true,
          "$ref": "Interval",
          "description": "Output only. This workflow invocation's timing details."
        }
      },
      "id": "WorkflowInvocation"
    },
    "RemoveDirectoryResponse": {
      "properties": {},
      "description": "`RemoveDirectory` response message.",
      "type": "object",
      "id": "RemoveDirectoryResponse"
    },
    "IncrementalTableConfig": {
      "description": "Contains settings for relations of type `INCREMENTAL_TABLE`.",
      "id": "IncrementalTableConfig",
      "properties": {
        "incrementalPreOperations": {
          "items": {
            "type": "string"
          },
          "description": "SQL statements to be executed before inserting new rows into the relation.",
          "type": "array"
        },
        "refreshDisabled": {
          "description": "Whether this table should be protected from being refreshed.",
          "type": "boolean"
        },
        "incrementalPostOperations": {
          "description": "SQL statements to be executed after inserting new rows into the relation.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "incrementalSelectQuery": {
          "description": "The SELECT query which returns rows which should be inserted into the relation if it already exists and is not being refreshed.",
          "type": "string"
        },
        "updatePartitionFilter": {
          "description": "A SQL expression conditional used to limit the set of existing rows considered for a merge operation (see `unique_key_parts` for more information).",
          "type": "string"
        },
        "uniqueKeyParts": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "QueryWorkflowInvocationActionsResponse": {
      "id": "QueryWorkflowInvocationActionsResponse",
      "type": "object",
      "description": "`QueryWorkflowInvocationActions` response message.",
      "properties": {
        "workflowInvocationActions": {
          "type": "array",
          "description": "List of workflow invocation actions.",
          "items": {
            "$ref": "WorkflowInvocationAction"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      }
    },
    "ListRepositoriesResponse": {
      "description": "`ListRepositories` response message.",
      "id": "ListRepositoriesResponse",
      "properties": {
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Locations which could not be reached.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "repositories": {
          "items": {
            "$ref": "Repository"
          },
          "type": "array",
          "description": "List of repositories."
        }
      },
      "type": "object"
    }
  }
}
