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

// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v4.25.7
// source: google/cloud/alloydb/v1alpha/service.proto

package alloydbpb

import (
	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

const (
	AlloyDBAdmin_ListClusters_FullMethodName               = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListClusters"
	AlloyDBAdmin_GetCluster_FullMethodName                 = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GetCluster"
	AlloyDBAdmin_CreateCluster_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateCluster"
	AlloyDBAdmin_UpdateCluster_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/UpdateCluster"
	AlloyDBAdmin_ExportCluster_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ExportCluster"
	AlloyDBAdmin_ImportCluster_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ImportCluster"
	AlloyDBAdmin_UpgradeCluster_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/UpgradeCluster"
	AlloyDBAdmin_DeleteCluster_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/DeleteCluster"
	AlloyDBAdmin_PromoteCluster_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/PromoteCluster"
	AlloyDBAdmin_SwitchoverCluster_FullMethodName          = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/SwitchoverCluster"
	AlloyDBAdmin_RestoreCluster_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/RestoreCluster"
	AlloyDBAdmin_CreateSecondaryCluster_FullMethodName     = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateSecondaryCluster"
	AlloyDBAdmin_ListInstances_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListInstances"
	AlloyDBAdmin_GetInstance_FullMethodName                = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GetInstance"
	AlloyDBAdmin_CreateInstance_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateInstance"
	AlloyDBAdmin_CreateSecondaryInstance_FullMethodName    = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateSecondaryInstance"
	AlloyDBAdmin_BatchCreateInstances_FullMethodName       = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/BatchCreateInstances"
	AlloyDBAdmin_UpdateInstance_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/UpdateInstance"
	AlloyDBAdmin_DeleteInstance_FullMethodName             = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/DeleteInstance"
	AlloyDBAdmin_FailoverInstance_FullMethodName           = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/FailoverInstance"
	AlloyDBAdmin_InjectFault_FullMethodName                = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/InjectFault"
	AlloyDBAdmin_RestartInstance_FullMethodName            = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/RestartInstance"
	AlloyDBAdmin_ExecuteSql_FullMethodName                 = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ExecuteSql"
	AlloyDBAdmin_ListBackups_FullMethodName                = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListBackups"
	AlloyDBAdmin_GetBackup_FullMethodName                  = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GetBackup"
	AlloyDBAdmin_CreateBackup_FullMethodName               = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateBackup"
	AlloyDBAdmin_UpdateBackup_FullMethodName               = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/UpdateBackup"
	AlloyDBAdmin_DeleteBackup_FullMethodName               = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/DeleteBackup"
	AlloyDBAdmin_ListSupportedDatabaseFlags_FullMethodName = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListSupportedDatabaseFlags"
	AlloyDBAdmin_GenerateClientCertificate_FullMethodName  = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GenerateClientCertificate"
	AlloyDBAdmin_GetConnectionInfo_FullMethodName          = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GetConnectionInfo"
	AlloyDBAdmin_ListUsers_FullMethodName                  = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListUsers"
	AlloyDBAdmin_GetUser_FullMethodName                    = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/GetUser"
	AlloyDBAdmin_CreateUser_FullMethodName                 = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/CreateUser"
	AlloyDBAdmin_UpdateUser_FullMethodName                 = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/UpdateUser"
	AlloyDBAdmin_DeleteUser_FullMethodName                 = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/DeleteUser"
	AlloyDBAdmin_ListDatabases_FullMethodName              = "/google.cloud.alloydb.v1alpha.AlloyDBAdmin/ListDatabases"
)

// AlloyDBAdminClient is the client API for AlloyDBAdmin service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type AlloyDBAdminClient interface {
	// Lists Clusters in a given project and location.
	ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error)
	// Gets details of a single Cluster.
	GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
	// Creates a new Cluster in a given project and location.
	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Cluster.
	UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Exports data from the cluster.
	// Imperative only.
	ExportCluster(ctx context.Context, in *ExportClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Imports data to the cluster.
	// Imperative only.
	ImportCluster(ctx context.Context, in *ImportClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Upgrades a single Cluster.
	// Imperative only.
	UpgradeCluster(ctx context.Context, in *UpgradeClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Deletes a single Cluster.
	DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Promotes a SECONDARY cluster. This turns down replication
	// from the PRIMARY cluster and promotes a secondary cluster
	// into its own standalone cluster.
	// Imperative only.
	PromoteCluster(ctx context.Context, in *PromoteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Switches the roles of PRIMARY and SECONDARY clusters without any data loss.
	// This promotes the SECONDARY cluster to PRIMARY and sets up the original
	// PRIMARY cluster to replicate from this newly promoted cluster.
	SwitchoverCluster(ctx context.Context, in *SwitchoverClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Creates a new Cluster in a given project and location, with a volume
	// restored from the provided source, either a backup ID or a point-in-time
	// and a source cluster.
	RestoreCluster(ctx context.Context, in *RestoreClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Creates a cluster of type SECONDARY in the given location using
	// the primary cluster as the source.
	CreateSecondaryCluster(ctx context.Context, in *CreateSecondaryClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Lists Instances in a given project and location.
	ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error)
	// Gets details of a single Instance.
	GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error)
	// Creates a new Instance in a given project and location.
	CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Creates a new SECONDARY Instance in a given project and location.
	CreateSecondaryInstance(ctx context.Context, in *CreateSecondaryInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Creates new instances under the given project, location and cluster.
	// There can be only one primary instance in a cluster. If the primary
	// instance exists in the cluster as well as this request, then API will
	// throw an error.
	// The primary instance should exist before any read pool instance is
	// created. If the primary instance is a part of the request payload, then
	// the API will take care of creating instances in the correct order.
	// This method is here to support Google-internal use cases, and is not meant
	// for external customers to consume. Please do not start relying on it; its
	// behavior is subject to change without notice.
	BatchCreateInstances(ctx context.Context, in *BatchCreateInstancesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Instance.
	UpdateInstance(ctx context.Context, in *UpdateInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Deletes a single Instance.
	DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Forces a Failover for a highly available instance.
	// Failover promotes the HA standby instance as the new primary.
	// Imperative only.
	FailoverInstance(ctx context.Context, in *FailoverInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Injects fault in an instance.
	// Imperative only.
	InjectFault(ctx context.Context, in *InjectFaultRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Restart an Instance in a cluster.
	// Imperative only.
	RestartInstance(ctx context.Context, in *RestartInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Executes a SQL statement in a database inside an AlloyDB instance.
	ExecuteSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (*ExecuteSqlResponse, error)
	// Lists Backups in a given project and location.
	ListBackups(ctx context.Context, in *ListBackupsRequest, opts ...grpc.CallOption) (*ListBackupsResponse, error)
	// Gets details of a single Backup.
	GetBackup(ctx context.Context, in *GetBackupRequest, opts ...grpc.CallOption) (*Backup, error)
	// Creates a new Backup in a given project and location.
	CreateBackup(ctx context.Context, in *CreateBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Backup.
	UpdateBackup(ctx context.Context, in *UpdateBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Deletes a single Backup.
	DeleteBackup(ctx context.Context, in *DeleteBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Lists SupportedDatabaseFlags for a given project and location.
	ListSupportedDatabaseFlags(ctx context.Context, in *ListSupportedDatabaseFlagsRequest, opts ...grpc.CallOption) (*ListSupportedDatabaseFlagsResponse, error)
	// Generate a client certificate signed by a Cluster CA.
	// The sole purpose of this endpoint is to support AlloyDB connectors and the
	// Auth Proxy client. The endpoint's behavior is subject to change without
	// notice, so do not rely on its behavior remaining constant. Future changes
	// will not break AlloyDB connectors or the Auth Proxy client.
	GenerateClientCertificate(ctx context.Context, in *GenerateClientCertificateRequest, opts ...grpc.CallOption) (*GenerateClientCertificateResponse, error)
	// Get instance metadata used for a connection.
	GetConnectionInfo(ctx context.Context, in *GetConnectionInfoRequest, opts ...grpc.CallOption) (*ConnectionInfo, error)
	// Lists Users in a given project and location.
	ListUsers(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*ListUsersResponse, error)
	// Gets details of a single User.
	GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*User, error)
	// Creates a new User in a given project, location, and cluster.
	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error)
	// Updates the parameters of a single User.
	UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*User, error)
	// Deletes a single User.
	DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Lists Databases in a given project and location.
	ListDatabases(ctx context.Context, in *ListDatabasesRequest, opts ...grpc.CallOption) (*ListDatabasesResponse, error)
}

type alloyDBAdminClient struct {
	cc grpc.ClientConnInterface
}

func NewAlloyDBAdminClient(cc grpc.ClientConnInterface) AlloyDBAdminClient {
	return &alloyDBAdminClient{cc}
}

func (c *alloyDBAdminClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) {
	out := new(ListClustersResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListClusters_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) {
	out := new(Cluster)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GetCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_UpdateCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ExportCluster(ctx context.Context, in *ExportClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ExportCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ImportCluster(ctx context.Context, in *ImportClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ImportCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) UpgradeCluster(ctx context.Context, in *UpgradeClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_UpgradeCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_DeleteCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) PromoteCluster(ctx context.Context, in *PromoteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_PromoteCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) SwitchoverCluster(ctx context.Context, in *SwitchoverClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_SwitchoverCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) RestoreCluster(ctx context.Context, in *RestoreClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_RestoreCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateSecondaryCluster(ctx context.Context, in *CreateSecondaryClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateSecondaryCluster_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error) {
	out := new(ListInstancesResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListInstances_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error) {
	out := new(Instance)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GetInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateSecondaryInstance(ctx context.Context, in *CreateSecondaryInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateSecondaryInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) BatchCreateInstances(ctx context.Context, in *BatchCreateInstancesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_BatchCreateInstances_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) UpdateInstance(ctx context.Context, in *UpdateInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_UpdateInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_DeleteInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) FailoverInstance(ctx context.Context, in *FailoverInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_FailoverInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) InjectFault(ctx context.Context, in *InjectFaultRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_InjectFault_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) RestartInstance(ctx context.Context, in *RestartInstanceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_RestartInstance_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ExecuteSql(ctx context.Context, in *ExecuteSqlRequest, opts ...grpc.CallOption) (*ExecuteSqlResponse, error) {
	out := new(ExecuteSqlResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ExecuteSql_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ListBackups(ctx context.Context, in *ListBackupsRequest, opts ...grpc.CallOption) (*ListBackupsResponse, error) {
	out := new(ListBackupsResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListBackups_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GetBackup(ctx context.Context, in *GetBackupRequest, opts ...grpc.CallOption) (*Backup, error) {
	out := new(Backup)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GetBackup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateBackup(ctx context.Context, in *CreateBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateBackup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) UpdateBackup(ctx context.Context, in *UpdateBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_UpdateBackup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) DeleteBackup(ctx context.Context, in *DeleteBackupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) {
	out := new(longrunningpb.Operation)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_DeleteBackup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ListSupportedDatabaseFlags(ctx context.Context, in *ListSupportedDatabaseFlagsRequest, opts ...grpc.CallOption) (*ListSupportedDatabaseFlagsResponse, error) {
	out := new(ListSupportedDatabaseFlagsResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListSupportedDatabaseFlags_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GenerateClientCertificate(ctx context.Context, in *GenerateClientCertificateRequest, opts ...grpc.CallOption) (*GenerateClientCertificateResponse, error) {
	out := new(GenerateClientCertificateResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GenerateClientCertificate_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GetConnectionInfo(ctx context.Context, in *GetConnectionInfoRequest, opts ...grpc.CallOption) (*ConnectionInfo, error) {
	out := new(ConnectionInfo)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GetConnectionInfo_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ListUsers(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*ListUsersResponse, error) {
	out := new(ListUsersResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListUsers_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*User, error) {
	out := new(User)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_GetUser_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error) {
	out := new(User)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_CreateUser_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*User, error) {
	out := new(User)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_UpdateUser_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_DeleteUser_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *alloyDBAdminClient) ListDatabases(ctx context.Context, in *ListDatabasesRequest, opts ...grpc.CallOption) (*ListDatabasesResponse, error) {
	out := new(ListDatabasesResponse)
	err := c.cc.Invoke(ctx, AlloyDBAdmin_ListDatabases_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// AlloyDBAdminServer is the server API for AlloyDBAdmin service.
// All implementations should embed UnimplementedAlloyDBAdminServer
// for forward compatibility
type AlloyDBAdminServer interface {
	// Lists Clusters in a given project and location.
	ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error)
	// Gets details of a single Cluster.
	GetCluster(context.Context, *GetClusterRequest) (*Cluster, error)
	// Creates a new Cluster in a given project and location.
	CreateCluster(context.Context, *CreateClusterRequest) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Cluster.
	UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunningpb.Operation, error)
	// Exports data from the cluster.
	// Imperative only.
	ExportCluster(context.Context, *ExportClusterRequest) (*longrunningpb.Operation, error)
	// Imports data to the cluster.
	// Imperative only.
	ImportCluster(context.Context, *ImportClusterRequest) (*longrunningpb.Operation, error)
	// Upgrades a single Cluster.
	// Imperative only.
	UpgradeCluster(context.Context, *UpgradeClusterRequest) (*longrunningpb.Operation, error)
	// Deletes a single Cluster.
	DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunningpb.Operation, error)
	// Promotes a SECONDARY cluster. This turns down replication
	// from the PRIMARY cluster and promotes a secondary cluster
	// into its own standalone cluster.
	// Imperative only.
	PromoteCluster(context.Context, *PromoteClusterRequest) (*longrunningpb.Operation, error)
	// Switches the roles of PRIMARY and SECONDARY clusters without any data loss.
	// This promotes the SECONDARY cluster to PRIMARY and sets up the original
	// PRIMARY cluster to replicate from this newly promoted cluster.
	SwitchoverCluster(context.Context, *SwitchoverClusterRequest) (*longrunningpb.Operation, error)
	// Creates a new Cluster in a given project and location, with a volume
	// restored from the provided source, either a backup ID or a point-in-time
	// and a source cluster.
	RestoreCluster(context.Context, *RestoreClusterRequest) (*longrunningpb.Operation, error)
	// Creates a cluster of type SECONDARY in the given location using
	// the primary cluster as the source.
	CreateSecondaryCluster(context.Context, *CreateSecondaryClusterRequest) (*longrunningpb.Operation, error)
	// Lists Instances in a given project and location.
	ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error)
	// Gets details of a single Instance.
	GetInstance(context.Context, *GetInstanceRequest) (*Instance, error)
	// Creates a new Instance in a given project and location.
	CreateInstance(context.Context, *CreateInstanceRequest) (*longrunningpb.Operation, error)
	// Creates a new SECONDARY Instance in a given project and location.
	CreateSecondaryInstance(context.Context, *CreateSecondaryInstanceRequest) (*longrunningpb.Operation, error)
	// Creates new instances under the given project, location and cluster.
	// There can be only one primary instance in a cluster. If the primary
	// instance exists in the cluster as well as this request, then API will
	// throw an error.
	// The primary instance should exist before any read pool instance is
	// created. If the primary instance is a part of the request payload, then
	// the API will take care of creating instances in the correct order.
	// This method is here to support Google-internal use cases, and is not meant
	// for external customers to consume. Please do not start relying on it; its
	// behavior is subject to change without notice.
	BatchCreateInstances(context.Context, *BatchCreateInstancesRequest) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Instance.
	UpdateInstance(context.Context, *UpdateInstanceRequest) (*longrunningpb.Operation, error)
	// Deletes a single Instance.
	DeleteInstance(context.Context, *DeleteInstanceRequest) (*longrunningpb.Operation, error)
	// Forces a Failover for a highly available instance.
	// Failover promotes the HA standby instance as the new primary.
	// Imperative only.
	FailoverInstance(context.Context, *FailoverInstanceRequest) (*longrunningpb.Operation, error)
	// Injects fault in an instance.
	// Imperative only.
	InjectFault(context.Context, *InjectFaultRequest) (*longrunningpb.Operation, error)
	// Restart an Instance in a cluster.
	// Imperative only.
	RestartInstance(context.Context, *RestartInstanceRequest) (*longrunningpb.Operation, error)
	// Executes a SQL statement in a database inside an AlloyDB instance.
	ExecuteSql(context.Context, *ExecuteSqlRequest) (*ExecuteSqlResponse, error)
	// Lists Backups in a given project and location.
	ListBackups(context.Context, *ListBackupsRequest) (*ListBackupsResponse, error)
	// Gets details of a single Backup.
	GetBackup(context.Context, *GetBackupRequest) (*Backup, error)
	// Creates a new Backup in a given project and location.
	CreateBackup(context.Context, *CreateBackupRequest) (*longrunningpb.Operation, error)
	// Updates the parameters of a single Backup.
	UpdateBackup(context.Context, *UpdateBackupRequest) (*longrunningpb.Operation, error)
	// Deletes a single Backup.
	DeleteBackup(context.Context, *DeleteBackupRequest) (*longrunningpb.Operation, error)
	// Lists SupportedDatabaseFlags for a given project and location.
	ListSupportedDatabaseFlags(context.Context, *ListSupportedDatabaseFlagsRequest) (*ListSupportedDatabaseFlagsResponse, error)
	// Generate a client certificate signed by a Cluster CA.
	// The sole purpose of this endpoint is to support AlloyDB connectors and the
	// Auth Proxy client. The endpoint's behavior is subject to change without
	// notice, so do not rely on its behavior remaining constant. Future changes
	// will not break AlloyDB connectors or the Auth Proxy client.
	GenerateClientCertificate(context.Context, *GenerateClientCertificateRequest) (*GenerateClientCertificateResponse, error)
	// Get instance metadata used for a connection.
	GetConnectionInfo(context.Context, *GetConnectionInfoRequest) (*ConnectionInfo, error)
	// Lists Users in a given project and location.
	ListUsers(context.Context, *ListUsersRequest) (*ListUsersResponse, error)
	// Gets details of a single User.
	GetUser(context.Context, *GetUserRequest) (*User, error)
	// Creates a new User in a given project, location, and cluster.
	CreateUser(context.Context, *CreateUserRequest) (*User, error)
	// Updates the parameters of a single User.
	UpdateUser(context.Context, *UpdateUserRequest) (*User, error)
	// Deletes a single User.
	DeleteUser(context.Context, *DeleteUserRequest) (*emptypb.Empty, error)
	// Lists Databases in a given project and location.
	ListDatabases(context.Context, *ListDatabasesRequest) (*ListDatabasesResponse, error)
}

// UnimplementedAlloyDBAdminServer should be embedded to have forward compatible implementations.
type UnimplementedAlloyDBAdminServer struct {
}

func (UnimplementedAlloyDBAdminServer) ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListClusters not implemented")
}
func (UnimplementedAlloyDBAdminServer) GetCluster(context.Context, *GetClusterRequest) (*Cluster, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateCluster(context.Context, *CreateClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) ExportCluster(context.Context, *ExportClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) ImportCluster(context.Context, *ImportClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ImportCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) UpgradeCluster(context.Context, *UpgradeClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpgradeCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) PromoteCluster(context.Context, *PromoteClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PromoteCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) SwitchoverCluster(context.Context, *SwitchoverClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SwitchoverCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) RestoreCluster(context.Context, *RestoreClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RestoreCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateSecondaryCluster(context.Context, *CreateSecondaryClusterRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSecondaryCluster not implemented")
}
func (UnimplementedAlloyDBAdminServer) ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListInstances not implemented")
}
func (UnimplementedAlloyDBAdminServer) GetInstance(context.Context, *GetInstanceRequest) (*Instance, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateInstance(context.Context, *CreateInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateSecondaryInstance(context.Context, *CreateSecondaryInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSecondaryInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) BatchCreateInstances(context.Context, *BatchCreateInstancesRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BatchCreateInstances not implemented")
}
func (UnimplementedAlloyDBAdminServer) UpdateInstance(context.Context, *UpdateInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) DeleteInstance(context.Context, *DeleteInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) FailoverInstance(context.Context, *FailoverInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FailoverInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) InjectFault(context.Context, *InjectFaultRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InjectFault not implemented")
}
func (UnimplementedAlloyDBAdminServer) RestartInstance(context.Context, *RestartInstanceRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RestartInstance not implemented")
}
func (UnimplementedAlloyDBAdminServer) ExecuteSql(context.Context, *ExecuteSqlRequest) (*ExecuteSqlResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExecuteSql not implemented")
}
func (UnimplementedAlloyDBAdminServer) ListBackups(context.Context, *ListBackupsRequest) (*ListBackupsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBackups not implemented")
}
func (UnimplementedAlloyDBAdminServer) GetBackup(context.Context, *GetBackupRequest) (*Backup, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBackup not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateBackup(context.Context, *CreateBackupRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBackup not implemented")
}
func (UnimplementedAlloyDBAdminServer) UpdateBackup(context.Context, *UpdateBackupRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateBackup not implemented")
}
func (UnimplementedAlloyDBAdminServer) DeleteBackup(context.Context, *DeleteBackupRequest) (*longrunningpb.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteBackup not implemented")
}
func (UnimplementedAlloyDBAdminServer) ListSupportedDatabaseFlags(context.Context, *ListSupportedDatabaseFlagsRequest) (*ListSupportedDatabaseFlagsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSupportedDatabaseFlags not implemented")
}
func (UnimplementedAlloyDBAdminServer) GenerateClientCertificate(context.Context, *GenerateClientCertificateRequest) (*GenerateClientCertificateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenerateClientCertificate not implemented")
}
func (UnimplementedAlloyDBAdminServer) GetConnectionInfo(context.Context, *GetConnectionInfoRequest) (*ConnectionInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConnectionInfo not implemented")
}
func (UnimplementedAlloyDBAdminServer) ListUsers(context.Context, *ListUsersRequest) (*ListUsersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListUsers not implemented")
}
func (UnimplementedAlloyDBAdminServer) GetUser(context.Context, *GetUserRequest) (*User, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented")
}
func (UnimplementedAlloyDBAdminServer) CreateUser(context.Context, *CreateUserRequest) (*User, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented")
}
func (UnimplementedAlloyDBAdminServer) UpdateUser(context.Context, *UpdateUserRequest) (*User, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateUser not implemented")
}
func (UnimplementedAlloyDBAdminServer) DeleteUser(context.Context, *DeleteUserRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented")
}
func (UnimplementedAlloyDBAdminServer) ListDatabases(context.Context, *ListDatabasesRequest) (*ListDatabasesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListDatabases not implemented")
}

// UnsafeAlloyDBAdminServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AlloyDBAdminServer will
// result in compilation errors.
type UnsafeAlloyDBAdminServer interface {
	mustEmbedUnimplementedAlloyDBAdminServer()
}

func RegisterAlloyDBAdminServer(s grpc.ServiceRegistrar, srv AlloyDBAdminServer) {
	s.RegisterService(&AlloyDBAdmin_ServiceDesc, srv)
}

func _AlloyDBAdmin_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListClustersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListClusters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListClusters_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListClusters(ctx, req.(*ListClustersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GetCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GetCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GetCluster(ctx, req.(*GetClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateCluster(ctx, req.(*CreateClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).UpdateCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_UpdateCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).UpdateCluster(ctx, req.(*UpdateClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ExportCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExportClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ExportCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ExportCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ExportCluster(ctx, req.(*ExportClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ImportCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ImportCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ImportCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ImportCluster(ctx, req.(*ImportClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_UpgradeCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpgradeClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).UpgradeCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_UpgradeCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).UpgradeCluster(ctx, req.(*UpgradeClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).DeleteCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_DeleteCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).DeleteCluster(ctx, req.(*DeleteClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_PromoteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PromoteClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).PromoteCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_PromoteCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).PromoteCluster(ctx, req.(*PromoteClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_SwitchoverCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SwitchoverClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).SwitchoverCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_SwitchoverCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).SwitchoverCluster(ctx, req.(*SwitchoverClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_RestoreCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RestoreClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).RestoreCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_RestoreCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).RestoreCluster(ctx, req.(*RestoreClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateSecondaryCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSecondaryClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateSecondaryCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateSecondaryCluster_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateSecondaryCluster(ctx, req.(*CreateSecondaryClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ListInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListInstancesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListInstances(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListInstances_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListInstances(ctx, req.(*ListInstancesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GetInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GetInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GetInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GetInstance(ctx, req.(*GetInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateInstance(ctx, req.(*CreateInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateSecondaryInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSecondaryInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateSecondaryInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateSecondaryInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateSecondaryInstance(ctx, req.(*CreateSecondaryInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_BatchCreateInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BatchCreateInstancesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).BatchCreateInstances(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_BatchCreateInstances_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).BatchCreateInstances(ctx, req.(*BatchCreateInstancesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_UpdateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).UpdateInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_UpdateInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).UpdateInstance(ctx, req.(*UpdateInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_DeleteInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).DeleteInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_DeleteInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).DeleteInstance(ctx, req.(*DeleteInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_FailoverInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FailoverInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).FailoverInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_FailoverInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).FailoverInstance(ctx, req.(*FailoverInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_InjectFault_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InjectFaultRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).InjectFault(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_InjectFault_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).InjectFault(ctx, req.(*InjectFaultRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_RestartInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RestartInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).RestartInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_RestartInstance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).RestartInstance(ctx, req.(*RestartInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ExecuteSql_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExecuteSqlRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ExecuteSql(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ExecuteSql_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ExecuteSql(ctx, req.(*ExecuteSqlRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ListBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListBackupsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListBackups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListBackups_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListBackups(ctx, req.(*ListBackupsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GetBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBackupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GetBackup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GetBackup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GetBackup(ctx, req.(*GetBackupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBackupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateBackup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateBackup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateBackup(ctx, req.(*CreateBackupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_UpdateBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateBackupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).UpdateBackup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_UpdateBackup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).UpdateBackup(ctx, req.(*UpdateBackupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_DeleteBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteBackupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).DeleteBackup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_DeleteBackup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).DeleteBackup(ctx, req.(*DeleteBackupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ListSupportedDatabaseFlags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListSupportedDatabaseFlagsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListSupportedDatabaseFlags(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListSupportedDatabaseFlags_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListSupportedDatabaseFlags(ctx, req.(*ListSupportedDatabaseFlagsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GenerateClientCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GenerateClientCertificateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GenerateClientCertificate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GenerateClientCertificate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GenerateClientCertificate(ctx, req.(*GenerateClientCertificateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GetConnectionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetConnectionInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GetConnectionInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GetConnectionInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GetConnectionInfo(ctx, req.(*GetConnectionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ListUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListUsers_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListUsers(ctx, req.(*ListUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).GetUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_GetUser_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).GetUser(ctx, req.(*GetUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).CreateUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_CreateUser_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).CreateUser(ctx, req.(*CreateUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_UpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).UpdateUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_UpdateUser_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).UpdateUser(ctx, req.(*UpdateUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).DeleteUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_DeleteUser_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).DeleteUser(ctx, req.(*DeleteUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AlloyDBAdmin_ListDatabases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListDatabasesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AlloyDBAdminServer).ListDatabases(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AlloyDBAdmin_ListDatabases_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AlloyDBAdminServer).ListDatabases(ctx, req.(*ListDatabasesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// AlloyDBAdmin_ServiceDesc is the grpc.ServiceDesc for AlloyDBAdmin service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AlloyDBAdmin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.alloydb.v1alpha.AlloyDBAdmin",
	HandlerType: (*AlloyDBAdminServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListClusters",
			Handler:    _AlloyDBAdmin_ListClusters_Handler,
		},
		{
			MethodName: "GetCluster",
			Handler:    _AlloyDBAdmin_GetCluster_Handler,
		},
		{
			MethodName: "CreateCluster",
			Handler:    _AlloyDBAdmin_CreateCluster_Handler,
		},
		{
			MethodName: "UpdateCluster",
			Handler:    _AlloyDBAdmin_UpdateCluster_Handler,
		},
		{
			MethodName: "ExportCluster",
			Handler:    _AlloyDBAdmin_ExportCluster_Handler,
		},
		{
			MethodName: "ImportCluster",
			Handler:    _AlloyDBAdmin_ImportCluster_Handler,
		},
		{
			MethodName: "UpgradeCluster",
			Handler:    _AlloyDBAdmin_UpgradeCluster_Handler,
		},
		{
			MethodName: "DeleteCluster",
			Handler:    _AlloyDBAdmin_DeleteCluster_Handler,
		},
		{
			MethodName: "PromoteCluster",
			Handler:    _AlloyDBAdmin_PromoteCluster_Handler,
		},
		{
			MethodName: "SwitchoverCluster",
			Handler:    _AlloyDBAdmin_SwitchoverCluster_Handler,
		},
		{
			MethodName: "RestoreCluster",
			Handler:    _AlloyDBAdmin_RestoreCluster_Handler,
		},
		{
			MethodName: "CreateSecondaryCluster",
			Handler:    _AlloyDBAdmin_CreateSecondaryCluster_Handler,
		},
		{
			MethodName: "ListInstances",
			Handler:    _AlloyDBAdmin_ListInstances_Handler,
		},
		{
			MethodName: "GetInstance",
			Handler:    _AlloyDBAdmin_GetInstance_Handler,
		},
		{
			MethodName: "CreateInstance",
			Handler:    _AlloyDBAdmin_CreateInstance_Handler,
		},
		{
			MethodName: "CreateSecondaryInstance",
			Handler:    _AlloyDBAdmin_CreateSecondaryInstance_Handler,
		},
		{
			MethodName: "BatchCreateInstances",
			Handler:    _AlloyDBAdmin_BatchCreateInstances_Handler,
		},
		{
			MethodName: "UpdateInstance",
			Handler:    _AlloyDBAdmin_UpdateInstance_Handler,
		},
		{
			MethodName: "DeleteInstance",
			Handler:    _AlloyDBAdmin_DeleteInstance_Handler,
		},
		{
			MethodName: "FailoverInstance",
			Handler:    _AlloyDBAdmin_FailoverInstance_Handler,
		},
		{
			MethodName: "InjectFault",
			Handler:    _AlloyDBAdmin_InjectFault_Handler,
		},
		{
			MethodName: "RestartInstance",
			Handler:    _AlloyDBAdmin_RestartInstance_Handler,
		},
		{
			MethodName: "ExecuteSql",
			Handler:    _AlloyDBAdmin_ExecuteSql_Handler,
		},
		{
			MethodName: "ListBackups",
			Handler:    _AlloyDBAdmin_ListBackups_Handler,
		},
		{
			MethodName: "GetBackup",
			Handler:    _AlloyDBAdmin_GetBackup_Handler,
		},
		{
			MethodName: "CreateBackup",
			Handler:    _AlloyDBAdmin_CreateBackup_Handler,
		},
		{
			MethodName: "UpdateBackup",
			Handler:    _AlloyDBAdmin_UpdateBackup_Handler,
		},
		{
			MethodName: "DeleteBackup",
			Handler:    _AlloyDBAdmin_DeleteBackup_Handler,
		},
		{
			MethodName: "ListSupportedDatabaseFlags",
			Handler:    _AlloyDBAdmin_ListSupportedDatabaseFlags_Handler,
		},
		{
			MethodName: "GenerateClientCertificate",
			Handler:    _AlloyDBAdmin_GenerateClientCertificate_Handler,
		},
		{
			MethodName: "GetConnectionInfo",
			Handler:    _AlloyDBAdmin_GetConnectionInfo_Handler,
		},
		{
			MethodName: "ListUsers",
			Handler:    _AlloyDBAdmin_ListUsers_Handler,
		},
		{
			MethodName: "GetUser",
			Handler:    _AlloyDBAdmin_GetUser_Handler,
		},
		{
			MethodName: "CreateUser",
			Handler:    _AlloyDBAdmin_CreateUser_Handler,
		},
		{
			MethodName: "UpdateUser",
			Handler:    _AlloyDBAdmin_UpdateUser_Handler,
		},
		{
			MethodName: "DeleteUser",
			Handler:    _AlloyDBAdmin_DeleteUser_Handler,
		},
		{
			MethodName: "ListDatabases",
			Handler:    _AlloyDBAdmin_ListDatabases_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/alloydb/v1alpha/service.proto",
}
