// 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 GoogleLongRunning
import GoogleRpc
import GoogleCloudGax
import struct Logging.Logger

extension Clients {
  final class TelcoAutomationLogging: TelcoAutomationStub {
    let inner: any TelcoAutomationStub
    let logger: Logger

    public init(_ inner: any TelcoAutomationStub, logger: Logger) {
      var logger = logger
      logger[metadataKey: "gcp.artifact.id"] = "google-cloud-telcoautomation-v1"
      logger[metadataKey: "gcp.client.service"] = "telcoautomation"
      logger[metadataKey: "gcp.experimental.swift.client"] = "TelcoAutomation"
      self.inner = inner
      self.logger = logger
    }

    func _intercept<Input, Output>(
      request: Input,
      options: GoogleCloudGax.RequestOptions,
      name: Swift.String,
      action: (Input, GoogleCloudGax.RequestOptions) async throws -> Output,
    ) async throws -> Output {
      var logger = logger
      logger[metadataKey: "gcp.experimental.swift.request.id"] = "\(UUID())"
      logger[metadataKey: "gcp.experimental.swift.method"] = .string(name)
      logger.debug("enter  : \(request) \(options)")
      do {
        let output = try await action(request, options)
        logger.debug("success: \(request) \(options) \(output)")
        return output
      } catch let error {
        logger.debug("error  : \(request) \(options) \(error)")
        throw error
      }
    }

    public func listOrchestrationClusters(
      request: ListOrchestrationClustersRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListOrchestrationClustersResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listOrchestrationClusters",
        action: {
          (r: ListOrchestrationClustersRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListOrchestrationClustersResponse
          in
          return try await self.inner.listOrchestrationClusters(request: r, options: o)
        })
    }

    public func getOrchestrationCluster(
      request: GetOrchestrationClusterRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.OrchestrationCluster {
      try await self._intercept(
        request: request,
        options: options,
        name: "getOrchestrationCluster",
        action: {
          (r: GetOrchestrationClusterRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.OrchestrationCluster
          in
          return try await self.inner.getOrchestrationCluster(request: r, options: o)
        })
    }

    public func createOrchestrationCluster(
      request: CreateOrchestrationClusterRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        name: "createOrchestrationCluster",
        action: {
          (r: CreateOrchestrationClusterRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.createOrchestrationCluster(request: r, options: o)
        })
    }

    public func deleteOrchestrationCluster(
      request: DeleteOrchestrationClusterRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        name: "deleteOrchestrationCluster",
        action: {
          (r: DeleteOrchestrationClusterRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.deleteOrchestrationCluster(request: r, options: o)
        })
    }

    public func listEdgeSlms(
      request: ListEdgeSlmsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListEdgeSlmsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listEdgeSlms",
        action: {
          (r: ListEdgeSlmsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListEdgeSlmsResponse
          in
          return try await self.inner.listEdgeSlms(request: r, options: o)
        })
    }

    public func getEdgeSlm(
      request: GetEdgeSlmRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.EdgeSlm {
      try await self._intercept(
        request: request,
        options: options,
        name: "getEdgeSlm",
        action: {
          (r: GetEdgeSlmRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.EdgeSlm
          in
          return try await self.inner.getEdgeSlm(request: r, options: o)
        })
    }

    public func createEdgeSlm(
      request: CreateEdgeSlmRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        name: "createEdgeSlm",
        action: {
          (r: CreateEdgeSlmRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.createEdgeSlm(request: r, options: o)
        })
    }

    public func deleteEdgeSlm(
      request: DeleteEdgeSlmRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleLongRunning.Operation {
      try await self._intercept(
        request: request,
        options: options,
        name: "deleteEdgeSlm",
        action: {
          (r: DeleteEdgeSlmRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleLongRunning.Operation
          in
          return try await self.inner.deleteEdgeSlm(request: r, options: o)
        })
    }

    public func createBlueprint(
      request: CreateBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "createBlueprint",
        action: {
          (r: CreateBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.createBlueprint(request: r, options: o)
        })
    }

    public func updateBlueprint(
      request: UpdateBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "updateBlueprint",
        action: {
          (r: UpdateBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.updateBlueprint(request: r, options: o)
        })
    }

    public func getBlueprint(
      request: GetBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "getBlueprint",
        action: {
          (r: GetBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.getBlueprint(request: r, options: o)
        })
    }

    public func deleteBlueprint(
      request: DeleteBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        name: "deleteBlueprint",
        action: {
          (r: DeleteBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.deleteBlueprint(request: r, options: o)
        })
    }

    public func listBlueprints(
      request: ListBlueprintsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListBlueprintsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listBlueprints",
        action: {
          (r: ListBlueprintsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListBlueprintsResponse
          in
          return try await self.inner.listBlueprints(request: r, options: o)
        })
    }

    public func approveBlueprint(
      request: ApproveBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "approveBlueprint",
        action: {
          (r: ApproveBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.approveBlueprint(request: r, options: o)
        })
    }

    public func proposeBlueprint(
      request: ProposeBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "proposeBlueprint",
        action: {
          (r: ProposeBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.proposeBlueprint(request: r, options: o)
        })
    }

    public func rejectBlueprint(
      request: RejectBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Blueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "rejectBlueprint",
        action: {
          (r: RejectBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Blueprint
          in
          return try await self.inner.rejectBlueprint(request: r, options: o)
        })
    }

    public func listBlueprintRevisions(
      request: ListBlueprintRevisionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListBlueprintRevisionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listBlueprintRevisions",
        action: {
          (r: ListBlueprintRevisionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListBlueprintRevisionsResponse
          in
          return try await self.inner.listBlueprintRevisions(request: r, options: o)
        })
    }

    public func searchBlueprintRevisions(
      request: SearchBlueprintRevisionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.SearchBlueprintRevisionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "searchBlueprintRevisions",
        action: {
          (r: SearchBlueprintRevisionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.SearchBlueprintRevisionsResponse
          in
          return try await self.inner.searchBlueprintRevisions(request: r, options: o)
        })
    }

    public func searchDeploymentRevisions(
      request: SearchDeploymentRevisionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.SearchDeploymentRevisionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "searchDeploymentRevisions",
        action: {
          (r: SearchDeploymentRevisionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.SearchDeploymentRevisionsResponse
          in
          return try await self.inner.searchDeploymentRevisions(request: r, options: o)
        })
    }

    public func discardBlueprintChanges(
      request: DiscardBlueprintChangesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.DiscardBlueprintChangesResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "discardBlueprintChanges",
        action: {
          (r: DiscardBlueprintChangesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.DiscardBlueprintChangesResponse
          in
          return try await self.inner.discardBlueprintChanges(request: r, options: o)
        })
    }

    public func listPublicBlueprints(
      request: ListPublicBlueprintsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListPublicBlueprintsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listPublicBlueprints",
        action: {
          (r: ListPublicBlueprintsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListPublicBlueprintsResponse
          in
          return try await self.inner.listPublicBlueprints(request: r, options: o)
        })
    }

    public func getPublicBlueprint(
      request: GetPublicBlueprintRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.PublicBlueprint {
      try await self._intercept(
        request: request,
        options: options,
        name: "getPublicBlueprint",
        action: {
          (r: GetPublicBlueprintRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.PublicBlueprint
          in
          return try await self.inner.getPublicBlueprint(request: r, options: o)
        })
    }

    public func createDeployment(
      request: CreateDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Deployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "createDeployment",
        action: {
          (r: CreateDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Deployment
          in
          return try await self.inner.createDeployment(request: r, options: o)
        })
    }

    public func updateDeployment(
      request: UpdateDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Deployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "updateDeployment",
        action: {
          (r: UpdateDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Deployment
          in
          return try await self.inner.updateDeployment(request: r, options: o)
        })
    }

    public func getDeployment(
      request: GetDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Deployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "getDeployment",
        action: {
          (r: GetDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Deployment
          in
          return try await self.inner.getDeployment(request: r, options: o)
        })
    }

    public func removeDeployment(
      request: RemoveDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws {
      try await self._intercept(
        request: request,
        options: options,
        name: "removeDeployment",
        action: {
          (r: RemoveDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws -> Void in
          return try await self.inner.removeDeployment(request: r, options: o)
        })
    }

    public func listDeployments(
      request: ListDeploymentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListDeploymentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listDeployments",
        action: {
          (r: ListDeploymentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListDeploymentsResponse
          in
          return try await self.inner.listDeployments(request: r, options: o)
        })
    }

    public func listDeploymentRevisions(
      request: ListDeploymentRevisionsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListDeploymentRevisionsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listDeploymentRevisions",
        action: {
          (r: ListDeploymentRevisionsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListDeploymentRevisionsResponse
          in
          return try await self.inner.listDeploymentRevisions(request: r, options: o)
        })
    }

    public func discardDeploymentChanges(
      request: DiscardDeploymentChangesRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.DiscardDeploymentChangesResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "discardDeploymentChanges",
        action: {
          (r: DiscardDeploymentChangesRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.DiscardDeploymentChangesResponse
          in
          return try await self.inner.discardDeploymentChanges(request: r, options: o)
        })
    }

    public func applyDeployment(
      request: ApplyDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Deployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "applyDeployment",
        action: {
          (r: ApplyDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Deployment
          in
          return try await self.inner.applyDeployment(request: r, options: o)
        })
    }

    public func computeDeploymentStatus(
      request: ComputeDeploymentStatusRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ComputeDeploymentStatusResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "computeDeploymentStatus",
        action: {
          (r: ComputeDeploymentStatusRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ComputeDeploymentStatusResponse
          in
          return try await self.inner.computeDeploymentStatus(request: r, options: o)
        })
    }

    public func rollbackDeployment(
      request: RollbackDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.Deployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "rollbackDeployment",
        action: {
          (r: RollbackDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.Deployment
          in
          return try await self.inner.rollbackDeployment(request: r, options: o)
        })
    }

    public func getHydratedDeployment(
      request: GetHydratedDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.HydratedDeployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "getHydratedDeployment",
        action: {
          (r: GetHydratedDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.HydratedDeployment
          in
          return try await self.inner.getHydratedDeployment(request: r, options: o)
        })
    }

    public func listHydratedDeployments(
      request: ListHydratedDeploymentsRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.ListHydratedDeploymentsResponse {
      try await self._intercept(
        request: request,
        options: options,
        name: "listHydratedDeployments",
        action: {
          (r: ListHydratedDeploymentsRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.ListHydratedDeploymentsResponse
          in
          return try await self.inner.listHydratedDeployments(request: r, options: o)
        })
    }

    public func updateHydratedDeployment(
      request: UpdateHydratedDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.HydratedDeployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "updateHydratedDeployment",
        action: {
          (r: UpdateHydratedDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.HydratedDeployment
          in
          return try await self.inner.updateHydratedDeployment(request: r, options: o)
        })
    }

    public func applyHydratedDeployment(
      request: ApplyHydratedDeploymentRequest, options: GoogleCloudGax.RequestOptions
    ) async throws -> GoogleCloudTelcoAutomationV1.HydratedDeployment {
      try await self._intercept(
        request: request,
        options: options,
        name: "applyHydratedDeployment",
        action: {
          (r: ApplyHydratedDeploymentRequest, o: GoogleCloudGax.RequestOptions) async throws
            -> GoogleCloudTelcoAutomationV1.HydratedDeployment
          in
          return try await self.inner.applyHydratedDeployment(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,
        name: "listLocations",
        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,
        name: "getLocation",
        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,
        name: "listOperations",
        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,
        name: "getOperation",
        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,
        name: "deleteOperation",
        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,
        name: "cancelOperation",
        action: {
          (r: GoogleLongRunning.CancelOperationRequest, o: GoogleCloudGax.RequestOptions)
            async throws -> Void in
          return try await self.inner.cancelOperation(request: r, options: o)
        })
    }
  }
}
