// Code generated by sdkgen. DO NOT EDIT.

package kafka

import (
	"context"

	"google.golang.org/grpc"
)

// Kafka provides access to "kafka" component of Yandex.Cloud
type Kafka struct {
	getConn func(ctx context.Context) (*grpc.ClientConn, error)
}

// NewKafka creates instance of Kafka
func NewKafka(g func(ctx context.Context) (*grpc.ClientConn, error)) *Kafka {
	return &Kafka{g}
}

// Cluster gets ClusterService client
func (k *Kafka) Cluster() *ClusterServiceClient {
	return &ClusterServiceClient{getConn: k.getConn}
}

// Topic gets TopicService client
func (k *Kafka) Topic() *TopicServiceClient {
	return &TopicServiceClient{getConn: k.getConn}
}

// User gets UserService client
func (k *Kafka) User() *UserServiceClient {
	return &UserServiceClient{getConn: k.getConn}
}

// ResourcePreset gets ResourcePresetService client
func (k *Kafka) ResourcePreset() *ResourcePresetServiceClient {
	return &ResourcePresetServiceClient{getConn: k.getConn}
}

// Connector gets ConnectorService client
func (k *Kafka) Connector() *ConnectorServiceClient {
	return &ConnectorServiceClient{getConn: k.getConn}
}
