
com.pulumi.azurenative.costmanagement.outputs.GetViewResult Maven / Gradle / Ivy
// *** 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.azurenative.costmanagement.outputs;
import com.pulumi.azurenative.costmanagement.outputs.KpiPropertiesResponse;
import com.pulumi.azurenative.costmanagement.outputs.PivotPropertiesResponse;
import com.pulumi.azurenative.costmanagement.outputs.ReportConfigDatasetResponse;
import com.pulumi.azurenative.costmanagement.outputs.ReportConfigTimePeriodResponse;
import com.pulumi.core.annotations.CustomType;
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;
@CustomType
public final class GetViewResult {
/**
* @return Show costs accumulated over time.
*
*/
private @Nullable String accumulated;
/**
* @return Chart type of the main view in Cost Analysis. Required.
*
*/
private @Nullable String chart;
/**
* @return Date the user created this view.
*
*/
private String createdOn;
/**
* @return Currency of the current view.
*
*/
private String currency;
/**
* @return Has definition for data in this report config.
*
*/
private @Nullable ReportConfigDatasetResponse dataSet;
/**
* @return Date range of the current view.
*
*/
private @Nullable String dateRange;
/**
* @return User input name of the view. Required.
*
*/
private @Nullable String displayName;
/**
* @return eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
*
*/
private @Nullable String eTag;
/**
* @return Resource Id.
*
*/
private String id;
/**
* @return If true, report includes monetary commitment.
*
*/
private @Nullable Boolean includeMonetaryCommitment;
/**
* @return List of KPIs to show in Cost Analysis UI.
*
*/
private @Nullable List kpis;
/**
* @return Metric to use when displaying costs.
*
*/
private @Nullable String metric;
/**
* @return Date when the user last modified this view.
*
*/
private @Nullable String modifiedOn;
/**
* @return Resource name.
*
*/
private String name;
/**
* @return Configuration of 3 sub-views in the Cost Analysis UI.
*
*/
private @Nullable List pivots;
/**
* @return Cost Management scope to save the view on. 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.
*
*/
private @Nullable String scope;
/**
* @return Has time period for pulling data for the report.
*
*/
private @Nullable ReportConfigTimePeriodResponse timePeriod;
/**
* @return The time frame for pulling data for the report. If custom, then a specific time period must be provided.
*
*/
private String timeframe;
/**
* @return Resource type.
*
*/
private String type;
private GetViewResult() {}
/**
* @return Show costs accumulated over time.
*
*/
public Optional accumulated() {
return Optional.ofNullable(this.accumulated);
}
/**
* @return Chart type of the main view in Cost Analysis. Required.
*
*/
public Optional chart() {
return Optional.ofNullable(this.chart);
}
/**
* @return Date the user created this view.
*
*/
public String createdOn() {
return this.createdOn;
}
/**
* @return Currency of the current view.
*
*/
public String currency() {
return this.currency;
}
/**
* @return Has definition for data in this report config.
*
*/
public Optional dataSet() {
return Optional.ofNullable(this.dataSet);
}
/**
* @return Date range of the current view.
*
*/
public Optional dateRange() {
return Optional.ofNullable(this.dateRange);
}
/**
* @return User input name of the view. Required.
*
*/
public Optional displayName() {
return Optional.ofNullable(this.displayName);
}
/**
* @return eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
*
*/
public Optional eTag() {
return Optional.ofNullable(this.eTag);
}
/**
* @return Resource Id.
*
*/
public String id() {
return this.id;
}
/**
* @return If true, report includes monetary commitment.
*
*/
public Optional includeMonetaryCommitment() {
return Optional.ofNullable(this.includeMonetaryCommitment);
}
/**
* @return List of KPIs to show in Cost Analysis UI.
*
*/
public List kpis() {
return this.kpis == null ? List.of() : this.kpis;
}
/**
* @return Metric to use when displaying costs.
*
*/
public Optional metric() {
return Optional.ofNullable(this.metric);
}
/**
* @return Date when the user last modified this view.
*
*/
public Optional modifiedOn() {
return Optional.ofNullable(this.modifiedOn);
}
/**
* @return Resource name.
*
*/
public String name() {
return this.name;
}
/**
* @return Configuration of 3 sub-views in the Cost Analysis UI.
*
*/
public List pivots() {
return this.pivots == null ? List.of() : this.pivots;
}
/**
* @return Cost Management scope to save the view on. 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.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.
*
*/
public Optional scope() {
return Optional.ofNullable(this.scope);
}
/**
* @return Has time period for pulling data for the report.
*
*/
public Optional timePeriod() {
return Optional.ofNullable(this.timePeriod);
}
/**
* @return The time frame for pulling data for the report. If custom, then a specific time period must be provided.
*
*/
public String timeframe() {
return this.timeframe;
}
/**
* @return Resource type.
*
*/
public String type() {
return this.type;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetViewResult defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String accumulated;
private @Nullable String chart;
private String createdOn;
private String currency;
private @Nullable ReportConfigDatasetResponse dataSet;
private @Nullable String dateRange;
private @Nullable String displayName;
private @Nullable String eTag;
private String id;
private @Nullable Boolean includeMonetaryCommitment;
private @Nullable List kpis;
private @Nullable String metric;
private @Nullable String modifiedOn;
private String name;
private @Nullable List pivots;
private @Nullable String scope;
private @Nullable ReportConfigTimePeriodResponse timePeriod;
private String timeframe;
private String type;
public Builder() {}
public Builder(GetViewResult defaults) {
Objects.requireNonNull(defaults);
this.accumulated = defaults.accumulated;
this.chart = defaults.chart;
this.createdOn = defaults.createdOn;
this.currency = defaults.currency;
this.dataSet = defaults.dataSet;
this.dateRange = defaults.dateRange;
this.displayName = defaults.displayName;
this.eTag = defaults.eTag;
this.id = defaults.id;
this.includeMonetaryCommitment = defaults.includeMonetaryCommitment;
this.kpis = defaults.kpis;
this.metric = defaults.metric;
this.modifiedOn = defaults.modifiedOn;
this.name = defaults.name;
this.pivots = defaults.pivots;
this.scope = defaults.scope;
this.timePeriod = defaults.timePeriod;
this.timeframe = defaults.timeframe;
this.type = defaults.type;
}
@CustomType.Setter
public Builder accumulated(@Nullable String accumulated) {
this.accumulated = accumulated;
return this;
}
@CustomType.Setter
public Builder chart(@Nullable String chart) {
this.chart = chart;
return this;
}
@CustomType.Setter
public Builder createdOn(String createdOn) {
if (createdOn == null) {
throw new MissingRequiredPropertyException("GetViewResult", "createdOn");
}
this.createdOn = createdOn;
return this;
}
@CustomType.Setter
public Builder currency(String currency) {
if (currency == null) {
throw new MissingRequiredPropertyException("GetViewResult", "currency");
}
this.currency = currency;
return this;
}
@CustomType.Setter
public Builder dataSet(@Nullable ReportConfigDatasetResponse dataSet) {
this.dataSet = dataSet;
return this;
}
@CustomType.Setter
public Builder dateRange(@Nullable String dateRange) {
this.dateRange = dateRange;
return this;
}
@CustomType.Setter
public Builder displayName(@Nullable String displayName) {
this.displayName = displayName;
return this;
}
@CustomType.Setter
public Builder eTag(@Nullable String eTag) {
this.eTag = eTag;
return this;
}
@CustomType.Setter
public Builder id(String id) {
if (id == null) {
throw new MissingRequiredPropertyException("GetViewResult", "id");
}
this.id = id;
return this;
}
@CustomType.Setter
public Builder includeMonetaryCommitment(@Nullable Boolean includeMonetaryCommitment) {
this.includeMonetaryCommitment = includeMonetaryCommitment;
return this;
}
@CustomType.Setter
public Builder kpis(@Nullable List kpis) {
this.kpis = kpis;
return this;
}
public Builder kpis(KpiPropertiesResponse... kpis) {
return kpis(List.of(kpis));
}
@CustomType.Setter
public Builder metric(@Nullable String metric) {
this.metric = metric;
return this;
}
@CustomType.Setter
public Builder modifiedOn(@Nullable String modifiedOn) {
this.modifiedOn = modifiedOn;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("GetViewResult", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder pivots(@Nullable List pivots) {
this.pivots = pivots;
return this;
}
public Builder pivots(PivotPropertiesResponse... pivots) {
return pivots(List.of(pivots));
}
@CustomType.Setter
public Builder scope(@Nullable String scope) {
this.scope = scope;
return this;
}
@CustomType.Setter
public Builder timePeriod(@Nullable ReportConfigTimePeriodResponse timePeriod) {
this.timePeriod = timePeriod;
return this;
}
@CustomType.Setter
public Builder timeframe(String timeframe) {
if (timeframe == null) {
throw new MissingRequiredPropertyException("GetViewResult", "timeframe");
}
this.timeframe = timeframe;
return this;
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("GetViewResult", "type");
}
this.type = type;
return this;
}
public GetViewResult build() {
final var _resultValue = new GetViewResult();
_resultValue.accumulated = accumulated;
_resultValue.chart = chart;
_resultValue.createdOn = createdOn;
_resultValue.currency = currency;
_resultValue.dataSet = dataSet;
_resultValue.dateRange = dateRange;
_resultValue.displayName = displayName;
_resultValue.eTag = eTag;
_resultValue.id = id;
_resultValue.includeMonetaryCommitment = includeMonetaryCommitment;
_resultValue.kpis = kpis;
_resultValue.metric = metric;
_resultValue.modifiedOn = modifiedOn;
_resultValue.name = name;
_resultValue.pivots = pivots;
_resultValue.scope = scope;
_resultValue.timePeriod = timePeriod;
_resultValue.timeframe = timeframe;
_resultValue.type = type;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy