Skip to content

Commit 6768bb2

Browse files
committed
WR-1797 add wr <> turnstile fields
1 parent 790a4e6 commit 6768bb2

File tree

4 files changed

+46
-0
lines changed

4 files changed

+46
-0
lines changed

docs/resources/waiting_room.md

+5
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ resource "cloudflare_waiting_room" "example" {
3434
queueing_status_code = 200
3535
3636
enabled_origin_commands = ["revoke"]
37+
38+
turnstile_mode = "visible_managed"
39+
turnstile_action = "infinite_queue"
3740
}
3841
```
3942
<!-- schema generated by tfplugindocs -->
@@ -64,6 +67,8 @@ resource "cloudflare_waiting_room" "example" {
6467
- `session_duration` (Number) Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the origin. Defaults to `5`.
6568
- `suspended` (Boolean) Suspends the waiting room.
6669
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
70+
- `turnstile_action` (String) The action to take when an end user fails a Turnstile challenge. Available values: `log`, `infinite_queue`. Defaults to `log`.
71+
- `turnstile_mode` (String) The type of Turnstile widget to use. Available values: `off`, `invisible`, `visible_non_interactive`, `visible_managed`. Defaults to `off`.
6772

6873
### Read-Only
6974

examples/resources/cloudflare_waiting_room/resource.tf

+3
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ resource "cloudflare_waiting_room" "example" {
2020
queueing_status_code = 200
2121

2222
enabled_origin_commands = ["revoke"]
23+
24+
turnstile_mode = "visible_managed"
25+
turnstile_action = "infinite_queue"
2326
}

internal/sdkv2provider/resource_cloudflare_waiting_room.go

+4
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ func buildWaitingRoom(d *schema.ResourceData) cloudflare.WaitingRoom {
6565
AdditionalRoutes: additional_routes,
6666
QueueingStatusCode: d.Get("queueing_status_code").(int),
6767
EnabledOriginCommands: expandInterfaceToStringList(d.Get("enabled_origin_commands").([]interface{})),
68+
TurnstileMode: d.Get("turnstile_mode").(string),
69+
TurnstileAction: d.Get("turnstile_action").(string),
6870
}
6971
}
7072

@@ -121,6 +123,8 @@ func resourceCloudflareWaitingRoomRead(ctx context.Context, d *schema.ResourceDa
121123
d.Set("additional_routes", flattenWaitingRoomAdditionalRoutes(waitingRoom.AdditionalRoutes))
122124
d.Set("queueing_status_code", waitingRoom.QueueingStatusCode)
123125
d.Set("enabled_origin_commands", waitingRoom.EnabledOriginCommands)
126+
d.Set("turnstile_mode", waitingRoom.TurnstileMode)
127+
d.Set("turnstile_action", waitingRoom.TurnstileAction)
124128
return nil
125129
}
126130

internal/sdkv2provider/schema_cloudflare_waiting_room.go

+34
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ var waitingRoomOriginCommands = []string{
6060
"revoke",
6161
}
6262

63+
var waitingRoomTurnstileModes = []string{
64+
"off",
65+
"invisible",
66+
"visible_non_interactive",
67+
"visible_managed",
68+
}
69+
70+
var waitingRoomTurnstileActions = []string{
71+
"log",
72+
"infinite_queue",
73+
}
74+
6375
func resourceCloudflareWaitingRoomSchema() map[string]*schema.Schema {
6476
return map[string]*schema.Schema{
6577
consts.ZoneIDSchemaKey: {
@@ -212,5 +224,27 @@ func resourceCloudflareWaitingRoomSchema() map[string]*schema.Schema {
212224
ValidateFunc: validation.StringInSlice(waitingRoomOriginCommands, false),
213225
},
214226
},
227+
228+
"turnstile_mode": {
229+
Description: fmt.Sprintf("The type of Turnstile widget to use. %s", renderAvailableDocumentationValuesStringSlice(waitingRoomTurnstileModes)),
230+
Type: schema.TypeString,
231+
Optional: true,
232+
Default: "off",
233+
Elem: &schema.Schema{
234+
Type: schema.TypeString,
235+
ValidateFunc: validation.StringInSlice(waitingRoomTurnstileModes, false),
236+
},
237+
},
238+
239+
"turnstile_action": {
240+
Description: fmt.Sprintf("The action to take when an end user fails a Turnstile challenge. %s", renderAvailableDocumentationValuesStringSlice(waitingRoomTurnstileActions)),
241+
Type: schema.TypeString,
242+
Optional: true,
243+
Default: "log",
244+
Elem: &schema.Schema{
245+
Type: schema.TypeString,
246+
ValidateFunc: validation.StringInSlice(waitingRoomTurnstileActions, false),
247+
},
248+
},
215249
}
216250
}

0 commit comments

Comments
 (0)