# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from google.cloud.bigtable_admin_v2.proto import bigtable_instance_admin_pb2 as google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2
from google.cloud.bigtable_admin_v2.proto import instance_pb2 as google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2
from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2
from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2
from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


class BigtableInstanceAdminStub(object):
  """Service for creating, configuring, and deleting Cloud Bigtable Instances and
  Clusters. Provides access to the Instance and Cluster schemas only, not the
  tables' metadata or data stored in those tables.
  """

  def __init__(self, channel):
    """Constructor.

    Args:
      channel: A grpc.Channel.
    """
    self.CreateInstance = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateInstance',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateInstanceRequest.SerializeToString,
        response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        )
    self.GetInstance = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetInstance',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetInstanceRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.FromString,
        )
    self.ListInstances = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListInstances',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListInstancesRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListInstancesResponse.FromString,
        )
    self.UpdateInstance = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateInstance',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.FromString,
        )
    self.PartialUpdateInstance = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/PartialUpdateInstance',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.PartialUpdateInstanceRequest.SerializeToString,
        response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        )
    self.DeleteInstance = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteInstance',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteInstanceRequest.SerializeToString,
        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
        )
    self.CreateCluster = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateCluster',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateClusterRequest.SerializeToString,
        response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        )
    self.GetCluster = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetCluster',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetClusterRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Cluster.FromString,
        )
    self.ListClusters = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListClusters',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListClustersRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListClustersResponse.FromString,
        )
    self.UpdateCluster = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateCluster',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Cluster.SerializeToString,
        response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        )
    self.DeleteCluster = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteCluster',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteClusterRequest.SerializeToString,
        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
        )
    self.CreateAppProfile = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateAppProfile',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateAppProfileRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.AppProfile.FromString,
        )
    self.GetAppProfile = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetAppProfile',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetAppProfileRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.AppProfile.FromString,
        )
    self.ListAppProfiles = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/ListAppProfiles',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListAppProfilesRequest.SerializeToString,
        response_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListAppProfilesResponse.FromString,
        )
    self.UpdateAppProfile = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateAppProfile',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.UpdateAppProfileRequest.SerializeToString,
        response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
        )
    self.DeleteAppProfile = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteAppProfile',
        request_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteAppProfileRequest.SerializeToString,
        response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
        )
    self.GetIamPolicy = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/GetIamPolicy',
        request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString,
        response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString,
        )
    self.SetIamPolicy = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/SetIamPolicy',
        request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString,
        response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString,
        )
    self.TestIamPermissions = channel.unary_unary(
        '/google.bigtable.admin.v2.BigtableInstanceAdmin/TestIamPermissions',
        request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString,
        response_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString,
        )


class BigtableInstanceAdminServicer(object):
  """Service for creating, configuring, and deleting Cloud Bigtable Instances and
  Clusters. Provides access to the Instance and Cluster schemas only, not the
  tables' metadata or data stored in those tables.
  """

  def CreateInstance(self, request, context):
    """Create an instance within a project.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetInstance(self, request, context):
    """Gets information about an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def ListInstances(self, request, context):
    """Lists information about instances in a project.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def UpdateInstance(self, request, context):
    """Updates an instance within a project.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def PartialUpdateInstance(self, request, context):
    """Partially updates an instance within a project.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def DeleteInstance(self, request, context):
    """Delete an instance from a project.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def CreateCluster(self, request, context):
    """Creates a cluster within an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetCluster(self, request, context):
    """Gets information about a cluster.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def ListClusters(self, request, context):
    """Lists information about clusters in an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def UpdateCluster(self, request, context):
    """Updates a cluster within an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def DeleteCluster(self, request, context):
    """Deletes a cluster from an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def CreateAppProfile(self, request, context):
    """This is a private alpha release of Cloud Bigtable replication. This feature
    is not currently available to most Cloud Bigtable customers. This feature
    might be changed in backward-incompatible ways and is not recommended for
    production use. It is not subject to any SLA or deprecation policy.

    Creates an app profile within an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetAppProfile(self, request, context):
    """This is a private alpha release of Cloud Bigtable replication. This feature
    is not currently available to most Cloud Bigtable customers. This feature
    might be changed in backward-incompatible ways and is not recommended for
    production use. It is not subject to any SLA or deprecation policy.

    Gets information about an app profile.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def ListAppProfiles(self, request, context):
    """This is a private alpha release of Cloud Bigtable replication. This feature
    is not currently available to most Cloud Bigtable customers. This feature
    might be changed in backward-incompatible ways and is not recommended for
    production use. It is not subject to any SLA or deprecation policy.

    Lists information about app profiles in an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def UpdateAppProfile(self, request, context):
    """This is a private alpha release of Cloud Bigtable replication. This feature
    is not currently available to most Cloud Bigtable customers. This feature
    might be changed in backward-incompatible ways and is not recommended for
    production use. It is not subject to any SLA or deprecation policy.

    Updates an app profile within an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def DeleteAppProfile(self, request, context):
    """This is a private alpha release of Cloud Bigtable replication. This feature
    is not currently available to most Cloud Bigtable customers. This feature
    might be changed in backward-incompatible ways and is not recommended for
    production use. It is not subject to any SLA or deprecation policy.

    Deletes an app profile from an instance.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetIamPolicy(self, request, context):
    """This is a private alpha release of Cloud Bigtable instance level
    permissions. This feature is not currently available to most Cloud Bigtable
    customers. This feature might be changed in backward-incompatible ways and
    is not recommended for production use. It is not subject to any SLA or
    deprecation policy.

    Gets the access control policy for an instance resource. Returns an empty
    policy if an instance exists but does not have a policy set.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SetIamPolicy(self, request, context):
    """This is a private alpha release of Cloud Bigtable instance level
    permissions. This feature is not currently available to most Cloud Bigtable
    customers. This feature might be changed in backward-incompatible ways and
    is not recommended for production use. It is not subject to any SLA or
    deprecation policy.

    Sets the access control policy on an instance resource. Replaces any
    existing policy.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def TestIamPermissions(self, request, context):
    """This is a private alpha release of Cloud Bigtable instance level
    permissions. This feature is not currently available to most Cloud Bigtable
    customers. This feature might be changed in backward-incompatible ways and
    is not recommended for production use. It is not subject to any SLA or
    deprecation policy.

    Returns permissions that the caller has on the specified instance resource.
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')


def add_BigtableInstanceAdminServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'CreateInstance': grpc.unary_unary_rpc_method_handler(
          servicer.CreateInstance,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateInstanceRequest.FromString,
          response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
      ),
      'GetInstance': grpc.unary_unary_rpc_method_handler(
          servicer.GetInstance,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetInstanceRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.SerializeToString,
      ),
      'ListInstances': grpc.unary_unary_rpc_method_handler(
          servicer.ListInstances,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListInstancesRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListInstancesResponse.SerializeToString,
      ),
      'UpdateInstance': grpc.unary_unary_rpc_method_handler(
          servicer.UpdateInstance,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Instance.SerializeToString,
      ),
      'PartialUpdateInstance': grpc.unary_unary_rpc_method_handler(
          servicer.PartialUpdateInstance,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.PartialUpdateInstanceRequest.FromString,
          response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
      ),
      'DeleteInstance': grpc.unary_unary_rpc_method_handler(
          servicer.DeleteInstance,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteInstanceRequest.FromString,
          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ),
      'CreateCluster': grpc.unary_unary_rpc_method_handler(
          servicer.CreateCluster,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateClusterRequest.FromString,
          response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
      ),
      'GetCluster': grpc.unary_unary_rpc_method_handler(
          servicer.GetCluster,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetClusterRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Cluster.SerializeToString,
      ),
      'ListClusters': grpc.unary_unary_rpc_method_handler(
          servicer.ListClusters,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListClustersRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListClustersResponse.SerializeToString,
      ),
      'UpdateCluster': grpc.unary_unary_rpc_method_handler(
          servicer.UpdateCluster,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.Cluster.FromString,
          response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
      ),
      'DeleteCluster': grpc.unary_unary_rpc_method_handler(
          servicer.DeleteCluster,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteClusterRequest.FromString,
          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ),
      'CreateAppProfile': grpc.unary_unary_rpc_method_handler(
          servicer.CreateAppProfile,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.CreateAppProfileRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.AppProfile.SerializeToString,
      ),
      'GetAppProfile': grpc.unary_unary_rpc_method_handler(
          servicer.GetAppProfile,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.GetAppProfileRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_instance__pb2.AppProfile.SerializeToString,
      ),
      'ListAppProfiles': grpc.unary_unary_rpc_method_handler(
          servicer.ListAppProfiles,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListAppProfilesRequest.FromString,
          response_serializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.ListAppProfilesResponse.SerializeToString,
      ),
      'UpdateAppProfile': grpc.unary_unary_rpc_method_handler(
          servicer.UpdateAppProfile,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.UpdateAppProfileRequest.FromString,
          response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
      ),
      'DeleteAppProfile': grpc.unary_unary_rpc_method_handler(
          servicer.DeleteAppProfile,
          request_deserializer=google_dot_cloud_dot_bigtable_dot_admin__v2_dot_proto_dot_bigtable__instance__admin__pb2.DeleteAppProfileRequest.FromString,
          response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ),
      'GetIamPolicy': grpc.unary_unary_rpc_method_handler(
          servicer.GetIamPolicy,
          request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.FromString,
          response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString,
      ),
      'SetIamPolicy': grpc.unary_unary_rpc_method_handler(
          servicer.SetIamPolicy,
          request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.FromString,
          response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString,
      ),
      'TestIamPermissions': grpc.unary_unary_rpc_method_handler(
          servicer.TestIamPermissions,
          request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.FromString,
          response_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'google.bigtable.admin.v2.BigtableInstanceAdmin', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))
