< Back

New-AzureRmPolicyDefinition

Tue Jan 29, 2019 10:05 pm

NAME New-AzureRmPolicyDefinition



SYNOPSIS

Creates a policy definition.





SYNTAX

New-AzureRmPolicyDefinition [-ApiVersion <String>] [-DefaultProfile <IAzureContextContainer>] [-Description <String>] [-DisplayName <String>]

[-InformationAction <ActionPreference>] [-InformationVariable <String>] [-Metadata <String>] [-Mode <PolicyDefinitionMode>] -Name <String>

[-Parameter <String>] -Policy <String> [-Pre] [<CommonParameters>]





DESCRIPTION

The New-AzureRmPolicyDefinition cmdlet creates a policy definition that includes a policy rule in JavaScript Object Notation (JSON) format.





PARAMETERS

-ApiVersion <String>

Specifies the version of the resource provider API to use. If you do not specify a version, this cmdlet uses the latest available version.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DefaultProfile <IAzureContextContainer>

The credentials, account, tenant, and subscription used for communication with azure



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Description <String>

Specifies a description for the policy definition.



Required? false

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-DisplayName <String>

Specifies a display name for the policy definition.



Required? false

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-InformationAction <ActionPreference>

Specifies how this cmdlet responds to an information event.



The acceptable values for this parameter are:



- Continue



- Ignore



- Inquire



- SilentlyContinue



- Stop



- Suspend



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-InformationVariable <String>

Specifies an information variable.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Metadata <String>

The metadata for policy definition. This can either be a path to a file name containing the metadata, or the metadata as string



Required? false

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Mode <PolicyDefinitionMode>

The mode of the policy definition



Required? false

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Name <String>

Specifies a name for the policy definition.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Parameter <String>

The parameters declaration for policy definition. This can either be a path to a file name containing the parameters declaration, or the

parameters declaration as string.



Required? false

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Policy <String>

Specifies a policy rule for the policy definition. You can specify the path of a .json file or a string that contains the policy in JSON

format.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Pre [<SwitchParameter>]

Indicates that this cmdlet considers pre-release API versions when it automatically determines which version to use.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).



INPUTS

None

This cmdlet does not accept any input.





OUTPUTS

System.Management.Automation.PSObject







NOTES









Example 1: Create a policy definition by using a policy file



PS C:\\>New-AzureRmPolicyDefinition -Name "VMPolicyDefinition" -Policy C:\\VMPolicy.json



This command creates a policy definition named VMPolicyDefinition that contains the policy rule specified in C:\\VMPolicy.json.





Example 2: Create a policy definition inline



PS C:\\>New-AzureRmPolicyDefinition -Name "VMPolicyDefinition" -DisplayName "Virtual Machine policy definition" -Policy

"{""if"":{""source"":""action"",""equals"":""Microsoft.Compute/virtualMachines/write""},""then"":{""effect"":""deny""}}"



This command creates a policy definition named VMPolicyDefinition. The command specifies the policy as a string in valid JSON format.







RELATED LINKS

Online Version: https://docs.microsoft.com/en-us/powers ... definition

Get-AzureRmPolicyDefinition

Remove-AzureRmPolicyDefinition

Set-AzureRmPolicyDefinition