CostAllocationRule

class CostAllocationRule : KotlinCustomResource

The cost allocation rule model definition API Version: 2020-03-01-preview.

Example Usage

CostAllocationRulesCreateResourceGroup

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var costAllocationRule = new AzureNative.CostManagement.CostAllocationRule("costAllocationRule", new()
{
BillingAccountId = "100",
Properties = new AzureNative.CostManagement.Inputs.CostAllocationRulePropertiesArgs
{
Description = "This is a testRule",
Details = new AzureNative.CostManagement.Inputs.CostAllocationRuleDetailsArgs
{
SourceResources = new[]
{
new AzureNative.CostManagement.Inputs.SourceCostAllocationResourceArgs
{
Name = "ResourceGroupName",
ResourceType = "Dimension",
Values = new[]
{
"sampleRG",
"secondRG",
},
},
},
TargetResources = new[]
{
new AzureNative.CostManagement.Inputs.TargetCostAllocationResourceArgs
{
Name = "ResourceGroupName",
PolicyType = "FixedProportion",
ResourceType = "Dimension",
Values = new[]
{
new AzureNative.CostManagement.Inputs.CostAllocationProportionArgs
{
Name = "destinationRG",
Percentage = 45,
},
new AzureNative.CostManagement.Inputs.CostAllocationProportionArgs
{
Name = "destinationRG2",
Percentage = 54,
},
},
},
},
},
Status = "Active",
},
RuleName = "testRule",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.CostAllocationRule;
import com.pulumi.azurenative.costmanagement.CostAllocationRuleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var costAllocationRule = new CostAllocationRule("costAllocationRule", CostAllocationRuleArgs.builder()
.billingAccountId("100")
.properties(Map.ofEntries(
Map.entry("description", "This is a testRule"),
Map.entry("details", Map.ofEntries(
Map.entry("sourceResources", Map.ofEntries(
Map.entry("name", "ResourceGroupName"),
Map.entry("resourceType", "Dimension"),
Map.entry("values",
"sampleRG",
"secondRG")
)),
Map.entry("targetResources", Map.ofEntries(
Map.entry("name", "ResourceGroupName"),
Map.entry("policyType", "FixedProportion"),
Map.entry("resourceType", "Dimension"),
Map.entry("values",
Map.ofEntries(
Map.entry("name", "destinationRG"),
Map.entry("percentage", 45)
),
Map.ofEntries(
Map.entry("name", "destinationRG2"),
Map.entry("percentage", 54)
))
))
)),
Map.entry("status", "Active")
))
.ruleName("testRule")
.build());
}
}

CostAllocationRulesCreateTag

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var costAllocationRule = new AzureNative.CostManagement.CostAllocationRule("costAllocationRule", new()
{
BillingAccountId = "100",
Properties = new AzureNative.CostManagement.Inputs.CostAllocationRulePropertiesArgs
{
Description = "This is a testRule",
Details = new AzureNative.CostManagement.Inputs.CostAllocationRuleDetailsArgs
{
SourceResources = new[]
{
new AzureNative.CostManagement.Inputs.SourceCostAllocationResourceArgs
{
Name = "category",
ResourceType = "Tag",
Values = new[]
{
"devops",
},
},
},
TargetResources = new[]
{
new AzureNative.CostManagement.Inputs.TargetCostAllocationResourceArgs
{
Name = "ResourceGroupName",
PolicyType = "FixedProportion",
ResourceType = "Dimension",
Values = new[]
{
new AzureNative.CostManagement.Inputs.CostAllocationProportionArgs
{
Name = "destinationRG",
Percentage = 33.33,
},
new AzureNative.CostManagement.Inputs.CostAllocationProportionArgs
{
Name = "destinationRG2",
Percentage = 33.33,
},
new AzureNative.CostManagement.Inputs.CostAllocationProportionArgs
{
Name = "destinationRG3",
Percentage = 33.34,
},
},
},
},
},
Status = "Active",
},
RuleName = "testRule",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.costmanagement.CostAllocationRule;
import com.pulumi.azurenative.costmanagement.CostAllocationRuleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var costAllocationRule = new CostAllocationRule("costAllocationRule", CostAllocationRuleArgs.builder()
.billingAccountId("100")
.properties(Map.ofEntries(
Map.entry("description", "This is a testRule"),
Map.entry("details", Map.ofEntries(
Map.entry("sourceResources", Map.ofEntries(
Map.entry("name", "category"),
Map.entry("resourceType", "Tag"),
Map.entry("values", "devops")
)),
Map.entry("targetResources", Map.ofEntries(
Map.entry("name", "ResourceGroupName"),
Map.entry("policyType", "FixedProportion"),
Map.entry("resourceType", "Dimension"),
Map.entry("values",
Map.ofEntries(
Map.entry("name", "destinationRG"),
Map.entry("percentage", 33.33)
),
Map.ofEntries(
Map.entry("name", "destinationRG2"),
Map.entry("percentage", 33.33)
),
Map.ofEntries(
Map.entry("name", "destinationRG3"),
Map.entry("percentage", 33.34)
))
))
)),
Map.entry("status", "Active")
))
.ruleName("testRule")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:costmanagement:CostAllocationRule testRule providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule

Properties

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

Name of the rule. This is a read only value.

Link copied to clipboard

Cost allocation rule properties

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val type: Output<String>

Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule.

Link copied to clipboard
val urn: Output<String>