// Code generated by sdkgen. DO NOT EDIT.

package vpc

import (
	"context"

	"google.golang.org/grpc"
)

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

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

// Network gets NetworkService client
func (v *VPC) Network() *NetworkServiceClient {
	return &NetworkServiceClient{getConn: v.getConn}
}

// Subnet gets SubnetService client
func (v *VPC) Subnet() *SubnetServiceClient {
	return &SubnetServiceClient{getConn: v.getConn}
}

// RouteTable gets RouteTableService client
func (v *VPC) RouteTable() *RouteTableServiceClient {
	return &RouteTableServiceClient{getConn: v.getConn}
}
