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

package usageRecords

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// Usage and billing data for the billing account entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the specified billing account across the entire period and a time series breakdown.
type BillingAccountUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this billing account.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this billing account.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this billing account.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the specified billing account entity.
	BillingAccount *BillingAccount `protobuf:"bytes,4,opt,name=billing_account,json=billingAccount,proto3" json:"billing_account,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BillingAccountUsageReportEntityData) ProtoMessage() {}

func (x *BillingAccountUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 BillingAccountUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*BillingAccountUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{0}
}

func (x *BillingAccountUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *BillingAccountUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *BillingAccountUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *BillingAccountUsageReportEntityData) GetBillingAccount() *BillingAccount {
	if x != nil {
		return x.BillingAccount
	}
	return nil
}

func (x *BillingAccountUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a cloud entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type CloudUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this cloud.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this cloud.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this cloud.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the cloud entity.
	Cloud *Cloud `protobuf:"bytes,4,opt,name=cloud,proto3" json:"cloud,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CloudUsageReportEntityData) ProtoMessage() {}

func (x *CloudUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 CloudUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*CloudUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{1}
}

func (x *CloudUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *CloudUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *CloudUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *CloudUsageReportEntityData) GetCloud() *Cloud {
	if x != nil {
		return x.Cloud
	}
	return nil
}

func (x *CloudUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a folder entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type FolderUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this folder.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this folder.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this folder.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the folder entity.
	Folder *Folder `protobuf:"bytes,4,opt,name=folder,proto3" json:"folder,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FolderUsageReportEntityData) ProtoMessage() {}

func (x *FolderUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 FolderUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*FolderUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{2}
}

func (x *FolderUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *FolderUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *FolderUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *FolderUsageReportEntityData) GetFolder() *Folder {
	if x != nil {
		return x.Folder
	}
	return nil
}

func (x *FolderUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a service entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type ServiceUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this service.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this service.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this service.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the service entity.
	Service *Service `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServiceUsageReportEntityData) ProtoMessage() {}

func (x *ServiceUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 ServiceUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*ServiceUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{3}
}

func (x *ServiceUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *ServiceUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *ServiceUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *ServiceUsageReportEntityData) GetService() *Service {
	if x != nil {
		return x.Service
	}
	return nil
}

func (x *ServiceUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a SKU entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type SKUUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this entity.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this entity.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this entity.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Total resource usage (pricing quantity) for this entity, measured in pricing units.
	PricingQuantity *StringDecimal `protobuf:"bytes,4,opt,name=pricing_quantity,json=pricingQuantity,proto3" json:"pricing_quantity,omitempty"`
	// Metadata for a product/SKU entity.
	Sku *SKU `protobuf:"bytes,5,opt,name=sku,proto3" json:"sku,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,6,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SKUUsageReportEntityData) ProtoMessage() {}

func (x *SKUUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 SKUUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*SKUUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{4}
}

func (x *SKUUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *SKUUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *SKUUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *SKUUsageReportEntityData) GetPricingQuantity() *StringDecimal {
	if x != nil {
		return x.PricingQuantity
	}
	return nil
}

func (x *SKUUsageReportEntityData) GetSku() *SKU {
	if x != nil {
		return x.Sku
	}
	return nil
}

func (x *SKUUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a resource entity in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type ResourceUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this label group.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this label group.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this label group.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the label-based grouping.
	Resource *Resource `protobuf:"bytes,4,opt,name=resource,proto3" json:"resource,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResourceUsageReportEntityData) ProtoMessage() {}

func (x *ResourceUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 ResourceUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*ResourceUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{5}
}

func (x *ResourceUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *ResourceUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *ResourceUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *ResourceUsageReportEntityData) GetResource() *Resource {
	if x != nil {
		return x.Resource
	}
	return nil
}

func (x *ResourceUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Usage and billing data for a label-based entity/grouping in the report.
// This represents the second level in the response structure hierarchy (entity-level totals),
// containing both summary data for the entity across the entire period and a time series breakdown.
type LabelUsageReportEntityData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total cost associated with this label group.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Total credits (discounts, grants, adjustments) applied to this label group.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this label group.
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Metadata for the label-based grouping.
	Label *Label `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"`
	// Time series with usage and billing details for each TimeGrouping period (e.g., daily).
	Periodic      []*UsageReportPeriodicData `protobuf:"bytes,5,rep,name=periodic,proto3" json:"periodic,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LabelUsageReportEntityData) ProtoMessage() {}

func (x *LabelUsageReportEntityData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 LabelUsageReportEntityData.ProtoReflect.Descriptor instead.
func (*LabelUsageReportEntityData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{6}
}

func (x *LabelUsageReportEntityData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *LabelUsageReportEntityData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *LabelUsageReportEntityData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *LabelUsageReportEntityData) GetLabel() *Label {
	if x != nil {
		return x.Label
	}
	return nil
}

func (x *LabelUsageReportEntityData) GetPeriodic() []*UsageReportPeriodicData {
	if x != nil {
		return x.Periodic
	}
	return nil
}

// Represents usage and billing data for a specific aggregation period (e.g., a single day, month).
// This message is part of the third level in the response structure hierarchy, providing the
// time series breakdown for entities. It appears in the 'periodic' field of each entity data object,
// containing financial metrics for each time interval within the requested date range.
type UsageReportPeriodicData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Cost incurred during this specific period.
	// This is the raw cost before any credits are applied.
	Cost *StringDecimal `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"`
	// Credits applied during this period.
	// Contains a detailed breakdown of all credit types (monetary grants, volume incentives, etc.)
	// that were applied during this specific time interval.
	CreditDetails *CreditDetails `protobuf:"bytes,2,opt,name=credit_details,json=creditDetails,proto3" json:"credit_details,omitempty"`
	// Total expense (including cost and credit) for this period.
	// This is the final billable amount after all credits have been applied.
	// Formula: expense = cost + credit_details.credit
	Expense *StringDecimal `protobuf:"bytes,3,opt,name=expense,proto3" json:"expense,omitempty"`
	// Timestamp indicating the beginning of the TimeGrouping period.
	Timestamp     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UsageReportPeriodicData) ProtoMessage() {}

func (x *UsageReportPeriodicData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_billing_usage_records_v1_consumption_core_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 UsageReportPeriodicData.ProtoReflect.Descriptor instead.
func (*UsageReportPeriodicData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP(), []int{7}
}

func (x *UsageReportPeriodicData) GetCost() *StringDecimal {
	if x != nil {
		return x.Cost
	}
	return nil
}

func (x *UsageReportPeriodicData) GetCreditDetails() *CreditDetails {
	if x != nil {
		return x.CreditDetails
	}
	return nil
}

func (x *UsageReportPeriodicData) GetExpense() *StringDecimal {
	if x != nil {
		return x.Expense
	}
	return nil
}

func (x *UsageReportPeriodicData) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

var File_yandex_cloud_billing_usage_records_v1_consumption_core_proto protoreflect.FileDescriptor

const file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDesc = "" +
	"\n" +
	"<yandex/cloud/billing/usage_records/v1/consumption_core.proto\x12%yandex.cloud.billing.usage_records.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a9yandex/cloud/billing/usage_records/v1/billing_types.proto\x1a8yandex/cloud/billing/usage_records/v1/common_types.proto\x1a2yandex/cloud/billing/usage_records/v1/credit.proto\"\xd8\x03\n" +
	"#BillingAccountUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12^\n" +
	"\x0fbilling_account\x18\x04 \x01(\v25.yandex.cloud.billing.usage_records.v1.BillingAccountR\x0ebillingAccount\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xb3\x03\n" +
	"\x1aCloudUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12B\n" +
	"\x05cloud\x18\x04 \x01(\v2,.yandex.cloud.billing.usage_records.v1.CloudR\x05cloud\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xb7\x03\n" +
	"\x1bFolderUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12E\n" +
	"\x06folder\x18\x04 \x01(\v2-.yandex.cloud.billing.usage_records.v1.FolderR\x06folder\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xbb\x03\n" +
	"\x1cServiceUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12H\n" +
	"\aservice\x18\x04 \x01(\v2..yandex.cloud.billing.usage_records.v1.ServiceR\aservice\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\x8c\x04\n" +
	"\x18SKUUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12_\n" +
	"\x10pricing_quantity\x18\x04 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x0fpricingQuantity\x12<\n" +
	"\x03sku\x18\x05 \x01(\v2*.yandex.cloud.billing.usage_records.v1.SKUR\x03sku\x12Z\n" +
	"\bperiodic\x18\x06 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xbf\x03\n" +
	"\x1dResourceUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12K\n" +
	"\bresource\x18\x04 \x01(\v2/.yandex.cloud.billing.usage_records.v1.ResourceR\bresource\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xb3\x03\n" +
	"\x1aLabelUsageReportEntityData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x12B\n" +
	"\x05label\x18\x04 \x01(\v2,.yandex.cloud.billing.usage_records.v1.LabelR\x05label\x12Z\n" +
	"\bperiodic\x18\x05 \x03(\v2>.yandex.cloud.billing.usage_records.v1.UsageReportPeriodicDataR\bperiodic\"\xca\x02\n" +
	"\x17UsageReportPeriodicData\x12H\n" +
	"\x04cost\x18\x01 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\x04cost\x12[\n" +
	"\x0ecredit_details\x18\x02 \x01(\v24.yandex.cloud.billing.usage_records.v1.CreditDetailsR\rcreditDetails\x12N\n" +
	"\aexpense\x18\x03 \x01(\v24.yandex.cloud.billing.usage_records.v1.StringDecimalR\aexpense\x128\n" +
	"\ttimestamp\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestampB\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_consumption_core_proto_rawDescOnce sync.Once
	file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescData []byte
)

func file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescGZIP() []byte {
	file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDesc)))
	})
	return file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDescData
}

var file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_goTypes = []any{
	(*BillingAccountUsageReportEntityData)(nil), // 0: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData
	(*CloudUsageReportEntityData)(nil),          // 1: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData
	(*FolderUsageReportEntityData)(nil),         // 2: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData
	(*ServiceUsageReportEntityData)(nil),        // 3: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData
	(*SKUUsageReportEntityData)(nil),            // 4: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData
	(*ResourceUsageReportEntityData)(nil),       // 5: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData
	(*LabelUsageReportEntityData)(nil),          // 6: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData
	(*UsageReportPeriodicData)(nil),             // 7: yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	(*StringDecimal)(nil),                       // 8: yandex.cloud.billing.usage_records.v1.StringDecimal
	(*CreditDetails)(nil),                       // 9: yandex.cloud.billing.usage_records.v1.CreditDetails
	(*BillingAccount)(nil),                      // 10: yandex.cloud.billing.usage_records.v1.BillingAccount
	(*Cloud)(nil),                               // 11: yandex.cloud.billing.usage_records.v1.Cloud
	(*Folder)(nil),                              // 12: yandex.cloud.billing.usage_records.v1.Folder
	(*Service)(nil),                             // 13: yandex.cloud.billing.usage_records.v1.Service
	(*SKU)(nil),                                 // 14: yandex.cloud.billing.usage_records.v1.SKU
	(*Resource)(nil),                            // 15: yandex.cloud.billing.usage_records.v1.Resource
	(*Label)(nil),                               // 16: yandex.cloud.billing.usage_records.v1.Label
	(*timestamppb.Timestamp)(nil),               // 17: google.protobuf.Timestamp
}
var file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_depIdxs = []int32{
	8,  // 0: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 1: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 2: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	10, // 3: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData.billing_account:type_name -> yandex.cloud.billing.usage_records.v1.BillingAccount
	7,  // 4: yandex.cloud.billing.usage_records.v1.BillingAccountUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 5: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 6: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 7: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	11, // 8: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData.cloud:type_name -> yandex.cloud.billing.usage_records.v1.Cloud
	7,  // 9: yandex.cloud.billing.usage_records.v1.CloudUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 10: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 11: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 12: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	12, // 13: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData.folder:type_name -> yandex.cloud.billing.usage_records.v1.Folder
	7,  // 14: yandex.cloud.billing.usage_records.v1.FolderUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 15: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 16: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 17: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	13, // 18: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData.service:type_name -> yandex.cloud.billing.usage_records.v1.Service
	7,  // 19: yandex.cloud.billing.usage_records.v1.ServiceUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 20: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 21: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 22: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	8,  // 23: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.pricing_quantity:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	14, // 24: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.sku:type_name -> yandex.cloud.billing.usage_records.v1.SKU
	7,  // 25: yandex.cloud.billing.usage_records.v1.SKUUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 26: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 27: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 28: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	15, // 29: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData.resource:type_name -> yandex.cloud.billing.usage_records.v1.Resource
	7,  // 30: yandex.cloud.billing.usage_records.v1.ResourceUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 31: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 32: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 33: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	16, // 34: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData.label:type_name -> yandex.cloud.billing.usage_records.v1.Label
	7,  // 35: yandex.cloud.billing.usage_records.v1.LabelUsageReportEntityData.periodic:type_name -> yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData
	8,  // 36: yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData.cost:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	9,  // 37: yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData.credit_details:type_name -> yandex.cloud.billing.usage_records.v1.CreditDetails
	8,  // 38: yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData.expense:type_name -> yandex.cloud.billing.usage_records.v1.StringDecimal
	17, // 39: yandex.cloud.billing.usage_records.v1.UsageReportPeriodicData.timestamp:type_name -> google.protobuf.Timestamp
	40, // [40:40] is the sub-list for method output_type
	40, // [40:40] is the sub-list for method input_type
	40, // [40:40] is the sub-list for extension type_name
	40, // [40:40] is the sub-list for extension extendee
	0,  // [0:40] is the sub-list for field type_name
}

func init() { file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_init() }
func file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_init() {
	if File_yandex_cloud_billing_usage_records_v1_consumption_core_proto != nil {
		return
	}
	file_yandex_cloud_billing_usage_records_v1_billing_types_proto_init()
	file_yandex_cloud_billing_usage_records_v1_common_types_proto_init()
	file_yandex_cloud_billing_usage_records_v1_credit_proto_init()
	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_consumption_core_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_msgTypes,
	}.Build()
	File_yandex_cloud_billing_usage_records_v1_consumption_core_proto = out.File
	file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_goTypes = nil
	file_yandex_cloud_billing_usage_records_v1_consumption_core_proto_depIdxs = nil
}
