Azure / bicep-types-az

Bicep type definitions for ARM resources
MIT License
84 stars 27 forks source link

app service: siteConfig.http20ProxyFlag not recognized #1702

Open isak1080 opened 1 year ago

isak1080 commented 1 year ago

Resource Type

Microsoft.Web/sites

Api Version

2022-09-01

Issue Type

Missing property(s)

Other Notes

The property that controls the setting HTTP2.0 Proxy (under Configuration --> General Settings for an app service) incorrectly gets a warning when deploying the .bicep file:

Warning BCP037: The property "http20ProxyFlag" is not allowed on objects of type "SiteConfig". Permissible properties include...

However, after deploy, the setting is indeed set correctly.

Note that this setting is currently only available on Linux. It is needed when hosting gRPC services in azure: https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/gRPC/use_gRPC_with_dotnet.md

Bicep Repro

resource mainAppService 'Microsoft.Web/sites@2022-09-01' = {
  name: 'MyAppWithHttp20Proxy`
  location: location
  // Display only
  kind: 'linux'    
  properties: {
    serverFarmId: appServicePlan.id    
    // true means linux
    reserved: true
    httpsOnly: true    
    siteConfig: {
      http20Enabled: true
      minTlsVersion: '1.2'      
      linuxFxVersion: 'DOTNETCORE|7.0'  
      // This gets incorrectly flagged as invalid, both in vscode and in the CLI (az deployment group create ...) 
      http20ProxyFlag: 1
    }    
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Confirm

rfcdejong commented 3 months ago

Any update on this? Latest version of the definition still seems to be 2023-12-01 and has the warning

Resulting into this warning:

Warning BCP037: The property "http20ProxyFlag" is not allowed on objects of type "SiteConfig". Permissible properties include "acrUseManagedIdentityCreds", "acrUserManagedIdentityID", "apiDefinition", "apiManagementConfig", "appSettings", "autoHealEnabled", "autoHealRules", "autoSwapSlotName", "azureStorageAccounts", "connectionStrings", "defaultDocuments", "detailedErrorLoggingEnabled", "documentRoot", "elasticWebAppScaleLimit", "experiments", "functionAppScaleLimit", "functionsRuntimeScaleMonitoringEnabled", "handlerMappings", "healthCheckPath", "httpLoggingEnabled", "javaContainer", "javaContainerVersion", "javaVersion", "keyVaultReferenceIdentity", "limits", "loadBalancing", "localMySqlEnabled", "logsDirectorySizeLimit", "managedPipelineMode", "managedServiceIdentityId", "metadata", "minimumElasticInstanceCount", "netFrameworkVersion", "nodeVersion", "numberOfWorkers", "phpVersion", "powerShellVersion", "preWarmedInstanceCount", "publicNetworkAccess", "pub...