// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by aliasgen. DO NOT EDIT.

// Package budgets aliases all exported identifiers in package
// "cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb".
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb.
// Please read https://github.com/googleapis/google-cloud-go/blob/main/migration.md
// for more details.
package budgets

import (
	src "cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb"
	grpc "google.golang.org/grpc"
)

// Deprecated: Please use consts in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
const (
	CalendarPeriod_CALENDAR_PERIOD_UNSPECIFIED = src.CalendarPeriod_CALENDAR_PERIOD_UNSPECIFIED
	CalendarPeriod_MONTH                       = src.CalendarPeriod_MONTH
	CalendarPeriod_QUARTER                     = src.CalendarPeriod_QUARTER
	CalendarPeriod_YEAR                        = src.CalendarPeriod_YEAR
	Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED  = src.Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED
	Filter_EXCLUDE_ALL_CREDITS                 = src.Filter_EXCLUDE_ALL_CREDITS
	Filter_INCLUDE_ALL_CREDITS                 = src.Filter_INCLUDE_ALL_CREDITS
	Filter_INCLUDE_SPECIFIED_CREDITS           = src.Filter_INCLUDE_SPECIFIED_CREDITS
	ThresholdRule_BASIS_UNSPECIFIED            = src.ThresholdRule_BASIS_UNSPECIFIED
	ThresholdRule_CURRENT_SPEND                = src.ThresholdRule_CURRENT_SPEND
	ThresholdRule_FORECASTED_SPEND             = src.ThresholdRule_FORECASTED_SPEND
)

// Deprecated: Please use vars in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
var (
	CalendarPeriod_name                                            = src.CalendarPeriod_name
	CalendarPeriod_value                                           = src.CalendarPeriod_value
	File_google_cloud_billing_budgets_v1beta1_budget_model_proto   = src.File_google_cloud_billing_budgets_v1beta1_budget_model_proto
	File_google_cloud_billing_budgets_v1beta1_budget_service_proto = src.File_google_cloud_billing_budgets_v1beta1_budget_service_proto
	Filter_CreditTypesTreatment_name                               = src.Filter_CreditTypesTreatment_name
	Filter_CreditTypesTreatment_value                              = src.Filter_CreditTypesTreatment_value
	ThresholdRule_Basis_name                                       = src.ThresholdRule_Basis_name
	ThresholdRule_Basis_value                                      = src.ThresholdRule_Basis_value
)

// AllUpdatesRule defines notifications that are sent based on budget spend
// and thresholds.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type AllUpdatesRule = src.AllUpdatesRule

// A budget is a plan that describes what you expect to spend on Cloud
// projects, plus the rules to execute as spend is tracked against that plan,
// (for example, send an alert when 90% of the target spend is met). The budget
// time period is configurable, with options such as month (default), quarter,
// year, or custom time period.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type Budget = src.Budget

// The budgeted amount for each usage period.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type BudgetAmount = src.BudgetAmount
type BudgetAmount_LastPeriodAmount = src.BudgetAmount_LastPeriodAmount
type BudgetAmount_SpecifiedAmount = src.BudgetAmount_SpecifiedAmount

// BudgetServiceClient is the client API for BudgetService service. For
// semantics around ctx use and closing/ending streaming RPCs, please refer to
// https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type BudgetServiceClient = src.BudgetServiceClient

// BudgetServiceServer is the server API for BudgetService service.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type BudgetServiceServer = src.BudgetServiceServer

// A `CalendarPeriod` represents the abstract concept of a time period that
// has a canonical start. Grammatically, "the start of the current
// `CalendarPeriod`". All calendar times begin at 12 AM US and Canadian Pacific
// Time (UTC-8).
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type CalendarPeriod = src.CalendarPeriod

// Request for CreateBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type CreateBudgetRequest = src.CreateBudgetRequest

// All date times begin at 12 AM US and Canadian Pacific Time (UTC-8).
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type CustomPeriod = src.CustomPeriod

// Request for DeleteBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type DeleteBudgetRequest = src.DeleteBudgetRequest

// A filter for a budget, limiting the scope of the cost to calculate.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type Filter = src.Filter
type Filter_CalendarPeriod = src.Filter_CalendarPeriod

// Specifies how credits are applied when determining the spend for threshold
// calculations. Budgets track the total cost minus any applicable selected
// credits. [See the documentation for a list of credit
// types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type Filter_CreditTypesTreatment = src.Filter_CreditTypesTreatment
type Filter_CustomPeriod = src.Filter_CustomPeriod

// Request for GetBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type GetBudgetRequest = src.GetBudgetRequest

// Describes a budget amount targeted to the last
// [Filter.calendar_period][google.cloud.billing.budgets.v1beta1.Filter.calendar_period]
// spend. At this time, the amount is automatically 100% of the last calendar
// period's spend; that is, there are no other options yet. Future
// configuration options will be described here (for example, configuring a
// percentage of last period's spend). LastPeriodAmount cannot be set for a
// budget configured with a
// [Filter.custom_period][google.cloud.billing.budgets.v1beta1.Filter.custom_period].
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type LastPeriodAmount = src.LastPeriodAmount

// Request for ListBudgets
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type ListBudgetsRequest = src.ListBudgetsRequest

// Response for ListBudgets
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type ListBudgetsResponse = src.ListBudgetsResponse

// ThresholdRule contains the definition of a threshold. Threshold rules
// define the triggering events used to generate a budget notification email.
// When a threshold is crossed (spend exceeds the specified percentages of the
// budget), budget alert emails are sent to the email recipients you specify in
// the [NotificationsRule](#notificationsrule). Threshold rules also affect the
// fields included in the [JSON data
// object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format)
// sent to a Pub/Sub topic. Threshold rules are _required_ if using email
// notifications. Threshold rules are _optional_ if only setting a
// [`pubsubTopic` NotificationsRule](#NotificationsRule), unless you want your
// JSON data object to include data about the thresholds you set. For more
// information, see [set budget threshold rules and
// actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions).
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type ThresholdRule = src.ThresholdRule

// The type of basis used to determine if spend has passed the threshold.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type ThresholdRule_Basis = src.ThresholdRule_Basis

// UnimplementedBudgetServiceServer can be embedded to have forward compatible
// implementations.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type UnimplementedBudgetServiceServer = src.UnimplementedBudgetServiceServer

// Request for UpdateBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
type UpdateBudgetRequest = src.UpdateBudgetRequest

// Deprecated: Please use funcs in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
func NewBudgetServiceClient(cc grpc.ClientConnInterface) BudgetServiceClient {
	return src.NewBudgetServiceClient(cc)
}

// Deprecated: Please use funcs in: cloud.google.com/go/billing/budgets/apiv1beta1/budgetspb
func RegisterBudgetServiceServer(s *grpc.Server, srv BudgetServiceServer) {
	src.RegisterBudgetServiceServer(s, srv)
}
