// Code generated by sidekick. DO NOT EDIT.
//
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import Foundation
#if canImport(FoundationNetworking)
  import FoundationNetworking
#endif
import GoogleCloudLocation
import GoogleCloudWkt
import GoogleIAMV1
import GoogleLongRunning
import GoogleRpc
import GoogleCloudGax

extension Clients {
  final class DataformRetry: DataformStub {
    let inner: any DataformStub
    let options: GoogleCloudGax.ClientOptions

    public init(_ inner: any DataformStub, options: GoogleCloudGax.ClientOptions) {
      self.inner = inner
      self.options = options
    }

    func _intercept<Input, Output>(
      request: Input,
      options: GoogleCloudGax.RequestOptions,
      idempotent: Swift.Bool,
      action: (Input, GoogleCloudGax.RequestOptions) async throws -> Output,
    ) async throws -> Output {
      let loop = GoogleCloudGax._RetryLoop(
        options: options, withDefault: self.options, idempotent: idempotent,
      )
      let attempt = { (attemptTimeout: Swift.Duration?) async throws -> Output in
        var attemptOptions = options
        attemptOptions.attemptTimeout = attemptTimeout
        return try await action(request, attemptOptions)
      }
      return try await loop.run(attempt: attempt)
    }

    public func getTeamFolder(
      request: GetTeamFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.TeamFolder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetTeamFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.TeamFolder
          in
          return try await self.inner.getTeamFolder(request: r, options: o)
        })
    }

    public func createTeamFolder(
      request: CreateTeamFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.TeamFolder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateTeamFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.TeamFolder
          in
          return try await self.inner.createTeamFolder(request: r, options: o)
        })
    }

    public func updateTeamFolder(
      request: UpdateTeamFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.TeamFolder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateTeamFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.TeamFolder
          in
          return try await self.inner.updateTeamFolder(request: r, options: o)
        })
    }

    public func deleteTeamFolder(
      request: DeleteTeamFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteTeamFolderRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteTeamFolder(request: r, options: o)
        })
    }

    public func deleteTeamFolderTree(
      request: DeleteTeamFolderTreeRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteTeamFolderTreeRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.deleteTeamFolderTree(request: r, options: o)
        })
    }

    public func queryTeamFolderContents(
      request: QueryTeamFolderContentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryTeamFolderContentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryTeamFolderContentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryTeamFolderContentsResponse
          in
          return try await self.inner.queryTeamFolderContents(request: r, options: o)
        })
    }

    public func searchTeamFolders(
      request: SearchTeamFoldersRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.SearchTeamFoldersResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: SearchTeamFoldersRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.SearchTeamFoldersResponse
          in
          return try await self.inner.searchTeamFolders(request: r, options: o)
        })
    }

    public func getFolder(
      request: GetFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Folder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Folder
          in
          return try await self.inner.getFolder(request: r, options: o)
        })
    }

    public func createFolder(
      request: CreateFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Folder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Folder
          in
          return try await self.inner.createFolder(request: r, options: o)
        })
    }

    public func updateFolder(
      request: UpdateFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Folder {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Folder
          in
          return try await self.inner.updateFolder(request: r, options: o)
        })
    }

    public func deleteFolder(
      request: DeleteFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: { (r: DeleteFolderRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteFolder(request: r, options: o)
        })
    }

    public func deleteFolderTree(
      request: DeleteFolderTreeRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteFolderTreeRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.deleteFolderTree(request: r, options: o)
        })
    }

    public func queryFolderContents(
      request: QueryFolderContentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryFolderContentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryFolderContentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryFolderContentsResponse
          in
          return try await self.inner.queryFolderContents(request: r, options: o)
        })
    }

    public func queryUserRootContents(
      request: QueryUserRootContentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryUserRootContentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryUserRootContentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryUserRootContentsResponse
          in
          return try await self.inner.queryUserRootContents(request: r, options: o)
        })
    }

    public func moveFolder(
      request: MoveFolderRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: MoveFolderRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.moveFolder(request: r, options: o)
        })
    }

    public func listRepositories(
      request: ListRepositoriesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListRepositoriesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListRepositoriesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListRepositoriesResponse
          in
          return try await self.inner.listRepositories(request: r, options: o)
        })
    }

    public func getRepository(
      request: GetRepositoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Repository {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetRepositoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Repository
          in
          return try await self.inner.getRepository(request: r, options: o)
        })
    }

    public func createRepository(
      request: CreateRepositoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Repository {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateRepositoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Repository
          in
          return try await self.inner.createRepository(request: r, options: o)
        })
    }

    public func updateRepository(
      request: UpdateRepositoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Repository {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateRepositoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Repository
          in
          return try await self.inner.updateRepository(request: r, options: o)
        })
    }

    public func deleteRepository(
      request: DeleteRepositoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteRepositoryRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteRepository(request: r, options: o)
        })
    }

    public func moveRepository(
      request: MoveRepositoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: MoveRepositoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.moveRepository(request: r, options: o)
        })
    }

    public func commitRepositoryChanges(
      request: CommitRepositoryChangesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.CommitRepositoryChangesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CommitRepositoryChangesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.CommitRepositoryChangesResponse
          in
          return try await self.inner.commitRepositoryChanges(request: r, options: o)
        })
    }

    public func readRepositoryFile(
      request: ReadRepositoryFileRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ReadRepositoryFileResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ReadRepositoryFileRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ReadRepositoryFileResponse
          in
          return try await self.inner.readRepositoryFile(request: r, options: o)
        })
    }

    public func queryRepositoryDirectoryContents(
      request: QueryRepositoryDirectoryContentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryRepositoryDirectoryContentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryRepositoryDirectoryContentsRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> GoogleCloudDataFormV1.QueryRepositoryDirectoryContentsResponse
          in
          return try await self.inner.queryRepositoryDirectoryContents(request: r, options: o)
        })
    }

    public func fetchRepositoryHistory(
      request: FetchRepositoryHistoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.FetchRepositoryHistoryResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: FetchRepositoryHistoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.FetchRepositoryHistoryResponse
          in
          return try await self.inner.fetchRepositoryHistory(request: r, options: o)
        })
    }

    public func computeRepositoryAccessTokenStatus(
      request: ComputeRepositoryAccessTokenStatusRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ComputeRepositoryAccessTokenStatusResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ComputeRepositoryAccessTokenStatusRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> GoogleCloudDataFormV1.ComputeRepositoryAccessTokenStatusResponse
          in
          return try await self.inner.computeRepositoryAccessTokenStatus(request: r, options: o)
        })
    }

    public func fetchRemoteBranches(
      request: FetchRemoteBranchesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.FetchRemoteBranchesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: FetchRemoteBranchesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.FetchRemoteBranchesResponse
          in
          return try await self.inner.fetchRemoteBranches(request: r, options: o)
        })
    }

    public func listWorkspaces(
      request: ListWorkspacesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListWorkspacesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListWorkspacesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListWorkspacesResponse
          in
          return try await self.inner.listWorkspaces(request: r, options: o)
        })
    }

    public func getWorkspace(
      request: GetWorkspaceRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Workspace {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetWorkspaceRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Workspace
          in
          return try await self.inner.getWorkspace(request: r, options: o)
        })
    }

    public func createWorkspace(
      request: CreateWorkspaceRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Workspace {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateWorkspaceRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Workspace
          in
          return try await self.inner.createWorkspace(request: r, options: o)
        })
    }

    public func deleteWorkspace(
      request: DeleteWorkspaceRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteWorkspaceRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteWorkspace(request: r, options: o)
        })
    }

    public func installNpmPackages(
      request: InstallNpmPackagesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.InstallNpmPackagesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: InstallNpmPackagesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.InstallNpmPackagesResponse
          in
          return try await self.inner.installNpmPackages(request: r, options: o)
        })
    }

    public func pullGitCommits(
      request: PullGitCommitsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.PullGitCommitsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: PullGitCommitsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.PullGitCommitsResponse
          in
          return try await self.inner.pullGitCommits(request: r, options: o)
        })
    }

    public func pushGitCommits(
      request: PushGitCommitsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.PushGitCommitsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: PushGitCommitsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.PushGitCommitsResponse
          in
          return try await self.inner.pushGitCommits(request: r, options: o)
        })
    }

    public func fetchFileGitStatuses(
      request: FetchFileGitStatusesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.FetchFileGitStatusesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: FetchFileGitStatusesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.FetchFileGitStatusesResponse
          in
          return try await self.inner.fetchFileGitStatuses(request: r, options: o)
        })
    }

    public func fetchGitAheadBehind(
      request: FetchGitAheadBehindRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.FetchGitAheadBehindResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: FetchGitAheadBehindRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.FetchGitAheadBehindResponse
          in
          return try await self.inner.fetchGitAheadBehind(request: r, options: o)
        })
    }

    public func commitWorkspaceChanges(
      request: CommitWorkspaceChangesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.CommitWorkspaceChangesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CommitWorkspaceChangesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.CommitWorkspaceChangesResponse
          in
          return try await self.inner.commitWorkspaceChanges(request: r, options: o)
        })
    }

    public func resetWorkspaceChanges(
      request: ResetWorkspaceChangesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ResetWorkspaceChangesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: ResetWorkspaceChangesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ResetWorkspaceChangesResponse
          in
          return try await self.inner.resetWorkspaceChanges(request: r, options: o)
        })
    }

    public func fetchFileDiff(
      request: FetchFileDiffRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.FetchFileDiffResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: FetchFileDiffRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.FetchFileDiffResponse
          in
          return try await self.inner.fetchFileDiff(request: r, options: o)
        })
    }

    public func queryDirectoryContents(
      request: QueryDirectoryContentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryDirectoryContentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryDirectoryContentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryDirectoryContentsResponse
          in
          return try await self.inner.queryDirectoryContents(request: r, options: o)
        })
    }

    public func searchFiles(
      request: SearchFilesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.SearchFilesResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: SearchFilesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.SearchFilesResponse
          in
          return try await self.inner.searchFiles(request: r, options: o)
        })
    }

    public func makeDirectory(
      request: MakeDirectoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.MakeDirectoryResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: MakeDirectoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.MakeDirectoryResponse
          in
          return try await self.inner.makeDirectory(request: r, options: o)
        })
    }

    public func removeDirectory(
      request: RemoveDirectoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.RemoveDirectoryResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: RemoveDirectoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.RemoveDirectoryResponse
          in
          return try await self.inner.removeDirectory(request: r, options: o)
        })
    }

    public func moveDirectory(
      request: MoveDirectoryRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.MoveDirectoryResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: MoveDirectoryRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.MoveDirectoryResponse
          in
          return try await self.inner.moveDirectory(request: r, options: o)
        })
    }

    public func readFile(
      request: ReadFileRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ReadFileResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ReadFileRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ReadFileResponse
          in
          return try await self.inner.readFile(request: r, options: o)
        })
    }

    public func removeFile(
      request: RemoveFileRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.RemoveFileResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: RemoveFileRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.RemoveFileResponse
          in
          return try await self.inner.removeFile(request: r, options: o)
        })
    }

    public func moveFile(
      request: MoveFileRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.MoveFileResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: MoveFileRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.MoveFileResponse
          in
          return try await self.inner.moveFile(request: r, options: o)
        })
    }

    public func writeFile(
      request: WriteFileRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WriteFileResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: WriteFileRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WriteFileResponse
          in
          return try await self.inner.writeFile(request: r, options: o)
        })
    }

    public func listReleaseConfigs(
      request: ListReleaseConfigsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListReleaseConfigsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListReleaseConfigsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListReleaseConfigsResponse
          in
          return try await self.inner.listReleaseConfigs(request: r, options: o)
        })
    }

    public func getReleaseConfig(
      request: GetReleaseConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ReleaseConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetReleaseConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ReleaseConfig
          in
          return try await self.inner.getReleaseConfig(request: r, options: o)
        })
    }

    public func createReleaseConfig(
      request: CreateReleaseConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ReleaseConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateReleaseConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ReleaseConfig
          in
          return try await self.inner.createReleaseConfig(request: r, options: o)
        })
    }

    public func updateReleaseConfig(
      request: UpdateReleaseConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ReleaseConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateReleaseConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ReleaseConfig
          in
          return try await self.inner.updateReleaseConfig(request: r, options: o)
        })
    }

    public func deleteReleaseConfig(
      request: DeleteReleaseConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteReleaseConfigRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteReleaseConfig(request: r, options: o)
        })
    }

    public func listCompilationResults(
      request: ListCompilationResultsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListCompilationResultsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListCompilationResultsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListCompilationResultsResponse
          in
          return try await self.inner.listCompilationResults(request: r, options: o)
        })
    }

    public func getCompilationResult(
      request: GetCompilationResultRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.CompilationResult {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetCompilationResultRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.CompilationResult
          in
          return try await self.inner.getCompilationResult(request: r, options: o)
        })
    }

    public func createCompilationResult(
      request: CreateCompilationResultRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.CompilationResult {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateCompilationResultRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.CompilationResult
          in
          return try await self.inner.createCompilationResult(request: r, options: o)
        })
    }

    public func queryCompilationResultActions(
      request: QueryCompilationResultActionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryCompilationResultActionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryCompilationResultActionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryCompilationResultActionsResponse
          in
          return try await self.inner.queryCompilationResultActions(request: r, options: o)
        })
    }

    public func listWorkflowConfigs(
      request: ListWorkflowConfigsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListWorkflowConfigsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListWorkflowConfigsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListWorkflowConfigsResponse
          in
          return try await self.inner.listWorkflowConfigs(request: r, options: o)
        })
    }

    public func getWorkflowConfig(
      request: GetWorkflowConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WorkflowConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetWorkflowConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WorkflowConfig
          in
          return try await self.inner.getWorkflowConfig(request: r, options: o)
        })
    }

    public func createWorkflowConfig(
      request: CreateWorkflowConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WorkflowConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateWorkflowConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WorkflowConfig
          in
          return try await self.inner.createWorkflowConfig(request: r, options: o)
        })
    }

    public func updateWorkflowConfig(
      request: UpdateWorkflowConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WorkflowConfig {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateWorkflowConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WorkflowConfig
          in
          return try await self.inner.updateWorkflowConfig(request: r, options: o)
        })
    }

    public func deleteWorkflowConfig(
      request: DeleteWorkflowConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteWorkflowConfigRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteWorkflowConfig(request: r, options: o)
        })
    }

    public func listWorkflowInvocations(
      request: ListWorkflowInvocationsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.ListWorkflowInvocationsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: ListWorkflowInvocationsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.ListWorkflowInvocationsResponse
          in
          return try await self.inner.listWorkflowInvocations(request: r, options: o)
        })
    }

    public func getWorkflowInvocation(
      request: GetWorkflowInvocationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WorkflowInvocation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetWorkflowInvocationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WorkflowInvocation
          in
          return try await self.inner.getWorkflowInvocation(request: r, options: o)
        })
    }

    public func createWorkflowInvocation(
      request: CreateWorkflowInvocationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.WorkflowInvocation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CreateWorkflowInvocationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.WorkflowInvocation
          in
          return try await self.inner.createWorkflowInvocation(request: r, options: o)
        })
    }

    public func deleteWorkflowInvocation(
      request: DeleteWorkflowInvocationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: DeleteWorkflowInvocationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> Void in
          return try await self.inner.deleteWorkflowInvocation(request: r, options: o)
        })
    }

    public func cancelWorkflowInvocation(
      request: CancelWorkflowInvocationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.CancelWorkflowInvocationResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: CancelWorkflowInvocationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.CancelWorkflowInvocationResponse
          in
          return try await self.inner.cancelWorkflowInvocation(request: r, options: o)
        })
    }

    public func queryWorkflowInvocationActions(
      request: QueryWorkflowInvocationActionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.QueryWorkflowInvocationActionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: QueryWorkflowInvocationActionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.QueryWorkflowInvocationActionsResponse
          in
          return try await self.inner.queryWorkflowInvocationActions(request: r, options: o)
        })
    }

    public func getConfig(
      request: GetConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Config {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GetConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Config
          in
          return try await self.inner.getConfig(request: r, options: o)
        })
    }

    public func updateConfig(
      request: UpdateConfigRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudDataFormV1.Config {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: UpdateConfigRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudDataFormV1.Config
          in
          return try await self.inner.updateConfig(request: r, options: o)
        })
    }

    public func getIamPolicy(
      request: GoogleIAMV1.GetIamPolicyRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleIAMV1.Policy {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GoogleIAMV1.GetIamPolicyRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleIAMV1.Policy
          in
          return try await self.inner.getIamPolicy(request: r, options: o)
        })
    }

    public func setIamPolicy(
      request: GoogleIAMV1.SetIamPolicyRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleIAMV1.Policy {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: GoogleIAMV1.SetIamPolicyRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleIAMV1.Policy
          in
          return try await self.inner.setIamPolicy(request: r, options: o)
        })
    }

    public func testIamPermissions(
      request: GoogleIAMV1.TestIamPermissionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleIAMV1.TestIamPermissionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: GoogleIAMV1.TestIamPermissionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleIAMV1.TestIamPermissionsResponse
          in
          return try await self.inner.testIamPermissions(request: r, options: o)
        })
    }

    public func listLocations(
      request: GoogleCloudLocation.ListLocationsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudLocation.ListLocationsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GoogleCloudLocation.ListLocationsRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> GoogleCloudLocation.ListLocationsResponse
          in
          return try await self.inner.listLocations(request: r, options: o)
        })
    }

    public func getLocation(
      request: GoogleCloudLocation.GetLocationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudLocation.Location {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GoogleCloudLocation.GetLocationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudLocation.Location
          in
          return try await self.inner.getLocation(request: r, options: o)
        })
    }

    public func listOperations(
      request: GoogleLongRunning.ListOperationsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.ListOperationsResponse {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GoogleLongRunning.ListOperationsRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> GoogleLongRunning.ListOperationsResponse
          in
          return try await self.inner.listOperations(request: r, options: o)
        })
    }

    public func getOperation(
      request: GoogleLongRunning.GetOperationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: true,
        action: {
          (r: GoogleLongRunning.GetOperationRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.getOperation(request: r, options: o)
        })
    }

    public func deleteOperation(
      request: GoogleLongRunning.DeleteOperationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: GoogleLongRunning.DeleteOperationRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> Void in
          return try await self.inner.deleteOperation(request: r, options: o)
        })
    }

    public func cancelOperation(
      request: GoogleLongRunning.CancelOperationRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        idempotent: false,
        action: {
          (r: GoogleLongRunning.CancelOperationRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> Void in
          return try await self.inner.cancelOperation(request: r, options: o)
        })
    }
  }
}
