// 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/metadata_service.proto

package usageRecords

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	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)
)

// GetUsageRequest request for retrieving usage metadata
type GetUsageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Billing account identifier.
	// The ID of the billing account to retrieve usage metadata for.
	// Must be a valid and accessible billing account ID.
	BillingAccountId string `protobuf:"bytes,1,opt,name=billing_account_id,json=billingAccountId,proto3" json:"billing_account_id,omitempty"`
	// Start date for data retrieval.
	// The inclusive start of the date range for which to retrieve usage metadata.
	// Must be specified and cannot be empty.
	// The time portion is ignored; the date is considered to start at 00:00:00.
	StartDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	// End date for data retrieval.
	// The inclusive end of the date range for which to retrieve usage metadata.
	// Must be specified, cannot be empty, and must be greater than or equal to start_date.
	// The time portion is ignored; the date is considered to end at 23:59:59.
	EndDate       *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetUsageRequest) ProtoMessage() {}

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

func (x *GetUsageRequest) GetBillingAccountId() string {
	if x != nil {
		return x.BillingAccountId
	}
	return ""
}

func (x *GetUsageRequest) GetStartDate() *timestamppb.Timestamp {
	if x != nil {
		return x.StartDate
	}
	return nil
}

func (x *GetUsageRequest) GetEndDate() *timestamppb.Timestamp {
	if x != nil {
		return x.EndDate
	}
	return nil
}

// Response for usage metadata request
type GetUsageResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of available clouds for the current user/context (billing_account_id with sub-accounts)
	// Contains cloud entities that the user has access to within the specified date range.
	//
	// Note: Empty cloud_id values are considered as "consumption outside the cloud"
	// and represented with an empty string id and name "Usage is out of scope of the Cloud"
	Clouds []*Cloud `protobuf:"bytes,1,rep,name=clouds,proto3" json:"clouds,omitempty"`
	// List of available label keys for the current user/context (billing_account_id with sub-accounts)
	// Contains all label keys that exist in usage records
	// within the specified date range.
	// These keys can be used for filtering and grouping in reports or
	// passed to the GetLabel method to retrieve possible values.
	LabelKeys []string `protobuf:"bytes,2,rep,name=label_keys,json=labelKeys,proto3" json:"label_keys,omitempty"`
	// List of available services for the current user/context (billing_account_id with sub-accounts)
	// Contains service entities with their IDs, names and descriptions that
	// have usage records within the specified billing account and date range.
	// Services represent the top-level grouping of cloud offerings.
	Services []*Service `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"`
	// List of available SKUs for the current user/context (billing_account_id with sub-accounts)
	// Contains SKU entities with their IDs, names, translations and pricing units
	// that have usage records within the specified billing account and date range.
	// SKUs represent specific service offerings
	Skus []*SKU `protobuf:"bytes,4,rep,name=skus,proto3" json:"skus,omitempty"`
	// List of available BillingAccounts for the current user/context (billing_account_id with sub-accounts)
	// Contains billing account entities that the user has access to and
	// that have usage records within the specified date range.
	// Includes both the main account and any sub-accounts.
	BillingAccounts []*BillingAccount `protobuf:"bytes,5,rep,name=billing_accounts,json=billingAccounts,proto3" json:"billing_accounts,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*GetUsageResponse) ProtoMessage() {}

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

func (x *GetUsageResponse) GetClouds() []*Cloud {
	if x != nil {
		return x.Clouds
	}
	return nil
}

func (x *GetUsageResponse) GetLabelKeys() []string {
	if x != nil {
		return x.LabelKeys
	}
	return nil
}

func (x *GetUsageResponse) GetServices() []*Service {
	if x != nil {
		return x.Services
	}
	return nil
}

func (x *GetUsageResponse) GetSkus() []*SKU {
	if x != nil {
		return x.Skus
	}
	return nil
}

func (x *GetUsageResponse) GetBillingAccounts() []*BillingAccount {
	if x != nil {
		return x.BillingAccounts
	}
	return nil
}

// Request for retrieving label metadata
type GetLabelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Billing account identifier.
	// The ID of the billing account to retrieve label metadata for.
	// Must be a valid and accessible billing account ID.
	BillingAccountId string `protobuf:"bytes,1,opt,name=billing_account_id,json=billingAccountId,proto3" json:"billing_account_id,omitempty"`
	// Start date for data retrieval.
	// The inclusive start of the date range for which to retrieve label metadata.
	// Must be specified and cannot be empty.
	// The time portion is ignored; the date is considered to start at 00:00:00.
	StartDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	// End date for data retrieval.
	// The inclusive end of the date range for which to retrieve label metadata.
	// Must be specified, cannot be empty, and must be greater than or equal to start_date.
	// The time portion is ignored; the date is considered to end at 23:59:59.
	EndDate *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	// Label key to filter values for. If specified, response will contain values
	// for this specific key.
	// Must be a non-empty string representing a valid label key.
	LabelKey string `protobuf:"bytes,4,opt,name=label_key,json=labelKey,proto3" json:"label_key,omitempty"`
	// Optional. If provided along with label_key, the response will return
	// an array of matches for this label_value.
	// Used for exact matching of label values.
	// If specified, label_value_filter is ignored and pagination is not applied.
	LabelValue string `protobuf:"bytes,5,opt,name=label_value,json=labelValue,proto3" json:"label_value,omitempty"`
	// Optional array of label values to filter results:
	// Returns in response as is if label_value is not provided, otherwise returns empty label_value_filter
	LabelValueFilter []string `protobuf:"bytes,6,rep,name=label_value_filter,json=labelValueFilter,proto3" json:"label_value_filter,omitempty"`
	// Optional. Page size for paginated results.
	// Specifies the maximum number of label values to return per page.
	// If not specified or set to 0, defaults to 10.
	// If greater than 10000, will be coerced down to 10000.
	PageSize int64 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. Page token for paginated results.
	// Token from a previous GetLabelResponse used to retrieve the next page.
	// If empty, retrieves the first page.
	PageToken     string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetLabelRequest) ProtoMessage() {}

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

func (x *GetLabelRequest) GetBillingAccountId() string {
	if x != nil {
		return x.BillingAccountId
	}
	return ""
}

func (x *GetLabelRequest) GetStartDate() *timestamppb.Timestamp {
	if x != nil {
		return x.StartDate
	}
	return nil
}

func (x *GetLabelRequest) GetEndDate() *timestamppb.Timestamp {
	if x != nil {
		return x.EndDate
	}
	return nil
}

func (x *GetLabelRequest) GetLabelKey() string {
	if x != nil {
		return x.LabelKey
	}
	return ""
}

func (x *GetLabelRequest) GetLabelValue() string {
	if x != nil {
		return x.LabelValue
	}
	return ""
}

func (x *GetLabelRequest) GetLabelValueFilter() []string {
	if x != nil {
		return x.LabelValueFilter
	}
	return nil
}

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

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

// Response for label metadata request
type GetLabelResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of label values matching the request criteria
	// Contains label values that match the specified label key pattern.
	// Values are sorted alphabetically.
	LabelValues []string `protobuf:"bytes,1,rep,name=label_values,json=labelValues,proto3" json:"label_values,omitempty"`
	// List of label values from the label_value_filter in the request
	// Contains the same values as provided in the request's label_value_filter.
	// Included for convenience in the response.
	// This field is only populated when label_value_filter was specified in the request
	// and label_value was not specified.
	LabelValueFilter []string `protobuf:"bytes,2,rep,name=label_value_filter,json=labelValueFilter,proto3" json:"label_value_filter,omitempty"`
	// Token for getting the next page of results.
	// If empty, there are no more results.
	// Use this token in a subsequent request's page_token field to retrieve
	// the next page of results.
	// The token encodes the pagination state.
	//
	// It should be passed verbatim in subsequent requests.
	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetLabelResponse) ProtoMessage() {}

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

func (x *GetLabelResponse) GetLabelValues() []string {
	if x != nil {
		return x.LabelValues
	}
	return nil
}

func (x *GetLabelResponse) GetLabelValueFilter() []string {
	if x != nil {
		return x.LabelValueFilter
	}
	return nil
}

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

// Request for retrieving folder metadata
type GetCloudRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Billing account identifier.
	// The ID of the billing account to retrieve cloud and folder metadata for.
	// Must be a valid and accessible billing account ID.
	BillingAccountId string `protobuf:"bytes,1,opt,name=billing_account_id,json=billingAccountId,proto3" json:"billing_account_id,omitempty"`
	// Start date for data retrieval.
	// The inclusive start of the date range for which to retrieve cloud and folder metadata.
	// Must be specified and cannot be empty.
	// The time portion is ignored; the date is considered to start at 00:00:00.
	StartDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	// End date for data retrieval.
	// The inclusive end of the date range for which to retrieve cloud and folder metadata.
	// Must be specified, cannot be empty, and must be greater than or equal to start_date.
	// The time portion is ignored; the date is considered to end at 23:59:59.
	EndDate *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	// Optional. List of cloud IDs to filter clouds by.
	// Note: cloud_id filtering supports case-insensitive substring matching.
	// No wildcards or regex patterns are supported - just simple substring matching.
	// The filter works with partial cloud IDs, and will match any cloud where
	// the provided substring appears anywhere in the cloud_id.
	// For example, filter "abc" will match cloud_ids like "abc123", "123abc", or "1abc2".
	// If empty, no filtering by cloud ID is applied.
	CloudIds []string `protobuf:"bytes,4,rep,name=cloud_ids,json=cloudIds,proto3" json:"cloud_ids,omitempty"`
	// Optional. List of folder IDs to filter folders by.
	// Note: folder_id filtering supports case-insensitive substring matching.
	// No wildcards or regex patterns are supported - just simple substring matching.
	// The filter works with partial folder IDs, and will match any folder where
	// the provided substring appears anywhere in the folder_id.
	// For example, filter "abc" will match folder_ids like "abc123", "123abc", or "1abc2".
	// If empty, no filtering by folder ID is applied.
	FolderIds []string `protobuf:"bytes,5,rep,name=folder_ids,json=folderIds,proto3" json:"folder_ids,omitempty"`
	// Optional. Page size for paginated results.
	// Specifies the maximum number of Folder objects to return per page.
	// If not specified or set to 0, defaults to 10.
	// If greater than 10000, will be coerced down to 10000.
	PageSize int64 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. Page token for paginated results.
	// Token from a previous GetCloudResponse used to retrieve the next page.
	// If empty, retrieves the first page.
	// The token encodes the pagination state.
	PageToken     string `protobuf:"bytes,7,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetCloudRequest) ProtoMessage() {}

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

func (x *GetCloudRequest) GetBillingAccountId() string {
	if x != nil {
		return x.BillingAccountId
	}
	return ""
}

func (x *GetCloudRequest) GetStartDate() *timestamppb.Timestamp {
	if x != nil {
		return x.StartDate
	}
	return nil
}

func (x *GetCloudRequest) GetEndDate() *timestamppb.Timestamp {
	if x != nil {
		return x.EndDate
	}
	return nil
}

func (x *GetCloudRequest) GetCloudIds() []string {
	if x != nil {
		return x.CloudIds
	}
	return nil
}

func (x *GetCloudRequest) GetFolderIds() []string {
	if x != nil {
		return x.FolderIds
	}
	return nil
}

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

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

// Response for cloud metadata request
type GetCloudResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of clouds matching the request criteria
	// Contains CloudInfo objects for each cloud that matches the specified
	// filtering criteria
	//
	// Note: only clouds with at least one folder are included in the response.
	Items []*GetCloudResponse_CloudInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// Token for getting the next page of results.
	// If empty, there are no more results.
	// Use this token in a subsequent request's page_token field to retrieve
	// the next page of results.
	// The token encodes the pagination state.
	//
	// It should be passed verbatim in subsequent requests.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetCloudResponse) ProtoMessage() {}

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

func (x *GetCloudResponse) GetItems() []*GetCloudResponse_CloudInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

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

// GetResourceIDsRequest request for retrieving resource IDs.
// This message defines the parameters needed to fetch and filter resource IDs
// associated with a billing account within a date range.
type GetResourceIDsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Billing account identifier.
	// The ID of the billing account to retrieve resource IDs for.
	// Must be a valid and accessible billing account ID.
	BillingAccountId string `protobuf:"bytes,1,opt,name=billing_account_id,json=billingAccountId,proto3" json:"billing_account_id,omitempty"`
	// Start date for data retrieval.
	// The inclusive start of the date range for which to retrieve resource IDs.
	// Must be specified and cannot be empty.
	// The time portion is ignored; the date is considered to start at 00:00:00.
	StartDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	// End date for data retrieval.
	// The inclusive end of the date range for which to retrieve resource IDs.
	// Must be specified, cannot be empty, and must be greater than or equal to start_date.
	// The time portion is ignored; the date is considered to end at 23:59:59.
	EndDate *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	// Optional. Resource ID pattern for search filtering.
	// When provided, the response will include only resource IDs
	// that contain this string (case-insensitive substring match).
	// No wildcards or regex patterns are supported - just simple substring matching.
	ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// Optional. Page size for paginated results.
	// Specifies the maximum number of resource IDs to return per page.
	// If not specified or set to 0, defaults to 10.
	// If greater than 10000, will be coerced down to 10000.
	PageSize int64 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. Page token for paginated results.
	// Token from a previous GetResourceIDsResponse used to retrieve the next page.
	// If empty, retrieves the first page.
	// The token encodes the pagination state.
	PageToken     string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetResourceIDsRequest) ProtoMessage() {}

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

func (x *GetResourceIDsRequest) GetBillingAccountId() string {
	if x != nil {
		return x.BillingAccountId
	}
	return ""
}

func (x *GetResourceIDsRequest) GetStartDate() *timestamppb.Timestamp {
	if x != nil {
		return x.StartDate
	}
	return nil
}

func (x *GetResourceIDsRequest) GetEndDate() *timestamppb.Timestamp {
	if x != nil {
		return x.EndDate
	}
	return nil
}

func (x *GetResourceIDsRequest) GetResourceId() string {
	if x != nil {
		return x.ResourceId
	}
	return ""
}

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

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

// Response for resource IDs request.
// This message contains a list of resource IDs that match the search criteria
// specified in the request, along with pagination information.
type GetResourceIDsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of resource IDs matching the request criteria.
	// These represent unique identifiers for resources within the billing account
	// that had usage during the specified date range.
	// If a resource_id filter was provided in the request, only IDs
	// containing that substring (case-insensitive) will be included.
	// Resource IDs are sorted alphabetically in ascending order.
	ResourceIds []string `protobuf:"bytes,1,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"`
	// Token for getting the next page of results.
	// This token should be passed in the page_token field of subsequent requests.
	// If empty, there are no more results available.
	// The token encodes the pagination state.
	//
	// It should be passed verbatim in subsequent requests.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetResourceIDsResponse) ProtoMessage() {}

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

func (x *GetResourceIDsResponse) GetResourceIds() []string {
	if x != nil {
		return x.ResourceIds
	}
	return nil
}

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

// Information about a cloud and its folders
type GetCloudResponse_CloudInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Cloud information
	Cloud *Cloud `protobuf:"bytes,1,opt,name=cloud,proto3" json:"cloud,omitempty"`
	// List of folders belonging to this cloud
	// Contains folder entities that belong to this cloud
	// and match any folder ID filtering criteria from the request.
	// The list is sorted by folder ID in ascending order.
	//
	// Only folders that had usage during the specified date range are included.
	Folders       []*Folder `protobuf:"bytes,2,rep,name=folders,proto3" json:"folders,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCloudResponse_CloudInfo) Reset() {
	*x = GetCloudResponse_CloudInfo{}
	mi := &file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetCloudResponse_CloudInfo) ProtoMessage() {}

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

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

func (x *GetCloudResponse_CloudInfo) GetFolders() []*Folder {
	if x != nil {
		return x.Folders
	}
	return nil
}

var File_yandex_cloud_billing_usage_records_v1_metadata_service_proto protoreflect.FileDescriptor

const file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDesc = "" +
	"\n" +
	"<yandex/cloud/billing/usage_records/v1/metadata_service.proto\x12%yandex.cloud.billing.usage_records.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a9yandex/cloud/billing/usage_records/v1/billing_types.proto\x1a\x1dyandex/cloud/validation.proto\"\xc3\x01\n" +
	"\x0fGetUsageRequest\x122\n" +
	"\x12billing_account_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x10billingAccountId\x12?\n" +
	"\n" +
	"start_date\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tstartDate\x12;\n" +
	"\bend_date\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\aendDate\"\xe5\x02\n" +
	"\x10GetUsageResponse\x12D\n" +
	"\x06clouds\x18\x01 \x03(\v2,.yandex.cloud.billing.usage_records.v1.CloudR\x06clouds\x12\x1d\n" +
	"\n" +
	"label_keys\x18\x02 \x03(\tR\tlabelKeys\x12J\n" +
	"\bservices\x18\x03 \x03(\v2..yandex.cloud.billing.usage_records.v1.ServiceR\bservices\x12>\n" +
	"\x04skus\x18\x04 \x03(\v2*.yandex.cloud.billing.usage_records.v1.SKUR\x04skus\x12`\n" +
	"\x10billing_accounts\x18\x05 \x03(\v25.yandex.cloud.billing.usage_records.v1.BillingAccountR\x0fbillingAccounts\"\xf1\x02\n" +
	"\x0fGetLabelRequest\x122\n" +
	"\x12billing_account_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x10billingAccountId\x12?\n" +
	"\n" +
	"start_date\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tstartDate\x12;\n" +
	"\bend_date\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\aendDate\x12!\n" +
	"\tlabel_key\x18\x04 \x01(\tB\x04\xe8\xc71\x01R\blabelKey\x12\x1f\n" +
	"\vlabel_value\x18\x05 \x01(\tR\n" +
	"labelValue\x12,\n" +
	"\x12label_value_filter\x18\x06 \x03(\tR\x10labelValueFilter\x12\x1b\n" +
	"\tpage_size\x18\a \x01(\x03R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\b \x01(\tR\tpageToken\"\x8b\x01\n" +
	"\x10GetLabelResponse\x12!\n" +
	"\flabel_values\x18\x01 \x03(\tR\vlabelValues\x12,\n" +
	"\x12label_value_filter\x18\x02 \x03(\tR\x10labelValueFilter\x12&\n" +
	"\x0fnext_page_token\x18\x03 \x01(\tR\rnextPageToken\"\xbb\x02\n" +
	"\x0fGetCloudRequest\x122\n" +
	"\x12billing_account_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x10billingAccountId\x12?\n" +
	"\n" +
	"start_date\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tstartDate\x12;\n" +
	"\bend_date\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\aendDate\x12\x1b\n" +
	"\tcloud_ids\x18\x04 \x03(\tR\bcloudIds\x12\x1d\n" +
	"\n" +
	"folder_ids\x18\x05 \x03(\tR\tfolderIds\x12\x1b\n" +
	"\tpage_size\x18\x06 \x01(\x03R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\a \x01(\tR\tpageToken\"\xae\x02\n" +
	"\x10GetCloudResponse\x12W\n" +
	"\x05items\x18\x01 \x03(\v2A.yandex.cloud.billing.usage_records.v1.GetCloudResponse.CloudInfoR\x05items\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x1a\x98\x01\n" +
	"\tCloudInfo\x12B\n" +
	"\x05cloud\x18\x01 \x01(\v2,.yandex.cloud.billing.usage_records.v1.CloudR\x05cloud\x12G\n" +
	"\afolders\x18\x02 \x03(\v2-.yandex.cloud.billing.usage_records.v1.FolderR\afolders\"\xa6\x02\n" +
	"\x15GetResourceIDsRequest\x122\n" +
	"\x12billing_account_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x10billingAccountId\x12?\n" +
	"\n" +
	"start_date\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tstartDate\x12;\n" +
	"\bend_date\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\aendDate\x12\x1f\n" +
	"\vresource_id\x18\x04 \x01(\tR\n" +
	"resourceId\x12\x1b\n" +
	"\tpage_size\x18\x05 \x01(\x03R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\x06 \x01(\tR\tpageToken\"c\n" +
	"\x16GetResourceIDsResponse\x12!\n" +
	"\fresource_ids\x18\x01 \x03(\tR\vresourceIds\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken2\x98\x04\n" +
	"\x0fMetadataService\x12{\n" +
	"\bGetUsage\x126.yandex.cloud.billing.usage_records.v1.GetUsageRequest\x1a7.yandex.cloud.billing.usage_records.v1.GetUsageResponse\x12{\n" +
	"\bGetLabel\x126.yandex.cloud.billing.usage_records.v1.GetLabelRequest\x1a7.yandex.cloud.billing.usage_records.v1.GetLabelResponse\x12{\n" +
	"\bGetCloud\x126.yandex.cloud.billing.usage_records.v1.GetCloudRequest\x1a7.yandex.cloud.billing.usage_records.v1.GetCloudResponse\x12\x8d\x01\n" +
	"\x0eGetResourceIDs\x12<.yandex.cloud.billing.usage_records.v1.GetResourceIDsRequest\x1a=.yandex.cloud.billing.usage_records.v1.GetResourceIDsResponseB\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_metadata_service_proto_rawDescOnce sync.Once
	file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDescData []byte
)

func file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDescGZIP() []byte {
	file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDesc)))
	})
	return file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDescData
}

var file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_goTypes = []any{
	(*GetUsageRequest)(nil),            // 0: yandex.cloud.billing.usage_records.v1.GetUsageRequest
	(*GetUsageResponse)(nil),           // 1: yandex.cloud.billing.usage_records.v1.GetUsageResponse
	(*GetLabelRequest)(nil),            // 2: yandex.cloud.billing.usage_records.v1.GetLabelRequest
	(*GetLabelResponse)(nil),           // 3: yandex.cloud.billing.usage_records.v1.GetLabelResponse
	(*GetCloudRequest)(nil),            // 4: yandex.cloud.billing.usage_records.v1.GetCloudRequest
	(*GetCloudResponse)(nil),           // 5: yandex.cloud.billing.usage_records.v1.GetCloudResponse
	(*GetResourceIDsRequest)(nil),      // 6: yandex.cloud.billing.usage_records.v1.GetResourceIDsRequest
	(*GetResourceIDsResponse)(nil),     // 7: yandex.cloud.billing.usage_records.v1.GetResourceIDsResponse
	(*GetCloudResponse_CloudInfo)(nil), // 8: yandex.cloud.billing.usage_records.v1.GetCloudResponse.CloudInfo
	(*timestamppb.Timestamp)(nil),      // 9: google.protobuf.Timestamp
	(*Cloud)(nil),                      // 10: yandex.cloud.billing.usage_records.v1.Cloud
	(*Service)(nil),                    // 11: yandex.cloud.billing.usage_records.v1.Service
	(*SKU)(nil),                        // 12: yandex.cloud.billing.usage_records.v1.SKU
	(*BillingAccount)(nil),             // 13: yandex.cloud.billing.usage_records.v1.BillingAccount
	(*Folder)(nil),                     // 14: yandex.cloud.billing.usage_records.v1.Folder
}
var file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_depIdxs = []int32{
	9,  // 0: yandex.cloud.billing.usage_records.v1.GetUsageRequest.start_date:type_name -> google.protobuf.Timestamp
	9,  // 1: yandex.cloud.billing.usage_records.v1.GetUsageRequest.end_date:type_name -> google.protobuf.Timestamp
	10, // 2: yandex.cloud.billing.usage_records.v1.GetUsageResponse.clouds:type_name -> yandex.cloud.billing.usage_records.v1.Cloud
	11, // 3: yandex.cloud.billing.usage_records.v1.GetUsageResponse.services:type_name -> yandex.cloud.billing.usage_records.v1.Service
	12, // 4: yandex.cloud.billing.usage_records.v1.GetUsageResponse.skus:type_name -> yandex.cloud.billing.usage_records.v1.SKU
	13, // 5: yandex.cloud.billing.usage_records.v1.GetUsageResponse.billing_accounts:type_name -> yandex.cloud.billing.usage_records.v1.BillingAccount
	9,  // 6: yandex.cloud.billing.usage_records.v1.GetLabelRequest.start_date:type_name -> google.protobuf.Timestamp
	9,  // 7: yandex.cloud.billing.usage_records.v1.GetLabelRequest.end_date:type_name -> google.protobuf.Timestamp
	9,  // 8: yandex.cloud.billing.usage_records.v1.GetCloudRequest.start_date:type_name -> google.protobuf.Timestamp
	9,  // 9: yandex.cloud.billing.usage_records.v1.GetCloudRequest.end_date:type_name -> google.protobuf.Timestamp
	8,  // 10: yandex.cloud.billing.usage_records.v1.GetCloudResponse.items:type_name -> yandex.cloud.billing.usage_records.v1.GetCloudResponse.CloudInfo
	9,  // 11: yandex.cloud.billing.usage_records.v1.GetResourceIDsRequest.start_date:type_name -> google.protobuf.Timestamp
	9,  // 12: yandex.cloud.billing.usage_records.v1.GetResourceIDsRequest.end_date:type_name -> google.protobuf.Timestamp
	10, // 13: yandex.cloud.billing.usage_records.v1.GetCloudResponse.CloudInfo.cloud:type_name -> yandex.cloud.billing.usage_records.v1.Cloud
	14, // 14: yandex.cloud.billing.usage_records.v1.GetCloudResponse.CloudInfo.folders:type_name -> yandex.cloud.billing.usage_records.v1.Folder
	0,  // 15: yandex.cloud.billing.usage_records.v1.MetadataService.GetUsage:input_type -> yandex.cloud.billing.usage_records.v1.GetUsageRequest
	2,  // 16: yandex.cloud.billing.usage_records.v1.MetadataService.GetLabel:input_type -> yandex.cloud.billing.usage_records.v1.GetLabelRequest
	4,  // 17: yandex.cloud.billing.usage_records.v1.MetadataService.GetCloud:input_type -> yandex.cloud.billing.usage_records.v1.GetCloudRequest
	6,  // 18: yandex.cloud.billing.usage_records.v1.MetadataService.GetResourceIDs:input_type -> yandex.cloud.billing.usage_records.v1.GetResourceIDsRequest
	1,  // 19: yandex.cloud.billing.usage_records.v1.MetadataService.GetUsage:output_type -> yandex.cloud.billing.usage_records.v1.GetUsageResponse
	3,  // 20: yandex.cloud.billing.usage_records.v1.MetadataService.GetLabel:output_type -> yandex.cloud.billing.usage_records.v1.GetLabelResponse
	5,  // 21: yandex.cloud.billing.usage_records.v1.MetadataService.GetCloud:output_type -> yandex.cloud.billing.usage_records.v1.GetCloudResponse
	7,  // 22: yandex.cloud.billing.usage_records.v1.MetadataService.GetResourceIDs:output_type -> yandex.cloud.billing.usage_records.v1.GetResourceIDsResponse
	19, // [19:23] is the sub-list for method output_type
	15, // [15:19] is the sub-list for method input_type
	15, // [15:15] is the sub-list for extension type_name
	15, // [15:15] is the sub-list for extension extendee
	0,  // [0:15] is the sub-list for field type_name
}

func init() { file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_init() }
func file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_init() {
	if File_yandex_cloud_billing_usage_records_v1_metadata_service_proto != nil {
		return
	}
	file_yandex_cloud_billing_usage_records_v1_billing_types_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_metadata_service_proto_rawDesc), len(file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_msgTypes,
	}.Build()
	File_yandex_cloud_billing_usage_records_v1_metadata_service_proto = out.File
	file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_goTypes = nil
	file_yandex_cloud_billing_usage_records_v1_metadata_service_proto_depIdxs = nil
}
