cloudflare

package module
v7.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2026 License: Apache-2.0 Imports: 135 Imported by: 0

README ¶

Cloudflare Go API Library

Go Reference

The Cloudflare Go library provides convenient access to the Cloudflare REST API from applications written in Go.

It is generated with Stainless.

Installation

import (
	"github.com/cloudflare/cloudflare-go/v7" // imported as cloudflare
)

Or to pin the version:

go get -u 'github.com/cloudflare/cloudflare-go/v7@v7.7.0'

Requirements

This library requires Go 1.22+.

Usage

The full API of this library can be found in api.md.

package main

import (
	"context"
	"fmt"

	"github.com/cloudflare/cloudflare-go/v7"
	"github.com/cloudflare/cloudflare-go/v7/option"
	"github.com/cloudflare/cloudflare-go/v7/zones"
)

func main() {
	client := cloudflare.NewClient(
		option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), // defaults to os.LookupEnv("CLOUDFLARE_API_TOKEN")
	)
	zone, err := client.Zones.New(context.TODO(), zones.ZoneNewParams{
		Account: cloudflare.F(zones.ZoneNewParamsAccount{
			ID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
		}),
		Name: cloudflare.F("example.com"),
		Type: cloudflare.F(zones.TypeFull),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", zone.ID)
}

Request fields

All request parameters are wrapped in a generic Field type, which we use to distinguish zero values from null or omitted fields.

This prevents accidentally sending a zero value if you forget a required parameter, and enables explicitly sending null, false, '', or 0 on optional parameters. Any field not specified is not sent.

To construct fields with values, use the helpers String(), Int(), Float(), or most commonly, the generic F[T](). To send a null, use Null[T](), and to send a nonconforming value, use Raw[T](any). For example:

params := FooParams{
	Name: cloudflare.F("hello"),

	// Explicitly send `"description": null`
	Description: cloudflare.Null[string](),

	Point: cloudflare.F(cloudflare.Point{
		X: cloudflare.Int(0),
		Y: cloudflare.Int(1),

		// In cases where the API specifies a given type,
		// but you want to send something else, use `Raw`:
		Z: cloudflare.Raw[int64](0.01), // sends a float
	}),
}
Response objects

All fields in response structs are value types (not pointers or wrappers).

If a given field is null, not present, or invalid, the corresponding field will simply be its zero value.

All response structs also include a special JSON field, containing more detailed information about each property, which you can use like so:

if res.Name == "" {
	// true if `"name"` is either not present or explicitly null
	res.JSON.Name.IsNull()

	// true if the `"name"` key was not present in the response JSON at all
	res.JSON.Name.IsMissing()

	// When the API returns data that cannot be coerced to the expected type:
	if res.JSON.Name.IsInvalid() {
		raw := res.JSON.Name.Raw()

		legacyName := struct{
			First string `json:"first"`
			Last  string `json:"last"`
		}{}
		json.Unmarshal([]byte(raw), &legacyName)
		name = legacyName.First + " " + legacyName.Last
	}
}

These .JSON structs also include an Extras map containing any properties in the json response that were not specified in the struct. This can be useful for API features not yet present in the SDK.

body := res.JSON.ExtraFields["my_unexpected_field"].Raw()
RequestOptions

This library uses the functional options pattern. Functions defined in the option package return a RequestOption, which is a closure that mutates a RequestConfig. These options can be supplied to the client or at individual requests. For example:

client := cloudflare.NewClient(
	// Adds a header to every request made by the client
	option.WithHeader("X-Some-Header", "custom_header_info"),
)

client.Zones.New(context.TODO(), ...,
	// Override the header
	option.WithHeader("X-Some-Header", "some_other_custom_header_info"),
	// Add an undocumented field to the request body, using sjson syntax
	option.WithJSONSet("some.json.path", map[string]string{"my": "object"}),
)

See the full list of request options.

Pagination

This library provides some conveniences for working with paginated list endpoints.

You can use .ListAutoPaging() methods to iterate through items across all pages:

iter := client.Accounts.ListAutoPaging(context.TODO(), accounts.AccountListParams{})
// Automatically fetches more pages as needed.
for iter.Next() {
	account := iter.Current()
	fmt.Printf("%+v\n", account)
}
if err := iter.Err(); err != nil {
	panic(err.Error())
}

Or you can use simple .List() methods to fetch a single page and receive a standard response object with additional helper methods like .GetNextPage(), e.g.:

page, err := client.Accounts.List(context.TODO(), accounts.AccountListParams{})
for page != nil {
	for _, account := range page.Result {
		fmt.Printf("%+v\n", account)
	}
	page, err = page.GetNextPage()
}
if err != nil {
	panic(err.Error())
}
Errors

When the API returns a non-success status code, we return an error with type *cloudflare.Error. This contains the StatusCode, *http.Request, and *http.Response values of the request, as well as the JSON of the error body (much like other response objects in the SDK).

To handle errors, we recommend that you use the errors.As pattern:

_, err := client.Zones.Get(context.TODO(), zones.ZoneGetParams{
	ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
})
if err != nil {
	var apierr *cloudflare.Error
	if errors.As(err, &apierr) {
		println(string(apierr.DumpRequest(true)))  // Prints the serialized HTTP request
		println(string(apierr.DumpResponse(true))) // Prints the serialized HTTP response
	}
	panic(err.Error()) // GET "/zones/{zone_id}": 400 Bad Request { ... }
}

When other errors occur, they are returned unwrapped; for example, if HTTP transport fails, you might receive *url.Error wrapping *net.OpError.

Timeouts

Requests do not time out by default; use context to configure a timeout for a request lifecycle.

Note that if a request is retried, the context timeout does not start over. To set a per-retry timeout, use option.WithRequestTimeout().

// This sets the timeout for the request, including all the retries.
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
defer cancel()
client.Zones.Edit(
	ctx,
	zones.ZoneEditParams{
		ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
	},
	// This sets the per-retry timeout
	option.WithRequestTimeout(20*time.Second),
)
File uploads

Request parameters that correspond to file uploads in multipart requests are typed as param.Field[io.Reader]. The contents of the io.Reader will by default be sent as a multipart form part with the file name of "anonymous_file" and content-type of "application/octet-stream".

The file name and content-type can be customized by implementing Name() string or ContentType() string on the run-time type of io.Reader. Note that os.File implements Name() string, so a file returned by os.Open will be sent with the file name on disk.

We also provide a helper cloudflare.FileParam(reader io.Reader, filename string, contentType string) which can be used to wrap any io.Reader with the appropriate file name and content type.

// A file from the file system
file, err := os.Open("/path/to/file")
kv.NamespaceValueUpdateParams{
	AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
	Value:     cloudflare.F[io.Reader](file),
}

// A file from a string
kv.NamespaceValueUpdateParams{
	AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
	Value:     cloudflare.F[io.Reader](strings.NewReader("my file contents")),
}

// With a custom filename and contentType
kv.NamespaceValueUpdateParams{
	AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
	Value:     cloudflare.FileParam(strings.NewReader(`{"hello": "foo"}`), "file.go", "application/json"),
}
Retries

Certain errors will be automatically retried 2 times by default, with a short exponential backoff. We retry by default all connection errors, 408 Request Timeout, 409 Conflict, 429 Rate Limit, and >=500 Internal errors.

You can use the WithMaxRetries option to configure or disable this:

// Configure the default for all requests:
client := cloudflare.NewClient(
	option.WithMaxRetries(0), // default is 2
)

// Override per-request:
client.Zones.Get(
	context.TODO(),
	zones.ZoneGetParams{
		ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
	},
	option.WithMaxRetries(5),
)
Accessing raw response data (e.g. response headers)

You can access the raw HTTP response data by using the option.WithResponseInto() request option. This is useful when you need to examine response headers, status codes, or other details.

// Create a variable to store the HTTP response
var response *http.Response
zone, err := client.Zones.New(
	context.TODO(),
	zones.ZoneNewParams{
		Account: cloudflare.F(zones.ZoneNewParamsAccount{
			ID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
		}),
		Name: cloudflare.F("example.com"),
		Type: cloudflare.F(zones.TypeFull),
	},
	option.WithResponseInto(&response),
)
if err != nil {
	// handle error
}
fmt.Printf("%+v\n", zone)

fmt.Printf("Status Code: %d\n", response.StatusCode)
fmt.Printf("Headers: %+#v\n", response.Header)
Making custom/undocumented requests

This library is typed for convenient access to the documented API. If you need to access undocumented endpoints, params, or response properties, the library can still be used.

Undocumented endpoints

To make requests to undocumented endpoints, you can use client.Get, client.Post, and other HTTP verbs. RequestOptions on the client, such as retries, will be respected when making these requests.

var (
    // params can be an io.Reader, a []byte, an encoding/json serializable object,
    // or a "…Params" struct defined in this library.
    params map[string]interface{}

    // result can be an []byte, *http.Response, a encoding/json deserializable object,
    // or a model defined in this library.
    result *http.Response
)
err := client.Post(context.Background(), "/unspecified", params, &result)
if err != nil {
    …
}
Undocumented request params

To make requests using undocumented parameters, you may use either the option.WithQuerySet() or the option.WithJSONSet() methods.

params := FooNewParams{
    ID:   cloudflare.F("id_xxxx"),
    Data: cloudflare.F(FooNewParamsData{
        FirstName: cloudflare.F("John"),
    }),
}
client.Foo.New(context.Background(), params, option.WithJSONSet("data.last_name", "Doe"))
Undocumented response properties

To access undocumented response properties, you may either access the raw JSON of the response as a string with result.JSON.RawJSON(), or get the raw JSON of a particular field on the result with result.JSON.Foo.Raw().

Any fields that are not present on the response struct will be saved and can be accessed by result.JSON.ExtraFields() which returns the extra fields as a map[string]Field.

Middleware

We provide option.WithMiddleware which applies the given middleware to requests.

func Logger(req *http.Request, next option.MiddlewareNext) (res *http.Response, err error) {
	// Before the request
	start := time.Now()
	LogReq(req)

	// Forward the request to the next handler
	res, err = next(req)

	// Handle stuff after the request
	end := time.Now()
	LogRes(res, err, start - end)

    return res, err
}

client := cloudflare.NewClient(
	option.WithMiddleware(Logger),
)

When multiple middlewares are provided as variadic arguments, the middlewares are applied left to right. If option.WithMiddleware is given multiple times, for example first in the client then the method, the middleware in the client will run first and the middleware given in the method will run next.

You may also replace the default http.Client with option.WithHTTPClient(client). Only one http client is accepted (this overwrites any previous client) and receives requests after any middleware has been applied.

Semantic versioning

This package generally follows SemVer conventions, though certain backwards-incompatible changes may be released as minor versions:

  1. Changes to library internals which are technically public but not intended or documented for external use. (Please open a GitHub issue to let us know if you are relying on such internals.)
  2. Changes that we do not expect to impact the vast majority of users in practice.

Maintenance

This SDK is actively maintained, however, many issues are tracked outside of GitHub on internal Cloudflare systems. Members of the community are welcome to join and discuss your issues during our twice monthly triage meetings. For urgent issues, please contact Cloudflare support.

Contributing

See the contributing documentation.

Documentation ¶

Index ¶

Constants ¶

View Source
const AuditLogActorTypeAdmin = shared.AuditLogActorTypeAdmin

This is an alias to an internal value.

View Source
const AuditLogActorTypeCloudflare = shared.AuditLogActorTypeCloudflare

This is an alias to an internal value.

View Source
const AuditLogActorTypeUser = shared.AuditLogActorTypeUser

This is an alias to an internal value.

View Source
const CertificateCADigicert = shared.CertificateCADigicert

This is an alias to an internal value.

View Source
const CertificateCAGoogle = shared.CertificateCAGoogle

This is an alias to an internal value.

View Source
const CertificateCALetsEncrypt = shared.CertificateCALetsEncrypt

This is an alias to an internal value.

View Source
const CertificateCASSLCom = shared.CertificateCASSLCom

This is an alias to an internal value.

View Source
const CertificateRequestTypeKeylessCertificate = shared.CertificateRequestTypeKeylessCertificate

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginECC = shared.CertificateRequestTypeOriginECC

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginRSA = shared.CertificateRequestTypeOriginRSA

This is an alias to an internal value.

View Source
const CloudflareTunnelConfigSrcCloudflare = shared.CloudflareTunnelConfigSrcCloudflare

This is an alias to an internal value.

View Source
const CloudflareTunnelConfigSrcLocal = shared.CloudflareTunnelConfigSrcLocal

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDegraded = shared.CloudflareTunnelStatusDegraded

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDown = shared.CloudflareTunnelStatusDown

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusHealthy = shared.CloudflareTunnelStatusHealthy

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusInactive = shared.CloudflareTunnelStatusInactive

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeGRE = shared.CloudflareTunnelTunTypeGRE

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector

This is an alias to an internal value.

View Source
const MemberPoliciesAccessAllow = shared.MemberPoliciesAccessAllow

This is an alias to an internal value.

View Source
const MemberPoliciesAccessDeny = shared.MemberPoliciesAccessDeny

This is an alias to an internal value.

View Source
const MemberStatusAccepted = shared.MemberStatusAccepted

This is an alias to an internal value.

View Source
const MemberStatusPending = shared.MemberStatusPending

This is an alias to an internal value.

View Source
const RatePlanIDBusiness = shared.RatePlanIDBusiness

This is an alias to an internal value.

View Source
const RatePlanIDEnterprise = shared.RatePlanIDEnterprise

This is an alias to an internal value.

View Source
const RatePlanIDFree = shared.RatePlanIDFree

This is an alias to an internal value.

View Source
const RatePlanIDLite = shared.RatePlanIDLite

This is an alias to an internal value.

View Source
const RatePlanIDPartnersBusiness = shared.RatePlanIDPartnersBusiness

This is an alias to an internal value.

View Source
const RatePlanIDPartnersEnterprise = shared.RatePlanIDPartnersEnterprise

This is an alias to an internal value.

View Source
const RatePlanIDPartnersFree = shared.RatePlanIDPartnersFree

This is an alias to an internal value.

View Source
const RatePlanIDPartnersPro = shared.RatePlanIDPartnersPro

This is an alias to an internal value.

View Source
const RatePlanIDPro = shared.RatePlanIDPro

This is an alias to an internal value.

View Source
const RatePlanIDProPlus = shared.RatePlanIDProPlus

This is an alias to an internal value.

View Source
const SortDirectionAsc = shared.SortDirectionAsc

This is an alias to an internal value.

View Source
const SortDirectionDesc = shared.SortDirectionDesc

This is an alias to an internal value.

View Source
const SubscriptionFrequencyMonthly = shared.SubscriptionFrequencyMonthly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyQuarterly = shared.SubscriptionFrequencyQuarterly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyWeekly = shared.SubscriptionFrequencyWeekly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyYearly = shared.SubscriptionFrequencyYearly

This is an alias to an internal value.

View Source
const SubscriptionStateAwaitingPayment = shared.SubscriptionStateAwaitingPayment

This is an alias to an internal value.

View Source
const SubscriptionStateCancelled = shared.SubscriptionStateCancelled

This is an alias to an internal value.

View Source
const SubscriptionStateExpired = shared.SubscriptionStateExpired

This is an alias to an internal value.

View Source
const SubscriptionStateFailed = shared.SubscriptionStateFailed

This is an alias to an internal value.

View Source
const SubscriptionStatePaid = shared.SubscriptionStatePaid

This is an alias to an internal value.

View Source
const SubscriptionStateProvisioned = shared.SubscriptionStateProvisioned

This is an alias to an internal value.

View Source
const SubscriptionStateTrial = shared.SubscriptionStateTrial

This is an alias to an internal value.

View Source
const TokenPolicyEffectAllow = shared.TokenPolicyEffectAllow

This is an alias to an internal value.

View Source
const TokenPolicyEffectDeny = shared.TokenPolicyEffectDeny

This is an alias to an internal value.

View Source
const TokenStatusActive = shared.TokenStatusActive

This is an alias to an internal value.

View Source
const TokenStatusDisabled = shared.TokenStatusDisabled

This is an alias to an internal value.

View Source
const TokenStatusExpired = shared.TokenStatusExpired

This is an alias to an internal value.

Variables ¶

This section is empty.

Functions ¶

func Bool ¶

func Bool(value bool) param.Field[bool]

Bool is a param field helper which helps specify bools.

func DefaultClientOptions ¶

func DefaultClientOptions() []option.RequestOption

DefaultClientOptions read from the environment (CLOUDFLARE_API_KEY, CLOUDFLARE_API_USER_SERVICE_KEY, CLOUDFLARE_API_TOKEN, CLOUDFLARE_EMAIL, CLOUDFLARE_BASE_URL). This should be used to initialize new clients.

func F ¶

func F[T any](value T) param.Field[T]

F is a param field helper used to initialize a param.Field generic struct. This helps specify null, zero values, and overrides, as well as normal values. You can read more about this in our README.

func FileParam ¶

func FileParam(reader io.Reader, filename string, contentType string) param.Field[io.Reader]

FileParam is a param field helper which helps files with a mime content-type.

func Float ¶

func Float(value float64) param.Field[float64]

Float is a param field helper which helps specify floats.

func Int ¶

func Int(value int64) param.Field[int64]

Int is a param field helper which helps specify integers. This is particularly helpful when specifying integer constants for fields.

func Null ¶

func Null[T any]() param.Field[T]

Null is a param field helper which explicitly sends null to the API.

func Raw ¶

func Raw[T any](value any) param.Field[T]

Raw is a param field helper for specifying values for fields when the type you are looking to send is different from the type that is specified in the SDK. For example, if the type of the field is an integer, but you want to send a float, you could do that by setting the corresponding field with Raw[int](0.5).

func String ¶

func String(value string) param.Field[string]

String is a param field helper which helps specify strings.

Types ¶

type ASN ¶

type ASN = shared.ASN

This is an alias to an internal type.

type ASNParam ¶

type ASNParam = shared.ASNParam

This is an alias to an internal type.

type AnalyticsQueryDataSecurityContentFindingService ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingService struct {
	Options []option.RequestOption
}

AnalyticsQueryDataSecurityContentFindingService 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 NewAnalyticsQueryDataSecurityContentFindingService method instead.

func NewAnalyticsQueryDataSecurityContentFindingService ¶ added in v7.8.0

func NewAnalyticsQueryDataSecurityContentFindingService(opts ...option.RequestOption) (r *AnalyticsQueryDataSecurityContentFindingService)

NewAnalyticsQueryDataSecurityContentFindingService 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 (*AnalyticsQueryDataSecurityContentFindingService) TopN ¶ added in v7.8.0

Returns the top N integrations ranked by total content findings.

func (*AnalyticsQueryDataSecurityContentFindingService) TopNAutoPaging ¶ added in v7.8.0

Returns the top N integrations ranked by total content findings.

type AnalyticsQueryDataSecurityContentFindingTopNParams ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingTopNParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply. `findingType = content` is applied automatically for CASB
	// data.
	Filters param.Field[[]AnalyticsQueryDataSecurityContentFindingTopNParamsFilter] `json:"filters" api:"required"`
	// Start of the query time range (inclusive). RFC3339.
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// Maximum number of integrations to return.
	N param.Field[int64] `json:"n" api:"required"`
	// End of the query time range (exclusive). RFC3339.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQueryDataSecurityContentFindingTopNParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryDataSecurityContentFindingTopNParams) MarshalJSON() (data []byte, err error)

type AnalyticsQueryDataSecurityContentFindingTopNParamsFilter ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingTopNParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQueryDataSecurityContentFindingTopNParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQueryDataSecurityContentFindingTopNParamsFilter) MarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingTopNParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingTopNParamsFiltersValueUnion interface {
	ImplementsAnalyticsQueryDataSecurityContentFindingTopNParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQueryDataSecurityContentFindingTopNResponse ¶ added in v7.8.0

type AnalyticsQueryDataSecurityContentFindingTopNResponse map[string]interface{}

type AnalyticsQueryDataSecurityFindingService ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingService struct {
	Options []option.RequestOption
}

AnalyticsQueryDataSecurityFindingService 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 NewAnalyticsQueryDataSecurityFindingService method instead.

func NewAnalyticsQueryDataSecurityFindingService ¶ added in v7.8.0

func NewAnalyticsQueryDataSecurityFindingService(opts ...option.RequestOption) (r *AnalyticsQueryDataSecurityFindingService)

NewAnalyticsQueryDataSecurityFindingService 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 (*AnalyticsQueryDataSecurityFindingService) Summary ¶ added in v7.8.0

Returns aggregate current-period and previous-period totals for CASB findings.

func (*AnalyticsQueryDataSecurityFindingService) Timeseries ¶ added in v7.8.0

Returns merged time-bucketed CASB findings.

type AnalyticsQueryDataSecurityFindingSummaryParams ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply.
	Filters param.Field[[]AnalyticsQueryDataSecurityFindingSummaryParamsFilter] `json:"filters" api:"required"`
	// Start of the query time range (inclusive). RFC3339.
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// End of the query time range (exclusive). RFC3339.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQueryDataSecurityFindingSummaryParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryDataSecurityFindingSummaryParams) MarshalJSON() (data []byte, err error)

type AnalyticsQueryDataSecurityFindingSummaryParamsFilter ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQueryDataSecurityFindingSummaryParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQueryDataSecurityFindingSummaryParamsFilter) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryDataSecurityFindingSummaryParamsFilter) MarshalJSON() (data []byte, err error)

type AnalyticsQueryDataSecurityFindingSummaryParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryParamsFiltersValueUnion interface {
	ImplementsAnalyticsQueryDataSecurityFindingSummaryParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQueryDataSecurityFindingSummaryResponse ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponse struct {
	// Aggregated stats for the requested time range.
	CurrentTotal []map[string]interface{} `json:"currentTotal" api:"required"`
	// Aggregated stats for the equivalent preceding time range, for trend comparison.
	PreviousTotal []map[string]interface{}                             `json:"previousTotal" api:"required"`
	JSON          analyticsQueryDataSecurityFindingSummaryResponseJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingSummaryResponse) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryDataSecurityFindingSummaryResponse) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelope ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelope struct {
	Errors   []AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeErrors   `json:"errors" api:"required"`
	Messages []AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeMessages `json:"messages" api:"required"`
	Result   AnalyticsQueryDataSecurityFindingSummaryResponse                   `json:"result" api:"required"`
	Success  bool                                                               `json:"success" api:"required"`
	JSON     analyticsQueryDataSecurityFindingSummaryResponseEnvelopeJSON       `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingSummaryResponseEnvelope) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeErrors ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeErrors struct {
	Code    int64                                                              `json:"code"`
	Message string                                                             `json:"message"`
	JSON    analyticsQueryDataSecurityFindingSummaryResponseEnvelopeErrorsJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeErrors) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeMessages ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeMessages struct {
	Code    int64                                                                `json:"code"`
	Message string                                                               `json:"message"`
	JSON    analyticsQueryDataSecurityFindingSummaryResponseEnvelopeMessagesJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingSummaryResponseEnvelopeMessages) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesParams ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply.
	Filters param.Field[[]AnalyticsQueryDataSecurityFindingTimeseriesParamsFilter] `json:"filters" api:"required"`
	// Start of the query time range (inclusive). RFC3339.
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// End of the query time range (exclusive). RFC3339.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQueryDataSecurityFindingTimeseriesParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryDataSecurityFindingTimeseriesParams) MarshalJSON() (data []byte, err error)

type AnalyticsQueryDataSecurityFindingTimeseriesParamsFilter ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQueryDataSecurityFindingTimeseriesParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQueryDataSecurityFindingTimeseriesParamsFilter) MarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesParamsFiltersValueUnion interface {
	ImplementsAnalyticsQueryDataSecurityFindingTimeseriesParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQueryDataSecurityFindingTimeseriesResponse ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponse struct {
	// Contains time-bucketed result rows. Each slot includes a `timestamp` plus
	// `content` and `posture` maps with `cloud` and `saas` keys.
	Slots []map[string]interface{} `json:"slots" api:"required"`
	// Always null for this endpoint.
	Resolution string                                                  `json:"resolution" api:"nullable"`
	JSON       analyticsQueryDataSecurityFindingTimeseriesResponseJSON `json:"-"`
}

Merged CASB and CDE findings timeseries result.

func (*AnalyticsQueryDataSecurityFindingTimeseriesResponse) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryDataSecurityFindingTimeseriesResponse) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelope ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelope struct {
	Errors   []AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeErrors   `json:"errors" api:"required"`
	Messages []AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeMessages `json:"messages" api:"required"`
	// Merged CASB and CDE findings timeseries result.
	Result  AnalyticsQueryDataSecurityFindingTimeseriesResponse             `json:"result" api:"required"`
	Success bool                                                            `json:"success" api:"required"`
	JSON    analyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelope) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeErrors ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeErrors struct {
	Code    int64                                                                 `json:"code"`
	Message string                                                                `json:"message"`
	JSON    analyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeErrorsJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeErrors) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeMessages ¶ added in v7.8.0

type AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeMessages struct {
	Code    int64                                                                   `json:"code"`
	Message string                                                                  `json:"message"`
	JSON    analyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeMessagesJSON `json:"-"`
}

func (*AnalyticsQueryDataSecurityFindingTimeseriesResponseEnvelopeMessages) UnmarshalJSON ¶ added in v7.8.0

type AnalyticsQueryDataSecurityService ¶ added in v7.8.0

type AnalyticsQueryDataSecurityService struct {
	Options         []option.RequestOption
	ContentFindings *AnalyticsQueryDataSecurityContentFindingService
	Findings        *AnalyticsQueryDataSecurityFindingService
}

AnalyticsQueryDataSecurityService 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 NewAnalyticsQueryDataSecurityService method instead.

func NewAnalyticsQueryDataSecurityService ¶ added in v7.8.0

func NewAnalyticsQueryDataSecurityService(opts ...option.RequestOption) (r *AnalyticsQueryDataSecurityService)

NewAnalyticsQueryDataSecurityService 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.

type AnalyticsQueryService ¶ added in v7.8.0

type AnalyticsQueryService struct {
	Options      []option.RequestOption
	DataSecurity *AnalyticsQueryDataSecurityService
}

AnalyticsQueryService 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 NewAnalyticsQueryService method instead.

func NewAnalyticsQueryService ¶ added in v7.8.0

func NewAnalyticsQueryService(opts ...option.RequestOption) (r *AnalyticsQueryService)

NewAnalyticsQueryService 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 (*AnalyticsQueryService) Summary ¶ added in v7.8.0

Returns aggregate summary stats for a dataset. Includes current-period and previous-period totals for trend comparison.

func (*AnalyticsQueryService) Timeseries ¶ added in v7.8.0

Returns time-bucketed analytics data for a dataset. Includes time slots, each containing the requested stats, group-by dimensions, and resolution-controlled bucket size (e.g. `hour`, `day`).

func (*AnalyticsQueryService) TopN ¶ added in v7.8.0

Returns the top N results for a dataset by a specified stat. Includes an array of result rows, each containing the requested stats and group-by dimensions.

func (*AnalyticsQueryService) TopNAutoPaging ¶ added in v7.8.0

Returns the top N results for a dataset by a specified stat. Includes an array of result rows, each containing the requested stats and group-by dimensions.

type AnalyticsQuerySummaryParams ¶ added in v7.8.0

type AnalyticsQuerySummaryParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply before aggregating results.
	Filters param.Field[[]AnalyticsQuerySummaryParamsFilter] `json:"filters" api:"required"`
	// The start of the query time range (inclusive). RFC3339 format with timezone is
	// required (e.g. `2024-11-05T00:00:00Z`).
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// Specifies the column names to group results by. Requires valid columns for the
	// target dataset.
	GroupBy param.Field[[]string] `json:"groupBy" api:"required"`
	// Specifies the stat names to include in results. Requires valid stats for the
	// target dataset (e.g. `attemptsTotal`, `bytesTotal`).
	Stats param.Field[[]string] `json:"stats" api:"required"`
	// Specifies the end of the query time range (exclusive). Requires RFC3339 format
	// with timezone.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQuerySummaryParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQuerySummaryParams) MarshalJSON() (data []byte, err error)

type AnalyticsQuerySummaryParamsFilter ¶ added in v7.8.0

type AnalyticsQuerySummaryParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQuerySummaryParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQuerySummaryParamsFilter) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQuerySummaryParamsFilter) MarshalJSON() (data []byte, err error)

type AnalyticsQuerySummaryParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQuerySummaryParamsFiltersValueUnion interface {
	ImplementsAnalyticsQuerySummaryParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQuerySummaryResponse ¶ added in v7.8.0

type AnalyticsQuerySummaryResponse struct {
	// Aggregated stats for the requested time range.
	CurrentTotal []map[string]interface{} `json:"currentTotal" api:"required"`
	// Aggregated stats for the equivalent preceding time range, for trend comparison.
	PreviousTotal []map[string]interface{}          `json:"previousTotal" api:"required"`
	JSON          analyticsQuerySummaryResponseJSON `json:"-"`
}

func (*AnalyticsQuerySummaryResponse) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQuerySummaryResponse) UnmarshalJSON(data []byte) (err error)

type AnalyticsQuerySummaryResponseEnvelope ¶ added in v7.8.0

type AnalyticsQuerySummaryResponseEnvelope struct {
	Errors   []AnalyticsQuerySummaryResponseEnvelopeErrors   `json:"errors" api:"required"`
	Messages []AnalyticsQuerySummaryResponseEnvelopeMessages `json:"messages" api:"required"`
	Result   AnalyticsQuerySummaryResponse                   `json:"result" api:"required"`
	Success  bool                                            `json:"success" api:"required"`
	JSON     analyticsQuerySummaryResponseEnvelopeJSON       `json:"-"`
}

func (*AnalyticsQuerySummaryResponseEnvelope) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQuerySummaryResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AnalyticsQuerySummaryResponseEnvelopeErrors ¶ added in v7.8.0

type AnalyticsQuerySummaryResponseEnvelopeErrors struct {
	Code    int64                                           `json:"code"`
	Message string                                          `json:"message"`
	JSON    analyticsQuerySummaryResponseEnvelopeErrorsJSON `json:"-"`
}

func (*AnalyticsQuerySummaryResponseEnvelopeErrors) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQuerySummaryResponseEnvelopeErrors) UnmarshalJSON(data []byte) (err error)

type AnalyticsQuerySummaryResponseEnvelopeMessages ¶ added in v7.8.0

type AnalyticsQuerySummaryResponseEnvelopeMessages struct {
	Code    int64                                             `json:"code"`
	Message string                                            `json:"message"`
	JSON    analyticsQuerySummaryResponseEnvelopeMessagesJSON `json:"-"`
}

func (*AnalyticsQuerySummaryResponseEnvelopeMessages) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQuerySummaryResponseEnvelopeMessages) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryTimeseriesParams ¶ added in v7.8.0

type AnalyticsQueryTimeseriesParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply before aggregating results.
	Filters param.Field[[]AnalyticsQueryTimeseriesParamsFilter] `json:"filters" api:"required"`
	// The start of the query time range (inclusive). RFC3339 format with timezone is
	// required (e.g. `2024-11-05T00:00:00Z`).
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// Specifies the column names to group results by. Requires valid columns for the
	// target dataset.
	GroupBy param.Field[[]string] `json:"groupBy" api:"required"`
	// Time bucket size for grouping results. Controls the granularity of the returned
	// time slots.
	Resolution param.Field[string] `json:"resolution" api:"required"`
	// Specifies the stat names to include in results. Requires valid stats for the
	// target dataset (e.g. `attemptsTotal`, `bytesTotal`).
	Stats param.Field[[]string] `json:"stats" api:"required"`
	// Specifies the end of the query time range (exclusive). Requires RFC3339 format
	// with timezone.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQueryTimeseriesParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryTimeseriesParams) MarshalJSON() (data []byte, err error)

type AnalyticsQueryTimeseriesParamsFilter ¶ added in v7.8.0

type AnalyticsQueryTimeseriesParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQueryTimeseriesParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQueryTimeseriesParamsFilter) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryTimeseriesParamsFilter) MarshalJSON() (data []byte, err error)

type AnalyticsQueryTimeseriesParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQueryTimeseriesParamsFiltersValueUnion interface {
	ImplementsAnalyticsQueryTimeseriesParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQueryTimeseriesResponse ¶ added in v7.8.0

type AnalyticsQueryTimeseriesResponse struct {
	// The resolution used for time bucketing.
	Resolution string `json:"resolution" api:"required"`
	// Time-bucketed result rows. Each slot contains a `time_bucket` field plus the
	// requested stats and group-by dimensions.
	Slots []map[string]interface{}             `json:"slots" api:"required"`
	JSON  analyticsQueryTimeseriesResponseJSON `json:"-"`
}

func (*AnalyticsQueryTimeseriesResponse) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryTimeseriesResponse) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryTimeseriesResponseEnvelope ¶ added in v7.8.0

type AnalyticsQueryTimeseriesResponseEnvelope struct {
	Errors   []AnalyticsQueryTimeseriesResponseEnvelopeErrors   `json:"errors" api:"required"`
	Messages []AnalyticsQueryTimeseriesResponseEnvelopeMessages `json:"messages" api:"required"`
	Result   AnalyticsQueryTimeseriesResponse                   `json:"result" api:"required"`
	Success  bool                                               `json:"success" api:"required"`
	JSON     analyticsQueryTimeseriesResponseEnvelopeJSON       `json:"-"`
}

func (*AnalyticsQueryTimeseriesResponseEnvelope) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryTimeseriesResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryTimeseriesResponseEnvelopeErrors ¶ added in v7.8.0

type AnalyticsQueryTimeseriesResponseEnvelopeErrors struct {
	Code    int64                                              `json:"code"`
	Message string                                             `json:"message"`
	JSON    analyticsQueryTimeseriesResponseEnvelopeErrorsJSON `json:"-"`
}

func (*AnalyticsQueryTimeseriesResponseEnvelopeErrors) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryTimeseriesResponseEnvelopeErrors) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryTimeseriesResponseEnvelopeMessages ¶ added in v7.8.0

type AnalyticsQueryTimeseriesResponseEnvelopeMessages struct {
	Code    int64                                                `json:"code"`
	Message string                                               `json:"message"`
	JSON    analyticsQueryTimeseriesResponseEnvelopeMessagesJSON `json:"-"`
}

func (*AnalyticsQueryTimeseriesResponseEnvelopeMessages) UnmarshalJSON ¶ added in v7.8.0

func (r *AnalyticsQueryTimeseriesResponseEnvelopeMessages) UnmarshalJSON(data []byte) (err error)

type AnalyticsQueryTopNParams ¶ added in v7.8.0

type AnalyticsQueryTopNParams struct {
	AccountID param.Field[string] `path:"account_id" api:"required"`
	// Filters to apply before aggregating results.
	Filters param.Field[[]AnalyticsQueryTopNParamsFilter] `json:"filters" api:"required"`
	// The start of the query time range (inclusive). RFC3339 format with timezone is
	// required (e.g. `2024-11-05T00:00:00Z`).
	From param.Field[time.Time] `json:"from" api:"required" format:"date-time"`
	// Specifies the column names to group results by. Requires valid columns for the
	// target dataset.
	GroupBy param.Field[[]string] `json:"groupBy" api:"required"`
	// Maximum number of results to return.
	N param.Field[int64] `json:"n" api:"required"`
	// Specifies the stat name for sorting results in descending order. Requires a
	// valid stat for the target dataset.
	OrderBy param.Field[string] `json:"orderBy" api:"required"`
	// Specifies the stat names to include in results. Requires valid stats for the
	// target dataset (e.g. `attemptsTotal`, `bytesTotal`).
	Stats param.Field[[]string] `json:"stats" api:"required"`
	// Specifies the end of the query time range (exclusive). Requires RFC3339 format
	// with timezone.
	To param.Field[time.Time] `json:"to" api:"required" format:"date-time"`
}

func (AnalyticsQueryTopNParams) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryTopNParams) MarshalJSON() (data []byte, err error)

type AnalyticsQueryTopNParamsFilter ¶ added in v7.8.0

type AnalyticsQueryTopNParamsFilter struct {
	// Specifies the column name to filter on. Requires a valid column for the target
	// dataset (e.g. `country`, `allowed`, `appId`).
	Name param.Field[string] `json:"name" api:"required"`
	// Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
	// `lte`.
	Op param.Field[string] `json:"op" api:"required"`
	// Values to match against. Type depends on the column.
	Values param.Field[[]AnalyticsQueryTopNParamsFiltersValueUnion] `json:"values" api:"required"`
}

A filter to apply to the query.

func (AnalyticsQueryTopNParamsFilter) MarshalJSON ¶ added in v7.8.0

func (r AnalyticsQueryTopNParamsFilter) MarshalJSON() (data []byte, err error)

type AnalyticsQueryTopNParamsFiltersValueUnion ¶ added in v7.8.0

type AnalyticsQueryTopNParamsFiltersValueUnion interface {
	ImplementsAnalyticsQueryTopNParamsFiltersValueUnion()
}

Satisfied by shared.UnionString, shared.UnionBool, shared.UnionFloat.

type AnalyticsQueryTopNResponse ¶ added in v7.8.0

type AnalyticsQueryTopNResponse map[string]interface{}

type AuditLog ¶

type AuditLog = shared.AuditLog

This is an alias to an internal type.

type AuditLogAction ¶

type AuditLogAction = shared.AuditLogAction

This is an alias to an internal type.

type AuditLogActor ¶

type AuditLogActor = shared.AuditLogActor

This is an alias to an internal type.

type AuditLogActorType ¶

type AuditLogActorType = shared.AuditLogActorType

The type of actor, whether a User, Cloudflare Admin, or an Automated System.

This is an alias to an internal type.

type AuditLogOwner ¶

type AuditLogOwner = shared.AuditLogOwner

This is an alias to an internal type.

type AuditLogResource ¶

type AuditLogResource = shared.AuditLogResource

This is an alias to an internal type.

type CertificateCA ¶

type CertificateCA = shared.CertificateCA

The Certificate Authority that will issue the certificate.

This is an alias to an internal type.

type CertificateRequestType ¶

type CertificateRequestType = shared.CertificateRequestType

Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).

This is an alias to an internal type.

type Client ¶

type Client struct {
	Options                 []option.RequestOption
	Accounts                *accounts.AccountService
	Organizations           *organizations.OrganizationService
	Tenants                 *tenants.TenantService
	OriginCACertificates    *origin_ca_certificates.OriginCACertificateService
	IPs                     *ips.IPService
	Memberships             *memberships.MembershipService
	User                    *user.UserService
	Zones                   *zones.ZoneService
	LoadBalancers           *load_balancers.LoadBalancerService
	Cache                   *cache.CacheService
	SSL                     *ssl.SSLService
	ACM                     *acm.ACMService
	AnalyticsQuery          *AnalyticsQueryService
	Argo                    *argo.ArgoService
	CertificateAuthorities  *certificate_authorities.CertificateAuthorityService
	ClientCertificates      *client_certificates.ClientCertificateService
	CustomCertificates      *custom_certificates.CustomCertificateService
	CustomCsrs              *custom_csrs.CustomCsrService
	CustomHostnames         *custom_hostnames.CustomHostnameService
	CustomNameservers       *custom_nameservers.CustomNameserverService
	TenantCustomNameservers *tenant_custom_nameservers.TenantCustomNameserverService
	DNSFirewall             *dns_firewall.DNSFirewallService
	DNS                     *dns.DNSService
	EmailSecurity           *email_security.EmailSecurityService
	EmailAuth               *email_auth.EmailAuthService
	EmailRouting            *email_routing.EmailRoutingService
	EmailSending            *email_sending.EmailSendingService
	// Deprecated: The Filters API is deprecated in favour of using the Ruleset Engine.
	// See
	// https://developers.cloudflare.com/fundamentals/api/reference/deprecations/#firewall-rules-api-and-filters-api
	// for full details.
	Filters             *filters.FilterService
	Firewall            *firewall.FirewallService
	Healthchecks        *healthchecks.HealthcheckService
	KeylessCertificates *keyless_certificates.KeylessCertificateService
	Logpush             *logpush.LogpushService
	Logs                *logs.LogService
	OriginTLSClientAuth *origin_tls_client_auth.OriginTLSClientAuthService
	PageRules           *page_rules.PageRuleService
	// Deprecated: Rate limiting API is deprecated in favour of using the Ruleset
	// Engine. See
	// https://developers.cloudflare.com/fundamentals/api/reference/deprecations/#rate-limiting-api-previous-version
	// for full details.
	RateLimits             *rate_limits.RateLimitService
	WaitingRooms           *waiting_rooms.WaitingRoomService
	Web3                   *web3.Web3Service
	Workers                *workers.WorkerService
	KV                     *kv.KVService
	DurableObjects         *durable_objects.DurableObjectService
	Queues                 *queues.QueueService
	APIGateway             *api_gateway.APIGatewayService
	ManagedTransforms      *managed_transforms.ManagedTransformService
	PageShield             *page_shield.PageShieldService
	Rulesets               *rulesets.RulesetService
	URLNormalization       *url_normalization.URLNormalizationService
	Spectrum               *spectrum.SpectrumService
	Addressing             *addressing.AddressingService
	DLS                    *dls.DLSService
	AuditLogs              *audit_logs.AuditLogService
	Billing                *billing.BillingService
	BrandProtection        *brand_protection.BrandProtectionService
	Diagnostics            *diagnostics.DiagnosticService
	Images                 *images.ImageService
	Intel                  *intel.IntelService
	MagicTransit           *magic_transit.MagicTransitService
	DDoSProtection         *ddos_protection.DDoSProtectionService
	MagicNetworkMonitoring *magic_network_monitoring.MagicNetworkMonitoringService
	MagicCloudNetworking   *magic_cloud_networking.MagicCloudNetworkingService
	NetworkInterconnects   *network_interconnects.NetworkInterconnectService
	MTLSCertificates       *mtls_certificates.MTLSCertificateService
	Pages                  *pages.PageService
	// Registrar API for searching, checking, registering, and managing domains through
	// Cloudflare Registrar.
	//
	// ## Prerequisites
	//
	// Before using this API, ensure:
	//
	//  1. **Cloudflare account** — the caller must have a valid Cloudflare account.
	//  2. **Billing profile** — the account must have a billing profile with a valid,
	//     current default payment method (credit card or other accepted method). This
	//     cannot be set up via API — the account owner must configure billing at
	//     `https://dash.cloudflare.com/{account_id}/billing/payment-info` before
	//     calling `POST /registrations`.
	//  3. **API authentication** — use an API token or API key with the appropriate
	//     Registrar permissions for the operations you are calling.
	//
	// ## Terminology: domain extension
	//
	// Throughout this API, "extension" refers to the domain extension part of a fully
	// qualified domain name — the portion after the registrable label. For example, in
	// `example.co.uk`, the extension is `co.uk` (not just `uk`). This covers both
	// top-level domains like `com` and multi-level extensions like `co.uk`. This is
	// distinct from other uses of the word "extension" (e.g., EPP extensions).
	//
	// ## Supported extensions
	//
	// This API supports programmatic registration for all extensions supported by the
	// dashboard experience, with the following exceptions:
	//
	// `giving`, `mom`, `inc`, `lol`, `sh`, `link`, `cc`, `new`
	//
	// Cloudflare Registrar supports 400+ extensions in the dashboard. Extensions
	// listed above can be registered at
	// `https://dash.cloudflare.com/{account_id}/domains/registrations`.
	//
	// ## Typical workflow
	//
	//  1. **Search** — call `GET /domain-search?q={keyword}` to discover available
	//     domains.
	//  2. **Check** — call `POST /domain-check` with candidate domains to verify
	//     real-time availability and pricing.
	//  3. **Review the response** — if `registrable: false`, inspect `reason` to
	//     understand whether the domain is unavailable, the extension is not supported
	//     by this API, the extension is not supported by Cloudflare Registrar at all,
	//     or the extension's registry has frozen new registrations.
	//  4. **Handle premium domains** — if `tier: premium`, premium registration is not
	//     currently supported by this API. Surface the premium pricing to the user, but
	//     do not proceed to `POST /registrations` for that domain.
	//  5. **Observe the registration schema** — call `GET /extensions/:extension_name`
	//     to discover the required values for registering this extension.
	//  6. **Register** — call `POST /registrations` with the chosen domain name for
	//     supported non-premium registrations.
	//  7. **Confirm completion** — if the response is `201 Created`, registration
	//     completed within the default timeout and no polling is needed.
	//  8. **Poll when needed** — if the response is `202 Accepted`, poll `links.self`
	//     from the workflow response.
	//  9. **Stop for user action** — if `state: action_required`, stop polling and
	//     surface `context.action` to the user. The workflow will not resolve on its
	//     own.
	//  10. **Continue when blocked** — if `state: blocked`, continue polling and inform
	//     the user that a third party, such as the extension registry or losing
	//     registrar, is delaying progress.
	//  11. **Review failures before retrying** — if `state: failed`, review
	//     `error.code` and `error.message`, then decide whether user action or a new
	//     Check call is needed.
	//
	// **All successful domain registrations are non-refundable.** Once the
	// registration workflow completes with `state: succeeded`, the charge cannot be
	// reversed. Confirm pricing and domain choice with the user before calling
	// `POST /registrations`.
	//
	// ## Default behavior for mutating operations
	//
	// By default, mutating operations such as create and update hold the connection
	// for a bounded, server-defined amount of time while the operation completes. In
	// most cases, the response contains a completed workflow status and no polling is
	// required.
	//
	//   - **Completed within the synchronous wait window:** Returns `201` (create) or
	//     `200` (update) with a `workflow_status` where `state: succeeded` and
	//     `completed: true`.
	//   - **Still processing after the synchronous wait window:** Returns `202 Accepted`
	//     with a `workflow_status` where `completed: false`. Use the `links.self` URL to
	//     poll for completion.
	//
	// ## Non-blocking mode
	//
	// To receive an immediate `202 Accepted` response without waiting, send the
	// `Prefer: respond-async` request header (RFC 7240). The server will acknowledge
	// it with a `Preference-Applied: respond-async` response header.
	//
	// ## Polling
	//
	// When the response is `202`, poll the workflow status endpoint indicated by
	// `links.self` in the response body until the workflow reaches a terminal state or
	// requires user action.
	Registrar *registrar.RegistrarService
	// Use the Registrar Sandbox API to test domain search, availability checks,
	// registration, and domain management flows without buying real domains.
	//
	// **This API is a test environment for the production Registrar API.**
	//
	// ## Prerequisites
	//
	// Before using this API, make sure you have:
	//
	//  1. **Cloudflare account** — the caller must have a valid Cloudflare account.
	//  2. **API authentication** — create an API token with Registrar Sandbox
	//     permissions.
	//
	// ## How the Sandbox API differs from the production Registrar API
	//
	// Because the Sandbox API is intended for testing, it behaves differently from the
	// production Registrar API in a few important ways:
	//
	//  1. **No billing** — you will not be charged real money for purchasing a domain.
	//  2. **No real domains** — purchased domains are test records and will not be
	//     reachable on the Internet.
	//  3. **No DNS zones** — purchasing a domain does not create a zone resource.
	//  4. **No Registration Express Mode** — you must provide full contact data.
	//
	// Sandbox purchases are still persisted. If you purchase a domain in the sandbox,
	// that domain will not be available for others to purchase in the sandbox.
	//
	// ## Terminology: domain extension
	//
	// Throughout this API, "extension" refers to the domain extension part of a fully
	// qualified domain name — the portion after the registrable label. For example, in
	// `example.co.uk`, the extension is `co.uk` (not just `uk`). This covers both
	// top-level domains like `com` and multi-level extensions like `co.uk`. This is
	// distinct from other uses of the word "extension" (e.g., EPP extensions).
	//
	// ## Supported extensions
	//
	// The Sandbox API currently supports programmatic registration for these
	// extensions:
	//
	// `com`, `net`
	//
	// The production Registrar API supports 40+ extensions.
	//
	// Cloudflare Registrar supports 400+ extensions in the dashboard. Extensions not
	// listed above can be registered at
	// `https://dash.cloudflare.com/{account_id}/domains/registrations`.
	//
	// ## Typical workflow
	//
	//  1. **Search** — call `GET /domain-search?q={keyword}` to discover available
	//     domains.
	//  2. **Check** — call `POST /domain-check` with candidate domains to verify
	//     real-time availability and pricing.
	//  3. **Review the response** — if `registrable: false`, inspect `reason` to
	//     understand whether the domain is unavailable, the extension is not supported
	//     by this API, the extension is not supported by Cloudflare Registrar at all,
	//     or the extension's registry has frozen new registrations.
	//  4. **Handle premium domains** — if `tier: premium`, premium registration is not
	//     currently supported by this API. The Sandbox API currently supports only
	//     `com` and `net`, which do not have premium registrations, but clients should
	//     still handle this response for consistency with the production Registrar API.
	//     Surface the premium pricing to the user, but do not proceed to
	//     `POST /registrations` for that domain.
	//  5. **Observe the registration schema** — call `GET /extensions/:extension_name`
	//     to discover the required values for registering this extension.
	//  6. **Register** — call `POST /registrations` with the chosen domain name for
	//     supported non-premium registrations.
	//  7. **Confirm completion** — if the response is `201 Created`, registration
	//     completed within the default timeout and no polling is needed.
	//  8. **Poll when needed** — if the response is `202 Accepted`, poll `links.self`
	//     from the workflow response.
	//  9. **Stop for user action** — if `state: action_required`, stop polling and
	//     surface `context.action` to the user. The workflow will not resolve on its
	//     own.
	//  10. **Continue when blocked** — if `state: blocked`, continue polling and inform
	//     the user that a third party, such as the extension registry or losing
	//     registrar, is delaying progress.
	//  11. **Review failures before retrying** — if `state: failed`, review
	//     `error.code` and `error.message`, then decide whether user action or a new
	//     Check call is needed.
	//
	// ## Default behavior for mutating operations
	//
	// By default, mutating operations such as create and update hold the connection
	// for a bounded, server-defined amount of time while the operation completes. In
	// most cases, the response contains a completed workflow status and no polling is
	// required.
	//
	//   - **Completed within the synchronous wait window:** Returns `201` (create) or
	//     `200` (update) with a `workflow_status` where `state: succeeded` and
	//     `completed: true`.
	//   - **Still processing after the synchronous wait window:** Returns `202 Accepted`
	//     with a `workflow_status` where `completed: false`. Use the `links.self` URL to
	//     poll for completion.
	//
	// ## Non-blocking mode
	//
	// To receive an immediate `202 Accepted` response without waiting, send the
	// `Prefer: respond-async` request header (RFC 7240). The server will acknowledge
	// it with a `Preference-Applied: respond-async` response header.
	//
	// ## Polling
	//
	// When the response is `202`, poll the workflow status endpoint indicated by
	// `links.self` in the response body until the workflow reaches a terminal state or
	// requires user action.
	RegistrarSandbox            *registrar_sandbox.RegistrarSandboxService
	RequestTracers              *request_tracers.RequestTracerService
	Rules                       *rules.RuleService
	Stream                      *stream.StreamService
	Alerting                    *alerting.AlertingService
	D1                          *d1.D1Service
	R2                          *r2.R2Service
	R2DataCatalog               *r2_data_catalog.R2DataCatalogService
	WorkersForPlatforms         *workers_for_platforms.WorkersForPlatformService
	ZeroTrust                   *zero_trust.ZeroTrustService
	Turnstile                   *turnstile.TurnstileService
	Connectivity                *connectivity.ConnectivityService
	Hyperdrive                  *hyperdrive.HyperdriveService
	RUM                         *rum.RUMService
	Vectorize                   *vectorize.VectorizeService
	URLScanner                  *url_scanner.URLScannerService
	VulnerabilityScanner        *vulnerability_scanner.VulnerabilityScannerService
	Radar                       *radar.RadarService
	BotManagement               *bot_management.BotManagementService
	Fraud                       *fraud.FraudService
	OriginPostQuantumEncryption *origin_post_quantum_encryption.OriginPostQuantumEncryptionService
	OriginTLSComplianceModes    *origin_tls_compliance_modes.OriginTLSComplianceModeService
	GoogleTagGateway            *google_tag_gateway.GoogleTagGatewayService
	Zaraz                       *zaraz.ZarazService
	Speed                       *speed.SpeedService
	DCVDelegation               *dcv_delegation.DCVDelegationService
	Hostnames                   *hostnames.HostnameService
	Snippets                    *snippets.SnippetService
	RealtimeKit                 *realtime_kit.RealtimeKitService
	Calls                       *calls.CallService
	MoQ                         *moq.MoQService
	CloudforceOne               *cloudforce_one.CloudforceOneService
	AIGateway                   *ai_gateway.AIGatewayService
	Flagship                    *flagship.FlagshipService
	IAM                         *iam.IAMService
	CloudConnector              *cloud_connector.CloudConnectorService
	BotnetFeed                  *botnet_feed.BotnetFeedService
	SecurityTXT                 *security_txt.SecurityTXTService
	Workflows                   *workflows.WorkflowService
	ResourceSharing             *resource_sharing.ResourceSharingService
	ResourceTagging             *resource_tagging.ResourceTaggingService
	LeakedCredentialChecks      *leaked_credential_checks.LeakedCredentialCheckService
	ContentScanning             *content_scanning.ContentScanningService
	AISecurity                  *ai_security.AISecurityService
	CsamScanner                 *csam_scanner.CsamScannerService
	AbuseReports                *abuse_reports.AbuseReportService
	AI                          *ai.AIService
	AIAudit                     *ai_audit.AIAuditService
	AISearch                    *ai_search.AISearchService
	SecurityCenter              *security_center.SecurityCenterService
	BrowserRendering            *browser_rendering.BrowserRenderingService
	CustomPages                 *custom_pages.CustomPageService
	SecretsStore                *secrets_store.SecretsStoreService
	Pipelines                   *pipelines.PipelineService
	SchemaValidation            *schema_validation.SchemaValidationService
	TokenValidation             *token_validation.TokenValidationService
}

Client creates a struct with services and top level methods that help with interacting with the cloudflare API. You should not instantiate this client directly, and instead use the NewClient method instead.

func NewClient ¶

func NewClient(opts ...option.RequestOption) (r *Client)

NewClient generates a new client with the default option read from the environment (CLOUDFLARE_API_KEY, CLOUDFLARE_API_USER_SERVICE_KEY, CLOUDFLARE_API_TOKEN, CLOUDFLARE_EMAIL, CLOUDFLARE_BASE_URL). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.

func (*Client) Delete ¶

func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Execute ¶

func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.

If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.

The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned [url.Values] will be used as query strings to the url.

If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.

Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.

The response body will be deserialized into the res variable, depending on its type:

  • A pointer to a *http.Response is populated by the raw response.
  • A pointer to a byte array will be populated with the contents of the request body.
  • A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
  • A nil value will not read the response body.

For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.

func (*Client) Get ¶

func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Patch ¶

func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Post ¶

func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Put ¶

func (r *Client) Put(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Put makes a PUT request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

type CloudflareTunnel ¶

type CloudflareTunnel = shared.CloudflareTunnel

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

This is an alias to an internal type.

type CloudflareTunnelConfigSrc ¶

type CloudflareTunnelConfigSrc = shared.CloudflareTunnelConfigSrc

Indicates if this is a locally or remotely configured tunnel. If `local`, manage the tunnel using a YAML file on the origin machine. If `cloudflare`, manage the tunnel on the Zero Trust dashboard.

This is an alias to an internal type.

type CloudflareTunnelConnection ¶

type CloudflareTunnelConnection = shared.CloudflareTunnelConnection

This is an alias to an internal type.

type CloudflareTunnelStatus ¶

type CloudflareTunnelStatus = shared.CloudflareTunnelStatus

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

This is an alias to an internal type.

type CloudflareTunnelTunType ¶

type CloudflareTunnelTunType = shared.CloudflareTunnelTunType

The type of tunnel.

This is an alias to an internal type.

type Error ¶

type Error = apierror.Error

type ErrorData ¶

type ErrorData = shared.ErrorData

This is an alias to an internal type.

type ErrorDataSource ¶

type ErrorDataSource = shared.ErrorDataSource

This is an alias to an internal type.

type Member ¶

type Member = shared.Member

This is an alias to an internal type.

type MemberPoliciesAccess ¶

type MemberPoliciesAccess = shared.MemberPoliciesAccess

Allow or deny operations against the resources.

This is an alias to an internal type.

type MemberPoliciesPermissionGroup ¶

type MemberPoliciesPermissionGroup = shared.MemberPoliciesPermissionGroup

A named group of permissions that map to a group of operations against resources.

This is an alias to an internal type.

type MemberPoliciesPermissionGroupsMeta ¶

type MemberPoliciesPermissionGroupsMeta = shared.MemberPoliciesPermissionGroupsMeta

Attributes associated to the permission group.

This is an alias to an internal type.

type MemberPoliciesResourceGroup ¶

type MemberPoliciesResourceGroup = shared.MemberPoliciesResourceGroup

A group of scoped resources.

This is an alias to an internal type.

type MemberPoliciesResourceGroupsMeta ¶

type MemberPoliciesResourceGroupsMeta = shared.MemberPoliciesResourceGroupsMeta

Attributes associated to the resource group.

This is an alias to an internal type.

type MemberPoliciesResourceGroupsScope ¶

type MemberPoliciesResourceGroupsScope = shared.MemberPoliciesResourceGroupsScope

A scope is a combination of scope objects which provides additional context.

This is an alias to an internal type.

type MemberPoliciesResourceGroupsScopeObject ¶

type MemberPoliciesResourceGroupsScopeObject = shared.MemberPoliciesResourceGroupsScopeObject

A scope object represents any resource that can have actions applied against invite.

This is an alias to an internal type.

type MemberPolicy ¶

type MemberPolicy = shared.MemberPolicy

This is an alias to an internal type.

type MemberStatus ¶

type MemberStatus = shared.MemberStatus

A member's status in the account.

This is an alias to an internal type.

type MemberUser ¶

type MemberUser = shared.MemberUser

Details of the user associated to the membership.

This is an alias to an internal type.

type Permission ¶

type Permission = shared.Permission

This is an alias to an internal type.

type PermissionGrant ¶

type PermissionGrant = shared.PermissionGrant

This is an alias to an internal type.

type PermissionGrantParam ¶

type PermissionGrantParam = shared.PermissionGrantParam

This is an alias to an internal type.

type RatePlan ¶

type RatePlan = shared.RatePlan

The rate plan applied to the subscription.

This is an alias to an internal type.

type RatePlanID ¶

type RatePlanID = shared.RatePlanID

The ID of the rate plan.

This is an alias to an internal type.

type RatePlanParam ¶

type RatePlanParam = shared.RatePlanParam

The rate plan applied to the subscription.

This is an alias to an internal type.

type ResponseInfo ¶

type ResponseInfo = shared.ResponseInfo

This is an alias to an internal type.

type ResponseInfoSource ¶

type ResponseInfoSource = shared.ResponseInfoSource

This is an alias to an internal type.

type Role ¶

type Role = shared.Role

This is an alias to an internal type.

type RoleParam ¶

type RoleParam = shared.RoleParam

This is an alias to an internal type.

type RolePermissions ¶

type RolePermissions = shared.RolePermissions

This is an alias to an internal type.

type RolePermissionsParam ¶

type RolePermissionsParam = shared.RolePermissionsParam

This is an alias to an internal type.

type SortDirection ¶

type SortDirection = shared.SortDirection

Direction to order DNS records in.

This is an alias to an internal type.

type Subscription ¶

type Subscription = shared.Subscription

This is an alias to an internal type.

type SubscriptionFrequency ¶

type SubscriptionFrequency = shared.SubscriptionFrequency

How often the subscription is renewed automatically.

This is an alias to an internal type.

type SubscriptionParam ¶

type SubscriptionParam = shared.SubscriptionParam

This is an alias to an internal type.

type SubscriptionState ¶

type SubscriptionState = shared.SubscriptionState

The state that the subscription is in.

This is an alias to an internal type.

type Token ¶

type Token = shared.Token

This is an alias to an internal type.

type TokenCondition ¶

type TokenCondition = shared.TokenCondition

This is an alias to an internal type.

type TokenConditionCIDRList ¶

type TokenConditionCIDRList = shared.TokenConditionCIDRList

IPv4/IPv6 CIDR.

This is an alias to an internal type.

type TokenConditionCIDRListParam ¶

type TokenConditionCIDRListParam = shared.TokenConditionCIDRListParam

IPv4/IPv6 CIDR.

This is an alias to an internal type.

type TokenConditionParam ¶

type TokenConditionParam = shared.TokenConditionParam

This is an alias to an internal type.

type TokenConditionRequestIP ¶

type TokenConditionRequestIP = shared.TokenConditionRequestIP

Client IP restrictions.

This is an alias to an internal type.

type TokenConditionRequestIPParam ¶

type TokenConditionRequestIPParam = shared.TokenConditionRequestIPParam

Client IP restrictions.

This is an alias to an internal type.

type TokenParam ¶

type TokenParam = shared.TokenParam

This is an alias to an internal type.

type TokenPolicy ¶

type TokenPolicy = shared.TokenPolicy

This is an alias to an internal type.

type TokenPolicyEffect ¶

type TokenPolicyEffect = shared.TokenPolicyEffect

Allow or deny operations against the resources.

This is an alias to an internal type.

type TokenPolicyParam ¶

type TokenPolicyParam = shared.TokenPolicyParam

This is an alias to an internal type.

type TokenPolicyPermissionGroup ¶

type TokenPolicyPermissionGroup = shared.TokenPolicyPermissionGroup

A named group of permissions that map to a group of operations against resources.

This is an alias to an internal type.

type TokenPolicyPermissionGroupParam ¶

type TokenPolicyPermissionGroupParam = shared.TokenPolicyPermissionGroupParam

A named group of permissions that map to a group of operations against resources.

This is an alias to an internal type.

type TokenPolicyPermissionGroupsMeta ¶

type TokenPolicyPermissionGroupsMeta = shared.TokenPolicyPermissionGroupsMeta

Attributes associated to the permission group.

This is an alias to an internal type.

type TokenPolicyPermissionGroupsMetaParam ¶

type TokenPolicyPermissionGroupsMetaParam = shared.TokenPolicyPermissionGroupsMetaParam

Attributes associated to the permission group.

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectNested ¶

type TokenPolicyResourcesIAMResourcesTypeObjectNested = shared.TokenPolicyResourcesIAMResourcesTypeObjectNested

Map of nested resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectNestedParam ¶

type TokenPolicyResourcesIAMResourcesTypeObjectNestedParam = shared.TokenPolicyResourcesIAMResourcesTypeObjectNestedParam

Map of nested resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectString ¶

type TokenPolicyResourcesIAMResourcesTypeObjectString = shared.TokenPolicyResourcesIAMResourcesTypeObjectString

Map of simple string resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectStringParam ¶

type TokenPolicyResourcesIAMResourcesTypeObjectStringParam = shared.TokenPolicyResourcesIAMResourcesTypeObjectStringParam

Map of simple string resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesUnion ¶

type TokenPolicyResourcesUnion = shared.TokenPolicyResourcesUnion

A list of resource names that the policy applies to.

This is an alias to an internal type.

type TokenPolicyResourcesUnionParam ¶

type TokenPolicyResourcesUnionParam = shared.TokenPolicyResourcesUnionParam

A list of resource names that the policy applies to.

This is an alias to an internal type.

type TokenStatus ¶

type TokenStatus = shared.TokenStatus

Status of the token.

This is an alias to an internal type.

type TokenValue ¶

type TokenValue = shared.TokenValue

The token value.

This is an alias to an internal type.

Directories ¶

Path Synopsis
packages

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL