Reputation: 43
I have a standard Logic App and within it I have a number of Liquid Maps:
I want to use a Terraform script to deploy the Logic App, including the Maps.
I found a good article giving some of the information here: https://azapril.dev/2021/04/12/deploying-a-logicapp-with-terraform/
However, it does not detail how to incorporate Maps in the deployment.
The issues that I am faced with are:
The ARM template generated from the Logic App does not seem to have any reference to the Liquid Maps, so this cannot be the way to import them using Terraform resource azurerm_template_deployment.
I cannot find any documentation in Terraform that wound indicate how to associate Maps with the Logic App.
Has anybody experience with this?
Upvotes: 0
Views: 329
Reputation: 6778
Since no one has answered this so far, I'll make an attempt, even though I am not a Terraform expert, but same Standard Logic App deployment principles should apply. It might be not a complete answer, but this is too long to be explained in a comment to the question.
As I understand, for the Function App deployment, azurerm_linux_function_app can be used in Terraform.
It has the zip_deploy_file parameter, which can be used to deploy the ZIP-packaged application to the Function App.
It is important to understand that behind the scenes Standard Logic Apps use Azure Functions runtime. In a nutshell, you can treat Standard Logic Apps as a subset of Function Apps.
Thus, I would expect that azurerm_logic_app_standard would also have the same zip_deploy_file
parameter, however I don't see it in the list.
Perhaps, azurerm_linux_function_app can be used to deploy the ZIP-packaged project to the Standard Logic App as well? At least I see that the article mentions Standard Logic Apps:
Or maybe the zip_deploy_file
parameter in fact exists but it's just not listed in azurerm_logic_app_standard?
In any case, the above should clarify that you need to be able to deploy the ZIP-packaged Standard Logic App project.
As to your main question - "how to incorporate Maps in the deployment" - you just need to make sure that the ZIP package contains your Liquid maps in the Artifacts/Maps subfolder of your Standard Logic App project:
MyBundleBasedLogicAppProjectName
| .vscode
| Artifacts
|| Maps
||| MapName1
||| ...
|| Schemas
||| SchemaName1
||| ...
| WorkflowName1
|| workflow.json
|| ...
| WorkflowName2
|| workflow.json
|| ...
| workflow-designtime
| .funcignore
| connections.json
| host.json
| local.settings.json
Hope that helps. The development of Liquid maps and using them from the Logic App workflows are out of scope of the original question, of course.
Upvotes: 1