ARM template resource definition
The Spring/apps resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AppPlatform/Spring/apps resource, add the following JSON to your template.
{
"type": "Microsoft.AppPlatform/Spring/apps",
"apiVersion": "2023-03-01-preview",
"name": "string",
"location": "string",
"identity": {
"principalId": "string",
"tenantId": "string",
"type": "string",
"userAssignedIdentities": {}
},
"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"
},
"vnetAddons": {
"publicEndpoint": "bool"
}
}
}
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 |
'2023-03-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 |
object |
AppResourceProperties
Name |
Description |
Value |
addonConfigs |
Collection of addons |
object |
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 |
vnetAddons |
Additional App settings in vnet injection instance |
AppVNetAddons |
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 |
Secret
Name |
Description |
Value |
name |
Secret Name. |
string |
value |
Secret Value. |
string |
TemporaryDisk
Name |
Description |
Value |
mountPath |
Mount path of the temporary disk |
string |
sizeInGB |
Size of the temporary disk in GB |
int |
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.