// Code generated by protoc-gen-go. DO NOT EDIT.
// source: yandex/cloud/compute/v1/disk_type_service.proto

package compute // import "github.com/yandex-cloud/go-genproto/yandex/cloud/compute/v1"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/yandex-cloud/go-genproto/yandex/cloud/validation"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type GetDiskTypeRequest struct {
	// ID of the disk type to return information about.
	// To get the disk type ID use a [DiskTypeService.List] request.
	DiskTypeId           string   `protobuf:"bytes,1,opt,name=disk_type_id,json=diskTypeId,proto3" json:"disk_type_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetDiskTypeRequest) Reset()         { *m = GetDiskTypeRequest{} }
func (m *GetDiskTypeRequest) String() string { return proto.CompactTextString(m) }
func (*GetDiskTypeRequest) ProtoMessage()    {}
func (*GetDiskTypeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_disk_type_service_42656155dbce67c7, []int{0}
}
func (m *GetDiskTypeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetDiskTypeRequest.Unmarshal(m, b)
}
func (m *GetDiskTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetDiskTypeRequest.Marshal(b, m, deterministic)
}
func (dst *GetDiskTypeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetDiskTypeRequest.Merge(dst, src)
}
func (m *GetDiskTypeRequest) XXX_Size() int {
	return xxx_messageInfo_GetDiskTypeRequest.Size(m)
}
func (m *GetDiskTypeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetDiskTypeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetDiskTypeRequest proto.InternalMessageInfo

func (m *GetDiskTypeRequest) GetDiskTypeId() string {
	if m != nil {
		return m.DiskTypeId
	}
	return ""
}

type ListDiskTypesRequest struct {
	// The maximum number of results per page to return. If the number of available
	// results is larger than [page_size],
	// the service returns a [ListDiskTypesResponse.next_page_token]
	// that can be used to get the next page of results in subsequent list requests.
	PageSize int64 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Page token. To get the next page of results, set [page_token] to the
	// [ListDiskTypesResponse.next_page_token] returned by a previous list request.
	PageToken            string   `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListDiskTypesRequest) Reset()         { *m = ListDiskTypesRequest{} }
func (m *ListDiskTypesRequest) String() string { return proto.CompactTextString(m) }
func (*ListDiskTypesRequest) ProtoMessage()    {}
func (*ListDiskTypesRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_disk_type_service_42656155dbce67c7, []int{1}
}
func (m *ListDiskTypesRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListDiskTypesRequest.Unmarshal(m, b)
}
func (m *ListDiskTypesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListDiskTypesRequest.Marshal(b, m, deterministic)
}
func (dst *ListDiskTypesRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListDiskTypesRequest.Merge(dst, src)
}
func (m *ListDiskTypesRequest) XXX_Size() int {
	return xxx_messageInfo_ListDiskTypesRequest.Size(m)
}
func (m *ListDiskTypesRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ListDiskTypesRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ListDiskTypesRequest proto.InternalMessageInfo

func (m *ListDiskTypesRequest) GetPageSize() int64 {
	if m != nil {
		return m.PageSize
	}
	return 0
}

func (m *ListDiskTypesRequest) GetPageToken() string {
	if m != nil {
		return m.PageToken
	}
	return ""
}

type ListDiskTypesResponse struct {
	// List of disk types.
	DiskTypes []*DiskType `protobuf:"bytes,1,rep,name=disk_types,json=diskTypes,proto3" json:"disk_types,omitempty"`
	// This token allows you to get the next page of results for list requests. If the number of results
	// is larger than [ListDiskTypesRequest.page_size], use
	// the [next_page_token] as the value
	// for the [ListDiskTypesRequest.page_token] query parameter
	// in the next list request. Each subsequent list request will have its own
	// [next_page_token] to continue paging through the results.
	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListDiskTypesResponse) Reset()         { *m = ListDiskTypesResponse{} }
func (m *ListDiskTypesResponse) String() string { return proto.CompactTextString(m) }
func (*ListDiskTypesResponse) ProtoMessage()    {}
func (*ListDiskTypesResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_disk_type_service_42656155dbce67c7, []int{2}
}
func (m *ListDiskTypesResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListDiskTypesResponse.Unmarshal(m, b)
}
func (m *ListDiskTypesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListDiskTypesResponse.Marshal(b, m, deterministic)
}
func (dst *ListDiskTypesResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListDiskTypesResponse.Merge(dst, src)
}
func (m *ListDiskTypesResponse) XXX_Size() int {
	return xxx_messageInfo_ListDiskTypesResponse.Size(m)
}
func (m *ListDiskTypesResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ListDiskTypesResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ListDiskTypesResponse proto.InternalMessageInfo

func (m *ListDiskTypesResponse) GetDiskTypes() []*DiskType {
	if m != nil {
		return m.DiskTypes
	}
	return nil
}

func (m *ListDiskTypesResponse) GetNextPageToken() string {
	if m != nil {
		return m.NextPageToken
	}
	return ""
}

func init() {
	proto.RegisterType((*GetDiskTypeRequest)(nil), "yandex.cloud.compute.v1.GetDiskTypeRequest")
	proto.RegisterType((*ListDiskTypesRequest)(nil), "yandex.cloud.compute.v1.ListDiskTypesRequest")
	proto.RegisterType((*ListDiskTypesResponse)(nil), "yandex.cloud.compute.v1.ListDiskTypesResponse")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// DiskTypeServiceClient is the client API for DiskTypeService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type DiskTypeServiceClient interface {
	// Returns the information about specified disk type.
	//
	// To get the list of available disk types, make a [List] request.
	Get(ctx context.Context, in *GetDiskTypeRequest, opts ...grpc.CallOption) (*DiskType, error)
	// Retrieves the list of disk types for the specified folder.
	List(ctx context.Context, in *ListDiskTypesRequest, opts ...grpc.CallOption) (*ListDiskTypesResponse, error)
}

type diskTypeServiceClient struct {
	cc *grpc.ClientConn
}

func NewDiskTypeServiceClient(cc *grpc.ClientConn) DiskTypeServiceClient {
	return &diskTypeServiceClient{cc}
}

func (c *diskTypeServiceClient) Get(ctx context.Context, in *GetDiskTypeRequest, opts ...grpc.CallOption) (*DiskType, error) {
	out := new(DiskType)
	err := c.cc.Invoke(ctx, "/yandex.cloud.compute.v1.DiskTypeService/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *diskTypeServiceClient) List(ctx context.Context, in *ListDiskTypesRequest, opts ...grpc.CallOption) (*ListDiskTypesResponse, error) {
	out := new(ListDiskTypesResponse)
	err := c.cc.Invoke(ctx, "/yandex.cloud.compute.v1.DiskTypeService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// DiskTypeServiceServer is the server API for DiskTypeService service.
type DiskTypeServiceServer interface {
	// Returns the information about specified disk type.
	//
	// To get the list of available disk types, make a [List] request.
	Get(context.Context, *GetDiskTypeRequest) (*DiskType, error)
	// Retrieves the list of disk types for the specified folder.
	List(context.Context, *ListDiskTypesRequest) (*ListDiskTypesResponse, error)
}

func RegisterDiskTypeServiceServer(s *grpc.Server, srv DiskTypeServiceServer) {
	s.RegisterService(&_DiskTypeService_serviceDesc, srv)
}

func _DiskTypeService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDiskTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DiskTypeServiceServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/yandex.cloud.compute.v1.DiskTypeService/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DiskTypeServiceServer).Get(ctx, req.(*GetDiskTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DiskTypeService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListDiskTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DiskTypeServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/yandex.cloud.compute.v1.DiskTypeService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DiskTypeServiceServer).List(ctx, req.(*ListDiskTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _DiskTypeService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "yandex.cloud.compute.v1.DiskTypeService",
	HandlerType: (*DiskTypeServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Get",
			Handler:    _DiskTypeService_Get_Handler,
		},
		{
			MethodName: "List",
			Handler:    _DiskTypeService_List_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "yandex/cloud/compute/v1/disk_type_service.proto",
}

func init() {
	proto.RegisterFile("yandex/cloud/compute/v1/disk_type_service.proto", fileDescriptor_disk_type_service_42656155dbce67c7)
}

var fileDescriptor_disk_type_service_42656155dbce67c7 = []byte{
	// 427 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0xaa, 0xd3, 0x40,
	0x14, 0xc6, 0x49, 0x7b, 0xbd, 0x98, 0xa3, 0x72, 0x61, 0xf0, 0x72, 0x4b, 0xf0, 0xc2, 0x35, 0x48,
	0x5b, 0xd0, 0x66, 0x9a, 0xba, 0xb4, 0x82, 0x54, 0xa5, 0x08, 0x2e, 0x24, 0xed, 0xca, 0x4d, 0x48,
	0x9b, 0x43, 0x1c, 0x5a, 0x67, 0x62, 0x67, 0x12, 0xda, 0x8a, 0x0b, 0xff, 0xac, 0xdc, 0xba, 0xf7,
	0x75, 0xea, 0xde, 0x57, 0x70, 0xe1, 0x33, 0xb8, 0x92, 0x4c, 0x92, 0xaa, 0xb5, 0xa1, 0x77, 0x17,
	0x72, 0xbe, 0xef, 0x9c, 0xdf, 0x9c, 0x6f, 0x06, 0xe8, 0x2a, 0xe0, 0x21, 0x2e, 0xe9, 0x74, 0x2e,
	0x92, 0x90, 0x4e, 0xc5, 0xeb, 0x38, 0x51, 0x48, 0x53, 0x97, 0x86, 0x4c, 0xce, 0x7c, 0xb5, 0x8a,
	0xd1, 0x97, 0xb8, 0x48, 0xd9, 0x14, 0x9d, 0x78, 0x21, 0x94, 0x20, 0x67, 0xb9, 0xc1, 0xd1, 0x06,
	0xa7, 0x30, 0x38, 0xa9, 0x6b, 0xdd, 0x8a, 0x84, 0x88, 0xe6, 0x48, 0x83, 0x98, 0xd1, 0x80, 0x73,
	0xa1, 0x02, 0xc5, 0x04, 0x97, 0xb9, 0xcd, 0x6a, 0x1d, 0x9c, 0x53, 0x08, 0xcf, 0xff, 0x11, 0xa6,
	0xc1, 0x9c, 0x85, 0xba, 0x51, 0x5e, 0xb6, 0xfb, 0x40, 0x86, 0xa8, 0x9e, 0x30, 0x39, 0x1b, 0xaf,
	0x62, 0xf4, 0xf0, 0x4d, 0x82, 0x52, 0x91, 0x26, 0x5c, 0xff, 0xc3, 0xcb, 0xc2, 0x86, 0x71, 0x61,
	0xb4, 0xcd, 0xc1, 0xd1, 0xcf, 0x8d, 0x6b, 0x78, 0x10, 0x16, 0xe2, 0x67, 0xa1, 0xcd, 0xe0, 0xe6,
	0x73, 0x26, 0xb7, 0x76, 0x59, 0xfa, 0x5b, 0x60, 0xc6, 0x41, 0x84, 0xbe, 0x64, 0x6b, 0xd4, 0xe6,
	0xfa, 0x00, 0x7e, 0x6d, 0xdc, 0xe3, 0xfe, 0x43, 0xb7, 0xdb, 0xed, 0x7a, 0x57, 0xb3, 0xe2, 0x88,
	0xad, 0x91, 0xb4, 0x01, 0xb4, 0x50, 0x89, 0x19, 0xf2, 0x46, 0x4d, 0x8f, 0x31, 0x3f, 0x7f, 0x73,
	0xaf, 0x68, 0xa5, 0xa7, 0xbb, 0x8c, 0xb3, 0x9a, 0xfd, 0xde, 0x80, 0xd3, 0x9d, 0x59, 0x32, 0x16,
	0x5c, 0x22, 0x79, 0x04, 0xb0, 0x85, 0x95, 0x0d, 0xe3, 0xa2, 0xde, 0xbe, 0xd6, 0xbb, 0xed, 0x54,
	0xac, 0xd5, 0xd9, 0x1e, 0xd5, 0x2c, 0xcf, 0x21, 0x49, 0x13, 0x4e, 0x38, 0x2e, 0x95, 0xbf, 0x8b,
	0xe2, 0xdd, 0xc8, 0x7e, 0xbf, 0x28, 0x19, 0x7a, 0x5f, 0x6b, 0x70, 0x52, 0xfa, 0x47, 0x79, 0x8a,
	0xe4, 0xa3, 0x01, 0xf5, 0x21, 0x2a, 0x72, 0xb7, 0x72, 0xe2, 0xff, 0xfb, 0xb5, 0x0e, 0xe3, 0xd9,
	0xf7, 0x3e, 0x7c, 0xff, 0xf1, 0xa5, 0xd6, 0x24, 0x77, 0x76, 0xc3, 0xd5, 0xc8, 0xf4, 0xed, 0xdf,
	0xf9, 0xbc, 0x23, 0x9f, 0x0c, 0x38, 0xca, 0xb6, 0x43, 0x3a, 0x95, 0x9d, 0xf7, 0x05, 0x65, 0x39,
	0x97, 0x95, 0xe7, 0xbb, 0xb6, 0xcf, 0x35, 0xd5, 0x19, 0x39, 0xdd, 0x4b, 0x35, 0x78, 0xfa, 0xf2,
	0x71, 0xc4, 0xd4, 0xab, 0x64, 0x92, 0x75, 0x2a, 0x9e, 0x42, 0x27, 0xbf, 0x79, 0x91, 0xe8, 0x44,
	0xc8, 0xf5, 0xa5, 0xab, 0x7a, 0x23, 0x0f, 0x8a, 0xcf, 0xc9, 0xb1, 0x96, 0xdd, 0xff, 0x1d, 0x00,
	0x00, 0xff, 0xff, 0xf1, 0x82, 0x37, 0x5b, 0x4d, 0x03, 0x00, 0x00,
}
