dns

package
v2.0.0-beta.3 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnalyticsReportBytimeGetParams

type AnalyticsReportBytimeGetParams struct {
	// 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"
)

type AnalyticsReportBytimeGetResponseEnvelope

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

func (*AnalyticsReportBytimeGetResponseEnvelope) UnmarshalJSON

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

type AnalyticsReportBytimeGetResponseEnvelopeErrors

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

func (*AnalyticsReportBytimeGetResponseEnvelopeErrors) UnmarshalJSON

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

type AnalyticsReportBytimeGetResponseEnvelopeMessages

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

func (*AnalyticsReportBytimeGetResponseEnvelopeMessages) UnmarshalJSON

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

type AnalyticsReportBytimeGetResponseEnvelopeSuccess

type AnalyticsReportBytimeGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AnalyticsReportBytimeGetResponseEnvelopeSuccessTrue AnalyticsReportBytimeGetResponseEnvelopeSuccess = true
)

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 {
	// 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"`
	Result   DNSDNSAnalyticsAPIReport                     `json:"result,required"`
	// Whether the API call was successful
	Success AnalyticsReportGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    analyticsReportGetResponseEnvelopeJSON    `json:"-"`
}

func (*AnalyticsReportGetResponseEnvelope) UnmarshalJSON

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

type AnalyticsReportGetResponseEnvelopeErrors

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

func (*AnalyticsReportGetResponseEnvelopeErrors) UnmarshalJSON

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

type AnalyticsReportGetResponseEnvelopeMessages

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

func (*AnalyticsReportGetResponseEnvelopeMessages) UnmarshalJSON

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

type AnalyticsReportGetResponseEnvelopeSuccess

type AnalyticsReportGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AnalyticsReportGetResponseEnvelopeSuccessTrue AnalyticsReportGetResponseEnvelopeSuccess = true
)

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 DNSDNSAnalyticsAPIReport

type DNSDNSAnalyticsAPIReport struct {
	// Array with one row per combination of dimension values.
	Data []DNSDNSAnalyticsAPIReportData `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 DNSDNSAnalyticsAPIReportQuery `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   dnsdnsAnalyticsAPIReportJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReport) UnmarshalJSON

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

type DNSDNSAnalyticsAPIReportBytime

type DNSDNSAnalyticsAPIReportBytime struct {
	// Array with one row per combination of dimension values.
	Data []DNSDNSAnalyticsAPIReportBytimeData `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 DNSDNSAnalyticsAPIReportBytimeQuery `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   dnsdnsAnalyticsAPIReportBytimeJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReportBytime) UnmarshalJSON

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

type DNSDNSAnalyticsAPIReportBytimeData

type DNSDNSAnalyticsAPIReportBytimeData 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 [][]interface{}                        `json:"metrics,required"`
	JSON    dnsdnsAnalyticsAPIReportBytimeDataJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReportBytimeData) UnmarshalJSON

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

type DNSDNSAnalyticsAPIReportBytimeQuery

type DNSDNSAnalyticsAPIReportBytimeQuery 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 DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta `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 dnsdnsAnalyticsAPIReportBytimeQueryJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReportBytimeQuery) UnmarshalJSON

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

type DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta

type DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta string

Unit of time to group data by.

const (
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaAll        DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "all"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaAuto       DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "auto"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaYear       DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "year"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaQuarter    DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "quarter"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaMonth      DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "month"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaWeek       DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "week"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaDay        DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "day"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaHour       DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "hour"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaDekaminute DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "dekaminute"
	DNSDNSAnalyticsAPIReportBytimeQueryTimeDeltaMinute     DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta = "minute"
)

type DNSDNSAnalyticsAPIReportData

type DNSDNSAnalyticsAPIReportData 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    dnsdnsAnalyticsAPIReportDataJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReportData) UnmarshalJSON

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

type DNSDNSAnalyticsAPIReportQuery

type DNSDNSAnalyticsAPIReportQuery 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 dnsdnsAnalyticsAPIReportQueryJSON `json:"-"`
}

func (*DNSDNSAnalyticsAPIReportQuery) UnmarshalJSON

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

type DNSFirewallDNSFirewall

type DNSFirewallDNSFirewall struct {
	// Identifier
	ID string `json:"id,required"`
	// Deprecate the response to ANY requests.
	DeprecateAnyRequests bool                                  `json:"deprecate_any_requests,required"`
	DNSFirewallIPs       []DNSFirewallDNSFirewallDNSFirewallIP `json:"dns_firewall_ips,required" format:"ipv4"`
	// Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.
	EcsFallback bool `json:"ecs_fallback,required"`
	// Maximum DNS Cache TTL.
	MaximumCacheTTL float64 `json:"maximum_cache_ttl,required"`
	// Minimum DNS Cache TTL.
	MinimumCacheTTL float64 `json:"minimum_cache_ttl,required"`
	// Last modification of DNS Firewall cluster.
	ModifiedOn time.Time `json:"modified_on,required" format:"date-time"`
	// DNS Firewall Cluster Name.
	Name        string                             `json:"name,required"`
	UpstreamIPs []DNSFirewallDNSFirewallUpstreamIP `json:"upstream_ips,required" format:"ipv4"`
	// Attack mitigation settings.
	AttackMitigation DNSFirewallDNSFirewallAttackMitigation `json:"attack_mitigation,nullable"`
	// Negative DNS Cache TTL.
	NegativeCacheTTL float64 `json:"negative_cache_ttl,nullable"`
	// Deprecated alias for "upstream_ips".
	OriginIPs interface{} `json:"origin_ips"`
	// Ratelimit in queries per second per datacenter (applies to DNS queries sent to
	// the upstream nameservers configured on the cluster).
	Ratelimit float64 `json:"ratelimit,nullable"`
	// Number of retries for fetching DNS responses from upstream nameservers (not
	// counting the initial attempt).
	Retries float64                    `json:"retries"`
	JSON    dnsFirewallDNSFirewallJSON `json:"-"`
}

func (*DNSFirewallDNSFirewall) UnmarshalJSON

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

type DNSFirewallDNSFirewallAttackMitigation

type DNSFirewallDNSFirewallAttackMitigation struct {
	// When enabled, random-prefix attacks are automatically mitigated and the upstream
	// DNS servers protected.
	Enabled bool `json:"enabled"`
	// Deprecated alias for "only_when_upstream_unhealthy".
	OnlyWhenOriginUnhealthy interface{} `json:"only_when_origin_unhealthy"`
	// Only mitigate attacks when upstream servers seem unhealthy.
	OnlyWhenUpstreamUnhealthy bool                                       `json:"only_when_upstream_unhealthy"`
	JSON                      dnsFirewallDNSFirewallAttackMitigationJSON `json:"-"`
}

Attack mitigation settings.

func (*DNSFirewallDNSFirewallAttackMitigation) UnmarshalJSON

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

type DNSFirewallDNSFirewallDNSFirewallIP

type DNSFirewallDNSFirewallDNSFirewallIP interface {
	ImplementsDNSDNSFirewallDNSFirewallDNSFirewallIP()
}

Cloudflare-assigned DNS IPv4 Address.

Union satisfied by shared.UnionString or shared.UnionString.

type DNSFirewallDNSFirewallUpstreamIP

type DNSFirewallDNSFirewallUpstreamIP interface {
	ImplementsDNSDNSFirewallDNSFirewallUpstreamIP()
}

Upstream DNS Server IPv4 Address.

Union satisfied by shared.UnionString or shared.UnionString.

type DNSService

type DNSService struct {
	Options   []option.RequestOption
	Records   *RecordService
	Analytics *AnalyticsService
	Firewall  *FirewallService
}

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 Error

type Error = apierror.Error

type FirewallAnalyticsReportBytimeGetParams

type FirewallAnalyticsReportBytimeGetParams struct {
	// 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[FirewallAnalyticsReportBytimeGetParamsTimeDelta] `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 (FirewallAnalyticsReportBytimeGetParams) URLQuery

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

type FirewallAnalyticsReportBytimeGetParamsTimeDelta

type FirewallAnalyticsReportBytimeGetParamsTimeDelta string

Unit of time to group data by.

const (
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaAll        FirewallAnalyticsReportBytimeGetParamsTimeDelta = "all"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaAuto       FirewallAnalyticsReportBytimeGetParamsTimeDelta = "auto"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaYear       FirewallAnalyticsReportBytimeGetParamsTimeDelta = "year"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaQuarter    FirewallAnalyticsReportBytimeGetParamsTimeDelta = "quarter"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaMonth      FirewallAnalyticsReportBytimeGetParamsTimeDelta = "month"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaWeek       FirewallAnalyticsReportBytimeGetParamsTimeDelta = "week"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaDay        FirewallAnalyticsReportBytimeGetParamsTimeDelta = "day"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaHour       FirewallAnalyticsReportBytimeGetParamsTimeDelta = "hour"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaDekaminute FirewallAnalyticsReportBytimeGetParamsTimeDelta = "dekaminute"
	FirewallAnalyticsReportBytimeGetParamsTimeDeltaMinute     FirewallAnalyticsReportBytimeGetParamsTimeDelta = "minute"
)

type FirewallAnalyticsReportBytimeGetResponseEnvelope

type FirewallAnalyticsReportBytimeGetResponseEnvelope struct {
	Errors   []FirewallAnalyticsReportBytimeGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallAnalyticsReportBytimeGetResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSDNSAnalyticsAPIReportBytime                             `json:"result,required"`
	// Whether the API call was successful
	Success FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallAnalyticsReportBytimeGetResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallAnalyticsReportBytimeGetResponseEnvelope) UnmarshalJSON

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

type FirewallAnalyticsReportBytimeGetResponseEnvelopeErrors

type FirewallAnalyticsReportBytimeGetResponseEnvelopeErrors struct {
	Code    int64                                                      `json:"code,required"`
	Message string                                                     `json:"message,required"`
	JSON    firewallAnalyticsReportBytimeGetResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallAnalyticsReportBytimeGetResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallAnalyticsReportBytimeGetResponseEnvelopeMessages

type FirewallAnalyticsReportBytimeGetResponseEnvelopeMessages struct {
	Code    int64                                                        `json:"code,required"`
	Message string                                                       `json:"message,required"`
	JSON    firewallAnalyticsReportBytimeGetResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallAnalyticsReportBytimeGetResponseEnvelopeMessages) UnmarshalJSON

type FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccess

type FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccessTrue FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccess = true
)

type FirewallAnalyticsReportBytimeService

type FirewallAnalyticsReportBytimeService struct {
	Options []option.RequestOption
}

FirewallAnalyticsReportBytimeService 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 NewFirewallAnalyticsReportBytimeService method instead.

func NewFirewallAnalyticsReportBytimeService

func NewFirewallAnalyticsReportBytimeService(opts ...option.RequestOption) (r *FirewallAnalyticsReportBytimeService)

NewFirewallAnalyticsReportBytimeService 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 (*FirewallAnalyticsReportBytimeService) 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 FirewallAnalyticsReportGetParams

type FirewallAnalyticsReportGetParams struct {
	// 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 (FirewallAnalyticsReportGetParams) URLQuery

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

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

type FirewallAnalyticsReportGetResponseEnvelope

type FirewallAnalyticsReportGetResponseEnvelope struct {
	Errors   []FirewallAnalyticsReportGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallAnalyticsReportGetResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSDNSAnalyticsAPIReport                             `json:"result,required"`
	// Whether the API call was successful
	Success FirewallAnalyticsReportGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallAnalyticsReportGetResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallAnalyticsReportGetResponseEnvelope) UnmarshalJSON

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

type FirewallAnalyticsReportGetResponseEnvelopeErrors

type FirewallAnalyticsReportGetResponseEnvelopeErrors struct {
	Code    int64                                                `json:"code,required"`
	Message string                                               `json:"message,required"`
	JSON    firewallAnalyticsReportGetResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallAnalyticsReportGetResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallAnalyticsReportGetResponseEnvelopeMessages

type FirewallAnalyticsReportGetResponseEnvelopeMessages struct {
	Code    int64                                                  `json:"code,required"`
	Message string                                                 `json:"message,required"`
	JSON    firewallAnalyticsReportGetResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallAnalyticsReportGetResponseEnvelopeMessages) UnmarshalJSON

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

type FirewallAnalyticsReportGetResponseEnvelopeSuccess

type FirewallAnalyticsReportGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallAnalyticsReportGetResponseEnvelopeSuccessTrue FirewallAnalyticsReportGetResponseEnvelopeSuccess = true
)

type FirewallAnalyticsReportService

type FirewallAnalyticsReportService struct {
	Options []option.RequestOption
	Bytimes *FirewallAnalyticsReportBytimeService
}

FirewallAnalyticsReportService 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 NewFirewallAnalyticsReportService method instead.

func NewFirewallAnalyticsReportService

func NewFirewallAnalyticsReportService(opts ...option.RequestOption) (r *FirewallAnalyticsReportService)

NewFirewallAnalyticsReportService 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 (*FirewallAnalyticsReportService) 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 FirewallAnalyticsService

type FirewallAnalyticsService struct {
	Options []option.RequestOption
	Reports *FirewallAnalyticsReportService
}

FirewallAnalyticsService 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 NewFirewallAnalyticsService method instead.

func NewFirewallAnalyticsService

func NewFirewallAnalyticsService(opts ...option.RequestOption) (r *FirewallAnalyticsService)

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

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

type FirewallDeleteResponse

type FirewallDeleteResponse struct {
	// Identifier
	ID   string                     `json:"id"`
	JSON firewallDeleteResponseJSON `json:"-"`
}

func (*FirewallDeleteResponse) UnmarshalJSON

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

type FirewallDeleteResponseEnvelope

type FirewallDeleteResponseEnvelope struct {
	Errors   []FirewallDeleteResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallDeleteResponseEnvelopeMessages `json:"messages,required"`
	Result   FirewallDeleteResponse                   `json:"result,required"`
	// Whether the API call was successful
	Success FirewallDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallDeleteResponseEnvelope) UnmarshalJSON

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

type FirewallDeleteResponseEnvelopeErrors

type FirewallDeleteResponseEnvelopeErrors struct {
	Code    int64                                    `json:"code,required"`
	Message string                                   `json:"message,required"`
	JSON    firewallDeleteResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallDeleteResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallDeleteResponseEnvelopeMessages

type FirewallDeleteResponseEnvelopeMessages struct {
	Code    int64                                      `json:"code,required"`
	Message string                                     `json:"message,required"`
	JSON    firewallDeleteResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallDeleteResponseEnvelopeMessages) UnmarshalJSON

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

type FirewallDeleteResponseEnvelopeSuccess

type FirewallDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallDeleteResponseEnvelopeSuccessTrue FirewallDeleteResponseEnvelopeSuccess = true
)

type FirewallEditParams

type FirewallEditParams struct {
	// Identifier
	AccountID param.Field[string] `path:"account_id,required"`
	// Deprecate the response to ANY requests.
	DeprecateAnyRequests param.Field[bool]                              `json:"deprecate_any_requests,required"`
	DNSFirewallIPs       param.Field[[]FirewallEditParamsDNSFirewallIP] `json:"dns_firewall_ips,required" format:"ipv4"`
	// Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.
	EcsFallback param.Field[bool] `json:"ecs_fallback,required"`
	// Maximum DNS Cache TTL.
	MaximumCacheTTL param.Field[float64] `json:"maximum_cache_ttl,required"`
	// Minimum DNS Cache TTL.
	MinimumCacheTTL param.Field[float64] `json:"minimum_cache_ttl,required"`
	// DNS Firewall Cluster Name.
	Name        param.Field[string]                         `json:"name,required"`
	UpstreamIPs param.Field[[]FirewallEditParamsUpstreamIP] `json:"upstream_ips,required" format:"ipv4"`
	// Attack mitigation settings.
	AttackMitigation param.Field[FirewallEditParamsAttackMitigation] `json:"attack_mitigation"`
	// Negative DNS Cache TTL.
	NegativeCacheTTL param.Field[float64] `json:"negative_cache_ttl"`
	// Deprecated alias for "upstream_ips".
	OriginIPs param.Field[interface{}] `json:"origin_ips"`
	// Ratelimit in queries per second per datacenter (applies to DNS queries sent to
	// the upstream nameservers configured on the cluster).
	Ratelimit param.Field[float64] `json:"ratelimit"`
	// Number of retries for fetching DNS responses from upstream nameservers (not
	// counting the initial attempt).
	Retries param.Field[float64] `json:"retries"`
}

func (FirewallEditParams) MarshalJSON

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

type FirewallEditParamsAttackMitigation

type FirewallEditParamsAttackMitigation struct {
	// When enabled, random-prefix attacks are automatically mitigated and the upstream
	// DNS servers protected.
	Enabled param.Field[bool] `json:"enabled"`
	// Deprecated alias for "only_when_upstream_unhealthy".
	OnlyWhenOriginUnhealthy param.Field[interface{}] `json:"only_when_origin_unhealthy"`
	// Only mitigate attacks when upstream servers seem unhealthy.
	OnlyWhenUpstreamUnhealthy param.Field[bool] `json:"only_when_upstream_unhealthy"`
}

Attack mitigation settings.

func (FirewallEditParamsAttackMitigation) MarshalJSON

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

type FirewallEditParamsDNSFirewallIP

type FirewallEditParamsDNSFirewallIP interface {
	ImplementsDNSFirewallEditParamsDNSFirewallIP()
}

Cloudflare-assigned DNS IPv4 Address.

Satisfied by shared.UnionString, shared.UnionString.

type FirewallEditParamsUpstreamIP

type FirewallEditParamsUpstreamIP interface {
	ImplementsDNSFirewallEditParamsUpstreamIP()
}

Upstream DNS Server IPv4 Address.

Satisfied by shared.UnionString, shared.UnionString.

type FirewallEditResponseEnvelope

type FirewallEditResponseEnvelope struct {
	Errors   []FirewallEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallEditResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSFirewallDNSFirewall                 `json:"result,required"`
	// Whether the API call was successful
	Success FirewallEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallEditResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallEditResponseEnvelope) UnmarshalJSON

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

type FirewallEditResponseEnvelopeErrors

type FirewallEditResponseEnvelopeErrors struct {
	Code    int64                                  `json:"code,required"`
	Message string                                 `json:"message,required"`
	JSON    firewallEditResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallEditResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallEditResponseEnvelopeMessages

type FirewallEditResponseEnvelopeMessages struct {
	Code    int64                                    `json:"code,required"`
	Message string                                   `json:"message,required"`
	JSON    firewallEditResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallEditResponseEnvelopeMessages) UnmarshalJSON

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

type FirewallEditResponseEnvelopeSuccess

type FirewallEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallEditResponseEnvelopeSuccessTrue FirewallEditResponseEnvelopeSuccess = true
)

type FirewallGetParams

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

type FirewallGetResponseEnvelope

type FirewallGetResponseEnvelope struct {
	Errors   []FirewallGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallGetResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSFirewallDNSFirewall                `json:"result,required"`
	// Whether the API call was successful
	Success FirewallGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallGetResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallGetResponseEnvelope) UnmarshalJSON

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

type FirewallGetResponseEnvelopeErrors

type FirewallGetResponseEnvelopeErrors struct {
	Code    int64                                 `json:"code,required"`
	Message string                                `json:"message,required"`
	JSON    firewallGetResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallGetResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallGetResponseEnvelopeMessages

type FirewallGetResponseEnvelopeMessages struct {
	Code    int64                                   `json:"code,required"`
	Message string                                  `json:"message,required"`
	JSON    firewallGetResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallGetResponseEnvelopeMessages) UnmarshalJSON

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

type FirewallGetResponseEnvelopeSuccess

type FirewallGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallGetResponseEnvelopeSuccessTrue FirewallGetResponseEnvelopeSuccess = true
)

type FirewallListParams

type FirewallListParams struct {
	// Identifier
	AccountID param.Field[string] `path:"account_id,required"`
	// Page number of paginated results.
	Page param.Field[float64] `query:"page"`
	// Number of clusters per page.
	PerPage param.Field[float64] `query:"per_page"`
}

func (FirewallListParams) URLQuery

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

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

type FirewallNewParams

type FirewallNewParams struct {
	// Identifier
	AccountID param.Field[string] `path:"account_id,required"`
	// DNS Firewall Cluster Name.
	Name        param.Field[string]                        `json:"name,required"`
	UpstreamIPs param.Field[[]FirewallNewParamsUpstreamIP] `json:"upstream_ips,required" format:"ipv4"`
	// Attack mitigation settings.
	AttackMitigation param.Field[FirewallNewParamsAttackMitigation] `json:"attack_mitigation"`
	// Deprecate the response to ANY requests.
	DeprecateAnyRequests param.Field[bool] `json:"deprecate_any_requests"`
	// Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.
	EcsFallback param.Field[bool] `json:"ecs_fallback"`
	// Maximum DNS Cache TTL.
	MaximumCacheTTL param.Field[float64] `json:"maximum_cache_ttl"`
	// Minimum DNS Cache TTL.
	MinimumCacheTTL param.Field[float64] `json:"minimum_cache_ttl"`
	// Negative DNS Cache TTL.
	NegativeCacheTTL param.Field[float64] `json:"negative_cache_ttl"`
	// Deprecated alias for "upstream_ips".
	OriginIPs param.Field[interface{}] `json:"origin_ips"`
	// Ratelimit in queries per second per datacenter (applies to DNS queries sent to
	// the upstream nameservers configured on the cluster).
	Ratelimit param.Field[float64] `json:"ratelimit"`
	// Number of retries for fetching DNS responses from upstream nameservers (not
	// counting the initial attempt).
	Retries param.Field[float64] `json:"retries"`
}

func (FirewallNewParams) MarshalJSON

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

type FirewallNewParamsAttackMitigation

type FirewallNewParamsAttackMitigation struct {
	// When enabled, random-prefix attacks are automatically mitigated and the upstream
	// DNS servers protected.
	Enabled param.Field[bool] `json:"enabled"`
	// Deprecated alias for "only_when_upstream_unhealthy".
	OnlyWhenOriginUnhealthy param.Field[interface{}] `json:"only_when_origin_unhealthy"`
	// Only mitigate attacks when upstream servers seem unhealthy.
	OnlyWhenUpstreamUnhealthy param.Field[bool] `json:"only_when_upstream_unhealthy"`
}

Attack mitigation settings.

func (FirewallNewParamsAttackMitigation) MarshalJSON

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

type FirewallNewParamsUpstreamIP

type FirewallNewParamsUpstreamIP interface {
	ImplementsDNSFirewallNewParamsUpstreamIP()
}

Upstream DNS Server IPv4 Address.

Satisfied by shared.UnionString, shared.UnionString.

type FirewallNewResponseEnvelope

type FirewallNewResponseEnvelope struct {
	Errors   []FirewallNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []FirewallNewResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSFirewallDNSFirewall                `json:"result,required"`
	// Whether the API call was successful
	Success FirewallNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    firewallNewResponseEnvelopeJSON    `json:"-"`
}

func (*FirewallNewResponseEnvelope) UnmarshalJSON

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

type FirewallNewResponseEnvelopeErrors

type FirewallNewResponseEnvelopeErrors struct {
	Code    int64                                 `json:"code,required"`
	Message string                                `json:"message,required"`
	JSON    firewallNewResponseEnvelopeErrorsJSON `json:"-"`
}

func (*FirewallNewResponseEnvelopeErrors) UnmarshalJSON

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

type FirewallNewResponseEnvelopeMessages

type FirewallNewResponseEnvelopeMessages struct {
	Code    int64                                   `json:"code,required"`
	Message string                                  `json:"message,required"`
	JSON    firewallNewResponseEnvelopeMessagesJSON `json:"-"`
}

func (*FirewallNewResponseEnvelopeMessages) UnmarshalJSON

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

type FirewallNewResponseEnvelopeSuccess

type FirewallNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	FirewallNewResponseEnvelopeSuccessTrue FirewallNewResponseEnvelopeSuccess = true
)

type FirewallService

type FirewallService struct {
	Options   []option.RequestOption
	Analytics *FirewallAnalyticsService
}

FirewallService 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 NewFirewallService method instead.

func NewFirewallService

func NewFirewallService(opts ...option.RequestOption) (r *FirewallService)

NewFirewallService 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 (*FirewallService) Delete

func (r *FirewallService) Delete(ctx context.Context, dnsFirewallID string, body FirewallDeleteParams, opts ...option.RequestOption) (res *FirewallDeleteResponse, err error)

Delete a configured DNS Firewall Cluster.

func (*FirewallService) Edit

func (r *FirewallService) Edit(ctx context.Context, dnsFirewallID string, params FirewallEditParams, opts ...option.RequestOption) (res *DNSFirewallDNSFirewall, err error)

Modify a DNS Firewall Cluster configuration.

func (*FirewallService) Get

func (r *FirewallService) Get(ctx context.Context, dnsFirewallID string, query FirewallGetParams, opts ...option.RequestOption) (res *DNSFirewallDNSFirewall, err error)

Show a single configured DNS Firewall cluster for an account.

func (*FirewallService) List

List configured DNS Firewall clusters for an account.

func (*FirewallService) ListAutoPaging

List configured DNS Firewall clusters for an account.

func (*FirewallService) New

Create a configured DNS Firewall Cluster.

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"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string]               `json:"comment"`
	Data    param.Field[RecordEditParamsData] `json:"data"`
	Meta    param.Field[RecordEditParamsMeta] `json:"meta"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]string] `json:"tags"`
	// 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[RecordEditParamsTTL] `json:"ttl"`
}

func (RecordEditParams) MarshalJSON

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

type RecordEditParamsData

type RecordEditParamsData struct {
	// algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// certificate.
	Certificate param.Field[string] `json:"certificate"`
	// The record content.
	Content param.Field[string] `json:"content"`
	// Digest.
	Digest param.Field[string] `json:"digest"`
	// Digest Type.
	DigestType param.Field[float64] `json:"digest_type"`
	// fingerprint.
	Fingerprint param.Field[string] `json:"fingerprint"`
	// Flags.
	Flags param.Field[string] `json:"flags"`
	// Key Tag.
	KeyTag param.Field[float64] `json:"key_tag"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordEditParamsDataLatDirection] `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[RecordEditParamsDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Matching Type.
	MatchingType param.Field[float64] `json:"matching_type"`
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name param.Field[string] `json:"name" format:"hostname"`
	// Order.
	Order param.Field[float64] `json:"order"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Preference.
	Preference param.Field[float64] `json:"preference"`
	// priority.
	Priority param.Field[float64] `json:"priority"`
	// A valid protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto param.Field[string] `json:"proto"`
	// Protocol.
	Protocol param.Field[float64] `json:"protocol"`
	// Public Key.
	PublicKey param.Field[string] `json:"public_key"`
	// Regex.
	Regex param.Field[string] `json:"regex"`
	// Replacement.
	Replacement param.Field[string] `json:"replacement"`
	// Selector.
	Selector param.Field[float64] `json:"selector"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service param.Field[string] `json:"service"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
	// Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
	Tag param.Field[string] `json:"tag"`
	// target.
	Target param.Field[string] `json:"target"`
	// type.
	Type param.Field[float64] `json:"type"`
	// Usage.
	Usage param.Field[float64] `json:"usage"`
	// value.
	Value param.Field[string] `json:"value"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

func (RecordEditParamsData) MarshalJSON

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

type RecordEditParamsDataLatDirection

type RecordEditParamsDataLatDirection string

Latitude direction.

const (
	RecordEditParamsDataLatDirectionN RecordEditParamsDataLatDirection = "N"
	RecordEditParamsDataLatDirectionS RecordEditParamsDataLatDirection = "S"
)

type RecordEditParamsDataLongDirection

type RecordEditParamsDataLongDirection string

Longitude direction.

const (
	RecordEditParamsDataLongDirectionE RecordEditParamsDataLongDirection = "E"
	RecordEditParamsDataLongDirectionW RecordEditParamsDataLongDirection = "W"
)

type RecordEditParamsMeta

type RecordEditParamsMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded param.Field[bool] `json:"auto_added"`
	// Where the record originated from.
	Source param.Field[string] `json:"source"`
}

func (RecordEditParamsMeta) MarshalJSON

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

type RecordEditParamsTTL

type RecordEditParamsTTL interface {
	ImplementsDNSRecordEditParamsTTL()
}

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.

Satisfied by shared.UnionFloat, dns.RecordEditParamsTTLNumber.

type RecordEditParamsTTLNumber

type RecordEditParamsTTLNumber float64
const (
	RecordEditParamsTTLNumber1 RecordEditParamsTTLNumber = 1
)

type RecordEditParamsType

type RecordEditParamsType string

Record type.

const (
	RecordEditParamsTypeURI RecordEditParamsType = "URI"
)

type RecordEditResponseA

type RecordEditResponseA struct {
	// A valid IPv4 address.
	Content string `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseAJSON `json:"-"`
}

func (*RecordEditResponseA) UnmarshalJSON

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

type RecordEditResponseAAAA

type RecordEditResponseAAAA struct {
	// A valid IPv6 address.
	Content string `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseAAAAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseAAAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseAAAAJSON `json:"-"`
}

func (*RecordEditResponseAAAA) UnmarshalJSON

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

type RecordEditResponseAAAAMeta

type RecordEditResponseAAAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordEditResponseAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseAAAAMeta) UnmarshalJSON

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

type RecordEditResponseAAAATTL

type RecordEditResponseAAAATTL interface {
	ImplementsDNSRecordEditResponseAaaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseAAAATTLNumber.

type RecordEditResponseAAAATTLNumber

type RecordEditResponseAAAATTLNumber float64
const (
	RecordEditResponseAAAATTLNumber1 RecordEditResponseAAAATTLNumber = 1
)

type RecordEditResponseAAAAType

type RecordEditResponseAAAAType string

Record type.

const (
	RecordEditResponseAAAATypeAAAA RecordEditResponseAAAAType = "AAAA"
)

type RecordEditResponseAMeta

type RecordEditResponseAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordEditResponseAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseAMeta) UnmarshalJSON

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

type RecordEditResponseATTL

type RecordEditResponseATTL interface {
	ImplementsDNSRecordEditResponseAttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseATTLNumber.

type RecordEditResponseATTLNumber

type RecordEditResponseATTLNumber float64
const (
	RecordEditResponseATTLNumber1 RecordEditResponseATTLNumber = 1
)

type RecordEditResponseAType

type RecordEditResponseAType string

Record type.

const (
	RecordEditResponseATypeA RecordEditResponseAType = "A"
)

type RecordEditResponseCAA

type RecordEditResponseCAA struct {
	// Components of a CAA record.
	Data RecordEditResponseCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseCAAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseCAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseCAAJSON `json:"-"`
}

func (*RecordEditResponseCAA) UnmarshalJSON

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

type RecordEditResponseCAAData

type RecordEditResponseCAAData 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  recordEditResponseCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*RecordEditResponseCAAData) UnmarshalJSON

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

type RecordEditResponseCAAMeta

type RecordEditResponseCAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponseCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseCAAMeta) UnmarshalJSON

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

type RecordEditResponseCAATTL

type RecordEditResponseCAATTL interface {
	ImplementsDNSRecordEditResponseCaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseCAATTLNumber.

type RecordEditResponseCAATTLNumber

type RecordEditResponseCAATTLNumber float64
const (
	RecordEditResponseCAATTLNumber1 RecordEditResponseCAATTLNumber = 1
)

type RecordEditResponseCAAType

type RecordEditResponseCAAType string

Record type.

const (
	RecordEditResponseCAATypeCAA RecordEditResponseCAAType = "CAA"
)

type RecordEditResponseCNAME

type RecordEditResponseCNAME struct {
	// A valid hostname. Must not match the record's name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseCNAMEType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseCNAMEMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseCNAMEJSON `json:"-"`
}

func (*RecordEditResponseCNAME) UnmarshalJSON

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

type RecordEditResponseCNAMEMeta

type RecordEditResponseCNAMEMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordEditResponseCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseCNAMEMeta) UnmarshalJSON

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

type RecordEditResponseCNAMETTL

type RecordEditResponseCNAMETTL interface {
	ImplementsDNSRecordEditResponseCnamettl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseCNAMETTLNumber.

type RecordEditResponseCNAMETTLNumber

type RecordEditResponseCNAMETTLNumber float64
const (
	RecordEditResponseCNAMETTLNumber1 RecordEditResponseCNAMETTLNumber = 1
)

type RecordEditResponseCNAMEType

type RecordEditResponseCNAMEType string

Record type.

const (
	RecordEditResponseCNAMETypeCNAME RecordEditResponseCNAMEType = "CNAME"
)

type RecordEditResponseCert

type RecordEditResponseCert struct {
	// Components of a CERT record.
	Data RecordEditResponseCertData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseCertType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseCertMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseCertTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseCertJSON `json:"-"`
}

func (*RecordEditResponseCert) UnmarshalJSON

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

type RecordEditResponseCertData

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

Components of a CERT record.

func (*RecordEditResponseCertData) UnmarshalJSON

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

type RecordEditResponseCertMeta

type RecordEditResponseCertMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordEditResponseCertMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseCertMeta) UnmarshalJSON

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

type RecordEditResponseCertTTL

type RecordEditResponseCertTTL interface {
	ImplementsDNSRecordEditResponseCertTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseCertTTLNumber.

type RecordEditResponseCertTTLNumber

type RecordEditResponseCertTTLNumber float64
const (
	RecordEditResponseCertTTLNumber1 RecordEditResponseCertTTLNumber = 1
)

type RecordEditResponseCertType

type RecordEditResponseCertType string

Record type.

const (
	RecordEditResponseCertTypeCert RecordEditResponseCertType = "CERT"
)

type RecordEditResponseDNSKEY

type RecordEditResponseDNSKEY struct {
	// Components of a DNSKEY record.
	Data RecordEditResponseDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseDNSKEYType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseDNSKEYMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseDNSKEYJSON `json:"-"`
}

func (*RecordEditResponseDNSKEY) UnmarshalJSON

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

type RecordEditResponseDNSKEYData

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

Components of a DNSKEY record.

func (*RecordEditResponseDNSKEYData) UnmarshalJSON

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

type RecordEditResponseDNSKEYMeta

type RecordEditResponseDNSKEYMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordEditResponseDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseDNSKEYMeta) UnmarshalJSON

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

type RecordEditResponseDNSKEYTTL

type RecordEditResponseDNSKEYTTL interface {
	ImplementsDNSRecordEditResponseDnskeyttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseDNSKEYTTLNumber.

type RecordEditResponseDNSKEYTTLNumber

type RecordEditResponseDNSKEYTTLNumber float64
const (
	RecordEditResponseDNSKEYTTLNumber1 RecordEditResponseDNSKEYTTLNumber = 1
)

type RecordEditResponseDNSKEYType

type RecordEditResponseDNSKEYType string

Record type.

const (
	RecordEditResponseDNSKEYTypeDNSKEY RecordEditResponseDNSKEYType = "DNSKEY"
)

type RecordEditResponseDS

type RecordEditResponseDS struct {
	// Components of a DS record.
	Data RecordEditResponseDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseDSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseDSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseDSJSON `json:"-"`
}

func (*RecordEditResponseDS) UnmarshalJSON

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

type RecordEditResponseDSData

type RecordEditResponseDSData 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   recordEditResponseDSDataJSON `json:"-"`
}

Components of a DS record.

func (*RecordEditResponseDSData) UnmarshalJSON

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

type RecordEditResponseDSMeta

type RecordEditResponseDSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordEditResponseDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseDSMeta) UnmarshalJSON

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

type RecordEditResponseDSTTL

type RecordEditResponseDSTTL interface {
	ImplementsDNSRecordEditResponseDsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseDSTTLNumber.

type RecordEditResponseDSTTLNumber

type RecordEditResponseDSTTLNumber float64
const (
	RecordEditResponseDSTTLNumber1 RecordEditResponseDSTTLNumber = 1
)

type RecordEditResponseDSType

type RecordEditResponseDSType string

Record type.

const (
	RecordEditResponseDSTypeDS RecordEditResponseDSType = "DS"
)

type RecordEditResponseEnvelope

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

func (*RecordEditResponseEnvelope) UnmarshalJSON

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

type RecordEditResponseEnvelopeErrors

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

func (*RecordEditResponseEnvelopeErrors) UnmarshalJSON

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

type RecordEditResponseEnvelopeMessages

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

func (*RecordEditResponseEnvelopeMessages) UnmarshalJSON

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

type RecordEditResponseEnvelopeSuccess

type RecordEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordEditResponseEnvelopeSuccessTrue RecordEditResponseEnvelopeSuccess = true
)

type RecordEditResponseHTTPS

type RecordEditResponseHTTPS struct {
	// Components of a HTTPS record.
	Data RecordEditResponseHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseHTTPSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseHTTPSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseHTTPSJSON `json:"-"`
}

func (*RecordEditResponseHTTPS) UnmarshalJSON

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

type RecordEditResponseHTTPSData

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

Components of a HTTPS record.

func (*RecordEditResponseHTTPSData) UnmarshalJSON

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

type RecordEditResponseHTTPSMeta

type RecordEditResponseHTTPSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordEditResponseHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseHTTPSMeta) UnmarshalJSON

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

type RecordEditResponseHTTPSTTL

type RecordEditResponseHTTPSTTL interface {
	ImplementsDNSRecordEditResponseHttpsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseHTTPSTTLNumber.

type RecordEditResponseHTTPSTTLNumber

type RecordEditResponseHTTPSTTLNumber float64
const (
	RecordEditResponseHTTPSTTLNumber1 RecordEditResponseHTTPSTTLNumber = 1
)

type RecordEditResponseHTTPSType

type RecordEditResponseHTTPSType string

Record type.

const (
	RecordEditResponseHTTPSTypeHTTPS RecordEditResponseHTTPSType = "HTTPS"
)

type RecordEditResponseLOC

type RecordEditResponseLOC struct {
	// Components of a LOC record.
	Data RecordEditResponseLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseLOCType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseLOCMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseLOCJSON `json:"-"`
}

func (*RecordEditResponseLOC) UnmarshalJSON

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

type RecordEditResponseLOCData

type RecordEditResponseLOCData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection RecordEditResponseLOCDataLatDirection `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 RecordEditResponseLOCDataLongDirection `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 recordEditResponseLOCDataJSON `json:"-"`
}

Components of a LOC record.

func (*RecordEditResponseLOCData) UnmarshalJSON

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

type RecordEditResponseLOCDataLatDirection

type RecordEditResponseLOCDataLatDirection string

Latitude direction.

const (
	RecordEditResponseLOCDataLatDirectionN RecordEditResponseLOCDataLatDirection = "N"
	RecordEditResponseLOCDataLatDirectionS RecordEditResponseLOCDataLatDirection = "S"
)

type RecordEditResponseLOCDataLongDirection

type RecordEditResponseLOCDataLongDirection string

Longitude direction.

const (
	RecordEditResponseLOCDataLongDirectionE RecordEditResponseLOCDataLongDirection = "E"
	RecordEditResponseLOCDataLongDirectionW RecordEditResponseLOCDataLongDirection = "W"
)

type RecordEditResponseLOCMeta

type RecordEditResponseLOCMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponseLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseLOCMeta) UnmarshalJSON

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

type RecordEditResponseLOCTTL

type RecordEditResponseLOCTTL interface {
	ImplementsDNSRecordEditResponseLocttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseLOCTTLNumber.

type RecordEditResponseLOCTTLNumber

type RecordEditResponseLOCTTLNumber float64
const (
	RecordEditResponseLOCTTLNumber1 RecordEditResponseLOCTTLNumber = 1
)

type RecordEditResponseLOCType

type RecordEditResponseLOCType string

Record type.

const (
	RecordEditResponseLOCTypeLOC RecordEditResponseLOCType = "LOC"
)

type RecordEditResponseMX

type RecordEditResponseMX struct {
	// A valid mail server hostname.
	Content string `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordEditResponseMXType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseMXMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseMXJSON `json:"-"`
}

func (*RecordEditResponseMX) UnmarshalJSON

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

type RecordEditResponseMXMeta

type RecordEditResponseMXMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordEditResponseMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseMXMeta) UnmarshalJSON

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

type RecordEditResponseMXTTL

type RecordEditResponseMXTTL interface {
	ImplementsDNSRecordEditResponseMxttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseMXTTLNumber.

type RecordEditResponseMXTTLNumber

type RecordEditResponseMXTTLNumber float64
const (
	RecordEditResponseMXTTLNumber1 RecordEditResponseMXTTLNumber = 1
)

type RecordEditResponseMXType

type RecordEditResponseMXType string

Record type.

const (
	RecordEditResponseMXTypeMX RecordEditResponseMXType = "MX"
)

type RecordEditResponseNAPTR

type RecordEditResponseNAPTR struct {
	// Components of a NAPTR record.
	Data RecordEditResponseNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseNAPTRType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseNAPTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseNAPTRJSON `json:"-"`
}

func (*RecordEditResponseNAPTR) UnmarshalJSON

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

type RecordEditResponseNAPTRData

type RecordEditResponseNAPTRData 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    recordEditResponseNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*RecordEditResponseNAPTRData) UnmarshalJSON

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

type RecordEditResponseNAPTRMeta

type RecordEditResponseNAPTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordEditResponseNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseNAPTRMeta) UnmarshalJSON

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

type RecordEditResponseNAPTRTTL

type RecordEditResponseNAPTRTTL interface {
	ImplementsDNSRecordEditResponseNaptrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseNAPTRTTLNumber.

type RecordEditResponseNAPTRTTLNumber

type RecordEditResponseNAPTRTTLNumber float64
const (
	RecordEditResponseNAPTRTTLNumber1 RecordEditResponseNAPTRTTLNumber = 1
)

type RecordEditResponseNAPTRType

type RecordEditResponseNAPTRType string

Record type.

const (
	RecordEditResponseNAPTRTypeNAPTR RecordEditResponseNAPTRType = "NAPTR"
)

type RecordEditResponseNS

type RecordEditResponseNS struct {
	// A valid name server host name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseNSType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseNSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseNSJSON `json:"-"`
}

func (*RecordEditResponseNS) UnmarshalJSON

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

type RecordEditResponseNSMeta

type RecordEditResponseNSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordEditResponseNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseNSMeta) UnmarshalJSON

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

type RecordEditResponseNSTTL

type RecordEditResponseNSTTL interface {
	ImplementsDNSRecordEditResponseNsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseNSTTLNumber.

type RecordEditResponseNSTTLNumber

type RecordEditResponseNSTTLNumber float64
const (
	RecordEditResponseNSTTLNumber1 RecordEditResponseNSTTLNumber = 1
)

type RecordEditResponseNSType

type RecordEditResponseNSType string

Record type.

const (
	RecordEditResponseNSTypeNS RecordEditResponseNSType = "NS"
)

type RecordEditResponsePTR

type RecordEditResponsePTR struct {
	// Domain name pointing to the address.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponsePTRType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponsePTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponsePTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponsePTRJSON `json:"-"`
}

func (*RecordEditResponsePTR) UnmarshalJSON

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

type RecordEditResponsePTRMeta

type RecordEditResponsePTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponsePTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponsePTRMeta) UnmarshalJSON

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

type RecordEditResponsePTRTTL

type RecordEditResponsePTRTTL interface {
	ImplementsDNSRecordEditResponsePtrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponsePTRTTLNumber.

type RecordEditResponsePTRTTLNumber

type RecordEditResponsePTRTTLNumber float64
const (
	RecordEditResponsePTRTTLNumber1 RecordEditResponsePTRTTLNumber = 1
)

type RecordEditResponsePTRType

type RecordEditResponsePTRType string

Record type.

const (
	RecordEditResponsePTRTypePTR RecordEditResponsePTRType = "PTR"
)

type RecordEditResponseSRV

type RecordEditResponseSRV struct {
	// Components of a SRV record.
	Data RecordEditResponseSRVData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first
	// label is normally a service and the second a protocol name, each starting with
	// an underscore.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseSRVType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseSRVMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseSRVJSON `json:"-"`
}

func (*RecordEditResponseSRV) UnmarshalJSON

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

type RecordEditResponseSRVData

type RecordEditResponseSRVData struct {
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name string `json:"name" format:"hostname"`
	// 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 protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto string `json:"proto"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service string `json:"service"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64                       `json:"weight"`
	JSON   recordEditResponseSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*RecordEditResponseSRVData) UnmarshalJSON

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

type RecordEditResponseSRVMeta

type RecordEditResponseSRVMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponseSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseSRVMeta) UnmarshalJSON

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

type RecordEditResponseSRVTTL

type RecordEditResponseSRVTTL interface {
	ImplementsDNSRecordEditResponseSrvttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseSRVTTLNumber.

type RecordEditResponseSRVTTLNumber

type RecordEditResponseSRVTTLNumber float64
const (
	RecordEditResponseSRVTTLNumber1 RecordEditResponseSRVTTLNumber = 1
)

type RecordEditResponseSRVType

type RecordEditResponseSRVType string

Record type.

const (
	RecordEditResponseSRVTypeSRV RecordEditResponseSRVType = "SRV"
)

type RecordEditResponseSSHFP

type RecordEditResponseSSHFP struct {
	// Components of a SSHFP record.
	Data RecordEditResponseSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseSSHFPType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseSSHFPMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseSSHFPJSON `json:"-"`
}

func (*RecordEditResponseSSHFP) UnmarshalJSON

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

type RecordEditResponseSSHFPData

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

Components of a SSHFP record.

func (*RecordEditResponseSSHFPData) UnmarshalJSON

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

type RecordEditResponseSSHFPMeta

type RecordEditResponseSSHFPMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordEditResponseSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseSSHFPMeta) UnmarshalJSON

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

type RecordEditResponseSSHFPTTL

type RecordEditResponseSSHFPTTL interface {
	ImplementsDNSRecordEditResponseSshfpttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseSSHFPTTLNumber.

type RecordEditResponseSSHFPTTLNumber

type RecordEditResponseSSHFPTTLNumber float64
const (
	RecordEditResponseSSHFPTTLNumber1 RecordEditResponseSSHFPTTLNumber = 1
)

type RecordEditResponseSSHFPType

type RecordEditResponseSSHFPType string

Record type.

const (
	RecordEditResponseSSHFPTypeSSHFP RecordEditResponseSSHFPType = "SSHFP"
)

type RecordEditResponseSVCB

type RecordEditResponseSVCB struct {
	// Components of a SVCB record.
	Data RecordEditResponseSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseSVCBType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseSVCBMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseSVCBJSON `json:"-"`
}

func (*RecordEditResponseSVCB) UnmarshalJSON

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

type RecordEditResponseSVCBData

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

Components of a SVCB record.

func (*RecordEditResponseSVCBData) UnmarshalJSON

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

type RecordEditResponseSVCBMeta

type RecordEditResponseSVCBMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordEditResponseSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseSVCBMeta) UnmarshalJSON

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

type RecordEditResponseSVCBTTL

type RecordEditResponseSVCBTTL interface {
	ImplementsDNSRecordEditResponseSvcbttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseSVCBTTLNumber.

type RecordEditResponseSVCBTTLNumber

type RecordEditResponseSVCBTTLNumber float64
const (
	RecordEditResponseSVCBTTLNumber1 RecordEditResponseSVCBTTLNumber = 1
)

type RecordEditResponseSVCBType

type RecordEditResponseSVCBType string

Record type.

const (
	RecordEditResponseSVCBTypeSVCB RecordEditResponseSVCBType = "SVCB"
)

type RecordEditResponseSmimea

type RecordEditResponseSmimea struct {
	// Components of a SMIMEA record.
	Data RecordEditResponseSmimeaData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseSmimeaType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseSmimeaMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseSmimeaTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseSmimeaJSON `json:"-"`
}

func (*RecordEditResponseSmimea) UnmarshalJSON

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

type RecordEditResponseSmimeaData

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

Components of a SMIMEA record.

func (*RecordEditResponseSmimeaData) UnmarshalJSON

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

type RecordEditResponseSmimeaMeta

type RecordEditResponseSmimeaMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordEditResponseSmimeaMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseSmimeaMeta) UnmarshalJSON

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

type RecordEditResponseSmimeaTTL

type RecordEditResponseSmimeaTTL interface {
	ImplementsDNSRecordEditResponseSmimeaTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseSmimeaTTLNumber.

type RecordEditResponseSmimeaTTLNumber

type RecordEditResponseSmimeaTTLNumber float64
const (
	RecordEditResponseSmimeaTTLNumber1 RecordEditResponseSmimeaTTLNumber = 1
)

type RecordEditResponseSmimeaType

type RecordEditResponseSmimeaType string

Record type.

const (
	RecordEditResponseSmimeaTypeSmimea RecordEditResponseSmimeaType = "SMIMEA"
)

type RecordEditResponseTLSA

type RecordEditResponseTLSA struct {
	// Components of a TLSA record.
	Data RecordEditResponseTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseTLSAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseTLSAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseTLSAJSON `json:"-"`
}

func (*RecordEditResponseTLSA) UnmarshalJSON

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

type RecordEditResponseTLSAData

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

Components of a TLSA record.

func (*RecordEditResponseTLSAData) UnmarshalJSON

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

type RecordEditResponseTLSAMeta

type RecordEditResponseTLSAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordEditResponseTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseTLSAMeta) UnmarshalJSON

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

type RecordEditResponseTLSATTL

type RecordEditResponseTLSATTL interface {
	ImplementsDNSRecordEditResponseTlsattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseTLSATTLNumber.

type RecordEditResponseTLSATTLNumber

type RecordEditResponseTLSATTLNumber float64
const (
	RecordEditResponseTLSATTLNumber1 RecordEditResponseTLSATTLNumber = 1
)

type RecordEditResponseTLSAType

type RecordEditResponseTLSAType string

Record type.

const (
	RecordEditResponseTLSATypeTLSA RecordEditResponseTLSAType = "TLSA"
)

type RecordEditResponseTXT

type RecordEditResponseTXT struct {
	// Text content for the record.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordEditResponseTXTType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseTXTMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseTXTJSON `json:"-"`
}

func (*RecordEditResponseTXT) UnmarshalJSON

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

type RecordEditResponseTXTMeta

type RecordEditResponseTXTMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponseTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseTXTMeta) UnmarshalJSON

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

type RecordEditResponseTXTTTL

type RecordEditResponseTXTTTL interface {
	ImplementsDNSRecordEditResponseTxtttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseTXTTTLNumber.

type RecordEditResponseTXTTTLNumber

type RecordEditResponseTXTTTLNumber float64
const (
	RecordEditResponseTXTTTLNumber1 RecordEditResponseTXTTTLNumber = 1
)

type RecordEditResponseTXTType

type RecordEditResponseTXTType string

Record type.

const (
	RecordEditResponseTXTTypeTXT RecordEditResponseTXTType = "TXT"
)

type RecordEditResponseURI

type RecordEditResponseURI struct {
	// Components of a URI record.
	Data RecordEditResponseURIData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordEditResponseURIType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordEditResponseURIMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordEditResponseURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordEditResponseURIJSON `json:"-"`
}

func (*RecordEditResponseURI) UnmarshalJSON

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

type RecordEditResponseURIData

type RecordEditResponseURIData struct {
	// The record content.
	Content string `json:"content"`
	// The record weight.
	Weight float64                       `json:"weight"`
	JSON   recordEditResponseURIDataJSON `json:"-"`
}

Components of a URI record.

func (*RecordEditResponseURIData) UnmarshalJSON

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

type RecordEditResponseURIMeta

type RecordEditResponseURIMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordEditResponseURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordEditResponseURIMeta) UnmarshalJSON

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

type RecordEditResponseURITTL

type RecordEditResponseURITTL interface {
	ImplementsDNSRecordEditResponseUrittl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordEditResponseURITTLNumber.

type RecordEditResponseURITTLNumber

type RecordEditResponseURITTLNumber float64
const (
	RecordEditResponseURITTLNumber1 RecordEditResponseURITTLNumber = 1
)

type RecordEditResponseURIType

type RecordEditResponseURIType string

Record type.

const (
	RecordEditResponseURITypeURI RecordEditResponseURIType = "URI"
)

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 RecordGetResponseA

type RecordGetResponseA struct {
	// A valid IPv4 address.
	Content string `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                 `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseAJSON `json:"-"`
}

func (*RecordGetResponseA) UnmarshalJSON

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

type RecordGetResponseAAAA

type RecordGetResponseAAAA struct {
	// A valid IPv6 address.
	Content string `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseAAAAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseAAAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseAAAAJSON `json:"-"`
}

func (*RecordGetResponseAAAA) UnmarshalJSON

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

type RecordGetResponseAAAAMeta

type RecordGetResponseAAAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordGetResponseAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseAAAAMeta) UnmarshalJSON

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

type RecordGetResponseAAAATTL

type RecordGetResponseAAAATTL interface {
	ImplementsDNSRecordGetResponseAaaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseAAAATTLNumber.

type RecordGetResponseAAAATTLNumber

type RecordGetResponseAAAATTLNumber float64
const (
	RecordGetResponseAAAATTLNumber1 RecordGetResponseAAAATTLNumber = 1
)

type RecordGetResponseAAAAType

type RecordGetResponseAAAAType string

Record type.

const (
	RecordGetResponseAAAATypeAAAA RecordGetResponseAAAAType = "AAAA"
)

type RecordGetResponseAMeta

type RecordGetResponseAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                     `json:"source"`
	JSON   recordGetResponseAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseAMeta) UnmarshalJSON

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

type RecordGetResponseATTL

type RecordGetResponseATTL interface {
	ImplementsDNSRecordGetResponseAttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseATTLNumber.

type RecordGetResponseATTLNumber

type RecordGetResponseATTLNumber float64
const (
	RecordGetResponseATTLNumber1 RecordGetResponseATTLNumber = 1
)

type RecordGetResponseAType

type RecordGetResponseAType string

Record type.

const (
	RecordGetResponseATypeA RecordGetResponseAType = "A"
)

type RecordGetResponseCAA

type RecordGetResponseCAA struct {
	// Components of a CAA record.
	Data RecordGetResponseCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseCAAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseCAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseCAAJSON `json:"-"`
}

func (*RecordGetResponseCAA) UnmarshalJSON

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

type RecordGetResponseCAAData

type RecordGetResponseCAAData 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  recordGetResponseCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*RecordGetResponseCAAData) UnmarshalJSON

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

type RecordGetResponseCAAMeta

type RecordGetResponseCAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponseCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseCAAMeta) UnmarshalJSON

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

type RecordGetResponseCAATTL

type RecordGetResponseCAATTL interface {
	ImplementsDNSRecordGetResponseCaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseCAATTLNumber.

type RecordGetResponseCAATTLNumber

type RecordGetResponseCAATTLNumber float64
const (
	RecordGetResponseCAATTLNumber1 RecordGetResponseCAATTLNumber = 1
)

type RecordGetResponseCAAType

type RecordGetResponseCAAType string

Record type.

const (
	RecordGetResponseCAATypeCAA RecordGetResponseCAAType = "CAA"
)

type RecordGetResponseCNAME

type RecordGetResponseCNAME struct {
	// A valid hostname. Must not match the record's name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseCNAMEType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseCNAMEMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseCNAMEJSON `json:"-"`
}

func (*RecordGetResponseCNAME) UnmarshalJSON

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

type RecordGetResponseCNAMEMeta

type RecordGetResponseCNAMEMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordGetResponseCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseCNAMEMeta) UnmarshalJSON

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

type RecordGetResponseCNAMETTL

type RecordGetResponseCNAMETTL interface {
	ImplementsDNSRecordGetResponseCnamettl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseCNAMETTLNumber.

type RecordGetResponseCNAMETTLNumber

type RecordGetResponseCNAMETTLNumber float64
const (
	RecordGetResponseCNAMETTLNumber1 RecordGetResponseCNAMETTLNumber = 1
)

type RecordGetResponseCNAMEType

type RecordGetResponseCNAMEType string

Record type.

const (
	RecordGetResponseCNAMETypeCNAME RecordGetResponseCNAMEType = "CNAME"
)

type RecordGetResponseCert

type RecordGetResponseCert struct {
	// Components of a CERT record.
	Data RecordGetResponseCertData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseCertType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseCertMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseCertTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseCertJSON `json:"-"`
}

func (*RecordGetResponseCert) UnmarshalJSON

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

type RecordGetResponseCertData

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

Components of a CERT record.

func (*RecordGetResponseCertData) UnmarshalJSON

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

type RecordGetResponseCertMeta

type RecordGetResponseCertMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordGetResponseCertMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseCertMeta) UnmarshalJSON

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

type RecordGetResponseCertTTL

type RecordGetResponseCertTTL interface {
	ImplementsDNSRecordGetResponseCertTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseCertTTLNumber.

type RecordGetResponseCertTTLNumber

type RecordGetResponseCertTTLNumber float64
const (
	RecordGetResponseCertTTLNumber1 RecordGetResponseCertTTLNumber = 1
)

type RecordGetResponseCertType

type RecordGetResponseCertType string

Record type.

const (
	RecordGetResponseCertTypeCert RecordGetResponseCertType = "CERT"
)

type RecordGetResponseDNSKEY

type RecordGetResponseDNSKEY struct {
	// Components of a DNSKEY record.
	Data RecordGetResponseDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseDNSKEYType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseDNSKEYMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseDNSKEYJSON `json:"-"`
}

func (*RecordGetResponseDNSKEY) UnmarshalJSON

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

type RecordGetResponseDNSKEYData

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

Components of a DNSKEY record.

func (*RecordGetResponseDNSKEYData) UnmarshalJSON

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

type RecordGetResponseDNSKEYMeta

type RecordGetResponseDNSKEYMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordGetResponseDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseDNSKEYMeta) UnmarshalJSON

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

type RecordGetResponseDNSKEYTTL

type RecordGetResponseDNSKEYTTL interface {
	ImplementsDNSRecordGetResponseDnskeyttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseDNSKEYTTLNumber.

type RecordGetResponseDNSKEYTTLNumber

type RecordGetResponseDNSKEYTTLNumber float64
const (
	RecordGetResponseDNSKEYTTLNumber1 RecordGetResponseDNSKEYTTLNumber = 1
)

type RecordGetResponseDNSKEYType

type RecordGetResponseDNSKEYType string

Record type.

const (
	RecordGetResponseDNSKEYTypeDNSKEY RecordGetResponseDNSKEYType = "DNSKEY"
)

type RecordGetResponseDS

type RecordGetResponseDS struct {
	// Components of a DS record.
	Data RecordGetResponseDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseDSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseDSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseDSJSON `json:"-"`
}

func (*RecordGetResponseDS) UnmarshalJSON

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

type RecordGetResponseDSData

type RecordGetResponseDSData 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   recordGetResponseDSDataJSON `json:"-"`
}

Components of a DS record.

func (*RecordGetResponseDSData) UnmarshalJSON

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

type RecordGetResponseDSMeta

type RecordGetResponseDSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordGetResponseDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseDSMeta) UnmarshalJSON

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

type RecordGetResponseDSTTL

type RecordGetResponseDSTTL interface {
	ImplementsDNSRecordGetResponseDsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseDSTTLNumber.

type RecordGetResponseDSTTLNumber

type RecordGetResponseDSTTLNumber float64
const (
	RecordGetResponseDSTTLNumber1 RecordGetResponseDSTTLNumber = 1
)

type RecordGetResponseDSType

type RecordGetResponseDSType string

Record type.

const (
	RecordGetResponseDSTypeDS RecordGetResponseDSType = "DS"
)

type RecordGetResponseEnvelope

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

func (*RecordGetResponseEnvelope) UnmarshalJSON

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

type RecordGetResponseEnvelopeErrors

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

func (*RecordGetResponseEnvelopeErrors) UnmarshalJSON

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

type RecordGetResponseEnvelopeMessages

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

func (*RecordGetResponseEnvelopeMessages) UnmarshalJSON

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

type RecordGetResponseEnvelopeSuccess

type RecordGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordGetResponseEnvelopeSuccessTrue RecordGetResponseEnvelopeSuccess = true
)

type RecordGetResponseHTTPS

type RecordGetResponseHTTPS struct {
	// Components of a HTTPS record.
	Data RecordGetResponseHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseHTTPSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseHTTPSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseHTTPSJSON `json:"-"`
}

func (*RecordGetResponseHTTPS) UnmarshalJSON

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

type RecordGetResponseHTTPSData

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

Components of a HTTPS record.

func (*RecordGetResponseHTTPSData) UnmarshalJSON

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

type RecordGetResponseHTTPSMeta

type RecordGetResponseHTTPSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordGetResponseHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseHTTPSMeta) UnmarshalJSON

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

type RecordGetResponseHTTPSTTL

type RecordGetResponseHTTPSTTL interface {
	ImplementsDNSRecordGetResponseHttpsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseHTTPSTTLNumber.

type RecordGetResponseHTTPSTTLNumber

type RecordGetResponseHTTPSTTLNumber float64
const (
	RecordGetResponseHTTPSTTLNumber1 RecordGetResponseHTTPSTTLNumber = 1
)

type RecordGetResponseHTTPSType

type RecordGetResponseHTTPSType string

Record type.

const (
	RecordGetResponseHTTPSTypeHTTPS RecordGetResponseHTTPSType = "HTTPS"
)

type RecordGetResponseLOC

type RecordGetResponseLOC struct {
	// Components of a LOC record.
	Data RecordGetResponseLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseLOCType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseLOCMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseLOCJSON `json:"-"`
}

func (*RecordGetResponseLOC) UnmarshalJSON

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

type RecordGetResponseLOCData

type RecordGetResponseLOCData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection RecordGetResponseLOCDataLatDirection `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 RecordGetResponseLOCDataLongDirection `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 recordGetResponseLOCDataJSON `json:"-"`
}

Components of a LOC record.

func (*RecordGetResponseLOCData) UnmarshalJSON

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

type RecordGetResponseLOCDataLatDirection

type RecordGetResponseLOCDataLatDirection string

Latitude direction.

const (
	RecordGetResponseLOCDataLatDirectionN RecordGetResponseLOCDataLatDirection = "N"
	RecordGetResponseLOCDataLatDirectionS RecordGetResponseLOCDataLatDirection = "S"
)

type RecordGetResponseLOCDataLongDirection

type RecordGetResponseLOCDataLongDirection string

Longitude direction.

const (
	RecordGetResponseLOCDataLongDirectionE RecordGetResponseLOCDataLongDirection = "E"
	RecordGetResponseLOCDataLongDirectionW RecordGetResponseLOCDataLongDirection = "W"
)

type RecordGetResponseLOCMeta

type RecordGetResponseLOCMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponseLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseLOCMeta) UnmarshalJSON

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

type RecordGetResponseLOCTTL

type RecordGetResponseLOCTTL interface {
	ImplementsDNSRecordGetResponseLocttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseLOCTTLNumber.

type RecordGetResponseLOCTTLNumber

type RecordGetResponseLOCTTLNumber float64
const (
	RecordGetResponseLOCTTLNumber1 RecordGetResponseLOCTTLNumber = 1
)

type RecordGetResponseLOCType

type RecordGetResponseLOCType string

Record type.

const (
	RecordGetResponseLOCTypeLOC RecordGetResponseLOCType = "LOC"
)

type RecordGetResponseMX

type RecordGetResponseMX struct {
	// A valid mail server hostname.
	Content string `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordGetResponseMXType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseMXMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseMXJSON `json:"-"`
}

func (*RecordGetResponseMX) UnmarshalJSON

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

type RecordGetResponseMXMeta

type RecordGetResponseMXMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordGetResponseMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseMXMeta) UnmarshalJSON

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

type RecordGetResponseMXTTL

type RecordGetResponseMXTTL interface {
	ImplementsDNSRecordGetResponseMxttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseMXTTLNumber.

type RecordGetResponseMXTTLNumber

type RecordGetResponseMXTTLNumber float64
const (
	RecordGetResponseMXTTLNumber1 RecordGetResponseMXTTLNumber = 1
)

type RecordGetResponseMXType

type RecordGetResponseMXType string

Record type.

const (
	RecordGetResponseMXTypeMX RecordGetResponseMXType = "MX"
)

type RecordGetResponseNAPTR

type RecordGetResponseNAPTR struct {
	// Components of a NAPTR record.
	Data RecordGetResponseNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseNAPTRType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseNAPTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseNAPTRJSON `json:"-"`
}

func (*RecordGetResponseNAPTR) UnmarshalJSON

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

type RecordGetResponseNAPTRData

type RecordGetResponseNAPTRData 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    recordGetResponseNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*RecordGetResponseNAPTRData) UnmarshalJSON

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

type RecordGetResponseNAPTRMeta

type RecordGetResponseNAPTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordGetResponseNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseNAPTRMeta) UnmarshalJSON

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

type RecordGetResponseNAPTRTTL

type RecordGetResponseNAPTRTTL interface {
	ImplementsDNSRecordGetResponseNaptrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseNAPTRTTLNumber.

type RecordGetResponseNAPTRTTLNumber

type RecordGetResponseNAPTRTTLNumber float64
const (
	RecordGetResponseNAPTRTTLNumber1 RecordGetResponseNAPTRTTLNumber = 1
)

type RecordGetResponseNAPTRType

type RecordGetResponseNAPTRType string

Record type.

const (
	RecordGetResponseNAPTRTypeNAPTR RecordGetResponseNAPTRType = "NAPTR"
)

type RecordGetResponseNS

type RecordGetResponseNS struct {
	// A valid name server host name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseNSType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseNSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseNSJSON `json:"-"`
}

func (*RecordGetResponseNS) UnmarshalJSON

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

type RecordGetResponseNSMeta

type RecordGetResponseNSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordGetResponseNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseNSMeta) UnmarshalJSON

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

type RecordGetResponseNSTTL

type RecordGetResponseNSTTL interface {
	ImplementsDNSRecordGetResponseNsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseNSTTLNumber.

type RecordGetResponseNSTTLNumber

type RecordGetResponseNSTTLNumber float64
const (
	RecordGetResponseNSTTLNumber1 RecordGetResponseNSTTLNumber = 1
)

type RecordGetResponseNSType

type RecordGetResponseNSType string

Record type.

const (
	RecordGetResponseNSTypeNS RecordGetResponseNSType = "NS"
)

type RecordGetResponsePTR

type RecordGetResponsePTR struct {
	// Domain name pointing to the address.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponsePTRType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponsePTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponsePTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponsePTRJSON `json:"-"`
}

func (*RecordGetResponsePTR) UnmarshalJSON

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

type RecordGetResponsePTRMeta

type RecordGetResponsePTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponsePTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponsePTRMeta) UnmarshalJSON

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

type RecordGetResponsePTRTTL

type RecordGetResponsePTRTTL interface {
	ImplementsDNSRecordGetResponsePtrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponsePTRTTLNumber.

type RecordGetResponsePTRTTLNumber

type RecordGetResponsePTRTTLNumber float64
const (
	RecordGetResponsePTRTTLNumber1 RecordGetResponsePTRTTLNumber = 1
)

type RecordGetResponsePTRType

type RecordGetResponsePTRType string

Record type.

const (
	RecordGetResponsePTRTypePTR RecordGetResponsePTRType = "PTR"
)

type RecordGetResponseSRV

type RecordGetResponseSRV struct {
	// Components of a SRV record.
	Data RecordGetResponseSRVData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first
	// label is normally a service and the second a protocol name, each starting with
	// an underscore.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseSRVType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseSRVMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseSRVJSON `json:"-"`
}

func (*RecordGetResponseSRV) UnmarshalJSON

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

type RecordGetResponseSRVData

type RecordGetResponseSRVData struct {
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name string `json:"name" format:"hostname"`
	// 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 protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto string `json:"proto"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service string `json:"service"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64                      `json:"weight"`
	JSON   recordGetResponseSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*RecordGetResponseSRVData) UnmarshalJSON

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

type RecordGetResponseSRVMeta

type RecordGetResponseSRVMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponseSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseSRVMeta) UnmarshalJSON

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

type RecordGetResponseSRVTTL

type RecordGetResponseSRVTTL interface {
	ImplementsDNSRecordGetResponseSrvttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseSRVTTLNumber.

type RecordGetResponseSRVTTLNumber

type RecordGetResponseSRVTTLNumber float64
const (
	RecordGetResponseSRVTTLNumber1 RecordGetResponseSRVTTLNumber = 1
)

type RecordGetResponseSRVType

type RecordGetResponseSRVType string

Record type.

const (
	RecordGetResponseSRVTypeSRV RecordGetResponseSRVType = "SRV"
)

type RecordGetResponseSSHFP

type RecordGetResponseSSHFP struct {
	// Components of a SSHFP record.
	Data RecordGetResponseSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseSSHFPType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseSSHFPMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseSSHFPJSON `json:"-"`
}

func (*RecordGetResponseSSHFP) UnmarshalJSON

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

type RecordGetResponseSSHFPData

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

Components of a SSHFP record.

func (*RecordGetResponseSSHFPData) UnmarshalJSON

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

type RecordGetResponseSSHFPMeta

type RecordGetResponseSSHFPMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordGetResponseSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseSSHFPMeta) UnmarshalJSON

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

type RecordGetResponseSSHFPTTL

type RecordGetResponseSSHFPTTL interface {
	ImplementsDNSRecordGetResponseSshfpttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseSSHFPTTLNumber.

type RecordGetResponseSSHFPTTLNumber

type RecordGetResponseSSHFPTTLNumber float64
const (
	RecordGetResponseSSHFPTTLNumber1 RecordGetResponseSSHFPTTLNumber = 1
)

type RecordGetResponseSSHFPType

type RecordGetResponseSSHFPType string

Record type.

const (
	RecordGetResponseSSHFPTypeSSHFP RecordGetResponseSSHFPType = "SSHFP"
)

type RecordGetResponseSVCB

type RecordGetResponseSVCB struct {
	// Components of a SVCB record.
	Data RecordGetResponseSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseSVCBType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseSVCBMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseSVCBJSON `json:"-"`
}

func (*RecordGetResponseSVCB) UnmarshalJSON

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

type RecordGetResponseSVCBData

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

Components of a SVCB record.

func (*RecordGetResponseSVCBData) UnmarshalJSON

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

type RecordGetResponseSVCBMeta

type RecordGetResponseSVCBMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordGetResponseSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseSVCBMeta) UnmarshalJSON

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

type RecordGetResponseSVCBTTL

type RecordGetResponseSVCBTTL interface {
	ImplementsDNSRecordGetResponseSvcbttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseSVCBTTLNumber.

type RecordGetResponseSVCBTTLNumber

type RecordGetResponseSVCBTTLNumber float64
const (
	RecordGetResponseSVCBTTLNumber1 RecordGetResponseSVCBTTLNumber = 1
)

type RecordGetResponseSVCBType

type RecordGetResponseSVCBType string

Record type.

const (
	RecordGetResponseSVCBTypeSVCB RecordGetResponseSVCBType = "SVCB"
)

type RecordGetResponseSmimea

type RecordGetResponseSmimea struct {
	// Components of a SMIMEA record.
	Data RecordGetResponseSmimeaData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseSmimeaType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseSmimeaMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseSmimeaTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseSmimeaJSON `json:"-"`
}

func (*RecordGetResponseSmimea) UnmarshalJSON

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

type RecordGetResponseSmimeaData

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

Components of a SMIMEA record.

func (*RecordGetResponseSmimeaData) UnmarshalJSON

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

type RecordGetResponseSmimeaMeta

type RecordGetResponseSmimeaMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordGetResponseSmimeaMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseSmimeaMeta) UnmarshalJSON

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

type RecordGetResponseSmimeaTTL

type RecordGetResponseSmimeaTTL interface {
	ImplementsDNSRecordGetResponseSmimeaTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseSmimeaTTLNumber.

type RecordGetResponseSmimeaTTLNumber

type RecordGetResponseSmimeaTTLNumber float64
const (
	RecordGetResponseSmimeaTTLNumber1 RecordGetResponseSmimeaTTLNumber = 1
)

type RecordGetResponseSmimeaType

type RecordGetResponseSmimeaType string

Record type.

const (
	RecordGetResponseSmimeaTypeSmimea RecordGetResponseSmimeaType = "SMIMEA"
)

type RecordGetResponseTLSA

type RecordGetResponseTLSA struct {
	// Components of a TLSA record.
	Data RecordGetResponseTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseTLSAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseTLSAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseTLSAJSON `json:"-"`
}

func (*RecordGetResponseTLSA) UnmarshalJSON

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

type RecordGetResponseTLSAData

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

Components of a TLSA record.

func (*RecordGetResponseTLSAData) UnmarshalJSON

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

type RecordGetResponseTLSAMeta

type RecordGetResponseTLSAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordGetResponseTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseTLSAMeta) UnmarshalJSON

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

type RecordGetResponseTLSATTL

type RecordGetResponseTLSATTL interface {
	ImplementsDNSRecordGetResponseTlsattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseTLSATTLNumber.

type RecordGetResponseTLSATTLNumber

type RecordGetResponseTLSATTLNumber float64
const (
	RecordGetResponseTLSATTLNumber1 RecordGetResponseTLSATTLNumber = 1
)

type RecordGetResponseTLSAType

type RecordGetResponseTLSAType string

Record type.

const (
	RecordGetResponseTLSATypeTLSA RecordGetResponseTLSAType = "TLSA"
)

type RecordGetResponseTXT

type RecordGetResponseTXT struct {
	// Text content for the record.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordGetResponseTXTType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseTXTMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseTXTJSON `json:"-"`
}

func (*RecordGetResponseTXT) UnmarshalJSON

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

type RecordGetResponseTXTMeta

type RecordGetResponseTXTMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponseTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseTXTMeta) UnmarshalJSON

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

type RecordGetResponseTXTTTL

type RecordGetResponseTXTTTL interface {
	ImplementsDNSRecordGetResponseTxtttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseTXTTTLNumber.

type RecordGetResponseTXTTTLNumber

type RecordGetResponseTXTTTLNumber float64
const (
	RecordGetResponseTXTTTLNumber1 RecordGetResponseTXTTTLNumber = 1
)

type RecordGetResponseTXTType

type RecordGetResponseTXTType string

Record type.

const (
	RecordGetResponseTXTTypeTXT RecordGetResponseTXTType = "TXT"
)

type RecordGetResponseURI

type RecordGetResponseURI struct {
	// Components of a URI record.
	Data RecordGetResponseURIData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordGetResponseURIType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordGetResponseURIMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordGetResponseURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordGetResponseURIJSON `json:"-"`
}

func (*RecordGetResponseURI) UnmarshalJSON

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

type RecordGetResponseURIData

type RecordGetResponseURIData struct {
	// The record content.
	Content string `json:"content"`
	// The record weight.
	Weight float64                      `json:"weight"`
	JSON   recordGetResponseURIDataJSON `json:"-"`
}

Components of a URI record.

func (*RecordGetResponseURIData) UnmarshalJSON

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

type RecordGetResponseURIMeta

type RecordGetResponseURIMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordGetResponseURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordGetResponseURIMeta) UnmarshalJSON

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

type RecordGetResponseURITTL

type RecordGetResponseURITTL interface {
	ImplementsDNSRecordGetResponseUrittl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordGetResponseURITTLNumber.

type RecordGetResponseURITTLNumber

type RecordGetResponseURITTLNumber float64
const (
	RecordGetResponseURITTLNumber1 RecordGetResponseURITTLNumber = 1
)

type RecordGetResponseURIType

type RecordGetResponseURIType string

Record type.

const (
	RecordGetResponseURITypeURI RecordGetResponseURIType = "URI"
)

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

func (r RecordImportParams) MarshalJSON() (data []byte, 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"`
	Result   RecordImportResponse                   `json:"result,required"`
	// Whether the API call was successful
	Success RecordImportResponseEnvelopeSuccess `json:"success,required"`
	Timing  RecordImportResponseEnvelopeTiming  `json:"timing"`
	JSON    recordImportResponseEnvelopeJSON    `json:"-"`
}

func (*RecordImportResponseEnvelope) UnmarshalJSON

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

type RecordImportResponseEnvelopeErrors

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

func (*RecordImportResponseEnvelopeErrors) UnmarshalJSON

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

type RecordImportResponseEnvelopeMessages

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

func (*RecordImportResponseEnvelopeMessages) UnmarshalJSON

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

type RecordImportResponseEnvelopeSuccess

type RecordImportResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordImportResponseEnvelopeSuccessTrue RecordImportResponseEnvelopeSuccess = true
)

type RecordImportResponseEnvelopeTiming

type RecordImportResponseEnvelopeTiming struct {
	// When the file parsing ended.
	EndTime time.Time `json:"end_time" format:"date-time"`
	// Processing time of the file in seconds.
	ProcessTime float64 `json:"process_time"`
	// When the file parsing started.
	StartTime time.Time                              `json:"start_time" format:"date-time"`
	JSON      recordImportResponseEnvelopeTimingJSON `json:"-"`
}

func (*RecordImportResponseEnvelopeTiming) UnmarshalJSON

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

type RecordListParams

type RecordListParams struct {
	// Identifier
	ZoneID  param.Field[string]                  `path:"zone_id,required"`
	Comment param.Field[RecordListParamsComment] `query:"comment"`
	// DNS record content.
	Content param.Field[string] `query:"content"`
	// Direction to order DNS records in.
	Direction param.Field[RecordListParamsDirection] `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"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `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 RecordListParamsDirection

type RecordListParamsDirection string

Direction to order DNS records in.

const (
	RecordListParamsDirectionAsc  RecordListParamsDirection = "asc"
	RecordListParamsDirectionDesc RecordListParamsDirection = "desc"
)

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

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

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

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"
	RecordListParamsTypePTR    RecordListParamsType = "PTR"
	RecordListParamsTypeSmimea RecordListParamsType = "SMIMEA"
	RecordListParamsTypeSRV    RecordListParamsType = "SRV"
	RecordListParamsTypeSSHFP  RecordListParamsType = "SSHFP"
	RecordListParamsTypeSVCB   RecordListParamsType = "SVCB"
	RecordListParamsTypeTLSA   RecordListParamsType = "TLSA"
	RecordListParamsTypeTXT    RecordListParamsType = "TXT"
	RecordListParamsTypeURI    RecordListParamsType = "URI"
)

type RecordListResponseA

type RecordListResponseA struct {
	// A valid IPv4 address.
	Content string `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordListResponseAJSON `json:"-"`
}

func (*RecordListResponseA) UnmarshalJSON

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

type RecordListResponseAAAA

type RecordListResponseAAAA struct {
	// A valid IPv6 address.
	Content string `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseAAAAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseAAAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordListResponseAAAAJSON `json:"-"`
}

func (*RecordListResponseAAAA) UnmarshalJSON

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

type RecordListResponseAAAAMeta

type RecordListResponseAAAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordListResponseAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseAAAAMeta) UnmarshalJSON

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

type RecordListResponseAAAATTL

type RecordListResponseAAAATTL interface {
	ImplementsDNSRecordListResponseAaaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseAAAATTLNumber.

type RecordListResponseAAAATTLNumber

type RecordListResponseAAAATTLNumber float64
const (
	RecordListResponseAAAATTLNumber1 RecordListResponseAAAATTLNumber = 1
)

type RecordListResponseAAAAType

type RecordListResponseAAAAType string

Record type.

const (
	RecordListResponseAAAATypeAAAA RecordListResponseAAAAType = "AAAA"
)

type RecordListResponseAMeta

type RecordListResponseAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordListResponseAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseAMeta) UnmarshalJSON

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

type RecordListResponseATTL

type RecordListResponseATTL interface {
	ImplementsDNSRecordListResponseAttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseATTLNumber.

type RecordListResponseATTLNumber

type RecordListResponseATTLNumber float64
const (
	RecordListResponseATTLNumber1 RecordListResponseATTLNumber = 1
)

type RecordListResponseAType

type RecordListResponseAType string

Record type.

const (
	RecordListResponseATypeA RecordListResponseAType = "A"
)

type RecordListResponseCAA

type RecordListResponseCAA struct {
	// Components of a CAA record.
	Data RecordListResponseCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseCAAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseCAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponseCAAJSON `json:"-"`
}

func (*RecordListResponseCAA) UnmarshalJSON

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

type RecordListResponseCAAData

type RecordListResponseCAAData 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  recordListResponseCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*RecordListResponseCAAData) UnmarshalJSON

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

type RecordListResponseCAAMeta

type RecordListResponseCAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponseCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseCAAMeta) UnmarshalJSON

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

type RecordListResponseCAATTL

type RecordListResponseCAATTL interface {
	ImplementsDNSRecordListResponseCaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseCAATTLNumber.

type RecordListResponseCAATTLNumber

type RecordListResponseCAATTLNumber float64
const (
	RecordListResponseCAATTLNumber1 RecordListResponseCAATTLNumber = 1
)

type RecordListResponseCAAType

type RecordListResponseCAAType string

Record type.

const (
	RecordListResponseCAATypeCAA RecordListResponseCAAType = "CAA"
)

type RecordListResponseCNAME

type RecordListResponseCNAME struct {
	// A valid hostname. Must not match the record's name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseCNAMEType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseCNAMEMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordListResponseCNAMEJSON `json:"-"`
}

func (*RecordListResponseCNAME) UnmarshalJSON

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

type RecordListResponseCNAMEMeta

type RecordListResponseCNAMEMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordListResponseCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseCNAMEMeta) UnmarshalJSON

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

type RecordListResponseCNAMETTL

type RecordListResponseCNAMETTL interface {
	ImplementsDNSRecordListResponseCnamettl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseCNAMETTLNumber.

type RecordListResponseCNAMETTLNumber

type RecordListResponseCNAMETTLNumber float64
const (
	RecordListResponseCNAMETTLNumber1 RecordListResponseCNAMETTLNumber = 1
)

type RecordListResponseCNAMEType

type RecordListResponseCNAMEType string

Record type.

const (
	RecordListResponseCNAMETypeCNAME RecordListResponseCNAMEType = "CNAME"
)

type RecordListResponseCert

type RecordListResponseCert struct {
	// Components of a CERT record.
	Data RecordListResponseCertData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseCertType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseCertMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseCertTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordListResponseCertJSON `json:"-"`
}

func (*RecordListResponseCert) UnmarshalJSON

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

type RecordListResponseCertData

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

Components of a CERT record.

func (*RecordListResponseCertData) UnmarshalJSON

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

type RecordListResponseCertMeta

type RecordListResponseCertMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordListResponseCertMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseCertMeta) UnmarshalJSON

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

type RecordListResponseCertTTL

type RecordListResponseCertTTL interface {
	ImplementsDNSRecordListResponseCertTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseCertTTLNumber.

type RecordListResponseCertTTLNumber

type RecordListResponseCertTTLNumber float64
const (
	RecordListResponseCertTTLNumber1 RecordListResponseCertTTLNumber = 1
)

type RecordListResponseCertType

type RecordListResponseCertType string

Record type.

const (
	RecordListResponseCertTypeCert RecordListResponseCertType = "CERT"
)

type RecordListResponseDNSKEY

type RecordListResponseDNSKEY struct {
	// Components of a DNSKEY record.
	Data RecordListResponseDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseDNSKEYType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseDNSKEYMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordListResponseDNSKEYJSON `json:"-"`
}

func (*RecordListResponseDNSKEY) UnmarshalJSON

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

type RecordListResponseDNSKEYData

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

Components of a DNSKEY record.

func (*RecordListResponseDNSKEYData) UnmarshalJSON

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

type RecordListResponseDNSKEYMeta

type RecordListResponseDNSKEYMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordListResponseDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseDNSKEYMeta) UnmarshalJSON

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

type RecordListResponseDNSKEYTTL

type RecordListResponseDNSKEYTTL interface {
	ImplementsDNSRecordListResponseDnskeyttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseDNSKEYTTLNumber.

type RecordListResponseDNSKEYTTLNumber

type RecordListResponseDNSKEYTTLNumber float64
const (
	RecordListResponseDNSKEYTTLNumber1 RecordListResponseDNSKEYTTLNumber = 1
)

type RecordListResponseDNSKEYType

type RecordListResponseDNSKEYType string

Record type.

const (
	RecordListResponseDNSKEYTypeDNSKEY RecordListResponseDNSKEYType = "DNSKEY"
)

type RecordListResponseDS

type RecordListResponseDS struct {
	// Components of a DS record.
	Data RecordListResponseDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseDSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseDSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordListResponseDSJSON `json:"-"`
}

func (*RecordListResponseDS) UnmarshalJSON

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

type RecordListResponseDSData

type RecordListResponseDSData 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   recordListResponseDSDataJSON `json:"-"`
}

Components of a DS record.

func (*RecordListResponseDSData) UnmarshalJSON

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

type RecordListResponseDSMeta

type RecordListResponseDSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordListResponseDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseDSMeta) UnmarshalJSON

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

type RecordListResponseDSTTL

type RecordListResponseDSTTL interface {
	ImplementsDNSRecordListResponseDsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseDSTTLNumber.

type RecordListResponseDSTTLNumber

type RecordListResponseDSTTLNumber float64
const (
	RecordListResponseDSTTLNumber1 RecordListResponseDSTTLNumber = 1
)

type RecordListResponseDSType

type RecordListResponseDSType string

Record type.

const (
	RecordListResponseDSTypeDS RecordListResponseDSType = "DS"
)

type RecordListResponseHTTPS

type RecordListResponseHTTPS struct {
	// Components of a HTTPS record.
	Data RecordListResponseHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseHTTPSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseHTTPSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordListResponseHTTPSJSON `json:"-"`
}

func (*RecordListResponseHTTPS) UnmarshalJSON

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

type RecordListResponseHTTPSData

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

Components of a HTTPS record.

func (*RecordListResponseHTTPSData) UnmarshalJSON

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

type RecordListResponseHTTPSMeta

type RecordListResponseHTTPSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordListResponseHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseHTTPSMeta) UnmarshalJSON

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

type RecordListResponseHTTPSTTL

type RecordListResponseHTTPSTTL interface {
	ImplementsDNSRecordListResponseHttpsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseHTTPSTTLNumber.

type RecordListResponseHTTPSTTLNumber

type RecordListResponseHTTPSTTLNumber float64
const (
	RecordListResponseHTTPSTTLNumber1 RecordListResponseHTTPSTTLNumber = 1
)

type RecordListResponseHTTPSType

type RecordListResponseHTTPSType string

Record type.

const (
	RecordListResponseHTTPSTypeHTTPS RecordListResponseHTTPSType = "HTTPS"
)

type RecordListResponseLOC

type RecordListResponseLOC struct {
	// Components of a LOC record.
	Data RecordListResponseLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseLOCType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseLOCMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponseLOCJSON `json:"-"`
}

func (*RecordListResponseLOC) UnmarshalJSON

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

type RecordListResponseLOCData

type RecordListResponseLOCData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection RecordListResponseLOCDataLatDirection `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 RecordListResponseLOCDataLongDirection `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 recordListResponseLOCDataJSON `json:"-"`
}

Components of a LOC record.

func (*RecordListResponseLOCData) UnmarshalJSON

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

type RecordListResponseLOCDataLatDirection

type RecordListResponseLOCDataLatDirection string

Latitude direction.

const (
	RecordListResponseLOCDataLatDirectionN RecordListResponseLOCDataLatDirection = "N"
	RecordListResponseLOCDataLatDirectionS RecordListResponseLOCDataLatDirection = "S"
)

type RecordListResponseLOCDataLongDirection

type RecordListResponseLOCDataLongDirection string

Longitude direction.

const (
	RecordListResponseLOCDataLongDirectionE RecordListResponseLOCDataLongDirection = "E"
	RecordListResponseLOCDataLongDirectionW RecordListResponseLOCDataLongDirection = "W"
)

type RecordListResponseLOCMeta

type RecordListResponseLOCMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponseLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseLOCMeta) UnmarshalJSON

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

type RecordListResponseLOCTTL

type RecordListResponseLOCTTL interface {
	ImplementsDNSRecordListResponseLocttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseLOCTTLNumber.

type RecordListResponseLOCTTLNumber

type RecordListResponseLOCTTLNumber float64
const (
	RecordListResponseLOCTTLNumber1 RecordListResponseLOCTTLNumber = 1
)

type RecordListResponseLOCType

type RecordListResponseLOCType string

Record type.

const (
	RecordListResponseLOCTypeLOC RecordListResponseLOCType = "LOC"
)

type RecordListResponseMX

type RecordListResponseMX struct {
	// A valid mail server hostname.
	Content string `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordListResponseMXType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseMXMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordListResponseMXJSON `json:"-"`
}

func (*RecordListResponseMX) UnmarshalJSON

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

type RecordListResponseMXMeta

type RecordListResponseMXMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordListResponseMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseMXMeta) UnmarshalJSON

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

type RecordListResponseMXTTL

type RecordListResponseMXTTL interface {
	ImplementsDNSRecordListResponseMxttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseMXTTLNumber.

type RecordListResponseMXTTLNumber

type RecordListResponseMXTTLNumber float64
const (
	RecordListResponseMXTTLNumber1 RecordListResponseMXTTLNumber = 1
)

type RecordListResponseMXType

type RecordListResponseMXType string

Record type.

const (
	RecordListResponseMXTypeMX RecordListResponseMXType = "MX"
)

type RecordListResponseNAPTR

type RecordListResponseNAPTR struct {
	// Components of a NAPTR record.
	Data RecordListResponseNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseNAPTRType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseNAPTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordListResponseNAPTRJSON `json:"-"`
}

func (*RecordListResponseNAPTR) UnmarshalJSON

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

type RecordListResponseNAPTRData

type RecordListResponseNAPTRData 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    recordListResponseNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*RecordListResponseNAPTRData) UnmarshalJSON

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

type RecordListResponseNAPTRMeta

type RecordListResponseNAPTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordListResponseNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseNAPTRMeta) UnmarshalJSON

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

type RecordListResponseNAPTRTTL

type RecordListResponseNAPTRTTL interface {
	ImplementsDNSRecordListResponseNaptrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseNAPTRTTLNumber.

type RecordListResponseNAPTRTTLNumber

type RecordListResponseNAPTRTTLNumber float64
const (
	RecordListResponseNAPTRTTLNumber1 RecordListResponseNAPTRTTLNumber = 1
)

type RecordListResponseNAPTRType

type RecordListResponseNAPTRType string

Record type.

const (
	RecordListResponseNAPTRTypeNAPTR RecordListResponseNAPTRType = "NAPTR"
)

type RecordListResponseNS

type RecordListResponseNS struct {
	// A valid name server host name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseNSType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseNSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordListResponseNSJSON `json:"-"`
}

func (*RecordListResponseNS) UnmarshalJSON

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

type RecordListResponseNSMeta

type RecordListResponseNSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordListResponseNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseNSMeta) UnmarshalJSON

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

type RecordListResponseNSTTL

type RecordListResponseNSTTL interface {
	ImplementsDNSRecordListResponseNsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseNSTTLNumber.

type RecordListResponseNSTTLNumber

type RecordListResponseNSTTLNumber float64
const (
	RecordListResponseNSTTLNumber1 RecordListResponseNSTTLNumber = 1
)

type RecordListResponseNSType

type RecordListResponseNSType string

Record type.

const (
	RecordListResponseNSTypeNS RecordListResponseNSType = "NS"
)

type RecordListResponsePTR

type RecordListResponsePTR struct {
	// Domain name pointing to the address.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponsePTRType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponsePTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponsePTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponsePTRJSON `json:"-"`
}

func (*RecordListResponsePTR) UnmarshalJSON

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

type RecordListResponsePTRMeta

type RecordListResponsePTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponsePTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponsePTRMeta) UnmarshalJSON

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

type RecordListResponsePTRTTL

type RecordListResponsePTRTTL interface {
	ImplementsDNSRecordListResponsePtrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponsePTRTTLNumber.

type RecordListResponsePTRTTLNumber

type RecordListResponsePTRTTLNumber float64
const (
	RecordListResponsePTRTTLNumber1 RecordListResponsePTRTTLNumber = 1
)

type RecordListResponsePTRType

type RecordListResponsePTRType string

Record type.

const (
	RecordListResponsePTRTypePTR RecordListResponsePTRType = "PTR"
)

type RecordListResponseSRV

type RecordListResponseSRV struct {
	// Components of a SRV record.
	Data RecordListResponseSRVData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first
	// label is normally a service and the second a protocol name, each starting with
	// an underscore.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseSRVType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseSRVMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponseSRVJSON `json:"-"`
}

func (*RecordListResponseSRV) UnmarshalJSON

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

type RecordListResponseSRVData

type RecordListResponseSRVData struct {
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name string `json:"name" format:"hostname"`
	// 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 protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto string `json:"proto"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service string `json:"service"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64                       `json:"weight"`
	JSON   recordListResponseSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*RecordListResponseSRVData) UnmarshalJSON

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

type RecordListResponseSRVMeta

type RecordListResponseSRVMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponseSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseSRVMeta) UnmarshalJSON

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

type RecordListResponseSRVTTL

type RecordListResponseSRVTTL interface {
	ImplementsDNSRecordListResponseSrvttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseSRVTTLNumber.

type RecordListResponseSRVTTLNumber

type RecordListResponseSRVTTLNumber float64
const (
	RecordListResponseSRVTTLNumber1 RecordListResponseSRVTTLNumber = 1
)

type RecordListResponseSRVType

type RecordListResponseSRVType string

Record type.

const (
	RecordListResponseSRVTypeSRV RecordListResponseSRVType = "SRV"
)

type RecordListResponseSSHFP

type RecordListResponseSSHFP struct {
	// Components of a SSHFP record.
	Data RecordListResponseSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseSSHFPType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseSSHFPMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordListResponseSSHFPJSON `json:"-"`
}

func (*RecordListResponseSSHFP) UnmarshalJSON

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

type RecordListResponseSSHFPData

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

Components of a SSHFP record.

func (*RecordListResponseSSHFPData) UnmarshalJSON

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

type RecordListResponseSSHFPMeta

type RecordListResponseSSHFPMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordListResponseSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseSSHFPMeta) UnmarshalJSON

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

type RecordListResponseSSHFPTTL

type RecordListResponseSSHFPTTL interface {
	ImplementsDNSRecordListResponseSshfpttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseSSHFPTTLNumber.

type RecordListResponseSSHFPTTLNumber

type RecordListResponseSSHFPTTLNumber float64
const (
	RecordListResponseSSHFPTTLNumber1 RecordListResponseSSHFPTTLNumber = 1
)

type RecordListResponseSSHFPType

type RecordListResponseSSHFPType string

Record type.

const (
	RecordListResponseSSHFPTypeSSHFP RecordListResponseSSHFPType = "SSHFP"
)

type RecordListResponseSVCB

type RecordListResponseSVCB struct {
	// Components of a SVCB record.
	Data RecordListResponseSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseSVCBType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseSVCBMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordListResponseSVCBJSON `json:"-"`
}

func (*RecordListResponseSVCB) UnmarshalJSON

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

type RecordListResponseSVCBData

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

Components of a SVCB record.

func (*RecordListResponseSVCBData) UnmarshalJSON

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

type RecordListResponseSVCBMeta

type RecordListResponseSVCBMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordListResponseSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseSVCBMeta) UnmarshalJSON

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

type RecordListResponseSVCBTTL

type RecordListResponseSVCBTTL interface {
	ImplementsDNSRecordListResponseSvcbttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseSVCBTTLNumber.

type RecordListResponseSVCBTTLNumber

type RecordListResponseSVCBTTLNumber float64
const (
	RecordListResponseSVCBTTLNumber1 RecordListResponseSVCBTTLNumber = 1
)

type RecordListResponseSVCBType

type RecordListResponseSVCBType string

Record type.

const (
	RecordListResponseSVCBTypeSVCB RecordListResponseSVCBType = "SVCB"
)

type RecordListResponseSmimea

type RecordListResponseSmimea struct {
	// Components of a SMIMEA record.
	Data RecordListResponseSmimeaData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseSmimeaType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseSmimeaMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseSmimeaTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordListResponseSmimeaJSON `json:"-"`
}

func (*RecordListResponseSmimea) UnmarshalJSON

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

type RecordListResponseSmimeaData

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

Components of a SMIMEA record.

func (*RecordListResponseSmimeaData) UnmarshalJSON

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

type RecordListResponseSmimeaMeta

type RecordListResponseSmimeaMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordListResponseSmimeaMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseSmimeaMeta) UnmarshalJSON

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

type RecordListResponseSmimeaTTL

type RecordListResponseSmimeaTTL interface {
	ImplementsDNSRecordListResponseSmimeaTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseSmimeaTTLNumber.

type RecordListResponseSmimeaTTLNumber

type RecordListResponseSmimeaTTLNumber float64
const (
	RecordListResponseSmimeaTTLNumber1 RecordListResponseSmimeaTTLNumber = 1
)

type RecordListResponseSmimeaType

type RecordListResponseSmimeaType string

Record type.

const (
	RecordListResponseSmimeaTypeSmimea RecordListResponseSmimeaType = "SMIMEA"
)

type RecordListResponseTLSA

type RecordListResponseTLSA struct {
	// Components of a TLSA record.
	Data RecordListResponseTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseTLSAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseTLSAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordListResponseTLSAJSON `json:"-"`
}

func (*RecordListResponseTLSA) UnmarshalJSON

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

type RecordListResponseTLSAData

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

Components of a TLSA record.

func (*RecordListResponseTLSAData) UnmarshalJSON

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

type RecordListResponseTLSAMeta

type RecordListResponseTLSAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordListResponseTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseTLSAMeta) UnmarshalJSON

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

type RecordListResponseTLSATTL

type RecordListResponseTLSATTL interface {
	ImplementsDNSRecordListResponseTlsattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseTLSATTLNumber.

type RecordListResponseTLSATTLNumber

type RecordListResponseTLSATTLNumber float64
const (
	RecordListResponseTLSATTLNumber1 RecordListResponseTLSATTLNumber = 1
)

type RecordListResponseTLSAType

type RecordListResponseTLSAType string

Record type.

const (
	RecordListResponseTLSATypeTLSA RecordListResponseTLSAType = "TLSA"
)

type RecordListResponseTXT

type RecordListResponseTXT struct {
	// Text content for the record.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordListResponseTXTType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseTXTMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponseTXTJSON `json:"-"`
}

func (*RecordListResponseTXT) UnmarshalJSON

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

type RecordListResponseTXTMeta

type RecordListResponseTXTMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponseTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseTXTMeta) UnmarshalJSON

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

type RecordListResponseTXTTTL

type RecordListResponseTXTTTL interface {
	ImplementsDNSRecordListResponseTxtttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseTXTTTLNumber.

type RecordListResponseTXTTTLNumber

type RecordListResponseTXTTTLNumber float64
const (
	RecordListResponseTXTTTLNumber1 RecordListResponseTXTTTLNumber = 1
)

type RecordListResponseTXTType

type RecordListResponseTXTType string

Record type.

const (
	RecordListResponseTXTTypeTXT RecordListResponseTXTType = "TXT"
)

type RecordListResponseURI

type RecordListResponseURI struct {
	// Components of a URI record.
	Data RecordListResponseURIData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordListResponseURIType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordListResponseURIMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordListResponseURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordListResponseURIJSON `json:"-"`
}

func (*RecordListResponseURI) UnmarshalJSON

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

type RecordListResponseURIData

type RecordListResponseURIData struct {
	// The record content.
	Content string `json:"content"`
	// The record weight.
	Weight float64                       `json:"weight"`
	JSON   recordListResponseURIDataJSON `json:"-"`
}

Components of a URI record.

func (*RecordListResponseURIData) UnmarshalJSON

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

type RecordListResponseURIMeta

type RecordListResponseURIMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordListResponseURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordListResponseURIMeta) UnmarshalJSON

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

type RecordListResponseURITTL

type RecordListResponseURITTL interface {
	ImplementsDNSRecordListResponseUrittl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordListResponseURITTLNumber.

type RecordListResponseURITTLNumber

type RecordListResponseURITTLNumber float64
const (
	RecordListResponseURITTLNumber1 RecordListResponseURITTLNumber = 1
)

type RecordListResponseURIType

type RecordListResponseURIType string

Record type.

const (
	RecordListResponseURITypeURI RecordListResponseURIType = "URI"
)

type RecordNewParams

type RecordNewParams struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string]              `json:"comment"`
	Data    param.Field[RecordNewParamsData] `json:"data"`
	Meta    param.Field[RecordNewParamsMeta] `json:"meta"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]string] `json:"tags"`
	// 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[RecordNewParamsTTL] `json:"ttl"`
}

func (RecordNewParams) MarshalJSON

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

type RecordNewParamsData

type RecordNewParamsData struct {
	// algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// certificate.
	Certificate param.Field[string] `json:"certificate"`
	// The record content.
	Content param.Field[string] `json:"content"`
	// Digest.
	Digest param.Field[string] `json:"digest"`
	// Digest Type.
	DigestType param.Field[float64] `json:"digest_type"`
	// fingerprint.
	Fingerprint param.Field[string] `json:"fingerprint"`
	// Flags.
	Flags param.Field[string] `json:"flags"`
	// Key Tag.
	KeyTag param.Field[float64] `json:"key_tag"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordNewParamsDataLatDirection] `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[RecordNewParamsDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Matching Type.
	MatchingType param.Field[float64] `json:"matching_type"`
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name param.Field[string] `json:"name" format:"hostname"`
	// Order.
	Order param.Field[float64] `json:"order"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Preference.
	Preference param.Field[float64] `json:"preference"`
	// priority.
	Priority param.Field[float64] `json:"priority"`
	// A valid protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto param.Field[string] `json:"proto"`
	// Protocol.
	Protocol param.Field[float64] `json:"protocol"`
	// Public Key.
	PublicKey param.Field[string] `json:"public_key"`
	// Regex.
	Regex param.Field[string] `json:"regex"`
	// Replacement.
	Replacement param.Field[string] `json:"replacement"`
	// Selector.
	Selector param.Field[float64] `json:"selector"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service param.Field[string] `json:"service"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
	// Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
	Tag param.Field[string] `json:"tag"`
	// target.
	Target param.Field[string] `json:"target"`
	// type.
	Type param.Field[float64] `json:"type"`
	// Usage.
	Usage param.Field[float64] `json:"usage"`
	// value.
	Value param.Field[string] `json:"value"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

func (RecordNewParamsData) MarshalJSON

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

type RecordNewParamsDataLatDirection

type RecordNewParamsDataLatDirection string

Latitude direction.

const (
	RecordNewParamsDataLatDirectionN RecordNewParamsDataLatDirection = "N"
	RecordNewParamsDataLatDirectionS RecordNewParamsDataLatDirection = "S"
)

type RecordNewParamsDataLongDirection

type RecordNewParamsDataLongDirection string

Longitude direction.

const (
	RecordNewParamsDataLongDirectionE RecordNewParamsDataLongDirection = "E"
	RecordNewParamsDataLongDirectionW RecordNewParamsDataLongDirection = "W"
)

type RecordNewParamsMeta

type RecordNewParamsMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded param.Field[bool] `json:"auto_added"`
	// Where the record originated from.
	Source param.Field[string] `json:"source"`
}

func (RecordNewParamsMeta) MarshalJSON

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

type RecordNewParamsTTL

type RecordNewParamsTTL interface {
	ImplementsDNSRecordNewParamsTTL()
}

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.

Satisfied by shared.UnionFloat, dns.RecordNewParamsTTLNumber.

type RecordNewParamsTTLNumber

type RecordNewParamsTTLNumber float64
const (
	RecordNewParamsTTLNumber1 RecordNewParamsTTLNumber = 1
)

type RecordNewParamsType

type RecordNewParamsType string

Record type.

const (
	RecordNewParamsTypeURI RecordNewParamsType = "URI"
)

type RecordNewResponseA

type RecordNewResponseA struct {
	// A valid IPv4 address.
	Content string `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                 `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseAJSON `json:"-"`
}

func (*RecordNewResponseA) UnmarshalJSON

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

type RecordNewResponseAAAA

type RecordNewResponseAAAA struct {
	// A valid IPv6 address.
	Content string `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseAAAAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseAAAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseAAAAJSON `json:"-"`
}

func (*RecordNewResponseAAAA) UnmarshalJSON

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

type RecordNewResponseAAAAMeta

type RecordNewResponseAAAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordNewResponseAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseAAAAMeta) UnmarshalJSON

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

type RecordNewResponseAAAATTL

type RecordNewResponseAAAATTL interface {
	ImplementsDNSRecordNewResponseAaaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseAAAATTLNumber.

type RecordNewResponseAAAATTLNumber

type RecordNewResponseAAAATTLNumber float64
const (
	RecordNewResponseAAAATTLNumber1 RecordNewResponseAAAATTLNumber = 1
)

type RecordNewResponseAAAAType

type RecordNewResponseAAAAType string

Record type.

const (
	RecordNewResponseAAAATypeAAAA RecordNewResponseAAAAType = "AAAA"
)

type RecordNewResponseAMeta

type RecordNewResponseAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                     `json:"source"`
	JSON   recordNewResponseAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseAMeta) UnmarshalJSON

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

type RecordNewResponseATTL

type RecordNewResponseATTL interface {
	ImplementsDNSRecordNewResponseAttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseATTLNumber.

type RecordNewResponseATTLNumber

type RecordNewResponseATTLNumber float64
const (
	RecordNewResponseATTLNumber1 RecordNewResponseATTLNumber = 1
)

type RecordNewResponseAType

type RecordNewResponseAType string

Record type.

const (
	RecordNewResponseATypeA RecordNewResponseAType = "A"
)

type RecordNewResponseCAA

type RecordNewResponseCAA struct {
	// Components of a CAA record.
	Data RecordNewResponseCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseCAAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseCAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseCAAJSON `json:"-"`
}

func (*RecordNewResponseCAA) UnmarshalJSON

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

type RecordNewResponseCAAData

type RecordNewResponseCAAData 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  recordNewResponseCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*RecordNewResponseCAAData) UnmarshalJSON

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

type RecordNewResponseCAAMeta

type RecordNewResponseCAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponseCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseCAAMeta) UnmarshalJSON

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

type RecordNewResponseCAATTL

type RecordNewResponseCAATTL interface {
	ImplementsDNSRecordNewResponseCaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseCAATTLNumber.

type RecordNewResponseCAATTLNumber

type RecordNewResponseCAATTLNumber float64
const (
	RecordNewResponseCAATTLNumber1 RecordNewResponseCAATTLNumber = 1
)

type RecordNewResponseCAAType

type RecordNewResponseCAAType string

Record type.

const (
	RecordNewResponseCAATypeCAA RecordNewResponseCAAType = "CAA"
)

type RecordNewResponseCNAME

type RecordNewResponseCNAME struct {
	// A valid hostname. Must not match the record's name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseCNAMEType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseCNAMEMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseCNAMEJSON `json:"-"`
}

func (*RecordNewResponseCNAME) UnmarshalJSON

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

type RecordNewResponseCNAMEMeta

type RecordNewResponseCNAMEMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordNewResponseCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseCNAMEMeta) UnmarshalJSON

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

type RecordNewResponseCNAMETTL

type RecordNewResponseCNAMETTL interface {
	ImplementsDNSRecordNewResponseCnamettl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseCNAMETTLNumber.

type RecordNewResponseCNAMETTLNumber

type RecordNewResponseCNAMETTLNumber float64
const (
	RecordNewResponseCNAMETTLNumber1 RecordNewResponseCNAMETTLNumber = 1
)

type RecordNewResponseCNAMEType

type RecordNewResponseCNAMEType string

Record type.

const (
	RecordNewResponseCNAMETypeCNAME RecordNewResponseCNAMEType = "CNAME"
)

type RecordNewResponseCert

type RecordNewResponseCert struct {
	// Components of a CERT record.
	Data RecordNewResponseCertData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseCertType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseCertMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseCertTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseCertJSON `json:"-"`
}

func (*RecordNewResponseCert) UnmarshalJSON

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

type RecordNewResponseCertData

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

Components of a CERT record.

func (*RecordNewResponseCertData) UnmarshalJSON

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

type RecordNewResponseCertMeta

type RecordNewResponseCertMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordNewResponseCertMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseCertMeta) UnmarshalJSON

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

type RecordNewResponseCertTTL

type RecordNewResponseCertTTL interface {
	ImplementsDNSRecordNewResponseCertTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseCertTTLNumber.

type RecordNewResponseCertTTLNumber

type RecordNewResponseCertTTLNumber float64
const (
	RecordNewResponseCertTTLNumber1 RecordNewResponseCertTTLNumber = 1
)

type RecordNewResponseCertType

type RecordNewResponseCertType string

Record type.

const (
	RecordNewResponseCertTypeCert RecordNewResponseCertType = "CERT"
)

type RecordNewResponseDNSKEY

type RecordNewResponseDNSKEY struct {
	// Components of a DNSKEY record.
	Data RecordNewResponseDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseDNSKEYType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseDNSKEYMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseDNSKEYJSON `json:"-"`
}

func (*RecordNewResponseDNSKEY) UnmarshalJSON

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

type RecordNewResponseDNSKEYData

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

Components of a DNSKEY record.

func (*RecordNewResponseDNSKEYData) UnmarshalJSON

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

type RecordNewResponseDNSKEYMeta

type RecordNewResponseDNSKEYMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordNewResponseDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseDNSKEYMeta) UnmarshalJSON

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

type RecordNewResponseDNSKEYTTL

type RecordNewResponseDNSKEYTTL interface {
	ImplementsDNSRecordNewResponseDnskeyttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseDNSKEYTTLNumber.

type RecordNewResponseDNSKEYTTLNumber

type RecordNewResponseDNSKEYTTLNumber float64
const (
	RecordNewResponseDNSKEYTTLNumber1 RecordNewResponseDNSKEYTTLNumber = 1
)

type RecordNewResponseDNSKEYType

type RecordNewResponseDNSKEYType string

Record type.

const (
	RecordNewResponseDNSKEYTypeDNSKEY RecordNewResponseDNSKEYType = "DNSKEY"
)

type RecordNewResponseDS

type RecordNewResponseDS struct {
	// Components of a DS record.
	Data RecordNewResponseDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseDSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseDSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseDSJSON `json:"-"`
}

func (*RecordNewResponseDS) UnmarshalJSON

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

type RecordNewResponseDSData

type RecordNewResponseDSData 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   recordNewResponseDSDataJSON `json:"-"`
}

Components of a DS record.

func (*RecordNewResponseDSData) UnmarshalJSON

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

type RecordNewResponseDSMeta

type RecordNewResponseDSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordNewResponseDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseDSMeta) UnmarshalJSON

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

type RecordNewResponseDSTTL

type RecordNewResponseDSTTL interface {
	ImplementsDNSRecordNewResponseDsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseDSTTLNumber.

type RecordNewResponseDSTTLNumber

type RecordNewResponseDSTTLNumber float64
const (
	RecordNewResponseDSTTLNumber1 RecordNewResponseDSTTLNumber = 1
)

type RecordNewResponseDSType

type RecordNewResponseDSType string

Record type.

const (
	RecordNewResponseDSTypeDS RecordNewResponseDSType = "DS"
)

type RecordNewResponseEnvelope

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

func (*RecordNewResponseEnvelope) UnmarshalJSON

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

type RecordNewResponseEnvelopeErrors

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

func (*RecordNewResponseEnvelopeErrors) UnmarshalJSON

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

type RecordNewResponseEnvelopeMessages

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

func (*RecordNewResponseEnvelopeMessages) UnmarshalJSON

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

type RecordNewResponseEnvelopeSuccess

type RecordNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordNewResponseEnvelopeSuccessTrue RecordNewResponseEnvelopeSuccess = true
)

type RecordNewResponseHTTPS

type RecordNewResponseHTTPS struct {
	// Components of a HTTPS record.
	Data RecordNewResponseHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseHTTPSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseHTTPSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseHTTPSJSON `json:"-"`
}

func (*RecordNewResponseHTTPS) UnmarshalJSON

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

type RecordNewResponseHTTPSData

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

Components of a HTTPS record.

func (*RecordNewResponseHTTPSData) UnmarshalJSON

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

type RecordNewResponseHTTPSMeta

type RecordNewResponseHTTPSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordNewResponseHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseHTTPSMeta) UnmarshalJSON

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

type RecordNewResponseHTTPSTTL

type RecordNewResponseHTTPSTTL interface {
	ImplementsDNSRecordNewResponseHttpsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseHTTPSTTLNumber.

type RecordNewResponseHTTPSTTLNumber

type RecordNewResponseHTTPSTTLNumber float64
const (
	RecordNewResponseHTTPSTTLNumber1 RecordNewResponseHTTPSTTLNumber = 1
)

type RecordNewResponseHTTPSType

type RecordNewResponseHTTPSType string

Record type.

const (
	RecordNewResponseHTTPSTypeHTTPS RecordNewResponseHTTPSType = "HTTPS"
)

type RecordNewResponseLOC

type RecordNewResponseLOC struct {
	// Components of a LOC record.
	Data RecordNewResponseLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseLOCType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseLOCMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseLOCJSON `json:"-"`
}

func (*RecordNewResponseLOC) UnmarshalJSON

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

type RecordNewResponseLOCData

type RecordNewResponseLOCData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection RecordNewResponseLOCDataLatDirection `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 RecordNewResponseLOCDataLongDirection `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 recordNewResponseLOCDataJSON `json:"-"`
}

Components of a LOC record.

func (*RecordNewResponseLOCData) UnmarshalJSON

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

type RecordNewResponseLOCDataLatDirection

type RecordNewResponseLOCDataLatDirection string

Latitude direction.

const (
	RecordNewResponseLOCDataLatDirectionN RecordNewResponseLOCDataLatDirection = "N"
	RecordNewResponseLOCDataLatDirectionS RecordNewResponseLOCDataLatDirection = "S"
)

type RecordNewResponseLOCDataLongDirection

type RecordNewResponseLOCDataLongDirection string

Longitude direction.

const (
	RecordNewResponseLOCDataLongDirectionE RecordNewResponseLOCDataLongDirection = "E"
	RecordNewResponseLOCDataLongDirectionW RecordNewResponseLOCDataLongDirection = "W"
)

type RecordNewResponseLOCMeta

type RecordNewResponseLOCMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponseLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseLOCMeta) UnmarshalJSON

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

type RecordNewResponseLOCTTL

type RecordNewResponseLOCTTL interface {
	ImplementsDNSRecordNewResponseLocttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseLOCTTLNumber.

type RecordNewResponseLOCTTLNumber

type RecordNewResponseLOCTTLNumber float64
const (
	RecordNewResponseLOCTTLNumber1 RecordNewResponseLOCTTLNumber = 1
)

type RecordNewResponseLOCType

type RecordNewResponseLOCType string

Record type.

const (
	RecordNewResponseLOCTypeLOC RecordNewResponseLOCType = "LOC"
)

type RecordNewResponseMX

type RecordNewResponseMX struct {
	// A valid mail server hostname.
	Content string `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordNewResponseMXType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseMXMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseMXJSON `json:"-"`
}

func (*RecordNewResponseMX) UnmarshalJSON

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

type RecordNewResponseMXMeta

type RecordNewResponseMXMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordNewResponseMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseMXMeta) UnmarshalJSON

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

type RecordNewResponseMXTTL

type RecordNewResponseMXTTL interface {
	ImplementsDNSRecordNewResponseMxttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseMXTTLNumber.

type RecordNewResponseMXTTLNumber

type RecordNewResponseMXTTLNumber float64
const (
	RecordNewResponseMXTTLNumber1 RecordNewResponseMXTTLNumber = 1
)

type RecordNewResponseMXType

type RecordNewResponseMXType string

Record type.

const (
	RecordNewResponseMXTypeMX RecordNewResponseMXType = "MX"
)

type RecordNewResponseNAPTR

type RecordNewResponseNAPTR struct {
	// Components of a NAPTR record.
	Data RecordNewResponseNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseNAPTRType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseNAPTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseNAPTRJSON `json:"-"`
}

func (*RecordNewResponseNAPTR) UnmarshalJSON

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

type RecordNewResponseNAPTRData

type RecordNewResponseNAPTRData 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    recordNewResponseNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*RecordNewResponseNAPTRData) UnmarshalJSON

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

type RecordNewResponseNAPTRMeta

type RecordNewResponseNAPTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordNewResponseNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseNAPTRMeta) UnmarshalJSON

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

type RecordNewResponseNAPTRTTL

type RecordNewResponseNAPTRTTL interface {
	ImplementsDNSRecordNewResponseNaptrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseNAPTRTTLNumber.

type RecordNewResponseNAPTRTTLNumber

type RecordNewResponseNAPTRTTLNumber float64
const (
	RecordNewResponseNAPTRTTLNumber1 RecordNewResponseNAPTRTTLNumber = 1
)

type RecordNewResponseNAPTRType

type RecordNewResponseNAPTRType string

Record type.

const (
	RecordNewResponseNAPTRTypeNAPTR RecordNewResponseNAPTRType = "NAPTR"
)

type RecordNewResponseNS

type RecordNewResponseNS struct {
	// A valid name server host name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseNSType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseNSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                  `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseNSJSON `json:"-"`
}

func (*RecordNewResponseNS) UnmarshalJSON

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

type RecordNewResponseNSMeta

type RecordNewResponseNSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                      `json:"source"`
	JSON   recordNewResponseNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseNSMeta) UnmarshalJSON

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

type RecordNewResponseNSTTL

type RecordNewResponseNSTTL interface {
	ImplementsDNSRecordNewResponseNsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseNSTTLNumber.

type RecordNewResponseNSTTLNumber

type RecordNewResponseNSTTLNumber float64
const (
	RecordNewResponseNSTTLNumber1 RecordNewResponseNSTTLNumber = 1
)

type RecordNewResponseNSType

type RecordNewResponseNSType string

Record type.

const (
	RecordNewResponseNSTypeNS RecordNewResponseNSType = "NS"
)

type RecordNewResponsePTR

type RecordNewResponsePTR struct {
	// Domain name pointing to the address.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponsePTRType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponsePTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponsePTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponsePTRJSON `json:"-"`
}

func (*RecordNewResponsePTR) UnmarshalJSON

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

type RecordNewResponsePTRMeta

type RecordNewResponsePTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponsePTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponsePTRMeta) UnmarshalJSON

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

type RecordNewResponsePTRTTL

type RecordNewResponsePTRTTL interface {
	ImplementsDNSRecordNewResponsePtrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponsePTRTTLNumber.

type RecordNewResponsePTRTTLNumber

type RecordNewResponsePTRTTLNumber float64
const (
	RecordNewResponsePTRTTLNumber1 RecordNewResponsePTRTTLNumber = 1
)

type RecordNewResponsePTRType

type RecordNewResponsePTRType string

Record type.

const (
	RecordNewResponsePTRTypePTR RecordNewResponsePTRType = "PTR"
)

type RecordNewResponseSRV

type RecordNewResponseSRV struct {
	// Components of a SRV record.
	Data RecordNewResponseSRVData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first
	// label is normally a service and the second a protocol name, each starting with
	// an underscore.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseSRVType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseSRVMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseSRVJSON `json:"-"`
}

func (*RecordNewResponseSRV) UnmarshalJSON

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

type RecordNewResponseSRVData

type RecordNewResponseSRVData struct {
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name string `json:"name" format:"hostname"`
	// 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 protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto string `json:"proto"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service string `json:"service"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64                      `json:"weight"`
	JSON   recordNewResponseSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*RecordNewResponseSRVData) UnmarshalJSON

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

type RecordNewResponseSRVMeta

type RecordNewResponseSRVMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponseSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseSRVMeta) UnmarshalJSON

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

type RecordNewResponseSRVTTL

type RecordNewResponseSRVTTL interface {
	ImplementsDNSRecordNewResponseSrvttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseSRVTTLNumber.

type RecordNewResponseSRVTTLNumber

type RecordNewResponseSRVTTLNumber float64
const (
	RecordNewResponseSRVTTLNumber1 RecordNewResponseSRVTTLNumber = 1
)

type RecordNewResponseSRVType

type RecordNewResponseSRVType string

Record type.

const (
	RecordNewResponseSRVTypeSRV RecordNewResponseSRVType = "SRV"
)

type RecordNewResponseSSHFP

type RecordNewResponseSSHFP struct {
	// Components of a SSHFP record.
	Data RecordNewResponseSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseSSHFPType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseSSHFPMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseSSHFPJSON `json:"-"`
}

func (*RecordNewResponseSSHFP) UnmarshalJSON

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

type RecordNewResponseSSHFPData

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

Components of a SSHFP record.

func (*RecordNewResponseSSHFPData) UnmarshalJSON

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

type RecordNewResponseSSHFPMeta

type RecordNewResponseSSHFPMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordNewResponseSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseSSHFPMeta) UnmarshalJSON

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

type RecordNewResponseSSHFPTTL

type RecordNewResponseSSHFPTTL interface {
	ImplementsDNSRecordNewResponseSshfpttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseSSHFPTTLNumber.

type RecordNewResponseSSHFPTTLNumber

type RecordNewResponseSSHFPTTLNumber float64
const (
	RecordNewResponseSSHFPTTLNumber1 RecordNewResponseSSHFPTTLNumber = 1
)

type RecordNewResponseSSHFPType

type RecordNewResponseSSHFPType string

Record type.

const (
	RecordNewResponseSSHFPTypeSSHFP RecordNewResponseSSHFPType = "SSHFP"
)

type RecordNewResponseSVCB

type RecordNewResponseSVCB struct {
	// Components of a SVCB record.
	Data RecordNewResponseSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseSVCBType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseSVCBMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseSVCBJSON `json:"-"`
}

func (*RecordNewResponseSVCB) UnmarshalJSON

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

type RecordNewResponseSVCBData

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

Components of a SVCB record.

func (*RecordNewResponseSVCBData) UnmarshalJSON

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

type RecordNewResponseSVCBMeta

type RecordNewResponseSVCBMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordNewResponseSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseSVCBMeta) UnmarshalJSON

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

type RecordNewResponseSVCBTTL

type RecordNewResponseSVCBTTL interface {
	ImplementsDNSRecordNewResponseSvcbttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseSVCBTTLNumber.

type RecordNewResponseSVCBTTLNumber

type RecordNewResponseSVCBTTLNumber float64
const (
	RecordNewResponseSVCBTTLNumber1 RecordNewResponseSVCBTTLNumber = 1
)

type RecordNewResponseSVCBType

type RecordNewResponseSVCBType string

Record type.

const (
	RecordNewResponseSVCBTypeSVCB RecordNewResponseSVCBType = "SVCB"
)

type RecordNewResponseSmimea

type RecordNewResponseSmimea struct {
	// Components of a SMIMEA record.
	Data RecordNewResponseSmimeaData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseSmimeaType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseSmimeaMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseSmimeaTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseSmimeaJSON `json:"-"`
}

func (*RecordNewResponseSmimea) UnmarshalJSON

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

type RecordNewResponseSmimeaData

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

Components of a SMIMEA record.

func (*RecordNewResponseSmimeaData) UnmarshalJSON

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

type RecordNewResponseSmimeaMeta

type RecordNewResponseSmimeaMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordNewResponseSmimeaMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseSmimeaMeta) UnmarshalJSON

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

type RecordNewResponseSmimeaTTL

type RecordNewResponseSmimeaTTL interface {
	ImplementsDNSRecordNewResponseSmimeaTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseSmimeaTTLNumber.

type RecordNewResponseSmimeaTTLNumber

type RecordNewResponseSmimeaTTLNumber float64
const (
	RecordNewResponseSmimeaTTLNumber1 RecordNewResponseSmimeaTTLNumber = 1
)

type RecordNewResponseSmimeaType

type RecordNewResponseSmimeaType string

Record type.

const (
	RecordNewResponseSmimeaTypeSmimea RecordNewResponseSmimeaType = "SMIMEA"
)

type RecordNewResponseTLSA

type RecordNewResponseTLSA struct {
	// Components of a TLSA record.
	Data RecordNewResponseTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseTLSAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseTLSAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseTLSAJSON `json:"-"`
}

func (*RecordNewResponseTLSA) UnmarshalJSON

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

type RecordNewResponseTLSAData

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

Components of a TLSA record.

func (*RecordNewResponseTLSAData) UnmarshalJSON

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

type RecordNewResponseTLSAMeta

type RecordNewResponseTLSAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordNewResponseTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseTLSAMeta) UnmarshalJSON

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

type RecordNewResponseTLSATTL

type RecordNewResponseTLSATTL interface {
	ImplementsDNSRecordNewResponseTlsattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseTLSATTLNumber.

type RecordNewResponseTLSATTLNumber

type RecordNewResponseTLSATTLNumber float64
const (
	RecordNewResponseTLSATTLNumber1 RecordNewResponseTLSATTLNumber = 1
)

type RecordNewResponseTLSAType

type RecordNewResponseTLSAType string

Record type.

const (
	RecordNewResponseTLSATypeTLSA RecordNewResponseTLSAType = "TLSA"
)

type RecordNewResponseTXT

type RecordNewResponseTXT struct {
	// Text content for the record.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordNewResponseTXTType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseTXTMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseTXTJSON `json:"-"`
}

func (*RecordNewResponseTXT) UnmarshalJSON

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

type RecordNewResponseTXTMeta

type RecordNewResponseTXTMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponseTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseTXTMeta) UnmarshalJSON

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

type RecordNewResponseTXTTTL

type RecordNewResponseTXTTTL interface {
	ImplementsDNSRecordNewResponseTxtttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseTXTTTLNumber.

type RecordNewResponseTXTTTLNumber

type RecordNewResponseTXTTTLNumber float64
const (
	RecordNewResponseTXTTTLNumber1 RecordNewResponseTXTTTLNumber = 1
)

type RecordNewResponseTXTType

type RecordNewResponseTXTType string

Record type.

const (
	RecordNewResponseTXTTypeTXT RecordNewResponseTXTType = "TXT"
)

type RecordNewResponseURI

type RecordNewResponseURI struct {
	// Components of a URI record.
	Data RecordNewResponseURIData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordNewResponseURIType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordNewResponseURIMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordNewResponseURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                   `json:"zone_name" format:"hostname"`
	JSON     recordNewResponseURIJSON `json:"-"`
}

func (*RecordNewResponseURI) UnmarshalJSON

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

type RecordNewResponseURIData

type RecordNewResponseURIData struct {
	// The record content.
	Content string `json:"content"`
	// The record weight.
	Weight float64                      `json:"weight"`
	JSON   recordNewResponseURIDataJSON `json:"-"`
}

Components of a URI record.

func (*RecordNewResponseURIData) UnmarshalJSON

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

type RecordNewResponseURIMeta

type RecordNewResponseURIMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                       `json:"source"`
	JSON   recordNewResponseURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordNewResponseURIMeta) UnmarshalJSON

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

type RecordNewResponseURITTL

type RecordNewResponseURITTL interface {
	ImplementsDNSRecordNewResponseUrittl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordNewResponseURITTLNumber.

type RecordNewResponseURITTLNumber

type RecordNewResponseURITTLNumber float64
const (
	RecordNewResponseURITTLNumber1 RecordNewResponseURITTLNumber = 1
)

type RecordNewResponseURIType

type RecordNewResponseURIType string

Record type.

const (
	RecordNewResponseURITypeURI RecordNewResponseURIType = "URI"
)

type RecordScanParams

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

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"`
	Result   RecordScanResponse                   `json:"result,required"`
	// Whether the API call was successful
	Success RecordScanResponseEnvelopeSuccess `json:"success,required"`
	Timing  RecordScanResponseEnvelopeTiming  `json:"timing"`
	JSON    recordScanResponseEnvelopeJSON    `json:"-"`
}

func (*RecordScanResponseEnvelope) UnmarshalJSON

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

type RecordScanResponseEnvelopeErrors

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

func (*RecordScanResponseEnvelopeErrors) UnmarshalJSON

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

type RecordScanResponseEnvelopeMessages

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

func (*RecordScanResponseEnvelopeMessages) UnmarshalJSON

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

type RecordScanResponseEnvelopeSuccess

type RecordScanResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordScanResponseEnvelopeSuccessTrue RecordScanResponseEnvelopeSuccess = true
)

type RecordScanResponseEnvelopeTiming

type RecordScanResponseEnvelopeTiming struct {
	// When the file parsing ended.
	EndTime time.Time `json:"end_time" format:"date-time"`
	// Processing time of the file in seconds.
	ProcessTime float64 `json:"process_time"`
	// When the file parsing started.
	StartTime time.Time                            `json:"start_time" format:"date-time"`
	JSON      recordScanResponseEnvelopeTimingJSON `json:"-"`
}

func (*RecordScanResponseEnvelopeTiming) UnmarshalJSON

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

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) 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 *RecordEditResponse, 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 *RecordGetResponse, 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 *RecordNewResponse, 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

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 *RecordUpdateResponse, 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 RecordUpdateParams

type RecordUpdateParams struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string]                 `json:"comment"`
	Data    param.Field[RecordUpdateParamsData] `json:"data"`
	Meta    param.Field[RecordUpdateParamsMeta] `json:"meta"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags param.Field[[]string] `json:"tags"`
	// 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[RecordUpdateParamsTTL] `json:"ttl"`
}

func (RecordUpdateParams) MarshalJSON

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

type RecordUpdateParamsData

type RecordUpdateParamsData struct {
	// algorithm.
	Algorithm param.Field[float64] `json:"algorithm"`
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// certificate.
	Certificate param.Field[string] `json:"certificate"`
	// The record content.
	Content param.Field[string] `json:"content"`
	// Digest.
	Digest param.Field[string] `json:"digest"`
	// Digest Type.
	DigestType param.Field[float64] `json:"digest_type"`
	// fingerprint.
	Fingerprint param.Field[string] `json:"fingerprint"`
	// Flags.
	Flags param.Field[string] `json:"flags"`
	// Key Tag.
	KeyTag param.Field[float64] `json:"key_tag"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordUpdateParamsDataLatDirection] `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[RecordUpdateParamsDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Matching Type.
	MatchingType param.Field[float64] `json:"matching_type"`
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name param.Field[string] `json:"name" format:"hostname"`
	// Order.
	Order param.Field[float64] `json:"order"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Preference.
	Preference param.Field[float64] `json:"preference"`
	// priority.
	Priority param.Field[float64] `json:"priority"`
	// A valid protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto param.Field[string] `json:"proto"`
	// Protocol.
	Protocol param.Field[float64] `json:"protocol"`
	// Public Key.
	PublicKey param.Field[string] `json:"public_key"`
	// Regex.
	Regex param.Field[string] `json:"regex"`
	// Replacement.
	Replacement param.Field[string] `json:"replacement"`
	// Selector.
	Selector param.Field[float64] `json:"selector"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service param.Field[string] `json:"service"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
	// Name of the property controlled by this record (e.g.: issue, issuewild, iodef).
	Tag param.Field[string] `json:"tag"`
	// target.
	Target param.Field[string] `json:"target"`
	// type.
	Type param.Field[float64] `json:"type"`
	// Usage.
	Usage param.Field[float64] `json:"usage"`
	// value.
	Value param.Field[string] `json:"value"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

func (RecordUpdateParamsData) MarshalJSON

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

type RecordUpdateParamsDataLatDirection

type RecordUpdateParamsDataLatDirection string

Latitude direction.

const (
	RecordUpdateParamsDataLatDirectionN RecordUpdateParamsDataLatDirection = "N"
	RecordUpdateParamsDataLatDirectionS RecordUpdateParamsDataLatDirection = "S"
)

type RecordUpdateParamsDataLongDirection

type RecordUpdateParamsDataLongDirection string

Longitude direction.

const (
	RecordUpdateParamsDataLongDirectionE RecordUpdateParamsDataLongDirection = "E"
	RecordUpdateParamsDataLongDirectionW RecordUpdateParamsDataLongDirection = "W"
)

type RecordUpdateParamsMeta

type RecordUpdateParamsMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded param.Field[bool] `json:"auto_added"`
	// Where the record originated from.
	Source param.Field[string] `json:"source"`
}

func (RecordUpdateParamsMeta) MarshalJSON

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

type RecordUpdateParamsTTL

type RecordUpdateParamsTTL interface {
	ImplementsDNSRecordUpdateParamsTTL()
}

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.

Satisfied by shared.UnionFloat, dns.RecordUpdateParamsTTLNumber.

type RecordUpdateParamsTTLNumber

type RecordUpdateParamsTTLNumber float64
const (
	RecordUpdateParamsTTLNumber1 RecordUpdateParamsTTLNumber = 1
)

type RecordUpdateParamsType

type RecordUpdateParamsType string

Record type.

const (
	RecordUpdateParamsTypeURI RecordUpdateParamsType = "URI"
)

type RecordUpdateResponseA

type RecordUpdateResponseA struct {
	// A valid IPv4 address.
	Content string `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                    `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseAJSON `json:"-"`
}

func (*RecordUpdateResponseA) UnmarshalJSON

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

type RecordUpdateResponseAAAA

type RecordUpdateResponseAAAA struct {
	// A valid IPv6 address.
	Content string `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseAAAAType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseAAAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseAAAAJSON `json:"-"`
}

func (*RecordUpdateResponseAAAA) UnmarshalJSON

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

type RecordUpdateResponseAAAAMeta

type RecordUpdateResponseAAAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordUpdateResponseAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseAAAAMeta) UnmarshalJSON

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

type RecordUpdateResponseAAAATTL

type RecordUpdateResponseAAAATTL interface {
	ImplementsDNSRecordUpdateResponseAaaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseAAAATTLNumber.

type RecordUpdateResponseAAAATTLNumber

type RecordUpdateResponseAAAATTLNumber float64
const (
	RecordUpdateResponseAAAATTLNumber1 RecordUpdateResponseAAAATTLNumber = 1
)

type RecordUpdateResponseAAAAType

type RecordUpdateResponseAAAAType string

Record type.

const (
	RecordUpdateResponseAAAATypeAAAA RecordUpdateResponseAAAAType = "AAAA"
)

type RecordUpdateResponseAMeta

type RecordUpdateResponseAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                        `json:"source"`
	JSON   recordUpdateResponseAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseAMeta) UnmarshalJSON

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

type RecordUpdateResponseATTL

type RecordUpdateResponseATTL interface {
	ImplementsDNSRecordUpdateResponseAttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseATTLNumber.

type RecordUpdateResponseATTLNumber

type RecordUpdateResponseATTLNumber float64
const (
	RecordUpdateResponseATTLNumber1 RecordUpdateResponseATTLNumber = 1
)

type RecordUpdateResponseAType

type RecordUpdateResponseAType string

Record type.

const (
	RecordUpdateResponseATypeA RecordUpdateResponseAType = "A"
)

type RecordUpdateResponseCAA

type RecordUpdateResponseCAA struct {
	// Components of a CAA record.
	Data RecordUpdateResponseCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseCAAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseCAAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseCAAJSON `json:"-"`
}

func (*RecordUpdateResponseCAA) UnmarshalJSON

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

type RecordUpdateResponseCAAData

type RecordUpdateResponseCAAData 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  recordUpdateResponseCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*RecordUpdateResponseCAAData) UnmarshalJSON

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

type RecordUpdateResponseCAAMeta

type RecordUpdateResponseCAAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponseCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseCAAMeta) UnmarshalJSON

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

type RecordUpdateResponseCAATTL

type RecordUpdateResponseCAATTL interface {
	ImplementsDNSRecordUpdateResponseCaattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseCAATTLNumber.

type RecordUpdateResponseCAATTLNumber

type RecordUpdateResponseCAATTLNumber float64
const (
	RecordUpdateResponseCAATTLNumber1 RecordUpdateResponseCAATTLNumber = 1
)

type RecordUpdateResponseCAAType

type RecordUpdateResponseCAAType string

Record type.

const (
	RecordUpdateResponseCAATypeCAA RecordUpdateResponseCAAType = "CAA"
)

type RecordUpdateResponseCNAME

type RecordUpdateResponseCNAME struct {
	// A valid hostname. Must not match the record's name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseCNAMEType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseCNAMEMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// 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"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                        `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseCNAMEJSON `json:"-"`
}

func (*RecordUpdateResponseCNAME) UnmarshalJSON

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

type RecordUpdateResponseCNAMEMeta

type RecordUpdateResponseCNAMEMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                            `json:"source"`
	JSON   recordUpdateResponseCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseCNAMEMeta) UnmarshalJSON

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

type RecordUpdateResponseCNAMETTL

type RecordUpdateResponseCNAMETTL interface {
	ImplementsDNSRecordUpdateResponseCnamettl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseCNAMETTLNumber.

type RecordUpdateResponseCNAMETTLNumber

type RecordUpdateResponseCNAMETTLNumber float64
const (
	RecordUpdateResponseCNAMETTLNumber1 RecordUpdateResponseCNAMETTLNumber = 1
)

type RecordUpdateResponseCNAMEType

type RecordUpdateResponseCNAMEType string

Record type.

const (
	RecordUpdateResponseCNAMETypeCNAME RecordUpdateResponseCNAMEType = "CNAME"
)

type RecordUpdateResponseCert

type RecordUpdateResponseCert struct {
	// Components of a CERT record.
	Data RecordUpdateResponseCertData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseCertType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseCertMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseCertTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseCertJSON `json:"-"`
}

func (*RecordUpdateResponseCert) UnmarshalJSON

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

type RecordUpdateResponseCertData

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

Components of a CERT record.

func (*RecordUpdateResponseCertData) UnmarshalJSON

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

type RecordUpdateResponseCertMeta

type RecordUpdateResponseCertMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordUpdateResponseCertMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseCertMeta) UnmarshalJSON

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

type RecordUpdateResponseCertTTL

type RecordUpdateResponseCertTTL interface {
	ImplementsDNSRecordUpdateResponseCertTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseCertTTLNumber.

type RecordUpdateResponseCertTTLNumber

type RecordUpdateResponseCertTTLNumber float64
const (
	RecordUpdateResponseCertTTLNumber1 RecordUpdateResponseCertTTLNumber = 1
)

type RecordUpdateResponseCertType

type RecordUpdateResponseCertType string

Record type.

const (
	RecordUpdateResponseCertTypeCert RecordUpdateResponseCertType = "CERT"
)

type RecordUpdateResponseDNSKEY

type RecordUpdateResponseDNSKEY struct {
	// Components of a DNSKEY record.
	Data RecordUpdateResponseDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseDNSKEYType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseDNSKEYMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                         `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseDNSKEYJSON `json:"-"`
}

func (*RecordUpdateResponseDNSKEY) UnmarshalJSON

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

type RecordUpdateResponseDNSKEYData

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

Components of a DNSKEY record.

func (*RecordUpdateResponseDNSKEYData) UnmarshalJSON

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

type RecordUpdateResponseDNSKEYMeta

type RecordUpdateResponseDNSKEYMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                             `json:"source"`
	JSON   recordUpdateResponseDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseDNSKEYMeta) UnmarshalJSON

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

type RecordUpdateResponseDNSKEYTTL

type RecordUpdateResponseDNSKEYTTL interface {
	ImplementsDNSRecordUpdateResponseDnskeyttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseDNSKEYTTLNumber.

type RecordUpdateResponseDNSKEYTTLNumber

type RecordUpdateResponseDNSKEYTTLNumber float64
const (
	RecordUpdateResponseDNSKEYTTLNumber1 RecordUpdateResponseDNSKEYTTLNumber = 1
)

type RecordUpdateResponseDNSKEYType

type RecordUpdateResponseDNSKEYType string

Record type.

const (
	RecordUpdateResponseDNSKEYTypeDNSKEY RecordUpdateResponseDNSKEYType = "DNSKEY"
)

type RecordUpdateResponseDS

type RecordUpdateResponseDS struct {
	// Components of a DS record.
	Data RecordUpdateResponseDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseDSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseDSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseDSJSON `json:"-"`
}

func (*RecordUpdateResponseDS) UnmarshalJSON

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

type RecordUpdateResponseDSData

type RecordUpdateResponseDSData 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   recordUpdateResponseDSDataJSON `json:"-"`
}

Components of a DS record.

func (*RecordUpdateResponseDSData) UnmarshalJSON

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

type RecordUpdateResponseDSMeta

type RecordUpdateResponseDSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordUpdateResponseDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseDSMeta) UnmarshalJSON

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

type RecordUpdateResponseDSTTL

type RecordUpdateResponseDSTTL interface {
	ImplementsDNSRecordUpdateResponseDsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseDSTTLNumber.

type RecordUpdateResponseDSTTLNumber

type RecordUpdateResponseDSTTLNumber float64
const (
	RecordUpdateResponseDSTTLNumber1 RecordUpdateResponseDSTTLNumber = 1
)

type RecordUpdateResponseDSType

type RecordUpdateResponseDSType string

Record type.

const (
	RecordUpdateResponseDSTypeDS RecordUpdateResponseDSType = "DS"
)

type RecordUpdateResponseEnvelope

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

func (*RecordUpdateResponseEnvelope) UnmarshalJSON

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

type RecordUpdateResponseEnvelopeErrors

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

func (*RecordUpdateResponseEnvelopeErrors) UnmarshalJSON

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

type RecordUpdateResponseEnvelopeMessages

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

func (*RecordUpdateResponseEnvelopeMessages) UnmarshalJSON

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

type RecordUpdateResponseEnvelopeSuccess

type RecordUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RecordUpdateResponseEnvelopeSuccessTrue RecordUpdateResponseEnvelopeSuccess = true
)

type RecordUpdateResponseHTTPS

type RecordUpdateResponseHTTPS struct {
	// Components of a HTTPS record.
	Data RecordUpdateResponseHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseHTTPSType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseHTTPSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                        `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseHTTPSJSON `json:"-"`
}

func (*RecordUpdateResponseHTTPS) UnmarshalJSON

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

type RecordUpdateResponseHTTPSData

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

Components of a HTTPS record.

func (*RecordUpdateResponseHTTPSData) UnmarshalJSON

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

type RecordUpdateResponseHTTPSMeta

type RecordUpdateResponseHTTPSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                            `json:"source"`
	JSON   recordUpdateResponseHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseHTTPSMeta) UnmarshalJSON

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

type RecordUpdateResponseHTTPSTTL

type RecordUpdateResponseHTTPSTTL interface {
	ImplementsDNSRecordUpdateResponseHttpsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseHTTPSTTLNumber.

type RecordUpdateResponseHTTPSTTLNumber

type RecordUpdateResponseHTTPSTTLNumber float64
const (
	RecordUpdateResponseHTTPSTTLNumber1 RecordUpdateResponseHTTPSTTLNumber = 1
)

type RecordUpdateResponseHTTPSType

type RecordUpdateResponseHTTPSType string

Record type.

const (
	RecordUpdateResponseHTTPSTypeHTTPS RecordUpdateResponseHTTPSType = "HTTPS"
)

type RecordUpdateResponseLOC

type RecordUpdateResponseLOC struct {
	// Components of a LOC record.
	Data RecordUpdateResponseLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseLOCType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseLOCMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseLOCJSON `json:"-"`
}

func (*RecordUpdateResponseLOC) UnmarshalJSON

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

type RecordUpdateResponseLOCData

type RecordUpdateResponseLOCData struct {
	// Altitude of location in meters.
	Altitude float64 `json:"altitude"`
	// Degrees of latitude.
	LatDegrees float64 `json:"lat_degrees"`
	// Latitude direction.
	LatDirection RecordUpdateResponseLOCDataLatDirection `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 RecordUpdateResponseLOCDataLongDirection `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 recordUpdateResponseLOCDataJSON `json:"-"`
}

Components of a LOC record.

func (*RecordUpdateResponseLOCData) UnmarshalJSON

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

type RecordUpdateResponseLOCDataLatDirection

type RecordUpdateResponseLOCDataLatDirection string

Latitude direction.

const (
	RecordUpdateResponseLOCDataLatDirectionN RecordUpdateResponseLOCDataLatDirection = "N"
	RecordUpdateResponseLOCDataLatDirectionS RecordUpdateResponseLOCDataLatDirection = "S"
)

type RecordUpdateResponseLOCDataLongDirection

type RecordUpdateResponseLOCDataLongDirection string

Longitude direction.

const (
	RecordUpdateResponseLOCDataLongDirectionE RecordUpdateResponseLOCDataLongDirection = "E"
	RecordUpdateResponseLOCDataLongDirectionW RecordUpdateResponseLOCDataLongDirection = "W"
)

type RecordUpdateResponseLOCMeta

type RecordUpdateResponseLOCMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponseLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseLOCMeta) UnmarshalJSON

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

type RecordUpdateResponseLOCTTL

type RecordUpdateResponseLOCTTL interface {
	ImplementsDNSRecordUpdateResponseLocttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseLOCTTLNumber.

type RecordUpdateResponseLOCTTLNumber

type RecordUpdateResponseLOCTTLNumber float64
const (
	RecordUpdateResponseLOCTTLNumber1 RecordUpdateResponseLOCTTLNumber = 1
)

type RecordUpdateResponseLOCType

type RecordUpdateResponseLOCType string

Record type.

const (
	RecordUpdateResponseLOCTypeLOC RecordUpdateResponseLOCType = "LOC"
)

type RecordUpdateResponseMX

type RecordUpdateResponseMX struct {
	// A valid mail server hostname.
	Content string `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordUpdateResponseMXType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseMXMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseMXJSON `json:"-"`
}

func (*RecordUpdateResponseMX) UnmarshalJSON

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

type RecordUpdateResponseMXMeta

type RecordUpdateResponseMXMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordUpdateResponseMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseMXMeta) UnmarshalJSON

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

type RecordUpdateResponseMXTTL

type RecordUpdateResponseMXTTL interface {
	ImplementsDNSRecordUpdateResponseMxttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseMXTTLNumber.

type RecordUpdateResponseMXTTLNumber

type RecordUpdateResponseMXTTLNumber float64
const (
	RecordUpdateResponseMXTTLNumber1 RecordUpdateResponseMXTTLNumber = 1
)

type RecordUpdateResponseMXType

type RecordUpdateResponseMXType string

Record type.

const (
	RecordUpdateResponseMXTypeMX RecordUpdateResponseMXType = "MX"
)

type RecordUpdateResponseNAPTR

type RecordUpdateResponseNAPTR struct {
	// Components of a NAPTR record.
	Data RecordUpdateResponseNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseNAPTRType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseNAPTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                        `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseNAPTRJSON `json:"-"`
}

func (*RecordUpdateResponseNAPTR) UnmarshalJSON

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

type RecordUpdateResponseNAPTRData

type RecordUpdateResponseNAPTRData 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    recordUpdateResponseNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*RecordUpdateResponseNAPTRData) UnmarshalJSON

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

type RecordUpdateResponseNAPTRMeta

type RecordUpdateResponseNAPTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                            `json:"source"`
	JSON   recordUpdateResponseNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseNAPTRMeta) UnmarshalJSON

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

type RecordUpdateResponseNAPTRTTL

type RecordUpdateResponseNAPTRTTL interface {
	ImplementsDNSRecordUpdateResponseNaptrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseNAPTRTTLNumber.

type RecordUpdateResponseNAPTRTTLNumber

type RecordUpdateResponseNAPTRTTLNumber float64
const (
	RecordUpdateResponseNAPTRTTLNumber1 RecordUpdateResponseNAPTRTTLNumber = 1
)

type RecordUpdateResponseNAPTRType

type RecordUpdateResponseNAPTRType string

Record type.

const (
	RecordUpdateResponseNAPTRTypeNAPTR RecordUpdateResponseNAPTRType = "NAPTR"
)

type RecordUpdateResponseNS

type RecordUpdateResponseNS struct {
	// A valid name server host name.
	Content interface{} `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseNSType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseNSMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                     `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseNSJSON `json:"-"`
}

func (*RecordUpdateResponseNS) UnmarshalJSON

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

type RecordUpdateResponseNSMeta

type RecordUpdateResponseNSMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                         `json:"source"`
	JSON   recordUpdateResponseNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseNSMeta) UnmarshalJSON

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

type RecordUpdateResponseNSTTL

type RecordUpdateResponseNSTTL interface {
	ImplementsDNSRecordUpdateResponseNsttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseNSTTLNumber.

type RecordUpdateResponseNSTTLNumber

type RecordUpdateResponseNSTTLNumber float64
const (
	RecordUpdateResponseNSTTLNumber1 RecordUpdateResponseNSTTLNumber = 1
)

type RecordUpdateResponseNSType

type RecordUpdateResponseNSType string

Record type.

const (
	RecordUpdateResponseNSTypeNS RecordUpdateResponseNSType = "NS"
)

type RecordUpdateResponsePTR

type RecordUpdateResponsePTR struct {
	// Domain name pointing to the address.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponsePTRType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponsePTRMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponsePTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponsePTRJSON `json:"-"`
}

func (*RecordUpdateResponsePTR) UnmarshalJSON

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

type RecordUpdateResponsePTRMeta

type RecordUpdateResponsePTRMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponsePTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponsePTRMeta) UnmarshalJSON

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

type RecordUpdateResponsePTRTTL

type RecordUpdateResponsePTRTTL interface {
	ImplementsDNSRecordUpdateResponsePtrttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponsePTRTTLNumber.

type RecordUpdateResponsePTRTTLNumber

type RecordUpdateResponsePTRTTLNumber float64
const (
	RecordUpdateResponsePTRTTLNumber1 RecordUpdateResponsePTRTTLNumber = 1
)

type RecordUpdateResponsePTRType

type RecordUpdateResponsePTRType string

Record type.

const (
	RecordUpdateResponsePTRTypePTR RecordUpdateResponsePTRType = "PTR"
)

type RecordUpdateResponseSRV

type RecordUpdateResponseSRV struct {
	// Components of a SRV record.
	Data RecordUpdateResponseSRVData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode. For SRV records, the first
	// label is normally a service and the second a protocol name, each starting with
	// an underscore.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseSRVType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseSRVMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseSRVJSON `json:"-"`
}

func (*RecordUpdateResponseSRV) UnmarshalJSON

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

type RecordUpdateResponseSRVData

type RecordUpdateResponseSRVData struct {
	// A valid hostname. Deprecated in favor of the regular 'name' outside the data
	// map. This data map field represents the remainder of the full 'name' after the
	// service and protocol.
	Name string `json:"name" format:"hostname"`
	// 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 protocol, prefixed with an underscore. Deprecated in favor of the
	// regular 'name' outside the data map. This data map field normally represents the
	// second label of that 'name'.
	Proto string `json:"proto"`
	// A service type, prefixed with an underscore. Deprecated in favor of the regular
	// 'name' outside the data map. This data map field normally represents the first
	// label of that 'name'.
	Service string `json:"service"`
	// A valid hostname.
	Target string `json:"target" format:"hostname"`
	// The record weight.
	Weight float64                         `json:"weight"`
	JSON   recordUpdateResponseSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*RecordUpdateResponseSRVData) UnmarshalJSON

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

type RecordUpdateResponseSRVMeta

type RecordUpdateResponseSRVMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponseSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseSRVMeta) UnmarshalJSON

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

type RecordUpdateResponseSRVTTL

type RecordUpdateResponseSRVTTL interface {
	ImplementsDNSRecordUpdateResponseSrvttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseSRVTTLNumber.

type RecordUpdateResponseSRVTTLNumber

type RecordUpdateResponseSRVTTLNumber float64
const (
	RecordUpdateResponseSRVTTLNumber1 RecordUpdateResponseSRVTTLNumber = 1
)

type RecordUpdateResponseSRVType

type RecordUpdateResponseSRVType string

Record type.

const (
	RecordUpdateResponseSRVTypeSRV RecordUpdateResponseSRVType = "SRV"
)

type RecordUpdateResponseSSHFP

type RecordUpdateResponseSSHFP struct {
	// Components of a SSHFP record.
	Data RecordUpdateResponseSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseSSHFPType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseSSHFPMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                        `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseSSHFPJSON `json:"-"`
}

func (*RecordUpdateResponseSSHFP) UnmarshalJSON

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

type RecordUpdateResponseSSHFPData

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

Components of a SSHFP record.

func (*RecordUpdateResponseSSHFPData) UnmarshalJSON

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

type RecordUpdateResponseSSHFPMeta

type RecordUpdateResponseSSHFPMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                            `json:"source"`
	JSON   recordUpdateResponseSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseSSHFPMeta) UnmarshalJSON

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

type RecordUpdateResponseSSHFPTTL

type RecordUpdateResponseSSHFPTTL interface {
	ImplementsDNSRecordUpdateResponseSshfpttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseSSHFPTTLNumber.

type RecordUpdateResponseSSHFPTTLNumber

type RecordUpdateResponseSSHFPTTLNumber float64
const (
	RecordUpdateResponseSSHFPTTLNumber1 RecordUpdateResponseSSHFPTTLNumber = 1
)

type RecordUpdateResponseSSHFPType

type RecordUpdateResponseSSHFPType string

Record type.

const (
	RecordUpdateResponseSSHFPTypeSSHFP RecordUpdateResponseSSHFPType = "SSHFP"
)

type RecordUpdateResponseSVCB

type RecordUpdateResponseSVCB struct {
	// Components of a SVCB record.
	Data RecordUpdateResponseSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseSVCBType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseSVCBMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseSVCBJSON `json:"-"`
}

func (*RecordUpdateResponseSVCB) UnmarshalJSON

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

type RecordUpdateResponseSVCBData

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

Components of a SVCB record.

func (*RecordUpdateResponseSVCBData) UnmarshalJSON

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

type RecordUpdateResponseSVCBMeta

type RecordUpdateResponseSVCBMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordUpdateResponseSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseSVCBMeta) UnmarshalJSON

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

type RecordUpdateResponseSVCBTTL

type RecordUpdateResponseSVCBTTL interface {
	ImplementsDNSRecordUpdateResponseSvcbttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseSVCBTTLNumber.

type RecordUpdateResponseSVCBTTLNumber

type RecordUpdateResponseSVCBTTLNumber float64
const (
	RecordUpdateResponseSVCBTTLNumber1 RecordUpdateResponseSVCBTTLNumber = 1
)

type RecordUpdateResponseSVCBType

type RecordUpdateResponseSVCBType string

Record type.

const (
	RecordUpdateResponseSVCBTypeSVCB RecordUpdateResponseSVCBType = "SVCB"
)

type RecordUpdateResponseSmimea

type RecordUpdateResponseSmimea struct {
	// Components of a SMIMEA record.
	Data RecordUpdateResponseSmimeaData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseSmimeaType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseSmimeaMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseSmimeaTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                         `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseSmimeaJSON `json:"-"`
}

func (*RecordUpdateResponseSmimea) UnmarshalJSON

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

type RecordUpdateResponseSmimeaData

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

Components of a SMIMEA record.

func (*RecordUpdateResponseSmimeaData) UnmarshalJSON

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

type RecordUpdateResponseSmimeaMeta

type RecordUpdateResponseSmimeaMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                             `json:"source"`
	JSON   recordUpdateResponseSmimeaMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseSmimeaMeta) UnmarshalJSON

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

type RecordUpdateResponseSmimeaTTL

type RecordUpdateResponseSmimeaTTL interface {
	ImplementsDNSRecordUpdateResponseSmimeaTTL()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseSmimeaTTLNumber.

type RecordUpdateResponseSmimeaTTLNumber

type RecordUpdateResponseSmimeaTTLNumber float64
const (
	RecordUpdateResponseSmimeaTTLNumber1 RecordUpdateResponseSmimeaTTLNumber = 1
)

type RecordUpdateResponseSmimeaType

type RecordUpdateResponseSmimeaType string

Record type.

const (
	RecordUpdateResponseSmimeaTypeSmimea RecordUpdateResponseSmimeaType = "SMIMEA"
)

type RecordUpdateResponseTLSA

type RecordUpdateResponseTLSA struct {
	// Components of a TLSA record.
	Data RecordUpdateResponseTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseTLSAType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseTLSAMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                       `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseTLSAJSON `json:"-"`
}

func (*RecordUpdateResponseTLSA) UnmarshalJSON

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

type RecordUpdateResponseTLSAData

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

Components of a TLSA record.

func (*RecordUpdateResponseTLSAData) UnmarshalJSON

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

type RecordUpdateResponseTLSAMeta

type RecordUpdateResponseTLSAMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                           `json:"source"`
	JSON   recordUpdateResponseTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseTLSAMeta) UnmarshalJSON

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

type RecordUpdateResponseTLSATTL

type RecordUpdateResponseTLSATTL interface {
	ImplementsDNSRecordUpdateResponseTlsattl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseTLSATTLNumber.

type RecordUpdateResponseTLSATTLNumber

type RecordUpdateResponseTLSATTLNumber float64
const (
	RecordUpdateResponseTLSATTLNumber1 RecordUpdateResponseTLSATTLNumber = 1
)

type RecordUpdateResponseTLSAType

type RecordUpdateResponseTLSAType string

Record type.

const (
	RecordUpdateResponseTLSATypeTLSA RecordUpdateResponseTLSAType = "TLSA"
)

type RecordUpdateResponseTXT

type RecordUpdateResponseTXT struct {
	// Text content for the record.
	Content string `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type RecordUpdateResponseTXTType `json:"type,required"`
	// 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 was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseTXTMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseTXTJSON `json:"-"`
}

func (*RecordUpdateResponseTXT) UnmarshalJSON

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

type RecordUpdateResponseTXTMeta

type RecordUpdateResponseTXTMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponseTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseTXTMeta) UnmarshalJSON

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

type RecordUpdateResponseTXTTTL

type RecordUpdateResponseTXTTTL interface {
	ImplementsDNSRecordUpdateResponseTxtttl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseTXTTTLNumber.

type RecordUpdateResponseTXTTTLNumber

type RecordUpdateResponseTXTTTLNumber float64
const (
	RecordUpdateResponseTXTTTLNumber1 RecordUpdateResponseTXTTTLNumber = 1
)

type RecordUpdateResponseTXTType

type RecordUpdateResponseTXTType string

Record type.

const (
	RecordUpdateResponseTXTTypeTXT RecordUpdateResponseTXTType = "TXT"
)

type RecordUpdateResponseURI

type RecordUpdateResponseURI struct {
	// Components of a URI record.
	Data RecordUpdateResponseURIData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority float64 `json:"priority,required"`
	// Record type.
	Type RecordUpdateResponseURIType `json:"type,required"`
	// Identifier
	ID string `json:"id"`
	// 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"`
	// When the record was created.
	CreatedOn time.Time `json:"created_on" format:"date-time"`
	// Whether this record can be modified/deleted (true means it's managed by
	// Cloudflare).
	Locked bool `json:"locked"`
	// Extra Cloudflare-specific information about the record.
	Meta RecordUpdateResponseURIMeta `json:"meta"`
	// When the record was last modified.
	ModifiedOn time.Time `json:"modified_on" format:"date-time"`
	// Whether the record can be proxied by Cloudflare or not.
	Proxiable bool `json:"proxiable"`
	// Custom tags for the DNS record. This field has no effect on DNS responses.
	Tags []string `json:"tags"`
	// 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 RecordUpdateResponseURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string                      `json:"zone_name" format:"hostname"`
	JSON     recordUpdateResponseURIJSON `json:"-"`
}

func (*RecordUpdateResponseURI) UnmarshalJSON

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

type RecordUpdateResponseURIData

type RecordUpdateResponseURIData struct {
	// The record content.
	Content string `json:"content"`
	// The record weight.
	Weight float64                         `json:"weight"`
	JSON   recordUpdateResponseURIDataJSON `json:"-"`
}

Components of a URI record.

func (*RecordUpdateResponseURIData) UnmarshalJSON

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

type RecordUpdateResponseURIMeta

type RecordUpdateResponseURIMeta struct {
	// Will exist if Cloudflare automatically added this DNS record during initial
	// setup.
	AutoAdded bool `json:"auto_added"`
	// Where the record originated from.
	Source string                          `json:"source"`
	JSON   recordUpdateResponseURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*RecordUpdateResponseURIMeta) UnmarshalJSON

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

type RecordUpdateResponseURITTL

type RecordUpdateResponseURITTL interface {
	ImplementsDNSRecordUpdateResponseUrittl()
}

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.

Union satisfied by shared.UnionFloat or dns.RecordUpdateResponseURITTLNumber.

type RecordUpdateResponseURITTLNumber

type RecordUpdateResponseURITTLNumber float64
const (
	RecordUpdateResponseURITTLNumber1 RecordUpdateResponseURITTLNumber = 1
)

type RecordUpdateResponseURIType

type RecordUpdateResponseURIType string

Record type.

const (
	RecordUpdateResponseURITypeURI RecordUpdateResponseURIType = "URI"
)

Jump to

Keyboard shortcuts

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