Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit fe8c29d

Browse files
committedMar 13, 2025
feat(api): api update (#5299)
1 parent 43d8f51 commit fe8c29d

File tree

9 files changed

+8
-490
lines changed

9 files changed

+8
-490
lines changed
 

‎.stats.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 1608
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-8454f8ed48afa3a6dc6effbac68eef2f318a64399ad846af6e3ff8ebfe476542.yml
1+
configured_endpoints: 1607
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-9566037032a1a8a0f3b6738beb772a1fb47b952610799ce49d8d11bfbd412bcb.yml

‎examples/data-sources/cloudflare_waiting_rooms/data-source.tf

-3
This file was deleted.

‎internal/provider.go

-1
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,6 @@ func (p *CloudflareProvider) DataSources(ctx context.Context) []func() datasourc
667667
rate_limit.NewRateLimitDataSource,
668668
rate_limit.NewRateLimitsDataSource,
669669
waiting_room.NewWaitingRoomDataSource,
670-
waiting_room.NewWaitingRoomsDataSource,
671670
waiting_room_event.NewWaitingRoomEventDataSource,
672671
waiting_room_event.NewWaitingRoomEventsDataSource,
673672
waiting_room_rules.NewWaitingRoomRulesDataSource,

‎internal/services/waiting_room/data_source_model.go

+2-10
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ type WaitingRoomResultDataSourceEnvelope struct {
1818
}
1919

2020
type WaitingRoomDataSourceModel struct {
21-
ID types.String `tfsdk:"id" json:"-,computed"`
22-
WaitingRoomID types.String `tfsdk:"waiting_room_id" path:"waiting_room_id,optional"`
21+
WaitingRoomID types.String `tfsdk:"waiting_room_id" path:"waiting_room_id,required"`
2322
ZoneID types.String `tfsdk:"zone_id" path:"zone_id,required"`
2423
CookieSuffix types.String `tfsdk:"cookie_suffix" json:"cookie_suffix,computed"`
2524
CreatedOn timetypes.RFC3339 `tfsdk:"created_on" json:"created_on,computed" format:"date-time"`
@@ -28,6 +27,7 @@ type WaitingRoomDataSourceModel struct {
2827
Description types.String `tfsdk:"description" json:"description,computed"`
2928
DisableSessionRenewal types.Bool `tfsdk:"disable_session_renewal" json:"disable_session_renewal,computed"`
3029
Host types.String `tfsdk:"host" json:"host,computed"`
30+
ID types.String `tfsdk:"id" json:"id,computed"`
3131
JsonResponseEnabled types.Bool `tfsdk:"json_response_enabled" json:"json_response_enabled,computed"`
3232
ModifiedOn timetypes.RFC3339 `tfsdk:"modified_on" json:"modified_on,computed" format:"date-time"`
3333
Name types.String `tfsdk:"name" json:"name,computed"`
@@ -56,14 +56,6 @@ func (m *WaitingRoomDataSourceModel) toReadParams(_ context.Context) (params wai
5656
return
5757
}
5858

59-
func (m *WaitingRoomDataSourceModel) toListParams(_ context.Context) (params waiting_rooms.WaitingRoomListParams, diags diag.Diagnostics) {
60-
params = waiting_rooms.WaitingRoomListParams{
61-
ZoneID: cloudflare.F(m.ZoneID.ValueString()),
62-
}
63-
64-
return
65-
}
66-
6759
type WaitingRoomAdditionalRoutesDataSourceModel struct {
6860
Host types.String `tfsdk:"host" json:"host,computed"`
6961
Path types.String `tfsdk:"path" json:"path,computed"`

‎internal/services/waiting_room/data_source_schema.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,8 @@ var _ datasource.DataSourceWithConfigValidators = (*WaitingRoomDataSource)(nil)
2121
func DataSourceSchema(ctx context.Context) schema.Schema {
2222
return schema.Schema{
2323
Attributes: map[string]schema.Attribute{
24-
"id": schema.StringAttribute{
25-
Computed: true,
26-
},
2724
"waiting_room_id": schema.StringAttribute{
28-
Optional: true,
25+
Required: true,
2926
},
3027
"zone_id": schema.StringAttribute{
3128
Description: "Identifier",
@@ -101,6 +98,9 @@ func DataSourceSchema(ctx context.Context) schema.Schema {
10198
Description: "The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique.",
10299
Computed: true,
103100
},
101+
"id": schema.StringAttribute{
102+
Computed: true,
103+
},
104104
"json_response_enabled": schema.BoolAttribute{
105105
Description: "Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on the user's status in the waiting room as opposed to the configured static HTML page. This JSON response object has one property `cfWaitingRoom` which is an object containing the following fields:\n1. `inWaitingRoom`: Boolean indicating if the user is in the waiting room (always **true**).\n2. `waitTimeKnown`: Boolean indicating if the current estimated wait times are accurate. If **false**, they are not available.\n3. `waitTime`: Valid only when `waitTimeKnown` is **true**. Integer indicating the current estimated time in minutes the user will wait in the waiting room. When `queueingMethod` is **random**, this is set to `waitTime50Percentile`.\n4. `waitTime25Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 25% of users that gain entry the fastest (25th percentile).\n5. `waitTime50Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 50% of users that gain entry the fastest (50th percentile). In other words, half of the queued users are expected to let into the origin website before `waitTime50Percentile` and half are expected to be let in after it.\n6. `waitTime75Percentile`: Valid only when `queueingMethod` is **random** and `waitTimeKnown` is **true**. Integer indicating the current estimated maximum wait time for the 75% of users that gain entry the fastest (75th percentile).\n7. `waitTimeFormatted`: String displaying the `waitTime` formatted in English for users. If `waitTimeKnown` is **false**, `waitTimeFormatted` will display **unavailable**.\n8. `queueIsFull`: Boolean indicating if the waiting room's queue is currently full and not accepting new users at the moment.\n9. `queueAll`: Boolean indicating if all users will be queued in the waiting room and no one will be let into the origin website.\n10. `lastUpdated`: String displaying the timestamp as an ISO 8601 string of the user's last attempt to leave the waiting room and be let into the origin website. The user is able to make another attempt after `refreshIntervalSeconds` past this time. If the user makes a request too soon, it will be ignored and `lastUpdated` will not change.\n11. `refreshIntervalSeconds`: Integer indicating the number of seconds after `lastUpdated` until the user is able to make another attempt to leave the waiting room and be let into the origin website. When the `queueingMethod` is `reject`, there is no specified refresh time — it will always be **zero**.\n12. `queueingMethod`: The queueing method currently used by the waiting room. It is either **fifo**, **random**, **passthrough**, or **reject**.\n13. `isFIFOQueue`: Boolean indicating if the waiting room uses a FIFO (First-In-First-Out) queue.\n14. `isRandomQueue`: Boolean indicating if the waiting room uses a Random queue where users gain access randomly.\n15. `isPassthroughQueue`: Boolean indicating if the waiting room uses a passthrough queue. Keep in mind that when passthrough is enabled, this JSON response will only exist when `queueAll` is **true** or `isEventPrequeueing` is **true** because in all other cases requests will go directly to the origin.\n16. `isRejectQueue`: Boolean indicating if the waiting room uses a reject queue.\n17. `isEventActive`: Boolean indicating if an event is currently occurring. Events are able to change a waiting room's behavior during a specified period of time. For additional information, look at the event properties `prequeue_start_time`, `event_start_time`, and `event_end_time` in the documentation for creating waiting room events. Events are considered active between these start and end times, as well as during the prequeueing period if it exists.\n18. `isEventPrequeueing`: Valid only when `isEventActive` is **true**. Boolean indicating if an event is currently prequeueing users before it starts.\n19. `timeUntilEventStart`: Valid only when `isEventPrequeueing` is **true**. Integer indicating the number of minutes until the event starts.\n20. `timeUntilEventStartFormatted`: String displaying the `timeUntilEventStart` formatted in English for users. If `isEventPrequeueing` is **false**, `timeUntilEventStartFormatted` will display **unavailable**.\n21. `timeUntilEventEnd`: Valid only when `isEventActive` is **true**. Integer indicating the number of minutes until the event ends.\n22. `timeUntilEventEndFormatted`: String displaying the `timeUntilEventEnd` formatted in English for users. If `isEventActive` is **false**, `timeUntilEventEndFormatted` will display **unavailable**.\n23. `shuffleAtEventStart`: Valid only when `isEventActive` is **true**. Boolean indicating if the users in the prequeue are shuffled randomly when the event starts.\n\nAn example cURL to a waiting room could be:\n\n\tcurl -X GET \"https://example.com/waitingroom\" \\\n\t\t-H \"Accept: application/json\"\n\nIf `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **fifo** and no event is active could be:\n\n\t{\n\t\t\"cfWaitingRoom\": {\n\t\t\t\"inWaitingRoom\": true,\n\t\t\t\"waitTimeKnown\": true,\n\t\t\t\"waitTime\": 10,\n\t\t\t\"waitTime25Percentile\": 0,\n\t\t\t\"waitTime50Percentile\": 0,\n\t\t\t\"waitTime75Percentile\": 0,\n\t\t\t\"waitTimeFormatted\": \"10 minutes\",\n\t\t\t\"queueIsFull\": false,\n\t\t\t\"queueAll\": false,\n\t\t\t\"lastUpdated\": \"2020-08-03T23:46:00.000Z\",\n\t\t\t\"refreshIntervalSeconds\": 20,\n\t\t\t\"queueingMethod\": \"fifo\",\n\t\t\t\"isFIFOQueue\": true,\n\t\t\t\"isRandomQueue\": false,\n\t\t\t\"isPassthroughQueue\": false,\n\t\t\t\"isRejectQueue\": false,\n\t\t\t\"isEventActive\": false,\n\t\t\t\"isEventPrequeueing\": false,\n\t\t\t\"timeUntilEventStart\": 0,\n\t\t\t\"timeUntilEventStartFormatted\": \"unavailable\",\n\t\t\t\"timeUntilEventEnd\": 0,\n\t\t\t\"timeUntilEventEndFormatted\": \"unavailable\",\n\t\t\t\"shuffleAtEventStart\": false\n\t\t}\n\t}\n\nIf `json_response_enabled` is **true** and the request hits the waiting room, an example JSON response when `queueingMethod` is **random** and an event is active could be:\n\n\t{\n\t\t\"cfWaitingRoom\": {\n\t\t\t\"inWaitingRoom\": true,\n\t\t\t\"waitTimeKnown\": true,\n\t\t\t\"waitTime\": 10,\n\t\t\t\"waitTime25Percentile\": 5,\n\t\t\t\"waitTime50Percentile\": 10,\n\t\t\t\"waitTime75Percentile\": 15,\n\t\t\t\"waitTimeFormatted\": \"5 minutes to 15 minutes\",\n\t\t\t\"queueIsFull\": false,\n\t\t\t\"queueAll\": false,\n\t\t\t\"lastUpdated\": \"2020-08-03T23:46:00.000Z\",\n\t\t\t\"refreshIntervalSeconds\": 20,\n\t\t\t\"queueingMethod\": \"random\",\n\t\t\t\"isFIFOQueue\": false,\n\t\t\t\"isRandomQueue\": true,\n\t\t\t\"isPassthroughQueue\": false,\n\t\t\t\"isRejectQueue\": false,\n\t\t\t\"isEventActive\": true,\n\t\t\t\"isEventPrequeueing\": false,\n\t\t\t\"timeUntilEventStart\": 0,\n\t\t\t\"timeUntilEventStartFormatted\": \"unavailable\",\n\t\t\t\"timeUntilEventEnd\": 15,\n\t\t\t\"timeUntilEventEndFormatted\": \"15 minutes\",\n\t\t\t\"shuffleAtEventStart\": true\n\t\t}\n\t}.",
106106
Computed: true,

‎internal/services/waiting_room/list_data_source.go

-100
This file was deleted.

‎internal/services/waiting_room/list_data_source_model.go

-71
This file was deleted.

‎internal/services/waiting_room/list_data_source_schema.go

-280
This file was deleted.

‎internal/services/waiting_room/list_data_source_schema_test.go

-19
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.