Skip to content

Commit f3ceece

Browse files
stainless-app[bot]stainless-bot
authored andcommittedNov 14, 2024·
feat(api): api update (#3604)
1 parent fc33831 commit f3ceece

10 files changed

+124
-42
lines changed
 

‎.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 1417
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-1c64fbec9a1e17ca560abf251c26a4adb4d60123dbe3f7dcc10819494cd97a6f.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-2959676ecfc112a904ecea7f0874900dd48e4e15ea12ab641b3428db5dade9aa.yml

‎api.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4841,7 +4841,7 @@ Methods:
48414841

48424842
- <code title="post /{account_or_zone}/{account_or_zone_id}/access/apps">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationNewParams">AccessApplicationNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationNewResponse">AccessApplicationNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
48434843
- <code title="put /{account_or_zone}/{account_or_zone_id}/access/apps/{app_id}">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, appID <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AppIDParam">AppIDParam</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationUpdateParams">AccessApplicationUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationUpdateResponse">AccessApplicationUpdateResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
4844-
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/apps">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationListParams">AccessApplicationListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationListResponse">AccessApplicationListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
4844+
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/apps">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationListParams">AccessApplicationListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationListResponse">AccessApplicationListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
48454845
- <code title="delete /{account_or_zone}/{account_or_zone_id}/access/apps/{app_id}">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, appID <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AppIDParam">AppIDParam</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationDeleteParams">AccessApplicationDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationDeleteResponse">AccessApplicationDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
48464846
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/apps/{app_id}">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, appID <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AppIDParam">AppIDParam</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationGetParams">AccessApplicationGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationGetResponse">AccessApplicationGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
48474847
- <code title="post /{account_or_zone}/{account_or_zone_id}/access/apps/{app_id}/revoke_tokens">client.ZeroTrust.Access.Applications.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationService.RevokeTokens">RevokeTokens</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, appID <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AppIDParam">AppIDParam</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationRevokeTokensParams">AccessApplicationRevokeTokensParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessApplicationRevokeTokensResponse">AccessApplicationRevokeTokensResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
@@ -4953,7 +4953,7 @@ Methods:
49534953

49544954
- <code title="post /{account_or_zone}/{account_or_zone_id}/access/groups">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupNewParams">AccessGroupNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#ZeroTrustGroup">ZeroTrustGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
49554955
- <code title="put /{account_or_zone}/{account_or_zone_id}/access/groups/{group_id}">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupUpdateParams">AccessGroupUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#ZeroTrustGroup">ZeroTrustGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
4956-
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/groups">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupListParams">AccessGroupListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#ZeroTrustGroup">ZeroTrustGroup</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
4956+
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/groups">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupListParams">AccessGroupListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#ZeroTrustGroup">ZeroTrustGroup</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
49574957
- <code title="delete /{account_or_zone}/{account_or_zone_id}/access/groups/{group_id}">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupDeleteParams">AccessGroupDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupDeleteResponse">AccessGroupDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
49584958
- <code title="get /{account_or_zone}/{account_or_zone_id}/access/groups/{group_id}">client.ZeroTrust.Access.Groups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessGroupGetParams">AccessGroupGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#ZeroTrustGroup">ZeroTrustGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
49594959

@@ -5024,7 +5024,7 @@ Response Types:
50245024

50255025
Methods:
50265026

5027-
- <code title="get /accounts/{account_id}/access/users">client.ZeroTrust.Access.Users.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUserService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUserListParams">AccessUserListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUser">AccessUser</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5027+
- <code title="get /accounts/{account_id}/access/users">client.ZeroTrust.Access.Users.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUserService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUserListParams">AccessUserListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust">zero_trust</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/zero_trust#AccessUser">AccessUser</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
50285028

50295029
#### ActiveSessions
50305030

‎zero_trust/accessapplication.go

+29-10
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ import (
77
"errors"
88
"fmt"
99
"net/http"
10+
"net/url"
1011
"reflect"
1112
"time"
1213

1314
"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
15+
"github.com/cloudflare/cloudflare-go/v3/internal/apiquery"
1416
"github.com/cloudflare/cloudflare-go/v3/internal/param"
1517
"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
1618
"github.com/cloudflare/cloudflare-go/v3/option"
@@ -113,30 +115,30 @@ func (r *AccessApplicationService) Update(ctx context.Context, appID AppIDParam,
113115
}
114116

115117
// Lists all Access applications in an account or zone.
116-
func (r *AccessApplicationService) List(ctx context.Context, query AccessApplicationListParams, opts ...option.RequestOption) (res *pagination.SinglePage[AccessApplicationListResponse], err error) {
118+
func (r *AccessApplicationService) List(ctx context.Context, params AccessApplicationListParams, opts ...option.RequestOption) (res *pagination.SinglePage[AccessApplicationListResponse], err error) {
117119
var raw *http.Response
118120
opts = append(r.Options[:], opts...)
119121
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
120122
var accountOrZone string
121123
var accountOrZoneID param.Field[string]
122-
if query.AccountID.Value != "" && query.ZoneID.Value != "" {
124+
if params.AccountID.Value != "" && params.ZoneID.Value != "" {
123125
err = errors.New("account ID and zone ID are mutually exclusive")
124126
return
125127
}
126-
if query.AccountID.Value == "" && query.ZoneID.Value == "" {
128+
if params.AccountID.Value == "" && params.ZoneID.Value == "" {
127129
err = errors.New("either account ID or zone ID must be provided")
128130
return
129131
}
130-
if query.AccountID.Value != "" {
132+
if params.AccountID.Value != "" {
131133
accountOrZone = "accounts"
132-
accountOrZoneID = query.AccountID
134+
accountOrZoneID = params.AccountID
133135
}
134-
if query.ZoneID.Value != "" {
136+
if params.ZoneID.Value != "" {
135137
accountOrZone = "zones"
136-
accountOrZoneID = query.ZoneID
138+
accountOrZoneID = params.ZoneID
137139
}
138140
path := fmt.Sprintf("%s/%s/access/apps", accountOrZone, accountOrZoneID)
139-
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, nil, &res, opts...)
141+
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, params, &res, opts...)
140142
if err != nil {
141143
return nil, err
142144
}
@@ -149,8 +151,8 @@ func (r *AccessApplicationService) List(ctx context.Context, query AccessApplica
149151
}
150152

151153
// Lists all Access applications in an account or zone.
152-
func (r *AccessApplicationService) ListAutoPaging(ctx context.Context, query AccessApplicationListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[AccessApplicationListResponse] {
153-
return pagination.NewSinglePageAutoPager(r.List(ctx, query, opts...))
154+
func (r *AccessApplicationService) ListAutoPaging(ctx context.Context, params AccessApplicationListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[AccessApplicationListResponse] {
155+
return pagination.NewSinglePageAutoPager(r.List(ctx, params, opts...))
154156
}
155157

156158
// Deletes an application from Access.
@@ -17749,6 +17751,23 @@ type AccessApplicationListParams struct {
1774917751
AccountID param.Field[string] `path:"account_id"`
1775017752
// The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
1775117753
ZoneID param.Field[string] `path:"zone_id"`
17754+
// The aud of the app.
17755+
AUD param.Field[string] `query:"aud"`
17756+
// The domain of the app.
17757+
Domain param.Field[string] `query:"domain"`
17758+
// The name of the app.
17759+
Name param.Field[string] `query:"name"`
17760+
// Search for apps by other listed query parameters.
17761+
Search param.Field[string] `query:"search"`
17762+
}
17763+
17764+
// URLQuery serializes [AccessApplicationListParams]'s query parameters as
17765+
// `url.Values`.
17766+
func (r AccessApplicationListParams) URLQuery() (v url.Values) {
17767+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
17768+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
17769+
NestedFormat: apiquery.NestedQueryFormatDots,
17770+
})
1775217771
}
1775317772

1775417773
type AccessApplicationDeleteParams struct {

‎zero_trust/accessapplication_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ func TestAccessApplicationListWithOptionalParams(t *testing.T) {
264264
)
265265
_, err := client.ZeroTrust.Access.Applications.List(context.TODO(), zero_trust.AccessApplicationListParams{
266266
AccountID: cloudflare.F("account_id"),
267+
AUD: cloudflare.F("aud"),
268+
Domain: cloudflare.F("domain"),
269+
Name: cloudflare.F("name"),
270+
Search: cloudflare.F("search"),
267271
})
268272
if err != nil {
269273
var apierr *cloudflare.Error

‎zero_trust/accessgroup.go

+24-10
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import (
77
"errors"
88
"fmt"
99
"net/http"
10+
"net/url"
1011
"time"
1112

1213
"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
14+
"github.com/cloudflare/cloudflare-go/v3/internal/apiquery"
1315
"github.com/cloudflare/cloudflare-go/v3/internal/param"
1416
"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
1517
"github.com/cloudflare/cloudflare-go/v3/option"
@@ -103,30 +105,30 @@ func (r *AccessGroupService) Update(ctx context.Context, groupID string, params
103105
}
104106

105107
// Lists all Access groups.
106-
func (r *AccessGroupService) List(ctx context.Context, query AccessGroupListParams, opts ...option.RequestOption) (res *pagination.SinglePage[ZeroTrustGroup], err error) {
108+
func (r *AccessGroupService) List(ctx context.Context, params AccessGroupListParams, opts ...option.RequestOption) (res *pagination.SinglePage[ZeroTrustGroup], err error) {
107109
var raw *http.Response
108110
opts = append(r.Options[:], opts...)
109111
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
110112
var accountOrZone string
111113
var accountOrZoneID param.Field[string]
112-
if query.AccountID.Value != "" && query.ZoneID.Value != "" {
114+
if params.AccountID.Value != "" && params.ZoneID.Value != "" {
113115
err = errors.New("account ID and zone ID are mutually exclusive")
114116
return
115117
}
116-
if query.AccountID.Value == "" && query.ZoneID.Value == "" {
118+
if params.AccountID.Value == "" && params.ZoneID.Value == "" {
117119
err = errors.New("either account ID or zone ID must be provided")
118120
return
119121
}
120-
if query.AccountID.Value != "" {
122+
if params.AccountID.Value != "" {
121123
accountOrZone = "accounts"
122-
accountOrZoneID = query.AccountID
124+
accountOrZoneID = params.AccountID
123125
}
124-
if query.ZoneID.Value != "" {
126+
if params.ZoneID.Value != "" {
125127
accountOrZone = "zones"
126-
accountOrZoneID = query.ZoneID
128+
accountOrZoneID = params.ZoneID
127129
}
128130
path := fmt.Sprintf("%s/%s/access/groups", accountOrZone, accountOrZoneID)
129-
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, nil, &res, opts...)
131+
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, params, &res, opts...)
130132
if err != nil {
131133
return nil, err
132134
}
@@ -139,8 +141,8 @@ func (r *AccessGroupService) List(ctx context.Context, query AccessGroupListPara
139141
}
140142

141143
// Lists all Access groups.
142-
func (r *AccessGroupService) ListAutoPaging(ctx context.Context, query AccessGroupListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[ZeroTrustGroup] {
143-
return pagination.NewSinglePageAutoPager(r.List(ctx, query, opts...))
144+
func (r *AccessGroupService) ListAutoPaging(ctx context.Context, params AccessGroupListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[ZeroTrustGroup] {
145+
return pagination.NewSinglePageAutoPager(r.List(ctx, params, opts...))
144146
}
145147

146148
// Deletes an Access group.
@@ -418,6 +420,18 @@ type AccessGroupListParams struct {
418420
AccountID param.Field[string] `path:"account_id"`
419421
// The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
420422
ZoneID param.Field[string] `path:"zone_id"`
423+
// The name of the group.
424+
Name param.Field[string] `query:"name"`
425+
// Search for groups by other listed query parameters.
426+
Search param.Field[string] `query:"search"`
427+
}
428+
429+
// URLQuery serializes [AccessGroupListParams]'s query parameters as `url.Values`.
430+
func (r AccessGroupListParams) URLQuery() (v url.Values) {
431+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
432+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
433+
NestedFormat: apiquery.NestedQueryFormatDots,
434+
})
421435
}
422436

423437
type AccessGroupDeleteParams struct {

‎zero_trust/accessgroup_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ func TestAccessGroupListWithOptionalParams(t *testing.T) {
168168
)
169169
_, err := client.ZeroTrust.Access.Groups.List(context.TODO(), zero_trust.AccessGroupListParams{
170170
AccountID: cloudflare.F("account_id"),
171+
Name: cloudflare.F("name"),
172+
Search: cloudflare.F("search"),
171173
})
172174
if err != nil {
173175
var apierr *cloudflare.Error

‎zero_trust/accessuser.go

+22-6
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import (
77
"errors"
88
"fmt"
99
"net/http"
10+
"net/url"
1011
"time"
1112

1213
"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
14+
"github.com/cloudflare/cloudflare-go/v3/internal/apiquery"
1315
"github.com/cloudflare/cloudflare-go/v3/internal/param"
1416
"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
1517
"github.com/cloudflare/cloudflare-go/v3/option"
@@ -42,16 +44,16 @@ func NewAccessUserService(opts ...option.RequestOption) (r *AccessUserService) {
4244
}
4345

4446
// Gets a list of users for an account.
45-
func (r *AccessUserService) List(ctx context.Context, query AccessUserListParams, opts ...option.RequestOption) (res *pagination.SinglePage[AccessUser], err error) {
47+
func (r *AccessUserService) List(ctx context.Context, params AccessUserListParams, opts ...option.RequestOption) (res *pagination.SinglePage[AccessUser], err error) {
4648
var raw *http.Response
4749
opts = append(r.Options[:], opts...)
4850
opts = append([]option.RequestOption{option.WithResponseInto(&raw)}, opts...)
49-
if query.AccountID.Value == "" {
51+
if params.AccountID.Value == "" {
5052
err = errors.New("missing required account_id parameter")
5153
return
5254
}
53-
path := fmt.Sprintf("accounts/%s/access/users", query.AccountID)
54-
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, nil, &res, opts...)
55+
path := fmt.Sprintf("accounts/%s/access/users", params.AccountID)
56+
cfg, err := requestconfig.NewRequestConfig(ctx, http.MethodGet, path, params, &res, opts...)
5557
if err != nil {
5658
return nil, err
5759
}
@@ -64,8 +66,8 @@ func (r *AccessUserService) List(ctx context.Context, query AccessUserListParams
6466
}
6567

6668
// Gets a list of users for an account.
67-
func (r *AccessUserService) ListAutoPaging(ctx context.Context, query AccessUserListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[AccessUser] {
68-
return pagination.NewSinglePageAutoPager(r.List(ctx, query, opts...))
69+
func (r *AccessUserService) ListAutoPaging(ctx context.Context, params AccessUserListParams, opts ...option.RequestOption) *pagination.SinglePageAutoPager[AccessUser] {
70+
return pagination.NewSinglePageAutoPager(r.List(ctx, params, opts...))
6971
}
7072

7173
type AccessUser struct {
@@ -120,4 +122,18 @@ func (r accessUserJSON) RawJSON() string {
120122
type AccessUserListParams struct {
121123
// Identifier
122124
AccountID param.Field[string] `path:"account_id,required"`
125+
// The email of the user.
126+
Email param.Field[string] `query:"email"`
127+
// The name of the user.
128+
Name param.Field[string] `query:"name"`
129+
// Search for users by other listed query parameters.
130+
Search param.Field[string] `query:"search"`
131+
}
132+
133+
// URLQuery serializes [AccessUserListParams]'s query parameters as `url.Values`.
134+
func (r AccessUserListParams) URLQuery() (v url.Values) {
135+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
136+
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
137+
NestedFormat: apiquery.NestedQueryFormatDots,
138+
})
123139
}

‎zero_trust/accessuser_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"github.com/cloudflare/cloudflare-go/v3/zero_trust"
1515
)
1616

17-
func TestAccessUserList(t *testing.T) {
17+
func TestAccessUserListWithOptionalParams(t *testing.T) {
1818
baseURL := "http://localhost:4010"
1919
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2020
baseURL = envURL
@@ -29,6 +29,9 @@ func TestAccessUserList(t *testing.T) {
2929
)
3030
_, err := client.ZeroTrust.Access.Users.List(context.TODO(), zero_trust.AccessUserListParams{
3131
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
32+
Email: cloudflare.F("email"),
33+
Name: cloudflare.F("name"),
34+
Search: cloudflare.F("search"),
3235
})
3336
if err != nil {
3437
var apierr *cloudflare.Error

‎zero_trust/identityprovider.go

+33-9
Original file line numberDiff line numberDiff line change
@@ -1996,10 +1996,12 @@ func (r IdentityProviderAccessOnetimepinConfigParam) MarshalJSON() (data []byte,
19961996
type IdentityProviderSCIMConfig struct {
19971997
// A flag to enable or disable SCIM for the identity provider.
19981998
Enabled bool `json:"enabled"`
1999-
// A flag to revoke a user's session in Access and force a reauthentication on the
2000-
// user's Gateway session when they have been added or removed from a group in the
2001-
// Identity Provider.
2002-
GroupMemberDeprovision bool `json:"group_member_deprovision"`
1999+
// Indicates how a SCIM event updates an Access identity. Use "automatic" to
2000+
// automatically update a user's Access identity and augment it with fields from
2001+
// the SCIM user resource. Use "reauth" to force re-authentication on group
2002+
// membership updates. With "reauth" Access identities will not contain fields from
2003+
// the SCIM user resource.
2004+
IdentityUpdateBehavior IdentityProviderSCIMConfigIdentityUpdateBehavior `json:"identity_update_behavior"`
20032005
// A flag to remove a user's seat in Zero Trust when they have been deprovisioned
20042006
// in the Identity Provider. This cannot be enabled unless user_deprovision is also
20052007
// enabled.
@@ -2018,7 +2020,7 @@ type IdentityProviderSCIMConfig struct {
20182020
// [IdentityProviderSCIMConfig]
20192021
type identityProviderSCIMConfigJSON struct {
20202022
Enabled apijson.Field
2021-
GroupMemberDeprovision apijson.Field
2023+
IdentityUpdateBehavior apijson.Field
20222024
SeatDeprovision apijson.Field
20232025
Secret apijson.Field
20242026
UserDeprovision apijson.Field
@@ -2034,15 +2036,37 @@ func (r identityProviderSCIMConfigJSON) RawJSON() string {
20342036
return r.raw
20352037
}
20362038

2039+
// Indicates how a SCIM event updates an Access identity. Use "automatic" to
2040+
// automatically update a user's Access identity and augment it with fields from
2041+
// the SCIM user resource. Use "reauth" to force re-authentication on group
2042+
// membership updates. With "reauth" Access identities will not contain fields from
2043+
// the SCIM user resource.
2044+
type IdentityProviderSCIMConfigIdentityUpdateBehavior string
2045+
2046+
const (
2047+
IdentityProviderSCIMConfigIdentityUpdateBehaviorAutomatic IdentityProviderSCIMConfigIdentityUpdateBehavior = "automatic"
2048+
IdentityProviderSCIMConfigIdentityUpdateBehaviorReauth IdentityProviderSCIMConfigIdentityUpdateBehavior = "reauth"
2049+
)
2050+
2051+
func (r IdentityProviderSCIMConfigIdentityUpdateBehavior) IsKnown() bool {
2052+
switch r {
2053+
case IdentityProviderSCIMConfigIdentityUpdateBehaviorAutomatic, IdentityProviderSCIMConfigIdentityUpdateBehaviorReauth:
2054+
return true
2055+
}
2056+
return false
2057+
}
2058+
20372059
// The configuration settings for enabling a System for Cross-Domain Identity
20382060
// Management (SCIM) with the identity provider.
20392061
type IdentityProviderSCIMConfigParam struct {
20402062
// A flag to enable or disable SCIM for the identity provider.
20412063
Enabled param.Field[bool] `json:"enabled"`
2042-
// A flag to revoke a user's session in Access and force a reauthentication on the
2043-
// user's Gateway session when they have been added or removed from a group in the
2044-
// Identity Provider.
2045-
GroupMemberDeprovision param.Field[bool] `json:"group_member_deprovision"`
2064+
// Indicates how a SCIM event updates an Access identity. Use "automatic" to
2065+
// automatically update a user's Access identity and augment it with fields from
2066+
// the SCIM user resource. Use "reauth" to force re-authentication on group
2067+
// membership updates. With "reauth" Access identities will not contain fields from
2068+
// the SCIM user resource.
2069+
IdentityUpdateBehavior param.Field[IdentityProviderSCIMConfigIdentityUpdateBehavior] `json:"identity_update_behavior"`
20462070
// A flag to remove a user's seat in Zero Trust when they have been deprovisioned
20472071
// in the Identity Provider. This cannot be enabled unless user_deprovision is also
20482072
// enabled.

‎zero_trust/identityprovider_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestIdentityProviderNewWithOptionalParams(t *testing.T) {
4444
Type: cloudflare.F(zero_trust.IdentityProviderTypeOnetimepin),
4545
SCIMConfig: cloudflare.F(zero_trust.IdentityProviderSCIMConfigParam{
4646
Enabled: cloudflare.F(true),
47-
GroupMemberDeprovision: cloudflare.F(true),
47+
IdentityUpdateBehavior: cloudflare.F(zero_trust.IdentityProviderSCIMConfigIdentityUpdateBehaviorAutomatic),
4848
SeatDeprovision: cloudflare.F(true),
4949
UserDeprovision: cloudflare.F(true),
5050
}),
@@ -93,7 +93,7 @@ func TestIdentityProviderUpdateWithOptionalParams(t *testing.T) {
9393
Type: cloudflare.F(zero_trust.IdentityProviderTypeOnetimepin),
9494
SCIMConfig: cloudflare.F(zero_trust.IdentityProviderSCIMConfigParam{
9595
Enabled: cloudflare.F(true),
96-
GroupMemberDeprovision: cloudflare.F(true),
96+
IdentityUpdateBehavior: cloudflare.F(zero_trust.IdentityProviderSCIMConfigIdentityUpdateBehaviorAutomatic),
9797
SeatDeprovision: cloudflare.F(true),
9898
UserDeprovision: cloudflare.F(true),
9999
}),

0 commit comments

Comments
 (0)
Please sign in to comment.