docs: make the whole-definition azapi path the Logic App standard - #42
Merged
Conversation
The Terraform section documented only the per-resource azurerm path:
the azurerm shell module plus azurerm_logic_app_trigger_* and
azurerm_logic_app_action_* resources, about 700 lines of it. The azapi
whole-definition module was not mentioned at all, and templatefile
appeared three times in passing.
Adds the authoring model as the first decision in the section, with the
whole-definition path as the standard, and documents it properly: the
designer to code view to json.tftpl round trip, the three wrapper shapes
that paste in unchanged, the token contract and what should not become a
token, the Terraform escapes for literal ${ and %{, the module call,
declarations in the definition versus values in Terraform and the 4.4.0
precedence order, V1 connections and the two halves of managed identity
auth, deploy tiers for sibling dispatch, sensitive_body and the trimmed
response_export_values default, and the validation versus check split.
The per-resource sections stay as the documented alternative, since the
azurerm module is published and real estates use it, but they are now
labelled as such rather than reading as the only way.
Records that libre-devops/logic-app-workflow/azapi does not resolve on
the Terraform Registry yet, with the git tag source as the interim.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
The WDL pitfalls section documented function traps in detail without linking any of the four documents that define the language, and See Also had none of them either. The copilot-agents knowledge packs already fetch three of them, so the agent was better sourced than the standard. Adds the language overview, schema reference, triggers and actions reference, expression functions reference and the machine-readable 2016-06-01 JSON schema, and records that there is no YAML dialect of WDL, since a definition is JSON and any YAML in a Logic App repository is build tooling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Terraform section of the Logic App standard documented only the per-resource azurerm path: the
azurermshell module plusazurerm_logic_app_trigger_*andazurerm_logic_app_action_*resources, roughly 700 lines of it.terraform-azapi-logic-app-workflowwas not mentioned anywhere, andtemplatefileappeared three times, all in passing on the azurerm path.What changes
New: the authoring model is now the first decision in the Terraform section, with a comparison table and the whole-definition path named as the standard. The reasoning is that Logic Apps are authored in a designer, and the per-resource split discards the artefact that designer produces, creates a second ordering graph that can disagree with
runAfter, and exposes theCannotDisableTriggerConcurrencytrap that only fires when a trigger is PATCHed individually out of a live definition.New:
### Whole-definition workflows with azapi, coveringtemplates/<name>.json.tftpl→ ctrl+F → plan round trip@{}does not collide with Terraform's${}, plus the$${and%%{escapes for the two characters that dotemplatefile(...)goes straight intodefinitionwith nojsonencode/jsondecodewrapper, unlike the per-resource pathdeploy_tierfor sibling dispatch orderingsensitive_bodyfor secure values and the trimmedresponse_export_valuesdefaultvalidationversuschecksplit, as a tableReframed, not removed: the per-resource sections stay, since the azurerm module is published and real estates use it, but they now carry lead-ins saying they are the alternative path.
One thing you need to know
libre-devops/logic-app-workflow/azapidoes not resolve on the Terraform Registry. I paginated all 136 modules in the namespace; the azapi Logic App module is not among them, thoughapi-connection/azapi,summary-rules/azapiand others are. The module is released on GitHub at 4.4.0 (2026-07-30) and its own README already uses the registry address.The doc therefore shows the registry form as the standard, with a callout giving the git tag source as the interim. Publish the module and that callout should be deleted.
Verification
variables.tf,HEADER.mdand both examples in the repo, not from memory.npm run buildclean. No em dashes or en dashes.