1. Packages
  2. Azure Native
  3. API Docs
  4. authorization
  5. PolicySetDefinition
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi

azure-native.authorization.PolicySetDefinition

Explore with Pulumi AI

The policy set definition.

Uses Azure REST API version 2025-01-01. In version 2.x of the Azure Native provider, it used API version 2021-06-01.

Other available API versions: 2020-09-01, 2021-06-01, 2023-04-01, 2024-05-01, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native authorization [ApiVersion]. See the version guide for details.

Example Usage

Create or update a policy set definition

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var policySetDefinition = new AzureNative.Authorization.PolicySetDefinition("policySetDefinition", new()
    {
        Description = "Policies to enforce low cost storage SKUs",
        DisplayName = "Cost Management",
        Metadata = new Dictionary<string, object?>
        {
            ["category"] = "Cost Management",
        },
        Parameters = 
        {
            { "namePrefix", new AzureNative.Authorization.Inputs.ParameterDefinitionsValueArgs
            {
                DefaultValue = "myPrefix",
                Metadata = new AzureNative.Authorization.Inputs.ParameterDefinitionsValueMetadataArgs
                {
                    DisplayName = "Prefix to enforce on resource names",
                },
                Type = AzureNative.Authorization.ParameterType.String,
            } },
        },
        PolicyDefinitions = new[]
        {
            new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
            {
                Parameters = 
                {
                    { "listOfAllowedSKUs", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                    {
                        Value = new[]
                        {
                            "Standard_GRS",
                            "Standard_LRS",
                        },
                    } },
                },
                PolicyDefinitionId = "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/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 = "[parameters('namePrefix')]",
                    } },
                    { "suffix", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                    {
                        Value = "-LC",
                    } },
                },
                PolicyDefinitionId = "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
                PolicyDefinitionReferenceId = "Resource_Naming",
            },
        },
        PolicySetDefinitionName = "CostManagement",
    });

});
Copy
package main

import (
	authorization "github.com/pulumi/pulumi-azure-native-sdk/authorization/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := authorization.NewPolicySetDefinition(ctx, "policySetDefinition", &authorization.PolicySetDefinitionArgs{
			Description: pulumi.String("Policies to enforce low cost storage SKUs"),
			DisplayName: pulumi.String("Cost Management"),
			Metadata: pulumi.Any(map[string]interface{}{
				"category": "Cost Management",
			}),
			Parameters: authorization.ParameterDefinitionsValueMap{
				"namePrefix": &authorization.ParameterDefinitionsValueArgs{
					DefaultValue: pulumi.Any("myPrefix"),
					Metadata: &authorization.ParameterDefinitionsValueMetadataArgs{
						DisplayName: pulumi.String("Prefix to enforce on resource names"),
					},
					Type: pulumi.String(authorization.ParameterTypeString),
				},
			},
			PolicyDefinitions: authorization.PolicyDefinitionReferenceArray{
				&authorization.PolicyDefinitionReferenceArgs{
					Parameters: authorization.ParameterValuesValueMap{
						"listOfAllowedSKUs": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any{
								"Standard_GRS",
								"Standard_LRS",
							},
						},
					},
					PolicyDefinitionId:          pulumi.String("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"),
					PolicyDefinitionReferenceId: pulumi.String("Limit_Skus"),
				},
				&authorization.PolicyDefinitionReferenceArgs{
					Parameters: authorization.ParameterValuesValueMap{
						"prefix": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any("[parameters('namePrefix')]"),
						},
						"suffix": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any("-LC"),
						},
					},
					PolicyDefinitionId:          pulumi.String("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"),
					PolicyDefinitionReferenceId: pulumi.String("Resource_Naming"),
				},
			},
			PolicySetDefinitionName: pulumi.String("CostManagement"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.authorization.PolicySetDefinition;
import com.pulumi.azurenative.authorization.PolicySetDefinitionArgs;
import com.pulumi.azurenative.authorization.inputs.PolicyDefinitionReferenceArgs;
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 policySetDefinition = new PolicySetDefinition("policySetDefinition", PolicySetDefinitionArgs.builder()
            .description("Policies to enforce low cost storage SKUs")
            .displayName("Cost Management")
            .metadata(Map.of("category", "Cost Management"))
            .parameters(Map.of("namePrefix", ParameterDefinitionsValueArgs.builder()
                .defaultValue("myPrefix")
                .metadata(ParameterDefinitionsValueMetadataArgs.builder()
                    .displayName("Prefix to enforce on resource names")
                    .build())
                .type("String")
                .build()))
            .policyDefinitions(            
                PolicyDefinitionReferenceArgs.builder()
                    .parameters(Map.of("listOfAllowedSKUs", ParameterValuesValueArgs.builder()
                        .value(                        
                            "Standard_GRS",
                            "Standard_LRS")
                        .build()))
                    .policyDefinitionId("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1")
                    .policyDefinitionReferenceId("Limit_Skus")
                    .build(),
                PolicyDefinitionReferenceArgs.builder()
                    .parameters(Map.ofEntries(
                        Map.entry("prefix", ParameterValuesValueArgs.builder()
                            .value("[parameters('namePrefix')]")
                            .build()),
                        Map.entry("suffix", ParameterValuesValueArgs.builder()
                            .value("-LC")
                            .build())
                    ))
                    .policyDefinitionId("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming")
                    .policyDefinitionReferenceId("Resource_Naming")
                    .build())
            .policySetDefinitionName("CostManagement")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const policySetDefinition = new azure_native.authorization.PolicySetDefinition("policySetDefinition", {
    description: "Policies to enforce low cost storage SKUs",
    displayName: "Cost Management",
    metadata: {
        category: "Cost Management",
    },
    parameters: {
        namePrefix: {
            defaultValue: "myPrefix",
            metadata: {
                displayName: "Prefix to enforce on resource names",
            },
            type: azure_native.authorization.ParameterType.String,
        },
    },
    policyDefinitions: [
        {
            parameters: {
                listOfAllowedSKUs: {
                    value: [
                        "Standard_GRS",
                        "Standard_LRS",
                    ],
                },
            },
            policyDefinitionId: "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
            policyDefinitionReferenceId: "Limit_Skus",
        },
        {
            parameters: {
                prefix: {
                    value: "[parameters('namePrefix')]",
                },
                suffix: {
                    value: "-LC",
                },
            },
            policyDefinitionId: "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
            policyDefinitionReferenceId: "Resource_Naming",
        },
    ],
    policySetDefinitionName: "CostManagement",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

policy_set_definition = azure_native.authorization.PolicySetDefinition("policySetDefinition",
    description="Policies to enforce low cost storage SKUs",
    display_name="Cost Management",
    metadata={
        "category": "Cost Management",
    },
    parameters={
        "namePrefix": {
            "default_value": "myPrefix",
            "metadata": {
                "display_name": "Prefix to enforce on resource names",
            },
            "type": azure_native.authorization.ParameterType.STRING,
        },
    },
    policy_definitions=[
        {
            "parameters": {
                "listOfAllowedSKUs": {
                    "value": [
                        "Standard_GRS",
                        "Standard_LRS",
                    ],
                },
            },
            "policy_definition_id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
            "policy_definition_reference_id": "Limit_Skus",
        },
        {
            "parameters": {
                "prefix": {
                    "value": "[parameters('namePrefix')]",
                },
                "suffix": {
                    "value": "-LC",
                },
            },
            "policy_definition_id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
            "policy_definition_reference_id": "Resource_Naming",
        },
    ],
    policy_set_definition_name="CostManagement")
Copy
resources:
  policySetDefinition:
    type: azure-native:authorization:PolicySetDefinition
    properties:
      description: Policies to enforce low cost storage SKUs
      displayName: Cost Management
      metadata:
        category: Cost Management
      parameters:
        namePrefix:
          defaultValue: myPrefix
          metadata:
            displayName: Prefix to enforce on resource names
          type: String
      policyDefinitions:
        - parameters:
            listOfAllowedSKUs:
              value:
                - Standard_GRS
                - Standard_LRS
          policyDefinitionId: /subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1
          policyDefinitionReferenceId: Limit_Skus
        - parameters:
            prefix:
              value: '[parameters(''namePrefix'')]'
            suffix:
              value: -LC
          policyDefinitionId: /subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming
          policyDefinitionReferenceId: Resource_Naming
      policySetDefinitionName: CostManagement
Copy

Create or update a policy set definition with groups

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var policySetDefinition = new AzureNative.Authorization.PolicySetDefinition("policySetDefinition", new()
    {
        Description = "Policies to enforce low cost storage SKUs",
        DisplayName = "Cost Management",
        Metadata = new Dictionary<string, object?>
        {
            ["category"] = "Cost Management",
        },
        PolicyDefinitionGroups = new[]
        {
            new AzureNative.Authorization.Inputs.PolicyDefinitionGroupArgs
            {
                Description = "Policies designed to control spend within a subscription.",
                DisplayName = "Cost Management Policies",
                Name = "CostSaving",
            },
            new AzureNative.Authorization.Inputs.PolicyDefinitionGroupArgs
            {
                Description = "Policies that help enforce resource organization standards within a subscription.",
                DisplayName = "Organizational Policies",
                Name = "Organizational",
            },
        },
        PolicyDefinitions = new[]
        {
            new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
            {
                DefinitionVersion = "1.*.*",
                GroupNames = new[]
                {
                    "CostSaving",
                },
                Parameters = 
                {
                    { "listOfAllowedSKUs", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                    {
                        Value = new[]
                        {
                            "Standard_GRS",
                            "Standard_LRS",
                        },
                    } },
                },
                PolicyDefinitionId = "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
                PolicyDefinitionReferenceId = "Limit_Skus",
            },
            new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
            {
                DefinitionVersion = "1.*.*",
                GroupNames = new[]
                {
                    "Organizational",
                },
                Parameters = 
                {
                    { "prefix", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                    {
                        Value = "DeptA",
                    } },
                    { "suffix", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                    {
                        Value = "-LC",
                    } },
                },
                PolicyDefinitionId = "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
                PolicyDefinitionReferenceId = "Resource_Naming",
            },
        },
        PolicySetDefinitionName = "CostManagement",
    });

});
Copy
package main

import (
	authorization "github.com/pulumi/pulumi-azure-native-sdk/authorization/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := authorization.NewPolicySetDefinition(ctx, "policySetDefinition", &authorization.PolicySetDefinitionArgs{
			Description: pulumi.String("Policies to enforce low cost storage SKUs"),
			DisplayName: pulumi.String("Cost Management"),
			Metadata: pulumi.Any(map[string]interface{}{
				"category": "Cost Management",
			}),
			PolicyDefinitionGroups: authorization.PolicyDefinitionGroupArray{
				&authorization.PolicyDefinitionGroupArgs{
					Description: pulumi.String("Policies designed to control spend within a subscription."),
					DisplayName: pulumi.String("Cost Management Policies"),
					Name:        pulumi.String("CostSaving"),
				},
				&authorization.PolicyDefinitionGroupArgs{
					Description: pulumi.String("Policies that help enforce resource organization standards within a subscription."),
					DisplayName: pulumi.String("Organizational Policies"),
					Name:        pulumi.String("Organizational"),
				},
			},
			PolicyDefinitions: authorization.PolicyDefinitionReferenceArray{
				&authorization.PolicyDefinitionReferenceArgs{
					DefinitionVersion: pulumi.String("1.*.*"),
					GroupNames: pulumi.StringArray{
						pulumi.String("CostSaving"),
					},
					Parameters: authorization.ParameterValuesValueMap{
						"listOfAllowedSKUs": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any{
								"Standard_GRS",
								"Standard_LRS",
							},
						},
					},
					PolicyDefinitionId:          pulumi.String("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"),
					PolicyDefinitionReferenceId: pulumi.String("Limit_Skus"),
				},
				&authorization.PolicyDefinitionReferenceArgs{
					DefinitionVersion: pulumi.String("1.*.*"),
					GroupNames: pulumi.StringArray{
						pulumi.String("Organizational"),
					},
					Parameters: authorization.ParameterValuesValueMap{
						"prefix": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any("DeptA"),
						},
						"suffix": &authorization.ParameterValuesValueArgs{
							Value: pulumi.Any("-LC"),
						},
					},
					PolicyDefinitionId:          pulumi.String("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"),
					PolicyDefinitionReferenceId: pulumi.String("Resource_Naming"),
				},
			},
			PolicySetDefinitionName: pulumi.String("CostManagement"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.authorization.PolicySetDefinition;
import com.pulumi.azurenative.authorization.PolicySetDefinitionArgs;
import com.pulumi.azurenative.authorization.inputs.PolicyDefinitionGroupArgs;
import com.pulumi.azurenative.authorization.inputs.PolicyDefinitionReferenceArgs;
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 policySetDefinition = new PolicySetDefinition("policySetDefinition", PolicySetDefinitionArgs.builder()
            .description("Policies to enforce low cost storage SKUs")
            .displayName("Cost Management")
            .metadata(Map.of("category", "Cost Management"))
            .policyDefinitionGroups(            
                PolicyDefinitionGroupArgs.builder()
                    .description("Policies designed to control spend within a subscription.")
                    .displayName("Cost Management Policies")
                    .name("CostSaving")
                    .build(),
                PolicyDefinitionGroupArgs.builder()
                    .description("Policies that help enforce resource organization standards within a subscription.")
                    .displayName("Organizational Policies")
                    .name("Organizational")
                    .build())
            .policyDefinitions(            
                PolicyDefinitionReferenceArgs.builder()
                    .definitionVersion("1.*.*")
                    .groupNames("CostSaving")
                    .parameters(Map.of("listOfAllowedSKUs", ParameterValuesValueArgs.builder()
                        .value(                        
                            "Standard_GRS",
                            "Standard_LRS")
                        .build()))
                    .policyDefinitionId("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1")
                    .policyDefinitionReferenceId("Limit_Skus")
                    .build(),
                PolicyDefinitionReferenceArgs.builder()
                    .definitionVersion("1.*.*")
                    .groupNames("Organizational")
                    .parameters(Map.ofEntries(
                        Map.entry("prefix", ParameterValuesValueArgs.builder()
                            .value("DeptA")
                            .build()),
                        Map.entry("suffix", ParameterValuesValueArgs.builder()
                            .value("-LC")
                            .build())
                    ))
                    .policyDefinitionId("/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming")
                    .policyDefinitionReferenceId("Resource_Naming")
                    .build())
            .policySetDefinitionName("CostManagement")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const policySetDefinition = new azure_native.authorization.PolicySetDefinition("policySetDefinition", {
    description: "Policies to enforce low cost storage SKUs",
    displayName: "Cost Management",
    metadata: {
        category: "Cost Management",
    },
    policyDefinitionGroups: [
        {
            description: "Policies designed to control spend within a subscription.",
            displayName: "Cost Management Policies",
            name: "CostSaving",
        },
        {
            description: "Policies that help enforce resource organization standards within a subscription.",
            displayName: "Organizational Policies",
            name: "Organizational",
        },
    ],
    policyDefinitions: [
        {
            definitionVersion: "1.*.*",
            groupNames: ["CostSaving"],
            parameters: {
                listOfAllowedSKUs: {
                    value: [
                        "Standard_GRS",
                        "Standard_LRS",
                    ],
                },
            },
            policyDefinitionId: "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
            policyDefinitionReferenceId: "Limit_Skus",
        },
        {
            definitionVersion: "1.*.*",
            groupNames: ["Organizational"],
            parameters: {
                prefix: {
                    value: "DeptA",
                },
                suffix: {
                    value: "-LC",
                },
            },
            policyDefinitionId: "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
            policyDefinitionReferenceId: "Resource_Naming",
        },
    ],
    policySetDefinitionName: "CostManagement",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

policy_set_definition = azure_native.authorization.PolicySetDefinition("policySetDefinition",
    description="Policies to enforce low cost storage SKUs",
    display_name="Cost Management",
    metadata={
        "category": "Cost Management",
    },
    policy_definition_groups=[
        {
            "description": "Policies designed to control spend within a subscription.",
            "display_name": "Cost Management Policies",
            "name": "CostSaving",
        },
        {
            "description": "Policies that help enforce resource organization standards within a subscription.",
            "display_name": "Organizational Policies",
            "name": "Organizational",
        },
    ],
    policy_definitions=[
        {
            "definition_version": "1.*.*",
            "group_names": ["CostSaving"],
            "parameters": {
                "listOfAllowedSKUs": {
                    "value": [
                        "Standard_GRS",
                        "Standard_LRS",
                    ],
                },
            },
            "policy_definition_id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1",
            "policy_definition_reference_id": "Limit_Skus",
        },
        {
            "definition_version": "1.*.*",
            "group_names": ["Organizational"],
            "parameters": {
                "prefix": {
                    "value": "DeptA",
                },
                "suffix": {
                    "value": "-LC",
                },
            },
            "policy_definition_id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
            "policy_definition_reference_id": "Resource_Naming",
        },
    ],
    policy_set_definition_name="CostManagement")
Copy
resources:
  policySetDefinition:
    type: azure-native:authorization:PolicySetDefinition
    properties:
      description: Policies to enforce low cost storage SKUs
      displayName: Cost Management
      metadata:
        category: Cost Management
      policyDefinitionGroups:
        - description: Policies designed to control spend within a subscription.
          displayName: Cost Management Policies
          name: CostSaving
        - description: Policies that help enforce resource organization standards within a subscription.
          displayName: Organizational Policies
          name: Organizational
      policyDefinitions:
        - definitionVersion: 1.*.*
          groupNames:
            - CostSaving
          parameters:
            listOfAllowedSKUs:
              value:
                - Standard_GRS
                - Standard_LRS
          policyDefinitionId: /subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1
          policyDefinitionReferenceId: Limit_Skus
        - definitionVersion: 1.*.*
          groupNames:
            - Organizational
          parameters:
            prefix:
              value: DeptA
            suffix:
              value: -LC
          policyDefinitionId: /subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming
          policyDefinitionReferenceId: Resource_Naming
      policySetDefinitionName: CostManagement
Copy

Create PolicySetDefinition Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new PolicySetDefinition(name: string, args: PolicySetDefinitionArgs, opts?: CustomResourceOptions);
@overload
def PolicySetDefinition(resource_name: str,
                        args: PolicySetDefinitionArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def PolicySetDefinition(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        policy_definitions: Optional[Sequence[PolicyDefinitionReferenceArgs]] = None,
                        description: Optional[str] = None,
                        display_name: Optional[str] = None,
                        metadata: Optional[Any] = None,
                        parameters: Optional[Mapping[str, ParameterDefinitionsValueArgs]] = None,
                        policy_definition_groups: Optional[Sequence[PolicyDefinitionGroupArgs]] = None,
                        policy_set_definition_name: Optional[str] = None,
                        policy_type: Optional[Union[str, PolicyType]] = None,
                        version: Optional[str] = None,
                        versions: Optional[Sequence[str]] = None)
func NewPolicySetDefinition(ctx *Context, name string, args PolicySetDefinitionArgs, opts ...ResourceOption) (*PolicySetDefinition, error)
public PolicySetDefinition(string name, PolicySetDefinitionArgs args, CustomResourceOptions? opts = null)
public PolicySetDefinition(String name, PolicySetDefinitionArgs args)
public PolicySetDefinition(String name, PolicySetDefinitionArgs args, CustomResourceOptions options)
type: azure-native:authorization:PolicySetDefinition
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. PolicySetDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. PolicySetDefinitionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. PolicySetDefinitionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PolicySetDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. PolicySetDefinitionArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var policySetDefinitionResource = new AzureNative.Authorization.PolicySetDefinition("policySetDefinitionResource", new()
{
    PolicyDefinitions = new[]
    {
        new AzureNative.Authorization.Inputs.PolicyDefinitionReferenceArgs
        {
            PolicyDefinitionId = "string",
            DefinitionVersion = "string",
            GroupNames = new[]
            {
                "string",
            },
            Parameters = 
            {
                { "string", new AzureNative.Authorization.Inputs.ParameterValuesValueArgs
                {
                    Value = "any",
                } },
            },
            PolicyDefinitionReferenceId = "string",
        },
    },
    Description = "string",
    DisplayName = "string",
    Metadata = "any",
    Parameters = 
    {
        { "string", new AzureNative.Authorization.Inputs.ParameterDefinitionsValueArgs
        {
            AllowedValues = new[]
            {
                "any",
            },
            DefaultValue = "any",
            Metadata = new AzureNative.Authorization.Inputs.ParameterDefinitionsValueMetadataArgs
            {
                AssignPermissions = false,
                Description = "string",
                DisplayName = "string",
                StrongType = "string",
            },
            Schema = "any",
            Type = "string",
        } },
    },
    PolicyDefinitionGroups = new[]
    {
        new AzureNative.Authorization.Inputs.PolicyDefinitionGroupArgs
        {
            Name = "string",
            AdditionalMetadataId = "string",
            Category = "string",
            Description = "string",
            DisplayName = "string",
        },
    },
    PolicySetDefinitionName = "string",
    PolicyType = "string",
    Version = "string",
    Versions = new[]
    {
        "string",
    },
});
Copy
example, err := authorization.NewPolicySetDefinition(ctx, "policySetDefinitionResource", &authorization.PolicySetDefinitionArgs{
	PolicyDefinitions: authorization.PolicyDefinitionReferenceArray{
		&authorization.PolicyDefinitionReferenceArgs{
			PolicyDefinitionId: pulumi.String("string"),
			DefinitionVersion:  pulumi.String("string"),
			GroupNames: pulumi.StringArray{
				pulumi.String("string"),
			},
			Parameters: authorization.ParameterValuesValueMap{
				"string": &authorization.ParameterValuesValueArgs{
					Value: pulumi.Any("any"),
				},
			},
			PolicyDefinitionReferenceId: pulumi.String("string"),
		},
	},
	Description: pulumi.String("string"),
	DisplayName: pulumi.String("string"),
	Metadata:    pulumi.Any("any"),
	Parameters: authorization.ParameterDefinitionsValueMap{
		"string": &authorization.ParameterDefinitionsValueArgs{
			AllowedValues: pulumi.Array{
				pulumi.Any("any"),
			},
			DefaultValue: pulumi.Any("any"),
			Metadata: &authorization.ParameterDefinitionsValueMetadataArgs{
				AssignPermissions: pulumi.Bool(false),
				Description:       pulumi.String("string"),
				DisplayName:       pulumi.String("string"),
				StrongType:        pulumi.String("string"),
			},
			Schema: pulumi.Any("any"),
			Type:   pulumi.String("string"),
		},
	},
	PolicyDefinitionGroups: authorization.PolicyDefinitionGroupArray{
		&authorization.PolicyDefinitionGroupArgs{
			Name:                 pulumi.String("string"),
			AdditionalMetadataId: pulumi.String("string"),
			Category:             pulumi.String("string"),
			Description:          pulumi.String("string"),
			DisplayName:          pulumi.String("string"),
		},
	},
	PolicySetDefinitionName: pulumi.String("string"),
	PolicyType:              pulumi.String("string"),
	Version:                 pulumi.String("string"),
	Versions: pulumi.StringArray{
		pulumi.String("string"),
	},
})
Copy
var policySetDefinitionResource = new PolicySetDefinition("policySetDefinitionResource", PolicySetDefinitionArgs.builder()
    .policyDefinitions(PolicyDefinitionReferenceArgs.builder()
        .policyDefinitionId("string")
        .definitionVersion("string")
        .groupNames("string")
        .parameters(Map.of("string", Map.of("value", "any")))
        .policyDefinitionReferenceId("string")
        .build())
    .description("string")
    .displayName("string")
    .metadata("any")
    .parameters(Map.of("string", Map.ofEntries(
        Map.entry("allowedValues", "any"),
        Map.entry("defaultValue", "any"),
        Map.entry("metadata", Map.ofEntries(
            Map.entry("assignPermissions", false),
            Map.entry("description", "string"),
            Map.entry("displayName", "string"),
            Map.entry("strongType", "string")
        )),
        Map.entry("schema", "any"),
        Map.entry("type", "string")
    )))
    .policyDefinitionGroups(PolicyDefinitionGroupArgs.builder()
        .name("string")
        .additionalMetadataId("string")
        .category("string")
        .description("string")
        .displayName("string")
        .build())
    .policySetDefinitionName("string")
    .policyType("string")
    .version("string")
    .versions("string")
    .build());
Copy
policy_set_definition_resource = azure_native.authorization.PolicySetDefinition("policySetDefinitionResource",
    policy_definitions=[{
        "policy_definition_id": "string",
        "definition_version": "string",
        "group_names": ["string"],
        "parameters": {
            "string": {
                "value": "any",
            },
        },
        "policy_definition_reference_id": "string",
    }],
    description="string",
    display_name="string",
    metadata="any",
    parameters={
        "string": {
            "allowed_values": ["any"],
            "default_value": "any",
            "metadata": {
                "assign_permissions": False,
                "description": "string",
                "display_name": "string",
                "strong_type": "string",
            },
            "schema": "any",
            "type": "string",
        },
    },
    policy_definition_groups=[{
        "name": "string",
        "additional_metadata_id": "string",
        "category": "string",
        "description": "string",
        "display_name": "string",
    }],
    policy_set_definition_name="string",
    policy_type="string",
    version="string",
    versions=["string"])
Copy
const policySetDefinitionResource = new azure_native.authorization.PolicySetDefinition("policySetDefinitionResource", {
    policyDefinitions: [{
        policyDefinitionId: "string",
        definitionVersion: "string",
        groupNames: ["string"],
        parameters: {
            string: {
                value: "any",
            },
        },
        policyDefinitionReferenceId: "string",
    }],
    description: "string",
    displayName: "string",
    metadata: "any",
    parameters: {
        string: {
            allowedValues: ["any"],
            defaultValue: "any",
            metadata: {
                assignPermissions: false,
                description: "string",
                displayName: "string",
                strongType: "string",
            },
            schema: "any",
            type: "string",
        },
    },
    policyDefinitionGroups: [{
        name: "string",
        additionalMetadataId: "string",
        category: "string",
        description: "string",
        displayName: "string",
    }],
    policySetDefinitionName: "string",
    policyType: "string",
    version: "string",
    versions: ["string"],
});
Copy
type: azure-native:authorization:PolicySetDefinition
properties:
    description: string
    displayName: string
    metadata: any
    parameters:
        string:
            allowedValues:
                - any
            defaultValue: any
            metadata:
                assignPermissions: false
                description: string
                displayName: string
                strongType: string
            schema: any
            type: string
    policyDefinitionGroups:
        - additionalMetadataId: string
          category: string
          description: string
          displayName: string
          name: string
    policyDefinitions:
        - definitionVersion: string
          groupNames:
            - string
          parameters:
            string:
                value: any
          policyDefinitionId: string
          policyDefinitionReferenceId: string
    policySetDefinitionName: string
    policyType: string
    version: string
    versions:
        - string
Copy

PolicySetDefinition Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The PolicySetDefinition resource accepts the following input properties:

PolicyDefinitions This property is required. List<Pulumi.AzureNative.Authorization.Inputs.PolicyDefinitionReference>
An array of policy definition references.
Description string
The policy set definition description.
DisplayName string
The display name of the policy set definition.
Metadata object
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
Parameters Dictionary<string, Pulumi.AzureNative.Authorization.Inputs.ParameterDefinitionsValueArgs>
The policy set definition parameters that can be used in policy definition references.
PolicyDefinitionGroups List<Pulumi.AzureNative.Authorization.Inputs.PolicyDefinitionGroup>
The metadata describing groups of policy definition references within the policy set definition.
PolicySetDefinitionName Changes to this property will trigger replacement. string
The name of the policy set definition to create.
PolicyType string | Pulumi.AzureNative.Authorization.PolicyType
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
Version string
The policy set definition version in #.#.# format.
Versions List<string>
A list of available versions for this policy set definition.
PolicyDefinitions This property is required. []PolicyDefinitionReferenceArgs
An array of policy definition references.
Description string
The policy set definition description.
DisplayName string
The display name of the policy set definition.
Metadata interface{}
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
Parameters map[string]ParameterDefinitionsValueArgs
The policy set definition parameters that can be used in policy definition references.
PolicyDefinitionGroups []PolicyDefinitionGroupArgs
The metadata describing groups of policy definition references within the policy set definition.
PolicySetDefinitionName Changes to this property will trigger replacement. string
The name of the policy set definition to create.
PolicyType string | PolicyType
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
Version string
The policy set definition version in #.#.# format.
Versions []string
A list of available versions for this policy set definition.
policyDefinitions This property is required. List<PolicyDefinitionReference>
An array of policy definition references.
description String
The policy set definition description.
displayName String
The display name of the policy set definition.
metadata Object
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
parameters Map<String,ParameterDefinitionsValueArgs>
The policy set definition parameters that can be used in policy definition references.
policyDefinitionGroups List<PolicyDefinitionGroup>
The metadata describing groups of policy definition references within the policy set definition.
policySetDefinitionName Changes to this property will trigger replacement. String
The name of the policy set definition to create.
policyType String | PolicyType
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
version String
The policy set definition version in #.#.# format.
versions List<String>
A list of available versions for this policy set definition.
policyDefinitions This property is required. PolicyDefinitionReference[]
An array of policy definition references.
description string
The policy set definition description.
displayName string
The display name of the policy set definition.
metadata any
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
parameters {[key: string]: ParameterDefinitionsValueArgs}
The policy set definition parameters that can be used in policy definition references.
policyDefinitionGroups PolicyDefinitionGroup[]
The metadata describing groups of policy definition references within the policy set definition.
policySetDefinitionName Changes to this property will trigger replacement. string
The name of the policy set definition to create.
policyType string | PolicyType
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
version string
The policy set definition version in #.#.# format.
versions string[]
A list of available versions for this policy set definition.
policy_definitions This property is required. Sequence[PolicyDefinitionReferenceArgs]
An array of policy definition references.
description str
The policy set definition description.
display_name str
The display name of the policy set definition.
metadata Any
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
parameters Mapping[str, ParameterDefinitionsValueArgs]
The policy set definition parameters that can be used in policy definition references.
policy_definition_groups Sequence[PolicyDefinitionGroupArgs]
The metadata describing groups of policy definition references within the policy set definition.
policy_set_definition_name Changes to this property will trigger replacement. str
The name of the policy set definition to create.
policy_type str | PolicyType
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
version str
The policy set definition version in #.#.# format.
versions Sequence[str]
A list of available versions for this policy set definition.
policyDefinitions This property is required. List<Property Map>
An array of policy definition references.
description String
The policy set definition description.
displayName String
The display name of the policy set definition.
metadata Any
The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs.
parameters Map<Property Map>
The policy set definition parameters that can be used in policy definition references.
policyDefinitionGroups List<Property Map>
The metadata describing groups of policy definition references within the policy set definition.
policySetDefinitionName Changes to this property will trigger replacement. String
The name of the policy set definition to create.
policyType String | "NotSpecified" | "BuiltIn" | "Custom" | "Static"
The type of policy set definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
version String
The policy set definition version in #.#.# format.
versions List<String>
A list of available versions for this policy set definition.

Outputs

All input properties are implicitly available as output properties. Additionally, the PolicySetDefinition resource produces the following output properties:

AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the policy set definition.
SystemData Pulumi.AzureNative.Authorization.Outputs.SystemDataResponse
The system metadata relating to this resource.
Type string
The type of the resource (Microsoft.Authorization/policySetDefinitions).
AzureApiVersion string
The Azure API version of the resource.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the policy set definition.
SystemData SystemDataResponse
The system metadata relating to this resource.
Type string
The type of the resource (Microsoft.Authorization/policySetDefinitions).
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the policy set definition.
systemData SystemDataResponse
The system metadata relating to this resource.
type String
The type of the resource (Microsoft.Authorization/policySetDefinitions).
azureApiVersion string
The Azure API version of the resource.
id string
The provider-assigned unique ID for this managed resource.
name string
The name of the policy set definition.
systemData SystemDataResponse
The system metadata relating to this resource.
type string
The type of the resource (Microsoft.Authorization/policySetDefinitions).
azure_api_version str
The Azure API version of the resource.
id str
The provider-assigned unique ID for this managed resource.
name str
The name of the policy set definition.
system_data SystemDataResponse
The system metadata relating to this resource.
type str
The type of the resource (Microsoft.Authorization/policySetDefinitions).
azureApiVersion String
The Azure API version of the resource.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the policy set definition.
systemData Property Map
The system metadata relating to this resource.
type String
The type of the resource (Microsoft.Authorization/policySetDefinitions).

Supporting Types

ParameterDefinitionsValue
, ParameterDefinitionsValueArgs

AllowedValues List<object>
The allowed values for the parameter.
DefaultValue object
The default value for the parameter if no value is provided.
Metadata Pulumi.AzureNative.Authorization.Inputs.ParameterDefinitionsValueMetadata
General metadata for the parameter.
Schema object
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
Type string | Pulumi.AzureNative.Authorization.ParameterType
The data type of the parameter.
AllowedValues []interface{}
The allowed values for the parameter.
DefaultValue interface{}
The default value for the parameter if no value is provided.
Metadata ParameterDefinitionsValueMetadata
General metadata for the parameter.
Schema interface{}
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
Type string | ParameterType
The data type of the parameter.
allowedValues List<Object>
The allowed values for the parameter.
defaultValue Object
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueMetadata
General metadata for the parameter.
schema Object
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type String | ParameterType
The data type of the parameter.
allowedValues any[]
The allowed values for the parameter.
defaultValue any
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueMetadata
General metadata for the parameter.
schema any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type string | ParameterType
The data type of the parameter.
allowed_values Sequence[Any]
The allowed values for the parameter.
default_value Any
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueMetadata
General metadata for the parameter.
schema Any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type str | ParameterType
The data type of the parameter.
allowedValues List<Any>
The allowed values for the parameter.
defaultValue Any
The default value for the parameter if no value is provided.
metadata Property Map
General metadata for the parameter.
schema Any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type String | "String" | "Array" | "Object" | "Boolean" | "Integer" | "Float" | "DateTime"
The data type of the parameter.

ParameterDefinitionsValueMetadata
, ParameterDefinitionsValueMetadataArgs

AssignPermissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
Description string
The description of the parameter.
DisplayName string
The display name for the parameter.
StrongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
AssignPermissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
Description string
The description of the parameter.
DisplayName string
The display name for the parameter.
StrongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions Boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description String
The description of the parameter.
displayName String
The display name for the parameter.
strongType String
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description string
The description of the parameter.
displayName string
The display name for the parameter.
strongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assign_permissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description str
The description of the parameter.
display_name str
The display name for the parameter.
strong_type str
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions Boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description String
The description of the parameter.
displayName String
The display name for the parameter.
strongType String
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.

ParameterDefinitionsValueResponse
, ParameterDefinitionsValueResponseArgs

AllowedValues List<object>
The allowed values for the parameter.
DefaultValue object
The default value for the parameter if no value is provided.
Metadata Pulumi.AzureNative.Authorization.Inputs.ParameterDefinitionsValueResponseMetadata
General metadata for the parameter.
Schema object
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
Type string
The data type of the parameter.
AllowedValues []interface{}
The allowed values for the parameter.
DefaultValue interface{}
The default value for the parameter if no value is provided.
Metadata ParameterDefinitionsValueResponseMetadata
General metadata for the parameter.
Schema interface{}
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
Type string
The data type of the parameter.
allowedValues List<Object>
The allowed values for the parameter.
defaultValue Object
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueResponseMetadata
General metadata for the parameter.
schema Object
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type String
The data type of the parameter.
allowedValues any[]
The allowed values for the parameter.
defaultValue any
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueResponseMetadata
General metadata for the parameter.
schema any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type string
The data type of the parameter.
allowed_values Sequence[Any]
The allowed values for the parameter.
default_value Any
The default value for the parameter if no value is provided.
metadata ParameterDefinitionsValueResponseMetadata
General metadata for the parameter.
schema Any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type str
The data type of the parameter.
allowedValues List<Any>
The allowed values for the parameter.
defaultValue Any
The default value for the parameter if no value is provided.
metadata Property Map
General metadata for the parameter.
schema Any
Provides validation of parameter inputs during assignment using a self-defined JSON schema. This property is only supported for object-type parameters and follows the Json.NET Schema 2019-09 implementation. You can learn more about using schemas at https://json-schema.org/ and test draft schemas at https://www.jsonschemavalidator.net/.
type String
The data type of the parameter.

ParameterDefinitionsValueResponseMetadata
, ParameterDefinitionsValueResponseMetadataArgs

AssignPermissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
Description string
The description of the parameter.
DisplayName string
The display name for the parameter.
StrongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
AssignPermissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
Description string
The description of the parameter.
DisplayName string
The display name for the parameter.
StrongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions Boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description String
The description of the parameter.
displayName String
The display name for the parameter.
strongType String
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description string
The description of the parameter.
displayName string
The display name for the parameter.
strongType string
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assign_permissions bool
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description str
The description of the parameter.
display_name str
The display name for the parameter.
strong_type str
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.
assignPermissions Boolean
Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope.
description String
The description of the parameter.
displayName String
The display name for the parameter.
strongType String
Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from.

ParameterType
, ParameterTypeArgs

String
String
Array
Array
Object
Object
Boolean
Boolean
Integer
Integer
Float
Float
DateTime
DateTime
ParameterTypeString
String
ParameterTypeArray
Array
ParameterTypeObject
Object
ParameterTypeBoolean
Boolean
ParameterTypeInteger
Integer
ParameterTypeFloat
Float
ParameterTypeDateTime
DateTime
String
String
Array
Array
Object
Object
Boolean
Boolean
Integer
Integer
Float
Float
DateTime
DateTime
String
String
Array
Array
Object
Object
Boolean
Boolean
Integer
Integer
Float
Float
DateTime
DateTime
STRING
String
ARRAY
Array
OBJECT
Object
BOOLEAN
Boolean
INTEGER
Integer
FLOAT
Float
DATE_TIME
DateTime
"String"
String
"Array"
Array
"Object"
Object
"Boolean"
Boolean
"Integer"
Integer
"Float"
Float
"DateTime"
DateTime

ParameterValuesValue
, ParameterValuesValueArgs

Value object
The value of the parameter.
Value interface{}
The value of the parameter.
value Object
The value of the parameter.
value any
The value of the parameter.
value Any
The value of the parameter.
value Any
The value of the parameter.

ParameterValuesValueResponse
, ParameterValuesValueResponseArgs

Value object
The value of the parameter.
Value interface{}
The value of the parameter.
value Object
The value of the parameter.
value any
The value of the parameter.
value Any
The value of the parameter.
value Any
The value of the parameter.

PolicyDefinitionGroup
, PolicyDefinitionGroupArgs

Name This property is required. string
The name of the group.
AdditionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
Category string
The group's category.
Description string
The group's description.
DisplayName string
The group's display name.
Name This property is required. string
The name of the group.
AdditionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
Category string
The group's category.
Description string
The group's description.
DisplayName string
The group's display name.
name This property is required. String
The name of the group.
additionalMetadataId String
A resource ID of a resource that contains additional metadata about the group.
category String
The group's category.
description String
The group's description.
displayName String
The group's display name.
name This property is required. string
The name of the group.
additionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
category string
The group's category.
description string
The group's description.
displayName string
The group's display name.
name This property is required. str
The name of the group.
additional_metadata_id str
A resource ID of a resource that contains additional metadata about the group.
category str
The group's category.
description str
The group's description.
display_name str
The group's display name.
name This property is required. String
The name of the group.
additionalMetadataId String
A resource ID of a resource that contains additional metadata about the group.
category String
The group's category.
description String
The group's description.
displayName String
The group's display name.

PolicyDefinitionGroupResponse
, PolicyDefinitionGroupResponseArgs

Name This property is required. string
The name of the group.
AdditionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
Category string
The group's category.
Description string
The group's description.
DisplayName string
The group's display name.
Name This property is required. string
The name of the group.
AdditionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
Category string
The group's category.
Description string
The group's description.
DisplayName string
The group's display name.
name This property is required. String
The name of the group.
additionalMetadataId String
A resource ID of a resource that contains additional metadata about the group.
category String
The group's category.
description String
The group's description.
displayName String
The group's display name.
name This property is required. string
The name of the group.
additionalMetadataId string
A resource ID of a resource that contains additional metadata about the group.
category string
The group's category.
description string
The group's description.
displayName string
The group's display name.
name This property is required. str
The name of the group.
additional_metadata_id str
A resource ID of a resource that contains additional metadata about the group.
category str
The group's category.
description str
The group's description.
display_name str
The group's display name.
name This property is required. String
The name of the group.
additionalMetadataId String
A resource ID of a resource that contains additional metadata about the group.
category String
The group's category.
description String
The group's description.
displayName String
The group's display name.

PolicyDefinitionReference
, PolicyDefinitionReferenceArgs

PolicyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
DefinitionVersion string
The version of the policy definition to use.
GroupNames List<string>
The name of the groups that this policy definition reference belongs to.
Parameters Dictionary<string, Pulumi.AzureNative.Authorization.Inputs.ParameterValuesValue>
The parameter values for the referenced policy rule. The keys are the parameter names.
PolicyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
PolicyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
DefinitionVersion string
The version of the policy definition to use.
GroupNames []string
The name of the groups that this policy definition reference belongs to.
Parameters map[string]ParameterValuesValue
The parameter values for the referenced policy rule. The keys are the parameter names.
PolicyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
policyDefinitionId This property is required. String
The ID of the policy definition or policy set definition.
definitionVersion String
The version of the policy definition to use.
groupNames List<String>
The name of the groups that this policy definition reference belongs to.
parameters Map<String,ParameterValuesValue>
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId String
A unique id (within the policy set definition) for this policy definition reference.
policyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
definitionVersion string
The version of the policy definition to use.
groupNames string[]
The name of the groups that this policy definition reference belongs to.
parameters {[key: string]: ParameterValuesValue}
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
policy_definition_id This property is required. str
The ID of the policy definition or policy set definition.
definition_version str
The version of the policy definition to use.
group_names Sequence[str]
The name of the groups that this policy definition reference belongs to.
parameters Mapping[str, ParameterValuesValue]
The parameter values for the referenced policy rule. The keys are the parameter names.
policy_definition_reference_id str
A unique id (within the policy set definition) for this policy definition reference.
policyDefinitionId This property is required. String
The ID of the policy definition or policy set definition.
definitionVersion String
The version of the policy definition to use.
groupNames List<String>
The name of the groups that this policy definition reference belongs to.
parameters Map<Property Map>
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId String
A unique id (within the policy set definition) for this policy definition reference.

PolicyDefinitionReferenceResponse
, PolicyDefinitionReferenceResponseArgs

EffectiveDefinitionVersion This property is required. string
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
LatestDefinitionVersion This property is required. string
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
PolicyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
DefinitionVersion string
The version of the policy definition to use.
GroupNames List<string>
The name of the groups that this policy definition reference belongs to.
Parameters Dictionary<string, Pulumi.AzureNative.Authorization.Inputs.ParameterValuesValueResponse>
The parameter values for the referenced policy rule. The keys are the parameter names.
PolicyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
EffectiveDefinitionVersion This property is required. string
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
LatestDefinitionVersion This property is required. string
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
PolicyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
DefinitionVersion string
The version of the policy definition to use.
GroupNames []string
The name of the groups that this policy definition reference belongs to.
Parameters map[string]ParameterValuesValueResponse
The parameter values for the referenced policy rule. The keys are the parameter names.
PolicyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
effectiveDefinitionVersion This property is required. String
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
latestDefinitionVersion This property is required. String
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
policyDefinitionId This property is required. String
The ID of the policy definition or policy set definition.
definitionVersion String
The version of the policy definition to use.
groupNames List<String>
The name of the groups that this policy definition reference belongs to.
parameters Map<String,ParameterValuesValueResponse>
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId String
A unique id (within the policy set definition) for this policy definition reference.
effectiveDefinitionVersion This property is required. string
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
latestDefinitionVersion This property is required. string
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
policyDefinitionId This property is required. string
The ID of the policy definition or policy set definition.
definitionVersion string
The version of the policy definition to use.
groupNames string[]
The name of the groups that this policy definition reference belongs to.
parameters {[key: string]: ParameterValuesValueResponse}
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId string
A unique id (within the policy set definition) for this policy definition reference.
effective_definition_version This property is required. str
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
latest_definition_version This property is required. str
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
policy_definition_id This property is required. str
The ID of the policy definition or policy set definition.
definition_version str
The version of the policy definition to use.
group_names Sequence[str]
The name of the groups that this policy definition reference belongs to.
parameters Mapping[str, ParameterValuesValueResponse]
The parameter values for the referenced policy rule. The keys are the parameter names.
policy_definition_reference_id str
A unique id (within the policy set definition) for this policy definition reference.
effectiveDefinitionVersion This property is required. String
The effective version of the policy definition in use. This is only present if requested via the $expand query parameter.
latestDefinitionVersion This property is required. String
The latest version of the policy definition available. This is only present if requested via the $expand query parameter.
policyDefinitionId This property is required. String
The ID of the policy definition or policy set definition.
definitionVersion String
The version of the policy definition to use.
groupNames List<String>
The name of the groups that this policy definition reference belongs to.
parameters Map<Property Map>
The parameter values for the referenced policy rule. The keys are the parameter names.
policyDefinitionReferenceId String
A unique id (within the policy set definition) for this policy definition reference.

PolicyType
, PolicyTypeArgs

NotSpecified
NotSpecified
BuiltIn
BuiltIn
Custom
Custom
Static
Static
PolicyTypeNotSpecified
NotSpecified
PolicyTypeBuiltIn
BuiltIn
PolicyTypeCustom
Custom
PolicyTypeStatic
Static
NotSpecified
NotSpecified
BuiltIn
BuiltIn
Custom
Custom
Static
Static
NotSpecified
NotSpecified
BuiltIn
BuiltIn
Custom
Custom
Static
Static
NOT_SPECIFIED
NotSpecified
BUILT_IN
BuiltIn
CUSTOM
Custom
STATIC
Static
"NotSpecified"
NotSpecified
"BuiltIn"
BuiltIn
"Custom"
Custom
"Static"
Static

SystemDataResponse
, SystemDataResponseArgs

CreatedAt string
The timestamp of resource creation (UTC).
CreatedBy string
The identity that created the resource.
CreatedByType string
The type of identity that created the resource.
LastModifiedAt string
The timestamp of resource last modification (UTC)
LastModifiedBy string
The identity that last modified the resource.
LastModifiedByType string
The type of identity that last modified the resource.
CreatedAt string
The timestamp of resource creation (UTC).
CreatedBy string
The identity that created the resource.
CreatedByType string
The type of identity that created the resource.
LastModifiedAt string
The timestamp of resource last modification (UTC)
LastModifiedBy string
The identity that last modified the resource.
LastModifiedByType string
The type of identity that last modified the resource.
createdAt String
The timestamp of resource creation (UTC).
createdBy String
The identity that created the resource.
createdByType String
The type of identity that created the resource.
lastModifiedAt String
The timestamp of resource last modification (UTC)
lastModifiedBy String
The identity that last modified the resource.
lastModifiedByType String
The type of identity that last modified the resource.
createdAt string
The timestamp of resource creation (UTC).
createdBy string
The identity that created the resource.
createdByType string
The type of identity that created the resource.
lastModifiedAt string
The timestamp of resource last modification (UTC)
lastModifiedBy string
The identity that last modified the resource.
lastModifiedByType string
The type of identity that last modified the resource.
created_at str
The timestamp of resource creation (UTC).
created_by str
The identity that created the resource.
created_by_type str
The type of identity that created the resource.
last_modified_at str
The timestamp of resource last modification (UTC)
last_modified_by str
The identity that last modified the resource.
last_modified_by_type str
The type of identity that last modified the resource.
createdAt String
The timestamp of resource creation (UTC).
createdBy String
The identity that created the resource.
createdByType String
The type of identity that created the resource.
lastModifiedAt String
The timestamp of resource last modification (UTC)
lastModifiedBy String
The identity that last modified the resource.
lastModifiedByType String
The type of identity that last modified the resource.

Import

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

$ pulumi import azure-native:authorization:PolicySetDefinition CostManagement /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName} 
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0