/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
import { PagedAsyncIterableIterator } from "@azure/core-paging";
import {
Budget,
BudgetsListOptionalParams,
BudgetsGetOptionalParams,
BudgetsGetResponse,
BudgetsCreateOrUpdateOptionalParams,
BudgetsCreateOrUpdateResponse,
BudgetsDeleteOptionalParams
} from "../models";
///
/** Interface representing a Budgets. */
export interface Budgets {
/**
* Lists all budgets for the defined scope.
* @param scope The scope associated with budget operations. This includes
* '/subscriptions/{subscriptionId}/' for subscription scope,
* '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for
* Department scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
* for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}'
* for Management Group scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
* for billingProfile scope,
* 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
* for invoiceSection scope.
* @param options The options parameters.
*/
list(
scope: string,
options?: BudgetsListOptionalParams
): PagedAsyncIterableIterator;
/**
* Gets the budget for the scope by budget name.
* @param scope The scope associated with budget operations. This includes
* '/subscriptions/{subscriptionId}/' for subscription scope,
* '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for
* Department scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
* for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}'
* for Management Group scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
* for billingProfile scope,
* 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
* for invoiceSection scope.
* @param budgetName Budget Name.
* @param options The options parameters.
*/
get(
scope: string,
budgetName: string,
options?: BudgetsGetOptionalParams
): Promise;
/**
* The operation to create or update a budget. You can optionally provide an eTag if desired as a form
* of concurrency control. To obtain the latest eTag for a given budget, perform a get operation prior
* to your put operation.
* @param scope The scope associated with budget operations. This includes
* '/subscriptions/{subscriptionId}/' for subscription scope,
* '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for
* Department scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
* for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}'
* for Management Group scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
* for billingProfile scope,
* 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
* for invoiceSection scope.
* @param budgetName Budget Name.
* @param parameters Parameters supplied to the Create Budget operation.
* @param options The options parameters.
*/
createOrUpdate(
scope: string,
budgetName: string,
parameters: Budget,
options?: BudgetsCreateOrUpdateOptionalParams
): Promise;
/**
* The operation to delete a budget.
* @param scope The scope associated with budget operations. This includes
* '/subscriptions/{subscriptionId}/' for subscription scope,
* '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for
* Department scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}'
* for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}'
* for Management Group scope,
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}'
* for billingProfile scope,
* 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}'
* for invoiceSection scope.
* @param budgetName Budget Name.
* @param options The options parameters.
*/
delete(
scope: string,
budgetName: string,
options?: BudgetsDeleteOptionalParams
): Promise;
}