@@ -176,6 +176,33 @@ func TestAccAzureRMPolicyDefinition_removeParameter(t *testing.T) {
176176 })
177177}
178178
179+ func TestAccAzureRMPolicyDefinition_renameParameter (t * testing.T ) {
180+ data := acceptance .BuildTestData (t , "azurerm_policy_definition" , "test" )
181+ r := PolicyDefinitionResource {}
182+
183+ data .ResourceTestIgnoreRecreate (t , r , []acceptance.TestStep {
184+ {
185+ Config : r .basic (data ),
186+ Check : acceptance .ComposeTestCheckFunc (
187+ check .That (data .ResourceName ).ExistsInAzure (r ),
188+ ),
189+ },
190+ data .ImportStep (),
191+ {
192+ Config : r .renamedParameter (data ),
193+ ConfigPlanChecks : resource.ConfigPlanChecks {
194+ PreApply : []plancheck.PlanCheck {
195+ plancheck .ExpectResourceAction (data .ResourceName , plancheck .ResourceActionReplace ),
196+ },
197+ },
198+ Check : acceptance .ComposeTestCheckFunc (
199+ check .That (data .ResourceName ).ExistsInAzure (r ),
200+ ),
201+ },
202+ data .ImportStep (),
203+ })
204+ }
205+
179206func (r PolicyDefinitionResource ) Exists (ctx context.Context , client * clients.Client , state * pluginsdk.InstanceState ) (* bool , error ) {
180207 definitionsClient := client .Policy .DefinitionsClient
181208 id , err := parse .PolicyDefinitionID (state .ID )
@@ -480,6 +507,48 @@ PARAMETERS
480507` , data .RandomInteger , mode , data .RandomInteger )
481508}
482509
510+ func (r PolicyDefinitionResource ) renamedParameter (data acceptance.TestData ) string {
511+ return fmt .Sprintf (`
512+ provider "azurerm" {
513+ features {}
514+ }
515+
516+ resource "azurerm_policy_definition" "test" {
517+ name = "acctestpol-%d"
518+ policy_type = "Custom"
519+ mode = "All"
520+ display_name = "acctestpol-%d"
521+
522+ policy_rule = <<POLICY_RULE
523+ {
524+ "if": {
525+ "not": {
526+ "field": "location",
527+ "in": "[parameters('allowedRegions')]"
528+ }
529+ },
530+ "then": {
531+ "effect": "audit"
532+ }
533+ }
534+ POLICY_RULE
535+
536+ parameters = <<PARAMETERS
537+ {
538+ "allowedRegions": {
539+ "type": "Array",
540+ "metadata": {
541+ "description": "The list of allowed regions for resources.",
542+ "displayName": "Allowed regions",
543+ "strongType": "location"
544+ }
545+ }
546+ }
547+ PARAMETERS
548+ }
549+ ` , data .RandomInteger , data .RandomInteger )
550+ }
551+
483552func (r PolicyDefinitionResource ) additionalParameter (data acceptance.TestData ) string {
484553 return fmt .Sprintf (`
485554provider "azurerm" {
0 commit comments