@quantcdn/pulumi-quant 5.10.4 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/aiAgent.d.ts +32 -32
  2. package/aiAgent.d.ts.map +1 -1
  3. package/aiAgentOverlay.d.ts +28 -28
  4. package/aiAgentOverlay.d.ts.map +1 -1
  5. package/aiCustomTool.d.ts +26 -26
  6. package/aiCustomTool.d.ts.map +1 -1
  7. package/aiGovernance.d.ts +17 -17
  8. package/aiGovernance.d.ts.map +1 -1
  9. package/aiSkill.d.ts +27 -27
  10. package/aiSkill.d.ts.map +1 -1
  11. package/aiVectorCollection.d.ts +14 -14
  12. package/aiVectorCollection.d.ts.map +1 -1
  13. package/aiVectorDocument.d.ts +15 -15
  14. package/aiVectorDocument.d.ts.map +1 -1
  15. package/application.d.ts +22 -22
  16. package/application.d.ts.map +1 -1
  17. package/crawler.d.ts +57 -57
  18. package/crawler.d.ts.map +1 -1
  19. package/crawlerSchedule.d.ts +17 -17
  20. package/crawlerSchedule.d.ts.map +1 -1
  21. package/cronJob.d.ts +18 -18
  22. package/cronJob.d.ts.map +1 -1
  23. package/domain.d.ts +8 -8
  24. package/domain.d.ts.map +1 -1
  25. package/environment.d.ts +40 -40
  26. package/environment.d.ts.map +1 -1
  27. package/getProject.d.ts +1 -1
  28. package/getProject.d.ts.map +1 -1
  29. package/header.d.ts +4 -4
  30. package/header.d.ts.map +1 -1
  31. package/kvItem.d.ts +11 -11
  32. package/kvItem.d.ts.map +1 -1
  33. package/kvStore.d.ts +8 -8
  34. package/kvStore.d.ts.map +1 -1
  35. package/package.json +2 -2
  36. package/project.d.ts +24 -24
  37. package/project.d.ts.map +1 -1
  38. package/provider.d.ts +9 -9
  39. package/provider.d.ts.map +1 -1
  40. package/ruleAuth.d.ts +46 -46
  41. package/ruleAuth.d.ts.map +1 -1
  42. package/ruleBotChallenge.d.ts +49 -49
  43. package/ruleBotChallenge.d.ts.map +1 -1
  44. package/ruleContentFilter.d.ts +45 -45
  45. package/ruleContentFilter.d.ts.map +1 -1
  46. package/ruleCustomResponse.d.ts +51 -51
  47. package/ruleCustomResponse.d.ts.map +1 -1
  48. package/ruleFunction.d.ts +45 -45
  49. package/ruleFunction.d.ts.map +1 -1
  50. package/ruleHeaders.d.ts +45 -45
  51. package/ruleHeaders.d.ts.map +1 -1
  52. package/ruleProxy.d.ts +93 -93
  53. package/ruleProxy.d.ts.map +1 -1
  54. package/ruleRedirect.d.ts +47 -47
  55. package/ruleRedirect.d.ts.map +1 -1
  56. package/ruleServeStatic.d.ts +45 -45
  57. package/ruleServeStatic.d.ts.map +1 -1
  58. package/slackBot.d.ts +46 -46
  59. package/slackBot.d.ts.map +1 -1
  60. package/types/input.d.ts +369 -340
  61. package/types/input.d.ts.map +1 -1
  62. package/types/output.d.ts +29 -0
  63. package/types/output.d.ts.map +1 -1
  64. package/volume.d.ts +18 -18
  65. package/volume.d.ts.map +1 -1
package/types/input.d.ts CHANGED
@@ -1,113 +1,134 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
3
  export interface AiAgentAgent {
4
- agentId?: pulumi.Input<string>;
5
- allowedCollections?: pulumi.Input<pulumi.Input<string>[]>;
6
- allowedTools?: pulumi.Input<pulumi.Input<string>[]>;
7
- assignedSkills?: pulumi.Input<pulumi.Input<string>[]>;
8
- createdAt?: pulumi.Input<string>;
9
- createdBy?: pulumi.Input<string>;
10
- description?: pulumi.Input<string>;
11
- group?: pulumi.Input<string>;
4
+ agentId?: pulumi.Input<string | undefined>;
5
+ allowedCollections?: pulumi.Input<pulumi.Input<string>[] | undefined>;
6
+ allowedTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
7
+ assignedSkills?: pulumi.Input<pulumi.Input<string>[] | undefined>;
8
+ createdAt?: pulumi.Input<string | undefined>;
9
+ createdBy?: pulumi.Input<string | undefined>;
10
+ description?: pulumi.Input<string | undefined>;
11
+ group?: pulumi.Input<string | undefined>;
12
12
  /**
13
13
  * Guardrail preset name
14
14
  */
15
- guardrailPreset?: pulumi.Input<string>;
15
+ guardrailPreset?: pulumi.Input<string | undefined>;
16
16
  /**
17
17
  * Whether the requesting org has a per-org overlay for this global agent
18
18
  */
19
- hasOverlay?: pulumi.Input<boolean>;
19
+ hasOverlay?: pulumi.Input<boolean | undefined>;
20
20
  /**
21
21
  * Whether this is a platform-managed global agent
22
22
  */
23
- isGlobal?: pulumi.Input<boolean>;
23
+ isGlobal?: pulumi.Input<boolean | undefined>;
24
24
  /**
25
25
  * Whether 1M context window is enabled
26
26
  */
27
- longContext?: pulumi.Input<boolean>;
28
- maxTokens?: pulumi.Input<number>;
29
- modelId?: pulumi.Input<string>;
30
- name?: pulumi.Input<string>;
31
- systemPrompt?: pulumi.Input<string>;
32
- temperature?: pulumi.Input<number>;
33
- updatedAt?: pulumi.Input<string>;
27
+ longContext?: pulumi.Input<boolean | undefined>;
28
+ maxTokens?: pulumi.Input<number | undefined>;
29
+ modelId?: pulumi.Input<string | undefined>;
30
+ name?: pulumi.Input<string | undefined>;
31
+ systemPrompt?: pulumi.Input<string | undefined>;
32
+ temperature?: pulumi.Input<number | undefined>;
33
+ updatedAt?: pulumi.Input<string | undefined>;
34
34
  }
35
35
  export interface AiAgentOverlayBase {
36
- agentId?: pulumi.Input<string>;
37
- allowedTools?: pulumi.Input<pulumi.Input<string>[]>;
38
- assignedSkillIds?: pulumi.Input<pulumi.Input<string>[]>;
39
- modelId?: pulumi.Input<string>;
40
- name?: pulumi.Input<string>;
36
+ agentId?: pulumi.Input<string | undefined>;
37
+ allowedTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
38
+ assignedSkillIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
39
+ modelId?: pulumi.Input<string | undefined>;
40
+ name?: pulumi.Input<string | undefined>;
41
41
  }
42
42
  export interface AiAgentOverlayOverlay {
43
- additionalSkills?: pulumi.Input<pulumi.Input<string>[]>;
44
- additionalTools?: pulumi.Input<pulumi.Input<string>[]>;
45
- allowedCollections?: pulumi.Input<pulumi.Input<string>[]>;
46
- disabledSkills?: pulumi.Input<pulumi.Input<string>[]>;
47
- disabledTools?: pulumi.Input<pulumi.Input<string>[]>;
48
- guardrailPreset?: pulumi.Input<string>;
49
- maxTokens?: pulumi.Input<number>;
50
- modelId?: pulumi.Input<string>;
51
- systemPromptAppend?: pulumi.Input<string>;
52
- temperature?: pulumi.Input<number>;
53
- version?: pulumi.Input<number>;
43
+ additionalSkills?: pulumi.Input<pulumi.Input<string>[] | undefined>;
44
+ additionalTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
45
+ allowedCollections?: pulumi.Input<pulumi.Input<string>[] | undefined>;
46
+ disabledSkills?: pulumi.Input<pulumi.Input<string>[] | undefined>;
47
+ disabledTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
48
+ guardrailPreset?: pulumi.Input<string | undefined>;
49
+ maxTokens?: pulumi.Input<number | undefined>;
50
+ modelId?: pulumi.Input<string | undefined>;
51
+ systemPromptAppend?: pulumi.Input<string | undefined>;
52
+ temperature?: pulumi.Input<number | undefined>;
53
+ version?: pulumi.Input<number | undefined>;
54
54
  }
55
55
  export interface AiCustomToolTool {
56
- category?: pulumi.Input<string>;
57
- createdAt?: pulumi.Input<string>;
58
- description?: pulumi.Input<string>;
56
+ category?: pulumi.Input<string | undefined>;
57
+ createdAt?: pulumi.Input<string | undefined>;
58
+ description?: pulumi.Input<string | undefined>;
59
59
  /**
60
60
  * The deployed edge function source code
61
61
  */
62
- edgeFunctionCode?: pulumi.Input<string>;
63
- edgeFunctionUrl?: pulumi.Input<string>;
64
- inputSchema?: pulumi.Input<string>;
65
- isAsync?: pulumi.Input<boolean>;
66
- name?: pulumi.Input<string>;
67
- outputSchema?: pulumi.Input<string>;
68
- outputSchemaDescription?: pulumi.Input<string>;
69
- responseMode?: pulumi.Input<string>;
62
+ edgeFunctionCode?: pulumi.Input<string | undefined>;
63
+ edgeFunctionUrl?: pulumi.Input<string | undefined>;
64
+ inputSchema?: pulumi.Input<string | undefined>;
65
+ isAsync?: pulumi.Input<boolean | undefined>;
66
+ name?: pulumi.Input<string | undefined>;
67
+ outputSchema?: pulumi.Input<string | undefined>;
68
+ outputSchemaDescription?: pulumi.Input<string | undefined>;
69
+ responseMode?: pulumi.Input<string | undefined>;
70
70
  }
71
71
  export interface AiGovernanceConfig {
72
72
  }
73
73
  export interface AiGovernanceSpendLimits {
74
- dailyBudgetCents?: pulumi.Input<number>;
75
- monthlyBudgetCents?: pulumi.Input<number>;
76
- perUserDailyBudgetCents?: pulumi.Input<number>;
77
- perUserMonthlyBudgetCents?: pulumi.Input<number>;
78
- warningThresholdPercent?: pulumi.Input<number>;
74
+ dailyBudgetCents?: pulumi.Input<number | undefined>;
75
+ /**
76
+ * Aggregate spend caps per interface label (slack, autonomous, api-gateway, streaming, websocket). Keys are interface labels.
77
+ */
78
+ interfaceLimits?: pulumi.Input<{
79
+ [key: string]: pulumi.Input<inputs.AiGovernanceSpendLimitsInterfaceLimits>;
80
+ } | undefined>;
81
+ monthlyBudgetCents?: pulumi.Input<number | undefined>;
82
+ perUserDailyBudgetCents?: pulumi.Input<number | undefined>;
83
+ perUserMonthlyBudgetCents?: pulumi.Input<number | undefined>;
84
+ /**
85
+ * Per-user budget overrides keyed by userId (numeric portal id, slack-<id>, or system:code-agent). Replaces the flat per-user budget for that user; unlimited=true exempts them.
86
+ */
87
+ userOverrides?: pulumi.Input<{
88
+ [key: string]: pulumi.Input<inputs.AiGovernanceSpendLimitsUserOverrides>;
89
+ } | undefined>;
90
+ warningThresholdPercent?: pulumi.Input<number | undefined>;
91
+ }
92
+ export interface AiGovernanceSpendLimitsInterfaceLimits {
93
+ dailyCents?: pulumi.Input<number | undefined>;
94
+ monthlyCents?: pulumi.Input<number | undefined>;
95
+ }
96
+ export interface AiGovernanceSpendLimitsUserOverrides {
97
+ dailyCents?: pulumi.Input<number | undefined>;
98
+ monthlyCents?: pulumi.Input<number | undefined>;
99
+ unlimited?: pulumi.Input<boolean | undefined>;
79
100
  }
80
101
  export interface AiSkillFiles {
81
102
  }
82
103
  export interface AiSkillSkill {
83
- allowedTools?: pulumi.Input<pulumi.Input<string>[]>;
84
- content?: pulumi.Input<string>;
85
- description?: pulumi.Input<string>;
86
- disableModelInvocation?: pulumi.Input<boolean>;
87
- files?: pulumi.Input<inputs.AiSkillSkillFiles>;
88
- installedAt?: pulumi.Input<string>;
89
- name?: pulumi.Input<string>;
90
- namespace?: pulumi.Input<string>;
91
- requiredTools?: pulumi.Input<pulumi.Input<string>[]>;
92
- skillId?: pulumi.Input<string>;
93
- source?: pulumi.Input<inputs.AiSkillSkillSource>;
94
- tags?: pulumi.Input<pulumi.Input<string>[]>;
95
- triggerCondition?: pulumi.Input<string>;
96
- updatedAt?: pulumi.Input<string>;
104
+ allowedTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
105
+ content?: pulumi.Input<string | undefined>;
106
+ description?: pulumi.Input<string | undefined>;
107
+ disableModelInvocation?: pulumi.Input<boolean | undefined>;
108
+ files?: pulumi.Input<inputs.AiSkillSkillFiles | undefined>;
109
+ installedAt?: pulumi.Input<string | undefined>;
110
+ name?: pulumi.Input<string | undefined>;
111
+ namespace?: pulumi.Input<string | undefined>;
112
+ requiredTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
113
+ skillId?: pulumi.Input<string | undefined>;
114
+ source?: pulumi.Input<inputs.AiSkillSkillSource | undefined>;
115
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
116
+ triggerCondition?: pulumi.Input<string | undefined>;
117
+ updatedAt?: pulumi.Input<string | undefined>;
97
118
  }
98
119
  export interface AiSkillSkillFiles {
99
120
  }
100
121
  export interface AiSkillSkillSource {
101
122
  }
102
123
  export interface AiVectorCollectionCollection {
103
- collectionId?: pulumi.Input<string>;
104
- createdAt?: pulumi.Input<string>;
105
- description?: pulumi.Input<string>;
106
- dimensions?: pulumi.Input<number>;
107
- documentCount?: pulumi.Input<number>;
108
- embeddingModel?: pulumi.Input<string>;
109
- name?: pulumi.Input<string>;
110
- updatedAt?: pulumi.Input<string>;
124
+ collectionId?: pulumi.Input<string | undefined>;
125
+ createdAt?: pulumi.Input<string | undefined>;
126
+ description?: pulumi.Input<string | undefined>;
127
+ dimensions?: pulumi.Input<number | undefined>;
128
+ documentCount?: pulumi.Input<number | undefined>;
129
+ embeddingModel?: pulumi.Input<string | undefined>;
130
+ name?: pulumi.Input<string | undefined>;
131
+ updatedAt?: pulumi.Input<string | undefined>;
111
132
  }
112
133
  export interface AiVectorDocumentDocument {
113
134
  /**
@@ -117,84 +138,84 @@ export interface AiVectorDocumentDocument {
117
138
  /**
118
139
  * Stable document key for upsert
119
140
  */
120
- key?: pulumi.Input<string>;
121
- metadata?: pulumi.Input<inputs.AiVectorDocumentDocumentMetadata>;
141
+ key?: pulumi.Input<string | undefined>;
142
+ metadata?: pulumi.Input<inputs.AiVectorDocumentDocumentMetadata | undefined>;
122
143
  }
123
144
  export interface AiVectorDocumentDocumentMetadata {
124
- section?: pulumi.Input<string>;
125
- sourceUrl?: pulumi.Input<string>;
126
- tags?: pulumi.Input<pulumi.Input<string>[]>;
127
- title?: pulumi.Input<string>;
145
+ section?: pulumi.Input<string | undefined>;
146
+ sourceUrl?: pulumi.Input<string | undefined>;
147
+ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
148
+ title?: pulumi.Input<string | undefined>;
128
149
  }
129
150
  export interface ApplicationComposeDefinition {
130
151
  /**
131
152
  * CPU architecture (X86_64 or ARM64)
132
153
  */
133
- architecture?: pulumi.Input<string>;
134
- containers?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainer>[]>;
154
+ architecture?: pulumi.Input<string | undefined>;
155
+ containers?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainer>[] | undefined>;
135
156
  /**
136
157
  * Optional. Enable cross-application networking within the same organization. When false (default): Uses shared/app-specific security group based on enableCrossEnvNetworking. When true: Uses org-specific security group to enable container-to-container communication with ALL applications in the same organization via service discovery (microservices architecture). This setting takes priority over enableCrossEnvNetworking.
137
158
  */
138
- enableCrossAppNetworking?: pulumi.Input<boolean>;
159
+ enableCrossAppNetworking?: pulumi.Input<boolean | undefined>;
139
160
  /**
140
161
  * Optional. Enable cross-environment networking within the same application. When false (default): Uses shared security group for complete isolation (most secure). When true: Uses app-specific security group to enable communication between environments of the same application (e.g., staging can connect to production database). Note: If enableCrossAppNetworking is true, this setting is overridden.
141
162
  */
142
- enableCrossEnvNetworking?: pulumi.Input<boolean>;
163
+ enableCrossEnvNetworking?: pulumi.Input<boolean | undefined>;
143
164
  /**
144
165
  * Maximum number of instances
145
166
  */
146
- maxCapacity?: pulumi.Input<number>;
167
+ maxCapacity?: pulumi.Input<number | undefined>;
147
168
  /**
148
169
  * Minimum number of instances
149
170
  */
150
- minCapacity?: pulumi.Input<number>;
171
+ minCapacity?: pulumi.Input<number | undefined>;
151
172
  /**
152
173
  * Spot instance strategy configuration for controlling cost vs reliability. Spot instances provide significant cost savings (~70%) but may be interrupted by AWS. Available for non-production environments.
153
174
  */
154
- spotConfiguration?: pulumi.Input<inputs.ApplicationComposeDefinitionSpotConfiguration>;
175
+ spotConfiguration?: pulumi.Input<inputs.ApplicationComposeDefinitionSpotConfiguration | undefined>;
155
176
  /**
156
177
  * Task-level CPU units (e.g., 256, 512, 1024)
157
178
  */
158
- taskCpu?: pulumi.Input<number>;
179
+ taskCpu?: pulumi.Input<number | undefined>;
159
180
  /**
160
181
  * Task-level memory in MB
161
182
  */
162
- taskMemory?: pulumi.Input<number>;
183
+ taskMemory?: pulumi.Input<number | undefined>;
163
184
  }
164
185
  export interface ApplicationComposeDefinitionContainer {
165
- commands?: pulumi.Input<pulumi.Input<string>[]>;
186
+ commands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
166
187
  /**
167
188
  * Container-level CPU units
168
189
  */
169
- cpu?: pulumi.Input<number>;
190
+ cpu?: pulumi.Input<number | undefined>;
170
191
  /**
171
192
  * Container startup dependencies
172
193
  */
173
- dependsOns?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerDependsOn>[]>;
174
- entryPoints?: pulumi.Input<pulumi.Input<string>[]>;
194
+ dependsOns?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerDependsOn>[] | undefined>;
195
+ entryPoints?: pulumi.Input<pulumi.Input<string>[] | undefined>;
175
196
  /**
176
197
  * Environment variables specific to this container
177
198
  */
178
- environments?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerEnvironment>[]>;
179
- essential?: pulumi.Input<boolean>;
199
+ environments?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerEnvironment>[] | undefined>;
200
+ essential?: pulumi.Input<boolean | undefined>;
180
201
  /**
181
202
  * List of container ports to expose
182
203
  */
183
- exposedPorts?: pulumi.Input<pulumi.Input<number>[]>;
204
+ exposedPorts?: pulumi.Input<pulumi.Input<number>[] | undefined>;
184
205
  /**
185
206
  * Container health check configuration
186
207
  */
187
- healthCheck?: pulumi.Input<inputs.ApplicationComposeDefinitionContainerHealthCheck>;
208
+ healthCheck?: pulumi.Input<inputs.ApplicationComposeDefinitionContainerHealthCheck | undefined>;
188
209
  imageReference: pulumi.Input<inputs.ApplicationComposeDefinitionContainerImageReference>;
189
210
  /**
190
211
  * Container-level memory hard limit (MiB)
191
212
  */
192
- memory?: pulumi.Input<number>;
213
+ memory?: pulumi.Input<number | undefined>;
193
214
  /**
194
215
  * Container-level memory soft limit (MiB)
195
216
  */
196
- memoryReservation?: pulumi.Input<number>;
197
- mountPoints?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerMountPoint>[]>;
217
+ memoryReservation?: pulumi.Input<number | undefined>;
218
+ mountPoints?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerMountPoint>[] | undefined>;
198
219
  /**
199
220
  * Name of the container
200
221
  */
@@ -202,24 +223,24 @@ export interface ApplicationComposeDefinitionContainer {
202
223
  /**
203
224
  * Enable origin protection for all exposed ports on this container. Use originProtectionConfig for advanced options like IP allow lists.
204
225
  */
205
- originProtection?: pulumi.Input<boolean>;
226
+ originProtection?: pulumi.Input<boolean | undefined>;
206
227
  /**
207
228
  * Extended origin protection configuration with IP allow list support
208
229
  */
209
- originProtectionConfig?: pulumi.Input<inputs.ApplicationComposeDefinitionContainerOriginProtectionConfig>;
210
- readonlyRootFilesystem?: pulumi.Input<boolean>;
230
+ originProtectionConfig?: pulumi.Input<inputs.ApplicationComposeDefinitionContainerOriginProtectionConfig | undefined>;
231
+ readonlyRootFilesystem?: pulumi.Input<boolean | undefined>;
211
232
  /**
212
233
  * Secrets mapped to environment variables
213
234
  */
214
- secrets?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerSecret>[]>;
215
- user?: pulumi.Input<string>;
216
- workingDirectory?: pulumi.Input<string>;
235
+ secrets?: pulumi.Input<pulumi.Input<inputs.ApplicationComposeDefinitionContainerSecret>[] | undefined>;
236
+ user?: pulumi.Input<string | undefined>;
237
+ workingDirectory?: pulumi.Input<string | undefined>;
217
238
  }
218
239
  export interface ApplicationComposeDefinitionContainerDependsOn {
219
240
  /**
220
241
  * The condition to wait for on the dependency
221
242
  */
222
- condition?: pulumi.Input<string>;
243
+ condition?: pulumi.Input<string | undefined>;
223
244
  /**
224
245
  * The name of the container this container depends on
225
246
  */
@@ -239,23 +260,23 @@ export interface ApplicationComposeDefinitionContainerHealthCheck {
239
260
  /**
240
261
  * The command to run to determine if the container is healthy
241
262
  */
242
- commands?: pulumi.Input<pulumi.Input<string>[]>;
263
+ commands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
243
264
  /**
244
265
  * Time period (seconds) between health checks
245
266
  */
246
- interval?: pulumi.Input<number>;
267
+ interval?: pulumi.Input<number | undefined>;
247
268
  /**
248
269
  * Number of times to retry a failed health check
249
270
  */
250
- retries?: pulumi.Input<number>;
271
+ retries?: pulumi.Input<number | undefined>;
251
272
  /**
252
273
  * Grace period (seconds) to ignore unhealthy checks after container starts
253
274
  */
254
- startPeriod?: pulumi.Input<number>;
275
+ startPeriod?: pulumi.Input<number | undefined>;
255
276
  /**
256
277
  * Time period (seconds) to wait for a health check to return
257
278
  */
258
- timeout?: pulumi.Input<number>;
279
+ timeout?: pulumi.Input<number | undefined>;
259
280
  }
260
281
  export interface ApplicationComposeDefinitionContainerImageReference {
261
282
  /**
@@ -272,7 +293,7 @@ export interface ApplicationComposeDefinitionContainerMountPoint {
272
293
  * The path inside the container where the volume is mounted
273
294
  */
274
295
  containerPath: pulumi.Input<string>;
275
- readOnly?: pulumi.Input<boolean>;
296
+ readOnly?: pulumi.Input<boolean | undefined>;
276
297
  /**
277
298
  * The name of the logical volume
278
299
  */
@@ -282,11 +303,15 @@ export interface ApplicationComposeDefinitionContainerOriginProtectionConfig {
282
303
  /**
283
304
  * Whether origin protection is enabled. Defaults to true if this config object is provided.
284
305
  */
285
- enabled?: pulumi.Input<boolean>;
306
+ enabled?: pulumi.Input<boolean | undefined>;
286
307
  /**
287
308
  * List of IP addresses or CIDR ranges that can bypass origin protection for direct access (e.g., VPN IPs)
288
309
  */
289
- ipAllows?: pulumi.Input<pulumi.Input<string>[]>;
310
+ ipAllows?: pulumi.Input<pulumi.Input<string>[] | undefined>;
311
+ /**
312
+ * Optional bare host (e.g. www.example.com). When set, requests denied by origin protection are 302-redirected to https://<redirectHost> with path and query preserved, instead of receiving a 403. Allowed IPs and valid-header (CDN) traffic are unaffected.
313
+ */
314
+ redirectHost?: pulumi.Input<string | undefined>;
290
315
  }
291
316
  export interface ApplicationComposeDefinitionContainerSecret {
292
317
  /**
@@ -302,169 +327,169 @@ export interface ApplicationComposeDefinitionSpotConfiguration {
302
327
  /**
303
328
  * Spot instance strategy. 'off' = On-Demand only (highest reliability, no savings). 'spot-only' = 100% Spot instances (~70% savings, default for non-prod). 'mixed-safe' = 50% Spot instances (~35% savings, requires multiple instances). 'mixed-aggressive' = 80% Spot instances (~56% savings, requires multiple instances).
304
329
  */
305
- strategy?: pulumi.Input<string>;
330
+ strategy?: pulumi.Input<string | undefined>;
306
331
  }
307
332
  export interface ApplicationDatabase {
308
333
  /**
309
334
  * Database engine type (MySQL 8.4, Postgres)
310
335
  */
311
- engine?: pulumi.Input<string>;
336
+ engine?: pulumi.Input<string | undefined>;
312
337
  /**
313
338
  * RDS instance class
314
339
  */
315
- instanceClass?: pulumi.Input<string>;
340
+ instanceClass?: pulumi.Input<string | undefined>;
316
341
  /**
317
342
  * Enable Multi-AZ deployment (higher availability and cost)
318
343
  */
319
- multiAz?: pulumi.Input<boolean>;
344
+ multiAz?: pulumi.Input<boolean | undefined>;
320
345
  /**
321
346
  * RDS instance endpoint address
322
347
  */
323
- rdsInstanceEndpoint?: pulumi.Input<string>;
348
+ rdsInstanceEndpoint?: pulumi.Input<string | undefined>;
324
349
  /**
325
350
  * Database engine
326
351
  */
327
- rdsInstanceEngine?: pulumi.Input<string>;
352
+ rdsInstanceEngine?: pulumi.Input<string | undefined>;
328
353
  /**
329
354
  * RDS instance identifier
330
355
  */
331
- rdsInstanceIdentifier?: pulumi.Input<string>;
356
+ rdsInstanceIdentifier?: pulumi.Input<string | undefined>;
332
357
  /**
333
358
  * RDS instance status
334
359
  */
335
- rdsInstanceStatus?: pulumi.Input<string>;
360
+ rdsInstanceStatus?: pulumi.Input<string | undefined>;
336
361
  /**
337
362
  * Allocated storage in GiB
338
363
  */
339
- storageGb?: pulumi.Input<number>;
364
+ storageGb?: pulumi.Input<number | undefined>;
340
365
  }
341
366
  export interface ApplicationDeploymentInformation {
342
367
  /**
343
368
  * Deployment creation timestamp
344
369
  */
345
- createdAt?: pulumi.Input<string>;
370
+ createdAt?: pulumi.Input<string | undefined>;
346
371
  /**
347
372
  * Deployment identifier
348
373
  */
349
- deploymentId?: pulumi.Input<string>;
374
+ deploymentId?: pulumi.Input<string | undefined>;
350
375
  /**
351
376
  * Image tag deployed
352
377
  */
353
- imageTag?: pulumi.Input<string>;
378
+ imageTag?: pulumi.Input<string | undefined>;
354
379
  /**
355
380
  * Deployment status
356
381
  */
357
- status?: pulumi.Input<string>;
382
+ status?: pulumi.Input<string | undefined>;
358
383
  /**
359
384
  * Task definition ARN used
360
385
  */
361
- taskDefinitionArn?: pulumi.Input<string>;
386
+ taskDefinitionArn?: pulumi.Input<string | undefined>;
362
387
  }
363
388
  export interface ApplicationEnvironment {
364
389
  /**
365
390
  * Environment variable name
366
391
  */
367
- name?: pulumi.Input<string>;
392
+ name?: pulumi.Input<string | undefined>;
368
393
  /**
369
394
  * Environment variable value
370
395
  */
371
- value?: pulumi.Input<string>;
396
+ value?: pulumi.Input<string | undefined>;
372
397
  }
373
398
  export interface ApplicationFilesystem {
374
399
  /**
375
400
  * EFS filesystem ID
376
401
  */
377
- filesystemId?: pulumi.Input<string>;
402
+ filesystemId?: pulumi.Input<string | undefined>;
378
403
  /**
379
404
  * Mount path inside containers
380
405
  */
381
- mountPath?: pulumi.Input<string>;
406
+ mountPath?: pulumi.Input<string | undefined>;
382
407
  /**
383
408
  * Whether to create a shared filesystem
384
409
  */
385
- required?: pulumi.Input<boolean>;
410
+ required?: pulumi.Input<boolean | undefined>;
386
411
  }
387
412
  export interface ApplicationImageReference {
388
413
  /**
389
414
  * Image identifier
390
415
  */
391
- identifier?: pulumi.Input<string>;
416
+ identifier?: pulumi.Input<string | undefined>;
392
417
  /**
393
418
  * Image type
394
419
  */
395
- type?: pulumi.Input<string>;
420
+ type?: pulumi.Input<string | undefined>;
396
421
  }
397
422
  export interface CrawlerAssets {
398
423
  /**
399
424
  * Network intercept configuration for asset collection
400
425
  */
401
- networkIntercept?: pulumi.Input<inputs.CrawlerAssetsNetworkIntercept>;
426
+ networkIntercept?: pulumi.Input<inputs.CrawlerAssetsNetworkIntercept | undefined>;
402
427
  /**
403
428
  * Parser configuration for asset extraction
404
429
  */
405
- parser?: pulumi.Input<inputs.CrawlerAssetsParser>;
430
+ parser?: pulumi.Input<inputs.CrawlerAssetsParser | undefined>;
406
431
  }
407
432
  export interface CrawlerAssetsNetworkIntercept {
408
433
  /**
409
434
  * Enable network intercept
410
435
  */
411
- enabled?: pulumi.Input<boolean>;
436
+ enabled?: pulumi.Input<boolean | undefined>;
412
437
  /**
413
438
  * Execute JavaScript during asset collection
414
439
  */
415
- executeJs?: pulumi.Input<boolean>;
440
+ executeJs?: pulumi.Input<boolean | undefined>;
416
441
  /**
417
442
  * Request timeout in seconds
418
443
  */
419
- timeout?: pulumi.Input<number>;
444
+ timeout?: pulumi.Input<number | undefined>;
420
445
  }
421
446
  export interface CrawlerAssetsParser {
422
447
  /**
423
448
  * Enable parser
424
449
  */
425
- enabled?: pulumi.Input<boolean>;
450
+ enabled?: pulumi.Input<boolean | undefined>;
426
451
  }
427
452
  export interface CrawlerSitemap {
428
453
  /**
429
454
  * Recursively follow sitemap links
430
455
  */
431
- recursive?: pulumi.Input<boolean>;
456
+ recursive?: pulumi.Input<boolean | undefined>;
432
457
  /**
433
458
  * Sitemap URL
434
459
  */
435
- url?: pulumi.Input<string>;
460
+ url?: pulumi.Input<string | undefined>;
436
461
  }
437
462
  export interface DomainDnsGoLiveRecord {
438
463
  /**
439
464
  * Human-readable instructions for configuring this DNS record
440
465
  */
441
- description?: pulumi.Input<string>;
466
+ description?: pulumi.Input<string | undefined>;
442
467
  /**
443
468
  * DNS record name/host (@ for apex/root domains, subdomain name for subdomains)
444
469
  */
445
- name?: pulumi.Input<string>;
470
+ name?: pulumi.Input<string | undefined>;
446
471
  /**
447
472
  * DNS record type (CNAME, A, or ALIAS)
448
473
  */
449
- type?: pulumi.Input<string>;
474
+ type?: pulumi.Input<string | undefined>;
450
475
  /**
451
476
  * DNS record value (IP addresses for A records, domain name for CNAME/ALIAS)
452
477
  */
453
- value?: pulumi.Input<string>;
478
+ value?: pulumi.Input<string | undefined>;
454
479
  }
455
480
  export interface DomainDnsValidationRecord {
456
481
  /**
457
482
  * DNS record name (host/subdomain)
458
483
  */
459
- name?: pulumi.Input<string>;
484
+ name?: pulumi.Input<string | undefined>;
460
485
  /**
461
486
  * DNS record type (typically CNAME)
462
487
  */
463
- type?: pulumi.Input<string>;
488
+ type?: pulumi.Input<string | undefined>;
464
489
  /**
465
490
  * DNS record value to point to
466
491
  */
467
- value?: pulumi.Input<string>;
492
+ value?: pulumi.Input<string | undefined>;
468
493
  }
469
494
  export interface EnvironmentAlbRouting {
470
495
  }
@@ -472,71 +497,71 @@ export interface EnvironmentComposeDefinition {
472
497
  /**
473
498
  * CPU architecture (X86_64 or ARM64)
474
499
  */
475
- architecture?: pulumi.Input<string>;
476
- containers?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainer>[]>;
500
+ architecture?: pulumi.Input<string | undefined>;
501
+ containers?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainer>[] | undefined>;
477
502
  /**
478
503
  * Optional. Enable cross-application networking within the same organization. When false (default): Uses shared/app-specific security group based on enableCrossEnvNetworking. When true: Uses org-specific security group to enable container-to-container communication with ALL applications in the same organization via service discovery (microservices architecture). This setting takes priority over enableCrossEnvNetworking.
479
504
  */
480
- enableCrossAppNetworking?: pulumi.Input<boolean>;
505
+ enableCrossAppNetworking?: pulumi.Input<boolean | undefined>;
481
506
  /**
482
507
  * Optional. Enable cross-environment networking within the same application. When false (default): Uses shared security group for complete isolation (most secure). When true: Uses app-specific security group to enable communication between environments of the same application (e.g., staging can connect to production database). Note: If enableCrossAppNetworking is true, this setting is overridden.
483
508
  */
484
- enableCrossEnvNetworking?: pulumi.Input<boolean>;
509
+ enableCrossEnvNetworking?: pulumi.Input<boolean | undefined>;
485
510
  /**
486
511
  * Maximum number of instances
487
512
  */
488
- maxCapacity?: pulumi.Input<number>;
513
+ maxCapacity?: pulumi.Input<number | undefined>;
489
514
  /**
490
515
  * Minimum number of instances
491
516
  */
492
- minCapacity?: pulumi.Input<number>;
517
+ minCapacity?: pulumi.Input<number | undefined>;
493
518
  /**
494
519
  * Spot instance strategy configuration for controlling cost vs reliability. Spot instances provide significant cost savings (~70%) but may be interrupted by AWS. Available for non-production environments.
495
520
  */
496
- spotConfiguration?: pulumi.Input<inputs.EnvironmentComposeDefinitionSpotConfiguration>;
521
+ spotConfiguration?: pulumi.Input<inputs.EnvironmentComposeDefinitionSpotConfiguration | undefined>;
497
522
  /**
498
523
  * Task-level CPU units (e.g., 256, 512, 1024)
499
524
  */
500
- taskCpu?: pulumi.Input<number>;
525
+ taskCpu?: pulumi.Input<number | undefined>;
501
526
  /**
502
527
  * Task-level memory in MB
503
528
  */
504
- taskMemory?: pulumi.Input<number>;
529
+ taskMemory?: pulumi.Input<number | undefined>;
505
530
  }
506
531
  export interface EnvironmentComposeDefinitionContainer {
507
- commands?: pulumi.Input<pulumi.Input<string>[]>;
532
+ commands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
508
533
  /**
509
534
  * Container-level CPU units
510
535
  */
511
- cpu?: pulumi.Input<number>;
536
+ cpu?: pulumi.Input<number | undefined>;
512
537
  /**
513
538
  * Container startup dependencies
514
539
  */
515
- dependsOns?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerDependsOn>[]>;
516
- entryPoints?: pulumi.Input<pulumi.Input<string>[]>;
540
+ dependsOns?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerDependsOn>[] | undefined>;
541
+ entryPoints?: pulumi.Input<pulumi.Input<string>[] | undefined>;
517
542
  /**
518
543
  * Environment variables specific to this container
519
544
  */
520
- environments?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerEnvironment>[]>;
521
- essential?: pulumi.Input<boolean>;
545
+ environments?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerEnvironment>[] | undefined>;
546
+ essential?: pulumi.Input<boolean | undefined>;
522
547
  /**
523
548
  * List of container ports to expose
524
549
  */
525
- exposedPorts?: pulumi.Input<pulumi.Input<number>[]>;
550
+ exposedPorts?: pulumi.Input<pulumi.Input<number>[] | undefined>;
526
551
  /**
527
552
  * Container health check configuration
528
553
  */
529
- healthCheck?: pulumi.Input<inputs.EnvironmentComposeDefinitionContainerHealthCheck>;
554
+ healthCheck?: pulumi.Input<inputs.EnvironmentComposeDefinitionContainerHealthCheck | undefined>;
530
555
  imageReference: pulumi.Input<inputs.EnvironmentComposeDefinitionContainerImageReference>;
531
556
  /**
532
557
  * Container-level memory hard limit (MiB)
533
558
  */
534
- memory?: pulumi.Input<number>;
559
+ memory?: pulumi.Input<number | undefined>;
535
560
  /**
536
561
  * Container-level memory soft limit (MiB)
537
562
  */
538
- memoryReservation?: pulumi.Input<number>;
539
- mountPoints?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerMountPoint>[]>;
563
+ memoryReservation?: pulumi.Input<number | undefined>;
564
+ mountPoints?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerMountPoint>[] | undefined>;
540
565
  /**
541
566
  * Name of the container
542
567
  */
@@ -544,24 +569,24 @@ export interface EnvironmentComposeDefinitionContainer {
544
569
  /**
545
570
  * Enable origin protection for all exposed ports on this container. Use originProtectionConfig for advanced options like IP allow lists.
546
571
  */
547
- originProtection?: pulumi.Input<boolean>;
572
+ originProtection?: pulumi.Input<boolean | undefined>;
548
573
  /**
549
574
  * Extended origin protection configuration with IP allow list support
550
575
  */
551
- originProtectionConfig?: pulumi.Input<inputs.EnvironmentComposeDefinitionContainerOriginProtectionConfig>;
552
- readonlyRootFilesystem?: pulumi.Input<boolean>;
576
+ originProtectionConfig?: pulumi.Input<inputs.EnvironmentComposeDefinitionContainerOriginProtectionConfig | undefined>;
577
+ readonlyRootFilesystem?: pulumi.Input<boolean | undefined>;
553
578
  /**
554
579
  * Secrets mapped to environment variables
555
580
  */
556
- secrets?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerSecret>[]>;
557
- user?: pulumi.Input<string>;
558
- workingDirectory?: pulumi.Input<string>;
581
+ secrets?: pulumi.Input<pulumi.Input<inputs.EnvironmentComposeDefinitionContainerSecret>[] | undefined>;
582
+ user?: pulumi.Input<string | undefined>;
583
+ workingDirectory?: pulumi.Input<string | undefined>;
559
584
  }
560
585
  export interface EnvironmentComposeDefinitionContainerDependsOn {
561
586
  /**
562
587
  * The condition to wait for on the dependency
563
588
  */
564
- condition?: pulumi.Input<string>;
589
+ condition?: pulumi.Input<string | undefined>;
565
590
  /**
566
591
  * The name of the container this container depends on
567
592
  */
@@ -581,23 +606,23 @@ export interface EnvironmentComposeDefinitionContainerHealthCheck {
581
606
  /**
582
607
  * The command to run to determine if the container is healthy
583
608
  */
584
- commands?: pulumi.Input<pulumi.Input<string>[]>;
609
+ commands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
585
610
  /**
586
611
  * Time period (seconds) between health checks
587
612
  */
588
- interval?: pulumi.Input<number>;
613
+ interval?: pulumi.Input<number | undefined>;
589
614
  /**
590
615
  * Number of times to retry a failed health check
591
616
  */
592
- retries?: pulumi.Input<number>;
617
+ retries?: pulumi.Input<number | undefined>;
593
618
  /**
594
619
  * Grace period (seconds) to ignore unhealthy checks after container starts
595
620
  */
596
- startPeriod?: pulumi.Input<number>;
621
+ startPeriod?: pulumi.Input<number | undefined>;
597
622
  /**
598
623
  * Time period (seconds) to wait for a health check to return
599
624
  */
600
- timeout?: pulumi.Input<number>;
625
+ timeout?: pulumi.Input<number | undefined>;
601
626
  }
602
627
  export interface EnvironmentComposeDefinitionContainerImageReference {
603
628
  /**
@@ -614,7 +639,7 @@ export interface EnvironmentComposeDefinitionContainerMountPoint {
614
639
  * The path inside the container where the volume is mounted
615
640
  */
616
641
  containerPath: pulumi.Input<string>;
617
- readOnly?: pulumi.Input<boolean>;
642
+ readOnly?: pulumi.Input<boolean | undefined>;
618
643
  /**
619
644
  * The name of the logical volume
620
645
  */
@@ -624,11 +649,15 @@ export interface EnvironmentComposeDefinitionContainerOriginProtectionConfig {
624
649
  /**
625
650
  * Whether origin protection is enabled. Defaults to true if this config object is provided.
626
651
  */
627
- enabled?: pulumi.Input<boolean>;
652
+ enabled?: pulumi.Input<boolean | undefined>;
628
653
  /**
629
654
  * List of IP addresses or CIDR ranges that can bypass origin protection for direct access (e.g., VPN IPs)
630
655
  */
631
- ipAllows?: pulumi.Input<pulumi.Input<string>[]>;
656
+ ipAllows?: pulumi.Input<pulumi.Input<string>[] | undefined>;
657
+ /**
658
+ * Optional bare host (e.g. www.example.com). When set, requests denied by origin protection are 302-redirected to https://<redirectHost> with path and query preserved, instead of receiving a 403. Allowed IPs and valid-header (CDN) traffic are unaffected.
659
+ */
660
+ redirectHost?: pulumi.Input<string | undefined>;
632
661
  }
633
662
  export interface EnvironmentComposeDefinitionContainerSecret {
634
663
  /**
@@ -644,25 +673,25 @@ export interface EnvironmentComposeDefinitionSpotConfiguration {
644
673
  /**
645
674
  * Spot instance strategy. 'off' = On-Demand only (highest reliability, no savings). 'spot-only' = 100% Spot instances (~70% savings, default for non-prod). 'mixed-safe' = 50% Spot instances (~35% savings, requires multiple instances). 'mixed-aggressive' = 80% Spot instances (~56% savings, requires multiple instances).
646
675
  */
647
- strategy?: pulumi.Input<string>;
676
+ strategy?: pulumi.Input<string | undefined>;
648
677
  }
649
678
  export interface EnvironmentCron {
650
- commands?: pulumi.Input<pulumi.Input<string>[]>;
651
- description?: pulumi.Input<string>;
652
- isEnabled?: pulumi.Input<boolean>;
653
- name?: pulumi.Input<string>;
654
- scheduleExpression?: pulumi.Input<string>;
655
- targetContainerName?: pulumi.Input<string>;
679
+ commands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
680
+ description?: pulumi.Input<string | undefined>;
681
+ isEnabled?: pulumi.Input<boolean | undefined>;
682
+ name?: pulumi.Input<string | undefined>;
683
+ scheduleExpression?: pulumi.Input<string | undefined>;
684
+ targetContainerName?: pulumi.Input<string | undefined>;
656
685
  }
657
686
  export interface EnvironmentEnvironment {
658
687
  /**
659
688
  * Variable name
660
689
  */
661
- name?: pulumi.Input<string>;
690
+ name?: pulumi.Input<string | undefined>;
662
691
  /**
663
692
  * Variable value
664
693
  */
665
- value?: pulumi.Input<string>;
694
+ value?: pulumi.Input<string | undefined>;
666
695
  }
667
696
  export interface EnvironmentLoadBalancer {
668
697
  }
@@ -674,21 +703,21 @@ export interface EnvironmentSpotConfiguration {
674
703
  /**
675
704
  * Spot instance strategy. 'off' = On-Demand only (highest reliability, no savings). 'spot-only' = 100% Spot instances (~70% savings, default for non-prod). 'mixed-safe' = 50% Spot instances (~35% savings, requires multiple instances). 'mixed-aggressive' = 80% Spot instances (~56% savings, requires multiple instances).
676
705
  */
677
- strategy?: pulumi.Input<string>;
706
+ strategy?: pulumi.Input<string | undefined>;
678
707
  }
679
708
  export interface EnvironmentSubnet {
680
709
  }
681
710
  export interface EnvironmentTaskDefinition {
682
711
  }
683
712
  export interface EnvironmentVolume {
684
- accessPointArn?: pulumi.Input<string>;
685
- accessPointId?: pulumi.Input<string>;
686
- createdAt?: pulumi.Input<string>;
687
- description?: pulumi.Input<string>;
688
- environmentEfsId?: pulumi.Input<string>;
689
- rootDirectory?: pulumi.Input<string>;
690
- volumeId?: pulumi.Input<string>;
691
- volumeName?: pulumi.Input<string>;
713
+ accessPointArn?: pulumi.Input<string | undefined>;
714
+ accessPointId?: pulumi.Input<string | undefined>;
715
+ createdAt?: pulumi.Input<string | undefined>;
716
+ description?: pulumi.Input<string | undefined>;
717
+ environmentEfsId?: pulumi.Input<string | undefined>;
718
+ rootDirectory?: pulumi.Input<string | undefined>;
719
+ volumeId?: pulumi.Input<string | undefined>;
720
+ volumeName?: pulumi.Input<string | undefined>;
692
721
  }
693
722
  export interface EnvironmentVpc {
694
723
  }
@@ -696,47 +725,47 @@ export interface RuleAuthActionConfig {
696
725
  /**
697
726
  * Authentication password
698
727
  */
699
- authPass?: pulumi.Input<string>;
728
+ authPass?: pulumi.Input<string | undefined>;
700
729
  /**
701
730
  * Authentication username
702
731
  */
703
- authUser?: pulumi.Input<string>;
732
+ authUser?: pulumi.Input<string | undefined>;
704
733
  }
705
734
  export interface RuleBotChallengeActionConfig {
706
735
  /**
707
736
  * Challenge TTL in seconds
708
737
  */
709
- robotChallengeChallengeTtl?: pulumi.Input<number>;
738
+ robotChallengeChallengeTtl?: pulumi.Input<number | undefined>;
710
739
  /**
711
740
  * Challenge type (invisible or checkbox)
712
741
  */
713
- robotChallengeType?: pulumi.Input<string>;
742
+ robotChallengeType?: pulumi.Input<string | undefined>;
714
743
  /**
715
744
  * Verification TTL in seconds
716
745
  */
717
- robotChallengeVerificationTtl?: pulumi.Input<number>;
746
+ robotChallengeVerificationTtl?: pulumi.Input<number | undefined>;
718
747
  }
719
748
  export interface RuleContentFilterActionConfig {
720
749
  /**
721
750
  * Function UUID
722
751
  */
723
- fnUuid?: pulumi.Input<string>;
752
+ fnUuid?: pulumi.Input<string | undefined>;
724
753
  }
725
754
  export interface RuleCustomResponseActionConfig {
726
755
  /**
727
756
  * Custom response body content
728
757
  */
729
- customResponseBody?: pulumi.Input<string>;
758
+ customResponseBody?: pulumi.Input<string | undefined>;
730
759
  /**
731
760
  * HTTP status code for custom response
732
761
  */
733
- customResponseStatusCode?: pulumi.Input<number>;
762
+ customResponseStatusCode?: pulumi.Input<number | undefined>;
734
763
  }
735
764
  export interface RuleFunctionActionConfig {
736
765
  /**
737
766
  * Function UUID
738
767
  */
739
- fnUuid?: pulumi.Input<string>;
768
+ fnUuid?: pulumi.Input<string | undefined>;
740
769
  }
741
770
  export interface RuleHeadersActionConfig {
742
771
  /**
@@ -744,470 +773,470 @@ export interface RuleHeadersActionConfig {
744
773
  */
745
774
  headers?: pulumi.Input<{
746
775
  [key: string]: pulumi.Input<string>;
747
- }>;
776
+ } | undefined>;
748
777
  }
749
778
  export interface RuleProxyActionConfig {
750
779
  /**
751
780
  * Quant Cloud application container (required when applicationProxy is true)
752
781
  */
753
- applicationContainer?: pulumi.Input<string>;
782
+ applicationContainer?: pulumi.Input<string | undefined>;
754
783
  /**
755
784
  * Quant Cloud application environment (required when applicationProxy is true)
756
785
  */
757
- applicationEnvironment?: pulumi.Input<string>;
786
+ applicationEnvironment?: pulumi.Input<string | undefined>;
758
787
  /**
759
788
  * Quant Cloud application name (required when applicationProxy is true)
760
789
  */
761
- applicationName?: pulumi.Input<string>;
790
+ applicationName?: pulumi.Input<string | undefined>;
762
791
  /**
763
792
  * Quant Cloud application port (required when applicationProxy is true)
764
793
  */
765
- applicationPort?: pulumi.Input<number>;
794
+ applicationPort?: pulumi.Input<number | undefined>;
766
795
  /**
767
796
  * Enable Quant Cloud application proxy mode
768
797
  */
769
- applicationProxy?: pulumi.Input<boolean>;
798
+ applicationProxy?: pulumi.Input<boolean | undefined>;
770
799
  /**
771
800
  * Basic auth password
772
801
  */
773
- authPass?: pulumi.Input<string>;
802
+ authPass?: pulumi.Input<string | undefined>;
774
803
  /**
775
804
  * Basic auth username
776
805
  */
777
- authUser?: pulumi.Input<string>;
806
+ authUser?: pulumi.Input<string | undefined>;
778
807
  /**
779
808
  * Cache lifetime
780
809
  */
781
- cacheLifetime?: pulumi.Input<string>;
810
+ cacheLifetime?: pulumi.Input<string | undefined>;
782
811
  /**
783
812
  * Disable SSL verification
784
813
  */
785
- disableSslVerify?: pulumi.Input<boolean>;
814
+ disableSslVerify?: pulumi.Input<boolean | undefined>;
786
815
  /**
787
816
  * Failover cache lifetime
788
817
  */
789
- failoverLifetime?: pulumi.Input<string>;
818
+ failoverLifetime?: pulumi.Input<string | undefined>;
790
819
  /**
791
820
  * Enable failover mode
792
821
  */
793
- failoverMode?: pulumi.Input<boolean>;
822
+ failoverMode?: pulumi.Input<boolean | undefined>;
794
823
  /**
795
824
  * Status codes for failover (default: 200,404,301,302,304)
796
825
  */
797
- failoverOriginStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
826
+ failoverOriginStatusCodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
798
827
  /**
799
828
  * Failover TTFB threshold
800
829
  */
801
- failoverOriginTtfb?: pulumi.Input<string>;
830
+ failoverOriginTtfb?: pulumi.Input<string | undefined>;
802
831
  /**
803
832
  * Host header override
804
833
  */
805
- host?: pulumi.Input<string>;
834
+ host?: pulumi.Input<string | undefined>;
806
835
  /**
807
836
  * Headers to inject
808
837
  */
809
838
  injectHeaders?: pulumi.Input<{
810
839
  [key: string]: pulumi.Input<string>;
811
- }>;
840
+ } | undefined>;
812
841
  /**
813
842
  * Notification type (none, slack)
814
843
  */
815
- notify?: pulumi.Input<string>;
844
+ notify?: pulumi.Input<string | undefined>;
816
845
  /**
817
846
  * Notification configuration (required when notify is slack)
818
847
  */
819
- notifyConfig?: pulumi.Input<inputs.RuleProxyActionConfigNotifyConfig>;
848
+ notifyConfig?: pulumi.Input<inputs.RuleProxyActionConfigNotifyConfig | undefined>;
820
849
  /**
821
850
  * Only proxy 404 responses
822
851
  */
823
- onlyProxy404?: pulumi.Input<boolean>;
852
+ onlyProxy404?: pulumi.Input<boolean | undefined>;
824
853
  /**
825
854
  * Origin timeout
826
855
  */
827
- originTimeout?: pulumi.Input<string>;
856
+ originTimeout?: pulumi.Input<string | undefined>;
828
857
  /**
829
858
  * Proxy alert enabled
830
859
  */
831
- proxyAlertEnabled?: pulumi.Input<boolean>;
860
+ proxyAlertEnabled?: pulumi.Input<boolean | undefined>;
832
861
  /**
833
862
  * Proxy inline function enabled
834
863
  */
835
- proxyInlineFnEnabled?: pulumi.Input<boolean>;
864
+ proxyInlineFnEnabled?: pulumi.Input<boolean | undefined>;
836
865
  /**
837
866
  * Headers to strip from response
838
867
  */
839
- proxyStripHeaders?: pulumi.Input<pulumi.Input<string>[]>;
868
+ proxyStripHeaders?: pulumi.Input<pulumi.Input<string>[] | undefined>;
840
869
  /**
841
870
  * Headers to strip from request
842
871
  */
843
- proxyStripRequestHeaders?: pulumi.Input<pulumi.Input<string>[]>;
872
+ proxyStripRequestHeaders?: pulumi.Input<pulumi.Input<string>[] | undefined>;
844
873
  /**
845
874
  * Quant Cloud application proxy selection (populated automatically when applicationProxy is enabled)
846
875
  */
847
- quantCloudSelection?: pulumi.Input<inputs.RuleProxyActionConfigQuantCloudSelection>;
876
+ quantCloudSelection?: pulumi.Input<inputs.RuleProxyActionConfigQuantCloudSelection | undefined>;
848
877
  /**
849
878
  * Static error page content (HTML) to serve on origin errors
850
879
  */
851
- staticErrorPage?: pulumi.Input<string>;
880
+ staticErrorPage?: pulumi.Input<string | undefined>;
852
881
  /**
853
882
  * Origin status codes that trigger static error page
854
883
  */
855
- staticErrorPageStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
884
+ staticErrorPageStatusCodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
856
885
  /**
857
886
  * Target URL to proxy to
858
887
  */
859
- to?: pulumi.Input<string>;
888
+ to?: pulumi.Input<string | undefined>;
860
889
  /**
861
890
  * Web Application Firewall configuration
862
891
  */
863
- wafConfig?: pulumi.Input<inputs.RuleProxyActionConfigWafConfig>;
892
+ wafConfig?: pulumi.Input<inputs.RuleProxyActionConfigWafConfig | undefined>;
864
893
  /**
865
894
  * WAF enabled
866
895
  */
867
- wafEnabled?: pulumi.Input<boolean>;
896
+ wafEnabled?: pulumi.Input<boolean | undefined>;
868
897
  }
869
898
  export interface RuleProxyActionConfigNotifyConfig {
870
899
  /**
871
900
  * Slack webhook URL
872
901
  */
873
- webhookUrl?: pulumi.Input<string>;
902
+ webhookUrl?: pulumi.Input<string | undefined>;
874
903
  }
875
904
  export interface RuleProxyActionConfigQuantCloudSelection {
876
905
  /**
877
906
  * Application name
878
907
  */
879
- app?: pulumi.Input<string>;
908
+ app?: pulumi.Input<string | undefined>;
880
909
  /**
881
910
  * Container name
882
911
  */
883
- container?: pulumi.Input<string>;
912
+ container?: pulumi.Input<string | undefined>;
884
913
  /**
885
914
  * Environment name
886
915
  */
887
- env?: pulumi.Input<string>;
916
+ env?: pulumi.Input<string | undefined>;
888
917
  /**
889
918
  * Container port
890
919
  */
891
- port?: pulumi.Input<number>;
920
+ port?: pulumi.Input<number | undefined>;
892
921
  }
893
922
  export interface RuleProxyActionConfigWafConfig {
894
923
  /**
895
924
  * IP addresses to allow
896
925
  */
897
- allowIps?: pulumi.Input<pulumi.Input<string>[]>;
926
+ allowIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
898
927
  /**
899
928
  * WAF rule IDs to allow/whitelist
900
929
  */
901
- allowRules?: pulumi.Input<pulumi.Input<string>[]>;
930
+ allowRules?: pulumi.Input<pulumi.Input<string>[] | undefined>;
902
931
  /**
903
932
  * ASN numbers to block
904
933
  */
905
- blockAsns?: pulumi.Input<pulumi.Input<string>[]>;
934
+ blockAsns?: pulumi.Input<pulumi.Input<string>[] | undefined>;
906
935
  /**
907
936
  * IP addresses to block
908
937
  */
909
- blockIps?: pulumi.Input<pulumi.Input<string>[]>;
938
+ blockIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
910
939
  /**
911
940
  * Enable predefined block lists
912
941
  */
913
- blockLists?: pulumi.Input<inputs.RuleProxyActionConfigWafConfigBlockLists>;
942
+ blockLists?: pulumi.Input<inputs.RuleProxyActionConfigWafConfigBlockLists | undefined>;
914
943
  /**
915
944
  * Referer patterns to block
916
945
  */
917
- blockReferers?: pulumi.Input<pulumi.Input<string>[]>;
946
+ blockReferers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
918
947
  /**
919
948
  * User agent patterns to block
920
949
  */
921
- blockUas?: pulumi.Input<pulumi.Input<string>[]>;
950
+ blockUas?: pulumi.Input<pulumi.Input<string>[] | undefined>;
922
951
  /**
923
952
  * Project Honey Pot HTTP:BL configuration
924
953
  */
925
- httpbl?: pulumi.Input<inputs.RuleProxyActionConfigWafConfigHttpbl>;
954
+ httpbl?: pulumi.Input<inputs.RuleProxyActionConfigWafConfigHttpbl | undefined>;
926
955
  /**
927
956
  * WAF operation mode
928
957
  */
929
- mode?: pulumi.Input<string>;
958
+ mode?: pulumi.Input<string | undefined>;
930
959
  /**
931
960
  * Email addresses for notifications
932
961
  */
933
- notifyEmails?: pulumi.Input<pulumi.Input<string>[]>;
962
+ notifyEmails?: pulumi.Input<pulumi.Input<string>[] | undefined>;
934
963
  /**
935
964
  * Slack webhook URL for notifications
936
965
  */
937
- notifySlack?: pulumi.Input<string>;
966
+ notifySlack?: pulumi.Input<string | undefined>;
938
967
  /**
939
968
  * Minimum hits per minute to trigger Slack notification
940
969
  */
941
- notifySlackHitsRpm?: pulumi.Input<number>;
970
+ notifySlackHitsRpm?: pulumi.Input<number | undefined>;
942
971
  /**
943
972
  * OWASP paranoia level
944
973
  */
945
- paranoiaLevel?: pulumi.Input<number>;
974
+ paranoiaLevel?: pulumi.Input<number | undefined>;
946
975
  /**
947
976
  * Rate limiting thresholds
948
977
  */
949
- thresholds?: pulumi.Input<pulumi.Input<inputs.RuleProxyActionConfigWafConfigThreshold>[]>;
978
+ thresholds?: pulumi.Input<pulumi.Input<inputs.RuleProxyActionConfigWafConfigThreshold>[] | undefined>;
950
979
  }
951
980
  export interface RuleProxyActionConfigWafConfigBlockLists {
952
981
  /**
953
982
  * Block AI crawlers
954
983
  */
955
- ai?: pulumi.Input<boolean>;
984
+ ai?: pulumi.Input<boolean | undefined>;
956
985
  /**
957
986
  * Block known bad IPs
958
987
  */
959
- ip?: pulumi.Input<boolean>;
988
+ ip?: pulumi.Input<boolean | undefined>;
960
989
  /**
961
990
  * Block known bad referers
962
991
  */
963
- referer?: pulumi.Input<boolean>;
992
+ referer?: pulumi.Input<boolean | undefined>;
964
993
  /**
965
994
  * Block known bad user agents
966
995
  */
967
- userAgent?: pulumi.Input<boolean>;
996
+ userAgent?: pulumi.Input<boolean | undefined>;
968
997
  }
969
998
  export interface RuleProxyActionConfigWafConfigHttpbl {
970
999
  /**
971
1000
  * Block email harvesters
972
1001
  */
973
- blockHarvester?: pulumi.Input<boolean>;
1002
+ blockHarvester?: pulumi.Input<boolean | undefined>;
974
1003
  /**
975
1004
  * Block search engines
976
1005
  */
977
- blockSearchEngine?: pulumi.Input<boolean>;
1006
+ blockSearchEngine?: pulumi.Input<boolean | undefined>;
978
1007
  /**
979
1008
  * Block spam sources
980
1009
  */
981
- blockSpam?: pulumi.Input<boolean>;
1010
+ blockSpam?: pulumi.Input<boolean | undefined>;
982
1011
  /**
983
1012
  * Block suspicious IPs
984
1013
  */
985
- blockSuspicious?: pulumi.Input<boolean>;
1014
+ blockSuspicious?: pulumi.Input<boolean | undefined>;
986
1015
  /**
987
1016
  * Enable HTTP:BL
988
1017
  */
989
- httpblEnabled?: pulumi.Input<boolean>;
1018
+ httpblEnabled?: pulumi.Input<boolean | undefined>;
990
1019
  /**
991
1020
  * HTTP:BL API key
992
1021
  */
993
- httpblKey?: pulumi.Input<string>;
1022
+ httpblKey?: pulumi.Input<string | undefined>;
994
1023
  }
995
1024
  export interface RuleProxyActionConfigWafConfigThreshold {
996
1025
  /**
997
1026
  * Cooldown period in seconds
998
1027
  */
999
- cooldown?: pulumi.Input<number>;
1028
+ cooldown?: pulumi.Input<number | undefined>;
1000
1029
  /**
1001
1030
  * Hit count limit (for waf_hit_by_ip)
1002
1031
  */
1003
- hits?: pulumi.Input<number>;
1032
+ hits?: pulumi.Input<number | undefined>;
1004
1033
  /**
1005
1034
  * Time window in minutes (for waf_hit_by_ip)
1006
1035
  */
1007
- minutes?: pulumi.Input<number>;
1036
+ minutes?: pulumi.Input<number | undefined>;
1008
1037
  /**
1009
1038
  * Threshold enforcement mode
1010
1039
  */
1011
- mode?: pulumi.Input<string>;
1040
+ mode?: pulumi.Input<string | undefined>;
1012
1041
  /**
1013
1042
  * Slack webhook for this threshold
1014
1043
  */
1015
- notifySlack?: pulumi.Input<string>;
1044
+ notifySlack?: pulumi.Input<string | undefined>;
1016
1045
  /**
1017
1046
  * Requests per second limit (for ip/header)
1018
1047
  */
1019
- rps?: pulumi.Input<number>;
1048
+ rps?: pulumi.Input<number | undefined>;
1020
1049
  /**
1021
1050
  * Threshold type
1022
1051
  */
1023
- type?: pulumi.Input<string>;
1052
+ type?: pulumi.Input<string | undefined>;
1024
1053
  /**
1025
1054
  * Header name (for header type)
1026
1055
  */
1027
- value?: pulumi.Input<string>;
1056
+ value?: pulumi.Input<string | undefined>;
1028
1057
  }
1029
1058
  export interface RuleProxyWafConfig {
1030
1059
  /**
1031
1060
  * IP addresses to allow
1032
1061
  */
1033
- allowIps?: pulumi.Input<pulumi.Input<string>[]>;
1062
+ allowIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1034
1063
  /**
1035
1064
  * WAF rule IDs to allow/whitelist
1036
1065
  */
1037
- allowRules?: pulumi.Input<pulumi.Input<string>[]>;
1066
+ allowRules?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1038
1067
  /**
1039
1068
  * ASN numbers to block
1040
1069
  */
1041
- blockAsns?: pulumi.Input<pulumi.Input<string>[]>;
1070
+ blockAsns?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1042
1071
  /**
1043
1072
  * IP addresses to block
1044
1073
  */
1045
- blockIps?: pulumi.Input<pulumi.Input<string>[]>;
1074
+ blockIps?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1046
1075
  /**
1047
1076
  * Enable predefined block lists
1048
1077
  */
1049
- blockLists?: pulumi.Input<inputs.RuleProxyWafConfigBlockLists>;
1078
+ blockLists?: pulumi.Input<inputs.RuleProxyWafConfigBlockLists | undefined>;
1050
1079
  /**
1051
1080
  * Referer patterns to block
1052
1081
  */
1053
- blockReferers?: pulumi.Input<pulumi.Input<string>[]>;
1082
+ blockReferers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1054
1083
  /**
1055
1084
  * User agent patterns to block
1056
1085
  */
1057
- blockUas?: pulumi.Input<pulumi.Input<string>[]>;
1086
+ blockUas?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1058
1087
  /**
1059
1088
  * Project Honey Pot HTTP:BL configuration
1060
1089
  */
1061
- httpbl?: pulumi.Input<inputs.RuleProxyWafConfigHttpbl>;
1090
+ httpbl?: pulumi.Input<inputs.RuleProxyWafConfigHttpbl | undefined>;
1062
1091
  /**
1063
1092
  * WAF operation mode
1064
1093
  */
1065
- mode?: pulumi.Input<string>;
1094
+ mode?: pulumi.Input<string | undefined>;
1066
1095
  /**
1067
1096
  * Email addresses for notifications
1068
1097
  */
1069
- notifyEmails?: pulumi.Input<pulumi.Input<string>[]>;
1098
+ notifyEmails?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1070
1099
  /**
1071
1100
  * Slack webhook URL for notifications
1072
1101
  */
1073
- notifySlack?: pulumi.Input<string>;
1102
+ notifySlack?: pulumi.Input<string | undefined>;
1074
1103
  /**
1075
1104
  * Minimum hits per minute to trigger Slack notification
1076
1105
  */
1077
- notifySlackHitsRpm?: pulumi.Input<number>;
1106
+ notifySlackHitsRpm?: pulumi.Input<number | undefined>;
1078
1107
  /**
1079
1108
  * OWASP paranoia level
1080
1109
  */
1081
- paranoiaLevel?: pulumi.Input<number>;
1110
+ paranoiaLevel?: pulumi.Input<number | undefined>;
1082
1111
  /**
1083
1112
  * Rate limiting thresholds
1084
1113
  */
1085
- thresholds?: pulumi.Input<pulumi.Input<inputs.RuleProxyWafConfigThreshold>[]>;
1114
+ thresholds?: pulumi.Input<pulumi.Input<inputs.RuleProxyWafConfigThreshold>[] | undefined>;
1086
1115
  }
1087
1116
  export interface RuleProxyWafConfigBlockLists {
1088
1117
  /**
1089
1118
  * Block AI crawlers
1090
1119
  */
1091
- ai?: pulumi.Input<boolean>;
1120
+ ai?: pulumi.Input<boolean | undefined>;
1092
1121
  /**
1093
1122
  * Block known bad IPs
1094
1123
  */
1095
- ip?: pulumi.Input<boolean>;
1124
+ ip?: pulumi.Input<boolean | undefined>;
1096
1125
  /**
1097
1126
  * Block known bad referers
1098
1127
  */
1099
- referer?: pulumi.Input<boolean>;
1128
+ referer?: pulumi.Input<boolean | undefined>;
1100
1129
  /**
1101
1130
  * Block known bad user agents
1102
1131
  */
1103
- userAgent?: pulumi.Input<boolean>;
1132
+ userAgent?: pulumi.Input<boolean | undefined>;
1104
1133
  }
1105
1134
  export interface RuleProxyWafConfigHttpbl {
1106
1135
  /**
1107
1136
  * Block email harvesters
1108
1137
  */
1109
- blockHarvester?: pulumi.Input<boolean>;
1138
+ blockHarvester?: pulumi.Input<boolean | undefined>;
1110
1139
  /**
1111
1140
  * Block search engines
1112
1141
  */
1113
- blockSearchEngine?: pulumi.Input<boolean>;
1142
+ blockSearchEngine?: pulumi.Input<boolean | undefined>;
1114
1143
  /**
1115
1144
  * Block spam sources
1116
1145
  */
1117
- blockSpam?: pulumi.Input<boolean>;
1146
+ blockSpam?: pulumi.Input<boolean | undefined>;
1118
1147
  /**
1119
1148
  * Block suspicious IPs
1120
1149
  */
1121
- blockSuspicious?: pulumi.Input<boolean>;
1150
+ blockSuspicious?: pulumi.Input<boolean | undefined>;
1122
1151
  /**
1123
1152
  * Enable HTTP:BL
1124
1153
  */
1125
- httpblEnabled?: pulumi.Input<boolean>;
1154
+ httpblEnabled?: pulumi.Input<boolean | undefined>;
1126
1155
  /**
1127
1156
  * HTTP:BL API key
1128
1157
  */
1129
- httpblKey?: pulumi.Input<string>;
1158
+ httpblKey?: pulumi.Input<string | undefined>;
1130
1159
  }
1131
1160
  export interface RuleProxyWafConfigThreshold {
1132
1161
  /**
1133
1162
  * Cooldown period in seconds
1134
1163
  */
1135
- cooldown?: pulumi.Input<number>;
1164
+ cooldown?: pulumi.Input<number | undefined>;
1136
1165
  /**
1137
1166
  * Hit count limit (for waf_hit_by_ip)
1138
1167
  */
1139
- hits?: pulumi.Input<number>;
1168
+ hits?: pulumi.Input<number | undefined>;
1140
1169
  /**
1141
1170
  * Time window in minutes (for waf_hit_by_ip)
1142
1171
  */
1143
- minutes?: pulumi.Input<number>;
1172
+ minutes?: pulumi.Input<number | undefined>;
1144
1173
  /**
1145
1174
  * Threshold enforcement mode
1146
1175
  */
1147
- mode?: pulumi.Input<string>;
1176
+ mode?: pulumi.Input<string | undefined>;
1148
1177
  /**
1149
1178
  * Slack webhook for this threshold
1150
1179
  */
1151
- notifySlack?: pulumi.Input<string>;
1180
+ notifySlack?: pulumi.Input<string | undefined>;
1152
1181
  /**
1153
1182
  * Requests per second limit (for ip/header)
1154
1183
  */
1155
- rps?: pulumi.Input<number>;
1184
+ rps?: pulumi.Input<number | undefined>;
1156
1185
  /**
1157
1186
  * Threshold type
1158
1187
  */
1159
- type?: pulumi.Input<string>;
1188
+ type?: pulumi.Input<string | undefined>;
1160
1189
  /**
1161
1190
  * Header name (for header type)
1162
1191
  */
1163
- value?: pulumi.Input<string>;
1192
+ value?: pulumi.Input<string | undefined>;
1164
1193
  }
1165
1194
  export interface RuleRedirectActionConfig {
1166
1195
  /**
1167
1196
  * HTTP status code for redirect
1168
1197
  */
1169
- statusCode?: pulumi.Input<string>;
1198
+ statusCode?: pulumi.Input<string | undefined>;
1170
1199
  /**
1171
1200
  * Redirect destination URL
1172
1201
  */
1173
- to?: pulumi.Input<string>;
1202
+ to?: pulumi.Input<string | undefined>;
1174
1203
  }
1175
1204
  export interface RuleServeStaticActionConfig {
1176
1205
  /**
1177
1206
  * Path to the static file to serve
1178
1207
  */
1179
- staticFilePath?: pulumi.Input<string>;
1208
+ staticFilePath?: pulumi.Input<string | undefined>;
1180
1209
  }
1181
1210
  export interface SlackBotAgentAccessControl {
1182
1211
  }
1183
1212
  export interface SlackBotBot {
1184
- agentAccessControl?: pulumi.Input<inputs.SlackBotBotAgentAccessControl>;
1185
- allowGuests?: pulumi.Input<boolean>;
1186
- allowedChannels?: pulumi.Input<pulumi.Input<string>[]>;
1187
- allowedCollections?: pulumi.Input<pulumi.Input<string>[]>;
1188
- allowedSubAgents?: pulumi.Input<pulumi.Input<string>[]>;
1189
- allowedTools?: pulumi.Input<pulumi.Input<string>[]>;
1190
- allowedUsers?: pulumi.Input<pulumi.Input<string>[]>;
1191
- assignedSkills?: pulumi.Input<pulumi.Input<string>[]>;
1192
- botId?: pulumi.Input<string>;
1193
- connected?: pulumi.Input<boolean>;
1194
- createdAt?: pulumi.Input<string>;
1195
- deniedUsers?: pulumi.Input<pulumi.Input<string>[]>;
1196
- filterPolicies?: pulumi.Input<pulumi.Input<string>[]>;
1197
- guardrailPreset?: pulumi.Input<string>;
1198
- homeTabContent?: pulumi.Input<string>;
1199
- keywords?: pulumi.Input<pulumi.Input<string>[]>;
1200
- keywordsEnabled?: pulumi.Input<boolean>;
1201
- longContext?: pulumi.Input<boolean>;
1202
- maxTokens?: pulumi.Input<number>;
1203
- modelId?: pulumi.Input<string>;
1204
- name?: pulumi.Input<string>;
1205
- sessionTtlDays?: pulumi.Input<number>;
1206
- setupType?: pulumi.Input<string>;
1207
- status?: pulumi.Input<string>;
1208
- systemPrompt?: pulumi.Input<string>;
1209
- temperature?: pulumi.Input<number>;
1210
- updatedAt?: pulumi.Input<string>;
1213
+ agentAccessControl?: pulumi.Input<inputs.SlackBotBotAgentAccessControl | undefined>;
1214
+ allowGuests?: pulumi.Input<boolean | undefined>;
1215
+ allowedChannels?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1216
+ allowedCollections?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1217
+ allowedSubAgents?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1218
+ allowedTools?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1219
+ allowedUsers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1220
+ assignedSkills?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1221
+ botId?: pulumi.Input<string | undefined>;
1222
+ connected?: pulumi.Input<boolean | undefined>;
1223
+ createdAt?: pulumi.Input<string | undefined>;
1224
+ deniedUsers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1225
+ filterPolicies?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1226
+ guardrailPreset?: pulumi.Input<string | undefined>;
1227
+ homeTabContent?: pulumi.Input<string | undefined>;
1228
+ keywords?: pulumi.Input<pulumi.Input<string>[] | undefined>;
1229
+ keywordsEnabled?: pulumi.Input<boolean | undefined>;
1230
+ longContext?: pulumi.Input<boolean | undefined>;
1231
+ maxTokens?: pulumi.Input<number | undefined>;
1232
+ modelId?: pulumi.Input<string | undefined>;
1233
+ name?: pulumi.Input<string | undefined>;
1234
+ sessionTtlDays?: pulumi.Input<number | undefined>;
1235
+ setupType?: pulumi.Input<string | undefined>;
1236
+ status?: pulumi.Input<string | undefined>;
1237
+ systemPrompt?: pulumi.Input<string | undefined>;
1238
+ temperature?: pulumi.Input<number | undefined>;
1239
+ updatedAt?: pulumi.Input<string | undefined>;
1211
1240
  }
1212
1241
  export interface SlackBotBotAgentAccessControl {
1213
1242
  }