text:
using grpc = global::Grpc.Core;

namespace Google.Cloud.GkeBackup.V1 {
  /// <summary>
  /// BackupForGKE allows Kubernetes administrators to configure, execute, and
  /// manage backup and restore operations for their GKE clusters.
  /// </summary>
  public static partial class BackupForGKE
  {
    static readonly string __ServiceName = "google.cloud.gkebackup.v1.BackupForGKE";

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
    {
      #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
      if (message is global::Google.Protobuf.IBufferMessage)
      {
        context.SetPayloadLength(message.CalculateSize());
        global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
        context.Complete();
        return;
      }
      #endif
      context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
    }

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static class __Helper_MessageCache<T>
    {
      public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
    }

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
    {
      #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
      if (__Helper_MessageCache<T>.IsBufferMessage)
      {
        return parser.ParseFrom(context.PayloadAsReadOnlySequence());
      }
      #endif
      return parser.ParseFrom(context.PayloadAsNewBuffer());
    }

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest> __Marshaller_google_cloud_gkebackup_v1_CreateBackupPlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.LongRunning.Operation> __Marshaller_google_longrunning_Operation = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.LongRunning.Operation.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest> __Marshaller_google_cloud_gkebackup_v1_ListBackupPlansRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse> __Marshaller_google_cloud_gkebackup_v1_ListBackupPlansResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest> __Marshaller_google_cloud_gkebackup_v1_GetBackupPlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.BackupPlan> __Marshaller_google_cloud_gkebackup_v1_BackupPlan = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.BackupPlan.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest> __Marshaller_google_cloud_gkebackup_v1_UpdateBackupPlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest> __Marshaller_google_cloud_gkebackup_v1_DeleteBackupPlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.CreateBackupRequest> __Marshaller_google_cloud_gkebackup_v1_CreateBackupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.CreateBackupRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListBackupsRequest> __Marshaller_google_cloud_gkebackup_v1_ListBackupsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListBackupsRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListBackupsResponse> __Marshaller_google_cloud_gkebackup_v1_ListBackupsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListBackupsResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetBackupRequest> __Marshaller_google_cloud_gkebackup_v1_GetBackupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetBackupRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.Backup> __Marshaller_google_cloud_gkebackup_v1_Backup = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.Backup.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest> __Marshaller_google_cloud_gkebackup_v1_UpdateBackupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest> __Marshaller_google_cloud_gkebackup_v1_DeleteBackupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest> __Marshaller_google_cloud_gkebackup_v1_ListVolumeBackupsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse> __Marshaller_google_cloud_gkebackup_v1_ListVolumeBackupsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest> __Marshaller_google_cloud_gkebackup_v1_GetVolumeBackupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.VolumeBackup> __Marshaller_google_cloud_gkebackup_v1_VolumeBackup = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.VolumeBackup.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest> __Marshaller_google_cloud_gkebackup_v1_CreateRestorePlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest> __Marshaller_google_cloud_gkebackup_v1_ListRestorePlansRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse> __Marshaller_google_cloud_gkebackup_v1_ListRestorePlansResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest> __Marshaller_google_cloud_gkebackup_v1_GetRestorePlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.RestorePlan> __Marshaller_google_cloud_gkebackup_v1_RestorePlan = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.RestorePlan.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest> __Marshaller_google_cloud_gkebackup_v1_UpdateRestorePlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest> __Marshaller_google_cloud_gkebackup_v1_DeleteRestorePlanRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest> __Marshaller_google_cloud_gkebackup_v1_CreateRestoreRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListRestoresRequest> __Marshaller_google_cloud_gkebackup_v1_ListRestoresRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListRestoresRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListRestoresResponse> __Marshaller_google_cloud_gkebackup_v1_ListRestoresResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListRestoresResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetRestoreRequest> __Marshaller_google_cloud_gkebackup_v1_GetRestoreRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetRestoreRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.Restore> __Marshaller_google_cloud_gkebackup_v1_Restore = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.Restore.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest> __Marshaller_google_cloud_gkebackup_v1_UpdateRestoreRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest> __Marshaller_google_cloud_gkebackup_v1_DeleteRestoreRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest> __Marshaller_google_cloud_gkebackup_v1_ListVolumeRestoresRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse> __Marshaller_google_cloud_gkebackup_v1_ListVolumeRestoresResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest> __Marshaller_google_cloud_gkebackup_v1_GetVolumeRestoreRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest.Parser));
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Marshaller<global::Google.Cloud.GkeBackup.V1.VolumeRestore> __Marshaller_google_cloud_gkebackup_v1_VolumeRestore = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Cloud.GkeBackup.V1.VolumeRestore.Parser));

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest, global::Google.LongRunning.Operation> __Method_CreateBackupPlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "CreateBackupPlan",
        __Marshaller_google_cloud_gkebackup_v1_CreateBackupPlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest, global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse> __Method_ListBackupPlans = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest, global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListBackupPlans",
        __Marshaller_google_cloud_gkebackup_v1_ListBackupPlansRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListBackupPlansResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest, global::Google.Cloud.GkeBackup.V1.BackupPlan> __Method_GetBackupPlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest, global::Google.Cloud.GkeBackup.V1.BackupPlan>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetBackupPlan",
        __Marshaller_google_cloud_gkebackup_v1_GetBackupPlanRequest,
        __Marshaller_google_cloud_gkebackup_v1_BackupPlan);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest, global::Google.LongRunning.Operation> __Method_UpdateBackupPlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "UpdateBackupPlan",
        __Marshaller_google_cloud_gkebackup_v1_UpdateBackupPlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest, global::Google.LongRunning.Operation> __Method_DeleteBackupPlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "DeleteBackupPlan",
        __Marshaller_google_cloud_gkebackup_v1_DeleteBackupPlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateBackupRequest, global::Google.LongRunning.Operation> __Method_CreateBackup = new grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateBackupRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "CreateBackup",
        __Marshaller_google_cloud_gkebackup_v1_CreateBackupRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListBackupsResponse> __Method_ListBackups = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListBackupsResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListBackups",
        __Marshaller_google_cloud_gkebackup_v1_ListBackupsRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListBackupsResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetBackupRequest, global::Google.Cloud.GkeBackup.V1.Backup> __Method_GetBackup = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetBackupRequest, global::Google.Cloud.GkeBackup.V1.Backup>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetBackup",
        __Marshaller_google_cloud_gkebackup_v1_GetBackupRequest,
        __Marshaller_google_cloud_gkebackup_v1_Backup);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest, global::Google.LongRunning.Operation> __Method_UpdateBackup = new grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "UpdateBackup",
        __Marshaller_google_cloud_gkebackup_v1_UpdateBackupRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest, global::Google.LongRunning.Operation> __Method_DeleteBackup = new grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "DeleteBackup",
        __Marshaller_google_cloud_gkebackup_v1_DeleteBackupRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse> __Method_ListVolumeBackups = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListVolumeBackups",
        __Marshaller_google_cloud_gkebackup_v1_ListVolumeBackupsRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListVolumeBackupsResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest, global::Google.Cloud.GkeBackup.V1.VolumeBackup> __Method_GetVolumeBackup = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest, global::Google.Cloud.GkeBackup.V1.VolumeBackup>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetVolumeBackup",
        __Marshaller_google_cloud_gkebackup_v1_GetVolumeBackupRequest,
        __Marshaller_google_cloud_gkebackup_v1_VolumeBackup);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest, global::Google.LongRunning.Operation> __Method_CreateRestorePlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "CreateRestorePlan",
        __Marshaller_google_cloud_gkebackup_v1_CreateRestorePlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest, global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse> __Method_ListRestorePlans = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest, global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListRestorePlans",
        __Marshaller_google_cloud_gkebackup_v1_ListRestorePlansRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListRestorePlansResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest, global::Google.Cloud.GkeBackup.V1.RestorePlan> __Method_GetRestorePlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest, global::Google.Cloud.GkeBackup.V1.RestorePlan>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetRestorePlan",
        __Marshaller_google_cloud_gkebackup_v1_GetRestorePlanRequest,
        __Marshaller_google_cloud_gkebackup_v1_RestorePlan);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest, global::Google.LongRunning.Operation> __Method_UpdateRestorePlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "UpdateRestorePlan",
        __Marshaller_google_cloud_gkebackup_v1_UpdateRestorePlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest, global::Google.LongRunning.Operation> __Method_DeleteRestorePlan = new grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "DeleteRestorePlan",
        __Marshaller_google_cloud_gkebackup_v1_DeleteRestorePlanRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest, global::Google.LongRunning.Operation> __Method_CreateRestore = new grpc::Method<global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "CreateRestore",
        __Marshaller_google_cloud_gkebackup_v1_CreateRestoreRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListRestoresResponse> __Method_ListRestores = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListRestoresResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListRestores",
        __Marshaller_google_cloud_gkebackup_v1_ListRestoresRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListRestoresResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetRestoreRequest, global::Google.Cloud.GkeBackup.V1.Restore> __Method_GetRestore = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetRestoreRequest, global::Google.Cloud.GkeBackup.V1.Restore>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetRestore",
        __Marshaller_google_cloud_gkebackup_v1_GetRestoreRequest,
        __Marshaller_google_cloud_gkebackup_v1_Restore);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest, global::Google.LongRunning.Operation> __Method_UpdateRestore = new grpc::Method<global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "UpdateRestore",
        __Marshaller_google_cloud_gkebackup_v1_UpdateRestoreRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest, global::Google.LongRunning.Operation> __Method_DeleteRestore = new grpc::Method<global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest, global::Google.LongRunning.Operation>(
        grpc::MethodType.Unary,
        __ServiceName,
        "DeleteRestore",
        __Marshaller_google_cloud_gkebackup_v1_DeleteRestoreRequest,
        __Marshaller_google_longrunning_Operation);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse> __Method_ListVolumeRestores = new grpc::Method<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse>(
        grpc::MethodType.Unary,
        __ServiceName,
        "ListVolumeRestores",
        __Marshaller_google_cloud_gkebackup_v1_ListVolumeRestoresRequest,
        __Marshaller_google_cloud_gkebackup_v1_ListVolumeRestoresResponse);

    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    static readonly grpc::Method<global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest, global::Google.Cloud.GkeBackup.V1.VolumeRestore> __Method_GetVolumeRestore = new grpc::Method<global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest, global::Google.Cloud.GkeBackup.V1.VolumeRestore>(
        grpc::MethodType.Unary,
        __ServiceName,
        "GetVolumeRestore",
        __Marshaller_google_cloud_gkebackup_v1_GetVolumeRestoreRequest,
        __Marshaller_google_cloud_gkebackup_v1_VolumeRestore);

    /// <summary>Service descriptor</summary>
    public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
    {
      get { return global::Google.Cloud.GkeBackup.V1.GkebackupReflection.Descriptor.Services[0]; }
    }

    /// <summary>Base class for server-side implementations of BackupForGKE</summary>
    [grpc::BindServiceMethod(typeof(BackupForGKE), "BindService")]
    public abstract partial class BackupForGKEBase
    {
      /// <summary>
      /// Creates a new BackupPlan in a given location.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> CreateBackupPlan(global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists BackupPlans in a given location.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse> ListBackupPlans(global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieve the details of a single BackupPlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.BackupPlan> GetBackupPlan(global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Update a BackupPlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> UpdateBackupPlan(global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Deletes an existing BackupPlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> DeleteBackupPlan(global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Creates a Backup for the given BackupPlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> CreateBackup(global::Google.Cloud.GkeBackup.V1.CreateBackupRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists the Backups for a given BackupPlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListBackupsResponse> ListBackups(global::Google.Cloud.GkeBackup.V1.ListBackupsRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieve the details of a single Backup.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.Backup> GetBackup(global::Google.Cloud.GkeBackup.V1.GetBackupRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Update a Backup.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> UpdateBackup(global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Deletes an existing Backup.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> DeleteBackup(global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists the VolumeBackups for a given Backup.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse> ListVolumeBackups(global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieve the details of a single VolumeBackup.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.VolumeBackup> GetVolumeBackup(global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Creates a new RestorePlan in a given location.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> CreateRestorePlan(global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists RestorePlans in a given location.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse> ListRestorePlans(global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieve the details of a single RestorePlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.RestorePlan> GetRestorePlan(global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Update a RestorePlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> UpdateRestorePlan(global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Deletes an existing RestorePlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> DeleteRestorePlan(global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Creates a new Restore for the given RestorePlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> CreateRestore(global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists the Restores for a given RestorePlan.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListRestoresResponse> ListRestores(global::Google.Cloud.GkeBackup.V1.ListRestoresRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieves the details of a single Restore.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.Restore> GetRestore(global::Google.Cloud.GkeBackup.V1.GetRestoreRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Update a Restore.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> UpdateRestore(global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Deletes an existing Restore.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.LongRunning.Operation> DeleteRestore(global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Lists the VolumeRestores for a given Restore.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse> ListVolumeRestores(global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

      /// <summary>
      /// Retrieve the details of a single VolumeRestore.
      /// </summary>
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::System.Threading.Tasks.Task<global::Google.Cloud.GkeBackup.V1.VolumeRestore> GetVolumeRestore(global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

    }

    /// <summary>Client for BackupForGKE</summary>
    public partial class BackupForGKEClient : grpc::ClientBase<BackupForGKEClient>
    {
      /// <summary>Creates a new client for BackupForGKE</summary>
      /// <param name="channel">The channel to use to make remote calls.</param>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public BackupForGKEClient(grpc::ChannelBase channel) : base(channel)
      {
      }
      /// <summary>Creates a new client for BackupForGKE that uses a custom <c>CallInvoker</c>.</summary>
      /// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public BackupForGKEClient(grpc::CallInvoker callInvoker) : base(callInvoker)
      {
      }
      /// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      protected BackupForGKEClient() : base()
      {
      }
      /// <summary>Protected constructor to allow creation of configured clients.</summary>
      /// <param name="configuration">The client configuration.</param>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      protected BackupForGKEClient(ClientBaseConfiguration configuration) : base(configuration)
      {
      }

      /// <summary>
      /// Creates a new BackupPlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateBackupPlan(global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateBackupPlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new BackupPlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateBackupPlan(global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_CreateBackupPlan, null, options, request);
      }
      /// <summary>
      /// Creates a new BackupPlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateBackupPlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new BackupPlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_CreateBackupPlan, null, options, request);
      }
      /// <summary>
      /// Lists BackupPlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse ListBackupPlans(global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListBackupPlans(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists BackupPlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse ListBackupPlans(global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListBackupPlans, null, options, request);
      }
      /// <summary>
      /// Lists BackupPlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse> ListBackupPlansAsync(global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListBackupPlansAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists BackupPlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse> ListBackupPlansAsync(global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListBackupPlans, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.BackupPlan GetBackupPlan(global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetBackupPlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.BackupPlan GetBackupPlan(global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetBackupPlan, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.BackupPlan> GetBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetBackupPlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.BackupPlan> GetBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetBackupPlan, null, options, request);
      }
      /// <summary>
      /// Update a BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateBackupPlan(global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateBackupPlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateBackupPlan(global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_UpdateBackupPlan, null, options, request);
      }
      /// <summary>
      /// Update a BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateBackupPlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_UpdateBackupPlan, null, options, request);
      }
      /// <summary>
      /// Deletes an existing BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteBackupPlan(global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteBackupPlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteBackupPlan(global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_DeleteBackupPlan, null, options, request);
      }
      /// <summary>
      /// Deletes an existing BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteBackupPlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteBackupPlanAsync(global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_DeleteBackupPlan, null, options, request);
      }
      /// <summary>
      /// Creates a Backup for the given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateBackup(global::Google.Cloud.GkeBackup.V1.CreateBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateBackup(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a Backup for the given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateBackup(global::Google.Cloud.GkeBackup.V1.CreateBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_CreateBackup, null, options, request);
      }
      /// <summary>
      /// Creates a Backup for the given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateBackupAsync(global::Google.Cloud.GkeBackup.V1.CreateBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateBackupAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a Backup for the given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateBackupAsync(global::Google.Cloud.GkeBackup.V1.CreateBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_CreateBackup, null, options, request);
      }
      /// <summary>
      /// Lists the Backups for a given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListBackupsResponse ListBackups(global::Google.Cloud.GkeBackup.V1.ListBackupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListBackups(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the Backups for a given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListBackupsResponse ListBackups(global::Google.Cloud.GkeBackup.V1.ListBackupsRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListBackups, null, options, request);
      }
      /// <summary>
      /// Lists the Backups for a given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListBackupsResponse> ListBackupsAsync(global::Google.Cloud.GkeBackup.V1.ListBackupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListBackupsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the Backups for a given BackupPlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListBackupsResponse> ListBackupsAsync(global::Google.Cloud.GkeBackup.V1.ListBackupsRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListBackups, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.Backup GetBackup(global::Google.Cloud.GkeBackup.V1.GetBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetBackup(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.Backup GetBackup(global::Google.Cloud.GkeBackup.V1.GetBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetBackup, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.Backup> GetBackupAsync(global::Google.Cloud.GkeBackup.V1.GetBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetBackupAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.Backup> GetBackupAsync(global::Google.Cloud.GkeBackup.V1.GetBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetBackup, null, options, request);
      }
      /// <summary>
      /// Update a Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateBackup(global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateBackup(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateBackup(global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_UpdateBackup, null, options, request);
      }
      /// <summary>
      /// Update a Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateBackupAsync(global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateBackupAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateBackupAsync(global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_UpdateBackup, null, options, request);
      }
      /// <summary>
      /// Deletes an existing Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteBackup(global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteBackup(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteBackup(global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_DeleteBackup, null, options, request);
      }
      /// <summary>
      /// Deletes an existing Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteBackupAsync(global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteBackupAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteBackupAsync(global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_DeleteBackup, null, options, request);
      }
      /// <summary>
      /// Lists the VolumeBackups for a given Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse ListVolumeBackups(global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListVolumeBackups(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the VolumeBackups for a given Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse ListVolumeBackups(global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListVolumeBackups, null, options, request);
      }
      /// <summary>
      /// Lists the VolumeBackups for a given Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse> ListVolumeBackupsAsync(global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListVolumeBackupsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the VolumeBackups for a given Backup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse> ListVolumeBackupsAsync(global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListVolumeBackups, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single VolumeBackup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.VolumeBackup GetVolumeBackup(global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetVolumeBackup(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single VolumeBackup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.VolumeBackup GetVolumeBackup(global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetVolumeBackup, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single VolumeBackup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.VolumeBackup> GetVolumeBackupAsync(global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetVolumeBackupAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single VolumeBackup.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.VolumeBackup> GetVolumeBackupAsync(global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetVolumeBackup, null, options, request);
      }
      /// <summary>
      /// Creates a new RestorePlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateRestorePlan(global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateRestorePlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new RestorePlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateRestorePlan(global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_CreateRestorePlan, null, options, request);
      }
      /// <summary>
      /// Creates a new RestorePlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateRestorePlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new RestorePlan in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_CreateRestorePlan, null, options, request);
      }
      /// <summary>
      /// Lists RestorePlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse ListRestorePlans(global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListRestorePlans(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists RestorePlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse ListRestorePlans(global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListRestorePlans, null, options, request);
      }
      /// <summary>
      /// Lists RestorePlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse> ListRestorePlansAsync(global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListRestorePlansAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists RestorePlans in a given location.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse> ListRestorePlansAsync(global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListRestorePlans, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.RestorePlan GetRestorePlan(global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetRestorePlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.RestorePlan GetRestorePlan(global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetRestorePlan, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.RestorePlan> GetRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetRestorePlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.RestorePlan> GetRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetRestorePlan, null, options, request);
      }
      /// <summary>
      /// Update a RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateRestorePlan(global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateRestorePlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateRestorePlan(global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_UpdateRestorePlan, null, options, request);
      }
      /// <summary>
      /// Update a RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateRestorePlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_UpdateRestorePlan, null, options, request);
      }
      /// <summary>
      /// Deletes an existing RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteRestorePlan(global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteRestorePlan(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteRestorePlan(global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_DeleteRestorePlan, null, options, request);
      }
      /// <summary>
      /// Deletes an existing RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteRestorePlanAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteRestorePlanAsync(global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_DeleteRestorePlan, null, options, request);
      }
      /// <summary>
      /// Creates a new Restore for the given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateRestore(global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateRestore(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new Restore for the given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation CreateRestore(global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_CreateRestore, null, options, request);
      }
      /// <summary>
      /// Creates a new Restore for the given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateRestoreAsync(global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return CreateRestoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Creates a new Restore for the given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> CreateRestoreAsync(global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_CreateRestore, null, options, request);
      }
      /// <summary>
      /// Lists the Restores for a given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListRestoresResponse ListRestores(global::Google.Cloud.GkeBackup.V1.ListRestoresRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListRestores(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the Restores for a given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListRestoresResponse ListRestores(global::Google.Cloud.GkeBackup.V1.ListRestoresRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListRestores, null, options, request);
      }
      /// <summary>
      /// Lists the Restores for a given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListRestoresResponse> ListRestoresAsync(global::Google.Cloud.GkeBackup.V1.ListRestoresRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListRestoresAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the Restores for a given RestorePlan.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListRestoresResponse> ListRestoresAsync(global::Google.Cloud.GkeBackup.V1.ListRestoresRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListRestores, null, options, request);
      }
      /// <summary>
      /// Retrieves the details of a single Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.Restore GetRestore(global::Google.Cloud.GkeBackup.V1.GetRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetRestore(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieves the details of a single Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.Restore GetRestore(global::Google.Cloud.GkeBackup.V1.GetRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetRestore, null, options, request);
      }
      /// <summary>
      /// Retrieves the details of a single Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.Restore> GetRestoreAsync(global::Google.Cloud.GkeBackup.V1.GetRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetRestoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieves the details of a single Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.Restore> GetRestoreAsync(global::Google.Cloud.GkeBackup.V1.GetRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetRestore, null, options, request);
      }
      /// <summary>
      /// Update a Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateRestore(global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateRestore(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation UpdateRestore(global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_UpdateRestore, null, options, request);
      }
      /// <summary>
      /// Update a Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateRestoreAsync(global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return UpdateRestoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Update a Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> UpdateRestoreAsync(global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_UpdateRestore, null, options, request);
      }
      /// <summary>
      /// Deletes an existing Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteRestore(global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteRestore(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.LongRunning.Operation DeleteRestore(global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_DeleteRestore, null, options, request);
      }
      /// <summary>
      /// Deletes an existing Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteRestoreAsync(global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return DeleteRestoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Deletes an existing Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.LongRunning.Operation> DeleteRestoreAsync(global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_DeleteRestore, null, options, request);
      }
      /// <summary>
      /// Lists the VolumeRestores for a given Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse ListVolumeRestores(global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListVolumeRestores(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the VolumeRestores for a given Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse ListVolumeRestores(global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_ListVolumeRestores, null, options, request);
      }
      /// <summary>
      /// Lists the VolumeRestores for a given Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse> ListVolumeRestoresAsync(global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return ListVolumeRestoresAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Lists the VolumeRestores for a given Restore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse> ListVolumeRestoresAsync(global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_ListVolumeRestores, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single VolumeRestore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.VolumeRestore GetVolumeRestore(global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetVolumeRestore(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single VolumeRestore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The response received from the server.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual global::Google.Cloud.GkeBackup.V1.VolumeRestore GetVolumeRestore(global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.BlockingUnaryCall(__Method_GetVolumeRestore, null, options, request);
      }
      /// <summary>
      /// Retrieve the details of a single VolumeRestore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
      /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
      /// <param name="cancellationToken">An optional token for canceling the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.VolumeRestore> GetVolumeRestoreAsync(global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
      {
        return GetVolumeRestoreAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
      }
      /// <summary>
      /// Retrieve the details of a single VolumeRestore.
      /// </summary>
      /// <param name="request">The request to send to the server.</param>
      /// <param name="options">The options for the call.</param>
      /// <returns>The call object.</returns>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      public virtual grpc::AsyncUnaryCall<global::Google.Cloud.GkeBackup.V1.VolumeRestore> GetVolumeRestoreAsync(global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest request, grpc::CallOptions options)
      {
        return CallInvoker.AsyncUnaryCall(__Method_GetVolumeRestore, null, options, request);
      }
      /// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
      [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
      protected override BackupForGKEClient NewInstance(ClientBaseConfiguration configuration)
      {
        return new BackupForGKEClient(configuration);
      }
    }

    /// <summary>Creates service definition that can be registered with a server</summary>
    /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    public static grpc::ServerServiceDefinition BindService(BackupForGKEBase serviceImpl)
    {
      return grpc::ServerServiceDefinition.CreateBuilder()
          .AddMethod(__Method_CreateBackupPlan, serviceImpl.CreateBackupPlan)
          .AddMethod(__Method_ListBackupPlans, serviceImpl.ListBackupPlans)
          .AddMethod(__Method_GetBackupPlan, serviceImpl.GetBackupPlan)
          .AddMethod(__Method_UpdateBackupPlan, serviceImpl.UpdateBackupPlan)
          .AddMethod(__Method_DeleteBackupPlan, serviceImpl.DeleteBackupPlan)
          .AddMethod(__Method_CreateBackup, serviceImpl.CreateBackup)
          .AddMethod(__Method_ListBackups, serviceImpl.ListBackups)
          .AddMethod(__Method_GetBackup, serviceImpl.GetBackup)
          .AddMethod(__Method_UpdateBackup, serviceImpl.UpdateBackup)
          .AddMethod(__Method_DeleteBackup, serviceImpl.DeleteBackup)
          .AddMethod(__Method_ListVolumeBackups, serviceImpl.ListVolumeBackups)
          .AddMethod(__Method_GetVolumeBackup, serviceImpl.GetVolumeBackup)
          .AddMethod(__Method_CreateRestorePlan, serviceImpl.CreateRestorePlan)
          .AddMethod(__Method_ListRestorePlans, serviceImpl.ListRestorePlans)
          .AddMethod(__Method_GetRestorePlan, serviceImpl.GetRestorePlan)
          .AddMethod(__Method_UpdateRestorePlan, serviceImpl.UpdateRestorePlan)
          .AddMethod(__Method_DeleteRestorePlan, serviceImpl.DeleteRestorePlan)
          .AddMethod(__Method_CreateRestore, serviceImpl.CreateRestore)
          .AddMethod(__Method_ListRestores, serviceImpl.ListRestores)
          .AddMethod(__Method_GetRestore, serviceImpl.GetRestore)
          .AddMethod(__Method_UpdateRestore, serviceImpl.UpdateRestore)
          .AddMethod(__Method_DeleteRestore, serviceImpl.DeleteRestore)
          .AddMethod(__Method_ListVolumeRestores, serviceImpl.ListVolumeRestores)
          .AddMethod(__Method_GetVolumeRestore, serviceImpl.GetVolumeRestore).Build();
    }

    /// <summary>Register service method with a service binder with or without implementation. Useful when customizing the  service binding logic.
    /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
    /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
    /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
    [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
    public static void BindService(grpc::ServiceBinderBase serviceBinder, BackupForGKEBase serviceImpl)
    {
      serviceBinder.AddMethod(__Method_CreateBackupPlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.CreateBackupPlanRequest, global::Google.LongRunning.Operation>(serviceImpl.CreateBackupPlan));
      serviceBinder.AddMethod(__Method_ListBackupPlans, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListBackupPlansRequest, global::Google.Cloud.GkeBackup.V1.ListBackupPlansResponse>(serviceImpl.ListBackupPlans));
      serviceBinder.AddMethod(__Method_GetBackupPlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetBackupPlanRequest, global::Google.Cloud.GkeBackup.V1.BackupPlan>(serviceImpl.GetBackupPlan));
      serviceBinder.AddMethod(__Method_UpdateBackupPlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.UpdateBackupPlanRequest, global::Google.LongRunning.Operation>(serviceImpl.UpdateBackupPlan));
      serviceBinder.AddMethod(__Method_DeleteBackupPlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.DeleteBackupPlanRequest, global::Google.LongRunning.Operation>(serviceImpl.DeleteBackupPlan));
      serviceBinder.AddMethod(__Method_CreateBackup, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.CreateBackupRequest, global::Google.LongRunning.Operation>(serviceImpl.CreateBackup));
      serviceBinder.AddMethod(__Method_ListBackups, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListBackupsResponse>(serviceImpl.ListBackups));
      serviceBinder.AddMethod(__Method_GetBackup, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetBackupRequest, global::Google.Cloud.GkeBackup.V1.Backup>(serviceImpl.GetBackup));
      serviceBinder.AddMethod(__Method_UpdateBackup, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.UpdateBackupRequest, global::Google.LongRunning.Operation>(serviceImpl.UpdateBackup));
      serviceBinder.AddMethod(__Method_DeleteBackup, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.DeleteBackupRequest, global::Google.LongRunning.Operation>(serviceImpl.DeleteBackup));
      serviceBinder.AddMethod(__Method_ListVolumeBackups, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeBackupsResponse>(serviceImpl.ListVolumeBackups));
      serviceBinder.AddMethod(__Method_GetVolumeBackup, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetVolumeBackupRequest, global::Google.Cloud.GkeBackup.V1.VolumeBackup>(serviceImpl.GetVolumeBackup));
      serviceBinder.AddMethod(__Method_CreateRestorePlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.CreateRestorePlanRequest, global::Google.LongRunning.Operation>(serviceImpl.CreateRestorePlan));
      serviceBinder.AddMethod(__Method_ListRestorePlans, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListRestorePlansRequest, global::Google.Cloud.GkeBackup.V1.ListRestorePlansResponse>(serviceImpl.ListRestorePlans));
      serviceBinder.AddMethod(__Method_GetRestorePlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetRestorePlanRequest, global::Google.Cloud.GkeBackup.V1.RestorePlan>(serviceImpl.GetRestorePlan));
      serviceBinder.AddMethod(__Method_UpdateRestorePlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.UpdateRestorePlanRequest, global::Google.LongRunning.Operation>(serviceImpl.UpdateRestorePlan));
      serviceBinder.AddMethod(__Method_DeleteRestorePlan, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.DeleteRestorePlanRequest, global::Google.LongRunning.Operation>(serviceImpl.DeleteRestorePlan));
      serviceBinder.AddMethod(__Method_CreateRestore, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.CreateRestoreRequest, global::Google.LongRunning.Operation>(serviceImpl.CreateRestore));
      serviceBinder.AddMethod(__Method_ListRestores, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListRestoresResponse>(serviceImpl.ListRestores));
      serviceBinder.AddMethod(__Method_GetRestore, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetRestoreRequest, global::Google.Cloud.GkeBackup.V1.Restore>(serviceImpl.GetRestore));
      serviceBinder.AddMethod(__Method_UpdateRestore, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.UpdateRestoreRequest, global::Google.LongRunning.Operation>(serviceImpl.UpdateRestore));
      serviceBinder.AddMethod(__Method_DeleteRestore, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.DeleteRestoreRequest, global::Google.LongRunning.Operation>(serviceImpl.DeleteRestore));
      serviceBinder.AddMethod(__Method_ListVolumeRestores, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresRequest, global::Google.Cloud.GkeBackup.V1.ListVolumeRestoresResponse>(serviceImpl.ListVolumeRestores));
      serviceBinder.AddMethod(__Method_GetVolumeRestore, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Cloud.GkeBackup.V1.GetVolumeRestoreRequest, global::Google.Cloud.GkeBackup.V1.VolumeRestore>(serviceImpl.GetVolumeRestore));
    }

  }
}
#endregion