// 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/apiv1/budgetspb".
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/budgetspb"
	grpc "google.golang.org/grpc"
)

// Deprecated: Please use consts in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/budgetspb
var (
	CalendarPeriod_name                                       = src.CalendarPeriod_name
	CalendarPeriod_value                                      = src.CalendarPeriod_value
	File_google_cloud_billing_budgets_v1_budget_model_proto   = src.File_google_cloud_billing_budgets_v1_budget_model_proto
	File_google_cloud_billing_budgets_v1_budget_service_proto = src.File_google_cloud_billing_budgets_v1_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
)

// 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/apiv1/budgetspb
type Budget = src.Budget

// The budgeted amount for each usage period.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/budgetspb
type BudgetServiceClient = src.BudgetServiceClient

// BudgetServiceServer is the server API for BudgetService service.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/budgetspb
type CalendarPeriod = src.CalendarPeriod

// Request for CreateBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/budgetspb
type CustomPeriod = src.CustomPeriod

// Request for DeleteBudget
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/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/apiv1/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/apiv1/budgetspb
type GetBudgetRequest = src.GetBudgetRequest

// Describes a budget amount targeted to the last
// [Filter.calendar_period][google.cloud.billing.budgets.v1.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.v1.Filter.custom_period].
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/budgetspb
type LastPeriodAmount = src.LastPeriodAmount

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

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

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

// ThresholdRule contains a definition of a threshold which triggers an alert
// (a notification of a threshold being crossed) to be sent when spend goes
// above the specified amount. Alerts are automatically e-mailed to users with
// the Billing Account Administrator role or the Billing Account User role. The
// thresholds here have no effect on notifications sent to anything configured
// under `Budget.all_updates_rule`.
//
// Deprecated: Please use types in: cloud.google.com/go/billing/budgets/apiv1/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/apiv1/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/apiv1/budgetspb
type UnimplementedBudgetServiceServer = src.UnimplementedBudgetServiceServer

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

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

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