Skip to content

Commit 716c9bd

Browse files
authored
added HidePositionInLine attribute to the waiting room API (#584)
* added HidePositionInLine attribute to the waiting room API * #WR-866 - updated the hide position in line description * #WR-866 - updated the hide position in line description in documentation.
1 parent 9323e40 commit 716c9bd

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

incapsula/client_waiting_room.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type WaitingRoomDTO struct {
3232
Mode string `json:"mode,omitempty"`
3333
BotsActionInQueuingMode string `json:"botsActionInQueuingMode,omitempty"`
3434
QueueInactivityTimeout int `json:"queueInactivityTimeout,omitempty"`
35+
HidePositionInLine bool `json:"hidePositionInLine"`
3536
ThresholdSettings ThresholdSettings `json:"thresholdSettings"`
3637
}
3738

incapsula/resource_waiting_room.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,12 @@ func resourceWaitingRoom() *schema.Resource {
129129
Type: schema.TypeString,
130130
Computed: true,
131131
},
132+
"hide_position_in_line": {
133+
Description: "Enable to hide the user's position in waiting room queue.",
134+
Type: schema.TypeBool,
135+
Optional: true,
136+
Default: false,
137+
},
132138
},
133139
}
134140
}
@@ -153,6 +159,7 @@ func resourceWaitingRoomCreate(ctx context.Context, data *schema.ResourceData, m
153159
Enabled: data.Get("enabled").(bool),
154160
BotsActionInQueuingMode: data.Get("bots_action_in_queuing_mode").(string),
155161
QueueInactivityTimeout: data.Get("queue_inactivity_timeout").(int),
162+
HidePositionInLine: data.Get("hide_position_in_line").(bool),
156163
ThresholdSettings: thresholdSettings,
157164
}
158165

@@ -251,6 +258,7 @@ func resourceWaitingRoomRead(ctx context.Context, data *schema.ResourceData, m i
251258
data.Set("last_modified_at", strconv.FormatInt(waitingRoom.LastModifiedAt, 10))
252259
data.Set("last_modified_by", waitingRoom.LastModifiedBy)
253260
data.Set("mode", waitingRoom.Mode)
261+
data.Set("hide_position_in_line", waitingRoom.HidePositionInLine)
254262

255263
return diags
256264
}
@@ -286,6 +294,7 @@ func resourceWaitingRoomUpdate(ctx context.Context, data *schema.ResourceData, m
286294
Enabled: data.Get("enabled").(bool),
287295
BotsActionInQueuingMode: data.Get("bots_action_in_queuing_mode").(string),
288296
QueueInactivityTimeout: data.Get("queue_inactivity_timeout").(int),
297+
HidePositionInLine: data.Get("hide_position_in_line").(bool),
289298
ThresholdSettings: thresholdSettings,
290299
}
291300

incapsula/resource_waiting_room_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ func TestAccWaitingRoom_Basic(t *testing.T) {
4848
resource.TestCheckResourceAttrSet(waitingRoomResource, "last_modified_at"),
4949
resource.TestCheckResourceAttrSet(waitingRoomResource, "last_modified_by"),
5050
resource.TestCheckResourceAttr(waitingRoomResource, "mode", "NOT_QUEUING"),
51+
resource.TestCheckResourceAttr(waitingRoomResource, "hide_position_in_line", "false"),
5152
),
5253
},
5354
{
@@ -75,6 +76,13 @@ func TestAccWaitingRoom_Basic(t *testing.T) {
7576
resource.TestCheckResourceAttr(waitingRoomResource, "concurrent_sessions_threshold", "50"),
7677
),
7778
},
79+
{
80+
Config: testAccWaitingRoomHidePositionInLine(t),
81+
Check: resource.ComposeTestCheckFunc(
82+
testAccCheckWaitingRoomExists(&waitingRoomDTOResponse),
83+
resource.TestCheckResourceAttr(waitingRoomResource, "hide_position_in_line", "true"),
84+
),
85+
},
7886
{
7987
ResourceName: waitingRoomResource,
8088
ImportState: true,
@@ -157,6 +165,15 @@ func testAccWaitingRoomConcurrentSessionsOnly(t *testing.T, concurrentSessions i
157165
}`, waitingRoomResourceName, waitingRoomConfigName, rand.New(rand.NewSource(time.Now().UnixNano())).Intn(1000), concurrentSessions)
158166
}
159167

168+
func testAccWaitingRoomHidePositionInLine(t *testing.T) string {
169+
return testAccCheckIncapsulaSiteConfigBasic(GenerateTestDomain(t)) + fmt.Sprintf(`
170+
resource "%s" "%s" {
171+
site_id = incapsula_site.testacc-terraform-site.id
172+
name = "testWaitingRoom%d"
173+
hide_position_in_line = "true"
174+
}`, waitingRoomResourceName, waitingRoomConfigName, rand.New(rand.NewSource(time.Now().UnixNano())).Intn(1000))
175+
}
176+
160177
func testAccCheckWaitingRoomThresholds(waitingRoomDTOresponse *WaitingRoomDTO, entranceRate int, concurrentSessions int, inactivityTimeout int, queueInactivityTimeout int) resource.TestCheckFunc {
161178
return func(state *terraform.State) error {
162179
if entranceRate == 0 {

website/docs/r/waiting_room.html.markdown

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ resource "incapsula_waiting_room" "example-waiting-room" {
3131
concurrent_sessions_threshold = 600
3232
inactivity_timeout = 30
3333
queue_inactivity_timeout = 1
34+
hide_position_in_line = true
3435
}
3536
```
3637

@@ -72,6 +73,8 @@ Possible values:
7273

7374
* `queue_inactivity_timeout` - (Optional) Queue inactivity timeout, from 1 to 10 minutes. A user in the waiting room who is inactive for a longer period of time is considered as having left the queue. On returning to the site, the user moves to the end of the queue and needs to wait in line again if the waiting room is active. **Default:** 1 minute.
7475

76+
* `hide_position_in_line` - (Optional) Enable to hide the user's position in waiting room queue. **Default:** false.
77+
7578
## Attributes Reference
7679

7780
The following attributes are exported:
@@ -88,4 +91,4 @@ Waiting rooms can be imported using the waiting room account_id, site_id and wai
8891

8992
```
9093
$ terraform import incapsula_waiting_room.example-waiting-room account_id/site_id/waiting_room_id
91-
```
94+
```

0 commit comments

Comments
 (0)