// Code generated by sdkgen. DO NOT EDIT.

package agent

import (
	"context"

	"google.golang.org/grpc"
)

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

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

// AgentRegistration gets AgentRegistrationService client
func (l *LoadtestingAgentAPI) AgentRegistration() *AgentRegistrationServiceClient {
	return &AgentRegistrationServiceClient{getConn: l.getConn}
}

// Agent gets AgentService client
func (l *LoadtestingAgentAPI) Agent() *AgentServiceClient {
	return &AgentServiceClient{getConn: l.getConn}
}

// Job gets JobService client
func (l *LoadtestingAgentAPI) Job() *JobServiceClient {
	return &JobServiceClient{getConn: l.getConn}
}

// Monitoring gets MonitoringService client
func (l *LoadtestingAgentAPI) Monitoring() *MonitoringServiceClient {
	return &MonitoringServiceClient{getConn: l.getConn}
}

// Test gets TestService client
func (l *LoadtestingAgentAPI) Test() *TestServiceClient {
	return &TestServiceClient{getConn: l.getConn}
}

// Trail gets TrailService client
func (l *LoadtestingAgentAPI) Trail() *TrailServiceClient {
	return &TrailServiceClient{getConn: l.getConn}
}
