com.pulumi.azurenative.costmanagement.outputs.TargetCostAllocationResourceResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.CostAllocationProportionResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
@CustomType
public final class TargetCostAllocationResourceResponse {
/**
* @return If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag
*
*/
private String name;
/**
* @return Method of cost allocation for the rule
*
*/
private String policyType;
/**
* @return Type of resources contained in this cost allocation rule
*
*/
private String resourceType;
/**
* @return Target resources for cost allocation. This list cannot contain more than 25 values.
*
*/
private List values;
private TargetCostAllocationResourceResponse() {}
/**
* @return If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag
*
*/
public String name() {
return this.name;
}
/**
* @return Method of cost allocation for the rule
*
*/
public String policyType() {
return this.policyType;
}
/**
* @return Type of resources contained in this cost allocation rule
*
*/
public String resourceType() {
return this.resourceType;
}
/**
* @return Target resources for cost allocation. This list cannot contain more than 25 values.
*
*/
public List values() {
return this.values;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(TargetCostAllocationResourceResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String name;
private String policyType;
private String resourceType;
private List values;
public Builder() {}
public Builder(TargetCostAllocationResourceResponse defaults) {
Objects.requireNonNull(defaults);
this.name = defaults.name;
this.policyType = defaults.policyType;
this.resourceType = defaults.resourceType;
this.values = defaults.values;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("TargetCostAllocationResourceResponse", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder policyType(String policyType) {
if (policyType == null) {
throw new MissingRequiredPropertyException("TargetCostAllocationResourceResponse", "policyType");
}
this.policyType = policyType;
return this;
}
@CustomType.Setter
public Builder resourceType(String resourceType) {
if (resourceType == null) {
throw new MissingRequiredPropertyException("TargetCostAllocationResourceResponse", "resourceType");
}
this.resourceType = resourceType;
return this;
}
@CustomType.Setter
public Builder values(List values) {
if (values == null) {
throw new MissingRequiredPropertyException("TargetCostAllocationResourceResponse", "values");
}
this.values = values;
return this;
}
public Builder values(CostAllocationProportionResponse... values) {
return values(List.of(values));
}
public TargetCostAllocationResourceResponse build() {
final var _resultValue = new TargetCostAllocationResourceResponse();
_resultValue.name = name;
_resultValue.policyType = policyType;
_resultValue.resourceType = resourceType;
_resultValue.values = values;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy