-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
174 lines (151 loc) · 6.18 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
variable "name" {
description = "Specifies the name of the Logic App. Changing this forces a new resource to be created."
type = string
}
variable "resource_group_name" {
description = "Specifies the name of the Resource Group where the logic should exists. Changing this forces a new resource to be created."
type = string
}
variable "location" {
description = "Specifies the Azure Region where the logic app should exists. Changing this forces a new resource to be created."
type = string
}
variable "enabled" {
description = "Is the Logic App enabled? Defaults to true"
type = bool
default = true
}
variable "tags" {
description = "A map of tags to assign to resources."
type = map(string)
default = {}
}
variable "integration_service_environment_id" {
description = " The ID of the Integration Service Environment to which this Logic App Workflow belongs. Changing this forces a new Logic App Workflow to be created."
type = string
default = null
}
variable "logic_app_integration_account_id" {
description = "The ID of the integration account linked by this Logic App Workflow."
type = string
default = null
}
variable "workflow_schema" {
description = "Specifies the Schema to use for this Logic App Workflow. Defaults to https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#"
type = string
default = "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#"
}
variable "workflow_version" {
description = "Specifies the version of the Schema used for this Logic App Workflow. Defaults to 1.0.0.0. Changing this forces a new resource to be created."
type = string
default = "1.0.0.0"
}
######################## Workflow Settings ########################
variable "triggers_allowed_caller_ip_address_range" {
description = "Restrict calls to triggers in this logic app to the provided IP ranges. IP addresses can be either IPv4 or IPv6 and accepts range and bitmask range formats."
type = list(string)
default = []
}
variable "contents_allowed_caller_ip_address_range" {
description = "Restrict calls to get input and output messages from run history to the provided IP ranges. IP addresses can be either IPv4 or IPv6 and accepts range and bitmask range formats."
type = list(string)
default = []
}
variable "actions_allowed_caller_ip_address_range" {
description = "Restrict calls to triggers in this logic app to the provided IP ranges. IP addresses can be either IPv4 or IPv6 and accepts range and bitmask range formats."
type = list(string)
default = []
}
variable "workflow_management_allowed_caller_ip_address_range" {
description = "Restrict workflow management in this logic app to the provided IP ranges. IP addresses can be either IPv4 or IPv6 and accepts range and bitmask range formats."
type = list(string)
default = []
}
######################## Authorization ########################
variable "authentication_policies" {
description = "Map of authentication policies to apply in this Logic app."
type = map(list(object({
claim_name = string
claim_value = string
})))
default = {}
}
variable "disable_sas_auth_schema" {
description = "This will create an condition on Http Triggers to enable the request be only from Microsoft Entra ID. Only Supports HTTP Triggers Configured via Custom Triggers and only makes sense when authentication_policies are configured."
type = bool
default = false
}
######################## Identity ########################
variable "identity_type" {
description = "Specifies the type of Managed Service Identity that should be associated with this Logic App."
type = string
default = null
validation {
error_message = "Please use a valid source!"
condition = var.identity_type == null || can(contains(["SystemAssigned", "UserAssigned", "BOTH"], var.identity_type))
}
}
variable "identity_ids" {
description = "Specifies a list of User Assigned Managed Identity IDs to be assigned to this Logic App."
type = list(string)
default = []
}
######################## Parameters ########################
variable "parameters" {
description = "A map of Key-Value pairs. Any parameters specified must exist in the Schema defined in workflow_parameters."
type = map(any)
default = {}
}
variable "connections_parameters" {
description = "Parameters related with API Connections."
type = list(map(any))
default = []
}
variable "workflow_parameters" {
description = " Specifies a map of Key-Value pairs of the Parameter Definitions to use for this Logic App Workflow. The key is the parameter name, and the value is a JSON encoded string of the parameter definition (see: https://docs.microsoft.com/azure/logic-apps/logic-apps-workflow-definition-language#parameters)."
type = map(object({
type = string
defaultValue = any
allowedValues = optional(list(string), [])
metadata = optional(object({
description = optional(string, null)
}), {})
}))
default = {}
}
######################## Triggers ########################
variable "http_triggers" {
description = "Map of Logic App HTTP Triggers."
type = map(object({
schema = string
method = optional(string, null)
relative_path = optional(string, null)
}))
default = {}
}
variable "recurrence_triggers" {
description = "Map of Logic App Recurrence Triggers."
type = map(object({
frequency = string
interval = number
start_time = optional(string, null)
time_zone = optional(string, null)
at_these_minutes = optional(list(number), [])
at_these_hours = optional(list(number), [])
on_these_days = optional(list(string), [])
}))
default = {}
}
variable "custom_triggers" {
description = "Map of Custom Triggers."
type = map(object({
body = string
}))
default = {}
}
######################## Actions ########################
variable "custom_actions" {
description = "Map of Logic App Custom Actions."
type = map(string)
default = {}
}