// Code generated by sdkgen. DO NOT EDIT.

package greenplum

import (
	"context"

	"google.golang.org/grpc"
)

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

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

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

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

// PXFDatasource gets PXFDatasourceService client
func (g *Greenplum) PXFDatasource() *PXFDatasourceServiceClient {
	return &PXFDatasourceServiceClient{getConn: g.getConn}
}

// Backup gets BackupService client
func (g *Greenplum) Backup() *BackupServiceClient {
	return &BackupServiceClient{getConn: g.getConn}
}

// HBARule gets HBARuleService client
func (g *Greenplum) HBARule() *HBARuleServiceClient {
	return &HBARuleServiceClient{getConn: g.getConn}
}

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

// ResourceGroup gets ResourceGroupService client
func (g *Greenplum) ResourceGroup() *ResourceGroupServiceClient {
	return &ResourceGroupServiceClient{getConn: g.getConn}
}
