// Code generated by sdkgen. DO NOT EDIT.

package containerregistry

import (
	"context"

	"google.golang.org/grpc"
)

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

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

// Registry gets RegistryService client
func (c *ContainerRegistry) Registry() *RegistryServiceClient {
	return &RegistryServiceClient{getConn: c.getConn}
}

// Repository gets RepositoryService client
func (c *ContainerRegistry) Repository() *RepositoryServiceClient {
	return &RepositoryServiceClient{getConn: c.getConn}
}

// Image gets ImageService client
func (c *ContainerRegistry) Image() *ImageServiceClient {
	return &ImageServiceClient{getConn: c.getConn}
}

// LifecyclePolicy gets LifecyclePolicyService client
func (c *ContainerRegistry) LifecyclePolicy() *LifecyclePolicyServiceClient {
	return &LifecyclePolicyServiceClient{getConn: c.getConn}
}

// Scanner gets ScannerService client
func (c *ContainerRegistry) Scanner() *ScannerServiceClient {
	return &ScannerServiceClient{getConn: c.getConn}
}

// ScanPolicy gets ScanPolicyService client
func (c *ContainerRegistry) ScanPolicy() *ScanPolicyServiceClient {
	return &ScanPolicyServiceClient{getConn: c.getConn}
}
