def METHOD_NAME(policy_definition_name: Optional[str] = None,
                          opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPolicyDefinitionResult:
    """
    This operation retrieves the policy definition in the given subscription with the given name.
    :param str policy_definition_name: The name of the policy definition to get.
    """
    __args__ = dict()
    __args__['policyDefinitionName'] = policy_definition_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:authorization/v20210601:getPolicyDefinition', __args__, opts=opts, typ=GetPolicyDefinitionResult).value
    return AwaitableGetPolicyDefinitionResult(
        description=pulumi.get(__ret__, 'description'),
        display_name=pulumi.get(__ret__, 'display_name'),
        id=pulumi.get(__ret__, 'id'),
        metadata=pulumi.get(__ret__, 'metadata'),
        mode=pulumi.get(__ret__, 'mode'),
        name=pulumi.get(__ret__, 'name'),
        parameters=pulumi.get(__ret__, 'parameters'),
        policy_rule=pulumi.get(__ret__, 'policy_rule'),
        policy_type=pulumi.get(__ret__, 'policy_type'),
        system_data=pulumi.get(__ret__, 'system_data'),
        type=pulumi.get(__ret__, 'type'))