com.pulumi.azure.core.outputs.SubscriptionCostManagementViewDataset Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
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.
// *** 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.outputs;
import com.pulumi.azure.core.outputs.SubscriptionCostManagementViewDatasetAggregation;
import com.pulumi.azure.core.outputs.SubscriptionCostManagementViewDatasetGrouping;
import com.pulumi.azure.core.outputs.SubscriptionCostManagementViewDatasetSorting;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;
@CustomType
public final class SubscriptionCostManagementViewDataset {
/**
* @return One or more `aggregation` blocks as defined above.
*
*/
private List aggregations;
/**
* @return The granularity of rows in the report. Possible values are `Daily` and `Monthly`.
*
*/
private String granularity;
/**
* @return One or more `grouping` blocks as defined below.
*
*/
private @Nullable List groupings;
/**
* @return One or more `sorting` blocks as defined below, containing the order by expression to be used in the report
*
*/
private @Nullable List sortings;
private SubscriptionCostManagementViewDataset() {}
/**
* @return One or more `aggregation` blocks as defined above.
*
*/
public List aggregations() {
return this.aggregations;
}
/**
* @return The granularity of rows in the report. Possible values are `Daily` and `Monthly`.
*
*/
public String granularity() {
return this.granularity;
}
/**
* @return One or more `grouping` blocks as defined below.
*
*/
public List groupings() {
return this.groupings == null ? List.of() : this.groupings;
}
/**
* @return One or more `sorting` blocks as defined below, containing the order by expression to be used in the report
*
*/
public List sortings() {
return this.sortings == null ? List.of() : this.sortings;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SubscriptionCostManagementViewDataset defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List aggregations;
private String granularity;
private @Nullable List groupings;
private @Nullable List sortings;
public Builder() {}
public Builder(SubscriptionCostManagementViewDataset defaults) {
Objects.requireNonNull(defaults);
this.aggregations = defaults.aggregations;
this.granularity = defaults.granularity;
this.groupings = defaults.groupings;
this.sortings = defaults.sortings;
}
@CustomType.Setter
public Builder aggregations(List aggregations) {
if (aggregations == null) {
throw new MissingRequiredPropertyException("SubscriptionCostManagementViewDataset", "aggregations");
}
this.aggregations = aggregations;
return this;
}
public Builder aggregations(SubscriptionCostManagementViewDatasetAggregation... aggregations) {
return aggregations(List.of(aggregations));
}
@CustomType.Setter
public Builder granularity(String granularity) {
if (granularity == null) {
throw new MissingRequiredPropertyException("SubscriptionCostManagementViewDataset", "granularity");
}
this.granularity = granularity;
return this;
}
@CustomType.Setter
public Builder groupings(@Nullable List groupings) {
this.groupings = groupings;
return this;
}
public Builder groupings(SubscriptionCostManagementViewDatasetGrouping... groupings) {
return groupings(List.of(groupings));
}
@CustomType.Setter
public Builder sortings(@Nullable List sortings) {
this.sortings = sortings;
return this;
}
public Builder sortings(SubscriptionCostManagementViewDatasetSorting... sortings) {
return sortings(List.of(sortings));
}
public SubscriptionCostManagementViewDataset build() {
final var _resultValue = new SubscriptionCostManagementViewDataset();
_resultValue.aggregations = aggregations;
_resultValue.granularity = granularity;
_resultValue.groupings = groupings;
_resultValue.sortings = sortings;
return _resultValue;
}
}
}