Logic Apps deployment template extractor August Update

New Updates is added to the Template Extractor and they are all making it easier to do deploments with Logic Apps.

First of we added support for the new advanced Scheduling, this means that if you are using these features they will end up as parameters in the ARM template genereated. A sample is shown here, if the Designer GUI looks like this: The parameters will end up like following, making it easy to change settings between environments, as we often want more intense running in production than in development environment. This makes it easy to change settings between environments.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {
      "value": "ReccurenceSample"
    },
    "RecurrenceFrequency": {
      "value": "week"
    },
    "RecurrenceInterval": {
      "value": 3
    },
    "RecurrenceStartTime": {
      "value": "2017-01-01T15:00:00"
    },
    "RecurrenceTimeZone": {
      "value": "W. Europe Standard Time"
    },
    "RecurrenceSchedule": {
      "value": {
        "hours": [
          3,
          10,
          15
        ],
        "minutes": [
          10,
          25
        ],
        "weekDays": [
          "Monday",
          "Wednesday",
          "Saturday"
        ]
      }
    }
  }
}

Next thing is updates with connectors, making it easier to auto generate ARM templates for Logic Apps using Blob Storage. Since this is a Azure Resource that can be accessed during deployment we added full support for autogenerating this, so now only the storage account name is needed. Making the connection generated from the ARM Template extractor looking as follows:

{
  "type": "Microsoft.Web/connections",
  "apiVersion": "2016-06-01",
  "location": "[parameters('logicAppLocation')]",
  "name": "[parameters('azureblob_name')]",
  "properties": {
    "api": {
      "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('logicAppLocation'), '/managedApis/', 'azureblob')]"
    },
    "displayName": "[parameters('azureblob_displayName')]",
    "parameterValues": {
      "accountName": "[parameters('azureblob_accountName')]",
      "accessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('azureblob_accountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]"
    }
  }
}

The trick behind this is the ARM function “listKeys” so aslong as the user who is running the deployment has read access to the storage account the key will be collected during deployment time. Making the life easier for us developers.

"accessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('azureblob_accountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]"

Last but not smallest we have had a new contributor in form of MVP Wagner! (Love the help) that has increased the usability by adding support for generating nested ARM templates in the same deployment, this makes it easier to deploy solutions that are depending on several Logic Apps or other Azure Resources and also makes it possible to dynamic get Key Vaults.

We think that these features has really improved the experience and ease of use with the Logic App template Creator so I hope you like it.

I strongly recomend you to try it and help out evolving it, more updates coming so stay tuned!

https://github.com/jeffhollan/LogicAppTemplateCreator

Posted in: •Logic Apps  •Integration  | Tagged: •DTAP  •Logic Apps  •Deployments  •Azure  •ARM  •ARM Template