// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/billing/usage_records/v1/billing_types.proto

package usageRecords

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Represents a list of label values for filtering or grouping in usage reports.
// For example, to filter resources with label key "env" that have value "prod" or "test",
// a LabelList with values ["prod", "test"] would be used for the key "env".
type LabelList struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of label values associated with a specific label key.
	Values        []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LabelList) Reset() {
	*x = LabelList{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LabelList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LabelList) ProtoMessage() {}

func (x *LabelList) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LabelList.ProtoReflect.Descriptor instead.
func (*LabelList) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{0}
}

func (x *LabelList) GetValues() []string {
	if x != nil {
		return x.Values
	}
	return nil
}

// Represents a billing account entity
type BillingAccount struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the billing_account entity.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Human-readable display name of the billing account.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BillingAccount) Reset() {
	*x = BillingAccount{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BillingAccount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BillingAccount) ProtoMessage() {}

func (x *BillingAccount) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BillingAccount.ProtoReflect.Descriptor instead.
func (*BillingAccount) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{1}
}

func (x *BillingAccount) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *BillingAccount) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Represents a cloud entity
type Cloud struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the cloud entity.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Human-readable display name of the cloud.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Cloud) Reset() {
	*x = Cloud{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Cloud) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Cloud) ProtoMessage() {}

func (x *Cloud) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Cloud.ProtoReflect.Descriptor instead.
func (*Cloud) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{2}
}

func (x *Cloud) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Cloud) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Represents a folder entity
type Folder struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the folder entity.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Human-readable display name of the folder.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Folder) Reset() {
	*x = Folder{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Folder) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Folder) ProtoMessage() {}

func (x *Folder) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Folder.ProtoReflect.Descriptor instead.
func (*Folder) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{3}
}

func (x *Folder) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Folder) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Represents a service entity
type Service struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the service entity.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Service display name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Service description.
	Description   string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Service) Reset() {
	*x = Service{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Service) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Service) ProtoMessage() {}

func (x *Service) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Service.ProtoReflect.Descriptor instead.
func (*Service) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{4}
}

func (x *Service) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Service) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Service) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// Represents a SKU (Stock Keeping Unit)
type SKU struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the entity (SKU).
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Product (SKU) name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Russian-language display name
	RuTranslation string `protobuf:"bytes,3,opt,name=ru_translation,json=ruTranslation,proto3" json:"ru_translation,omitempty"`
	// English-language display name
	EnTranslation string `protobuf:"bytes,4,opt,name=en_translation,json=enTranslation,proto3" json:"en_translation,omitempty"`
	// Unit of measurement for pricing (e.g., "hour", "byte", "1m*request").
	PricingUnit string `protobuf:"bytes,5,opt,name=pricing_unit,json=pricingUnit,proto3" json:"pricing_unit,omitempty"`
	// The service ID this SKU belongs to;
	ServiceId     string `protobuf:"bytes,6,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SKU) Reset() {
	*x = SKU{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SKU) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SKU) ProtoMessage() {}

func (x *SKU) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SKU.ProtoReflect.Descriptor instead.
func (*SKU) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{5}
}

func (x *SKU) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SKU) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SKU) GetRuTranslation() string {
	if x != nil {
		return x.RuTranslation
	}
	return ""
}

func (x *SKU) GetEnTranslation() string {
	if x != nil {
		return x.EnTranslation
	}
	return ""
}

func (x *SKU) GetPricingUnit() string {
	if x != nil {
		return x.PricingUnit
	}
	return ""
}

func (x *SKU) GetServiceId() string {
	if x != nil {
		return x.ServiceId
	}
	return ""
}

// Represents a resource entity
type Resource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the resource entity.
	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Resource) Reset() {
	*x = Resource{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Resource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Resource) ProtoMessage() {}

func (x *Resource) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Resource.ProtoReflect.Descriptor instead.
func (*Resource) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{6}
}

func (x *Resource) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Represents a key-value label pair attached to resources for custom metadata tagging.
// Labels allow grouping and filtering resources by user-defined dimensions.
type Label struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Label key (e.g., "region", "environment", "team", "project").
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The label value (e.g., "usa", "mexico", "prod", "test", "finance", "backend")
	Value         string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Label) Reset() {
	*x = Label{}
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Label) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Label) ProtoMessage() {}

func (x *Label) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Label.ProtoReflect.Descriptor instead.
func (*Label) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP(), []int{7}
}

func (x *Label) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Label) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

var File_yandex_cloud_billing_usage_records_v1_billing_types_proto protoreflect.FileDescriptor

const file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDesc = "" +
	"\n" +
	"9yandex/cloud/billing/usage_records/v1/billing_types.proto\x12%yandex.cloud.billing.usage_records.v1\"#\n" +
	"\tLabelList\x12\x16\n" +
	"\x06values\x18\x01 \x03(\tR\x06values\"4\n" +
	"\x0eBillingAccount\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"+\n" +
	"\x05Cloud\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\",\n" +
	"\x06Folder\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"O\n" +
	"\aService\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\"\xb9\x01\n" +
	"\x03SKU\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12%\n" +
	"\x0eru_translation\x18\x03 \x01(\tR\rruTranslation\x12%\n" +
	"\x0een_translation\x18\x04 \x01(\tR\renTranslation\x12!\n" +
	"\fpricing_unit\x18\x05 \x01(\tR\vpricingUnit\x12\x1d\n" +
	"\n" +
	"service_id\x18\x06 \x01(\tR\tserviceId\"\x1a\n" +
	"\bResource\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"/\n" +
	"\x05Label\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05valueB\x83\x01\n" +
	")yandex.cloud.api.billing.usage_records.v1ZVgithub.com/yandex-cloud/go-genproto/yandex/cloud/billing/usage_records/v1;usageRecordsb\x06proto3"

var (
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescOnce sync.Once
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescData []byte
)

func file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescGZIP() []byte {
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDesc)))
	})
	return file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDescData
}

var file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_yandex_cloud_billing_usage_records_v1_billing_types_proto_goTypes = []any{
	(*LabelList)(nil),      // 0: yandex.cloud.billing.usage_records.v1.LabelList
	(*BillingAccount)(nil), // 1: yandex.cloud.billing.usage_records.v1.BillingAccount
	(*Cloud)(nil),          // 2: yandex.cloud.billing.usage_records.v1.Cloud
	(*Folder)(nil),         // 3: yandex.cloud.billing.usage_records.v1.Folder
	(*Service)(nil),        // 4: yandex.cloud.billing.usage_records.v1.Service
	(*SKU)(nil),            // 5: yandex.cloud.billing.usage_records.v1.SKU
	(*Resource)(nil),       // 6: yandex.cloud.billing.usage_records.v1.Resource
	(*Label)(nil),          // 7: yandex.cloud.billing.usage_records.v1.Label
}
var file_yandex_cloud_billing_usage_records_v1_billing_types_proto_depIdxs = []int32{
	0, // [0:0] is the sub-list for method output_type
	0, // [0:0] is the sub-list for method input_type
	0, // [0:0] is the sub-list for extension type_name
	0, // [0:0] is the sub-list for extension extendee
	0, // [0:0] is the sub-list for field type_name
}

func init() { file_yandex_cloud_billing_usage_records_v1_billing_types_proto_init() }
func file_yandex_cloud_billing_usage_records_v1_billing_types_proto_init() {
	if File_yandex_cloud_billing_usage_records_v1_billing_types_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_billing_types_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_billing_usage_records_v1_billing_types_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_billing_usage_records_v1_billing_types_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_billing_usage_records_v1_billing_types_proto_msgTypes,
	}.Build()
	File_yandex_cloud_billing_usage_records_v1_billing_types_proto = out.File
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_goTypes = nil
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_depIdxs = nil
}
