Microsoft.AppPlatform Spring/apps

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.

Resource format

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.

Template Description
Deploy a simple Azure Spring Apps microservice application

Deploy to Azure
This template deploys a simple Azure Spring Apps microservice application to run on Azure.