We recommend using Azure Native.
azure.policy.getPolicyDefintion
Explore with Pulumi AI
Use this data source to access information about a Policy Definition, both custom and built in. Retrieves Policy Definitions from your current subscription by default.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.policy.getPolicyDefintion({
    displayName: "Allowed resource types",
});
export const id = example.then(example => example.id);
import pulumi
import pulumi_azure as azure
example = azure.policy.get_policy_defintion(display_name="Allowed resource types")
pulumi.export("id", example.id)
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := policy.GetPolicyDefintion(ctx, &policy.GetPolicyDefintionArgs{
			DisplayName: pulumi.StringRef("Allowed resource types"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = Azure.Policy.GetPolicyDefintion.Invoke(new()
    {
        DisplayName = "Allowed resource types",
    });
    return new Dictionary<string, object?>
    {
        ["id"] = example.Apply(getPolicyDefintionResult => getPolicyDefintionResult.Id),
    };
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.policy.PolicyFunctions;
import com.pulumi.azure.policy.inputs.GetPolicyDefintionArgs;
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) {
        final var example = PolicyFunctions.getPolicyDefintion(GetPolicyDefintionArgs.builder()
            .displayName("Allowed resource types")
            .build());
        ctx.export("id", example.applyValue(getPolicyDefintionResult -> getPolicyDefintionResult.id()));
    }
}
variables:
  example:
    fn::invoke:
      function: azure:policy:getPolicyDefintion
      arguments:
        displayName: Allowed resource types
outputs:
  id: ${example.id}
Using getPolicyDefintion
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getPolicyDefintion(args: GetPolicyDefintionArgs, opts?: InvokeOptions): Promise<GetPolicyDefintionResult>
function getPolicyDefintionOutput(args: GetPolicyDefintionOutputArgs, opts?: InvokeOptions): Output<GetPolicyDefintionResult>def get_policy_defintion(display_name: Optional[str] = None,
                         management_group_name: Optional[str] = None,
                         name: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetPolicyDefintionResult
def get_policy_defintion_output(display_name: Optional[pulumi.Input[str]] = None,
                         management_group_name: Optional[pulumi.Input[str]] = None,
                         name: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetPolicyDefintionResult]func GetPolicyDefintion(ctx *Context, args *GetPolicyDefintionArgs, opts ...InvokeOption) (*GetPolicyDefintionResult, error)
func GetPolicyDefintionOutput(ctx *Context, args *GetPolicyDefintionOutputArgs, opts ...InvokeOption) GetPolicyDefintionResultOutput> Note: This function is named GetPolicyDefintion in the Go SDK.
public static class GetPolicyDefintion 
{
    public static Task<GetPolicyDefintionResult> InvokeAsync(GetPolicyDefintionArgs args, InvokeOptions? opts = null)
    public static Output<GetPolicyDefintionResult> Invoke(GetPolicyDefintionInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetPolicyDefintionResult> getPolicyDefintion(GetPolicyDefintionArgs args, InvokeOptions options)
public static Output<GetPolicyDefintionResult> getPolicyDefintion(GetPolicyDefintionArgs args, InvokeOptions options)
fn::invoke:
  function: azure:policy/getPolicyDefintion:getPolicyDefintion
  arguments:
    # arguments dictionaryThe following arguments are supported:
- DisplayName string
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- ManagementGroup stringName 
- Only retrieve Policy Definitions from this Management Group.
- Name string
- Specifies the name of the Policy Definition. Conflicts with display_name.
- DisplayName string
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- ManagementGroup stringName 
- Only retrieve Policy Definitions from this Management Group.
- Name string
- Specifies the name of the Policy Definition. Conflicts with display_name.
- displayName String
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- managementGroup StringName 
- Only retrieve Policy Definitions from this Management Group.
- name String
- Specifies the name of the Policy Definition. Conflicts with display_name.
- displayName string
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- managementGroup stringName 
- Only retrieve Policy Definitions from this Management Group.
- name string
- Specifies the name of the Policy Definition. Conflicts with display_name.
- display_name str
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- management_group_ strname 
- Only retrieve Policy Definitions from this Management Group.
- name str
- Specifies the name of the Policy Definition. Conflicts with display_name.
- displayName String
- Specifies the display name of the Policy Definition. Conflicts with - name.- NOTE Looking up policies by - display_nameis not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the- nameproperty instead.
- managementGroup StringName 
- Only retrieve Policy Definitions from this Management Group.
- name String
- Specifies the name of the Policy Definition. Conflicts with display_name.
getPolicyDefintion Result
The following output properties are available:
- Description string
- The Description of the Policy.
- DisplayName string
- Id string
- The provider-assigned unique ID for this managed resource.
- Metadata string
- Any Metadata defined in the Policy.
- Mode string
- The Mode of the Policy.
- Name string
- Parameters string
- Any Parameters defined in the Policy.
- PolicyRule string
- The Rule as defined (in JSON) in the Policy.
- PolicyType string
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- RoleDefinition List<string>Ids 
- A list of role definition id extracted from policy_rulerequired for remediation.
- Type string
- The Type of Policy.
- ManagementGroup stringName 
- Description string
- The Description of the Policy.
- DisplayName string
- Id string
- The provider-assigned unique ID for this managed resource.
- Metadata string
- Any Metadata defined in the Policy.
- Mode string
- The Mode of the Policy.
- Name string
- Parameters string
- Any Parameters defined in the Policy.
- PolicyRule string
- The Rule as defined (in JSON) in the Policy.
- PolicyType string
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- RoleDefinition []stringIds 
- A list of role definition id extracted from policy_rulerequired for remediation.
- Type string
- The Type of Policy.
- ManagementGroup stringName 
- description String
- The Description of the Policy.
- displayName String
- id String
- The provider-assigned unique ID for this managed resource.
- metadata String
- Any Metadata defined in the Policy.
- mode String
- The Mode of the Policy.
- name String
- parameters String
- Any Parameters defined in the Policy.
- policyRule String
- The Rule as defined (in JSON) in the Policy.
- policyType String
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- roleDefinition List<String>Ids 
- A list of role definition id extracted from policy_rulerequired for remediation.
- type String
- The Type of Policy.
- managementGroup StringName 
- description string
- The Description of the Policy.
- displayName string
- id string
- The provider-assigned unique ID for this managed resource.
- metadata string
- Any Metadata defined in the Policy.
- mode string
- The Mode of the Policy.
- name string
- parameters string
- Any Parameters defined in the Policy.
- policyRule string
- The Rule as defined (in JSON) in the Policy.
- policyType string
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- roleDefinition string[]Ids 
- A list of role definition id extracted from policy_rulerequired for remediation.
- type string
- The Type of Policy.
- managementGroup stringName 
- description str
- The Description of the Policy.
- display_name str
- id str
- The provider-assigned unique ID for this managed resource.
- metadata str
- Any Metadata defined in the Policy.
- mode str
- The Mode of the Policy.
- name str
- parameters str
- Any Parameters defined in the Policy.
- policy_rule str
- The Rule as defined (in JSON) in the Policy.
- policy_type str
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- role_definition_ Sequence[str]ids 
- A list of role definition id extracted from policy_rulerequired for remediation.
- type str
- The Type of Policy.
- management_group_ strname 
- description String
- The Description of the Policy.
- displayName String
- id String
- The provider-assigned unique ID for this managed resource.
- metadata String
- Any Metadata defined in the Policy.
- mode String
- The Mode of the Policy.
- name String
- parameters String
- Any Parameters defined in the Policy.
- policyRule String
- The Rule as defined (in JSON) in the Policy.
- policyType String
- The Type of the Policy. Possible values are BuiltIn,CustomandNotSpecified.
- roleDefinition List<String>Ids 
- A list of role definition id extracted from policy_rulerequired for remediation.
- type String
- The Type of Policy.
- managementGroup StringName 
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.