Azure Spring Apps API breaking changes

Note

The Basic, Standard, and Enterprise plans will be deprecated starting from mid-March, 2025, with a 3 year retirement period. We recommend transitioning to Azure Container Apps. For more information, see the Azure Spring Apps retirement announcement.

The Standard consumption and dedicated plan will be deprecated starting September 30, 2024, with a complete shutdown after six months. We recommend transitioning to Azure Container Apps. For more information, see Migrate Azure Spring Apps Standard consumption and dedicated plan to Azure Container Apps.

This article applies to: ✅ Basic/Standard ✅ Enterprise

This article describes breaking changes introduced into the Azure Spring Apps API.

The Azure Spring Apps service releases the new stable API version 2022-04-01. The new API version introduces breaking changes based on the previous stable API version 2020-07-01. We suggest that you update your API calls to the new API version.

Previous API deprecation date

The previous API version 2020-07-01 will not be supported starting April, 2025.

API breaking changes from 2020-07-01 to 2022-04-01

Deprecate number value CPU and MemoryInGB in Deployments

Deprecate field properties.deploymentSettings.cpu and properties.deploymentSettings.memoryInGB in the Spring/Apps/Deployments resource. Use properties.deploymentSettings.resourceRequests.cpu and properties.deploymentSettings.resourceRequests.memory instead.

RBAC role change for blue-green deployment

Deprecate field properties.activeDeploymentName in the Spring/Apps resource. Use POST/SUBSCRIPTIONS/RESOURCEGROUPS/PROVIDERS/MICROSOFT.APPPLATFORM/SPRING/APPS/SETACTIVEDEPLOYMENTS for blue-green deployment. This action needs a separate RBAC role spring/apps/setActiveDeployments/action to perform.

Move options from different property bags for the Spring/Apps/Deployments resource

  • Deprecate properties.createdTime. Use systemData.createdAt.
  • Deprecate properties.deploymentSettings.jvmOptions. Use properties.source.jvmOptions.
  • Deprecate properties.deploymentSettings.jvmOptions. Use properties.source.runtimeVersion.
  • Deprecate properties.deploymentSettings.netCoreMainEntryPath. Use properties.source.netCoreMainEntryPath.
  • Deprecate properties.appName, which you can extract from id.

Updates in the Azure CLI extension

Add new RBAC role for blue-green deployment

You need to add RBAC role spring/apps/setActiveDeployments/action to perform the following Azure CLI commands:

az spring app set-deployment \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name <app-name> \
    --deployment <deployment-name>
az spring app unset-deployment \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name <app-name>

Output updates

If you're using the Azure CLI spring-cloud extension with a version lower than 3.0.0, and you want to upgrade the extension version or migrate to the spring extension, then you should take care of the following output updates.

  • az spring app command output: Remove properties.activeDeploymentName. Use properties.activeDeployment.name instead.
  • az spring app command output: Remove properties.createdTime. Use systemData.createdAt instead.
  • az spring app command output: Remove properties.activeDeployment.properties.deploymentSettings.cpu. Use properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu instead.
  • az spring app command output: Remove properties.activeDeployment.properties.deploymentSettings.memoryInGB. Use properties.activeDeployment.properties.deploymentSettings.resourceRequests.memory instead.
  • az spring app command output: Remove properties.activeDeployment.properties.deploymentSettings.jvmOptions. Use properties.activeDeployment.properties.source.jvmOptions instead.
  • az spring app command output: Remove properties.activeDeployment.properties.deploymentSettings.runtimeVersion. Use properties.activeDeployment.properties.source.runtimeVersion instead.
  • az spring app command output: Remove properties.activeDeployment.properties.deploymentSettings.netCoreMainEntryPath. Use properties.activeDeployment.properties.source.netCoreMainEntryPath instead.