All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.core.ResourceGroupCostManagementViewArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.core;

import com.pulumi.azure.core.inputs.ResourceGroupCostManagementViewDatasetArgs;
import com.pulumi.azure.core.inputs.ResourceGroupCostManagementViewKpiArgs;
import com.pulumi.azure.core.inputs.ResourceGroupCostManagementViewPivotArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ResourceGroupCostManagementViewArgs extends com.pulumi.resources.ResourceArgs {

    public static final ResourceGroupCostManagementViewArgs Empty = new 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.
     * 
     */
    @Import(name="accumulated", required=true)
    private Output accumulated;

    /**
     * @return 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.
     * 
     */
    public Output accumulated() {
        return this.accumulated;
    }

    /**
     * Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.
     * 
     */
    @Import(name="chartType", required=true)
    private Output chartType;

    /**
     * @return Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.
     * 
     */
    public Output chartType() {
        return this.chartType;
    }

    /**
     * A `dataset` block as defined below.
     * 
     */
    @Import(name="dataset", required=true)
    private Output dataset;

    /**
     * @return A `dataset` block as defined below.
     * 
     */
    public Output dataset() {
        return this.dataset;
    }

    /**
     * User visible input name of the Cost Management View.
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return User visible input name of the Cost Management View.
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * One or more `kpi` blocks as defined below, to show in Cost Analysis UI.
     * 
     */
    @Import(name="kpis")
    private @Nullable Output> kpis;

    /**
     * @return One or more `kpi` blocks as defined below, to show in Cost Analysis UI.
     * 
     */
    public Optional>> kpis() {
        return Optional.ofNullable(this.kpis);
    }

    /**
     * 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.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return 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.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * 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.
     * 
     */
    @Import(name="pivots")
    private @Nullable Output> pivots;

    /**
     * @return 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.
     * 
     */
    public Optional>> pivots() {
        return Optional.ofNullable(this.pivots);
    }

    /**
     * The type of the report. The only possible value is `Usage`.
     * 
     */
    @Import(name="reportType", required=true)
    private Output reportType;

    /**
     * @return The type of the report. The only possible value is `Usage`.
     * 
     */
    public Output reportType() {
        return this.reportType;
    }

    /**
     * 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.
     * 
     */
    @Import(name="resourceGroupId", required=true)
    private Output resourceGroupId;

    /**
     * @return 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.
     * 
     */
    public Output resourceGroupId() {
        return this.resourceGroupId;
    }

    /**
     * The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.
     * 
     */
    @Import(name="timeframe", required=true)
    private Output timeframe;

    /**
     * @return The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.
     * 
     */
    public Output timeframe() {
        return this.timeframe;
    }

    private ResourceGroupCostManagementViewArgs() {}

    private ResourceGroupCostManagementViewArgs(ResourceGroupCostManagementViewArgs $) {
        this.accumulated = $.accumulated;
        this.chartType = $.chartType;
        this.dataset = $.dataset;
        this.displayName = $.displayName;
        this.kpis = $.kpis;
        this.name = $.name;
        this.pivots = $.pivots;
        this.reportType = $.reportType;
        this.resourceGroupId = $.resourceGroupId;
        this.timeframe = $.timeframe;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ResourceGroupCostManagementViewArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ResourceGroupCostManagementViewArgs $;

        public Builder() {
            $ = new ResourceGroupCostManagementViewArgs();
        }

        public Builder(ResourceGroupCostManagementViewArgs defaults) {
            $ = new ResourceGroupCostManagementViewArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param accumulated 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.
         * 
         * @return builder
         * 
         */
        public Builder accumulated(Output accumulated) {
            $.accumulated = accumulated;
            return this;
        }

        /**
         * @param accumulated 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.
         * 
         * @return builder
         * 
         */
        public Builder accumulated(Boolean accumulated) {
            return accumulated(Output.of(accumulated));
        }

        /**
         * @param chartType Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.
         * 
         * @return builder
         * 
         */
        public Builder chartType(Output chartType) {
            $.chartType = chartType;
            return this;
        }

        /**
         * @param chartType Chart type of the main view in Cost Analysis. Possible values are `Area`, `GroupedColumn`, `Line`, `StackedColumn` and `Table`.
         * 
         * @return builder
         * 
         */
        public Builder chartType(String chartType) {
            return chartType(Output.of(chartType));
        }

        /**
         * @param dataset A `dataset` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder dataset(Output dataset) {
            $.dataset = dataset;
            return this;
        }

        /**
         * @param dataset A `dataset` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder dataset(ResourceGroupCostManagementViewDatasetArgs dataset) {
            return dataset(Output.of(dataset));
        }

        /**
         * @param displayName User visible input name of the Cost Management View.
         * 
         * @return builder
         * 
         */
        public Builder displayName(Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName User visible input name of the Cost Management View.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param kpis One or more `kpi` blocks as defined below, to show in Cost Analysis UI.
         * 
         * @return builder
         * 
         */
        public Builder kpis(@Nullable Output> kpis) {
            $.kpis = kpis;
            return this;
        }

        /**
         * @param kpis One or more `kpi` blocks as defined below, to show in Cost Analysis UI.
         * 
         * @return builder
         * 
         */
        public Builder kpis(List kpis) {
            return kpis(Output.of(kpis));
        }

        /**
         * @param kpis One or more `kpi` blocks as defined below, to show in Cost Analysis UI.
         * 
         * @return builder
         * 
         */
        public Builder kpis(ResourceGroupCostManagementViewKpiArgs... kpis) {
            return kpis(List.of(kpis));
        }

        /**
         * @param name 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.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name 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.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param pivots 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.
         * 
         * @return builder
         * 
         */
        public Builder pivots(@Nullable Output> pivots) {
            $.pivots = pivots;
            return this;
        }

        /**
         * @param pivots 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.
         * 
         * @return builder
         * 
         */
        public Builder pivots(List pivots) {
            return pivots(Output.of(pivots));
        }

        /**
         * @param pivots 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.
         * 
         * @return builder
         * 
         */
        public Builder pivots(ResourceGroupCostManagementViewPivotArgs... pivots) {
            return pivots(List.of(pivots));
        }

        /**
         * @param reportType The type of the report. The only possible value is `Usage`.
         * 
         * @return builder
         * 
         */
        public Builder reportType(Output reportType) {
            $.reportType = reportType;
            return this;
        }

        /**
         * @param reportType The type of the report. The only possible value is `Usage`.
         * 
         * @return builder
         * 
         */
        public Builder reportType(String reportType) {
            return reportType(Output.of(reportType));
        }

        /**
         * @param resourceGroupId 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.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId 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.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param timeframe The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.
         * 
         * @return builder
         * 
         */
        public Builder timeframe(Output timeframe) {
            $.timeframe = timeframe;
            return this;
        }

        /**
         * @param timeframe The time frame for pulling data for the report. Possible values are `Custom`, `MonthToDate`, `WeekToDate` and `YearToDate`.
         * 
         * @return builder
         * 
         */
        public Builder timeframe(String timeframe) {
            return timeframe(Output.of(timeframe));
        }

        public ResourceGroupCostManagementViewArgs build() {
            if ($.accumulated == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "accumulated");
            }
            if ($.chartType == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "chartType");
            }
            if ($.dataset == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "dataset");
            }
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "displayName");
            }
            if ($.reportType == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "reportType");
            }
            if ($.resourceGroupId == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "resourceGroupId");
            }
            if ($.timeframe == null) {
                throw new MissingRequiredPropertyException("ResourceGroupCostManagementViewArgs", "timeframe");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy