From 35b7e68c23bde44404f1234b5139a73eda5200f5 Mon Sep 17 00:00:00 2001 From: tombuildsstuff Date: Wed, 14 Mar 2018 12:52:09 -0500 Subject: [PATCH] Adding a ConflictsWith for Parameters / Parameters Body fields --- azurerm/resource_arm_template_deployment.go | 27 ++++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/azurerm/resource_arm_template_deployment.go b/azurerm/resource_arm_template_deployment.go index c9533a5cf3de..97c6f3f76256 100644 --- a/azurerm/resource_arm_template_deployment.go +++ b/azurerm/resource_arm_template_deployment.go @@ -12,6 +12,7 @@ import ( "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2017-05-10/resources" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" "github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils" ) @@ -39,24 +40,32 @@ func resourceArmTemplateDeployment() *schema.Resource { }, "parameters": { - Type: schema.TypeMap, - Optional: true, + Type: schema.TypeMap, + Optional: true, + ConflictsWith: []string{"parameters_body"}, }, "parameters_body": { + Type: schema.TypeString, + Optional: true, + StateFunc: normalizeJson, + ConflictsWith: []string{"parameters"}, + }, + + "deployment_mode": { Type: schema.TypeString, - Optional: true, + Required: true, + ValidateFunc: validation.StringInSlice([]string{ + string(resources.Complete), + string(resources.Incremental), + }, true), + DiffSuppressFunc: ignoreCaseDiffSuppressFunc, }, "outputs": { Type: schema.TypeMap, Computed: true, }, - - "deployment_mode": { - Type: schema.TypeString, - Required: true, - }, }, } } @@ -70,7 +79,7 @@ func resourceArmTemplateDeploymentCreate(d *schema.ResourceData, meta interface{ resourceGroup := d.Get("resource_group_name").(string) deploymentMode := d.Get("deployment_mode").(string) - log.Printf("[INFO] preparing arguments for Azure ARM Template Deployment creation.") + log.Printf("[INFO] preparing arguments for AzureRM Template Deployment creation.") properties := resources.DeploymentProperties{ Mode: resources.DeploymentMode(deploymentMode), }