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
. UsesystemData.createdAt
. - Deprecate
properties.deploymentSettings.jvmOptions
. Useproperties.source.jvmOptions
. - Deprecate
properties.deploymentSettings.jvmOptions
. Useproperties.source.runtimeVersion
. - Deprecate
properties.deploymentSettings.netCoreMainEntryPath
. Useproperties.source.netCoreMainEntryPath
. - Deprecate
properties.appName
, which you can extract fromid
.
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: Removeproperties.activeDeploymentName
. Useproperties.activeDeployment.name
instead.az spring app
command output: Removeproperties.createdTime
. UsesystemData.createdAt
instead.az spring app
command output: Removeproperties.activeDeployment.properties.deploymentSettings.cpu
. Useproperties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu
instead.az spring app
command output: Removeproperties.activeDeployment.properties.deploymentSettings.memoryInGB
. Useproperties.activeDeployment.properties.deploymentSettings.resourceRequests.memory
instead.az spring app
command output: Removeproperties.activeDeployment.properties.deploymentSettings.jvmOptions
. Useproperties.activeDeployment.properties.source.jvmOptions
instead.az spring app
command output: Removeproperties.activeDeployment.properties.deploymentSettings.runtimeVersion
. Useproperties.activeDeployment.properties.source.runtimeVersion
instead.az spring app
command output: Removeproperties.activeDeployment.properties.deploymentSettings.netCoreMainEntryPath
. Useproperties.activeDeployment.properties.source.netCoreMainEntryPath
instead.