App Layering

Template parameters

This article describes objects passed to all templates associated with an Azure Deployments connector. The object is passed as the al parameter and can be accessed via the ARM template function parameters, such as [parameters('al').context.user].

{
  "input":
  {
    "type": "BootImage",
    "source": "any"
  },
  // OR
  {
    "type": "CacheDisk",
    "size": "number",
    "uploadSize": "number"
  },
  // OR
  {
    "type": "LayeredImage",
    "diskName": "string",
    "source": "any"
  },
  // OR
  {
    "type": "Machine",
    "disk": {
      "image": "any",
      "size": "number",
      "name": "string"
    },
    "vm": {
      "userData": "string"
    }
  },
  "context": {
    "taskId": "number",
    "type": "string",
    "user": "string",
    "comment": "string",
    "config": {
      "id": "string",
      "name": "string",
      "custom": "any"
    },
    "item": {
      "type": "string",
      "id": "number",
      "name": "string",
      "description": "string",
      "created": "string",
      "modified": "string",
      "version": {
        "number": "number",
        "name": "string",
        "description": "string",
        "created": "string"
      }
    }
  }
}
<!--NeedCopy-->

AlParam

The set of data passed to every deployment as the al parameter. This can be accessed from within the ARM template by passing al to the parameters ARM template function, such as parameters('al').

Name Description Value
input A set of data that applies only to a specific deployment type. The type of this property depends on the deployment type specified by context.type BootImageInput, CacheDiskInput, LayeredImageInput, MachineInput
context A set of data that applies to every deployment type. DeploymentContext

BootImageInput

Input data specific to the BootImage deployment type.

Name Description Value
type The type of deployment to which this input applies. ‘BootImage’
source The source for the image. This is an object with a property for each output specified in the ARM template associated with the Cache Disk deployment. any

CacheDiskInput

Input data specific to the CacheDisk deployment type.

Name Description Value
type The type of deployment to which this input applies. ‘CacheDisk’
size The size of the managed disk to be created, in GiB. number (32-bit integer)
uploadSize The size of source disk that will be uploaded to the created disk, in bytes. number (64-bit integer)

LayeredImageInput

Input data specific to the LayeredImage deployment type.

Name Description Value
type The type of deployment to which this input applies. ‘LayeredImage’
diskName The name of the disk as specified in the App Layering image template of the image currently being published. string
source The source for the image. This is an object with a property for each output specified in the ARM template associated with the Machine deployment. any

MachineInput

Input data specific to the Machine deployment type.

Name Description Value
type The type of deployment to which this input applies. ‘Machine’
disk Input data that applies to the OS disk of the machine. DiskInput
vm Input data that applies to the VM itself. VmInput

DiskInput

Input data that applies to the OS disk of a machine.

Name Description Value
image The source for the disk. This is an object with a property for each output specified in the ARM template associated with the Boot Image deployment, if the Boot Image deployment is specified in the connector configuration. If the Boot Image deployment is not specified, then output of the ARM template associated with the Cache Disk deployment is used. any
size The size of the disk to be created, in GiB. number (64-bit integer)
name The name of the disk as specified in the App Layering image template of the image currently being published. If this is not an image publish operation, then this is undefined. string

VmInput

Input data that applies to a VM.

Name Description Value
userData The value that must be applied to the userData property of the VirtualMachineProperties of the virtualMachine specified in the ARM template associated with the deployment. string

DeploymentContext

Provides the context of the current deployment operation.

Name Description Value
taskId The ID of the ELM task that caused the deployment. number (64-bit integer)
type The type of the current deployment. ‘CacheDisk’, ‘BootImage’, ‘Machine’, ‘LayeredImage’
user The username of the user who started the ELM task that caused this deployment. string
comment The comment the user entered when starting the ELM task that caused this deployment. string
config The platform connector configuration that is associated with this deployment. Config
item The App Layering entity associated with the ELM task that caused this deployment. This will refer to a layer, a layered image template, or a boot image. Item

Config

Contains the properties of the platform connector configuration associated with the current operation.

Name Description Value
id The ID of the platform connector configuration. This is a guid in the form of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. string
name The name of platform connector configuration. string
custom The custom data specified in the platform connector configuration. The type and properties of this object depend on the JSON specified for the current deployment type by the user. any

Item

The App Layering entity associated with an ELM task that caused a deployment.

This can be a layer, a layered image template, or a boot image.

Name Description Value
type The item type of App Layering entity. ‘Image’, ‘AppLayer’, ‘OsLayer’, ‘PlatformLayer’, ‘ConnectorCachedCeBootImage’
id The ID of the item. number (64-bit integer)
name The name of the item. string
description The description of the item. string
created The date and time the item was originally created. string (ISO 8601 datetime)
modified The date and time the item was last changed. string (ISO 8601 datetime)
version Information about this particular version of the item. Version

Version

The version of an App Layering entity associated with an ELM task that caused a deployment. This can be a layer version, a layered image template version, or a boot image version.

Name Description Value
number An integer that represents the version. For layers, this is the number of attempted packagings. For layered image templates, this is the number of successful publishes of the template. For boot images, this is the timestamp of the image file. number (32-bit integer)
name The name of the version. For layers, this is the version name specified by the user. For layered image templates, this is Publish{Number}_. For boot images, this is the version (x.y.z) of App Layering creating the deployment. string
description The description of the version. For layers, this is the version description specified by the user. For layered image templates, this is an empty string. For boot images, this is a generic description that includes the appliance version number. string
created The date and time the version was created. For layers, this is when the version was created. For layered image templates, this is when the template was last edited. For boot images, this is the timestamp of the image file. string (ISO 8601 datetime)
Template parameters