Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/libre-devops/terraform-azurerm-logic-app-workflow
A module used to deploy a logic app workflow
https://github.com/libre-devops/terraform-azurerm-logic-app-workflow
Last synced: 7 days ago
JSON representation
A module used to deploy a logic app workflow
- Host: GitHub
- URL: https://github.com/libre-devops/terraform-azurerm-logic-app-workflow
- Owner: libre-devops
- License: mit
- Created: 2024-09-04T15:21:42.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-04T20:29:33.000Z (4 months ago)
- Last Synced: 2024-11-06T23:42:49.894Z (about 2 months ago)
- Language: PowerShell
- Size: 27.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
```hcl
resource "azurerm_logic_app_workflow" "workflows" {
for_each = { for app in var.logic_app_workflows : app.name => app }location = each.value.location
name = each.value.name
resource_group_name = each.value.rg_name
tags = each.value.tags
integration_service_environment_id = each.value.integration_service_environment_id
logic_app_integration_account_id = each.value.logic_app_integration_account_id
enabled = each.value.enabled
workflow_parameters = each.value.workflow_parameters
workflow_version = each.value.workflow_version
parameters = each.value.parametersdynamic "identity" {
for_each = each.value.identity_type == "SystemAssigned" ? [each.value.identity_type] : []
content {
type = each.value.identity_type
}
}dynamic "identity" {
for_each = each.value.identity_type == "UserAssigned" ? [each.value.identity_type] : []
content {
type = each.value.identity_type
identity_ids = length(try(each.value.identity_ids, [])) > 0 ? each.value.identity_ids : []
}
}dynamic "access_control" {
for_each = each.value.access_control != null ? [each.value.access_control] : []
content {
dynamic "action" {
for_each = access_control.value.action != null ? [access_control.value.action] : []
content {
allowed_caller_ip_address_range = action.value.allowed_caller_ip_address_range
}
}dynamic "content" {
for_each = access_control.value.content != null ? [access_control.value.content] : []
content {
allowed_caller_ip_address_range = content.value.allowed_caller_ip_address_range
}
}dynamic "trigger" {
for_each = access_control.value.trigger != null ? [access_control.value.trigger] : []
content {
allowed_caller_ip_address_range = trigger.value.allowed_caller_ip_address_rangedynamic "open_authentication_policy" {
for_each = trigger.value.open_authentication_policy != null ? [trigger.value.open_authentication_policy] : []
content {
name = open_authentication_policy.value.namedynamic "claim" {
for_each = open_authentication_policy.value.claim != null ? [open_authentication_policy.value.claim] : []
content {
name = claim.value.name
value = claim.value.value
}
}
}
}
}
}dynamic "workflow_management" {
for_each = access_control.value.workflow_management != null ? [access_control.value.workflow_management] : []
content {
allowed_caller_ip_address_range = workflow_management.value.allowed_caller_ip_address_range
}
}
}
}
}
```
## RequirementsNo requirements.
## Providers
| Name | Version |
|------|---------|
| [azurerm](#provider\_azurerm) | n/a |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [azurerm_logic_app_workflow.workflows](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/logic_app_workflow) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [logic\_app\_workflows](#input\_logic\_app\_workflows) | The list of object settings for logic app workflows |list(object({| n/a | yes |
name = string
rg_name = string
location = string
tags = map(string)
enabled = optional(bool, true)
integration_service_environment_id = optional(string)
logic_app_integration_account_id = optional(string)
identity_type = optional(string)
identity_ids = optional(list(string))
workflow_schema = optional(string)
workflow_parameters = optional(map(string))
workflow_version = optional(string, "1.0.0.0")
parameters = optional(map(string))
access_control = optional(object({
action = optional(object({
allowed_caller_ip_address_range = list(string)
}))
content = optional(object({
allowed_caller_ip_address_range = list(string)
}))
trigger = optional(object({
allowed_caller_ip_address_range = list(string)
open_authentication_policy = optional(object({
name = string
claim = optional(object({
name = string
value = string
}))
}))
}))
workflow_management = optional(object({
allowed_caller_ip_address_range = list(string)
}))
}))
}))## Outputs
| Name | Description |
|------|-------------|
| [logic\_app\_workflow\_access\_endpoints](#output\_logic\_app\_workflow\_access\_endpoints) | The Access Endpoints for the Logic App Workflows. |
| [logic\_app\_workflow\_connector\_endpoint\_ip\_addresses](#output\_logic\_app\_workflow\_connector\_endpoint\_ip\_addresses) | The list of access endpoint IP addresses of connector. |
| [logic\_app\_workflow\_connector\_outbound\_ip\_addresses](#output\_logic\_app\_workflow\_connector\_outbound\_ip\_addresses) | The list of outgoing IP addresses of connector. |
| [logic\_app\_workflow\_endpoint\_ip\_addresses](#output\_logic\_app\_workflow\_endpoint\_ip\_addresses) | The list of access endpoint IP addresses of workflow. |
| [logic\_app\_workflow\_identity](#output\_logic\_app\_workflow\_identity) | The identities for the Logic App Workflows. |
| [logic\_app\_workflow\_ids](#output\_logic\_app\_workflow\_ids) | The Logic App Workflow IDs. |
| [logic\_app\_workflow\_names](#output\_logic\_app\_workflow\_names) | The Logic App Workflow names |
| [logic\_app\_workflow\_outbound\_ip\_addresses](#output\_logic\_app\_workflow\_outbound\_ip\_addresses) | The list of outgoing IP addresses of workflow. |
| [logic\_app\_workflow\_principal\_ids](#output\_logic\_app\_workflow\_principal\_ids) | The Principal IDs for the Service Principal associated with the Managed Service Identity of this Logic App Workflow. |
| [logic\_app\_workflow\_rg\_names](#output\_logic\_app\_workflow\_rg\_names) | The Logic App Workflow resource group names |
| [logic\_app\_workflow\_tags](#output\_logic\_app\_workflow\_tags) | The Logic App Workflow resource group names |
| [logic\_app\_workflow\_tenant\_ids](#output\_logic\_app\_workflow\_tenant\_ids) | The Tenant IDs for the Service Principal associated with the Managed Service Identity of this Logic App Workflow. |