-
Notifications
You must be signed in to change notification settings - Fork 541
/
dextestuniquedevice.go
131 lines (112 loc) · 4.48 KB
/
dextestuniquedevice.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
package zero_trust
import (
"context"
"fmt"
"net/http"
"net/url"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
"github.com/cloudflare/cloudflare-go/v2/internal/apiquery"
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
"github.com/cloudflare/cloudflare-go/v2/shared"
)
// DEXTestUniqueDeviceService contains methods and other services that help with
// interacting with the cloudflare API. Note, unlike clients, this service does not
// read variables from the environment automatically. You should not instantiate
// this service directly, and instead use the [NewDEXTestUniqueDeviceService]
// method instead.
type DEXTestUniqueDeviceService struct {
Options []option.RequestOption
}
// NewDEXTestUniqueDeviceService generates a new service that applies the given
// options to each request. These options are applied after the parent client's
// options (if there is one), and before any request-specific options.
func NewDEXTestUniqueDeviceService(opts ...option.RequestOption) (r *DEXTestUniqueDeviceService) {
r = &DEXTestUniqueDeviceService{}
r.Options = opts
return
}
// Returns unique count of devices that have run synthetic application monitoring
// tests in the past 7 days.
func (r *DEXTestUniqueDeviceService) List(ctx context.Context, params DEXTestUniqueDeviceListParams, opts ...option.RequestOption) (res *UniqueDevices, err error) {
opts = append(r.Options[:], opts...)
var env DEXTestUniqueDeviceListResponseEnvelope
path := fmt.Sprintf("accounts/%s/dex/tests/unique-devices", params.AccountID)
err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, params, &env, opts...)
if err != nil {
return
}
res = &env.Result
return
}
type UniqueDevices struct {
// total number of unique devices
UniqueDevicesTotal int64 `json:"uniqueDevicesTotal,required"`
JSON uniqueDevicesJSON `json:"-"`
}
// uniqueDevicesJSON contains the JSON metadata for the struct [UniqueDevices]
type uniqueDevicesJSON struct {
UniqueDevicesTotal apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
func (r *UniqueDevices) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
func (r uniqueDevicesJSON) RawJSON() string {
return r.raw
}
type DEXTestUniqueDeviceListParams struct {
AccountID param.Field[string] `path:"account_id,required"`
// Optionally filter result stats to a specific device(s). Cannot be used in
// combination with colo param.
DeviceID param.Field[[]string] `query:"deviceId"`
// Optionally filter results by test name
TestName param.Field[string] `query:"testName"`
}
// URLQuery serializes [DEXTestUniqueDeviceListParams]'s query parameters as
// `url.Values`.
func (r DEXTestUniqueDeviceListParams) URLQuery() (v url.Values) {
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
ArrayFormat: apiquery.ArrayQueryFormatRepeat,
NestedFormat: apiquery.NestedQueryFormatBrackets,
})
}
type DEXTestUniqueDeviceListResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
// Whether the API call was successful
Success DEXTestUniqueDeviceListResponseEnvelopeSuccess `json:"success,required"`
Result UniqueDevices `json:"result"`
JSON dexTestUniqueDeviceListResponseEnvelopeJSON `json:"-"`
}
// dexTestUniqueDeviceListResponseEnvelopeJSON contains the JSON metadata for the
// struct [DEXTestUniqueDeviceListResponseEnvelope]
type dexTestUniqueDeviceListResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Success apijson.Field
Result apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
func (r *DEXTestUniqueDeviceListResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
func (r dexTestUniqueDeviceListResponseEnvelopeJSON) RawJSON() string {
return r.raw
}
// Whether the API call was successful
type DEXTestUniqueDeviceListResponseEnvelopeSuccess bool
const (
DEXTestUniqueDeviceListResponseEnvelopeSuccessTrue DEXTestUniqueDeviceListResponseEnvelopeSuccess = true
)
func (r DEXTestUniqueDeviceListResponseEnvelopeSuccess) IsKnown() bool {
switch r {
case DEXTestUniqueDeviceListResponseEnvelopeSuccessTrue:
return true
}
return false
}