dns

package
v4.6.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2025 License: Apache-2.0 Imports: 19 Imported by: 14

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

This section is empty.

Types

type AAAARecord

type AAAARecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type AAAARecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// A valid IPv6 address.
	Content string `json:"content" format:"ipv6"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings AAAARecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags   `json:"tags"`
	JSON aaaaRecordJSON `json:"-"`
}

func (*AAAARecord) UnmarshalJSON

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

type AAAARecordParam

type AAAARecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[AAAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv6 address.
	Content param.Field[string] `json:"content" format:"ipv6"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[AAAARecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (AAAARecordParam) MarshalJSON

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

type AAAARecordSettings

type AAAARecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                   `json:"ipv6_only"`
	JSON     aaaaRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*AAAARecordSettings) UnmarshalJSON

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

type AAAARecordSettingsParam

type AAAARecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (AAAARecordSettingsParam) MarshalJSON

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

type AAAARecordType

type AAAARecordType string

Record type.

const (
	AAAARecordTypeAAAA AAAARecordType = "AAAA"
)

func (AAAARecordType) IsKnown

func (r AAAARecordType) IsKnown() bool

type ACL

type ACL struct {
	ID string `json:"id,required"`
	// Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will
	// be applied for the entire account. The IP range is used to allow additional
	// NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from
	// for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for
	// IPv6 respectively.
	IPRange string `json:"ip_range,required"`
	// The name of the acl.
	Name string  `json:"name,required"`
	JSON aclJSON `json:"-"`
}

func (*ACL) UnmarshalJSON

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

type ACLParam

type ACLParam struct {
	// Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will
	// be applied for the entire account. The IP range is used to allow additional
	// NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from
	// for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for
	// IPv6 respectively.
	IPRange param.Field[string] `json:"ip_range,required"`
	// The name of the acl.
	Name param.Field[string] `json:"name,required"`
}

func (ACLParam) MarshalJSON

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

type ARecord

type ARecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type ARecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// A valid IPv4 address.
	Content string `json:"content" format:"ipv4"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings ARecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags `json:"tags"`
	JSON aRecordJSON  `json:"-"`
}

func (*ARecord) UnmarshalJSON

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

type ARecordParam

type ARecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[ARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv4 address.
	Content param.Field[string] `json:"content" format:"ipv4"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[ARecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (ARecordParam) MarshalJSON

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

type ARecordSettings

type ARecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                `json:"ipv6_only"`
	JSON     aRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*ARecordSettings) UnmarshalJSON

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

type ARecordSettingsParam

type ARecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (ARecordSettingsParam) MarshalJSON

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

type ARecordType

type ARecordType string

Record type.

const (
	ARecordTypeA ARecordType = "A"
)

func (ARecordType) IsKnown

func (r ARecordType) IsKnown() bool

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 AnalyticsReportBytimeGetParams

type AnalyticsReportBytimeGetParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A comma-separated list of dimensions to group results by.
	Dimensions param.Field[string] `query:"dimensions"`
	// Segmentation filter in 'attribute operator value' format.
	Filters param.Field[string] `query:"filters"`
	// Limit number of returned metrics.
	Limit param.Field[int64] `query:"limit"`
	// A comma-separated list of metrics to query.
	Metrics param.Field[string] `query:"metrics"`
	// Start date and time of requesting data period in ISO 8601 format.
	Since param.Field[time.Time] `query:"since" format:"date-time"`
	// A comma-separated list of dimensions to sort by, where each dimension may be
	// prefixed by - (descending) or + (ascending).
	Sort param.Field[string] `query:"sort"`
	// Unit of time to group data by.
	TimeDelta param.Field[AnalyticsReportBytimeGetParamsTimeDelta] `query:"time_delta"`
	// End date and time of requesting data period in ISO 8601 format.
	Until param.Field[time.Time] `query:"until" format:"date-time"`
}

func (AnalyticsReportBytimeGetParams) URLQuery

func (r AnalyticsReportBytimeGetParams) URLQuery() (v url.Values)

URLQuery serializes AnalyticsReportBytimeGetParams's query parameters as `url.Values`.

type AnalyticsReportBytimeGetParamsTimeDelta

type AnalyticsReportBytimeGetParamsTimeDelta string

Unit of time to group data by.

const (
	AnalyticsReportBytimeGetParamsTimeDeltaAll        AnalyticsReportBytimeGetParamsTimeDelta = "all"
	AnalyticsReportBytimeGetParamsTimeDeltaAuto       AnalyticsReportBytimeGetParamsTimeDelta = "auto"
	AnalyticsReportBytimeGetParamsTimeDeltaYear       AnalyticsReportBytimeGetParamsTimeDelta = "year"
	AnalyticsReportBytimeGetParamsTimeDeltaQuarter    AnalyticsReportBytimeGetParamsTimeDelta = "quarter"
	AnalyticsReportBytimeGetParamsTimeDeltaMonth      AnalyticsReportBytimeGetParamsTimeDelta = "month"
	AnalyticsReportBytimeGetParamsTimeDeltaWeek       AnalyticsReportBytimeGetParamsTimeDelta = "week"
	AnalyticsReportBytimeGetParamsTimeDeltaDay        AnalyticsReportBytimeGetParamsTimeDelta = "day"
	AnalyticsReportBytimeGetParamsTimeDeltaHour       AnalyticsReportBytimeGetParamsTimeDelta = "hour"
	AnalyticsReportBytimeGetParamsTimeDeltaDekaminute AnalyticsReportBytimeGetParamsTimeDelta = "dekaminute"
	AnalyticsReportBytimeGetParamsTimeDeltaMinute     AnalyticsReportBytimeGetParamsTimeDelta = "minute"
)

func (AnalyticsReportBytimeGetParamsTimeDelta) IsKnown

type AnalyticsReportBytimeGetResponseEnvelope

type AnalyticsReportBytimeGetResponseEnvelope struct {
	Errors   []AnalyticsReportBytimeGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []AnalyticsReportBytimeGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success AnalyticsReportBytimeGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ByTime                                          `json:"result"`
	JSON    analyticsReportBytimeGetResponseEnvelopeJSON    `json:"-"`
}

func (*AnalyticsReportBytimeGetResponseEnvelope) UnmarshalJSON

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

type AnalyticsReportBytimeGetResponseEnvelopeErrors added in v4.5.0

type AnalyticsReportBytimeGetResponseEnvelopeErrors struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           AnalyticsReportBytimeGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             analyticsReportBytimeGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*AnalyticsReportBytimeGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportBytimeGetResponseEnvelopeErrorsSource added in v4.5.0

type AnalyticsReportBytimeGetResponseEnvelopeErrorsSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    analyticsReportBytimeGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*AnalyticsReportBytimeGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportBytimeGetResponseEnvelopeMessages added in v4.5.0

type AnalyticsReportBytimeGetResponseEnvelopeMessages struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           AnalyticsReportBytimeGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             analyticsReportBytimeGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*AnalyticsReportBytimeGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportBytimeGetResponseEnvelopeMessagesSource added in v4.5.0

type AnalyticsReportBytimeGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    analyticsReportBytimeGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*AnalyticsReportBytimeGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportBytimeGetResponseEnvelopeSuccess

type AnalyticsReportBytimeGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	AnalyticsReportBytimeGetResponseEnvelopeSuccessTrue AnalyticsReportBytimeGetResponseEnvelopeSuccess = true
)

func (AnalyticsReportBytimeGetResponseEnvelopeSuccess) IsKnown

type AnalyticsReportBytimeService

type AnalyticsReportBytimeService struct {
	Options []option.RequestOption
}

AnalyticsReportBytimeService 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 NewAnalyticsReportBytimeService method instead.

func NewAnalyticsReportBytimeService

func NewAnalyticsReportBytimeService(opts ...option.RequestOption) (r *AnalyticsReportBytimeService)

NewAnalyticsReportBytimeService 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 (*AnalyticsReportBytimeService) Get

Retrieves a list of aggregate metrics grouped by time interval.

See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.

type AnalyticsReportGetParams

type AnalyticsReportGetParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A comma-separated list of dimensions to group results by.
	Dimensions param.Field[string] `query:"dimensions"`
	// Segmentation filter in 'attribute operator value' format.
	Filters param.Field[string] `query:"filters"`
	// Limit number of returned metrics.
	Limit param.Field[int64] `query:"limit"`
	// A comma-separated list of metrics to query.
	Metrics param.Field[string] `query:"metrics"`
	// Start date and time of requesting data period in ISO 8601 format.
	Since param.Field[time.Time] `query:"since" format:"date-time"`
	// A comma-separated list of dimensions to sort by, where each dimension may be
	// prefixed by - (descending) or + (ascending).
	Sort param.Field[string] `query:"sort"`
	// End date and time of requesting data period in ISO 8601 format.
	Until param.Field[time.Time] `query:"until" format:"date-time"`
}

func (AnalyticsReportGetParams) URLQuery

func (r AnalyticsReportGetParams) URLQuery() (v url.Values)

URLQuery serializes AnalyticsReportGetParams's query parameters as `url.Values`.

type AnalyticsReportGetResponseEnvelope

type AnalyticsReportGetResponseEnvelope struct {
	Errors   []AnalyticsReportGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []AnalyticsReportGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success AnalyticsReportGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Report                                    `json:"result"`
	JSON    analyticsReportGetResponseEnvelopeJSON    `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelope) UnmarshalJSON

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

type AnalyticsReportGetResponseEnvelopeErrors added in v4.5.0

type AnalyticsReportGetResponseEnvelopeErrors struct {
	Code             int64                                          `json:"code,required"`
	Message          string                                         `json:"message,required"`
	DocumentationURL string                                         `json:"documentation_url"`
	Source           AnalyticsReportGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             analyticsReportGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportGetResponseEnvelopeErrorsSource added in v4.5.0

type AnalyticsReportGetResponseEnvelopeErrorsSource struct {
	Pointer string                                             `json:"pointer"`
	JSON    analyticsReportGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportGetResponseEnvelopeMessages added in v4.5.0

type AnalyticsReportGetResponseEnvelopeMessages struct {
	Code             int64                                            `json:"code,required"`
	Message          string                                           `json:"message,required"`
	DocumentationURL string                                           `json:"documentation_url"`
	Source           AnalyticsReportGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             analyticsReportGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportGetResponseEnvelopeMessagesSource added in v4.5.0

type AnalyticsReportGetResponseEnvelopeMessagesSource struct {
	Pointer string                                               `json:"pointer"`
	JSON    analyticsReportGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type AnalyticsReportGetResponseEnvelopeSuccess

type AnalyticsReportGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	AnalyticsReportGetResponseEnvelopeSuccessTrue AnalyticsReportGetResponseEnvelopeSuccess = true
)

func (AnalyticsReportGetResponseEnvelopeSuccess) IsKnown

type AnalyticsReportService

type AnalyticsReportService struct {
	Options []option.RequestOption
	Bytimes *AnalyticsReportBytimeService
}

AnalyticsReportService 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 NewAnalyticsReportService method instead.

func NewAnalyticsReportService

func NewAnalyticsReportService(opts ...option.RequestOption) (r *AnalyticsReportService)

NewAnalyticsReportService 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 (*AnalyticsReportService) Get

Retrieves a list of summarised aggregate metrics over a given time period.

See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters.

type AnalyticsService

type AnalyticsService struct {
	Options []option.RequestOption
	Reports *AnalyticsReportService
}

AnalyticsService 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 NewAnalyticsService method instead.

func NewAnalyticsService

func NewAnalyticsService(opts ...option.RequestOption) (r *AnalyticsService)

NewAnalyticsService 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 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 BatchPatchAAAARecordParam

type BatchPatchAAAARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	AAAARecordParam
}

func (BatchPatchAAAARecordParam) MarshalJSON

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

type BatchPatchARecordParam

type BatchPatchARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	ARecordParam
}

func (BatchPatchARecordParam) MarshalJSON

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

type BatchPatchCAARecordParam

type BatchPatchCAARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CAARecordParam
}

func (BatchPatchCAARecordParam) MarshalJSON

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

type BatchPatchCERTRecordParam

type BatchPatchCERTRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CERTRecordParam
}

func (BatchPatchCERTRecordParam) MarshalJSON

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

type BatchPatchCNAMERecordParam

type BatchPatchCNAMERecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CNAMERecordParam
}

func (BatchPatchCNAMERecordParam) MarshalJSON

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

type BatchPatchDNSKEYRecordParam

type BatchPatchDNSKEYRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	DNSKEYRecordParam
}

func (BatchPatchDNSKEYRecordParam) MarshalJSON

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

type BatchPatchDSRecordParam

type BatchPatchDSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	DSRecordParam
}

func (BatchPatchDSRecordParam) MarshalJSON

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

type BatchPatchHTTPSRecordParam

type BatchPatchHTTPSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	HTTPSRecordParam
}

func (BatchPatchHTTPSRecordParam) MarshalJSON

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

type BatchPatchLOCRecordParam

type BatchPatchLOCRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	LOCRecordParam
}

func (BatchPatchLOCRecordParam) MarshalJSON

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

type BatchPatchMXRecordParam

type BatchPatchMXRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	MXRecordParam
}

func (BatchPatchMXRecordParam) MarshalJSON

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

type BatchPatchNAPTRRecordParam

type BatchPatchNAPTRRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	NAPTRRecordParam
}

func (BatchPatchNAPTRRecordParam) MarshalJSON

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

type BatchPatchNSRecordParam

type BatchPatchNSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	NSRecordParam
}

func (BatchPatchNSRecordParam) MarshalJSON

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

type BatchPatchOpenpgpkeyRecordParam added in v4.5.0

type BatchPatchOpenpgpkeyRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[BatchPatchOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[BatchPatchOpenpgpkeyRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (BatchPatchOpenpgpkeyRecordParam) MarshalJSON added in v4.5.0

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

type BatchPatchOpenpgpkeyRecordSettingsParam added in v4.5.0

type BatchPatchOpenpgpkeyRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (BatchPatchOpenpgpkeyRecordSettingsParam) MarshalJSON added in v4.5.0

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

type BatchPatchOpenpgpkeyRecordType added in v4.5.0

type BatchPatchOpenpgpkeyRecordType string

Record type.

const (
	BatchPatchOpenpgpkeyRecordTypeOpenpgpkey BatchPatchOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (BatchPatchOpenpgpkeyRecordType) IsKnown added in v4.5.0

type BatchPatchPTRRecordParam

type BatchPatchPTRRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	PTRRecordParam
}

func (BatchPatchPTRRecordParam) MarshalJSON

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

type BatchPatchSMIMEARecordParam

type BatchPatchSMIMEARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SMIMEARecordParam
}

func (BatchPatchSMIMEARecordParam) MarshalJSON

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

type BatchPatchSRVRecordParam

type BatchPatchSRVRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SRVRecordParam
}

func (BatchPatchSRVRecordParam) MarshalJSON

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

type BatchPatchSSHFPRecordParam

type BatchPatchSSHFPRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SSHFPRecordParam
}

func (BatchPatchSSHFPRecordParam) MarshalJSON

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

type BatchPatchSVCBRecordParam

type BatchPatchSVCBRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SVCBRecordParam
}

func (BatchPatchSVCBRecordParam) MarshalJSON

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

type BatchPatchTLSARecordParam

type BatchPatchTLSARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	TLSARecordParam
}

func (BatchPatchTLSARecordParam) MarshalJSON

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

type BatchPatchTXTRecordParam

type BatchPatchTXTRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	TXTRecordParam
}

func (BatchPatchTXTRecordParam) MarshalJSON

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

type BatchPatchURIRecordParam

type BatchPatchURIRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	URIRecordParam
}

func (BatchPatchURIRecordParam) MarshalJSON

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

type BatchPutAAAARecordParam

type BatchPutAAAARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	AAAARecordParam
}

func (BatchPutAAAARecordParam) MarshalJSON

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

type BatchPutARecordParam

type BatchPutARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	ARecordParam
}

func (BatchPutARecordParam) MarshalJSON

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

type BatchPutCAARecordParam

type BatchPutCAARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CAARecordParam
}

func (BatchPutCAARecordParam) MarshalJSON

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

type BatchPutCERTRecordParam

type BatchPutCERTRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CERTRecordParam
}

func (BatchPutCERTRecordParam) MarshalJSON

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

type BatchPutCNAMERecordParam

type BatchPutCNAMERecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	CNAMERecordParam
}

func (BatchPutCNAMERecordParam) MarshalJSON

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

type BatchPutDNSKEYRecordParam

type BatchPutDNSKEYRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	DNSKEYRecordParam
}

func (BatchPutDNSKEYRecordParam) MarshalJSON

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

type BatchPutDSRecordParam

type BatchPutDSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	DSRecordParam
}

func (BatchPutDSRecordParam) MarshalJSON

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

type BatchPutHTTPSRecordParam

type BatchPutHTTPSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	HTTPSRecordParam
}

func (BatchPutHTTPSRecordParam) MarshalJSON

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

type BatchPutLOCRecordParam

type BatchPutLOCRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	LOCRecordParam
}

func (BatchPutLOCRecordParam) MarshalJSON

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

type BatchPutMXRecordParam

type BatchPutMXRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	MXRecordParam
}

func (BatchPutMXRecordParam) MarshalJSON

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

type BatchPutNAPTRRecordParam

type BatchPutNAPTRRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	NAPTRRecordParam
}

func (BatchPutNAPTRRecordParam) MarshalJSON

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

type BatchPutNSRecordParam

type BatchPutNSRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	NSRecordParam
}

func (BatchPutNSRecordParam) MarshalJSON

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

type BatchPutOpenpgpkeyRecordParam added in v4.5.0

type BatchPutOpenpgpkeyRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[BatchPutOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[BatchPutOpenpgpkeyRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (BatchPutOpenpgpkeyRecordParam) MarshalJSON added in v4.5.0

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

type BatchPutOpenpgpkeyRecordSettingsParam added in v4.5.0

type BatchPutOpenpgpkeyRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (BatchPutOpenpgpkeyRecordSettingsParam) MarshalJSON added in v4.5.0

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

type BatchPutOpenpgpkeyRecordType added in v4.5.0

type BatchPutOpenpgpkeyRecordType string

Record type.

const (
	BatchPutOpenpgpkeyRecordTypeOpenpgpkey BatchPutOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (BatchPutOpenpgpkeyRecordType) IsKnown added in v4.5.0

func (r BatchPutOpenpgpkeyRecordType) IsKnown() bool

type BatchPutPTRRecordParam

type BatchPutPTRRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	PTRRecordParam
}

func (BatchPutPTRRecordParam) MarshalJSON

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

type BatchPutSMIMEARecordParam

type BatchPutSMIMEARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SMIMEARecordParam
}

func (BatchPutSMIMEARecordParam) MarshalJSON

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

type BatchPutSRVRecordParam

type BatchPutSRVRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SRVRecordParam
}

func (BatchPutSRVRecordParam) MarshalJSON

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

type BatchPutSSHFPRecordParam

type BatchPutSSHFPRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SSHFPRecordParam
}

func (BatchPutSSHFPRecordParam) MarshalJSON

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

type BatchPutSVCBRecordParam

type BatchPutSVCBRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	SVCBRecordParam
}

func (BatchPutSVCBRecordParam) MarshalJSON

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

type BatchPutTLSARecordParam

type BatchPutTLSARecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	TLSARecordParam
}

func (BatchPutTLSARecordParam) MarshalJSON

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

type BatchPutTXTRecordParam

type BatchPutTXTRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	TXTRecordParam
}

func (BatchPutTXTRecordParam) MarshalJSON

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

type BatchPutURIRecordParam

type BatchPutURIRecordParam struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
	URIRecordParam
}

func (BatchPutURIRecordParam) MarshalJSON

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

type ByTime

type ByTime struct {
	// Array with one row per combination of dimension values.
	Data []ByTimeData `json:"data,required"`
	// Number of seconds between current time and last processed event, in another
	// words how many seconds of data could be missing.
	DataLag float64 `json:"data_lag,required"`
	// Maximum results for each metric (object mapping metric names to values).
	// Currently always an empty object.
	Max interface{} `json:"max,required"`
	// Minimum results for each metric (object mapping metric names to values).
	// Currently always an empty object.
	Min   interface{}       `json:"min,required"`
	Query DNSAnalyticsQuery `json:"query,required"`
	// Total number of rows in the result.
	Rows float64 `json:"rows,required"`
	// Array of time intervals in the response data. Each interval is represented as an
	// array containing two values: the start time, and the end time.
	TimeIntervals [][]time.Time `json:"time_intervals,required" format:"date-time"`
	// Total results for metrics across all data (object mapping metric names to
	// values).
	Totals interface{} `json:"totals,required"`
	JSON   byTimeJSON  `json:"-"`
}

func (*ByTime) UnmarshalJSON

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

type ByTimeData

type ByTimeData struct {
	// Array of dimension values, representing the combination of dimension values
	// corresponding to this row.
	Dimensions []string `json:"dimensions,required"`
	// Array with one item per requested metric. Each item is an array of values,
	// broken down by time interval.
	Metrics []DNSAnalyticsNominalMetric `json:"metrics,required"`
	JSON    byTimeDataJSON              `json:"-"`
}

func (*ByTimeData) UnmarshalJSON

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

type CAARecord

type CAARecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type CAARecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted CAA content. See 'data' to set CAA properties.
	Content string `json:"content"`
	// Components of a CAA record.
	Data CAARecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings CAARecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON caaRecordJSON `json:"-"`
}

func (*CAARecord) UnmarshalJSON

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

type CAARecordData

type CAARecordData struct {
	// Flags for the CAA record.
	Flags float64 `json:"flags"`
	// Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
	Tag string `json:"tag"`
	// Value of the record. This field's semantics depend on the chosen tag.
	Value string            `json:"value"`
	JSON  caaRecordDataJSON `json:"-"`
}

Components of a CAA record.

func (*CAARecordData) UnmarshalJSON

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

type CAARecordDataParam

type CAARecordDataParam struct {
	// Flags for the CAA record.
	Flags param.Field[float64] `json:"flags"`
	// Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
	Tag param.Field[string] `json:"tag"`
	// Value of the record. This field's semantics depend on the chosen tag.
	Value param.Field[string] `json:"value"`
}

Components of a CAA record.

func (CAARecordDataParam) MarshalJSON

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

type CAARecordParam

type CAARecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[CAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a CAA record.
	Data param.Field[CAARecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[CAARecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (CAARecordParam) MarshalJSON

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

type CAARecordSettings

type CAARecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     caaRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*CAARecordSettings) UnmarshalJSON

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

type CAARecordSettingsParam

type CAARecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (CAARecordSettingsParam) MarshalJSON

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

type CAARecordType

type CAARecordType string

Record type.

const (
	CAARecordTypeCAA CAARecordType = "CAA"
)

func (CAARecordType) IsKnown

func (r CAARecordType) IsKnown() bool

type CERTRecord

type CERTRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type CERTRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted CERT content. See 'data' to set CERT properties.
	Content string `json:"content"`
	// Components of a CERT record.
	Data CERTRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings CERTRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags   `json:"tags"`
	JSON certRecordJSON `json:"-"`
}

func (*CERTRecord) UnmarshalJSON

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

type CERTRecordData

type CERTRecordData struct {
	// Algorithm.
	Algorithm float64 `json:"algorithm"`
	// Certificate.
	Certificate string `json:"certificate"`
	// Key Tag.
	KeyTag float64 `json:"key_tag"`
	// Type.
	Type float64            `json:"type"`
	JSON certRecordDataJSON `json:"-"`
}

Components of a CERT record.

func (*CERTRecordData) UnmarshalJSON

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

type CERTRecordDataParam

type CERTRecordDataParam struct {
	// Algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Certificate.
	Certificate param.Field[string] `json:"certificate"`
	// Key Tag.
	KeyTag param.Field[float64] `json:"key_tag"`
	// Type.
	Type param.Field[float64] `json:"type"`
}

Components of a CERT record.

func (CERTRecordDataParam) MarshalJSON

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

type CERTRecordParam

type CERTRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[CERTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a CERT record.
	Data param.Field[CERTRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[CERTRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (CERTRecordParam) MarshalJSON

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

type CERTRecordSettings

type CERTRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                   `json:"ipv6_only"`
	JSON     certRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*CERTRecordSettings) UnmarshalJSON

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

type CERTRecordSettingsParam

type CERTRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (CERTRecordSettingsParam) MarshalJSON

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

type CERTRecordType

type CERTRecordType string

Record type.

const (
	CERTRecordTypeCERT CERTRecordType = "CERT"
)

func (CERTRecordType) IsKnown

func (r CERTRecordType) IsKnown() bool

type CNAMERecord

type CNAMERecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type CNAMERecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// A valid hostname. Must not match the record's name.
	Content string `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings CNAMERecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags    `json:"tags"`
	JSON cnameRecordJSON `json:"-"`
}

func (*CNAMERecord) UnmarshalJSON

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

type CNAMERecordParam

type CNAMERecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[CNAMERecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid hostname. Must not match the record's name.
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[CNAMERecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (CNAMERecordParam) MarshalJSON

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

type CNAMERecordSettings

type CNAMERecordSettings struct {
	// If enabled, causes the CNAME record to be resolved externally and the resulting
	// address records (e.g., A and AAAA) to be returned instead of the CNAME record
	// itself. This setting is unavailable for proxied records, since they are always
	// flattened.
	FlattenCNAME bool `json:"flatten_cname"`
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                    `json:"ipv6_only"`
	JSON     cnameRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*CNAMERecordSettings) UnmarshalJSON

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

type CNAMERecordSettingsParam

type CNAMERecordSettingsParam struct {
	// If enabled, causes the CNAME record to be resolved externally and the resulting
	// address records (e.g., A and AAAA) to be returned instead of the CNAME record
	// itself. This setting is unavailable for proxied records, since they are always
	// flattened.
	FlattenCNAME param.Field[bool] `json:"flatten_cname"`
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (CNAMERecordSettingsParam) MarshalJSON

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

type CNAMERecordType

type CNAMERecordType string

Record type.

const (
	CNAMERecordTypeCNAME CNAMERecordType = "CNAME"
)

func (CNAMERecordType) IsKnown

func (r CNAMERecordType) IsKnown() bool

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 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 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 DNSAnalyticsNominalMetric

type DNSAnalyticsNominalMetric []interface{}

type DNSAnalyticsQuery

type DNSAnalyticsQuery struct {
	// Array of dimension names.
	Dimensions []string `json:"dimensions,required"`
	// Limit number of returned metrics.
	Limit int64 `json:"limit,required"`
	// Array of metric names.
	Metrics []string `json:"metrics,required"`
	// Start date and time of requesting data period in ISO 8601 format.
	Since time.Time `json:"since,required" format:"date-time"`
	// Unit of time to group data by.
	TimeDelta DNSAnalyticsQueryTimeDelta `json:"time_delta,required"`
	// End date and time of requesting data period in ISO 8601 format.
	Until time.Time `json:"until,required" format:"date-time"`
	// Segmentation filter in 'attribute operator value' format.
	Filters string `json:"filters"`
	// Array of dimensions to sort by, where each dimension may be prefixed by -
	// (descending) or + (ascending).
	Sort []string              `json:"sort"`
	JSON dnsAnalyticsQueryJSON `json:"-"`
}

func (*DNSAnalyticsQuery) UnmarshalJSON

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

type DNSAnalyticsQueryTimeDelta

type DNSAnalyticsQueryTimeDelta string

Unit of time to group data by.

const (
	DNSAnalyticsQueryTimeDeltaAll        DNSAnalyticsQueryTimeDelta = "all"
	DNSAnalyticsQueryTimeDeltaAuto       DNSAnalyticsQueryTimeDelta = "auto"
	DNSAnalyticsQueryTimeDeltaYear       DNSAnalyticsQueryTimeDelta = "year"
	DNSAnalyticsQueryTimeDeltaQuarter    DNSAnalyticsQueryTimeDelta = "quarter"
	DNSAnalyticsQueryTimeDeltaMonth      DNSAnalyticsQueryTimeDelta = "month"
	DNSAnalyticsQueryTimeDeltaWeek       DNSAnalyticsQueryTimeDelta = "week"
	DNSAnalyticsQueryTimeDeltaDay        DNSAnalyticsQueryTimeDelta = "day"
	DNSAnalyticsQueryTimeDeltaHour       DNSAnalyticsQueryTimeDelta = "hour"
	DNSAnalyticsQueryTimeDeltaDekaminute DNSAnalyticsQueryTimeDelta = "dekaminute"
	DNSAnalyticsQueryTimeDeltaMinute     DNSAnalyticsQueryTimeDelta = "minute"
)

func (DNSAnalyticsQueryTimeDelta) IsKnown

func (r DNSAnalyticsQueryTimeDelta) IsKnown() bool

type DNSKEYRecord

type DNSKEYRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type DNSKEYRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted DNSKEY content. See 'data' to set DNSKEY properties.
	Content string `json:"content"`
	// Components of a DNSKEY record.
	Data DNSKEYRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings DNSKEYRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags     `json:"tags"`
	JSON dnskeyRecordJSON `json:"-"`
}

func (*DNSKEYRecord) UnmarshalJSON

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

type DNSKEYRecordData

type DNSKEYRecordData struct {
	// Algorithm.
	Algorithm float64 `json:"algorithm"`
	// Flags.
	Flags float64 `json:"flags"`
	// Protocol.
	Protocol float64 `json:"protocol"`
	// Public Key.
	PublicKey string               `json:"public_key"`
	JSON      dnskeyRecordDataJSON `json:"-"`
}

Components of a DNSKEY record.

func (*DNSKEYRecordData) UnmarshalJSON

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

type DNSKEYRecordDataParam

type DNSKEYRecordDataParam struct {
	// Algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Flags.
	Flags param.Field[float64] `json:"flags"`
	// Protocol.
	Protocol param.Field[float64] `json:"protocol"`
	// Public Key.
	PublicKey param.Field[string] `json:"public_key"`
}

Components of a DNSKEY record.

func (DNSKEYRecordDataParam) MarshalJSON

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

type DNSKEYRecordParam

type DNSKEYRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[DNSKEYRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a DNSKEY record.
	Data param.Field[DNSKEYRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[DNSKEYRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (DNSKEYRecordParam) MarshalJSON

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

type DNSKEYRecordSettings

type DNSKEYRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                     `json:"ipv6_only"`
	JSON     dnskeyRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*DNSKEYRecordSettings) UnmarshalJSON

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

type DNSKEYRecordSettingsParam

type DNSKEYRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (DNSKEYRecordSettingsParam) MarshalJSON

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

type DNSKEYRecordType

type DNSKEYRecordType string

Record type.

const (
	DNSKEYRecordTypeDNSKEY DNSKEYRecordType = "DNSKEY"
)

func (DNSKEYRecordType) IsKnown

func (r DNSKEYRecordType) IsKnown() bool

type DNSSEC

type DNSSEC struct {
	// Algorithm key code.
	Algorithm string `json:"algorithm,nullable"`
	// Digest hash.
	Digest string `json:"digest,nullable"`
	// Type of digest algorithm.
	DigestAlgorithm string `json:"digest_algorithm,nullable"`
	// Coded type for digest algorithm.
	DigestType string `json:"digest_type,nullable"`
	// If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers
	// to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY
	// records (except those automatically generated by Cloudflare) to be added to the
	// zone.
	//
	// See
	// [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/)
	// for details.
	DNSSECMultiSigner bool `json:"dnssec_multi_signer"`
	// If true, allows Cloudflare to transfer in a DNSSEC-signed zone including
	// signatures from an external provider, without requiring Cloudflare to sign any
	// records on the fly.
	//
	// Note that this feature has some limitations. See
	// [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec)
	// for details.
	DNSSECPresigned bool `json:"dnssec_presigned"`
	// If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined
	// with setting dnssec_presigned to true, this enables the use of NSEC3 records
	// when transferring in from an external provider. If dnssec_presigned is instead
	// set to false (default), NSEC3 records will be generated and signed at request
	// time.
	//
	// See
	// [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/)
	// for details.
	DNSSECUseNsec3 bool `json:"dnssec_use_nsec3"`
	// Full DS record.
	DS string `json:"ds,nullable"`
	// Flag for DNSSEC record.
	Flags float64 `json:"flags,nullable"`
	// Code for key tag.
	KeyTag float64 `json:"key_tag,nullable"`
	// Algorithm key type.
	KeyType string `json:"key_type,nullable"`
	// When DNSSEC was last modified.
	ModifiedOn time.Time `json:"modified_on,nullable" format:"date-time"`
	// Public key for DS record.
	PublicKey string `json:"public_key,nullable"`
	// Status of DNSSEC, based on user-desired state and presence of necessary records.
	Status DNSSECStatus `json:"status"`
	JSON   dnssecJSON   `json:"-"`
}

func (*DNSSEC) UnmarshalJSON

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

type DNSSECDeleteParams

type DNSSECDeleteParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type DNSSECDeleteResponseEnvelope

type DNSSECDeleteResponseEnvelope struct {
	Errors   []DNSSECDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []DNSSECDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success DNSSECDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  string                              `json:"result"`
	JSON    dnssecDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*DNSSECDeleteResponseEnvelope) UnmarshalJSON

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

type DNSSECDeleteResponseEnvelopeErrors added in v4.3.0

type DNSSECDeleteResponseEnvelopeErrors struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           DNSSECDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             dnssecDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*DNSSECDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type DNSSECDeleteResponseEnvelopeErrorsSource added in v4.3.0

type DNSSECDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    dnssecDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*DNSSECDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type DNSSECDeleteResponseEnvelopeMessages added in v4.3.0

type DNSSECDeleteResponseEnvelopeMessages struct {
	Code             int64                                      `json:"code,required"`
	Message          string                                     `json:"message,required"`
	DocumentationURL string                                     `json:"documentation_url"`
	Source           DNSSECDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             dnssecDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*DNSSECDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type DNSSECDeleteResponseEnvelopeMessagesSource added in v4.3.0

type DNSSECDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                         `json:"pointer"`
	JSON    dnssecDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*DNSSECDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type DNSSECDeleteResponseEnvelopeSuccess

type DNSSECDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DNSSECDeleteResponseEnvelopeSuccessTrue DNSSECDeleteResponseEnvelopeSuccess = true
)

func (DNSSECDeleteResponseEnvelopeSuccess) IsKnown

type DNSSECEditParams

type DNSSECEditParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	// If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers
	// to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY
	// records (except those automatically generated by Cloudflare) to be added to the
	// zone.
	//
	// See
	// [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/)
	// for details.
	DNSSECMultiSigner param.Field[bool] `json:"dnssec_multi_signer"`
	// If true, allows Cloudflare to transfer in a DNSSEC-signed zone including
	// signatures from an external provider, without requiring Cloudflare to sign any
	// records on the fly.
	//
	// Note that this feature has some limitations. See
	// [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec)
	// for details.
	DNSSECPresigned param.Field[bool] `json:"dnssec_presigned"`
	// If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined
	// with setting dnssec_presigned to true, this enables the use of NSEC3 records
	// when transferring in from an external provider. If dnssec_presigned is instead
	// set to false (default), NSEC3 records will be generated and signed at request
	// time.
	//
	// See
	// [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/)
	// for details.
	DNSSECUseNsec3 param.Field[bool] `json:"dnssec_use_nsec3"`
	// Status of DNSSEC, based on user-desired state and presence of necessary records.
	Status param.Field[DNSSECEditParamsStatus] `json:"status"`
}

func (DNSSECEditParams) MarshalJSON

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

type DNSSECEditParamsStatus

type DNSSECEditParamsStatus string

Status of DNSSEC, based on user-desired state and presence of necessary records.

const (
	DNSSECEditParamsStatusActive   DNSSECEditParamsStatus = "active"
	DNSSECEditParamsStatusDisabled DNSSECEditParamsStatus = "disabled"
)

func (DNSSECEditParamsStatus) IsKnown

func (r DNSSECEditParamsStatus) IsKnown() bool

type DNSSECEditResponseEnvelope

type DNSSECEditResponseEnvelope struct {
	Errors   []DNSSECEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []DNSSECEditResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success DNSSECEditResponseEnvelopeSuccess `json:"success,required"`
	Result  DNSSEC                            `json:"result"`
	JSON    dnssecEditResponseEnvelopeJSON    `json:"-"`
}

func (*DNSSECEditResponseEnvelope) UnmarshalJSON

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

type DNSSECEditResponseEnvelopeErrors added in v4.3.0

type DNSSECEditResponseEnvelopeErrors struct {
	Code             int64                                  `json:"code,required"`
	Message          string                                 `json:"message,required"`
	DocumentationURL string                                 `json:"documentation_url"`
	Source           DNSSECEditResponseEnvelopeErrorsSource `json:"source"`
	JSON             dnssecEditResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*DNSSECEditResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type DNSSECEditResponseEnvelopeErrorsSource added in v4.3.0

type DNSSECEditResponseEnvelopeErrorsSource struct {
	Pointer string                                     `json:"pointer"`
	JSON    dnssecEditResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*DNSSECEditResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type DNSSECEditResponseEnvelopeMessages added in v4.3.0

type DNSSECEditResponseEnvelopeMessages struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           DNSSECEditResponseEnvelopeMessagesSource `json:"source"`
	JSON             dnssecEditResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*DNSSECEditResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type DNSSECEditResponseEnvelopeMessagesSource added in v4.3.0

type DNSSECEditResponseEnvelopeMessagesSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    dnssecEditResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*DNSSECEditResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type DNSSECEditResponseEnvelopeSuccess

type DNSSECEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DNSSECEditResponseEnvelopeSuccessTrue DNSSECEditResponseEnvelopeSuccess = true
)

func (DNSSECEditResponseEnvelopeSuccess) IsKnown

type DNSSECGetParams

type DNSSECGetParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type DNSSECGetResponseEnvelope

type DNSSECGetResponseEnvelope struct {
	Errors   []DNSSECGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []DNSSECGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success DNSSECGetResponseEnvelopeSuccess `json:"success,required"`
	Result  DNSSEC                           `json:"result"`
	JSON    dnssecGetResponseEnvelopeJSON    `json:"-"`
}

func (*DNSSECGetResponseEnvelope) UnmarshalJSON

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

type DNSSECGetResponseEnvelopeErrors added in v4.3.0

type DNSSECGetResponseEnvelopeErrors struct {
	Code             int64                                 `json:"code,required"`
	Message          string                                `json:"message,required"`
	DocumentationURL string                                `json:"documentation_url"`
	Source           DNSSECGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             dnssecGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*DNSSECGetResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type DNSSECGetResponseEnvelopeErrorsSource added in v4.3.0

type DNSSECGetResponseEnvelopeErrorsSource struct {
	Pointer string                                    `json:"pointer"`
	JSON    dnssecGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*DNSSECGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type DNSSECGetResponseEnvelopeMessages added in v4.3.0

type DNSSECGetResponseEnvelopeMessages struct {
	Code             int64                                   `json:"code,required"`
	Message          string                                  `json:"message,required"`
	DocumentationURL string                                  `json:"documentation_url"`
	Source           DNSSECGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             dnssecGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*DNSSECGetResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type DNSSECGetResponseEnvelopeMessagesSource added in v4.3.0

type DNSSECGetResponseEnvelopeMessagesSource struct {
	Pointer string                                      `json:"pointer"`
	JSON    dnssecGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*DNSSECGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type DNSSECGetResponseEnvelopeSuccess

type DNSSECGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DNSSECGetResponseEnvelopeSuccessTrue DNSSECGetResponseEnvelopeSuccess = true
)

func (DNSSECGetResponseEnvelopeSuccess) IsKnown

type DNSSECService

type DNSSECService struct {
	Options []option.RequestOption
}

DNSSECService 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 NewDNSSECService method instead.

func NewDNSSECService

func NewDNSSECService(opts ...option.RequestOption) (r *DNSSECService)

NewDNSSECService 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 (*DNSSECService) Delete

func (r *DNSSECService) Delete(ctx context.Context, body DNSSECDeleteParams, opts ...option.RequestOption) (res *string, err error)

Delete DNSSEC.

func (*DNSSECService) Edit

func (r *DNSSECService) Edit(ctx context.Context, params DNSSECEditParams, opts ...option.RequestOption) (res *DNSSEC, err error)

Enable or disable DNSSEC.

func (*DNSSECService) Get

func (r *DNSSECService) Get(ctx context.Context, query DNSSECGetParams, opts ...option.RequestOption) (res *DNSSEC, err error)

Details about DNSSEC status and configuration.

type DNSSECStatus

type DNSSECStatus string

Status of DNSSEC, based on user-desired state and presence of necessary records.

const (
	DNSSECStatusActive          DNSSECStatus = "active"
	DNSSECStatusPending         DNSSECStatus = "pending"
	DNSSECStatusDisabled        DNSSECStatus = "disabled"
	DNSSECStatusPendingDisabled DNSSECStatus = "pending-disabled"
	DNSSECStatusError           DNSSECStatus = "error"
)

func (DNSSECStatus) IsKnown

func (r DNSSECStatus) IsKnown() bool

type DNSService

type DNSService struct {
	Options       []option.RequestOption
	DNSSEC        *DNSSECService
	Records       *RecordService
	Settings      *SettingService
	Analytics     *AnalyticsService
	ZoneTransfers *ZoneTransferService
}

DNSService 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 NewDNSService method instead.

func NewDNSService

func NewDNSService(opts ...option.RequestOption) (r *DNSService)

NewDNSService 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 DSRecord

type DSRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type DSRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted DS content. See 'data' to set DS properties.
	Content string `json:"content"`
	// Components of a DS record.
	Data DSRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings DSRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags `json:"tags"`
	JSON dsRecordJSON `json:"-"`
}

func (*DSRecord) UnmarshalJSON

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

type DSRecordData

type DSRecordData struct {
	// Algorithm.
	Algorithm float64 `json:"algorithm"`
	// Digest.
	Digest string `json:"digest"`
	// Digest Type.
	DigestType float64 `json:"digest_type"`
	// Key Tag.
	KeyTag float64          `json:"key_tag"`
	JSON   dsRecordDataJSON `json:"-"`
}

Components of a DS record.

func (*DSRecordData) UnmarshalJSON

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

type DSRecordDataParam

type DSRecordDataParam struct {
	// Algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Digest.
	Digest param.Field[string] `json:"digest"`
	// Digest Type.
	DigestType param.Field[float64] `json:"digest_type"`
	// Key Tag.
	KeyTag param.Field[float64] `json:"key_tag"`
}

Components of a DS record.

func (DSRecordDataParam) MarshalJSON

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

type DSRecordParam

type DSRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[DSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a DS record.
	Data param.Field[DSRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[DSRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (DSRecordParam) MarshalJSON

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

type DSRecordSettings

type DSRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                 `json:"ipv6_only"`
	JSON     dsRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*DSRecordSettings) UnmarshalJSON

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

type DSRecordSettingsParam

type DSRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (DSRecordSettingsParam) MarshalJSON

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

type DSRecordType

type DSRecordType string

Record type.

const (
	DSRecordTypeDS DSRecordType = "DS"
)

func (DSRecordType) IsKnown

func (r DSRecordType) IsKnown() bool

type DisableTransfer

type DisableTransfer = string

type EnableTransfer

type EnableTransfer = string

type Error

type Error = apierror.Error

type ErrorData

type ErrorData = shared.ErrorData

This is an alias to an internal type.

type ErrorDataSource added in v4.2.0

type ErrorDataSource = shared.ErrorDataSource

This is an alias to an internal type.

type ForceAXFR

type ForceAXFR = string

type HTTPSRecord

type HTTPSRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type HTTPSRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted HTTPS content. See 'data' to set HTTPS properties.
	Content string `json:"content"`
	// Components of a HTTPS record.
	Data HTTPSRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings HTTPSRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags    `json:"tags"`
	JSON httpsRecordJSON `json:"-"`
}

func (*HTTPSRecord) UnmarshalJSON

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

type HTTPSRecordData

type HTTPSRecordData struct {
	// priority.
	Priority float64 `json:"priority"`
	// target.
	Target string `json:"target"`
	// value.
	Value string              `json:"value"`
	JSON  httpsRecordDataJSON `json:"-"`
}

Components of a HTTPS record.

func (*HTTPSRecordData) UnmarshalJSON

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

type HTTPSRecordDataParam

type HTTPSRecordDataParam struct {
	// priority.
	Priority param.Field[float64] `json:"priority"`
	// target.
	Target param.Field[string] `json:"target"`
	// value.
	Value param.Field[string] `json:"value"`
}

Components of a HTTPS record.

func (HTTPSRecordDataParam) MarshalJSON

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

type HTTPSRecordParam

type HTTPSRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[HTTPSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a HTTPS record.
	Data param.Field[HTTPSRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[HTTPSRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (HTTPSRecordParam) MarshalJSON

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

type HTTPSRecordSettings

type HTTPSRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                    `json:"ipv6_only"`
	JSON     httpsRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*HTTPSRecordSettings) UnmarshalJSON

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

type HTTPSRecordSettingsParam

type HTTPSRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (HTTPSRecordSettingsParam) MarshalJSON

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

type HTTPSRecordType

type HTTPSRecordType string

Record type.

const (
	HTTPSRecordTypeHTTPS HTTPSRecordType = "HTTPS"
)

func (HTTPSRecordType) IsKnown

func (r HTTPSRecordType) IsKnown() bool

type LOCRecord

type LOCRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type LOCRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted LOC content. See 'data' to set LOC properties.
	Content string `json:"content"`
	// Components of a LOC record.
	Data LOCRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings LOCRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON locRecordJSON `json:"-"`
}

func (*LOCRecord) UnmarshalJSON

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

type LOCRecordData

type LOCRecordData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection LOCRecordDataLatDirection `json:"lat_direction"`
	// Minutes of latitude.
	LatMinutes float64 `json:"lat_minutes"`
	// Seconds of latitude.
	LatSeconds float64 `json:"lat_seconds"`
	// Degrees of longitude.
	LongDegrees float64 `json:"long_degrees"`
	// Longitude direction.
	LongDirection LOCRecordDataLongDirection `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes float64 `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds float64 `json:"long_seconds"`
	// Horizontal precision of location.
	PrecisionHorz float64 `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert float64 `json:"precision_vert"`
	// Size of location in meters.
	Size float64           `json:"size"`
	JSON locRecordDataJSON `json:"-"`
}

Components of a LOC record.

func (*LOCRecordData) UnmarshalJSON

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

type LOCRecordDataLatDirection

type LOCRecordDataLatDirection string

Latitude direction.

const (
	LOCRecordDataLatDirectionN LOCRecordDataLatDirection = "N"
	LOCRecordDataLatDirectionS LOCRecordDataLatDirection = "S"
)

func (LOCRecordDataLatDirection) IsKnown

func (r LOCRecordDataLatDirection) IsKnown() bool

type LOCRecordDataLongDirection

type LOCRecordDataLongDirection string

Longitude direction.

const (
	LOCRecordDataLongDirectionE LOCRecordDataLongDirection = "E"
	LOCRecordDataLongDirectionW LOCRecordDataLongDirection = "W"
)

func (LOCRecordDataLongDirection) IsKnown

func (r LOCRecordDataLongDirection) IsKnown() bool

type LOCRecordDataParam

type LOCRecordDataParam struct {
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[LOCRecordDataLatDirection] `json:"lat_direction"`
	// Minutes of latitude.
	LatMinutes param.Field[float64] `json:"lat_minutes"`
	// Seconds of latitude.
	LatSeconds param.Field[float64] `json:"lat_seconds"`
	// Degrees of longitude.
	LongDegrees param.Field[float64] `json:"long_degrees"`
	// Longitude direction.
	LongDirection param.Field[LOCRecordDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
}

Components of a LOC record.

func (LOCRecordDataParam) MarshalJSON

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

type LOCRecordParam

type LOCRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[LOCRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a LOC record.
	Data param.Field[LOCRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[LOCRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (LOCRecordParam) MarshalJSON

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

type LOCRecordSettings

type LOCRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     locRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*LOCRecordSettings) UnmarshalJSON

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

type LOCRecordSettingsParam

type LOCRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (LOCRecordSettingsParam) MarshalJSON

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

type LOCRecordType

type LOCRecordType string

Record type.

const (
	LOCRecordTypeLOC LOCRecordType = "LOC"
)

func (LOCRecordType) IsKnown

func (r LOCRecordType) IsKnown() bool

type MXRecord

type MXRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type MXRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// A valid mail server hostname.
	Content string `json:"content" format:"hostname"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings MXRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags `json:"tags"`
	JSON mxRecordJSON `json:"-"`
}

func (*MXRecord) UnmarshalJSON

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

type MXRecordParam

type MXRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[MXRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid mail server hostname.
	Content param.Field[string] `json:"content" format:"hostname"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[MXRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (MXRecordParam) MarshalJSON

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

type MXRecordSettings

type MXRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                 `json:"ipv6_only"`
	JSON     mxRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*MXRecordSettings) UnmarshalJSON

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

type MXRecordSettingsParam

type MXRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (MXRecordSettingsParam) MarshalJSON

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

type MXRecordType

type MXRecordType string

Record type.

const (
	MXRecordTypeMX MXRecordType = "MX"
)

func (MXRecordType) IsKnown

func (r MXRecordType) IsKnown() bool

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 NAPTRRecord

type NAPTRRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type NAPTRRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted NAPTR content. See 'data' to set NAPTR properties.
	Content string `json:"content"`
	// Components of a NAPTR record.
	Data NAPTRRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings NAPTRRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags    `json:"tags"`
	JSON naptrRecordJSON `json:"-"`
}

func (*NAPTRRecord) UnmarshalJSON

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

type NAPTRRecordData

type NAPTRRecordData struct {
	// Flags.
	Flags string `json:"flags"`
	// Order.
	Order float64 `json:"order"`
	// Preference.
	Preference float64 `json:"preference"`
	// Regex.
	Regex string `json:"regex"`
	// Replacement.
	Replacement string `json:"replacement"`
	// Service.
	Service string              `json:"service"`
	JSON    naptrRecordDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*NAPTRRecordData) UnmarshalJSON

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

type NAPTRRecordDataParam

type NAPTRRecordDataParam struct {
	// Flags.
	Flags param.Field[string] `json:"flags"`
	// Order.
	Order param.Field[float64] `json:"order"`
	// Preference.
	Preference param.Field[float64] `json:"preference"`
	// Regex.
	Regex param.Field[string] `json:"regex"`
	// Replacement.
	Replacement param.Field[string] `json:"replacement"`
	// Service.
	Service param.Field[string] `json:"service"`
}

Components of a NAPTR record.

func (NAPTRRecordDataParam) MarshalJSON

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

type NAPTRRecordParam

type NAPTRRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[NAPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a NAPTR record.
	Data param.Field[NAPTRRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[NAPTRRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (NAPTRRecordParam) MarshalJSON

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

type NAPTRRecordSettings

type NAPTRRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                    `json:"ipv6_only"`
	JSON     naptrRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*NAPTRRecordSettings) UnmarshalJSON

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

type NAPTRRecordSettingsParam

type NAPTRRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (NAPTRRecordSettingsParam) MarshalJSON

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

type NAPTRRecordType

type NAPTRRecordType string

Record type.

const (
	NAPTRRecordTypeNAPTR NAPTRRecordType = "NAPTR"
)

func (NAPTRRecordType) IsKnown

func (r NAPTRRecordType) IsKnown() bool

type NSRecord

type NSRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type NSRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// A valid name server host name.
	Content string `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings NSRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags `json:"tags"`
	JSON nsRecordJSON `json:"-"`
}

func (*NSRecord) UnmarshalJSON

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

type NSRecordParam

type NSRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[NSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid name server host name.
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[NSRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (NSRecordParam) MarshalJSON

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

type NSRecordSettings

type NSRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                 `json:"ipv6_only"`
	JSON     nsRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*NSRecordSettings) UnmarshalJSON

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

type NSRecordSettingsParam

type NSRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (NSRecordSettingsParam) MarshalJSON

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

type NSRecordType

type NSRecordType string

Record type.

const (
	NSRecordTypeNS NSRecordType = "NS"
)

func (NSRecordType) IsKnown

func (r NSRecordType) IsKnown() bool

type PTRRecord

type PTRRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type PTRRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Domain name pointing to the address.
	Content string `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings PTRRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON ptrRecordJSON `json:"-"`
}

func (*PTRRecord) UnmarshalJSON

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

type PTRRecordParam

type PTRRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[PTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Domain name pointing to the address.
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[PTRRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (PTRRecordParam) MarshalJSON

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

type PTRRecordSettings

type PTRRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     ptrRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*PTRRecordSettings) UnmarshalJSON

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

type PTRRecordSettingsParam

type PTRRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (PTRRecordSettingsParam) MarshalJSON

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

type PTRRecordType

type PTRRecordType string

Record type.

const (
	PTRRecordTypePTR PTRRecordType = "PTR"
)

func (PTRRecordType) IsKnown

func (r PTRRecordType) IsKnown() bool

type Peer

type Peer struct {
	ID string `json:"id,required"`
	// The name of the peer.
	Name string `json:"name,required"`
	// IPv4/IPv6 address of primary or secondary nameserver, depending on what zone
	// this peer is linked to. For primary zones this IP defines the IP of the
	// secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary
	// zones this IP defines the IP of the primary nameserver Cloudflare will send
	// AXFR/IXFR requests to.
	IP string `json:"ip"`
	// Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary
	// zones.
	IxfrEnable bool `json:"ixfr_enable"`
	// DNS port of primary or secondary nameserver, depending on what zone this peer is
	// linked to.
	Port float64 `json:"port"`
	// TSIG authentication will be used for zone transfer if configured.
	TSIGID string   `json:"tsig_id"`
	JSON   peerJSON `json:"-"`
}

func (*Peer) UnmarshalJSON

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

type PeerParam

type PeerParam struct {
	// The name of the peer.
	Name param.Field[string] `json:"name,required"`
	// IPv4/IPv6 address of primary or secondary nameserver, depending on what zone
	// this peer is linked to. For primary zones this IP defines the IP of the
	// secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary
	// zones this IP defines the IP of the primary nameserver Cloudflare will send
	// AXFR/IXFR requests to.
	IP param.Field[string] `json:"ip"`
	// Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary
	// zones.
	IxfrEnable param.Field[bool] `json:"ixfr_enable"`
	// DNS port of primary or secondary nameserver, depending on what zone this peer is
	// linked to.
	Port param.Field[float64] `json:"port"`
	// TSIG authentication will be used for zone transfer if configured.
	TSIGID param.Field[string] `json:"tsig_id"`
}

func (PeerParam) MarshalJSON

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

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 added in v4.1.0

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 RecordBatchParams

type RecordBatchParams struct {
	// Identifier.
	ZoneID  param.Field[string]                       `path:"zone_id,required"`
	Deletes param.Field[[]RecordBatchParamsDelete]    `json:"deletes"`
	Patches param.Field[[]BatchPatchUnionParam]       `json:"patches"`
	Posts   param.Field[[]RecordBatchParamsPostUnion] `json:"posts"`
	Puts    param.Field[[]BatchPutUnionParam]         `json:"puts"`
}

func (RecordBatchParams) MarshalJSON

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

type RecordBatchParamsDelete

type RecordBatchParamsDelete struct {
	// Identifier.
	ID param.Field[string] `json:"id,required"`
}

func (RecordBatchParamsDelete) MarshalJSON

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

type RecordBatchParamsPost added in v4.5.0

type RecordBatchParamsPost struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordBatchParamsPostsType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv4 address.
	Content param.Field[string]      `json:"content" format:"ipv4"`
	Data    param.Field[interface{}] `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied  param.Field[bool]        `json:"proxied"`
	Settings param.Field[interface{}] `json:"settings"`
	Tags     param.Field[interface{}] `json:"tags"`
}

func (RecordBatchParamsPost) MarshalJSON added in v4.5.0

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

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecord added in v4.5.0

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordSettings] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecord) MarshalJSON added in v4.5.0

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

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordSettings added in v4.5.0

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordSettings) MarshalJSON added in v4.5.0

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordType added in v4.5.0

type RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordType string

Record type.

const (
	RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordTypeOpenpgpkey RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (RecordBatchParamsPostsDNSRecordsOpenpgpkeyRecordType) IsKnown added in v4.5.0

type RecordBatchParamsPostsType added in v4.5.0

type RecordBatchParamsPostsType string

Record type.

const (
	RecordBatchParamsPostsTypeA          RecordBatchParamsPostsType = "A"
	RecordBatchParamsPostsTypeAAAA       RecordBatchParamsPostsType = "AAAA"
	RecordBatchParamsPostsTypeCNAME      RecordBatchParamsPostsType = "CNAME"
	RecordBatchParamsPostsTypeMX         RecordBatchParamsPostsType = "MX"
	RecordBatchParamsPostsTypeNS         RecordBatchParamsPostsType = "NS"
	RecordBatchParamsPostsTypeOpenpgpkey RecordBatchParamsPostsType = "OPENPGPKEY"
	RecordBatchParamsPostsTypePTR        RecordBatchParamsPostsType = "PTR"
	RecordBatchParamsPostsTypeTXT        RecordBatchParamsPostsType = "TXT"
	RecordBatchParamsPostsTypeCAA        RecordBatchParamsPostsType = "CAA"
	RecordBatchParamsPostsTypeCERT       RecordBatchParamsPostsType = "CERT"
	RecordBatchParamsPostsTypeDNSKEY     RecordBatchParamsPostsType = "DNSKEY"
	RecordBatchParamsPostsTypeDS         RecordBatchParamsPostsType = "DS"
	RecordBatchParamsPostsTypeHTTPS      RecordBatchParamsPostsType = "HTTPS"
	RecordBatchParamsPostsTypeLOC        RecordBatchParamsPostsType = "LOC"
	RecordBatchParamsPostsTypeNAPTR      RecordBatchParamsPostsType = "NAPTR"
	RecordBatchParamsPostsTypeSMIMEA     RecordBatchParamsPostsType = "SMIMEA"
	RecordBatchParamsPostsTypeSRV        RecordBatchParamsPostsType = "SRV"
	RecordBatchParamsPostsTypeSSHFP      RecordBatchParamsPostsType = "SSHFP"
	RecordBatchParamsPostsTypeSVCB       RecordBatchParamsPostsType = "SVCB"
	RecordBatchParamsPostsTypeTLSA       RecordBatchParamsPostsType = "TLSA"
	RecordBatchParamsPostsTypeURI        RecordBatchParamsPostsType = "URI"
)

func (RecordBatchParamsPostsType) IsKnown added in v4.5.0

func (r RecordBatchParamsPostsType) IsKnown() bool

type RecordBatchResponse

type RecordBatchResponse struct {
	Deletes []RecordResponse        `json:"deletes"`
	Patches []RecordResponse        `json:"patches"`
	Posts   []RecordResponse        `json:"posts"`
	Puts    []RecordResponse        `json:"puts"`
	JSON    recordBatchResponseJSON `json:"-"`
}

func (*RecordBatchResponse) UnmarshalJSON

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

type RecordBatchResponseEnvelope

type RecordBatchResponseEnvelope struct {
	Errors   []RecordBatchResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordBatchResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordBatchResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordBatchResponse                `json:"result"`
	JSON    recordBatchResponseEnvelopeJSON    `json:"-"`
}

func (*RecordBatchResponseEnvelope) UnmarshalJSON

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

type RecordBatchResponseEnvelopeErrors added in v4.3.0

type RecordBatchResponseEnvelopeErrors struct {
	Code             int64                                   `json:"code,required"`
	Message          string                                  `json:"message,required"`
	DocumentationURL string                                  `json:"documentation_url"`
	Source           RecordBatchResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordBatchResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordBatchResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordBatchResponseEnvelopeErrorsSource added in v4.3.0

type RecordBatchResponseEnvelopeErrorsSource struct {
	Pointer string                                      `json:"pointer"`
	JSON    recordBatchResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordBatchResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordBatchResponseEnvelopeMessages added in v4.3.0

type RecordBatchResponseEnvelopeMessages struct {
	Code             int64                                     `json:"code,required"`
	Message          string                                    `json:"message,required"`
	DocumentationURL string                                    `json:"documentation_url"`
	Source           RecordBatchResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordBatchResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordBatchResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordBatchResponseEnvelopeMessagesSource added in v4.3.0

type RecordBatchResponseEnvelopeMessagesSource struct {
	Pointer string                                        `json:"pointer"`
	JSON    recordBatchResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordBatchResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordBatchResponseEnvelopeSuccess

type RecordBatchResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordBatchResponseEnvelopeSuccessTrue RecordBatchResponseEnvelopeSuccess = true
)

func (RecordBatchResponseEnvelopeSuccess) IsKnown

type RecordDeleteParams

type RecordDeleteParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type RecordDeleteResponse

type RecordDeleteResponse struct {
	// Identifier.
	ID   string                   `json:"id"`
	JSON recordDeleteResponseJSON `json:"-"`
}

func (*RecordDeleteResponse) UnmarshalJSON

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

type RecordDeleteResponseEnvelope

type RecordDeleteResponseEnvelope struct {
	Result RecordDeleteResponse             `json:"result"`
	JSON   recordDeleteResponseEnvelopeJSON `json:"-"`
}

func (*RecordDeleteResponseEnvelope) UnmarshalJSON

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

type RecordEditParams

type RecordEditParams struct {
	// Identifier.
	ZoneID param.Field[string]       `path:"zone_id,required"`
	Body   RecordEditParamsBodyUnion `json:"body,required"`
}

func (RecordEditParams) MarshalJSON

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

type RecordEditParamsBody added in v4.5.0

type RecordEditParamsBody struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordEditParamsBodyType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv4 address.
	Content param.Field[string]      `json:"content" format:"ipv4"`
	Data    param.Field[interface{}] `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied  param.Field[bool]        `json:"proxied"`
	Settings param.Field[interface{}] `json:"settings"`
	Tags     param.Field[interface{}] `json:"tags"`
}

func (RecordEditParamsBody) MarshalJSON added in v4.5.0

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

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecord added in v4.5.0

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordSettings] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (RecordEditParamsBodyDNSRecordsOpenpgpkeyRecord) MarshalJSON added in v4.5.0

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

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordSettings added in v4.5.0

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordSettings) MarshalJSON added in v4.5.0

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordType added in v4.5.0

type RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordType string

Record type.

const (
	RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordTypeOpenpgpkey RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (RecordEditParamsBodyDNSRecordsOpenpgpkeyRecordType) IsKnown added in v4.5.0

type RecordEditParamsBodyType added in v4.5.0

type RecordEditParamsBodyType string

Record type.

const (
	RecordEditParamsBodyTypeA          RecordEditParamsBodyType = "A"
	RecordEditParamsBodyTypeAAAA       RecordEditParamsBodyType = "AAAA"
	RecordEditParamsBodyTypeCNAME      RecordEditParamsBodyType = "CNAME"
	RecordEditParamsBodyTypeMX         RecordEditParamsBodyType = "MX"
	RecordEditParamsBodyTypeNS         RecordEditParamsBodyType = "NS"
	RecordEditParamsBodyTypeOpenpgpkey RecordEditParamsBodyType = "OPENPGPKEY"
	RecordEditParamsBodyTypePTR        RecordEditParamsBodyType = "PTR"
	RecordEditParamsBodyTypeTXT        RecordEditParamsBodyType = "TXT"
	RecordEditParamsBodyTypeCAA        RecordEditParamsBodyType = "CAA"
	RecordEditParamsBodyTypeCERT       RecordEditParamsBodyType = "CERT"
	RecordEditParamsBodyTypeDNSKEY     RecordEditParamsBodyType = "DNSKEY"
	RecordEditParamsBodyTypeDS         RecordEditParamsBodyType = "DS"
	RecordEditParamsBodyTypeHTTPS      RecordEditParamsBodyType = "HTTPS"
	RecordEditParamsBodyTypeLOC        RecordEditParamsBodyType = "LOC"
	RecordEditParamsBodyTypeNAPTR      RecordEditParamsBodyType = "NAPTR"
	RecordEditParamsBodyTypeSMIMEA     RecordEditParamsBodyType = "SMIMEA"
	RecordEditParamsBodyTypeSRV        RecordEditParamsBodyType = "SRV"
	RecordEditParamsBodyTypeSSHFP      RecordEditParamsBodyType = "SSHFP"
	RecordEditParamsBodyTypeSVCB       RecordEditParamsBodyType = "SVCB"
	RecordEditParamsBodyTypeTLSA       RecordEditParamsBodyType = "TLSA"
	RecordEditParamsBodyTypeURI        RecordEditParamsBodyType = "URI"
)

func (RecordEditParamsBodyType) IsKnown added in v4.5.0

func (r RecordEditParamsBodyType) IsKnown() bool

type RecordEditResponseEnvelope

type RecordEditResponseEnvelope struct {
	Errors   []RecordEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordEditResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordEditResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordResponse                    `json:"result"`
	JSON    recordEditResponseEnvelopeJSON    `json:"-"`
}

func (*RecordEditResponseEnvelope) UnmarshalJSON

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

type RecordEditResponseEnvelopeErrors added in v4.3.0

type RecordEditResponseEnvelopeErrors struct {
	Code             int64                                  `json:"code,required"`
	Message          string                                 `json:"message,required"`
	DocumentationURL string                                 `json:"documentation_url"`
	Source           RecordEditResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordEditResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordEditResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordEditResponseEnvelopeErrorsSource added in v4.3.0

type RecordEditResponseEnvelopeErrorsSource struct {
	Pointer string                                     `json:"pointer"`
	JSON    recordEditResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordEditResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordEditResponseEnvelopeMessages added in v4.3.0

type RecordEditResponseEnvelopeMessages struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           RecordEditResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordEditResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordEditResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordEditResponseEnvelopeMessagesSource added in v4.3.0

type RecordEditResponseEnvelopeMessagesSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    recordEditResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordEditResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordEditResponseEnvelopeSuccess

type RecordEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordEditResponseEnvelopeSuccessTrue RecordEditResponseEnvelopeSuccess = true
)

func (RecordEditResponseEnvelopeSuccess) IsKnown

type RecordExportParams

type RecordExportParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type RecordGetParams

type RecordGetParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type RecordGetResponseEnvelope

type RecordGetResponseEnvelope struct {
	Errors   []RecordGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordGetResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordResponse                   `json:"result"`
	JSON    recordGetResponseEnvelopeJSON    `json:"-"`
}

func (*RecordGetResponseEnvelope) UnmarshalJSON

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

type RecordGetResponseEnvelopeErrors added in v4.3.0

type RecordGetResponseEnvelopeErrors struct {
	Code             int64                                 `json:"code,required"`
	Message          string                                `json:"message,required"`
	DocumentationURL string                                `json:"documentation_url"`
	Source           RecordGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordGetResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordGetResponseEnvelopeErrorsSource added in v4.3.0

type RecordGetResponseEnvelopeErrorsSource struct {
	Pointer string                                    `json:"pointer"`
	JSON    recordGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordGetResponseEnvelopeMessages added in v4.3.0

type RecordGetResponseEnvelopeMessages struct {
	Code             int64                                   `json:"code,required"`
	Message          string                                  `json:"message,required"`
	DocumentationURL string                                  `json:"documentation_url"`
	Source           RecordGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordGetResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordGetResponseEnvelopeMessagesSource added in v4.3.0

type RecordGetResponseEnvelopeMessagesSource struct {
	Pointer string                                      `json:"pointer"`
	JSON    recordGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordGetResponseEnvelopeSuccess

type RecordGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordGetResponseEnvelopeSuccessTrue RecordGetResponseEnvelopeSuccess = true
)

func (RecordGetResponseEnvelopeSuccess) IsKnown

type RecordImportParams

type RecordImportParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	// BIND config to import.
	//
	// **Tip:** When using cURL, a file can be uploaded using
	// `--form 'file=@bind_config.txt'`.
	File param.Field[string] `json:"file,required"`
	// Whether or not proxiable records should receive the performance and security
	// benefits of Cloudflare.
	//
	// The value should be either `true` or `false`.
	Proxied param.Field[string] `json:"proxied"`
}

func (RecordImportParams) MarshalMultipart

func (r RecordImportParams) MarshalMultipart() (data []byte, contentType string, err error)

type RecordImportResponse

type RecordImportResponse struct {
	// Number of DNS records added.
	RecsAdded float64 `json:"recs_added"`
	// Total number of DNS records parsed.
	TotalRecordsParsed float64                  `json:"total_records_parsed"`
	JSON               recordImportResponseJSON `json:"-"`
}

func (*RecordImportResponse) UnmarshalJSON

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

type RecordImportResponseEnvelope

type RecordImportResponseEnvelope struct {
	Errors   []RecordImportResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordImportResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordImportResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordImportResponse                `json:"result"`
	JSON    recordImportResponseEnvelopeJSON    `json:"-"`
}

func (*RecordImportResponseEnvelope) UnmarshalJSON

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

type RecordImportResponseEnvelopeErrors added in v4.3.0

type RecordImportResponseEnvelopeErrors struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           RecordImportResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordImportResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordImportResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordImportResponseEnvelopeErrorsSource added in v4.3.0

type RecordImportResponseEnvelopeErrorsSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    recordImportResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordImportResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordImportResponseEnvelopeMessages added in v4.3.0

type RecordImportResponseEnvelopeMessages struct {
	Code             int64                                      `json:"code,required"`
	Message          string                                     `json:"message,required"`
	DocumentationURL string                                     `json:"documentation_url"`
	Source           RecordImportResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordImportResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordImportResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordImportResponseEnvelopeMessagesSource added in v4.3.0

type RecordImportResponseEnvelopeMessagesSource struct {
	Pointer string                                         `json:"pointer"`
	JSON    recordImportResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordImportResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordImportResponseEnvelopeSuccess

type RecordImportResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordImportResponseEnvelopeSuccessTrue RecordImportResponseEnvelopeSuccess = true
)

func (RecordImportResponseEnvelopeSuccess) IsKnown

type RecordListParams

type RecordListParams struct {
	// Identifier.
	ZoneID  param.Field[string]                  `path:"zone_id,required"`
	Comment param.Field[RecordListParamsComment] `query:"comment"`
	Content param.Field[RecordListParamsContent] `query:"content"`
	// Direction to order DNS records in.
	Direction param.Field[shared.SortDirection] `query:"direction"`
	// Whether to match all search requirements or at least one (any). If set to `all`,
	// acts like a logical AND between filters. If set to `any`, acts like a logical OR
	// instead. Note that the interaction between tag filters is controlled by the
	// `tag-match` parameter instead.
	Match param.Field[RecordListParamsMatch] `query:"match"`
	Name  param.Field[RecordListParamsName]  `query:"name"`
	// Field to order DNS records by.
	Order param.Field[RecordListParamsOrder] `query:"order"`
	// Page number of paginated results.
	Page param.Field[float64] `query:"page"`
	// Number of DNS records per page.
	PerPage param.Field[float64] `query:"per_page"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `query:"proxied"`
	// Allows searching in multiple properties of a DNS record simultaneously. This
	// parameter is intended for human users, not automation. Its exact behavior is
	// intentionally left unspecified and is subject to change in the future. This
	// parameter works independently of the `match` setting. For automated searches,
	// please use the other available parameters.
	Search param.Field[string]              `query:"search"`
	Tag    param.Field[RecordListParamsTag] `query:"tag"`
	// Whether to match all tag search requirements or at least one (any). If set to
	// `all`, acts like a logical AND between tag filters. If set to `any`, acts like a
	// logical OR instead. Note that the regular `match` parameter is still used to
	// combine the resulting condition with other filters that aren't related to tags.
	TagMatch param.Field[RecordListParamsTagMatch] `query:"tag_match"`
	// Record type.
	Type param.Field[RecordListParamsType] `query:"type"`
}

func (RecordListParams) URLQuery

func (r RecordListParams) URLQuery() (v url.Values)

URLQuery serializes RecordListParams's query parameters as `url.Values`.

type RecordListParamsComment

type RecordListParamsComment struct {
	// If this parameter is present, only records _without_ a comment are returned.
	Absent param.Field[string] `query:"absent"`
	// Substring of the DNS record comment. Comment filters are case-insensitive.
	Contains param.Field[string] `query:"contains"`
	// Suffix of the DNS record comment. Comment filters are case-insensitive.
	Endswith param.Field[string] `query:"endswith"`
	// Exact value of the DNS record comment. Comment filters are case-insensitive.
	Exact param.Field[string] `query:"exact"`
	// If this parameter is present, only records _with_ a comment are returned.
	Present param.Field[string] `query:"present"`
	// Prefix of the DNS record comment. Comment filters are case-insensitive.
	Startswith param.Field[string] `query:"startswith"`
}

func (RecordListParamsComment) URLQuery

func (r RecordListParamsComment) URLQuery() (v url.Values)

URLQuery serializes RecordListParamsComment's query parameters as `url.Values`.

type RecordListParamsContent

type RecordListParamsContent struct {
	// Substring of the DNS record content. Content filters are case-insensitive.
	Contains param.Field[string] `query:"contains"`
	// Suffix of the DNS record content. Content filters are case-insensitive.
	Endswith param.Field[string] `query:"endswith"`
	// Exact value of the DNS record content. Content filters are case-insensitive.
	Exact param.Field[string] `query:"exact"`
	// Prefix of the DNS record content. Content filters are case-insensitive.
	Startswith param.Field[string] `query:"startswith"`
}

func (RecordListParamsContent) URLQuery

func (r RecordListParamsContent) URLQuery() (v url.Values)

URLQuery serializes RecordListParamsContent's query parameters as `url.Values`.

type RecordListParamsMatch

type RecordListParamsMatch string

Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead.

const (
	RecordListParamsMatchAny RecordListParamsMatch = "any"
	RecordListParamsMatchAll RecordListParamsMatch = "all"
)

func (RecordListParamsMatch) IsKnown

func (r RecordListParamsMatch) IsKnown() bool

type RecordListParamsName

type RecordListParamsName struct {
	// Substring of the DNS record name. Name filters are case-insensitive.
	Contains param.Field[string] `query:"contains"`
	// Suffix of the DNS record name. Name filters are case-insensitive.
	Endswith param.Field[string] `query:"endswith"`
	// Exact value of the DNS record name. Name filters are case-insensitive.
	Exact param.Field[string] `query:"exact"`
	// Prefix of the DNS record name. Name filters are case-insensitive.
	Startswith param.Field[string] `query:"startswith"`
}

func (RecordListParamsName) URLQuery

func (r RecordListParamsName) URLQuery() (v url.Values)

URLQuery serializes RecordListParamsName's query parameters as `url.Values`.

type RecordListParamsOrder

type RecordListParamsOrder string

Field to order DNS records by.

const (
	RecordListParamsOrderType    RecordListParamsOrder = "type"
	RecordListParamsOrderName    RecordListParamsOrder = "name"
	RecordListParamsOrderContent RecordListParamsOrder = "content"
	RecordListParamsOrderTTL     RecordListParamsOrder = "ttl"
	RecordListParamsOrderProxied RecordListParamsOrder = "proxied"
)

func (RecordListParamsOrder) IsKnown

func (r RecordListParamsOrder) IsKnown() bool

type RecordListParamsTag

type RecordListParamsTag struct {
	// Name of a tag which must _not_ be present on the DNS record. Tag filters are
	// case-insensitive.
	Absent param.Field[string] `query:"absent"`
	// A tag and value, of the form `<tag-name>:<tag-value>`. The API will only return
	// DNS records that have a tag named `<tag-name>` whose value contains
	// `<tag-value>`. Tag filters are case-insensitive.
	Contains param.Field[string] `query:"contains"`
	// A tag and value, of the form `<tag-name>:<tag-value>`. The API will only return
	// DNS records that have a tag named `<tag-name>` whose value ends with
	// `<tag-value>`. Tag filters are case-insensitive.
	Endswith param.Field[string] `query:"endswith"`
	// A tag and value, of the form `<tag-name>:<tag-value>`. The API will only return
	// DNS records that have a tag named `<tag-name>` whose value is `<tag-value>`. Tag
	// filters are case-insensitive.
	Exact param.Field[string] `query:"exact"`
	// Name of a tag which must be present on the DNS record. Tag filters are
	// case-insensitive.
	Present param.Field[string] `query:"present"`
	// A tag and value, of the form `<tag-name>:<tag-value>`. The API will only return
	// DNS records that have a tag named `<tag-name>` whose value starts with
	// `<tag-value>`. Tag filters are case-insensitive.
	Startswith param.Field[string] `query:"startswith"`
}

func (RecordListParamsTag) URLQuery

func (r RecordListParamsTag) URLQuery() (v url.Values)

URLQuery serializes RecordListParamsTag's query parameters as `url.Values`.

type RecordListParamsTagMatch

type RecordListParamsTagMatch string

Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags.

const (
	RecordListParamsTagMatchAny RecordListParamsTagMatch = "any"
	RecordListParamsTagMatchAll RecordListParamsTagMatch = "all"
)

func (RecordListParamsTagMatch) IsKnown

func (r RecordListParamsTagMatch) IsKnown() bool

type RecordListParamsType

type RecordListParamsType string

Record type.

const (
	RecordListParamsTypeA          RecordListParamsType = "A"
	RecordListParamsTypeAAAA       RecordListParamsType = "AAAA"
	RecordListParamsTypeCAA        RecordListParamsType = "CAA"
	RecordListParamsTypeCERT       RecordListParamsType = "CERT"
	RecordListParamsTypeCNAME      RecordListParamsType = "CNAME"
	RecordListParamsTypeDNSKEY     RecordListParamsType = "DNSKEY"
	RecordListParamsTypeDS         RecordListParamsType = "DS"
	RecordListParamsTypeHTTPS      RecordListParamsType = "HTTPS"
	RecordListParamsTypeLOC        RecordListParamsType = "LOC"
	RecordListParamsTypeMX         RecordListParamsType = "MX"
	RecordListParamsTypeNAPTR      RecordListParamsType = "NAPTR"
	RecordListParamsTypeNS         RecordListParamsType = "NS"
	RecordListParamsTypeOpenpgpkey RecordListParamsType = "OPENPGPKEY"
	RecordListParamsTypePTR        RecordListParamsType = "PTR"
	RecordListParamsTypeSMIMEA     RecordListParamsType = "SMIMEA"
	RecordListParamsTypeSRV        RecordListParamsType = "SRV"
	RecordListParamsTypeSSHFP      RecordListParamsType = "SSHFP"
	RecordListParamsTypeSVCB       RecordListParamsType = "SVCB"
	RecordListParamsTypeTLSA       RecordListParamsType = "TLSA"
	RecordListParamsTypeTXT        RecordListParamsType = "TXT"
	RecordListParamsTypeURI        RecordListParamsType = "URI"
)

func (RecordListParamsType) IsKnown

func (r RecordListParamsType) IsKnown() bool

type RecordNewParams

type RecordNewParams struct {
	// Identifier.
	ZoneID param.Field[string]      `path:"zone_id,required"`
	Body   RecordNewParamsBodyUnion `json:"body,required"`
}

func (RecordNewParams) MarshalJSON

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

type RecordNewParamsBody added in v4.5.0

type RecordNewParamsBody struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordNewParamsBodyType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv4 address.
	Content param.Field[string]      `json:"content" format:"ipv4"`
	Data    param.Field[interface{}] `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied  param.Field[bool]        `json:"proxied"`
	Settings param.Field[interface{}] `json:"settings"`
	Tags     param.Field[interface{}] `json:"tags"`
}

func (RecordNewParamsBody) MarshalJSON added in v4.5.0

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

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecord added in v4.5.0

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordSettings] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (RecordNewParamsBodyDNSRecordsOpenpgpkeyRecord) MarshalJSON added in v4.5.0

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

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordSettings added in v4.5.0

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordSettings) MarshalJSON added in v4.5.0

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordType added in v4.5.0

type RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordType string

Record type.

const (
	RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordTypeOpenpgpkey RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (RecordNewParamsBodyDNSRecordsOpenpgpkeyRecordType) IsKnown added in v4.5.0

type RecordNewParamsBodyType added in v4.5.0

type RecordNewParamsBodyType string

Record type.

const (
	RecordNewParamsBodyTypeA          RecordNewParamsBodyType = "A"
	RecordNewParamsBodyTypeAAAA       RecordNewParamsBodyType = "AAAA"
	RecordNewParamsBodyTypeCNAME      RecordNewParamsBodyType = "CNAME"
	RecordNewParamsBodyTypeMX         RecordNewParamsBodyType = "MX"
	RecordNewParamsBodyTypeNS         RecordNewParamsBodyType = "NS"
	RecordNewParamsBodyTypeOpenpgpkey RecordNewParamsBodyType = "OPENPGPKEY"
	RecordNewParamsBodyTypePTR        RecordNewParamsBodyType = "PTR"
	RecordNewParamsBodyTypeTXT        RecordNewParamsBodyType = "TXT"
	RecordNewParamsBodyTypeCAA        RecordNewParamsBodyType = "CAA"
	RecordNewParamsBodyTypeCERT       RecordNewParamsBodyType = "CERT"
	RecordNewParamsBodyTypeDNSKEY     RecordNewParamsBodyType = "DNSKEY"
	RecordNewParamsBodyTypeDS         RecordNewParamsBodyType = "DS"
	RecordNewParamsBodyTypeHTTPS      RecordNewParamsBodyType = "HTTPS"
	RecordNewParamsBodyTypeLOC        RecordNewParamsBodyType = "LOC"
	RecordNewParamsBodyTypeNAPTR      RecordNewParamsBodyType = "NAPTR"
	RecordNewParamsBodyTypeSMIMEA     RecordNewParamsBodyType = "SMIMEA"
	RecordNewParamsBodyTypeSRV        RecordNewParamsBodyType = "SRV"
	RecordNewParamsBodyTypeSSHFP      RecordNewParamsBodyType = "SSHFP"
	RecordNewParamsBodyTypeSVCB       RecordNewParamsBodyType = "SVCB"
	RecordNewParamsBodyTypeTLSA       RecordNewParamsBodyType = "TLSA"
	RecordNewParamsBodyTypeURI        RecordNewParamsBodyType = "URI"
)

func (RecordNewParamsBodyType) IsKnown added in v4.5.0

func (r RecordNewParamsBodyType) IsKnown() bool

type RecordNewResponseEnvelope

type RecordNewResponseEnvelope struct {
	Errors   []RecordNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordNewResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordResponse                   `json:"result"`
	JSON    recordNewResponseEnvelopeJSON    `json:"-"`
}

func (*RecordNewResponseEnvelope) UnmarshalJSON

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

type RecordNewResponseEnvelopeErrors added in v4.3.0

type RecordNewResponseEnvelopeErrors struct {
	Code             int64                                 `json:"code,required"`
	Message          string                                `json:"message,required"`
	DocumentationURL string                                `json:"documentation_url"`
	Source           RecordNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordNewResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordNewResponseEnvelopeErrorsSource added in v4.3.0

type RecordNewResponseEnvelopeErrorsSource struct {
	Pointer string                                    `json:"pointer"`
	JSON    recordNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordNewResponseEnvelopeMessages added in v4.3.0

type RecordNewResponseEnvelopeMessages struct {
	Code             int64                                   `json:"code,required"`
	Message          string                                  `json:"message,required"`
	DocumentationURL string                                  `json:"documentation_url"`
	Source           RecordNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordNewResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordNewResponseEnvelopeMessagesSource added in v4.3.0

type RecordNewResponseEnvelopeMessagesSource struct {
	Pointer string                                      `json:"pointer"`
	JSON    recordNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordNewResponseEnvelopeSuccess

type RecordNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordNewResponseEnvelopeSuccessTrue RecordNewResponseEnvelopeSuccess = true
)

func (RecordNewResponseEnvelopeSuccess) IsKnown

type RecordResponse

type RecordResponse struct {
	// Identifier.
	ID string `json:"id"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// A valid IPv4 address.
	Content string `json:"content" format:"ipv4"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// This field can have the runtime type of [CAARecordData], [CERTRecordData],
	// [DNSKEYRecordData], [DSRecordData], [HTTPSRecordData], [LOCRecordData],
	// [NAPTRRecordData], [SMIMEARecordData], [SRVRecordData], [SSHFPRecordData],
	// [SVCBRecordData], [TLSARecordData], [URIRecordData].
	Data interface{} `json:"data"`
	// This field can have the runtime type of [interface{}].
	Meta interface{} `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// This field can have the runtime type of [ARecordSettings], [AAAARecordSettings],
	// [CNAMERecordSettings], [MXRecordSettings], [NSRecordSettings],
	// [RecordResponseOpenpgpkeyRecordSettings], [PTRRecordSettings],
	// [TXTRecordSettings], [CAARecordSettings], [CERTRecordSettings],
	// [DNSKEYRecordSettings], [DSRecordSettings], [HTTPSRecordSettings],
	// [LOCRecordSettings], [NAPTRRecordSettings], [SMIMEARecordSettings],
	// [SRVRecordSettings], [SSHFPRecordSettings], [SVCBRecordSettings],
	// [TLSARecordSettings], [URIRecordSettings].
	Settings interface{} `json:"settings"`
	// This field can have the runtime type of [[]RecordTags].
	Tags interface{} `json:"tags"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time `json:"tags_modified_on" format:"date-time"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl"`
	// Record type.
	Type RecordResponseType `json:"type"`
	JSON recordResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*RecordResponse) UnmarshalJSON

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

type RecordResponseAAAARecord

type RecordResponseAAAARecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                    `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseAAAARecordJSON `json:"-"`
	AAAARecord
}

func (*RecordResponseAAAARecord) UnmarshalJSON

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

type RecordResponseARecord

type RecordResponseARecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                 `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseARecordJSON `json:"-"`
	ARecord
}

func (*RecordResponseARecord) UnmarshalJSON

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

type RecordResponseCAARecord

type RecordResponseCAARecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseCAARecordJSON `json:"-"`
	CAARecord
}

func (*RecordResponseCAARecord) UnmarshalJSON

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

type RecordResponseCERTRecord

type RecordResponseCERTRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                    `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseCERTRecordJSON `json:"-"`
	CERTRecord
}

func (*RecordResponseCERTRecord) UnmarshalJSON

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

type RecordResponseCNAMERecord

type RecordResponseCNAMERecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                     `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseCNAMERecordJSON `json:"-"`
	CNAMERecord
}

func (*RecordResponseCNAMERecord) UnmarshalJSON

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

type RecordResponseDNSKEYRecord

type RecordResponseDNSKEYRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                      `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseDNSKEYRecordJSON `json:"-"`
	DNSKEYRecord
}

func (*RecordResponseDNSKEYRecord) UnmarshalJSON

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

type RecordResponseDSRecord

type RecordResponseDSRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                  `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseDSRecordJSON `json:"-"`
	DSRecord
}

func (*RecordResponseDSRecord) UnmarshalJSON

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

type RecordResponseHTTPSRecord

type RecordResponseHTTPSRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                     `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseHTTPSRecordJSON `json:"-"`
	HTTPSRecord
}

func (*RecordResponseHTTPSRecord) UnmarshalJSON

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

type RecordResponseLOCRecord

type RecordResponseLOCRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseLOCRecordJSON `json:"-"`
	LOCRecord
}

func (*RecordResponseLOCRecord) UnmarshalJSON

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

type RecordResponseMXRecord

type RecordResponseMXRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                  `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseMXRecordJSON `json:"-"`
	MXRecord
}

func (*RecordResponseMXRecord) UnmarshalJSON

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

type RecordResponseNAPTRRecord

type RecordResponseNAPTRRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                     `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseNAPTRRecordJSON `json:"-"`
	NAPTRRecord
}

func (*RecordResponseNAPTRRecord) UnmarshalJSON

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

type RecordResponseNSRecord

type RecordResponseNSRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                  `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseNSRecordJSON `json:"-"`
	NSRecord
}

func (*RecordResponseNSRecord) UnmarshalJSON

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

type RecordResponseOpenpgpkeyRecord added in v4.5.0

type RecordResponseOpenpgpkeyRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment,required"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content string `json:"content,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied,required"`
	// Settings for the DNS record.
	Settings RecordResponseOpenpgpkeyRecordSettings `json:"settings,required"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags `json:"tags,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type RecordResponseOpenpgpkeyRecordType `json:"type,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                          `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseOpenpgpkeyRecordJSON `json:"-"`
}

func (*RecordResponseOpenpgpkeyRecord) UnmarshalJSON added in v4.5.0

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

type RecordResponseOpenpgpkeyRecordSettings added in v4.5.0

type RecordResponseOpenpgpkeyRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                                       `json:"ipv6_only"`
	JSON     recordResponseOpenpgpkeyRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*RecordResponseOpenpgpkeyRecordSettings) UnmarshalJSON added in v4.5.0

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

type RecordResponseOpenpgpkeyRecordType added in v4.5.0

type RecordResponseOpenpgpkeyRecordType string

Record type.

const (
	RecordResponseOpenpgpkeyRecordTypeOpenpgpkey RecordResponseOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (RecordResponseOpenpgpkeyRecordType) IsKnown added in v4.5.0

type RecordResponsePTRRecord

type RecordResponsePTRRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponsePTRRecordJSON `json:"-"`
	PTRRecord
}

func (*RecordResponsePTRRecord) UnmarshalJSON

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

type RecordResponseSMIMEARecord

type RecordResponseSMIMEARecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                      `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseSMIMEARecordJSON `json:"-"`
	SMIMEARecord
}

func (*RecordResponseSMIMEARecord) UnmarshalJSON

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

type RecordResponseSRVRecord

type RecordResponseSRVRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseSRVRecordJSON `json:"-"`
	SRVRecord
}

func (*RecordResponseSRVRecord) UnmarshalJSON

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

type RecordResponseSSHFPRecord

type RecordResponseSSHFPRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                     `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseSSHFPRecordJSON `json:"-"`
	SSHFPRecord
}

func (*RecordResponseSSHFPRecord) UnmarshalJSON

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

type RecordResponseSVCBRecord

type RecordResponseSVCBRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                    `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseSVCBRecordJSON `json:"-"`
	SVCBRecord
}

func (*RecordResponseSVCBRecord) UnmarshalJSON

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

type RecordResponseTLSARecord

type RecordResponseTLSARecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                    `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseTLSARecordJSON `json:"-"`
	TLSARecord
}

func (*RecordResponseTLSARecord) UnmarshalJSON

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

type RecordResponseTXTRecord

type RecordResponseTXTRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseTXTRecordJSON `json:"-"`
	TXTRecord
}

func (*RecordResponseTXTRecord) UnmarshalJSON

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

type RecordResponseType

type RecordResponseType string

Record type.

const (
	RecordResponseTypeA          RecordResponseType = "A"
	RecordResponseTypeAAAA       RecordResponseType = "AAAA"
	RecordResponseTypeCNAME      RecordResponseType = "CNAME"
	RecordResponseTypeMX         RecordResponseType = "MX"
	RecordResponseTypeNS         RecordResponseType = "NS"
	RecordResponseTypeOpenpgpkey RecordResponseType = "OPENPGPKEY"
	RecordResponseTypePTR        RecordResponseType = "PTR"
	RecordResponseTypeTXT        RecordResponseType = "TXT"
	RecordResponseTypeCAA        RecordResponseType = "CAA"
	RecordResponseTypeCERT       RecordResponseType = "CERT"
	RecordResponseTypeDNSKEY     RecordResponseType = "DNSKEY"
	RecordResponseTypeDS         RecordResponseType = "DS"
	RecordResponseTypeHTTPS      RecordResponseType = "HTTPS"
	RecordResponseTypeLOC        RecordResponseType = "LOC"
	RecordResponseTypeNAPTR      RecordResponseType = "NAPTR"
	RecordResponseTypeSMIMEA     RecordResponseType = "SMIMEA"
	RecordResponseTypeSRV        RecordResponseType = "SRV"
	RecordResponseTypeSSHFP      RecordResponseType = "SSHFP"
	RecordResponseTypeSVCB       RecordResponseType = "SVCB"
	RecordResponseTypeTLSA       RecordResponseType = "TLSA"
	RecordResponseTypeURI        RecordResponseType = "URI"
)

func (RecordResponseType) IsKnown

func (r RecordResponseType) IsKnown() bool

type RecordResponseURIRecord

type RecordResponseURIRecord struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on,required" format:"date-time"`
	// Extra Cloudflare-specific information about the record.
	Meta interface{} `json:"meta,required"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable,required"`
	// When the record comment was last modified. Omitted if there is no comment.
	CommentModifiedOn time.Time `json:"comment_modified_on" format:"date-time"`
	// When the record tags were last modified. Omitted if there are no tags.
	TagsModifiedOn time.Time                   `json:"tags_modified_on" format:"date-time"`
	JSON           recordResponseURIRecordJSON `json:"-"`
	URIRecord
}

func (*RecordResponseURIRecord) UnmarshalJSON

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

type RecordScanParams

type RecordScanParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	Body   interface{}         `json:"body,required"`
}

func (RecordScanParams) MarshalJSON

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

type RecordScanResponse

type RecordScanResponse struct {
	// Number of DNS records added.
	RecsAdded float64 `json:"recs_added"`
	// Total number of DNS records parsed.
	TotalRecordsParsed float64                `json:"total_records_parsed"`
	JSON               recordScanResponseJSON `json:"-"`
}

func (*RecordScanResponse) UnmarshalJSON

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

type RecordScanResponseEnvelope

type RecordScanResponseEnvelope struct {
	Errors   []RecordScanResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordScanResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordScanResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordScanResponse                `json:"result"`
	JSON    recordScanResponseEnvelopeJSON    `json:"-"`
}

func (*RecordScanResponseEnvelope) UnmarshalJSON

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

type RecordScanResponseEnvelopeErrors added in v4.3.0

type RecordScanResponseEnvelopeErrors struct {
	Code             int64                                  `json:"code,required"`
	Message          string                                 `json:"message,required"`
	DocumentationURL string                                 `json:"documentation_url"`
	Source           RecordScanResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordScanResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordScanResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordScanResponseEnvelopeErrorsSource added in v4.3.0

type RecordScanResponseEnvelopeErrorsSource struct {
	Pointer string                                     `json:"pointer"`
	JSON    recordScanResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordScanResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordScanResponseEnvelopeMessages added in v4.3.0

type RecordScanResponseEnvelopeMessages struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           RecordScanResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordScanResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordScanResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordScanResponseEnvelopeMessagesSource added in v4.3.0

type RecordScanResponseEnvelopeMessagesSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    recordScanResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordScanResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordScanResponseEnvelopeSuccess

type RecordScanResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordScanResponseEnvelopeSuccessTrue RecordScanResponseEnvelopeSuccess = true
)

func (RecordScanResponseEnvelopeSuccess) IsKnown

type RecordService

type RecordService struct {
	Options []option.RequestOption
}

RecordService 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 NewRecordService method instead.

func NewRecordService

func NewRecordService(opts ...option.RequestOption) (r *RecordService)

NewRecordService 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 (*RecordService) Batch

func (r *RecordService) Batch(ctx context.Context, params RecordBatchParams, opts ...option.RequestOption) (res *RecordBatchResponse, err error)

Send a Batch of DNS Record API calls to be executed together.

Notes:

  • Although Cloudflare will execute the batched operations in a single database transaction, Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/batch-record-changes/ "Batch DNS records") for more information.

  • The operations you specify within the /batch request body are always executed in the following order:

  • Deletes

  • Patches

  • Puts

  • Posts

func (*RecordService) Delete

func (r *RecordService) Delete(ctx context.Context, dnsRecordID string, body RecordDeleteParams, opts ...option.RequestOption) (res *RecordDeleteResponse, err error)

Delete DNS Record

func (*RecordService) Edit

func (r *RecordService) Edit(ctx context.Context, dnsRecordID string, params RecordEditParams, opts ...option.RequestOption) (res *RecordResponse, err error)

Update an existing DNS record.

Notes:

  • A/AAAA records cannot exist on the same name as CNAME records.
  • NS records cannot exist on the same name as any other record type.
  • Domain names are always represented in Punycode, even if Unicode characters were used when creating the record.

func (*RecordService) Export

func (r *RecordService) Export(ctx context.Context, query RecordExportParams, opts ...option.RequestOption) (res *string, err error)

You can export your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint.

See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information.

func (*RecordService) Get

func (r *RecordService) Get(ctx context.Context, dnsRecordID string, query RecordGetParams, opts ...option.RequestOption) (res *RecordResponse, err error)

DNS Record Details

func (*RecordService) Import

func (r *RecordService) Import(ctx context.Context, params RecordImportParams, opts ...option.RequestOption) (res *RecordImportResponse, err error)

You can upload your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. It assumes that cURL is called from a location with bind_config.txt (valid BIND config) present.

See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information.

func (*RecordService) List

List, search, sort, and filter a zones' DNS records.

func (*RecordService) ListAutoPaging

List, search, sort, and filter a zones' DNS records.

func (*RecordService) New

func (r *RecordService) New(ctx context.Context, params RecordNewParams, opts ...option.RequestOption) (res *RecordResponse, err error)

Create a new DNS record for a zone.

Notes:

  • A/AAAA records cannot exist on the same name as CNAME records.
  • NS records cannot exist on the same name as any other record type.
  • Domain names are always represented in Punycode, even if Unicode characters were used when creating the record.

func (*RecordService) Scan

func (r *RecordService) Scan(ctx context.Context, params RecordScanParams, opts ...option.RequestOption) (res *RecordScanResponse, err error)

Scan for common DNS records on your domain and automatically add them to your zone. Useful if you haven't updated your nameservers yet.

func (*RecordService) Update

func (r *RecordService) Update(ctx context.Context, dnsRecordID string, params RecordUpdateParams, opts ...option.RequestOption) (res *RecordResponse, err error)

Overwrite an existing DNS record.

Notes:

  • A/AAAA records cannot exist on the same name as CNAME records.
  • NS records cannot exist on the same name as any other record type.
  • Domain names are always represented in Punycode, even if Unicode characters were used when creating the record.

type RecordTags

type RecordTags = string

type RecordTagsParam

type RecordTagsParam = string

type RecordUpdateParams

type RecordUpdateParams struct {
	// Identifier.
	ZoneID param.Field[string]         `path:"zone_id,required"`
	Body   RecordUpdateParamsBodyUnion `json:"body,required"`
}

func (RecordUpdateParams) MarshalJSON

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

type RecordUpdateParamsBody added in v4.5.0

type RecordUpdateParamsBody struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsBodyType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A valid IPv4 address.
	Content param.Field[string]      `json:"content" format:"ipv4"`
	Data    param.Field[interface{}] `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied  param.Field[bool]        `json:"proxied"`
	Settings param.Field[interface{}] `json:"settings"`
	Tags     param.Field[interface{}] `json:"tags"`
}

func (RecordUpdateParamsBody) MarshalJSON added in v4.5.0

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

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecord added in v4.5.0

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordSettings] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecord) MarshalJSON added in v4.5.0

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

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordSettings added in v4.5.0

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordSettings) MarshalJSON added in v4.5.0

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordType added in v4.5.0

type RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordType string

Record type.

const (
	RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordTypeOpenpgpkey RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"
)

func (RecordUpdateParamsBodyDNSRecordsOpenpgpkeyRecordType) IsKnown added in v4.5.0

type RecordUpdateParamsBodyType added in v4.5.0

type RecordUpdateParamsBodyType string

Record type.

const (
	RecordUpdateParamsBodyTypeA          RecordUpdateParamsBodyType = "A"
	RecordUpdateParamsBodyTypeAAAA       RecordUpdateParamsBodyType = "AAAA"
	RecordUpdateParamsBodyTypeCNAME      RecordUpdateParamsBodyType = "CNAME"
	RecordUpdateParamsBodyTypeMX         RecordUpdateParamsBodyType = "MX"
	RecordUpdateParamsBodyTypeNS         RecordUpdateParamsBodyType = "NS"
	RecordUpdateParamsBodyTypeOpenpgpkey RecordUpdateParamsBodyType = "OPENPGPKEY"
	RecordUpdateParamsBodyTypePTR        RecordUpdateParamsBodyType = "PTR"
	RecordUpdateParamsBodyTypeTXT        RecordUpdateParamsBodyType = "TXT"
	RecordUpdateParamsBodyTypeCAA        RecordUpdateParamsBodyType = "CAA"
	RecordUpdateParamsBodyTypeCERT       RecordUpdateParamsBodyType = "CERT"
	RecordUpdateParamsBodyTypeDNSKEY     RecordUpdateParamsBodyType = "DNSKEY"
	RecordUpdateParamsBodyTypeDS         RecordUpdateParamsBodyType = "DS"
	RecordUpdateParamsBodyTypeHTTPS      RecordUpdateParamsBodyType = "HTTPS"
	RecordUpdateParamsBodyTypeLOC        RecordUpdateParamsBodyType = "LOC"
	RecordUpdateParamsBodyTypeNAPTR      RecordUpdateParamsBodyType = "NAPTR"
	RecordUpdateParamsBodyTypeSMIMEA     RecordUpdateParamsBodyType = "SMIMEA"
	RecordUpdateParamsBodyTypeSRV        RecordUpdateParamsBodyType = "SRV"
	RecordUpdateParamsBodyTypeSSHFP      RecordUpdateParamsBodyType = "SSHFP"
	RecordUpdateParamsBodyTypeSVCB       RecordUpdateParamsBodyType = "SVCB"
	RecordUpdateParamsBodyTypeTLSA       RecordUpdateParamsBodyType = "TLSA"
	RecordUpdateParamsBodyTypeURI        RecordUpdateParamsBodyType = "URI"
)

func (RecordUpdateParamsBodyType) IsKnown added in v4.5.0

func (r RecordUpdateParamsBodyType) IsKnown() bool

type RecordUpdateResponseEnvelope

type RecordUpdateResponseEnvelope struct {
	Errors   []RecordUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success RecordUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  RecordResponse                      `json:"result"`
	JSON    recordUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*RecordUpdateResponseEnvelope) UnmarshalJSON

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

type RecordUpdateResponseEnvelopeErrors added in v4.3.0

type RecordUpdateResponseEnvelopeErrors struct {
	Code             int64                                    `json:"code,required"`
	Message          string                                   `json:"message,required"`
	DocumentationURL string                                   `json:"documentation_url"`
	Source           RecordUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             recordUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*RecordUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type RecordUpdateResponseEnvelopeErrorsSource added in v4.3.0

type RecordUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                       `json:"pointer"`
	JSON    recordUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*RecordUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type RecordUpdateResponseEnvelopeMessages added in v4.3.0

type RecordUpdateResponseEnvelopeMessages struct {
	Code             int64                                      `json:"code,required"`
	Message          string                                     `json:"message,required"`
	DocumentationURL string                                     `json:"documentation_url"`
	Source           RecordUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             recordUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*RecordUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type RecordUpdateResponseEnvelopeMessagesSource added in v4.3.0

type RecordUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                         `json:"pointer"`
	JSON    recordUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*RecordUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type RecordUpdateResponseEnvelopeSuccess

type RecordUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	RecordUpdateResponseEnvelopeSuccessTrue RecordUpdateResponseEnvelopeSuccess = true
)

func (RecordUpdateResponseEnvelopeSuccess) IsKnown

type Report

type Report struct {
	// Array with one row per combination of dimension values.
	Data []ReportData `json:"data,required"`
	// Number of seconds between current time and last processed event, in another
	// words how many seconds of data could be missing.
	DataLag float64 `json:"data_lag,required"`
	// Maximum results for each metric (object mapping metric names to values).
	// Currently always an empty object.
	Max interface{} `json:"max,required"`
	// Minimum results for each metric (object mapping metric names to values).
	// Currently always an empty object.
	Min   interface{} `json:"min,required"`
	Query ReportQuery `json:"query,required"`
	// Total number of rows in the result.
	Rows float64 `json:"rows,required"`
	// Total results for metrics across all data (object mapping metric names to
	// values).
	Totals interface{} `json:"totals,required"`
	JSON   reportJSON  `json:"-"`
}

func (*Report) UnmarshalJSON

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

type ReportData

type ReportData struct {
	// Array of dimension values, representing the combination of dimension values
	// corresponding to this row.
	Dimensions []string `json:"dimensions,required"`
	// Array with one item per requested metric. Each item is a single value.
	Metrics []float64      `json:"metrics,required"`
	JSON    reportDataJSON `json:"-"`
}

func (*ReportData) UnmarshalJSON

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

type ReportQuery

type ReportQuery struct {
	// Array of dimension names.
	Dimensions []string `json:"dimensions,required"`
	// Limit number of returned metrics.
	Limit int64 `json:"limit,required"`
	// Array of metric names.
	Metrics []string `json:"metrics,required"`
	// Start date and time of requesting data period in ISO 8601 format.
	Since time.Time `json:"since,required" format:"date-time"`
	// End date and time of requesting data period in ISO 8601 format.
	Until time.Time `json:"until,required" format:"date-time"`
	// Segmentation filter in 'attribute operator value' format.
	Filters string `json:"filters"`
	// Array of dimensions to sort by, where each dimension may be prefixed by -
	// (descending) or + (ascending).
	Sort []string        `json:"sort"`
	JSON reportQueryJSON `json:"-"`
}

func (*ReportQuery) UnmarshalJSON

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

type ResponseInfo

type ResponseInfo = shared.ResponseInfo

This is an alias to an internal type.

type ResponseInfoSource added in v4.3.0

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 SMIMEARecord

type SMIMEARecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type SMIMEARecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted SMIMEA content. See 'data' to set SMIMEA properties.
	Content string `json:"content"`
	// Components of a SMIMEA record.
	Data SMIMEARecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings SMIMEARecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags     `json:"tags"`
	JSON smimeaRecordJSON `json:"-"`
}

func (*SMIMEARecord) UnmarshalJSON

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

type SMIMEARecordData

type SMIMEARecordData struct {
	// Certificate.
	Certificate string `json:"certificate"`
	// Matching Type.
	MatchingType float64 `json:"matching_type"`
	// Selector.
	Selector float64 `json:"selector"`
	// Usage.
	Usage float64              `json:"usage"`
	JSON  smimeaRecordDataJSON `json:"-"`
}

Components of a SMIMEA record.

func (*SMIMEARecordData) UnmarshalJSON

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

type SMIMEARecordDataParam

type SMIMEARecordDataParam struct {
	// Certificate.
	Certificate param.Field[string] `json:"certificate"`
	// Matching Type.
	MatchingType param.Field[float64] `json:"matching_type"`
	// Selector.
	Selector param.Field[float64] `json:"selector"`
	// Usage.
	Usage param.Field[float64] `json:"usage"`
}

Components of a SMIMEA record.

func (SMIMEARecordDataParam) MarshalJSON

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

type SMIMEARecordParam

type SMIMEARecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[SMIMEARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a SMIMEA record.
	Data param.Field[SMIMEARecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[SMIMEARecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (SMIMEARecordParam) MarshalJSON

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

type SMIMEARecordSettings

type SMIMEARecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                     `json:"ipv6_only"`
	JSON     smimeaRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*SMIMEARecordSettings) UnmarshalJSON

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

type SMIMEARecordSettingsParam

type SMIMEARecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (SMIMEARecordSettingsParam) MarshalJSON

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

type SMIMEARecordType

type SMIMEARecordType string

Record type.

const (
	SMIMEARecordTypeSMIMEA SMIMEARecordType = "SMIMEA"
)

func (SMIMEARecordType) IsKnown

func (r SMIMEARecordType) IsKnown() bool

type SRVRecord

type SRVRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type SRVRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Priority, weight, port, and SRV target. See 'data' for setting the individual
	// component values.
	Content string `json:"content"`
	// Components of a SRV record.
	Data SRVRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings SRVRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON srvRecordJSON `json:"-"`
}

func (*SRVRecord) UnmarshalJSON

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

type SRVRecordData

type SRVRecordData struct {
	// The port of the service.
	Port float64 `json:"port"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64           `json:"weight"`
	JSON   srvRecordDataJSON `json:"-"`
}

Components of a SRV record.

func (*SRVRecordData) UnmarshalJSON

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

type SRVRecordDataParam

type SRVRecordDataParam struct {
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// A valid hostname.
	Target param.Field[string] `json:"target" format:"hostname"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a SRV record.

func (SRVRecordDataParam) MarshalJSON

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

type SRVRecordParam

type SRVRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[SRVRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a SRV record.
	Data param.Field[SRVRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[SRVRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (SRVRecordParam) MarshalJSON

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

type SRVRecordSettings

type SRVRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     srvRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*SRVRecordSettings) UnmarshalJSON

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

type SRVRecordSettingsParam

type SRVRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (SRVRecordSettingsParam) MarshalJSON

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

type SRVRecordType

type SRVRecordType string

Record type.

const (
	SRVRecordTypeSRV SRVRecordType = "SRV"
)

func (SRVRecordType) IsKnown

func (r SRVRecordType) IsKnown() bool

type SSHFPRecord

type SSHFPRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type SSHFPRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted SSHFP content. See 'data' to set SSHFP properties.
	Content string `json:"content"`
	// Components of a SSHFP record.
	Data SSHFPRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings SSHFPRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags    `json:"tags"`
	JSON sshfpRecordJSON `json:"-"`
}

func (*SSHFPRecord) UnmarshalJSON

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

type SSHFPRecordData

type SSHFPRecordData struct {
	// algorithm.
	Algorithm float64 `json:"algorithm"`
	// fingerprint.
	Fingerprint string `json:"fingerprint"`
	// type.
	Type float64             `json:"type"`
	JSON sshfpRecordDataJSON `json:"-"`
}

Components of a SSHFP record.

func (*SSHFPRecordData) UnmarshalJSON

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

type SSHFPRecordDataParam

type SSHFPRecordDataParam struct {
	// algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// fingerprint.
	Fingerprint param.Field[string] `json:"fingerprint"`
	// type.
	Type param.Field[float64] `json:"type"`
}

Components of a SSHFP record.

func (SSHFPRecordDataParam) MarshalJSON

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

type SSHFPRecordParam

type SSHFPRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[SSHFPRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a SSHFP record.
	Data param.Field[SSHFPRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[SSHFPRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (SSHFPRecordParam) MarshalJSON

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

type SSHFPRecordSettings

type SSHFPRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                    `json:"ipv6_only"`
	JSON     sshfpRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*SSHFPRecordSettings) UnmarshalJSON

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

type SSHFPRecordSettingsParam

type SSHFPRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (SSHFPRecordSettingsParam) MarshalJSON

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

type SSHFPRecordType

type SSHFPRecordType string

Record type.

const (
	SSHFPRecordTypeSSHFP SSHFPRecordType = "SSHFP"
)

func (SSHFPRecordType) IsKnown

func (r SSHFPRecordType) IsKnown() bool

type SVCBRecord

type SVCBRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type SVCBRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted SVCB content. See 'data' to set SVCB properties.
	Content string `json:"content"`
	// Components of a SVCB record.
	Data SVCBRecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings SVCBRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags   `json:"tags"`
	JSON svcbRecordJSON `json:"-"`
}

func (*SVCBRecord) UnmarshalJSON

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

type SVCBRecordData

type SVCBRecordData struct {
	// priority.
	Priority float64 `json:"priority"`
	// target.
	Target string `json:"target"`
	// value.
	Value string             `json:"value"`
	JSON  svcbRecordDataJSON `json:"-"`
}

Components of a SVCB record.

func (*SVCBRecordData) UnmarshalJSON

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

type SVCBRecordDataParam

type SVCBRecordDataParam struct {
	// priority.
	Priority param.Field[float64] `json:"priority"`
	// target.
	Target param.Field[string] `json:"target"`
	// value.
	Value param.Field[string] `json:"value"`
}

Components of a SVCB record.

func (SVCBRecordDataParam) MarshalJSON

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

type SVCBRecordParam

type SVCBRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[SVCBRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a SVCB record.
	Data param.Field[SVCBRecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[SVCBRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (SVCBRecordParam) MarshalJSON

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

type SVCBRecordSettings

type SVCBRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                   `json:"ipv6_only"`
	JSON     svcbRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*SVCBRecordSettings) UnmarshalJSON

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

type SVCBRecordSettingsParam

type SVCBRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (SVCBRecordSettingsParam) MarshalJSON

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

type SVCBRecordType

type SVCBRecordType string

Record type.

const (
	SVCBRecordTypeSVCB SVCBRecordType = "SVCB"
)

func (SVCBRecordType) IsKnown

func (r SVCBRecordType) IsKnown() bool

type SettingAccountEditParams added in v4.2.0

type SettingAccountEditParams struct {
	// Identifier.
	AccountID    param.Field[string]                               `path:"account_id,required"`
	ZoneDefaults param.Field[SettingAccountEditParamsZoneDefaults] `json:"zone_defaults"`
}

func (SettingAccountEditParams) MarshalJSON added in v4.2.0

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

type SettingAccountEditParamsZoneDefaults added in v4.2.0

type SettingAccountEditParamsZoneDefaults struct {
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs param.Field[bool] `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS param.Field[bool] `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS param.Field[SettingAccountEditParamsZoneDefaultsInternalDNS] `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider param.Field[bool] `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers param.Field[SettingAccountEditParamsZoneDefaultsNameservers] `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL param.Field[float64] `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides param.Field[bool] `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA param.Field[SettingAccountEditParamsZoneDefaultsSOA] `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode param.Field[SettingAccountEditParamsZoneDefaultsZoneMode] `json:"zone_mode"`
}

func (SettingAccountEditParamsZoneDefaults) MarshalJSON added in v4.2.0

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

type SettingAccountEditParamsZoneDefaultsInternalDNS added in v4.2.0

type SettingAccountEditParamsZoneDefaultsInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID param.Field[string] `json:"reference_zone_id"`
}

Settings for this internal zone.

func (SettingAccountEditParamsZoneDefaultsInternalDNS) MarshalJSON added in v4.2.0

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

type SettingAccountEditParamsZoneDefaultsNameservers added in v4.2.0

type SettingAccountEditParamsZoneDefaultsNameservers struct {
	// Nameserver type
	Type param.Field[SettingAccountEditParamsZoneDefaultsNameserversType] `json:"type,required"`
}

Settings determining the nameservers through which the zone should be available.

func (SettingAccountEditParamsZoneDefaultsNameservers) MarshalJSON added in v4.2.0

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

type SettingAccountEditParamsZoneDefaultsNameserversType added in v4.2.0

type SettingAccountEditParamsZoneDefaultsNameserversType string

Nameserver type

const (
	SettingAccountEditParamsZoneDefaultsNameserversTypeCloudflareStandard       SettingAccountEditParamsZoneDefaultsNameserversType = "cloudflare.standard"
	SettingAccountEditParamsZoneDefaultsNameserversTypeCloudflareStandardRandom SettingAccountEditParamsZoneDefaultsNameserversType = "cloudflare.standard.random"
	SettingAccountEditParamsZoneDefaultsNameserversTypeCustomAccount            SettingAccountEditParamsZoneDefaultsNameserversType = "custom.account"
	SettingAccountEditParamsZoneDefaultsNameserversTypeCustomTenant             SettingAccountEditParamsZoneDefaultsNameserversType = "custom.tenant"
)

func (SettingAccountEditParamsZoneDefaultsNameserversType) IsKnown added in v4.2.0

type SettingAccountEditParamsZoneDefaultsSOA added in v4.2.0

type SettingAccountEditParamsZoneDefaultsSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire param.Field[float64] `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL param.Field[float64] `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME param.Field[string] `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh param.Field[float64] `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry param.Field[float64] `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME param.Field[string] `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL param.Field[float64] `json:"ttl,required"`
}

Components of the zone's SOA record.

func (SettingAccountEditParamsZoneDefaultsSOA) MarshalJSON added in v4.2.0

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

type SettingAccountEditParamsZoneDefaultsZoneMode added in v4.2.0

type SettingAccountEditParamsZoneDefaultsZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingAccountEditParamsZoneDefaultsZoneModeStandard SettingAccountEditParamsZoneDefaultsZoneMode = "standard"
	SettingAccountEditParamsZoneDefaultsZoneModeCDNOnly  SettingAccountEditParamsZoneDefaultsZoneMode = "cdn_only"
	SettingAccountEditParamsZoneDefaultsZoneModeDNSOnly  SettingAccountEditParamsZoneDefaultsZoneMode = "dns_only"
)

func (SettingAccountEditParamsZoneDefaultsZoneMode) IsKnown added in v4.2.0

type SettingAccountEditResponse added in v4.2.0

type SettingAccountEditResponse struct {
	ZoneDefaults SettingAccountEditResponseZoneDefaults `json:"zone_defaults"`
	JSON         settingAccountEditResponseJSON         `json:"-"`
}

func (*SettingAccountEditResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseEnvelope added in v4.2.0

type SettingAccountEditResponseEnvelope struct {
	Errors   []SettingAccountEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingAccountEditResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingAccountEditResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingAccountEditResponse                `json:"result"`
	JSON    settingAccountEditResponseEnvelopeJSON    `json:"-"`
}

func (*SettingAccountEditResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseEnvelopeErrors added in v4.3.0

type SettingAccountEditResponseEnvelopeErrors struct {
	Code             int64                                          `json:"code,required"`
	Message          string                                         `json:"message,required"`
	DocumentationURL string                                         `json:"documentation_url"`
	Source           SettingAccountEditResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingAccountEditResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingAccountEditResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingAccountEditResponseEnvelopeErrorsSource added in v4.3.0

type SettingAccountEditResponseEnvelopeErrorsSource struct {
	Pointer string                                             `json:"pointer"`
	JSON    settingAccountEditResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingAccountEditResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountEditResponseEnvelopeMessages added in v4.3.0

type SettingAccountEditResponseEnvelopeMessages struct {
	Code             int64                                            `json:"code,required"`
	Message          string                                           `json:"message,required"`
	DocumentationURL string                                           `json:"documentation_url"`
	Source           SettingAccountEditResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingAccountEditResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingAccountEditResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingAccountEditResponseEnvelopeMessagesSource added in v4.3.0

type SettingAccountEditResponseEnvelopeMessagesSource struct {
	Pointer string                                               `json:"pointer"`
	JSON    settingAccountEditResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingAccountEditResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountEditResponseEnvelopeSuccess added in v4.2.0

type SettingAccountEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingAccountEditResponseEnvelopeSuccessTrue SettingAccountEditResponseEnvelopeSuccess = true
)

func (SettingAccountEditResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingAccountEditResponseZoneDefaults added in v4.2.0

type SettingAccountEditResponseZoneDefaults struct {
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs bool `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS bool `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS SettingAccountEditResponseZoneDefaultsInternalDNS `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider bool `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers SettingAccountEditResponseZoneDefaultsNameservers `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL float64 `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides bool `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA SettingAccountEditResponseZoneDefaultsSOA `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode SettingAccountEditResponseZoneDefaultsZoneMode `json:"zone_mode"`
	JSON     settingAccountEditResponseZoneDefaultsJSON     `json:"-"`
}

func (*SettingAccountEditResponseZoneDefaults) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseZoneDefaultsInternalDNS added in v4.2.0

type SettingAccountEditResponseZoneDefaultsInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID string                                                `json:"reference_zone_id"`
	JSON            settingAccountEditResponseZoneDefaultsInternalDNSJSON `json:"-"`
}

Settings for this internal zone.

func (*SettingAccountEditResponseZoneDefaultsInternalDNS) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseZoneDefaultsNameservers added in v4.2.0

type SettingAccountEditResponseZoneDefaultsNameservers struct {
	// Nameserver type
	Type SettingAccountEditResponseZoneDefaultsNameserversType `json:"type,required"`
	JSON settingAccountEditResponseZoneDefaultsNameserversJSON `json:"-"`
}

Settings determining the nameservers through which the zone should be available.

func (*SettingAccountEditResponseZoneDefaultsNameservers) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseZoneDefaultsNameserversType added in v4.2.0

type SettingAccountEditResponseZoneDefaultsNameserversType string

Nameserver type

const (
	SettingAccountEditResponseZoneDefaultsNameserversTypeCloudflareStandard       SettingAccountEditResponseZoneDefaultsNameserversType = "cloudflare.standard"
	SettingAccountEditResponseZoneDefaultsNameserversTypeCloudflareStandardRandom SettingAccountEditResponseZoneDefaultsNameserversType = "cloudflare.standard.random"
	SettingAccountEditResponseZoneDefaultsNameserversTypeCustomAccount            SettingAccountEditResponseZoneDefaultsNameserversType = "custom.account"
	SettingAccountEditResponseZoneDefaultsNameserversTypeCustomTenant             SettingAccountEditResponseZoneDefaultsNameserversType = "custom.tenant"
)

func (SettingAccountEditResponseZoneDefaultsNameserversType) IsKnown added in v4.2.0

type SettingAccountEditResponseZoneDefaultsSOA added in v4.2.0

type SettingAccountEditResponseZoneDefaultsSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire float64 `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL float64 `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME string `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh float64 `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry float64 `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME string `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL  float64                                       `json:"ttl,required"`
	JSON settingAccountEditResponseZoneDefaultsSOAJSON `json:"-"`
}

Components of the zone's SOA record.

func (*SettingAccountEditResponseZoneDefaultsSOA) UnmarshalJSON added in v4.2.0

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

type SettingAccountEditResponseZoneDefaultsZoneMode added in v4.2.0

type SettingAccountEditResponseZoneDefaultsZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingAccountEditResponseZoneDefaultsZoneModeStandard SettingAccountEditResponseZoneDefaultsZoneMode = "standard"
	SettingAccountEditResponseZoneDefaultsZoneModeCDNOnly  SettingAccountEditResponseZoneDefaultsZoneMode = "cdn_only"
	SettingAccountEditResponseZoneDefaultsZoneModeDNSOnly  SettingAccountEditResponseZoneDefaultsZoneMode = "dns_only"
)

func (SettingAccountEditResponseZoneDefaultsZoneMode) IsKnown added in v4.2.0

type SettingAccountGetParams added in v4.2.0

type SettingAccountGetParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
}

type SettingAccountGetResponse added in v4.2.0

type SettingAccountGetResponse struct {
	ZoneDefaults SettingAccountGetResponseZoneDefaults `json:"zone_defaults"`
	JSON         settingAccountGetResponseJSON         `json:"-"`
}

func (*SettingAccountGetResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseEnvelope added in v4.2.0

type SettingAccountGetResponseEnvelope struct {
	Errors   []SettingAccountGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingAccountGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingAccountGetResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingAccountGetResponse                `json:"result"`
	JSON    settingAccountGetResponseEnvelopeJSON    `json:"-"`
}

func (*SettingAccountGetResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseEnvelopeErrors added in v4.3.0

type SettingAccountGetResponseEnvelopeErrors struct {
	Code             int64                                         `json:"code,required"`
	Message          string                                        `json:"message,required"`
	DocumentationURL string                                        `json:"documentation_url"`
	Source           SettingAccountGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingAccountGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingAccountGetResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingAccountGetResponseEnvelopeErrorsSource added in v4.3.0

type SettingAccountGetResponseEnvelopeErrorsSource struct {
	Pointer string                                            `json:"pointer"`
	JSON    settingAccountGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingAccountGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountGetResponseEnvelopeMessages added in v4.3.0

type SettingAccountGetResponseEnvelopeMessages struct {
	Code             int64                                           `json:"code,required"`
	Message          string                                          `json:"message,required"`
	DocumentationURL string                                          `json:"documentation_url"`
	Source           SettingAccountGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingAccountGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingAccountGetResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingAccountGetResponseEnvelopeMessagesSource added in v4.3.0

type SettingAccountGetResponseEnvelopeMessagesSource struct {
	Pointer string                                              `json:"pointer"`
	JSON    settingAccountGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingAccountGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountGetResponseEnvelopeSuccess added in v4.2.0

type SettingAccountGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingAccountGetResponseEnvelopeSuccessTrue SettingAccountGetResponseEnvelopeSuccess = true
)

func (SettingAccountGetResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingAccountGetResponseZoneDefaults added in v4.2.0

type SettingAccountGetResponseZoneDefaults struct {
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs bool `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS bool `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS SettingAccountGetResponseZoneDefaultsInternalDNS `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider bool `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers SettingAccountGetResponseZoneDefaultsNameservers `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL float64 `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides bool `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA SettingAccountGetResponseZoneDefaultsSOA `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode SettingAccountGetResponseZoneDefaultsZoneMode `json:"zone_mode"`
	JSON     settingAccountGetResponseZoneDefaultsJSON     `json:"-"`
}

func (*SettingAccountGetResponseZoneDefaults) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseZoneDefaultsInternalDNS added in v4.2.0

type SettingAccountGetResponseZoneDefaultsInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID string                                               `json:"reference_zone_id"`
	JSON            settingAccountGetResponseZoneDefaultsInternalDNSJSON `json:"-"`
}

Settings for this internal zone.

func (*SettingAccountGetResponseZoneDefaultsInternalDNS) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseZoneDefaultsNameservers added in v4.2.0

type SettingAccountGetResponseZoneDefaultsNameservers struct {
	// Nameserver type
	Type SettingAccountGetResponseZoneDefaultsNameserversType `json:"type,required"`
	JSON settingAccountGetResponseZoneDefaultsNameserversJSON `json:"-"`
}

Settings determining the nameservers through which the zone should be available.

func (*SettingAccountGetResponseZoneDefaultsNameservers) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseZoneDefaultsNameserversType added in v4.2.0

type SettingAccountGetResponseZoneDefaultsNameserversType string

Nameserver type

const (
	SettingAccountGetResponseZoneDefaultsNameserversTypeCloudflareStandard       SettingAccountGetResponseZoneDefaultsNameserversType = "cloudflare.standard"
	SettingAccountGetResponseZoneDefaultsNameserversTypeCloudflareStandardRandom SettingAccountGetResponseZoneDefaultsNameserversType = "cloudflare.standard.random"
	SettingAccountGetResponseZoneDefaultsNameserversTypeCustomAccount            SettingAccountGetResponseZoneDefaultsNameserversType = "custom.account"
	SettingAccountGetResponseZoneDefaultsNameserversTypeCustomTenant             SettingAccountGetResponseZoneDefaultsNameserversType = "custom.tenant"
)

func (SettingAccountGetResponseZoneDefaultsNameserversType) IsKnown added in v4.2.0

type SettingAccountGetResponseZoneDefaultsSOA added in v4.2.0

type SettingAccountGetResponseZoneDefaultsSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire float64 `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL float64 `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME string `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh float64 `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry float64 `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME string `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL  float64                                      `json:"ttl,required"`
	JSON settingAccountGetResponseZoneDefaultsSOAJSON `json:"-"`
}

Components of the zone's SOA record.

func (*SettingAccountGetResponseZoneDefaultsSOA) UnmarshalJSON added in v4.2.0

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

type SettingAccountGetResponseZoneDefaultsZoneMode added in v4.2.0

type SettingAccountGetResponseZoneDefaultsZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingAccountGetResponseZoneDefaultsZoneModeStandard SettingAccountGetResponseZoneDefaultsZoneMode = "standard"
	SettingAccountGetResponseZoneDefaultsZoneModeCDNOnly  SettingAccountGetResponseZoneDefaultsZoneMode = "cdn_only"
	SettingAccountGetResponseZoneDefaultsZoneModeDNSOnly  SettingAccountGetResponseZoneDefaultsZoneMode = "dns_only"
)

func (SettingAccountGetResponseZoneDefaultsZoneMode) IsKnown added in v4.2.0

type SettingAccountService added in v4.2.0

type SettingAccountService struct {
	Options []option.RequestOption
	Views   *SettingAccountViewService
}

SettingAccountService 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 NewSettingAccountService method instead.

func NewSettingAccountService added in v4.2.0

func NewSettingAccountService(opts ...option.RequestOption) (r *SettingAccountService)

NewSettingAccountService 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 (*SettingAccountService) Edit added in v4.2.0

Update DNS settings for an account

func (*SettingAccountService) Get added in v4.2.0

Show DNS settings for an account

type SettingAccountViewDeleteParams added in v4.2.0

type SettingAccountViewDeleteParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
}

type SettingAccountViewDeleteResponse added in v4.2.0

type SettingAccountViewDeleteResponse struct {
	// Identifier.
	ID   string                               `json:"id"`
	JSON settingAccountViewDeleteResponseJSON `json:"-"`
}

func (*SettingAccountViewDeleteResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewDeleteResponseEnvelope added in v4.2.0

type SettingAccountViewDeleteResponseEnvelope struct {
	Result SettingAccountViewDeleteResponse             `json:"result"`
	JSON   settingAccountViewDeleteResponseEnvelopeJSON `json:"-"`
}

func (*SettingAccountViewDeleteResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewEditParams added in v4.2.0

type SettingAccountViewEditParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
	// The name of the view.
	Name param.Field[string] `json:"name"`
	// The list of zones linked to this view.
	Zones param.Field[[]string] `json:"zones"`
}

func (SettingAccountViewEditParams) MarshalJSON added in v4.2.0

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

type SettingAccountViewEditResponse added in v4.2.0

type SettingAccountViewEditResponse struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the view was created.
	CreatedTime time.Time `json:"created_time,required" format:"date-time"`
	// When the view was last modified.
	ModifiedTime time.Time `json:"modified_time,required" format:"date-time"`
	// The name of the view.
	Name string `json:"name,required"`
	// The list of zones linked to this view.
	Zones []string                           `json:"zones,required"`
	JSON  settingAccountViewEditResponseJSON `json:"-"`
}

func (*SettingAccountViewEditResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewEditResponseEnvelope added in v4.2.0

type SettingAccountViewEditResponseEnvelope struct {
	Errors   []SettingAccountViewEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingAccountViewEditResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingAccountViewEditResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingAccountViewEditResponse                `json:"result"`
	JSON    settingAccountViewEditResponseEnvelopeJSON    `json:"-"`
}

func (*SettingAccountViewEditResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewEditResponseEnvelopeErrors added in v4.3.0

type SettingAccountViewEditResponseEnvelopeErrors struct {
	Code             int64                                              `json:"code,required"`
	Message          string                                             `json:"message,required"`
	DocumentationURL string                                             `json:"documentation_url"`
	Source           SettingAccountViewEditResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingAccountViewEditResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingAccountViewEditResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewEditResponseEnvelopeErrorsSource added in v4.3.0

type SettingAccountViewEditResponseEnvelopeErrorsSource struct {
	Pointer string                                                 `json:"pointer"`
	JSON    settingAccountViewEditResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingAccountViewEditResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewEditResponseEnvelopeMessages added in v4.3.0

type SettingAccountViewEditResponseEnvelopeMessages struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           SettingAccountViewEditResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingAccountViewEditResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingAccountViewEditResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewEditResponseEnvelopeMessagesSource added in v4.3.0

type SettingAccountViewEditResponseEnvelopeMessagesSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    settingAccountViewEditResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingAccountViewEditResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewEditResponseEnvelopeSuccess added in v4.2.0

type SettingAccountViewEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingAccountViewEditResponseEnvelopeSuccessTrue SettingAccountViewEditResponseEnvelopeSuccess = true
)

func (SettingAccountViewEditResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingAccountViewGetParams added in v4.2.0

type SettingAccountViewGetParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
}

type SettingAccountViewGetResponse added in v4.2.0

type SettingAccountViewGetResponse struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the view was created.
	CreatedTime time.Time `json:"created_time,required" format:"date-time"`
	// When the view was last modified.
	ModifiedTime time.Time `json:"modified_time,required" format:"date-time"`
	// The name of the view.
	Name string `json:"name,required"`
	// The list of zones linked to this view.
	Zones []string                          `json:"zones,required"`
	JSON  settingAccountViewGetResponseJSON `json:"-"`
}

func (*SettingAccountViewGetResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewGetResponseEnvelope added in v4.2.0

type SettingAccountViewGetResponseEnvelope struct {
	Errors   []SettingAccountViewGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingAccountViewGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingAccountViewGetResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingAccountViewGetResponse                `json:"result"`
	JSON    settingAccountViewGetResponseEnvelopeJSON    `json:"-"`
}

func (*SettingAccountViewGetResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewGetResponseEnvelopeErrors added in v4.3.0

type SettingAccountViewGetResponseEnvelopeErrors struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           SettingAccountViewGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingAccountViewGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingAccountViewGetResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewGetResponseEnvelopeErrorsSource added in v4.3.0

type SettingAccountViewGetResponseEnvelopeErrorsSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    settingAccountViewGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingAccountViewGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewGetResponseEnvelopeMessages added in v4.3.0

type SettingAccountViewGetResponseEnvelopeMessages struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           SettingAccountViewGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingAccountViewGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingAccountViewGetResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewGetResponseEnvelopeMessagesSource added in v4.3.0

type SettingAccountViewGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    settingAccountViewGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingAccountViewGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewGetResponseEnvelopeSuccess added in v4.2.0

type SettingAccountViewGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingAccountViewGetResponseEnvelopeSuccessTrue SettingAccountViewGetResponseEnvelopeSuccess = true
)

func (SettingAccountViewGetResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingAccountViewListParams added in v4.2.0

type SettingAccountViewListParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
	// Direction to order DNS views in.
	Direction param.Field[SettingAccountViewListParamsDirection] `query:"direction"`
	// Whether to match all search requirements or at least one (any). If set to `all`,
	// acts like a logical AND between filters. If set to `any`, acts like a logical OR
	// instead.
	Match param.Field[SettingAccountViewListParamsMatch] `query:"match"`
	Name  param.Field[SettingAccountViewListParamsName]  `query:"name"`
	// Field to order DNS views by.
	Order param.Field[SettingAccountViewListParamsOrder] `query:"order"`
	// Page number of paginated results.
	Page param.Field[float64] `query:"page"`
	// Number of DNS views per page.
	PerPage param.Field[float64] `query:"per_page"`
	// A zone ID that exists in the zones list for the view.
	ZoneID param.Field[string] `query:"zone_id"`
	// A zone name that exists in the zones list for the view.
	ZoneName param.Field[string] `query:"zone_name"`
}

func (SettingAccountViewListParams) URLQuery added in v4.2.0

func (r SettingAccountViewListParams) URLQuery() (v url.Values)

URLQuery serializes SettingAccountViewListParams's query parameters as `url.Values`.

type SettingAccountViewListParamsDirection added in v4.2.0

type SettingAccountViewListParamsDirection string

Direction to order DNS views in.

const (
	SettingAccountViewListParamsDirectionAsc  SettingAccountViewListParamsDirection = "asc"
	SettingAccountViewListParamsDirectionDesc SettingAccountViewListParamsDirection = "desc"
)

func (SettingAccountViewListParamsDirection) IsKnown added in v4.2.0

type SettingAccountViewListParamsMatch added in v4.2.0

type SettingAccountViewListParamsMatch string

Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead.

const (
	SettingAccountViewListParamsMatchAny SettingAccountViewListParamsMatch = "any"
	SettingAccountViewListParamsMatchAll SettingAccountViewListParamsMatch = "all"
)

func (SettingAccountViewListParamsMatch) IsKnown added in v4.2.0

type SettingAccountViewListParamsName added in v4.2.0

type SettingAccountViewListParamsName struct {
	// Substring of the DNS view name.
	Contains param.Field[string] `query:"contains"`
	// Suffix of the DNS view name.
	Endswith param.Field[string] `query:"endswith"`
	// Exact value of the DNS view name.
	Exact param.Field[string] `query:"exact"`
	// Prefix of the DNS view name.
	Startswith param.Field[string] `query:"startswith"`
}

func (SettingAccountViewListParamsName) URLQuery added in v4.2.0

func (r SettingAccountViewListParamsName) URLQuery() (v url.Values)

URLQuery serializes SettingAccountViewListParamsName's query parameters as `url.Values`.

type SettingAccountViewListParamsOrder added in v4.2.0

type SettingAccountViewListParamsOrder string

Field to order DNS views by.

const (
	SettingAccountViewListParamsOrderName       SettingAccountViewListParamsOrder = "name"
	SettingAccountViewListParamsOrderCreatedOn  SettingAccountViewListParamsOrder = "created_on"
	SettingAccountViewListParamsOrderModifiedOn SettingAccountViewListParamsOrder = "modified_on"
)

func (SettingAccountViewListParamsOrder) IsKnown added in v4.2.0

type SettingAccountViewListResponse added in v4.2.0

type SettingAccountViewListResponse struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the view was created.
	CreatedTime time.Time `json:"created_time,required" format:"date-time"`
	// When the view was last modified.
	ModifiedTime time.Time `json:"modified_time,required" format:"date-time"`
	// The name of the view.
	Name string `json:"name,required"`
	// The list of zones linked to this view.
	Zones []string                           `json:"zones,required"`
	JSON  settingAccountViewListResponseJSON `json:"-"`
}

func (*SettingAccountViewListResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewNewParams added in v4.2.0

type SettingAccountViewNewParams struct {
	// Identifier.
	AccountID param.Field[string] `path:"account_id,required"`
	// The name of the view.
	Name param.Field[string] `json:"name,required"`
	// The list of zones linked to this view.
	Zones param.Field[[]string] `json:"zones,required"`
}

func (SettingAccountViewNewParams) MarshalJSON added in v4.2.0

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

type SettingAccountViewNewResponse added in v4.2.0

type SettingAccountViewNewResponse struct {
	// Identifier.
	ID string `json:"id,required"`
	// When the view was created.
	CreatedTime time.Time `json:"created_time,required" format:"date-time"`
	// When the view was last modified.
	ModifiedTime time.Time `json:"modified_time,required" format:"date-time"`
	// The name of the view.
	Name string `json:"name,required"`
	// The list of zones linked to this view.
	Zones []string                          `json:"zones,required"`
	JSON  settingAccountViewNewResponseJSON `json:"-"`
}

func (*SettingAccountViewNewResponse) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewNewResponseEnvelope added in v4.2.0

type SettingAccountViewNewResponseEnvelope struct {
	Errors   []SettingAccountViewNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingAccountViewNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingAccountViewNewResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingAccountViewNewResponse                `json:"result"`
	JSON    settingAccountViewNewResponseEnvelopeJSON    `json:"-"`
}

func (*SettingAccountViewNewResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingAccountViewNewResponseEnvelopeErrors added in v4.3.0

type SettingAccountViewNewResponseEnvelopeErrors struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           SettingAccountViewNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingAccountViewNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingAccountViewNewResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewNewResponseEnvelopeErrorsSource added in v4.3.0

type SettingAccountViewNewResponseEnvelopeErrorsSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    settingAccountViewNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingAccountViewNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewNewResponseEnvelopeMessages added in v4.3.0

type SettingAccountViewNewResponseEnvelopeMessages struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           SettingAccountViewNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingAccountViewNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingAccountViewNewResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewNewResponseEnvelopeMessagesSource added in v4.3.0

type SettingAccountViewNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    settingAccountViewNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingAccountViewNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingAccountViewNewResponseEnvelopeSuccess added in v4.2.0

type SettingAccountViewNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingAccountViewNewResponseEnvelopeSuccessTrue SettingAccountViewNewResponseEnvelopeSuccess = true
)

func (SettingAccountViewNewResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingAccountViewService added in v4.2.0

type SettingAccountViewService struct {
	Options []option.RequestOption
}

SettingAccountViewService 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 NewSettingAccountViewService method instead.

func NewSettingAccountViewService added in v4.2.0

func NewSettingAccountViewService(opts ...option.RequestOption) (r *SettingAccountViewService)

NewSettingAccountViewService 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 (*SettingAccountViewService) Delete added in v4.2.0

Delete an existing Internal DNS View

func (*SettingAccountViewService) Edit added in v4.2.0

Update an existing Internal DNS View

func (*SettingAccountViewService) Get added in v4.2.0

Get DNS Internal View

func (*SettingAccountViewService) List added in v4.2.0

List DNS Internal Views for an Account

func (*SettingAccountViewService) ListAutoPaging added in v4.2.0

List DNS Internal Views for an Account

func (*SettingAccountViewService) New added in v4.2.0

Create Internal DNS View for an account

type SettingService

type SettingService struct {
	Options []option.RequestOption
	Zone    *SettingZoneService
	Account *SettingAccountService
}

SettingService 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 NewSettingService method instead.

func NewSettingService

func NewSettingService(opts ...option.RequestOption) (r *SettingService)

NewSettingService 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 SettingZoneEditParams added in v4.2.0

type SettingZoneEditParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs param.Field[bool] `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS param.Field[bool] `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS param.Field[SettingZoneEditParamsInternalDNS] `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider param.Field[bool] `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers param.Field[SettingZoneEditParamsNameservers] `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL param.Field[float64] `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides param.Field[bool] `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA param.Field[SettingZoneEditParamsSOA] `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode param.Field[SettingZoneEditParamsZoneMode] `json:"zone_mode"`
}

func (SettingZoneEditParams) MarshalJSON added in v4.2.0

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

type SettingZoneEditParamsInternalDNS added in v4.2.0

type SettingZoneEditParamsInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID param.Field[string] `json:"reference_zone_id"`
}

Settings for this internal zone.

func (SettingZoneEditParamsInternalDNS) MarshalJSON added in v4.2.0

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

type SettingZoneEditParamsNameservers added in v4.2.0

type SettingZoneEditParamsNameservers struct {
	// Nameserver type
	Type param.Field[SettingZoneEditParamsNameserversType] `json:"type,required"`
	// Configured nameserver set to be used for this zone
	NSSet param.Field[int64] `json:"ns_set"`
}

Settings determining the nameservers through which the zone should be available.

func (SettingZoneEditParamsNameservers) MarshalJSON added in v4.2.0

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

type SettingZoneEditParamsNameserversType added in v4.2.0

type SettingZoneEditParamsNameserversType string

Nameserver type

const (
	SettingZoneEditParamsNameserversTypeCloudflareStandard SettingZoneEditParamsNameserversType = "cloudflare.standard"
	SettingZoneEditParamsNameserversTypeCustomAccount      SettingZoneEditParamsNameserversType = "custom.account"
	SettingZoneEditParamsNameserversTypeCustomTenant       SettingZoneEditParamsNameserversType = "custom.tenant"
	SettingZoneEditParamsNameserversTypeCustomZone         SettingZoneEditParamsNameserversType = "custom.zone"
)

func (SettingZoneEditParamsNameserversType) IsKnown added in v4.2.0

type SettingZoneEditParamsSOA added in v4.2.0

type SettingZoneEditParamsSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire param.Field[float64] `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL param.Field[float64] `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME param.Field[string] `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh param.Field[float64] `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry param.Field[float64] `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME param.Field[string] `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL param.Field[float64] `json:"ttl,required"`
}

Components of the zone's SOA record.

func (SettingZoneEditParamsSOA) MarshalJSON added in v4.2.0

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

type SettingZoneEditParamsZoneMode added in v4.2.0

type SettingZoneEditParamsZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingZoneEditParamsZoneModeStandard SettingZoneEditParamsZoneMode = "standard"
	SettingZoneEditParamsZoneModeCDNOnly  SettingZoneEditParamsZoneMode = "cdn_only"
	SettingZoneEditParamsZoneModeDNSOnly  SettingZoneEditParamsZoneMode = "dns_only"
)

func (SettingZoneEditParamsZoneMode) IsKnown added in v4.2.0

func (r SettingZoneEditParamsZoneMode) IsKnown() bool

type SettingZoneEditResponse added in v4.2.0

type SettingZoneEditResponse struct {
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs bool `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS bool `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS SettingZoneEditResponseInternalDNS `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider bool `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers SettingZoneEditResponseNameservers `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL float64 `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides bool `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA SettingZoneEditResponseSOA `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode SettingZoneEditResponseZoneMode `json:"zone_mode"`
	JSON     settingZoneEditResponseJSON     `json:"-"`
}

func (*SettingZoneEditResponse) UnmarshalJSON added in v4.2.0

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

type SettingZoneEditResponseEnvelope added in v4.2.0

type SettingZoneEditResponseEnvelope struct {
	Errors   []SettingZoneEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingZoneEditResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingZoneEditResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingZoneEditResponse                `json:"result"`
	JSON    settingZoneEditResponseEnvelopeJSON    `json:"-"`
}

func (*SettingZoneEditResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingZoneEditResponseEnvelopeErrors added in v4.3.0

type SettingZoneEditResponseEnvelopeErrors struct {
	Code             int64                                       `json:"code,required"`
	Message          string                                      `json:"message,required"`
	DocumentationURL string                                      `json:"documentation_url"`
	Source           SettingZoneEditResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingZoneEditResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingZoneEditResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingZoneEditResponseEnvelopeErrorsSource added in v4.3.0

type SettingZoneEditResponseEnvelopeErrorsSource struct {
	Pointer string                                          `json:"pointer"`
	JSON    settingZoneEditResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingZoneEditResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingZoneEditResponseEnvelopeMessages added in v4.3.0

type SettingZoneEditResponseEnvelopeMessages struct {
	Code             int64                                         `json:"code,required"`
	Message          string                                        `json:"message,required"`
	DocumentationURL string                                        `json:"documentation_url"`
	Source           SettingZoneEditResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingZoneEditResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingZoneEditResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingZoneEditResponseEnvelopeMessagesSource added in v4.3.0

type SettingZoneEditResponseEnvelopeMessagesSource struct {
	Pointer string                                            `json:"pointer"`
	JSON    settingZoneEditResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingZoneEditResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingZoneEditResponseEnvelopeSuccess added in v4.2.0

type SettingZoneEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingZoneEditResponseEnvelopeSuccessTrue SettingZoneEditResponseEnvelopeSuccess = true
)

func (SettingZoneEditResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingZoneEditResponseInternalDNS added in v4.2.0

type SettingZoneEditResponseInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID string                                 `json:"reference_zone_id"`
	JSON            settingZoneEditResponseInternalDNSJSON `json:"-"`
}

Settings for this internal zone.

func (*SettingZoneEditResponseInternalDNS) UnmarshalJSON added in v4.2.0

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

type SettingZoneEditResponseNameservers added in v4.2.0

type SettingZoneEditResponseNameservers struct {
	// Nameserver type
	Type SettingZoneEditResponseNameserversType `json:"type,required"`
	// Configured nameserver set to be used for this zone
	NSSet int64                                  `json:"ns_set"`
	JSON  settingZoneEditResponseNameserversJSON `json:"-"`
}

Settings determining the nameservers through which the zone should be available.

func (*SettingZoneEditResponseNameservers) UnmarshalJSON added in v4.2.0

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

type SettingZoneEditResponseNameserversType added in v4.2.0

type SettingZoneEditResponseNameserversType string

Nameserver type

const (
	SettingZoneEditResponseNameserversTypeCloudflareStandard SettingZoneEditResponseNameserversType = "cloudflare.standard"
	SettingZoneEditResponseNameserversTypeCustomAccount      SettingZoneEditResponseNameserversType = "custom.account"
	SettingZoneEditResponseNameserversTypeCustomTenant       SettingZoneEditResponseNameserversType = "custom.tenant"
	SettingZoneEditResponseNameserversTypeCustomZone         SettingZoneEditResponseNameserversType = "custom.zone"
)

func (SettingZoneEditResponseNameserversType) IsKnown added in v4.2.0

type SettingZoneEditResponseSOA added in v4.2.0

type SettingZoneEditResponseSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire float64 `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL float64 `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME string `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh float64 `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry float64 `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME string `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL  float64                        `json:"ttl,required"`
	JSON settingZoneEditResponseSOAJSON `json:"-"`
}

Components of the zone's SOA record.

func (*SettingZoneEditResponseSOA) UnmarshalJSON added in v4.2.0

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

type SettingZoneEditResponseZoneMode added in v4.2.0

type SettingZoneEditResponseZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingZoneEditResponseZoneModeStandard SettingZoneEditResponseZoneMode = "standard"
	SettingZoneEditResponseZoneModeCDNOnly  SettingZoneEditResponseZoneMode = "cdn_only"
	SettingZoneEditResponseZoneModeDNSOnly  SettingZoneEditResponseZoneMode = "dns_only"
)

func (SettingZoneEditResponseZoneMode) IsKnown added in v4.2.0

type SettingZoneGetParams added in v4.2.0

type SettingZoneGetParams struct {
	// Identifier.
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type SettingZoneGetResponse added in v4.2.0

type SettingZoneGetResponse struct {
	// Whether to flatten all CNAME records in the zone. Note that, due to DNS
	// limitations, a CNAME record at the zone apex will always be flattened.
	FlattenAllCNAMEs bool `json:"flatten_all_cnames"`
	// Whether to enable Foundation DNS Advanced Nameservers on the zone.
	FoundationDNS bool `json:"foundation_dns"`
	// Settings for this internal zone.
	InternalDNS SettingZoneGetResponseInternalDNS `json:"internal_dns"`
	// Whether to enable multi-provider DNS, which causes Cloudflare to activate the
	// zone even when non-Cloudflare NS records exist, and to respect NS records at the
	// zone apex during outbound zone transfers.
	MultiProvider bool `json:"multi_provider"`
	// Settings determining the nameservers through which the zone should be available.
	Nameservers SettingZoneGetResponseNameservers `json:"nameservers"`
	// The time to live (TTL) of the zone's nameserver (NS) records.
	NSTTL float64 `json:"ns_ttl"`
	// Allows a Secondary DNS zone to use (proxied) override records and CNAME
	// flattening at the zone apex.
	SecondaryOverrides bool `json:"secondary_overrides"`
	// Components of the zone's SOA record.
	SOA SettingZoneGetResponseSOA `json:"soa"`
	// Whether the zone mode is a regular or CDN/DNS only zone.
	ZoneMode SettingZoneGetResponseZoneMode `json:"zone_mode"`
	JSON     settingZoneGetResponseJSON     `json:"-"`
}

func (*SettingZoneGetResponse) UnmarshalJSON added in v4.2.0

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

type SettingZoneGetResponseEnvelope added in v4.2.0

type SettingZoneGetResponseEnvelope struct {
	Errors   []SettingZoneGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []SettingZoneGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success SettingZoneGetResponseEnvelopeSuccess `json:"success,required"`
	Result  SettingZoneGetResponse                `json:"result"`
	JSON    settingZoneGetResponseEnvelopeJSON    `json:"-"`
}

func (*SettingZoneGetResponseEnvelope) UnmarshalJSON added in v4.2.0

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

type SettingZoneGetResponseEnvelopeErrors added in v4.3.0

type SettingZoneGetResponseEnvelopeErrors struct {
	Code             int64                                      `json:"code,required"`
	Message          string                                     `json:"message,required"`
	DocumentationURL string                                     `json:"documentation_url"`
	Source           SettingZoneGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             settingZoneGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*SettingZoneGetResponseEnvelopeErrors) UnmarshalJSON added in v4.3.0

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

type SettingZoneGetResponseEnvelopeErrorsSource added in v4.3.0

type SettingZoneGetResponseEnvelopeErrorsSource struct {
	Pointer string                                         `json:"pointer"`
	JSON    settingZoneGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*SettingZoneGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.3.0

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

type SettingZoneGetResponseEnvelopeMessages added in v4.3.0

type SettingZoneGetResponseEnvelopeMessages struct {
	Code             int64                                        `json:"code,required"`
	Message          string                                       `json:"message,required"`
	DocumentationURL string                                       `json:"documentation_url"`
	Source           SettingZoneGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             settingZoneGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*SettingZoneGetResponseEnvelopeMessages) UnmarshalJSON added in v4.3.0

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

type SettingZoneGetResponseEnvelopeMessagesSource added in v4.3.0

type SettingZoneGetResponseEnvelopeMessagesSource struct {
	Pointer string                                           `json:"pointer"`
	JSON    settingZoneGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*SettingZoneGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.3.0

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

type SettingZoneGetResponseEnvelopeSuccess added in v4.2.0

type SettingZoneGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	SettingZoneGetResponseEnvelopeSuccessTrue SettingZoneGetResponseEnvelopeSuccess = true
)

func (SettingZoneGetResponseEnvelopeSuccess) IsKnown added in v4.2.0

type SettingZoneGetResponseInternalDNS added in v4.2.0

type SettingZoneGetResponseInternalDNS struct {
	// The ID of the zone to fallback to.
	ReferenceZoneID string                                `json:"reference_zone_id"`
	JSON            settingZoneGetResponseInternalDNSJSON `json:"-"`
}

Settings for this internal zone.

func (*SettingZoneGetResponseInternalDNS) UnmarshalJSON added in v4.2.0

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

type SettingZoneGetResponseNameservers added in v4.2.0

type SettingZoneGetResponseNameservers struct {
	// Nameserver type
	Type SettingZoneGetResponseNameserversType `json:"type,required"`
	// Configured nameserver set to be used for this zone
	NSSet int64                                 `json:"ns_set"`
	JSON  settingZoneGetResponseNameserversJSON `json:"-"`
}

Settings determining the nameservers through which the zone should be available.

func (*SettingZoneGetResponseNameservers) UnmarshalJSON added in v4.2.0

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

type SettingZoneGetResponseNameserversType added in v4.2.0

type SettingZoneGetResponseNameserversType string

Nameserver type

const (
	SettingZoneGetResponseNameserversTypeCloudflareStandard SettingZoneGetResponseNameserversType = "cloudflare.standard"
	SettingZoneGetResponseNameserversTypeCustomAccount      SettingZoneGetResponseNameserversType = "custom.account"
	SettingZoneGetResponseNameserversTypeCustomTenant       SettingZoneGetResponseNameserversType = "custom.tenant"
	SettingZoneGetResponseNameserversTypeCustomZone         SettingZoneGetResponseNameserversType = "custom.zone"
)

func (SettingZoneGetResponseNameserversType) IsKnown added in v4.2.0

type SettingZoneGetResponseSOA added in v4.2.0

type SettingZoneGetResponseSOA struct {
	// Time in seconds of being unable to query the primary server after which
	// secondary servers should stop serving the zone.
	Expire float64 `json:"expire,required"`
	// The time to live (TTL) for negative caching of records within the zone.
	MinTTL float64 `json:"min_ttl,required"`
	// The primary nameserver, which may be used for outbound zone transfers.
	MNAME string `json:"mname,required"`
	// Time in seconds after which secondary servers should re-check the SOA record to
	// see if the zone has been updated.
	Refresh float64 `json:"refresh,required"`
	// Time in seconds after which secondary servers should retry queries after the
	// primary server was unresponsive.
	Retry float64 `json:"retry,required"`
	// The email address of the zone administrator, with the first label representing
	// the local part of the email address.
	RNAME string `json:"rname,required"`
	// The time to live (TTL) of the SOA record itself.
	TTL  float64                       `json:"ttl,required"`
	JSON settingZoneGetResponseSOAJSON `json:"-"`
}

Components of the zone's SOA record.

func (*SettingZoneGetResponseSOA) UnmarshalJSON added in v4.2.0

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

type SettingZoneGetResponseZoneMode added in v4.2.0

type SettingZoneGetResponseZoneMode string

Whether the zone mode is a regular or CDN/DNS only zone.

const (
	SettingZoneGetResponseZoneModeStandard SettingZoneGetResponseZoneMode = "standard"
	SettingZoneGetResponseZoneModeCDNOnly  SettingZoneGetResponseZoneMode = "cdn_only"
	SettingZoneGetResponseZoneModeDNSOnly  SettingZoneGetResponseZoneMode = "dns_only"
)

func (SettingZoneGetResponseZoneMode) IsKnown added in v4.2.0

type SettingZoneService added in v4.2.0

type SettingZoneService struct {
	Options []option.RequestOption
}

SettingZoneService 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 NewSettingZoneService method instead.

func NewSettingZoneService added in v4.2.0

func NewSettingZoneService(opts ...option.RequestOption) (r *SettingZoneService)

NewSettingZoneService 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 (*SettingZoneService) Edit added in v4.2.0

Update DNS settings for a zone

func (*SettingZoneService) Get added in v4.2.0

Show DNS settings for a zone

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 TLSARecord

type TLSARecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type TLSARecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted TLSA content. See 'data' to set TLSA properties.
	Content string `json:"content"`
	// Components of a TLSA record.
	Data TLSARecordData `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings TLSARecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags   `json:"tags"`
	JSON tlsaRecordJSON `json:"-"`
}

func (*TLSARecord) UnmarshalJSON

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

type TLSARecordData

type TLSARecordData struct {
	// certificate.
	Certificate string `json:"certificate"`
	// Matching Type.
	MatchingType float64 `json:"matching_type"`
	// Selector.
	Selector float64 `json:"selector"`
	// Usage.
	Usage float64            `json:"usage"`
	JSON  tlsaRecordDataJSON `json:"-"`
}

Components of a TLSA record.

func (*TLSARecordData) UnmarshalJSON

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

type TLSARecordDataParam

type TLSARecordDataParam struct {
	// certificate.
	Certificate param.Field[string] `json:"certificate"`
	// Matching Type.
	MatchingType param.Field[float64] `json:"matching_type"`
	// Selector.
	Selector param.Field[float64] `json:"selector"`
	// Usage.
	Usage param.Field[float64] `json:"usage"`
}

Components of a TLSA record.

func (TLSARecordDataParam) MarshalJSON

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

type TLSARecordParam

type TLSARecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[TLSARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a TLSA record.
	Data param.Field[TLSARecordDataParam] `json:"data"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[TLSARecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (TLSARecordParam) MarshalJSON

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

type TLSARecordSettings

type TLSARecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                   `json:"ipv6_only"`
	JSON     tlsaRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*TLSARecordSettings) UnmarshalJSON

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

type TLSARecordSettingsParam

type TLSARecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (TLSARecordSettingsParam) MarshalJSON

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

type TLSARecordType

type TLSARecordType string

Record type.

const (
	TLSARecordTypeTLSA TLSARecordType = "TLSA"
)

func (TLSARecordType) IsKnown

func (r TLSARecordType) IsKnown() bool

type TSIG

type TSIG struct {
	ID string `json:"id,required"`
	// TSIG algorithm.
	Algo string `json:"algo,required"`
	// TSIG key name.
	Name string `json:"name,required"`
	// TSIG secret.
	Secret string   `json:"secret,required"`
	JSON   tsigJSON `json:"-"`
}

func (*TSIG) UnmarshalJSON

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

type TSIGParam

type TSIGParam struct {
	// TSIG algorithm.
	Algo param.Field[string] `json:"algo,required"`
	// TSIG key name.
	Name param.Field[string] `json:"name,required"`
	// TSIG secret.
	Secret param.Field[string] `json:"secret,required"`
}

func (TSIGParam) MarshalJSON

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

type TTL

type TTL float64

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

const (
	TTL1 TTL = 1
)

func (TTL) IsKnown

func (r TTL) IsKnown() bool

type TXTRecord

type TXTRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type TXTRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Text content for the record. The content must consist of quoted "character
	// strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding
	// this allowed maximum length are automatically split.
	//
	// Learn more at
	// <https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/>.
	Content string `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings TXTRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON txtRecordJSON `json:"-"`
}

func (*TXTRecord) UnmarshalJSON

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

type TXTRecordParam

type TXTRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[TXTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Text content for the record. The content must consist of quoted "character
	// strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding
	// this allowed maximum length are automatically split.
	//
	// Learn more at
	// <https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/>.
	Content param.Field[string] `json:"content"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[TXTRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (TXTRecordParam) MarshalJSON

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

type TXTRecordSettings

type TXTRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     txtRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*TXTRecordSettings) UnmarshalJSON

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

type TXTRecordSettingsParam

type TXTRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (TXTRecordSettingsParam) MarshalJSON

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

type TXTRecordType

type TXTRecordType string

Record type.

const (
	TXTRecordTypeTXT TXTRecordType = "TXT"
)

func (TXTRecordType) IsKnown

func (r TXTRecordType) IsKnown() bool

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 TokenPolicyResourcesMap added in v4.6.0

type TokenPolicyResourcesMap = shared.TokenPolicyResourcesMap

A nested permission grant for further scoping.

This is an alias to an internal type.

type TokenPolicyResourcesMapParam added in v4.6.0

type TokenPolicyResourcesMapParam = shared.TokenPolicyResourcesMapParam

A nested permission grant for further scoping.

This is an alias to an internal type.

type TokenPolicyResourcesUnion added in v4.6.0

type TokenPolicyResourcesUnion = shared.TokenPolicyResourcesUnion

A simple wildcard permission, e.g., "\*".

This is an alias to an internal type.

type TokenPolicyResourcesUnionParam added in v4.6.0

type TokenPolicyResourcesUnionParam = shared.TokenPolicyResourcesUnionParam

A simple wildcard permission, e.g., "\*".

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.

type URIRecord

type URIRecord struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL TTL `json:"ttl,required"`
	// Record type.
	Type URIRecordType `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment string `json:"comment"`
	// Formatted URI content. See 'data' to set URI properties.
	Content string `json:"content"`
	// Components of a URI record.
	Data URIRecordData `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied bool `json:"proxied"`
	// Settings for the DNS record.
	Settings URIRecordSettings `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []RecordTags  `json:"tags"`
	JSON uriRecordJSON `json:"-"`
}

func (*URIRecord) UnmarshalJSON

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

type URIRecordData

type URIRecordData struct {
	// The record content.
	Target string `json:"target"`
	// The record weight.
	Weight float64           `json:"weight"`
	JSON   uriRecordDataJSON `json:"-"`
}

Components of a URI record.

func (*URIRecordData) UnmarshalJSON

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

type URIRecordDataParam

type URIRecordDataParam struct {
	// The record content.
	Target param.Field[string] `json:"target"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a URI record.

func (URIRecordDataParam) MarshalJSON

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

type URIRecordParam

type URIRecordParam struct {
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'.
	// Value must be between 60 and 86400, with the minimum reduced to 30 for
	// Enterprise zones.
	TTL param.Field[TTL] `json:"ttl,required"`
	// Record type.
	Type param.Field[URIRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// Components of a URI record.
	Data param.Field[URIRecordDataParam] `json:"data"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// Whether the record is receiving the performance and security benefits of
	// Cloudflare.
	Proxied param.Field[bool] `json:"proxied"`
	// Settings for the DNS record.
	Settings param.Field[URIRecordSettingsParam] `json:"settings"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]RecordTagsParam] `json:"tags"`
}

func (URIRecordParam) MarshalJSON

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

type URIRecordSettings

type URIRecordSettings struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only bool `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only bool                  `json:"ipv6_only"`
	JSON     uriRecordSettingsJSON `json:"-"`
}

Settings for the DNS record.

func (*URIRecordSettings) UnmarshalJSON

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

type URIRecordSettingsParam

type URIRecordSettingsParam struct {
	// When enabled, only A records will be generated, and AAAA records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV4Only param.Field[bool] `json:"ipv4_only"`
	// When enabled, only AAAA records will be generated, and A records will not be
	// created. This setting is intended for exceptional cases. Note that this option
	// only applies to proxied records and it has no effect on whether Cloudflare
	// communicates with the origin using IPv4 or IPv6.
	IPV6Only param.Field[bool] `json:"ipv6_only"`
}

Settings for the DNS record.

func (URIRecordSettingsParam) MarshalJSON

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

type URIRecordType

type URIRecordType string

Record type.

const (
	URIRecordTypeURI URIRecordType = "URI"
)

func (URIRecordType) IsKnown

func (r URIRecordType) IsKnown() bool

type ZoneTransferACLDeleteParams

type ZoneTransferACLDeleteParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferACLDeleteResponse

type ZoneTransferACLDeleteResponse struct {
	ID   string                            `json:"id"`
	JSON zoneTransferACLDeleteResponseJSON `json:"-"`
}

func (*ZoneTransferACLDeleteResponse) UnmarshalJSON

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

type ZoneTransferACLDeleteResponseEnvelope

type ZoneTransferACLDeleteResponseEnvelope struct {
	Errors   []ZoneTransferACLDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferACLDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferACLDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferACLDeleteResponse                `json:"result"`
	JSON    zoneTransferACLDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferACLDeleteResponseEnvelope) UnmarshalJSON

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

type ZoneTransferACLDeleteResponseEnvelopeErrors added in v4.5.0

type ZoneTransferACLDeleteResponseEnvelopeErrors struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferACLDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferACLDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferACLDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLDeleteResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferACLDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferACLDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferACLDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLDeleteResponseEnvelopeMessages added in v4.5.0

type ZoneTransferACLDeleteResponseEnvelopeMessages struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferACLDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferACLDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferACLDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLDeleteResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferACLDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferACLDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferACLDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLDeleteResponseEnvelopeSuccess

type ZoneTransferACLDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferACLDeleteResponseEnvelopeSuccessTrue ZoneTransferACLDeleteResponseEnvelopeSuccess = true
)

func (ZoneTransferACLDeleteResponseEnvelopeSuccess) IsKnown

type ZoneTransferACLGetParams

type ZoneTransferACLGetParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferACLGetResponseEnvelope

type ZoneTransferACLGetResponseEnvelope struct {
	Errors   []ZoneTransferACLGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferACLGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferACLGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ACL                                       `json:"result"`
	JSON    zoneTransferACLGetResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferACLGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferACLGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferACLGetResponseEnvelopeErrors struct {
	Code             int64                                          `json:"code,required"`
	Message          string                                         `json:"message,required"`
	DocumentationURL string                                         `json:"documentation_url"`
	Source           ZoneTransferACLGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferACLGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferACLGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferACLGetResponseEnvelopeErrorsSource struct {
	Pointer string                                             `json:"pointer"`
	JSON    zoneTransferACLGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferACLGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferACLGetResponseEnvelopeMessages struct {
	Code             int64                                            `json:"code,required"`
	Message          string                                           `json:"message,required"`
	DocumentationURL string                                           `json:"documentation_url"`
	Source           ZoneTransferACLGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferACLGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferACLGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferACLGetResponseEnvelopeMessagesSource struct {
	Pointer string                                               `json:"pointer"`
	JSON    zoneTransferACLGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferACLGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLGetResponseEnvelopeSuccess

type ZoneTransferACLGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferACLGetResponseEnvelopeSuccessTrue ZoneTransferACLGetResponseEnvelopeSuccess = true
)

func (ZoneTransferACLGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferACLListParams

type ZoneTransferACLListParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferACLNewParams

type ZoneTransferACLNewParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	// Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will
	// be applied for the entire account. The IP range is used to allow additional
	// NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from
	// for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for
	// IPv6 respectively.
	IPRange param.Field[string] `json:"ip_range,required"`
	// The name of the acl.
	Name param.Field[string] `json:"name,required"`
}

func (ZoneTransferACLNewParams) MarshalJSON

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

type ZoneTransferACLNewResponseEnvelope

type ZoneTransferACLNewResponseEnvelope struct {
	Errors   []ZoneTransferACLNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferACLNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferACLNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ACL                                       `json:"result"`
	JSON    zoneTransferACLNewResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferACLNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferACLNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferACLNewResponseEnvelopeErrors struct {
	Code             int64                                          `json:"code,required"`
	Message          string                                         `json:"message,required"`
	DocumentationURL string                                         `json:"documentation_url"`
	Source           ZoneTransferACLNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferACLNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferACLNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferACLNewResponseEnvelopeErrorsSource struct {
	Pointer string                                             `json:"pointer"`
	JSON    zoneTransferACLNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferACLNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferACLNewResponseEnvelopeMessages struct {
	Code             int64                                            `json:"code,required"`
	Message          string                                           `json:"message,required"`
	DocumentationURL string                                           `json:"documentation_url"`
	Source           ZoneTransferACLNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferACLNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferACLNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferACLNewResponseEnvelopeMessagesSource struct {
	Pointer string                                               `json:"pointer"`
	JSON    zoneTransferACLNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferACLNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLNewResponseEnvelopeSuccess

type ZoneTransferACLNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferACLNewResponseEnvelopeSuccessTrue ZoneTransferACLNewResponseEnvelopeSuccess = true
)

func (ZoneTransferACLNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferACLService

type ZoneTransferACLService struct {
	Options []option.RequestOption
}

ZoneTransferACLService 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 NewZoneTransferACLService method instead.

func NewZoneTransferACLService

func NewZoneTransferACLService(opts ...option.RequestOption) (r *ZoneTransferACLService)

NewZoneTransferACLService 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 (*ZoneTransferACLService) Delete

Delete ACL.

func (*ZoneTransferACLService) Get

func (r *ZoneTransferACLService) Get(ctx context.Context, aclID string, query ZoneTransferACLGetParams, opts ...option.RequestOption) (res *ACL, err error)

Get ACL.

func (*ZoneTransferACLService) List

List ACLs.

func (*ZoneTransferACLService) ListAutoPaging

List ACLs.

func (*ZoneTransferACLService) New

Create ACL.

func (*ZoneTransferACLService) Update

func (r *ZoneTransferACLService) Update(ctx context.Context, aclID string, params ZoneTransferACLUpdateParams, opts ...option.RequestOption) (res *ACL, err error)

Modify ACL.

type ZoneTransferACLUpdateParams

type ZoneTransferACLUpdateParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	ACL       ACLParam            `json:"acl,required"`
}

func (ZoneTransferACLUpdateParams) MarshalJSON

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

type ZoneTransferACLUpdateResponseEnvelope

type ZoneTransferACLUpdateResponseEnvelope struct {
	Errors   []ZoneTransferACLUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferACLUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferACLUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ACL                                          `json:"result"`
	JSON    zoneTransferACLUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferACLUpdateResponseEnvelope) UnmarshalJSON

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

type ZoneTransferACLUpdateResponseEnvelopeErrors added in v4.5.0

type ZoneTransferACLUpdateResponseEnvelopeErrors struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferACLUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferACLUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferACLUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLUpdateResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferACLUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferACLUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferACLUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLUpdateResponseEnvelopeMessages added in v4.5.0

type ZoneTransferACLUpdateResponseEnvelopeMessages struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferACLUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferACLUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferACLUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLUpdateResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferACLUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferACLUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferACLUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferACLUpdateResponseEnvelopeSuccess

type ZoneTransferACLUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferACLUpdateResponseEnvelopeSuccessTrue ZoneTransferACLUpdateResponseEnvelopeSuccess = true
)

func (ZoneTransferACLUpdateResponseEnvelopeSuccess) IsKnown

type ZoneTransferForceAXFRNewParams

type ZoneTransferForceAXFRNewParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	Body   interface{}         `json:"body,required"`
}

func (ZoneTransferForceAXFRNewParams) MarshalJSON

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

type ZoneTransferForceAXFRNewResponseEnvelope

type ZoneTransferForceAXFRNewResponseEnvelope struct {
	Errors   []ZoneTransferForceAXFRNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferForceAXFRNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferForceAXFRNewResponseEnvelopeSuccess `json:"success,required"`
	// When force_axfr query parameter is set to true, the response is a simple string
	Result ForceAXFR                                    `json:"result"`
	JSON   zoneTransferForceAXFRNewResponseEnvelopeJSON `json:"-"`
}

func (*ZoneTransferForceAXFRNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferForceAXFRNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferForceAXFRNewResponseEnvelopeErrors struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           ZoneTransferForceAXFRNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferForceAXFRNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferForceAXFRNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferForceAXFRNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferForceAXFRNewResponseEnvelopeErrorsSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    zoneTransferForceAXFRNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferForceAXFRNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferForceAXFRNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferForceAXFRNewResponseEnvelopeMessages struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferForceAXFRNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferForceAXFRNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferForceAXFRNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferForceAXFRNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferForceAXFRNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferForceAXFRNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferForceAXFRNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferForceAXFRNewResponseEnvelopeSuccess

type ZoneTransferForceAXFRNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferForceAXFRNewResponseEnvelopeSuccessTrue ZoneTransferForceAXFRNewResponseEnvelopeSuccess = true
)

func (ZoneTransferForceAXFRNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferForceAXFRService

type ZoneTransferForceAXFRService struct {
	Options []option.RequestOption
}

ZoneTransferForceAXFRService 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 NewZoneTransferForceAXFRService method instead.

func NewZoneTransferForceAXFRService

func NewZoneTransferForceAXFRService(opts ...option.RequestOption) (r *ZoneTransferForceAXFRService)

NewZoneTransferForceAXFRService 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 (*ZoneTransferForceAXFRService) New

Sends AXFR zone transfer request to primary nameserver(s).

type ZoneTransferIncomingDeleteParams

type ZoneTransferIncomingDeleteParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type ZoneTransferIncomingDeleteResponse

type ZoneTransferIncomingDeleteResponse struct {
	ID   string                                 `json:"id"`
	JSON zoneTransferIncomingDeleteResponseJSON `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponse) UnmarshalJSON

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

type ZoneTransferIncomingDeleteResponseEnvelope

type ZoneTransferIncomingDeleteResponseEnvelope struct {
	Errors   []ZoneTransferIncomingDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferIncomingDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferIncomingDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferIncomingDeleteResponse                `json:"result"`
	JSON    zoneTransferIncomingDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponseEnvelope) UnmarshalJSON

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

type ZoneTransferIncomingDeleteResponseEnvelopeErrors added in v4.5.0

type ZoneTransferIncomingDeleteResponseEnvelopeErrors struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferIncomingDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferIncomingDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingDeleteResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferIncomingDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferIncomingDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingDeleteResponseEnvelopeMessages added in v4.5.0

type ZoneTransferIncomingDeleteResponseEnvelopeMessages struct {
	Code             int64                                                    `json:"code,required"`
	Message          string                                                   `json:"message,required"`
	DocumentationURL string                                                   `json:"documentation_url"`
	Source           ZoneTransferIncomingDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferIncomingDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingDeleteResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferIncomingDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                                       `json:"pointer"`
	JSON    zoneTransferIncomingDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferIncomingDeleteResponseEnvelopeSuccess

type ZoneTransferIncomingDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferIncomingDeleteResponseEnvelopeSuccessTrue ZoneTransferIncomingDeleteResponseEnvelopeSuccess = true
)

func (ZoneTransferIncomingDeleteResponseEnvelopeSuccess) IsKnown

type ZoneTransferIncomingGetParams

type ZoneTransferIncomingGetParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type ZoneTransferIncomingGetResponse

type ZoneTransferIncomingGetResponse struct {
	ID string `json:"id"`
	// How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not
	// applicable for primary zones.
	AutoRefreshSeconds float64 `json:"auto_refresh_seconds"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	ModifiedTime string `json:"modified_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                             `json:"soa_serial"`
	JSON      zoneTransferIncomingGetResponseJSON `json:"-"`
}

func (*ZoneTransferIncomingGetResponse) UnmarshalJSON

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

type ZoneTransferIncomingGetResponseEnvelope

type ZoneTransferIncomingGetResponseEnvelope struct {
	Errors   []ZoneTransferIncomingGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferIncomingGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferIncomingGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferIncomingGetResponse                `json:"result"`
	JSON    zoneTransferIncomingGetResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferIncomingGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferIncomingGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferIncomingGetResponseEnvelopeErrors struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferIncomingGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferIncomingGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferIncomingGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferIncomingGetResponseEnvelopeErrorsSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferIncomingGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferIncomingGetResponseEnvelopeMessages struct {
	Code             int64                                                 `json:"code,required"`
	Message          string                                                `json:"message,required"`
	DocumentationURL string                                                `json:"documentation_url"`
	Source           ZoneTransferIncomingGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferIncomingGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferIncomingGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferIncomingGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                    `json:"pointer"`
	JSON    zoneTransferIncomingGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingGetResponseEnvelopeSuccess

type ZoneTransferIncomingGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferIncomingGetResponseEnvelopeSuccessTrue ZoneTransferIncomingGetResponseEnvelopeSuccess = true
)

func (ZoneTransferIncomingGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferIncomingNewParams

type ZoneTransferIncomingNewParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	// How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not
	// applicable for primary zones.
	AutoRefreshSeconds param.Field[float64] `json:"auto_refresh_seconds,required"`
	// Zone name.
	Name param.Field[string] `json:"name,required"`
	// A list of peer tags.
	Peers param.Field[[]string] `json:"peers,required"`
}

func (ZoneTransferIncomingNewParams) MarshalJSON

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

type ZoneTransferIncomingNewResponse

type ZoneTransferIncomingNewResponse struct {
	ID string `json:"id"`
	// How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not
	// applicable for primary zones.
	AutoRefreshSeconds float64 `json:"auto_refresh_seconds"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	ModifiedTime string `json:"modified_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                             `json:"soa_serial"`
	JSON      zoneTransferIncomingNewResponseJSON `json:"-"`
}

func (*ZoneTransferIncomingNewResponse) UnmarshalJSON

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

type ZoneTransferIncomingNewResponseEnvelope

type ZoneTransferIncomingNewResponseEnvelope struct {
	Errors   []ZoneTransferIncomingNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferIncomingNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferIncomingNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferIncomingNewResponse                `json:"result"`
	JSON    zoneTransferIncomingNewResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferIncomingNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferIncomingNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferIncomingNewResponseEnvelopeErrors struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferIncomingNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferIncomingNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferIncomingNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferIncomingNewResponseEnvelopeErrorsSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferIncomingNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferIncomingNewResponseEnvelopeMessages struct {
	Code             int64                                                 `json:"code,required"`
	Message          string                                                `json:"message,required"`
	DocumentationURL string                                                `json:"documentation_url"`
	Source           ZoneTransferIncomingNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferIncomingNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferIncomingNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferIncomingNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                    `json:"pointer"`
	JSON    zoneTransferIncomingNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingNewResponseEnvelopeSuccess

type ZoneTransferIncomingNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferIncomingNewResponseEnvelopeSuccessTrue ZoneTransferIncomingNewResponseEnvelopeSuccess = true
)

func (ZoneTransferIncomingNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferIncomingService

type ZoneTransferIncomingService struct {
	Options []option.RequestOption
}

ZoneTransferIncomingService 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 NewZoneTransferIncomingService method instead.

func NewZoneTransferIncomingService

func NewZoneTransferIncomingService(opts ...option.RequestOption) (r *ZoneTransferIncomingService)

NewZoneTransferIncomingService 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 (*ZoneTransferIncomingService) Delete

Delete secondary zone configuration for incoming zone transfers.

func (*ZoneTransferIncomingService) Get

Get secondary zone configuration for incoming zone transfers.

func (*ZoneTransferIncomingService) New

Create secondary zone configuration for incoming zone transfers.

func (*ZoneTransferIncomingService) Update

Update secondary zone configuration for incoming zone transfers.

type ZoneTransferIncomingUpdateParams

type ZoneTransferIncomingUpdateParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	// How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not
	// applicable for primary zones.
	AutoRefreshSeconds param.Field[float64] `json:"auto_refresh_seconds,required"`
	// Zone name.
	Name param.Field[string] `json:"name,required"`
	// A list of peer tags.
	Peers param.Field[[]string] `json:"peers,required"`
}

func (ZoneTransferIncomingUpdateParams) MarshalJSON

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

type ZoneTransferIncomingUpdateResponse

type ZoneTransferIncomingUpdateResponse struct {
	ID string `json:"id"`
	// How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not
	// applicable for primary zones.
	AutoRefreshSeconds float64 `json:"auto_refresh_seconds"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	ModifiedTime string `json:"modified_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                                `json:"soa_serial"`
	JSON      zoneTransferIncomingUpdateResponseJSON `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponse) UnmarshalJSON

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

type ZoneTransferIncomingUpdateResponseEnvelope

type ZoneTransferIncomingUpdateResponseEnvelope struct {
	Errors   []ZoneTransferIncomingUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferIncomingUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferIncomingUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferIncomingUpdateResponse                `json:"result"`
	JSON    zoneTransferIncomingUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponseEnvelope) UnmarshalJSON

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

type ZoneTransferIncomingUpdateResponseEnvelopeErrors added in v4.5.0

type ZoneTransferIncomingUpdateResponseEnvelopeErrors struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferIncomingUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferIncomingUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingUpdateResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferIncomingUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferIncomingUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingUpdateResponseEnvelopeMessages added in v4.5.0

type ZoneTransferIncomingUpdateResponseEnvelopeMessages struct {
	Code             int64                                                    `json:"code,required"`
	Message          string                                                   `json:"message,required"`
	DocumentationURL string                                                   `json:"documentation_url"`
	Source           ZoneTransferIncomingUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferIncomingUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferIncomingUpdateResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferIncomingUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                                       `json:"pointer"`
	JSON    zoneTransferIncomingUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferIncomingUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferIncomingUpdateResponseEnvelopeSuccess

type ZoneTransferIncomingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferIncomingUpdateResponseEnvelopeSuccessTrue ZoneTransferIncomingUpdateResponseEnvelopeSuccess = true
)

func (ZoneTransferIncomingUpdateResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingDeleteParams

type ZoneTransferOutgoingDeleteParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type ZoneTransferOutgoingDeleteResponse

type ZoneTransferOutgoingDeleteResponse struct {
	ID   string                                 `json:"id"`
	JSON zoneTransferOutgoingDeleteResponseJSON `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponse) UnmarshalJSON

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

type ZoneTransferOutgoingDeleteResponseEnvelope

type ZoneTransferOutgoingDeleteResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferOutgoingDeleteResponse                `json:"result"`
	JSON    zoneTransferOutgoingDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingDeleteResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingDeleteResponseEnvelopeErrors struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferOutgoingDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingDeleteResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferOutgoingDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingDeleteResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingDeleteResponseEnvelopeMessages struct {
	Code             int64                                                    `json:"code,required"`
	Message          string                                                   `json:"message,required"`
	DocumentationURL string                                                   `json:"documentation_url"`
	Source           ZoneTransferOutgoingDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingDeleteResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                                       `json:"pointer"`
	JSON    zoneTransferOutgoingDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingDeleteResponseEnvelopeSuccess

type ZoneTransferOutgoingDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingDeleteResponseEnvelopeSuccessTrue ZoneTransferOutgoingDeleteResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingDeleteResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingDisableParams

type ZoneTransferOutgoingDisableParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	Body   interface{}         `json:"body,required"`
}

func (ZoneTransferOutgoingDisableParams) MarshalJSON

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

type ZoneTransferOutgoingDisableResponseEnvelope

type ZoneTransferOutgoingDisableResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingDisableResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingDisableResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingDisableResponseEnvelopeSuccess `json:"success,required"`
	// The zone transfer status of a primary zone
	Result DisableTransfer                                 `json:"result"`
	JSON   zoneTransferOutgoingDisableResponseEnvelopeJSON `json:"-"`
}

func (*ZoneTransferOutgoingDisableResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingDisableResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeErrors struct {
	Code             int64                                                   `json:"code,required"`
	Message          string                                                  `json:"message,required"`
	DocumentationURL string                                                  `json:"documentation_url"`
	Source           ZoneTransferOutgoingDisableResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingDisableResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingDisableResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingDisableResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeErrorsSource struct {
	Pointer string                                                      `json:"pointer"`
	JSON    zoneTransferOutgoingDisableResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingDisableResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeMessages struct {
	Code             int64                                                     `json:"code,required"`
	Message          string                                                    `json:"message,required"`
	DocumentationURL string                                                    `json:"documentation_url"`
	Source           ZoneTransferOutgoingDisableResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingDisableResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingDisableResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingDisableResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeMessagesSource struct {
	Pointer string                                                        `json:"pointer"`
	JSON    zoneTransferOutgoingDisableResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingDisableResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingDisableResponseEnvelopeSuccess

type ZoneTransferOutgoingDisableResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingDisableResponseEnvelopeSuccessTrue ZoneTransferOutgoingDisableResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingDisableResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingEnableParams

type ZoneTransferOutgoingEnableParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	Body   interface{}         `json:"body,required"`
}

func (ZoneTransferOutgoingEnableParams) MarshalJSON

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

type ZoneTransferOutgoingEnableResponseEnvelope

type ZoneTransferOutgoingEnableResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingEnableResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingEnableResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingEnableResponseEnvelopeSuccess `json:"success,required"`
	// The zone transfer status of a primary zone
	Result EnableTransfer                                 `json:"result"`
	JSON   zoneTransferOutgoingEnableResponseEnvelopeJSON `json:"-"`
}

func (*ZoneTransferOutgoingEnableResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingEnableResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingEnableResponseEnvelopeErrors struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferOutgoingEnableResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingEnableResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingEnableResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingEnableResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingEnableResponseEnvelopeErrorsSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferOutgoingEnableResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingEnableResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingEnableResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingEnableResponseEnvelopeMessages struct {
	Code             int64                                                    `json:"code,required"`
	Message          string                                                   `json:"message,required"`
	DocumentationURL string                                                   `json:"documentation_url"`
	Source           ZoneTransferOutgoingEnableResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingEnableResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingEnableResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingEnableResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingEnableResponseEnvelopeMessagesSource struct {
	Pointer string                                                       `json:"pointer"`
	JSON    zoneTransferOutgoingEnableResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingEnableResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingEnableResponseEnvelopeSuccess

type ZoneTransferOutgoingEnableResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingEnableResponseEnvelopeSuccessTrue ZoneTransferOutgoingEnableResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingEnableResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingForceNotifyParams

type ZoneTransferOutgoingForceNotifyParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	Body   interface{}         `json:"body,required"`
}

func (ZoneTransferOutgoingForceNotifyParams) MarshalJSON

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

type ZoneTransferOutgoingForceNotifyResponseEnvelope

type ZoneTransferOutgoingForceNotifyResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingForceNotifyResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingForceNotifyResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccess `json:"success,required"`
	// When force_notify query parameter is set to true, the response is a simple
	// string
	Result string                                              `json:"result"`
	JSON   zoneTransferOutgoingForceNotifyResponseEnvelopeJSON `json:"-"`
}

func (*ZoneTransferOutgoingForceNotifyResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingForceNotifyResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeErrors struct {
	Code             int64                                                       `json:"code,required"`
	Message          string                                                      `json:"message,required"`
	DocumentationURL string                                                      `json:"documentation_url"`
	Source           ZoneTransferOutgoingForceNotifyResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingForceNotifyResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingForceNotifyResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingForceNotifyResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeErrorsSource struct {
	Pointer string                                                          `json:"pointer"`
	JSON    zoneTransferOutgoingForceNotifyResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingForceNotifyResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeMessages struct {
	Code             int64                                                         `json:"code,required"`
	Message          string                                                        `json:"message,required"`
	DocumentationURL string                                                        `json:"documentation_url"`
	Source           ZoneTransferOutgoingForceNotifyResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingForceNotifyResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingForceNotifyResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeMessagesSource struct {
	Pointer string                                                            `json:"pointer"`
	JSON    zoneTransferOutgoingForceNotifyResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingForceNotifyResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccess

type ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccessTrue ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingForceNotifyResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingGetParams

type ZoneTransferOutgoingGetParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type ZoneTransferOutgoingGetResponse

type ZoneTransferOutgoingGetResponse struct {
	ID string `json:"id"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	LastTransferredTime string `json:"last_transferred_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                             `json:"soa_serial"`
	JSON      zoneTransferOutgoingGetResponseJSON `json:"-"`
}

func (*ZoneTransferOutgoingGetResponse) UnmarshalJSON

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

type ZoneTransferOutgoingGetResponseEnvelope

type ZoneTransferOutgoingGetResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferOutgoingGetResponse                `json:"result"`
	JSON    zoneTransferOutgoingGetResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferOutgoingGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingGetResponseEnvelopeErrors struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferOutgoingGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingGetResponseEnvelopeErrorsSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferOutgoingGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingGetResponseEnvelopeMessages struct {
	Code             int64                                                 `json:"code,required"`
	Message          string                                                `json:"message,required"`
	DocumentationURL string                                                `json:"documentation_url"`
	Source           ZoneTransferOutgoingGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                    `json:"pointer"`
	JSON    zoneTransferOutgoingGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingGetResponseEnvelopeSuccess

type ZoneTransferOutgoingGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingGetResponseEnvelopeSuccessTrue ZoneTransferOutgoingGetResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingNewParams

type ZoneTransferOutgoingNewParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Zone name.
	Name param.Field[string] `json:"name,required"`
	// A list of peer tags.
	Peers param.Field[[]string] `json:"peers,required"`
}

func (ZoneTransferOutgoingNewParams) MarshalJSON

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

type ZoneTransferOutgoingNewResponse

type ZoneTransferOutgoingNewResponse struct {
	ID string `json:"id"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	LastTransferredTime string `json:"last_transferred_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                             `json:"soa_serial"`
	JSON      zoneTransferOutgoingNewResponseJSON `json:"-"`
}

func (*ZoneTransferOutgoingNewResponse) UnmarshalJSON

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

type ZoneTransferOutgoingNewResponseEnvelope

type ZoneTransferOutgoingNewResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferOutgoingNewResponse                `json:"result"`
	JSON    zoneTransferOutgoingNewResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferOutgoingNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingNewResponseEnvelopeErrors struct {
	Code             int64                                               `json:"code,required"`
	Message          string                                              `json:"message,required"`
	DocumentationURL string                                              `json:"documentation_url"`
	Source           ZoneTransferOutgoingNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingNewResponseEnvelopeErrorsSource struct {
	Pointer string                                                  `json:"pointer"`
	JSON    zoneTransferOutgoingNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingNewResponseEnvelopeMessages struct {
	Code             int64                                                 `json:"code,required"`
	Message          string                                                `json:"message,required"`
	DocumentationURL string                                                `json:"documentation_url"`
	Source           ZoneTransferOutgoingNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                    `json:"pointer"`
	JSON    zoneTransferOutgoingNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingNewResponseEnvelopeSuccess

type ZoneTransferOutgoingNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingNewResponseEnvelopeSuccessTrue ZoneTransferOutgoingNewResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingService

type ZoneTransferOutgoingService struct {
	Options []option.RequestOption
	Status  *ZoneTransferOutgoingStatusService
}

ZoneTransferOutgoingService 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 NewZoneTransferOutgoingService method instead.

func NewZoneTransferOutgoingService

func NewZoneTransferOutgoingService(opts ...option.RequestOption) (r *ZoneTransferOutgoingService)

NewZoneTransferOutgoingService 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 (*ZoneTransferOutgoingService) Delete

Delete primary zone configuration for outgoing zone transfers.

func (*ZoneTransferOutgoingService) Disable

Disable outgoing zone transfers for primary zone and clears IXFR backlog of primary zone.

func (*ZoneTransferOutgoingService) Enable

Enable outgoing zone transfers for primary zone.

func (*ZoneTransferOutgoingService) ForceNotify

Notifies the secondary nameserver(s) and clears IXFR backlog of primary zone.

func (*ZoneTransferOutgoingService) Get

Get primary zone configuration for outgoing zone transfers.

func (*ZoneTransferOutgoingService) New

Create primary zone configuration for outgoing zone transfers.

func (*ZoneTransferOutgoingService) Update

Update primary zone configuration for outgoing zone transfers.

type ZoneTransferOutgoingStatusGetParams

type ZoneTransferOutgoingStatusGetParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
}

type ZoneTransferOutgoingStatusGetResponseEnvelope

type ZoneTransferOutgoingStatusGetResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingStatusGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingStatusGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingStatusGetResponseEnvelopeSuccess `json:"success,required"`
	// The zone transfer status of a primary zone
	Result EnableTransfer                                    `json:"result"`
	JSON   zoneTransferOutgoingStatusGetResponseEnvelopeJSON `json:"-"`
}

func (*ZoneTransferOutgoingStatusGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingStatusGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeErrors struct {
	Code             int64                                                     `json:"code,required"`
	Message          string                                                    `json:"message,required"`
	DocumentationURL string                                                    `json:"documentation_url"`
	Source           ZoneTransferOutgoingStatusGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingStatusGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingStatusGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingStatusGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeErrorsSource struct {
	Pointer string                                                        `json:"pointer"`
	JSON    zoneTransferOutgoingStatusGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingStatusGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeMessages struct {
	Code             int64                                                       `json:"code,required"`
	Message          string                                                      `json:"message,required"`
	DocumentationURL string                                                      `json:"documentation_url"`
	Source           ZoneTransferOutgoingStatusGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingStatusGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingStatusGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingStatusGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                          `json:"pointer"`
	JSON    zoneTransferOutgoingStatusGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingStatusGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingStatusGetResponseEnvelopeSuccess

type ZoneTransferOutgoingStatusGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingStatusGetResponseEnvelopeSuccessTrue ZoneTransferOutgoingStatusGetResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingStatusGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferOutgoingStatusService

type ZoneTransferOutgoingStatusService struct {
	Options []option.RequestOption
}

ZoneTransferOutgoingStatusService 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 NewZoneTransferOutgoingStatusService method instead.

func NewZoneTransferOutgoingStatusService

func NewZoneTransferOutgoingStatusService(opts ...option.RequestOption) (r *ZoneTransferOutgoingStatusService)

NewZoneTransferOutgoingStatusService 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 (*ZoneTransferOutgoingStatusService) Get

Get primary zone transfer status.

type ZoneTransferOutgoingUpdateParams

type ZoneTransferOutgoingUpdateParams struct {
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Zone name.
	Name param.Field[string] `json:"name,required"`
	// A list of peer tags.
	Peers param.Field[[]string] `json:"peers,required"`
}

func (ZoneTransferOutgoingUpdateParams) MarshalJSON

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

type ZoneTransferOutgoingUpdateResponse

type ZoneTransferOutgoingUpdateResponse struct {
	ID string `json:"id"`
	// The time for a specific event.
	CheckedTime string `json:"checked_time"`
	// The time for a specific event.
	CreatedTime string `json:"created_time"`
	// The time for a specific event.
	LastTransferredTime string `json:"last_transferred_time"`
	// Zone name.
	Name string `json:"name"`
	// A list of peer tags.
	Peers []string `json:"peers"`
	// The serial number of the SOA for the given zone.
	SOASerial float64                                `json:"soa_serial"`
	JSON      zoneTransferOutgoingUpdateResponseJSON `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponse) UnmarshalJSON

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

type ZoneTransferOutgoingUpdateResponseEnvelope

type ZoneTransferOutgoingUpdateResponseEnvelope struct {
	Errors   []ZoneTransferOutgoingUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferOutgoingUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferOutgoingUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferOutgoingUpdateResponse                `json:"result"`
	JSON    zoneTransferOutgoingUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponseEnvelope) UnmarshalJSON

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

type ZoneTransferOutgoingUpdateResponseEnvelopeErrors added in v4.5.0

type ZoneTransferOutgoingUpdateResponseEnvelopeErrors struct {
	Code             int64                                                  `json:"code,required"`
	Message          string                                                 `json:"message,required"`
	DocumentationURL string                                                 `json:"documentation_url"`
	Source           ZoneTransferOutgoingUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferOutgoingUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingUpdateResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferOutgoingUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                                     `json:"pointer"`
	JSON    zoneTransferOutgoingUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingUpdateResponseEnvelopeMessages added in v4.5.0

type ZoneTransferOutgoingUpdateResponseEnvelopeMessages struct {
	Code             int64                                                    `json:"code,required"`
	Message          string                                                   `json:"message,required"`
	DocumentationURL string                                                   `json:"documentation_url"`
	Source           ZoneTransferOutgoingUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferOutgoingUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferOutgoingUpdateResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferOutgoingUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                                       `json:"pointer"`
	JSON    zoneTransferOutgoingUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferOutgoingUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

type ZoneTransferOutgoingUpdateResponseEnvelopeSuccess

type ZoneTransferOutgoingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferOutgoingUpdateResponseEnvelopeSuccessTrue ZoneTransferOutgoingUpdateResponseEnvelopeSuccess = true
)

func (ZoneTransferOutgoingUpdateResponseEnvelopeSuccess) IsKnown

type ZoneTransferPeerDeleteParams

type ZoneTransferPeerDeleteParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferPeerDeleteResponse

type ZoneTransferPeerDeleteResponse struct {
	ID   string                             `json:"id"`
	JSON zoneTransferPeerDeleteResponseJSON `json:"-"`
}

func (*ZoneTransferPeerDeleteResponse) UnmarshalJSON

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

type ZoneTransferPeerDeleteResponseEnvelope

type ZoneTransferPeerDeleteResponseEnvelope struct {
	Errors   []ZoneTransferPeerDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferPeerDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferPeerDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferPeerDeleteResponse                `json:"result"`
	JSON    zoneTransferPeerDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferPeerDeleteResponseEnvelope) UnmarshalJSON

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

type ZoneTransferPeerDeleteResponseEnvelopeErrors added in v4.5.0

type ZoneTransferPeerDeleteResponseEnvelopeErrors struct {
	Code             int64                                              `json:"code,required"`
	Message          string                                             `json:"message,required"`
	DocumentationURL string                                             `json:"documentation_url"`
	Source           ZoneTransferPeerDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferPeerDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferPeerDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerDeleteResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferPeerDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                                 `json:"pointer"`
	JSON    zoneTransferPeerDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferPeerDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerDeleteResponseEnvelopeMessages added in v4.5.0

type ZoneTransferPeerDeleteResponseEnvelopeMessages struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           ZoneTransferPeerDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferPeerDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferPeerDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerDeleteResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferPeerDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    zoneTransferPeerDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferPeerDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerDeleteResponseEnvelopeSuccess

type ZoneTransferPeerDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferPeerDeleteResponseEnvelopeSuccessTrue ZoneTransferPeerDeleteResponseEnvelopeSuccess = true
)

func (ZoneTransferPeerDeleteResponseEnvelopeSuccess) IsKnown

type ZoneTransferPeerGetParams

type ZoneTransferPeerGetParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferPeerGetResponseEnvelope

type ZoneTransferPeerGetResponseEnvelope struct {
	Errors   []ZoneTransferPeerGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferPeerGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferPeerGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Peer                                       `json:"result"`
	JSON    zoneTransferPeerGetResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferPeerGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferPeerGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferPeerGetResponseEnvelopeErrors struct {
	Code             int64                                           `json:"code,required"`
	Message          string                                          `json:"message,required"`
	DocumentationURL string                                          `json:"documentation_url"`
	Source           ZoneTransferPeerGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferPeerGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferPeerGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferPeerGetResponseEnvelopeErrorsSource struct {
	Pointer string                                              `json:"pointer"`
	JSON    zoneTransferPeerGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferPeerGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferPeerGetResponseEnvelopeMessages struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferPeerGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferPeerGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferPeerGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferPeerGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferPeerGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferPeerGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerGetResponseEnvelopeSuccess

type ZoneTransferPeerGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferPeerGetResponseEnvelopeSuccessTrue ZoneTransferPeerGetResponseEnvelopeSuccess = true
)

func (ZoneTransferPeerGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferPeerListParams

type ZoneTransferPeerListParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferPeerNewParams

type ZoneTransferPeerNewParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	// The name of the peer.
	Name param.Field[string] `json:"name,required"`
}

func (ZoneTransferPeerNewParams) MarshalJSON

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

type ZoneTransferPeerNewResponseEnvelope

type ZoneTransferPeerNewResponseEnvelope struct {
	Errors   []ZoneTransferPeerNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferPeerNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferPeerNewResponseEnvelopeSuccess `json:"success,required"`
	Result  Peer                                       `json:"result"`
	JSON    zoneTransferPeerNewResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferPeerNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferPeerNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferPeerNewResponseEnvelopeErrors struct {
	Code             int64                                           `json:"code,required"`
	Message          string                                          `json:"message,required"`
	DocumentationURL string                                          `json:"documentation_url"`
	Source           ZoneTransferPeerNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferPeerNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferPeerNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferPeerNewResponseEnvelopeErrorsSource struct {
	Pointer string                                              `json:"pointer"`
	JSON    zoneTransferPeerNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferPeerNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferPeerNewResponseEnvelopeMessages struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferPeerNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferPeerNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferPeerNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferPeerNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferPeerNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferPeerNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerNewResponseEnvelopeSuccess

type ZoneTransferPeerNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferPeerNewResponseEnvelopeSuccessTrue ZoneTransferPeerNewResponseEnvelopeSuccess = true
)

func (ZoneTransferPeerNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferPeerService

type ZoneTransferPeerService struct {
	Options []option.RequestOption
}

ZoneTransferPeerService 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 NewZoneTransferPeerService method instead.

func NewZoneTransferPeerService

func NewZoneTransferPeerService(opts ...option.RequestOption) (r *ZoneTransferPeerService)

NewZoneTransferPeerService 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 (*ZoneTransferPeerService) Delete

Delete Peer.

func (*ZoneTransferPeerService) Get

func (r *ZoneTransferPeerService) Get(ctx context.Context, peerID string, query ZoneTransferPeerGetParams, opts ...option.RequestOption) (res *Peer, err error)

Get Peer.

func (*ZoneTransferPeerService) List

List Peers.

func (*ZoneTransferPeerService) ListAutoPaging

List Peers.

func (*ZoneTransferPeerService) New

Create Peer.

func (*ZoneTransferPeerService) Update

func (r *ZoneTransferPeerService) Update(ctx context.Context, peerID string, params ZoneTransferPeerUpdateParams, opts ...option.RequestOption) (res *Peer, err error)

Modify Peer.

type ZoneTransferPeerUpdateParams

type ZoneTransferPeerUpdateParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	Peer      PeerParam           `json:"peer,required"`
}

func (ZoneTransferPeerUpdateParams) MarshalJSON

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

type ZoneTransferPeerUpdateResponseEnvelope

type ZoneTransferPeerUpdateResponseEnvelope struct {
	Errors   []ZoneTransferPeerUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferPeerUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferPeerUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  Peer                                          `json:"result"`
	JSON    zoneTransferPeerUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferPeerUpdateResponseEnvelope) UnmarshalJSON

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

type ZoneTransferPeerUpdateResponseEnvelopeErrors added in v4.5.0

type ZoneTransferPeerUpdateResponseEnvelopeErrors struct {
	Code             int64                                              `json:"code,required"`
	Message          string                                             `json:"message,required"`
	DocumentationURL string                                             `json:"documentation_url"`
	Source           ZoneTransferPeerUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferPeerUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferPeerUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerUpdateResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferPeerUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                                 `json:"pointer"`
	JSON    zoneTransferPeerUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferPeerUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerUpdateResponseEnvelopeMessages added in v4.5.0

type ZoneTransferPeerUpdateResponseEnvelopeMessages struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           ZoneTransferPeerUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferPeerUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferPeerUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerUpdateResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferPeerUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    zoneTransferPeerUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferPeerUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferPeerUpdateResponseEnvelopeSuccess

type ZoneTransferPeerUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferPeerUpdateResponseEnvelopeSuccessTrue ZoneTransferPeerUpdateResponseEnvelopeSuccess = true
)

func (ZoneTransferPeerUpdateResponseEnvelopeSuccess) IsKnown

type ZoneTransferService

ZoneTransferService 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 NewZoneTransferService method instead.

func NewZoneTransferService

func NewZoneTransferService(opts ...option.RequestOption) (r *ZoneTransferService)

NewZoneTransferService 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 ZoneTransferTSIGDeleteParams

type ZoneTransferTSIGDeleteParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferTSIGDeleteResponse

type ZoneTransferTSIGDeleteResponse struct {
	ID   string                             `json:"id"`
	JSON zoneTransferTSIGDeleteResponseJSON `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponse) UnmarshalJSON

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

type ZoneTransferTSIGDeleteResponseEnvelope

type ZoneTransferTSIGDeleteResponseEnvelope struct {
	Errors   []ZoneTransferTSIGDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferTSIGDeleteResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferTSIGDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ZoneTransferTSIGDeleteResponse                `json:"result"`
	JSON    zoneTransferTSIGDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponseEnvelope) UnmarshalJSON

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

type ZoneTransferTSIGDeleteResponseEnvelopeErrors added in v4.5.0

type ZoneTransferTSIGDeleteResponseEnvelopeErrors struct {
	Code             int64                                              `json:"code,required"`
	Message          string                                             `json:"message,required"`
	DocumentationURL string                                             `json:"documentation_url"`
	Source           ZoneTransferTSIGDeleteResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferTSIGDeleteResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGDeleteResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferTSIGDeleteResponseEnvelopeErrorsSource struct {
	Pointer string                                                 `json:"pointer"`
	JSON    zoneTransferTSIGDeleteResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGDeleteResponseEnvelopeMessages added in v4.5.0

type ZoneTransferTSIGDeleteResponseEnvelopeMessages struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           ZoneTransferTSIGDeleteResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferTSIGDeleteResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGDeleteResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferTSIGDeleteResponseEnvelopeMessagesSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    zoneTransferTSIGDeleteResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGDeleteResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGDeleteResponseEnvelopeSuccess

type ZoneTransferTSIGDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferTSIGDeleteResponseEnvelopeSuccessTrue ZoneTransferTSIGDeleteResponseEnvelopeSuccess = true
)

func (ZoneTransferTSIGDeleteResponseEnvelopeSuccess) IsKnown

type ZoneTransferTSIGGetParams

type ZoneTransferTSIGGetParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferTSIGGetResponseEnvelope

type ZoneTransferTSIGGetResponseEnvelope struct {
	Errors   []ZoneTransferTSIGGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferTSIGGetResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferTSIGGetResponseEnvelopeSuccess `json:"success,required"`
	Result  TSIG                                       `json:"result"`
	JSON    zoneTransferTSIGGetResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferTSIGGetResponseEnvelope) UnmarshalJSON

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

type ZoneTransferTSIGGetResponseEnvelopeErrors added in v4.5.0

type ZoneTransferTSIGGetResponseEnvelopeErrors struct {
	Code             int64                                           `json:"code,required"`
	Message          string                                          `json:"message,required"`
	DocumentationURL string                                          `json:"documentation_url"`
	Source           ZoneTransferTSIGGetResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferTSIGGetResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferTSIGGetResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGGetResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferTSIGGetResponseEnvelopeErrorsSource struct {
	Pointer string                                              `json:"pointer"`
	JSON    zoneTransferTSIGGetResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGGetResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGGetResponseEnvelopeMessages added in v4.5.0

type ZoneTransferTSIGGetResponseEnvelopeMessages struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferTSIGGetResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferTSIGGetResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferTSIGGetResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGGetResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferTSIGGetResponseEnvelopeMessagesSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferTSIGGetResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGGetResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGGetResponseEnvelopeSuccess

type ZoneTransferTSIGGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferTSIGGetResponseEnvelopeSuccessTrue ZoneTransferTSIGGetResponseEnvelopeSuccess = true
)

func (ZoneTransferTSIGGetResponseEnvelopeSuccess) IsKnown

type ZoneTransferTSIGListParams

type ZoneTransferTSIGListParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
}

type ZoneTransferTSIGNewParams

type ZoneTransferTSIGNewParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	TSIG      TSIGParam           `json:"tsig,required"`
}

func (ZoneTransferTSIGNewParams) MarshalJSON

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

type ZoneTransferTSIGNewResponseEnvelope

type ZoneTransferTSIGNewResponseEnvelope struct {
	Errors   []ZoneTransferTSIGNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferTSIGNewResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferTSIGNewResponseEnvelopeSuccess `json:"success,required"`
	Result  TSIG                                       `json:"result"`
	JSON    zoneTransferTSIGNewResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferTSIGNewResponseEnvelope) UnmarshalJSON

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

type ZoneTransferTSIGNewResponseEnvelopeErrors added in v4.5.0

type ZoneTransferTSIGNewResponseEnvelopeErrors struct {
	Code             int64                                           `json:"code,required"`
	Message          string                                          `json:"message,required"`
	DocumentationURL string                                          `json:"documentation_url"`
	Source           ZoneTransferTSIGNewResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferTSIGNewResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferTSIGNewResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGNewResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferTSIGNewResponseEnvelopeErrorsSource struct {
	Pointer string                                              `json:"pointer"`
	JSON    zoneTransferTSIGNewResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGNewResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGNewResponseEnvelopeMessages added in v4.5.0

type ZoneTransferTSIGNewResponseEnvelopeMessages struct {
	Code             int64                                             `json:"code,required"`
	Message          string                                            `json:"message,required"`
	DocumentationURL string                                            `json:"documentation_url"`
	Source           ZoneTransferTSIGNewResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferTSIGNewResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferTSIGNewResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGNewResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferTSIGNewResponseEnvelopeMessagesSource struct {
	Pointer string                                                `json:"pointer"`
	JSON    zoneTransferTSIGNewResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGNewResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGNewResponseEnvelopeSuccess

type ZoneTransferTSIGNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferTSIGNewResponseEnvelopeSuccessTrue ZoneTransferTSIGNewResponseEnvelopeSuccess = true
)

func (ZoneTransferTSIGNewResponseEnvelopeSuccess) IsKnown

type ZoneTransferTSIGService

type ZoneTransferTSIGService struct {
	Options []option.RequestOption
}

ZoneTransferTSIGService 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 NewZoneTransferTSIGService method instead.

func NewZoneTransferTSIGService

func NewZoneTransferTSIGService(opts ...option.RequestOption) (r *ZoneTransferTSIGService)

NewZoneTransferTSIGService 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 (*ZoneTransferTSIGService) Delete

Delete TSIG.

func (*ZoneTransferTSIGService) Get

func (r *ZoneTransferTSIGService) Get(ctx context.Context, tsigID string, query ZoneTransferTSIGGetParams, opts ...option.RequestOption) (res *TSIG, err error)

Get TSIG.

func (*ZoneTransferTSIGService) List

List TSIGs.

func (*ZoneTransferTSIGService) ListAutoPaging

List TSIGs.

func (*ZoneTransferTSIGService) New

Create TSIG.

func (*ZoneTransferTSIGService) Update

func (r *ZoneTransferTSIGService) Update(ctx context.Context, tsigID string, params ZoneTransferTSIGUpdateParams, opts ...option.RequestOption) (res *TSIG, err error)

Modify TSIG.

type ZoneTransferTSIGUpdateParams

type ZoneTransferTSIGUpdateParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	TSIG      TSIGParam           `json:"tsig,required"`
}

func (ZoneTransferTSIGUpdateParams) MarshalJSON

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

type ZoneTransferTSIGUpdateResponseEnvelope

type ZoneTransferTSIGUpdateResponseEnvelope struct {
	Errors   []ZoneTransferTSIGUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []ZoneTransferTSIGUpdateResponseEnvelopeMessages `json:"messages,required"`
	// Whether the API call was successful.
	Success ZoneTransferTSIGUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  TSIG                                          `json:"result"`
	JSON    zoneTransferTSIGUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*ZoneTransferTSIGUpdateResponseEnvelope) UnmarshalJSON

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

type ZoneTransferTSIGUpdateResponseEnvelopeErrors added in v4.5.0

type ZoneTransferTSIGUpdateResponseEnvelopeErrors struct {
	Code             int64                                              `json:"code,required"`
	Message          string                                             `json:"message,required"`
	DocumentationURL string                                             `json:"documentation_url"`
	Source           ZoneTransferTSIGUpdateResponseEnvelopeErrorsSource `json:"source"`
	JSON             zoneTransferTSIGUpdateResponseEnvelopeErrorsJSON   `json:"-"`
}

func (*ZoneTransferTSIGUpdateResponseEnvelopeErrors) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGUpdateResponseEnvelopeErrorsSource added in v4.5.0

type ZoneTransferTSIGUpdateResponseEnvelopeErrorsSource struct {
	Pointer string                                                 `json:"pointer"`
	JSON    zoneTransferTSIGUpdateResponseEnvelopeErrorsSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGUpdateResponseEnvelopeErrorsSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGUpdateResponseEnvelopeMessages added in v4.5.0

type ZoneTransferTSIGUpdateResponseEnvelopeMessages struct {
	Code             int64                                                `json:"code,required"`
	Message          string                                               `json:"message,required"`
	DocumentationURL string                                               `json:"documentation_url"`
	Source           ZoneTransferTSIGUpdateResponseEnvelopeMessagesSource `json:"source"`
	JSON             zoneTransferTSIGUpdateResponseEnvelopeMessagesJSON   `json:"-"`
}

func (*ZoneTransferTSIGUpdateResponseEnvelopeMessages) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGUpdateResponseEnvelopeMessagesSource added in v4.5.0

type ZoneTransferTSIGUpdateResponseEnvelopeMessagesSource struct {
	Pointer string                                                   `json:"pointer"`
	JSON    zoneTransferTSIGUpdateResponseEnvelopeMessagesSourceJSON `json:"-"`
}

func (*ZoneTransferTSIGUpdateResponseEnvelopeMessagesSource) UnmarshalJSON added in v4.5.0

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

type ZoneTransferTSIGUpdateResponseEnvelopeSuccess

type ZoneTransferTSIGUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	ZoneTransferTSIGUpdateResponseEnvelopeSuccessTrue ZoneTransferTSIGUpdateResponseEnvelopeSuccess = true
)

func (ZoneTransferTSIGUpdateResponseEnvelopeSuccess) IsKnown

Jump to

Keyboard shortcuts

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