import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an Azure Cost Management View for a Resource Group. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleResourceGroupCostManagementView = new azure.core.ResourceGroupCostManagementView("example", { * name: "example", * displayName: "Cost View per Month", * chartType: "StackedColumn", * accumulated: false, * resourceGroupId: example.id, * reportType: "Usage", * timeframe: "MonthToDate", * dataset: { * granularity: "Monthly", * aggregations: [{ * name: "totalCost", * columnName: "Cost", * }], * }, * pivots: [ * { * type: "Dimension", * name: "ServiceName", * }, * { * type: "Dimension", * name: "ResourceLocation", * }, * { * type: "Dimension", * name: "ResourceGroupName", * }, * ], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.CostManagement` - 2023-08-01 * * ## Import * * Cost Management View for a Resource Groups can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:core/resourceGroupCostManagementView:ResourceGroupCostManagementView example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.CostManagement/views/costmanagementview * ``` */ export declare class ResourceGroupCostManagementView extends pulumi.CustomResource { /** * Get an existing ResourceGroupCostManagementView resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ResourceGroupCostManagementViewState, opts?: pulumi.CustomResourceOptions): ResourceGroupCostManagementView; /** * Returns true if the given object is an instance of ResourceGroupCostManagementView. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ResourceGroupCostManagementView; /** * Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created. */ readonly accumulated: pulumi.Output; /** * Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`. */ readonly chartType: pulumi.Output; /** * A `dataset` block as defined below. */ readonly dataset: pulumi.Output; /** * User visible input name of the Cost Management View. */ readonly displayName: pulumi.Output; /** * One or more `kpi` blocks as defined below, to show in Cost Analysis UI. */ readonly kpis: pulumi.Output; /** * The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created. */ readonly name: pulumi.Output; /** * One or more `pivot` blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots. */ readonly pivots: pulumi.Output; /** * The type of the report. The only possible value is `Usage`. */ readonly reportType: pulumi.Output; /** * The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created. */ readonly resourceGroupId: pulumi.Output; /** * The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`. */ readonly timeframe: pulumi.Output; /** * Create a ResourceGroupCostManagementView resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ResourceGroupCostManagementViewArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ResourceGroupCostManagementView resources. */ export interface ResourceGroupCostManagementViewState { /** * Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created. */ accumulated?: pulumi.Input; /** * Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`. */ chartType?: pulumi.Input; /** * A `dataset` block as defined below. */ dataset?: pulumi.Input; /** * User visible input name of the Cost Management View. */ displayName?: pulumi.Input; /** * One or more `kpi` blocks as defined below, to show in Cost Analysis UI. */ kpis?: pulumi.Input[]>; /** * The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created. */ name?: pulumi.Input; /** * One or more `pivot` blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots. */ pivots?: pulumi.Input[]>; /** * The type of the report. The only possible value is `Usage`. */ reportType?: pulumi.Input; /** * The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created. */ resourceGroupId?: pulumi.Input; /** * The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`. */ timeframe?: pulumi.Input; } /** * The set of arguments for constructing a ResourceGroupCostManagementView resource. */ export interface ResourceGroupCostManagementViewArgs { /** * Whether the costs data in the Cost Management View are accumulated over time. Changing this forces a new Cost Management View for a Resource Group to be created. */ accumulated: pulumi.Input; /** * Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`. */ chartType: pulumi.Input; /** * A `dataset` block as defined below. */ dataset: pulumi.Input; /** * User visible input name of the Cost Management View. */ displayName: pulumi.Input; /** * One or more `kpi` blocks as defined below, to show in Cost Analysis UI. */ kpis?: pulumi.Input[]>; /** * The name which should be used for this Cost Management View for a Resource Group. Changing this forces a new Cost Management View for a Resource Group to be created. */ name?: pulumi.Input; /** * One or more `pivot` blocks as defined below, containing the configuration of 3 sub-views in the Cost Analysis UI. Non table views should have three pivots. */ pivots?: pulumi.Input[]>; /** * The type of the report. The only possible value is `Usage`. */ reportType: pulumi.Input; /** * The ID of the Resource Group this View is scoped to. Changing this forces a new Cost Management View for a Resource Group to be created. */ resourceGroupId: pulumi.Input; /** * The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`. */ timeframe: pulumi.Input; }