Microsoft.AppPlatform Spring/apps
- Latest
- 2024-05-01-preview
- 2024-01-01-preview
- 2023-12-01
- 2023-11-01-preview
- 2023-09-01-preview
- 2023-07-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2023-01-01-preview
- 2022-12-01
- 2022-11-01-preview
- 2022-09-01-preview
- 2022-05-01-preview
- 2022-04-01
- 2022-03-01-preview
- 2022-01-01-preview
- 2021-09-01-preview
- 2021-06-01-preview
- 2020-11-01-preview
- 2020-07-01
Bicep resource definition
The Spring/apps resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.AppPlatform/Spring/apps resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.AppPlatform/Spring/apps@2024-05-01-preview' = {
name: 'string'
location: 'string'
parent: resourceSymbolicName
identity: {
principalId: 'string'
tenantId: 'string'
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
addonConfigs: {
{customized property}: any()
}
customPersistentDisks: [
{
customPersistentDiskProperties: {
enableSubPath: bool
mountOptions: [
'string'
]
mountPath: 'string'
readOnly: bool
type: 'string'
// For remaining properties, see CustomPersistentDiskProperties objects
}
storageId: 'string'
}
]
enableEndToEndTLS: bool
httpsOnly: bool
ingressSettings: {
backendProtocol: 'string'
clientAuth: {
certificates: [
'string'
]
}
readTimeoutInSeconds: int
sendTimeoutInSeconds: int
sessionAffinity: 'string'
sessionCookieMaxAge: int
}
loadedCertificates: [
{
loadTrustStore: bool
resourceId: 'string'
}
]
persistentDisk: {
mountPath: 'string'
sizeInGB: int
}
public: bool
secrets: [
{
name: 'string'
value: 'string'
}
]
temporaryDisk: {
mountPath: 'string'
sizeInGB: int
}
testEndpointAuthState: 'string'
vnetAddons: {
publicEndpoint: bool
}
workloadProfileName: 'string'
}
}
CustomPersistentDiskProperties objects
Set the type property to specify the type of object.
For AzureFileVolume, use:
type: 'AzureFileVolume'
shareName: 'string'
Property values
Spring/apps
Name | Description | Value |
---|---|---|
name | The resource name See how to set names and types for child resources in Bicep. |
string (required) |
location | The GEO location of the application, always the same with its parent resource | string |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: Spring |
identity | The Managed Identity type of the app resource | ManagedIdentityProperties |
properties | Properties of the App resource | AppResourceProperties |
ManagedIdentityProperties
Name | Description | Value |
---|---|---|
principalId | Principal Id of system-assigned managed identity. | string |
tenantId | Tenant Id of system-assigned managed identity. | string |
type | Type of the managed identity | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
userAssignedIdentities | Properties of user-assigned managed identities | UserAssignedManagedIdentities |
UserAssignedManagedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedManagedIdentity |
UserAssignedManagedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
AppResourceProperties
Name | Description | Value |
---|---|---|
addonConfigs | Collection of addons | AppResourcePropertiesAddonConfigs |
customPersistentDisks | List of custom persistent disks | CustomPersistentDiskResource[] |
enableEndToEndTLS | Indicate if end to end TLS is enabled. | bool |
httpsOnly | Indicate if only https is allowed. | bool |
ingressSettings | App ingress settings payload. | IngressSettings |
loadedCertificates | Collection of loaded certificates | LoadedCertificate[] |
persistentDisk | Persistent disk settings | PersistentDisk |
public | Indicates whether the App exposes public endpoint | bool |
secrets | Collection of auth secrets | Secret[] |
temporaryDisk | Temporary disk settings | TemporaryDisk |
testEndpointAuthState | State of test endpoint auth. | 'Disabled' 'Enabled' |
vnetAddons | Additional App settings in vnet injection instance | AppVNetAddons |
workloadProfileName | The workload profile used for this app. Supported for Consumption + Dedicated plan. | string |
AppResourcePropertiesAddonConfigs
Name | Description | Value |
---|---|---|
{customized property} | For Bicep, you can use the any() function. |
CustomPersistentDiskResource
Name | Description | Value |
---|---|---|
customPersistentDiskProperties | Properties of the custom persistent disk resource payload. | CustomPersistentDiskProperties |
storageId | The resource id of Azure Spring Apps Storage resource. | string (required) |
CustomPersistentDiskProperties
Name | Description | Value |
---|---|---|
enableSubPath | If set to true, it will create and mount a dedicated directory for every individual app instance. | bool |
mountOptions | These are the mount options for a persistent disk. | string[] |
mountPath | The mount path of the persistent disk. | string (required) |
readOnly | Indicates whether the persistent disk is a readOnly one. | bool |
type | Set the object type | AzureFileVolume (required) |
AzureFileVolume
Name | Description | Value |
---|---|---|
type | The type of the underlying resource to mount as a persistent disk. | 'AzureFileVolume' (required) |
shareName | The share name of the Azure File share. | string |
IngressSettings
Name | Description | Value |
---|---|---|
backendProtocol | How ingress should communicate with this app backend service. | 'Default' 'GRPC' |
clientAuth | Client-Certification Authentication. | IngressSettingsClientAuth |
readTimeoutInSeconds | Ingress read time out in seconds. | int |
sendTimeoutInSeconds | Ingress send time out in seconds. | int |
sessionAffinity | Type of the affinity, set this to Cookie to enable session affinity. | 'Cookie' 'None' |
sessionCookieMaxAge | Time in seconds until the cookie expires. | int |
IngressSettingsClientAuth
Name | Description | Value |
---|---|---|
certificates | Collection of certificate resource id. | string[] |
LoadedCertificate
Name | Description | Value |
---|---|---|
loadTrustStore | Indicate whether the certificate will be loaded into default trust store, only work for Java runtime. | bool |
resourceId | Resource Id of loaded certificate | string (required) |
PersistentDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the persistent disk | string |
sizeInGB | Size of the persistent disk in GB | int Constraints: Min value = 0 Max value = 50 |
Secret
Name | Description | Value |
---|---|---|
name | Secret Name. | string |
value | Secret Value. | string Constraints: Sensitive value. Pass in as a secure parameter. |
TemporaryDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the temporary disk | string |
sizeInGB | Size of the temporary disk in GB | int Constraints: Min value = 0 Max value = 5 |
AppVNetAddons
Name | Description | Value |
---|---|---|
publicEndpoint | Indicates whether the App in vnet injection instance exposes endpoint which could be accessed from internet. | bool |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Deploy a simple Azure Spring Apps microservice application |
This template deploys a simple Azure Spring Apps microservice application to run on Azure. |
ARM template resource definition
The Spring/apps resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.AppPlatform/Spring/apps resource, add the following JSON to your template.
{
"type": "Microsoft.AppPlatform/Spring/apps",
"apiVersion": "2024-05-01-preview",
"name": "string",
"location": "string",
"identity": {
"principalId": "string",
"tenantId": "string",
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"addonConfigs": {
"{customized property}": {}
},
"customPersistentDisks": [
{
"customPersistentDiskProperties": {
"enableSubPath": "bool",
"mountOptions": [ "string" ],
"mountPath": "string",
"readOnly": "bool",
"type": "string"
// For remaining properties, see CustomPersistentDiskProperties objects
},
"storageId": "string"
}
],
"enableEndToEndTLS": "bool",
"httpsOnly": "bool",
"ingressSettings": {
"backendProtocol": "string",
"clientAuth": {
"certificates": [ "string" ]
},
"readTimeoutInSeconds": "int",
"sendTimeoutInSeconds": "int",
"sessionAffinity": "string",
"sessionCookieMaxAge": "int"
},
"loadedCertificates": [
{
"loadTrustStore": "bool",
"resourceId": "string"
}
],
"persistentDisk": {
"mountPath": "string",
"sizeInGB": "int"
},
"public": "bool",
"secrets": [
{
"name": "string",
"value": "string"
}
],
"temporaryDisk": {
"mountPath": "string",
"sizeInGB": "int"
},
"testEndpointAuthState": "string",
"vnetAddons": {
"publicEndpoint": "bool"
},
"workloadProfileName": "string"
}
}
CustomPersistentDiskProperties objects
Set the type property to specify the type of object.
For AzureFileVolume, use:
"type": "AzureFileVolume",
"shareName": "string"
Property values
Spring/apps
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.AppPlatform/Spring/apps' |
apiVersion | The resource api version | '2024-05-01-preview' |
name | The resource name See how to set names and types for child resources in JSON ARM templates. |
string (required) |
location | The GEO location of the application, always the same with its parent resource | string |
identity | The Managed Identity type of the app resource | ManagedIdentityProperties |
properties | Properties of the App resource | AppResourceProperties |
ManagedIdentityProperties
Name | Description | Value |
---|---|---|
principalId | Principal Id of system-assigned managed identity. | string |
tenantId | Tenant Id of system-assigned managed identity. | string |
type | Type of the managed identity | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
userAssignedIdentities | Properties of user-assigned managed identities | UserAssignedManagedIdentities |
UserAssignedManagedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedManagedIdentity |
UserAssignedManagedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
AppResourceProperties
Name | Description | Value |
---|---|---|
addonConfigs | Collection of addons | AppResourcePropertiesAddonConfigs |
customPersistentDisks | List of custom persistent disks | CustomPersistentDiskResource[] |
enableEndToEndTLS | Indicate if end to end TLS is enabled. | bool |
httpsOnly | Indicate if only https is allowed. | bool |
ingressSettings | App ingress settings payload. | IngressSettings |
loadedCertificates | Collection of loaded certificates | LoadedCertificate[] |
persistentDisk | Persistent disk settings | PersistentDisk |
public | Indicates whether the App exposes public endpoint | bool |
secrets | Collection of auth secrets | Secret[] |
temporaryDisk | Temporary disk settings | TemporaryDisk |
testEndpointAuthState | State of test endpoint auth. | 'Disabled' 'Enabled' |
vnetAddons | Additional App settings in vnet injection instance | AppVNetAddons |
workloadProfileName | The workload profile used for this app. Supported for Consumption + Dedicated plan. | string |
AppResourcePropertiesAddonConfigs
Name | Description | Value |
---|---|---|
{customized property} |
CustomPersistentDiskResource
Name | Description | Value |
---|---|---|
customPersistentDiskProperties | Properties of the custom persistent disk resource payload. | CustomPersistentDiskProperties |
storageId | The resource id of Azure Spring Apps Storage resource. | string (required) |
CustomPersistentDiskProperties
Name | Description | Value |
---|---|---|
enableSubPath | If set to true, it will create and mount a dedicated directory for every individual app instance. | bool |
mountOptions | These are the mount options for a persistent disk. | string[] |
mountPath | The mount path of the persistent disk. | string (required) |
readOnly | Indicates whether the persistent disk is a readOnly one. | bool |
type | Set the object type | AzureFileVolume (required) |
AzureFileVolume
Name | Description | Value |
---|---|---|
type | The type of the underlying resource to mount as a persistent disk. | 'AzureFileVolume' (required) |
shareName | The share name of the Azure File share. | string |
IngressSettings
Name | Description | Value |
---|---|---|
backendProtocol | How ingress should communicate with this app backend service. | 'Default' 'GRPC' |
clientAuth | Client-Certification Authentication. | IngressSettingsClientAuth |
readTimeoutInSeconds | Ingress read time out in seconds. | int |
sendTimeoutInSeconds | Ingress send time out in seconds. | int |
sessionAffinity | Type of the affinity, set this to Cookie to enable session affinity. | 'Cookie' 'None' |
sessionCookieMaxAge | Time in seconds until the cookie expires. | int |
IngressSettingsClientAuth
Name | Description | Value |
---|---|---|
certificates | Collection of certificate resource id. | string[] |
LoadedCertificate
Name | Description | Value |
---|---|---|
loadTrustStore | Indicate whether the certificate will be loaded into default trust store, only work for Java runtime. | bool |
resourceId | Resource Id of loaded certificate | string (required) |
PersistentDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the persistent disk | string |
sizeInGB | Size of the persistent disk in GB | int Constraints: Min value = 0 Max value = 50 |
Secret
Name | Description | Value |
---|---|---|
name | Secret Name. | string |
value | Secret Value. | string Constraints: Sensitive value. Pass in as a secure parameter. |
TemporaryDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the temporary disk | string |
sizeInGB | Size of the temporary disk in GB | int Constraints: Min value = 0 Max value = 5 |
AppVNetAddons
Name | Description | Value |
---|---|---|
publicEndpoint | Indicates whether the App in vnet injection instance exposes endpoint which could be accessed from internet. | bool |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Deploy a simple Azure Spring Apps microservice application |
This template deploys a simple Azure Spring Apps microservice application to run on Azure. |
Terraform (AzAPI provider) resource definition
The Spring/apps resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.AppPlatform/Spring/apps resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AppPlatform/Spring/apps@2024-05-01-preview"
name = "string"
location = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
addonConfigs = {}
customPersistentDisks = [
{
customPersistentDiskProperties = {
enableSubPath = bool
mountOptions = [
"string"
]
mountPath = "string"
readOnly = bool
type = "string"
// For remaining properties, see CustomPersistentDiskProperties objects
}
storageId = "string"
}
]
enableEndToEndTLS = bool
httpsOnly = bool
ingressSettings = {
backendProtocol = "string"
clientAuth = {
certificates = [
"string"
]
}
readTimeoutInSeconds = int
sendTimeoutInSeconds = int
sessionAffinity = "string"
sessionCookieMaxAge = int
}
loadedCertificates = [
{
loadTrustStore = bool
resourceId = "string"
}
]
persistentDisk = {
mountPath = "string"
sizeInGB = int
}
public = bool
secrets = [
{
name = "string"
value = "string"
}
]
temporaryDisk = {
mountPath = "string"
sizeInGB = int
}
testEndpointAuthState = "string"
vnetAddons = {
publicEndpoint = bool
}
workloadProfileName = "string"
}
})
}
CustomPersistentDiskProperties objects
Set the type property to specify the type of object.
For AzureFileVolume, use:
type = "AzureFileVolume"
shareName = "string"
Property values
Spring/apps
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.AppPlatform/Spring/apps@2024-05-01-preview" |
name | The resource name | string (required) |
location | The GEO location of the application, always the same with its parent resource | string |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: Spring |
identity | The Managed Identity type of the app resource | ManagedIdentityProperties |
properties | Properties of the App resource | AppResourceProperties |
ManagedIdentityProperties
Name | Description | Value |
---|---|---|
type | Type of the managed identity | "SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" |
identity_ids | Properties of user-assigned managed identities | Array of user identity IDs. |
UserAssignedManagedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserAssignedManagedIdentity |
UserAssignedManagedIdentity
This object doesn't contain any properties to set during deployment. All properties are ReadOnly.
AppResourceProperties
Name | Description | Value |
---|---|---|
addonConfigs | Collection of addons | AppResourcePropertiesAddonConfigs |
customPersistentDisks | List of custom persistent disks | CustomPersistentDiskResource[] |
enableEndToEndTLS | Indicate if end to end TLS is enabled. | bool |
httpsOnly | Indicate if only https is allowed. | bool |
ingressSettings | App ingress settings payload. | IngressSettings |
loadedCertificates | Collection of loaded certificates | LoadedCertificate[] |
persistentDisk | Persistent disk settings | PersistentDisk |
public | Indicates whether the App exposes public endpoint | bool |
secrets | Collection of auth secrets | Secret[] |
temporaryDisk | Temporary disk settings | TemporaryDisk |
testEndpointAuthState | State of test endpoint auth. | "Disabled" "Enabled" |
vnetAddons | Additional App settings in vnet injection instance | AppVNetAddons |
workloadProfileName | The workload profile used for this app. Supported for Consumption + Dedicated plan. | string |
AppResourcePropertiesAddonConfigs
Name | Description | Value |
---|---|---|
{customized property} |
CustomPersistentDiskResource
Name | Description | Value |
---|---|---|
customPersistentDiskProperties | Properties of the custom persistent disk resource payload. | CustomPersistentDiskProperties |
storageId | The resource id of Azure Spring Apps Storage resource. | string (required) |
CustomPersistentDiskProperties
Name | Description | Value |
---|---|---|
enableSubPath | If set to true, it will create and mount a dedicated directory for every individual app instance. | bool |
mountOptions | These are the mount options for a persistent disk. | string[] |
mountPath | The mount path of the persistent disk. | string (required) |
readOnly | Indicates whether the persistent disk is a readOnly one. | bool |
type | Set the object type | AzureFileVolume (required) |
AzureFileVolume
Name | Description | Value |
---|---|---|
type | The type of the underlying resource to mount as a persistent disk. | "AzureFileVolume" (required) |
shareName | The share name of the Azure File share. | string |
IngressSettings
Name | Description | Value |
---|---|---|
backendProtocol | How ingress should communicate with this app backend service. | "Default" "GRPC" |
clientAuth | Client-Certification Authentication. | IngressSettingsClientAuth |
readTimeoutInSeconds | Ingress read time out in seconds. | int |
sendTimeoutInSeconds | Ingress send time out in seconds. | int |
sessionAffinity | Type of the affinity, set this to Cookie to enable session affinity. | "Cookie" "None" |
sessionCookieMaxAge | Time in seconds until the cookie expires. | int |
IngressSettingsClientAuth
Name | Description | Value |
---|---|---|
certificates | Collection of certificate resource id. | string[] |
LoadedCertificate
Name | Description | Value |
---|---|---|
loadTrustStore | Indicate whether the certificate will be loaded into default trust store, only work for Java runtime. | bool |
resourceId | Resource Id of loaded certificate | string (required) |
PersistentDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the persistent disk | string |
sizeInGB | Size of the persistent disk in GB | int Constraints: Min value = 0 Max value = 50 |
Secret
Name | Description | Value |
---|---|---|
name | Secret Name. | string |
value | Secret Value. | string Constraints: Sensitive value. Pass in as a secure parameter. |
TemporaryDisk
Name | Description | Value |
---|---|---|
mountPath | Mount path of the temporary disk | string |
sizeInGB | Size of the temporary disk in GB | int Constraints: Min value = 0 Max value = 5 |
AppVNetAddons
Name | Description | Value |
---|---|---|
publicEndpoint | Indicates whether the App in vnet injection instance exposes endpoint which could be accessed from internet. | bool |