Policy Set Definition Version At Management Group
The policy set definition version. Azure REST API version: 2023-04-01.
Example Usage
Create or update a policy set definition version at management group level
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var policySetDefinitionVersionAtManagementGroup = new AzureNative.Authorization.PolicySetDefinitionVersionAtManagementGroup("policySetDefinitionVersionAtManagementGroup", new()
{
Description = "Policies to enforce low cost storage SKUs",
DisplayName = "Cost Management",
ManagementGroupName = "MyManagementGroup",
Metadata =
{
{ "category", "Cost Management" },
},
PolicyDefinitionVersion = "1.2.1",
PolicyDefinitions = new[]
{
new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
{
Parameters =
{
{ "listOfAllowedSKUs", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
{
Value = new[]
{
"Standard_GRS",
"Standard_LRS",
},
} },
},
PolicyDefinitionId = "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
PolicyDefinitionReferenceId = "Limit_Skus",
},
new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
{
Parameters =
{
{ "prefix", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
{
Value = "DeptA",
} },
{ "suffix", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
{
Value = "-LC",
} },
},
PolicyDefinitionId = "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
PolicyDefinitionReferenceId = "Resource_Naming",
},
},
PolicySetDefinitionName = "CostManagement",
Version = "1.2.1",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/authorization/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := authorization.NewPolicySetDefinitionVersionAtManagementGroup(ctx, "policySetDefinitionVersionAtManagementGroup", &authorization.PolicySetDefinitionVersionAtManagementGroupArgs{
Description: pulumi.String("Policies to enforce low cost storage SKUs"),
DisplayName: pulumi.String("Cost Management"),
ManagementGroupName: pulumi.String("MyManagementGroup"),
Metadata: pulumi.Any{
Category: "Cost Management",
},
PolicyDefinitionVersion: pulumi.String("1.2.1"),
PolicyDefinitions: []authorization.PolicyDefinitionReferenceArgs{
{
Parameters: {
"listOfAllowedSKUs": {
Value: pulumi.Any{
"Standard_GRS",
"Standard_LRS",
},
},
},
PolicyDefinitionId: pulumi.String("/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"),
PolicyDefinitionReferenceId: pulumi.String("Limit_Skus"),
},
{
Parameters: {
"prefix": {
Value: pulumi.Any("DeptA"),
},
"suffix": {
Value: pulumi.Any("-LC"),
},
},
PolicyDefinitionId: pulumi.String("/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"),
PolicyDefinitionReferenceId: pulumi.String("Resource_Naming"),
},
},
PolicySetDefinitionName: pulumi.String("CostManagement"),
Version: pulumi.String("1.2.1"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.authorization.PolicySetDefinitionVersionAtManagementGroup;
import com.pulumi.azurenative.authorization.PolicySetDefinitionVersionAtManagementGroupArgs;
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 policySetDefinitionVersionAtManagementGroup = new PolicySetDefinitionVersionAtManagementGroup("policySetDefinitionVersionAtManagementGroup", PolicySetDefinitionVersionAtManagementGroupArgs.builder()
.description("Policies to enforce low cost storage SKUs")
.displayName("Cost Management")
.managementGroupName("MyManagementGroup")
.metadata(Map.of("category", "Cost Management"))
.policyDefinitionVersion("1.2.1")
.policyDefinitions(
Map.ofEntries(
Map.entry("parameters", Map.of("listOfAllowedSKUs", Map.of("value",
"Standard_GRS",
"Standard_LRS"))),
Map.entry("policyDefinitionId", "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"),
Map.entry("policyDefinitionReferenceId", "Limit_Skus")
),
Map.ofEntries(
Map.entry("parameters", Map.ofEntries(
Map.entry("prefix", Map.of("value", "DeptA")),
Map.entry("suffix", Map.of("value", "-LC"))
)),
Map.entry("policyDefinitionId", "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"),
Map.entry("policyDefinitionReferenceId", "Resource_Naming")
))
.policySetDefinitionName("CostManagement")
.version("1.2.1")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:authorization:PolicySetDefinitionVersionAtManagementGroup CostManagement /providers/Microsoft.Management/managementGroups/{managementGroupName}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}/versions/{policyDefinitionVersion}
Content copied to clipboard