Azure/azure-rest-api-specs

[FEATURE REQ] Add Microsoft.Web/sites/extensions and Microsoft.Web/sites/slots/extensions 'ZipDeploy' to the spec.

MitchBodmer opened this issue · 1 comments

API Spec link

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/web/resource-manager/Microsoft.Web/stable/2024-04-01/WebApps.json

API Spec version

2024-04-01

Please describe the feature.

Right now it's not possible to create a ZipDeploy resource in a Bicep template because the Bicep types don't include the ZipDeploy extension, and that's because the API spec also doesn't include it.

resource functionApp 'Microsoft.Web/sites@2022-09-01' = {
  name: functionAppName
  location: location
  kind: 'functionapp'
  identity: functionAppIdentity
  properties: siteProperties

  resource stagingSlot 'slots' = {
    name: 'staging'
    location: location
    kind: 'functionapp'
    identity: functionAppIdentity
    properties: union(siteProperties, { siteConfig: { autoSwapSlotName: 'production' } })

    resource stagingAuthSettingsConfig 'config' = {
      name: 'authsettingsV2'
      properties: authSettingsConfigProperties
    }

    resource zipDeploy 'extensions' = {
      name: 'ZipDeploy' // This line fails.
      properties: {
        packageUri: packageUri
      }
    }
  }

  resource authSettingsConfig 'config' = {
    name: 'authsettingsV2'
    properties: authSettingsConfigProperties
  }
}

I'd like it to be added so that we can update the Bicep types and then use it in templates.

I spoke to @dannysongg and it turns out that ZipDeploy is being superseded by OneDeploy, which also has an unfinished spec. He is working on getting a new version of the spec out which should resolve this issue.