From 27e5d73ee364ca17e3376868b729bee247af8957 Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 29 Apr 2020 18:58:44 -0700 Subject: [PATCH 01/10] add name and priority to ip_restriction for app_service --- azurerm/helpers/azure/app_service.go | 34 +++++++++++ .../web/tests/data_source_app_service_test.go | 4 +- .../tests/resource_arm_app_service_test.go | 60 +++++++++++++++++++ website/docs/d/app_service.html.markdown | 4 ++ website/docs/r/app_service.html.markdown | 4 ++ 5 files changed, 105 insertions(+), 1 deletion(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index fd9ae4b636f2..48818cf1ab71 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -316,6 +316,16 @@ func SchemaAppServiceSiteConfig() *schema.Schema { Optional: true, ValidateFunc: validation.StringIsNotEmpty, }, + "name": { + Type: schema.TypeString, + Optional: true, + ValidateFunc: validation.StringIsNotEmpty, + }, + "priority": { + Type: schema.TypeInt, + Optional: true, + ValidateFunc: validation.IntAtLeast(1), + }, }, }, }, @@ -679,6 +689,14 @@ func SchemaAppServiceDataSourceSiteConfig() *schema.Schema { Type: schema.TypeString, Computed: true, }, + "name": { + Type: schema.TypeString, + Computed: true, + }, + "priority": { + Type: schema.TypeInt, + Computed: true, + }, }, }, }, @@ -1419,6 +1437,8 @@ func ExpandAppServiceSiteConfig(input interface{}) (*web.SiteConfig, error) { ipAddress := restriction["ip_address"].(string) vNetSubnetID := restriction["virtual_network_subnet_id"].(string) + name := restriction["name"].(string) + priority := restriction["priority"].(int) if vNetSubnetID != "" && ipAddress != "" { return siteConfig, fmt.Errorf(fmt.Sprintf("only one of `ip_address` or `virtual_network_subnet_id` can be set for `site_config.0.ip_restriction.%d`", i)) } @@ -1440,6 +1460,14 @@ func ExpandAppServiceSiteConfig(input interface{}) (*web.SiteConfig, error) { ipSecurityRestriction.VnetSubnetResourceID = &vNetSubnetID } + if name != "" { + ipSecurityRestriction.Name = &name + } + + if priority != 0 { + ipSecurityRestriction.Priority = utils.Int32(int32(priority)) + } + restrictions = append(restrictions, ipSecurityRestriction) } siteConfig.IPSecurityRestrictions = &restrictions @@ -1564,6 +1592,12 @@ func FlattenAppServiceSiteConfig(input *web.SiteConfig) []interface{} { if vNetSubnetID := v.VnetSubnetResourceID; vNetSubnetID != nil { block["virtual_network_subnet_id"] = *vNetSubnetID } + if name := v.Name; name != nil { + block["name"] = *name + } + if priority := v.Priority; priority != nil { + block["priority"] = *priority + } restrictions = append(restrictions, block) } } diff --git a/azurerm/internal/services/web/tests/data_source_app_service_test.go b/azurerm/internal/services/web/tests/data_source_app_service_test.go index 263e30d8896f..570d1e9fcf53 100644 --- a/azurerm/internal/services/web/tests/data_source_app_service_test.go +++ b/azurerm/internal/services/web/tests/data_source_app_service_test.go @@ -137,6 +137,8 @@ func TestAccDataSourceAzureRMAppService_ipRestriction(t *testing.T) { Config: testAccDataSourceAppService_ipRestriction(data), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.ip_address", "10.10.10.10/32"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.name", "test-restriction"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.priority", "123"), ), }, }, @@ -271,7 +273,7 @@ data "azurerm_app_service" "test" { } func testAccDataSourceAppService_ipRestriction(data acceptance.TestData) string { - config := testAccAzureRMAppService_oneIpRestriction(data) + config := testAccAzureRMAppService_completeIpRestriction(data) return fmt.Sprintf(` %s diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index 5acb93cc831c..89f26e2cc6d4 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -514,6 +514,27 @@ func TestAccAzureRMAppService_oneIpRestriction(t *testing.T) { }) } +func TestAccAzureRMAppService_completeIpRestriction(t *testing.T) { + data := acceptance.BuildTestData(t, "azurerm_app_service", "test") + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acceptance.PreCheck(t) }, + Providers: acceptance.SupportedProviders, + CheckDestroy: testCheckAzureRMAppServiceDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAzureRMAppService_completeIpRestriction(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMAppServiceExists(data.ResourceName), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.ip_address", "10.10.10.10/32"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.name", "test-restriction"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.priority", "123"), + ), + }, + data.ImportStep(), + }, + }) +} + func TestAccAzureRMAppService_oneVNetSubnetIpRestriction(t *testing.T) { data := acceptance.BuildTestData(t, "azurerm_app_service", "test") resource.ParallelTest(t, resource.TestCase{ @@ -2582,6 +2603,45 @@ resource "azurerm_app_service" "test" { `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) } +func testAccAzureRMAppService_completeIpRestriction(data acceptance.TestData) string { + return fmt.Sprintf(` +provider "azurerm" { + features {} +} + +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + +resource "azurerm_app_service_plan" "test" { + name = "acctestASP-%d" + location = azurerm_resource_group.test.location + resource_group_name = azurerm_resource_group.test.name + + sku { + tier = "Standard" + size = "S1" + } +} + +resource "azurerm_app_service" "test" { + name = "acctestAS-%d" + location = azurerm_resource_group.test.location + resource_group_name = azurerm_resource_group.test.name + app_service_plan_id = azurerm_app_service_plan.test.id + + site_config { + ip_restriction { + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 + } + } +} +`, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) +} + func testAccAzureRMAppService_oneVNetSubnetIpRestriction(data acceptance.TestData) string { return fmt.Sprintf(` provider "azurerm" { diff --git a/website/docs/d/app_service.html.markdown b/website/docs/d/app_service.html.markdown index 07d6832efc6b..b73d39320132 100644 --- a/website/docs/d/app_service.html.markdown +++ b/website/docs/d/app_service.html.markdown @@ -85,6 +85,10 @@ A `ip_restriction` block exports the following: * `subnet_mask` - The Subnet mask used for this IP Restriction. +* `name` - The name for this IP Restriction. + +* `priority` - The priority for this IP Restriction. + --- `site_config` supports the following: diff --git a/website/docs/r/app_service.html.markdown b/website/docs/r/app_service.html.markdown index 71470c6a9892..a12c5e301a70 100644 --- a/website/docs/r/app_service.html.markdown +++ b/website/docs/r/app_service.html.markdown @@ -309,6 +309,10 @@ A `ip_restriction` block supports the following: -> **NOTE:** One of either `ip_address` or `virtual_network_subnet_id` must be specified +* `name` - (Optional) The name for this IP Restriction. + +* `priority` - (Optional) The priority for this IP Restriction. Restrictions are enforced in priority order. + --- A `microsoft` block supports the following: From 88f3786b5cf51581d2527f86db2c6c37dfb57750 Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 29 Apr 2020 22:21:04 -0700 Subject: [PATCH 02/10] make priority computed --- azurerm/helpers/azure/app_service.go | 1 + .../services/web/tests/resource_arm_app_service_test.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index 48818cf1ab71..e1ab1fc260b0 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -324,6 +324,7 @@ func SchemaAppServiceSiteConfig() *schema.Schema { "priority": { Type: schema.TypeInt, Optional: true, + Computed: true, ValidateFunc: validation.IntAtLeast(1), }, }, diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index 89f26e2cc6d4..bc1ec8a6a0cd 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -2633,9 +2633,9 @@ resource "azurerm_app_service" "test" { site_config { ip_restriction { - ip_address = "10.10.10.10/32" - name = "test-restriction" - priority = 123 + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 } } } From 1270e902cfbb20d0ff50d7aa071dd88969219810 Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Fri, 1 May 2020 15:11:34 -0700 Subject: [PATCH 03/10] changes for review feedback --- azurerm/helpers/azure/app_service.go | 2 +- website/docs/r/app_service.html.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index e1ab1fc260b0..5e87f7f29322 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -325,7 +325,7 @@ func SchemaAppServiceSiteConfig() *schema.Schema { Type: schema.TypeInt, Optional: true, Computed: true, - ValidateFunc: validation.IntAtLeast(1), + ValidateFunc: validation.IntBetween(1, 65000), }, }, }, diff --git a/website/docs/r/app_service.html.markdown b/website/docs/r/app_service.html.markdown index a12c5e301a70..b044515baa89 100644 --- a/website/docs/r/app_service.html.markdown +++ b/website/docs/r/app_service.html.markdown @@ -311,7 +311,7 @@ A `ip_restriction` block supports the following: * `name` - (Optional) The name for this IP Restriction. -* `priority` - (Optional) The priority for this IP Restriction. Restrictions are enforced in priority order. +* `priority` - (Optional) The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified. --- From b3c16f4c7893e119214c0afdc25b91ab388484cd Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Fri, 1 May 2020 15:47:14 -0700 Subject: [PATCH 04/10] update max allowed priority --- azurerm/helpers/azure/app_service.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index 5e87f7f29322..be90a7f434df 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -325,7 +325,7 @@ func SchemaAppServiceSiteConfig() *schema.Schema { Type: schema.TypeInt, Optional: true, Computed: true, - ValidateFunc: validation.IntBetween(1, 65000), + ValidateFunc: validation.IntBetween(1, 2147483647), }, }, }, From c3da179a318df3caee2b635339007141bfa448b9 Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Sun, 3 May 2020 17:50:55 -0700 Subject: [PATCH 05/10] make dfault explicit --- azurerm/helpers/azure/app_service.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index be90a7f434df..d75b58d9da22 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -324,7 +324,7 @@ func SchemaAppServiceSiteConfig() *schema.Schema { "priority": { Type: schema.TypeInt, Optional: true, - Computed: true, + Default: 65000, ValidateFunc: validation.IntBetween(1, 2147483647), }, }, From f1caf0910a56690c24e787bb17c6b373479b4f68 Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 6 May 2020 15:26:15 -0700 Subject: [PATCH 06/10] address review --- azurerm/helpers/azure/app_service.go | 3 +- .../tests/resource_arm_app_service_test.go | 71 +++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/azurerm/helpers/azure/app_service.go b/azurerm/helpers/azure/app_service.go index d75b58d9da22..b18c16733640 100644 --- a/azurerm/helpers/azure/app_service.go +++ b/azurerm/helpers/azure/app_service.go @@ -319,12 +319,13 @@ func SchemaAppServiceSiteConfig() *schema.Schema { "name": { Type: schema.TypeString, Optional: true, + Computed: true, ValidateFunc: validation.StringIsNotEmpty, }, "priority": { Type: schema.TypeInt, Optional: true, - Default: 65000, + Computed: true, ValidateFunc: validation.IntBetween(1, 2147483647), }, }, diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index bc1ec8a6a0cd..d74d742c6015 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -525,6 +525,32 @@ func TestAccAzureRMAppService_completeIpRestriction(t *testing.T) { Config: testAccAzureRMAppService_completeIpRestriction(data), Check: resource.ComposeTestCheckFunc( testCheckAzureRMAppServiceExists(data.ResourceName), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.#", "1"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.ip_address", "10.10.10.10/32"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.name", "test-restriction"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.priority", "123"), + ), + }, + data.ImportStep(), + { + Config: testAccAzureRMAppService_manyCompleteIpRestrictions(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMAppServiceExists(data.ResourceName), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.#", "2"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.ip_address", "10.10.10.10/32"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.name", "test-restriction"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.priority", "123"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.1.ip_address", "20.20.20.0/24"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.1.name", "test-restriction-2"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.1.priority", "1234"), + ), + }, + data.ImportStep(), + { + Config: testAccAzureRMAppService_completeIpRestriction(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMAppServiceExists(data.ResourceName), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.#", "1"), resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.ip_address", "10.10.10.10/32"), resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.name", "test-restriction"), resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.ip_restriction.0.priority", "123"), @@ -2642,6 +2668,51 @@ resource "azurerm_app_service" "test" { `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) } +func testAccAzureRMAppService_manyCompleteIpRestrictions(data acceptance.TestData) string { + return fmt.Sprintf(` +provider "azurerm" { + features {} +} + +resource "azurerm_resource_group" "test" { + name = "acctestRG-%d" + location = "%s" +} + +resource "azurerm_app_service_plan" "test" { + name = "acctestASP-%d" + location = azurerm_resource_group.test.location + resource_group_name = azurerm_resource_group.test.name + + sku { + tier = "Standard" + size = "S1" + } +} + +resource "azurerm_app_service" "test" { + name = "acctestAS-%d" + location = azurerm_resource_group.test.location + resource_group_name = azurerm_resource_group.test.name + app_service_plan_id = azurerm_app_service_plan.test.id + + site_config { + ip_restriction { + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 + } + + ip_restriction { + ip_address = "20.20.20.0/24" + name = "test-restriction-2" + priority = 1234 + } + } +} +`, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) +} + func testAccAzureRMAppService_oneVNetSubnetIpRestriction(data acceptance.TestData) string { return fmt.Sprintf(` provider "azurerm" { From 581e48e56b93f4fce91dd37d19e2ca72a0e80b4a Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 6 May 2020 16:16:23 -0700 Subject: [PATCH 07/10] formatting --- .../tests/resource_arm_app_service_test.go | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index d74d742c6015..3abe9e0df1a0 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -2659,10 +2659,10 @@ resource "azurerm_app_service" "test" { site_config { ip_restriction { - ip_address = "10.10.10.10/32" - name = "test-restriction" - priority = 123 - } + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 + } } } `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) @@ -2698,16 +2698,16 @@ resource "azurerm_app_service" "test" { site_config { ip_restriction { - ip_address = "10.10.10.10/32" - name = "test-restriction" - priority = 123 + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 } ip_restriction { ip_address = "20.20.20.0/24" - name = "test-restriction-2" - priority = 1234 - } + name = "test-restriction-2" + priority = 1234 + } } } `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) From 4c3ce829971f51b1f5347906e1b6b7c52c9a009c Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 6 May 2020 16:27:19 -0700 Subject: [PATCH 08/10] formatting --- .../web/tests/resource_arm_app_service_test.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index 3abe9e0df1a0..4ec77e889343 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -2659,9 +2659,9 @@ resource "azurerm_app_service" "test" { site_config { ip_restriction { - ip_address = "10.10.10.10/32" - name = "test-restriction" - priority = 123 + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 } } } @@ -2698,15 +2698,15 @@ resource "azurerm_app_service" "test" { site_config { ip_restriction { - ip_address = "10.10.10.10/32" - name = "test-restriction" - priority = 123 + ip_address = "10.10.10.10/32" + name = "test-restriction" + priority = 123 } ip_restriction { - ip_address = "20.20.20.0/24" - name = "test-restriction-2" - priority = 1234 + ip_address = "20.20.20.0/24" + name = "test-restriction-2" + priority = 1234 } } } From fc209f94842c4900350a288ca157894f472c033c Mon Sep 17 00:00:00 2001 From: Austin Cheung Date: Wed, 6 May 2020 16:30:11 -0700 Subject: [PATCH 09/10] formatting --- .../services/web/tests/resource_arm_app_service_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go index 4ec77e889343..709c9b40fe8b 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_test.go @@ -2662,7 +2662,7 @@ resource "azurerm_app_service" "test" { ip_address = "10.10.10.10/32" name = "test-restriction" priority = 123 - } + } } } `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) @@ -2701,13 +2701,13 @@ resource "azurerm_app_service" "test" { ip_address = "10.10.10.10/32" name = "test-restriction" priority = 123 - } + } ip_restriction { ip_address = "20.20.20.0/24" name = "test-restriction-2" priority = 1234 - } + } } } `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger) From a6362e492bd71002280852e7d9bcb41e5dfb021f Mon Sep 17 00:00:00 2001 From: jackofallops Date: Thu, 7 May 2020 10:43:02 +0100 Subject: [PATCH 10/10] fix broken test param for remoteDebugging --- .../services/web/tests/resource_arm_app_service_slot_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azurerm/internal/services/web/tests/resource_arm_app_service_slot_test.go b/azurerm/internal/services/web/tests/resource_arm_app_service_slot_test.go index 777493cc5075..00afcba2f640 100644 --- a/azurerm/internal/services/web/tests/resource_arm_app_service_slot_test.go +++ b/azurerm/internal/services/web/tests/resource_arm_app_service_slot_test.go @@ -857,7 +857,7 @@ func TestAccAzureRMAppServiceSlot_remoteDebugging(t *testing.T) { Check: resource.ComposeTestCheckFunc( testCheckAzureRMAppServiceSlotExists(data.ResourceName), resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.remote_debugging_enabled", "true"), - resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.remote_debugging_version", "VS2015"), + resource.TestCheckResourceAttr(data.ResourceName, "site_config.0.remote_debugging_version", "VS2019"), ), }, }, @@ -3109,7 +3109,7 @@ resource "azurerm_app_service_slot" "test" { site_config { remote_debugging_enabled = true - remote_debugging_version = "VS2015" + remote_debugging_version = "VS2019" } tags = {