Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): OpenAPI spec update via Stainless API #1741

Merged
merged 1 commit into from
Apr 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
configured_endpoints: 1251
configured_endpoints: 1250
10 changes: 0 additions & 10 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3857,16 +3857,6 @@ Methods:

## Traces

Response Types:

- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers">request_tracers</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#Trace">Trace</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers">request_tracers</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#TraceItem">TraceItem</a>
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers">request_tracers</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#TraceNewResponse">TraceNewResponse</a>

Methods:

- <code title="post /accounts/{account_identifier}/request-tracer/trace">client.RequestTracers.Traces.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#TraceService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountIdentifier <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers">request_tracers</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#TraceNewParams">TraceNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers">request_tracers</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v2/request_tracers#TraceNewResponse">TraceNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

# Rules

## Lists
Expand Down
3 changes: 2 additions & 1 deletion magic_network_monitoring/rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ type MagicNetworkMonitoringRule struct {
// the rule name. Max 256 characters.
Name string `json:"name,required"`
Prefixes []string `json:"prefixes,required"`
ID string `json:"id"`
// The id of the rule. Must be unique.
ID string `json:"id"`
// The number of bits per second for the rule. When this value is exceeded for the
// set duration, an alert notification is sent. Minimum of 1 and no maximum.
BandwidthThreshold float64 `json:"bandwidth_threshold"`
Expand Down
209 changes: 0 additions & 209 deletions request_tracers/trace.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,6 @@
package request_tracers

import (
"context"
"fmt"
"net/http"

"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/internal/shared"
"github.com/cloudflare/cloudflare-go/v2/option"
)

Expand All @@ -30,204 +22,3 @@ func NewTraceService(opts ...option.RequestOption) (r *TraceService) {
r.Options = opts
return
}

// Request Trace
func (r *TraceService) New(ctx context.Context, accountIdentifier string, body TraceNewParams, opts ...option.RequestOption) (res *TraceNewResponse, err error) {
opts = append(r.Options[:], opts...)
var env TraceNewResponseEnvelope
path := fmt.Sprintf("accounts/%s/request-tracer/trace", accountIdentifier)
err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, &env, opts...)
if err != nil {
return
}
res = &env.Result
return
}

type Trace []TraceItem

// List of steps acting on request/response
type TraceItem struct {
// If step type is rule, then action performed by this rule
Action string `json:"action"`
// If step type is rule, then action parameters of this rule as JSON
ActionParameters interface{} `json:"action_parameters"`
// If step type is rule or ruleset, the description of this entity
Description string `json:"description"`
// If step type is rule, then expression used to match for this rule
Expression string `json:"expression"`
// If step type is ruleset, then kind of this ruleset
Kind string `json:"kind"`
// Whether tracing step affected tracing request/response
Matched bool `json:"matched"`
// If step type is ruleset, then name of this ruleset
Name string `json:"name"`
// Tracing step identifying name
StepName string `json:"step_name"`
Trace Trace `json:"trace"`
// Tracing step type
Type string `json:"type"`
JSON traceItemJSON `json:"-"`
}

// traceItemJSON contains the JSON metadata for the struct [TraceItem]
type traceItemJSON struct {
Action apijson.Field
ActionParameters apijson.Field
Description apijson.Field
Expression apijson.Field
Kind apijson.Field
Matched apijson.Field
Name apijson.Field
StepName apijson.Field
Trace apijson.Field
Type apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

func (r *TraceItem) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}

func (r traceItemJSON) RawJSON() string {
return r.raw
}

// Trace result with an origin status code
type TraceNewResponse struct {
// HTTP Status code of zone response
StatusCode int64 `json:"status_code"`
Trace Trace `json:"trace"`
JSON traceNewResponseJSON `json:"-"`
}

// traceNewResponseJSON contains the JSON metadata for the struct
// [TraceNewResponse]
type traceNewResponseJSON struct {
StatusCode apijson.Field
Trace apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

func (r *TraceNewResponse) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}

func (r traceNewResponseJSON) RawJSON() string {
return r.raw
}

type TraceNewParams struct {
// HTTP Method of tracing request
Method param.Field[string] `json:"method,required"`
// URL to which perform tracing request
URL param.Field[string] `json:"url,required"`
Body param.Field[TraceNewParamsBody] `json:"body"`
// Additional request parameters
Context param.Field[TraceNewParamsContext] `json:"context"`
// Cookies added to tracing request
Cookies param.Field[map[string]string] `json:"cookies"`
// Headers added to tracing request
Headers param.Field[map[string]string] `json:"headers"`
// HTTP Protocol of tracing request
Protocol param.Field[string] `json:"protocol"`
// Skip sending the request to the Origin server after all rules evaluation
SkipResponse param.Field[bool] `json:"skip_response"`
}

func (r TraceNewParams) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

type TraceNewParamsBody struct {
// Base64 encoded request body
Base64 param.Field[string] `json:"base64"`
// Arbitrary json as request body
Json param.Field[interface{}] `json:"json"`
// Request body as plain text
PlainText param.Field[string] `json:"plain_text"`
}

func (r TraceNewParamsBody) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

// Additional request parameters
type TraceNewParamsContext struct {
// Bot score used for evaluating tracing request processing
BotScore param.Field[int64] `json:"bot_score"`
// Geodata for tracing request
Geoloc param.Field[TraceNewParamsContextGeoloc] `json:"geoloc"`
// Whether to skip any challenges for tracing request (e.g.: captcha)
SkipChallenge param.Field[bool] `json:"skip_challenge"`
// Threat score used for evaluating tracing request processing
ThreatScore param.Field[int64] `json:"threat_score"`
}

func (r TraceNewParamsContext) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

// Geodata for tracing request
type TraceNewParamsContextGeoloc struct {
City param.Field[string] `json:"city"`
Continent param.Field[string] `json:"continent"`
IsEuCountry param.Field[bool] `json:"is_eu_country"`
ISOCode param.Field[string] `json:"iso_code"`
Latitude param.Field[float64] `json:"latitude"`
Longitude param.Field[float64] `json:"longitude"`
PostalCode param.Field[string] `json:"postal_code"`
RegionCode param.Field[string] `json:"region_code"`
Subdivision2ISOCode param.Field[string] `json:"subdivision_2_iso_code"`
Timezone param.Field[string] `json:"timezone"`
}

func (r TraceNewParamsContextGeoloc) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}

type TraceNewResponseEnvelope struct {
Errors []shared.ResponseInfo `json:"errors,required"`
Messages []shared.ResponseInfo `json:"messages,required"`
// Trace result with an origin status code
Result TraceNewResponse `json:"result,required"`
// Whether the API call was successful
Success TraceNewResponseEnvelopeSuccess `json:"success,required"`
JSON traceNewResponseEnvelopeJSON `json:"-"`
}

// traceNewResponseEnvelopeJSON contains the JSON metadata for the struct
// [TraceNewResponseEnvelope]
type traceNewResponseEnvelopeJSON struct {
Errors apijson.Field
Messages apijson.Field
Result apijson.Field
Success apijson.Field
raw string
ExtraFields map[string]apijson.Field
}

func (r *TraceNewResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}

func (r traceNewResponseEnvelopeJSON) RawJSON() string {
return r.raw
}

// Whether the API call was successful
type TraceNewResponseEnvelopeSuccess bool

const (
TraceNewResponseEnvelopeSuccessTrue TraceNewResponseEnvelopeSuccess = true
)

func (r TraceNewResponseEnvelopeSuccess) IsKnown() bool {
switch r {
case TraceNewResponseEnvelopeSuccessTrue:
return true
}
return false
}
78 changes: 0 additions & 78 deletions request_tracers/trace_test.go

This file was deleted.