dns

package
v2.0.0-beta.14 Latest Latest
Warning

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

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

func (AnalyticsReportBytimeGetParams) URLQuery

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

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

type AnalyticsReportBytimeGetParamsTimeDelta

type AnalyticsReportBytimeGetParamsTimeDelta string

Unit of time to group data by.

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

func (AnalyticsReportBytimeGetParamsTimeDelta) IsKnown

type AnalyticsReportBytimeGetResponseEnvelope

type AnalyticsReportBytimeGetResponseEnvelope struct {
	Errors   []AnalyticsReportBytimeGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []AnalyticsReportBytimeGetResponseEnvelopeMessages `json:"messages,required"`
	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
)

func (AnalyticsReportBytimeGetResponseEnvelopeSuccess) IsKnown

type AnalyticsReportBytimeService

type AnalyticsReportBytimeService struct {
	Options []option.RequestOption
}

AnalyticsReportBytimeService contains methods and other services that help with interacting with the cloudflare API. Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAnalyticsReportBytimeService method instead.

func NewAnalyticsReportBytimeService

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

NewAnalyticsReportBytimeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AnalyticsReportBytimeService) Get

Retrieves a list of aggregate metrics grouped by time interval.

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

type AnalyticsReportGetParams

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

func (AnalyticsReportGetParams) URLQuery

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

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

type AnalyticsReportGetResponseEnvelope

type AnalyticsReportGetResponseEnvelope struct {
	Errors   []AnalyticsReportGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []AnalyticsReportGetResponseEnvelopeMessages `json:"messages,required"`
	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
)

func (AnalyticsReportGetResponseEnvelopeSuccess) IsKnown

type AnalyticsReportService

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

AnalyticsReportService contains methods and other services that help with interacting with the cloudflare API. Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAnalyticsReportService method instead.

func NewAnalyticsReportService

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

NewAnalyticsReportService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AnalyticsReportService) Get

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

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

type AnalyticsService

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

AnalyticsService contains methods and other services that help with interacting with the cloudflare API. Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAnalyticsService method instead.

func NewAnalyticsService

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

NewAnalyticsService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

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

func (DNSDNSAnalyticsAPIReportBytimeQueryTimeDelta) IsKnown

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 DNSRecordA

type DNSRecordA 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 DNSRecordAType `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 DNSRecordAMeta `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 DNSRecordATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string         `json:"zone_name" format:"hostname"`
	JSON     dnsRecordAJSON `json:"-"`
}

func (*DNSRecordA) UnmarshalJSON

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

type DNSRecordAAAA

type DNSRecordAAAA 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 DNSRecordAAAAType `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 DNSRecordAAAAMeta `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 DNSRecordAAAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string            `json:"zone_name" format:"hostname"`
	JSON     dnsRecordAAAAJSON `json:"-"`
}

func (*DNSRecordAAAA) UnmarshalJSON

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

type DNSRecordAAAAMeta

type DNSRecordAAAAMeta 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   dnsRecordAAAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordAAAAMeta) UnmarshalJSON

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

type DNSRecordAAAATTL

type DNSRecordAAAATTL interface {
	ImplementsDNSDNSRecordAaaattl()
}

Time To Live (TTL) of the DNS 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.DNSRecordAAAATTLNumber.

type DNSRecordAAAATTLNumber

type DNSRecordAAAATTLNumber float64
const (
	DNSRecordAAAATTLNumber1 DNSRecordAAAATTLNumber = 1
)

func (DNSRecordAAAATTLNumber) IsKnown

func (r DNSRecordAAAATTLNumber) IsKnown() bool

type DNSRecordAAAAType

type DNSRecordAAAAType string

Record type.

const (
	DNSRecordAAAATypeAAAA DNSRecordAAAAType = "AAAA"
)

func (DNSRecordAAAAType) IsKnown

func (r DNSRecordAAAAType) IsKnown() bool

type DNSRecordAMeta

type DNSRecordAMeta 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   dnsRecordAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordAMeta) UnmarshalJSON

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

type DNSRecordATTL

type DNSRecordATTL interface {
	ImplementsDNSDNSRecordAttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordATTLNumber.

type DNSRecordATTLNumber

type DNSRecordATTLNumber float64
const (
	DNSRecordATTLNumber1 DNSRecordATTLNumber = 1
)

func (DNSRecordATTLNumber) IsKnown

func (r DNSRecordATTLNumber) IsKnown() bool

type DNSRecordAType

type DNSRecordAType string

Record type.

const (
	DNSRecordATypeA DNSRecordAType = "A"
)

func (DNSRecordAType) IsKnown

func (r DNSRecordAType) IsKnown() bool

type DNSRecordCAA

type DNSRecordCAA struct {
	// Components of a CAA record.
	Data DNSRecordCAAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordCAAType `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 DNSRecordCAAMeta `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 DNSRecordCAATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordCAAJSON `json:"-"`
}

func (*DNSRecordCAA) UnmarshalJSON

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

type DNSRecordCAAData

type DNSRecordCAAData 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  dnsRecordCAADataJSON `json:"-"`
}

Components of a CAA record.

func (*DNSRecordCAAData) UnmarshalJSON

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

type DNSRecordCAAMeta

type DNSRecordCAAMeta 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   dnsRecordCAAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordCAAMeta) UnmarshalJSON

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

type DNSRecordCAATTL

type DNSRecordCAATTL interface {
	ImplementsDNSDNSRecordCaattl()
}

Time To Live (TTL) of the DNS 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.DNSRecordCAATTLNumber.

type DNSRecordCAATTLNumber

type DNSRecordCAATTLNumber float64
const (
	DNSRecordCAATTLNumber1 DNSRecordCAATTLNumber = 1
)

func (DNSRecordCAATTLNumber) IsKnown

func (r DNSRecordCAATTLNumber) IsKnown() bool

type DNSRecordCAAType

type DNSRecordCAAType string

Record type.

const (
	DNSRecordCAATypeCAA DNSRecordCAAType = "CAA"
)

func (DNSRecordCAAType) IsKnown

func (r DNSRecordCAAType) IsKnown() bool

type DNSRecordCERT

type DNSRecordCERT struct {
	// Components of a CERT record.
	Data DNSRecordCERTData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordCERTType `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 DNSRecordCERTMeta `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 DNSRecordCERTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string            `json:"zone_name" format:"hostname"`
	JSON     dnsRecordCERTJSON `json:"-"`
}

func (*DNSRecordCERT) UnmarshalJSON

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

type DNSRecordCERTData

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

Components of a CERT record.

func (*DNSRecordCERTData) UnmarshalJSON

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

type DNSRecordCERTMeta

type DNSRecordCERTMeta 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   dnsRecordCERTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordCERTMeta) UnmarshalJSON

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

type DNSRecordCERTTTL

type DNSRecordCERTTTL interface {
	ImplementsDNSDNSRecordCertttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordCERTTTLNumber.

type DNSRecordCERTTTLNumber

type DNSRecordCERTTTLNumber float64
const (
	DNSRecordCERTTTLNumber1 DNSRecordCERTTTLNumber = 1
)

func (DNSRecordCERTTTLNumber) IsKnown

func (r DNSRecordCERTTTLNumber) IsKnown() bool

type DNSRecordCERTType

type DNSRecordCERTType string

Record type.

const (
	DNSRecordCERTTypeCERT DNSRecordCERTType = "CERT"
)

func (DNSRecordCERTType) IsKnown

func (r DNSRecordCERTType) IsKnown() bool

type DNSRecordCNAME

type DNSRecordCNAME 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 DNSRecordCNAMEType `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 DNSRecordCNAMEMeta `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 DNSRecordCNAMETTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string             `json:"zone_name" format:"hostname"`
	JSON     dnsRecordCNAMEJSON `json:"-"`
}

func (*DNSRecordCNAME) UnmarshalJSON

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

type DNSRecordCNAMEMeta

type DNSRecordCNAMEMeta 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   dnsRecordCNAMEMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordCNAMEMeta) UnmarshalJSON

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

type DNSRecordCNAMETTL

type DNSRecordCNAMETTL interface {
	ImplementsDNSDNSRecordCnamettl()
}

Time To Live (TTL) of the DNS 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.DNSRecordCNAMETTLNumber.

type DNSRecordCNAMETTLNumber

type DNSRecordCNAMETTLNumber float64
const (
	DNSRecordCNAMETTLNumber1 DNSRecordCNAMETTLNumber = 1
)

func (DNSRecordCNAMETTLNumber) IsKnown

func (r DNSRecordCNAMETTLNumber) IsKnown() bool

type DNSRecordCNAMEType

type DNSRecordCNAMEType string

Record type.

const (
	DNSRecordCNAMETypeCNAME DNSRecordCNAMEType = "CNAME"
)

func (DNSRecordCNAMEType) IsKnown

func (r DNSRecordCNAMEType) IsKnown() bool

type DNSRecordDNSKEY

type DNSRecordDNSKEY struct {
	// Components of a DNSKEY record.
	Data DNSRecordDNSKEYData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordDNSKEYType `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 DNSRecordDNSKEYMeta `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 DNSRecordDNSKEYTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string              `json:"zone_name" format:"hostname"`
	JSON     dnsRecordDNSKEYJSON `json:"-"`
}

func (*DNSRecordDNSKEY) UnmarshalJSON

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

type DNSRecordDNSKEYData

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

Components of a DNSKEY record.

func (*DNSRecordDNSKEYData) UnmarshalJSON

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

type DNSRecordDNSKEYMeta

type DNSRecordDNSKEYMeta 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   dnsRecordDNSKEYMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordDNSKEYMeta) UnmarshalJSON

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

type DNSRecordDNSKEYTTL

type DNSRecordDNSKEYTTL interface {
	ImplementsDNSDNSRecordDnskeyttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordDNSKEYTTLNumber.

type DNSRecordDNSKEYTTLNumber

type DNSRecordDNSKEYTTLNumber float64
const (
	DNSRecordDNSKEYTTLNumber1 DNSRecordDNSKEYTTLNumber = 1
)

func (DNSRecordDNSKEYTTLNumber) IsKnown

func (r DNSRecordDNSKEYTTLNumber) IsKnown() bool

type DNSRecordDNSKEYType

type DNSRecordDNSKEYType string

Record type.

const (
	DNSRecordDNSKEYTypeDNSKEY DNSRecordDNSKEYType = "DNSKEY"
)

func (DNSRecordDNSKEYType) IsKnown

func (r DNSRecordDNSKEYType) IsKnown() bool

type DNSRecordDS

type DNSRecordDS struct {
	// Components of a DS record.
	Data DNSRecordDSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordDSType `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 DNSRecordDSMeta `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 DNSRecordDSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string          `json:"zone_name" format:"hostname"`
	JSON     dnsRecordDSJSON `json:"-"`
}

func (*DNSRecordDS) UnmarshalJSON

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

type DNSRecordDSData

type DNSRecordDSData 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   dnsRecordDSDataJSON `json:"-"`
}

Components of a DS record.

func (*DNSRecordDSData) UnmarshalJSON

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

type DNSRecordDSMeta

type DNSRecordDSMeta 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   dnsRecordDSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordDSMeta) UnmarshalJSON

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

type DNSRecordDSTTL

type DNSRecordDSTTL interface {
	ImplementsDNSDNSRecordDsttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordDSTTLNumber.

type DNSRecordDSTTLNumber

type DNSRecordDSTTLNumber float64
const (
	DNSRecordDSTTLNumber1 DNSRecordDSTTLNumber = 1
)

func (DNSRecordDSTTLNumber) IsKnown

func (r DNSRecordDSTTLNumber) IsKnown() bool

type DNSRecordDSType

type DNSRecordDSType string

Record type.

const (
	DNSRecordDSTypeDS DNSRecordDSType = "DS"
)

func (DNSRecordDSType) IsKnown

func (r DNSRecordDSType) IsKnown() bool

type DNSRecordHTTPS

type DNSRecordHTTPS struct {
	// Components of a HTTPS record.
	Data DNSRecordHTTPSData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordHTTPSType `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 DNSRecordHTTPSMeta `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 DNSRecordHTTPSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string             `json:"zone_name" format:"hostname"`
	JSON     dnsRecordHTTPSJSON `json:"-"`
}

func (*DNSRecordHTTPS) UnmarshalJSON

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

type DNSRecordHTTPSData

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

Components of a HTTPS record.

func (*DNSRecordHTTPSData) UnmarshalJSON

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

type DNSRecordHTTPSMeta

type DNSRecordHTTPSMeta 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   dnsRecordHTTPSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordHTTPSMeta) UnmarshalJSON

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

type DNSRecordHTTPSTTL

type DNSRecordHTTPSTTL interface {
	ImplementsDNSDNSRecordHttpsttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordHTTPSTTLNumber.

type DNSRecordHTTPSTTLNumber

type DNSRecordHTTPSTTLNumber float64
const (
	DNSRecordHTTPSTTLNumber1 DNSRecordHTTPSTTLNumber = 1
)

func (DNSRecordHTTPSTTLNumber) IsKnown

func (r DNSRecordHTTPSTTLNumber) IsKnown() bool

type DNSRecordHTTPSType

type DNSRecordHTTPSType string

Record type.

const (
	DNSRecordHTTPSTypeHTTPS DNSRecordHTTPSType = "HTTPS"
)

func (DNSRecordHTTPSType) IsKnown

func (r DNSRecordHTTPSType) IsKnown() bool

type DNSRecordLOC

type DNSRecordLOC struct {
	// Components of a LOC record.
	Data DNSRecordLOCData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordLOCType `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 DNSRecordLOCMeta `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 DNSRecordLOCTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordLOCJSON `json:"-"`
}

func (*DNSRecordLOC) UnmarshalJSON

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

type DNSRecordLOCData

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

Components of a LOC record.

func (*DNSRecordLOCData) UnmarshalJSON

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

type DNSRecordLOCDataLatDirection

type DNSRecordLOCDataLatDirection string

Latitude direction.

const (
	DNSRecordLOCDataLatDirectionN DNSRecordLOCDataLatDirection = "N"
	DNSRecordLOCDataLatDirectionS DNSRecordLOCDataLatDirection = "S"
)

func (DNSRecordLOCDataLatDirection) IsKnown

func (r DNSRecordLOCDataLatDirection) IsKnown() bool

type DNSRecordLOCDataLongDirection

type DNSRecordLOCDataLongDirection string

Longitude direction.

const (
	DNSRecordLOCDataLongDirectionE DNSRecordLOCDataLongDirection = "E"
	DNSRecordLOCDataLongDirectionW DNSRecordLOCDataLongDirection = "W"
)

func (DNSRecordLOCDataLongDirection) IsKnown

func (r DNSRecordLOCDataLongDirection) IsKnown() bool

type DNSRecordLOCMeta

type DNSRecordLOCMeta 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   dnsRecordLOCMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordLOCMeta) UnmarshalJSON

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

type DNSRecordLOCTTL

type DNSRecordLOCTTL interface {
	ImplementsDNSDNSRecordLocttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordLOCTTLNumber.

type DNSRecordLOCTTLNumber

type DNSRecordLOCTTLNumber float64
const (
	DNSRecordLOCTTLNumber1 DNSRecordLOCTTLNumber = 1
)

func (DNSRecordLOCTTLNumber) IsKnown

func (r DNSRecordLOCTTLNumber) IsKnown() bool

type DNSRecordLOCType

type DNSRecordLOCType string

Record type.

const (
	DNSRecordLOCTypeLOC DNSRecordLOCType = "LOC"
)

func (DNSRecordLOCType) IsKnown

func (r DNSRecordLOCType) IsKnown() bool

type DNSRecordMX

type DNSRecordMX 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 DNSRecordMXType `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 DNSRecordMXMeta `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 DNSRecordMXTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string          `json:"zone_name" format:"hostname"`
	JSON     dnsRecordMXJSON `json:"-"`
}

func (*DNSRecordMX) UnmarshalJSON

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

type DNSRecordMXMeta

type DNSRecordMXMeta 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   dnsRecordMXMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordMXMeta) UnmarshalJSON

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

type DNSRecordMXTTL

type DNSRecordMXTTL interface {
	ImplementsDNSDNSRecordMxttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordMXTTLNumber.

type DNSRecordMXTTLNumber

type DNSRecordMXTTLNumber float64
const (
	DNSRecordMXTTLNumber1 DNSRecordMXTTLNumber = 1
)

func (DNSRecordMXTTLNumber) IsKnown

func (r DNSRecordMXTTLNumber) IsKnown() bool

type DNSRecordMXType

type DNSRecordMXType string

Record type.

const (
	DNSRecordMXTypeMX DNSRecordMXType = "MX"
)

func (DNSRecordMXType) IsKnown

func (r DNSRecordMXType) IsKnown() bool

type DNSRecordNAPTR

type DNSRecordNAPTR struct {
	// Components of a NAPTR record.
	Data DNSRecordNAPTRData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordNAPTRType `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 DNSRecordNAPTRMeta `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 DNSRecordNAPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string             `json:"zone_name" format:"hostname"`
	JSON     dnsRecordNAPTRJSON `json:"-"`
}

func (*DNSRecordNAPTR) UnmarshalJSON

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

type DNSRecordNAPTRData

type DNSRecordNAPTRData 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    dnsRecordNAPTRDataJSON `json:"-"`
}

Components of a NAPTR record.

func (*DNSRecordNAPTRData) UnmarshalJSON

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

type DNSRecordNAPTRMeta

type DNSRecordNAPTRMeta 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   dnsRecordNAPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordNAPTRMeta) UnmarshalJSON

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

type DNSRecordNAPTRTTL

type DNSRecordNAPTRTTL interface {
	ImplementsDNSDNSRecordNaptrttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordNAPTRTTLNumber.

type DNSRecordNAPTRTTLNumber

type DNSRecordNAPTRTTLNumber float64
const (
	DNSRecordNAPTRTTLNumber1 DNSRecordNAPTRTTLNumber = 1
)

func (DNSRecordNAPTRTTLNumber) IsKnown

func (r DNSRecordNAPTRTTLNumber) IsKnown() bool

type DNSRecordNAPTRType

type DNSRecordNAPTRType string

Record type.

const (
	DNSRecordNAPTRTypeNAPTR DNSRecordNAPTRType = "NAPTR"
)

func (DNSRecordNAPTRType) IsKnown

func (r DNSRecordNAPTRType) IsKnown() bool

type DNSRecordNS

type DNSRecordNS 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 DNSRecordNSType `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 DNSRecordNSMeta `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 DNSRecordNSTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string          `json:"zone_name" format:"hostname"`
	JSON     dnsRecordNSJSON `json:"-"`
}

func (*DNSRecordNS) UnmarshalJSON

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

type DNSRecordNSMeta

type DNSRecordNSMeta 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   dnsRecordNSMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordNSMeta) UnmarshalJSON

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

type DNSRecordNSTTL

type DNSRecordNSTTL interface {
	ImplementsDNSDNSRecordNsttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordNSTTLNumber.

type DNSRecordNSTTLNumber

type DNSRecordNSTTLNumber float64
const (
	DNSRecordNSTTLNumber1 DNSRecordNSTTLNumber = 1
)

func (DNSRecordNSTTLNumber) IsKnown

func (r DNSRecordNSTTLNumber) IsKnown() bool

type DNSRecordNSType

type DNSRecordNSType string

Record type.

const (
	DNSRecordNSTypeNS DNSRecordNSType = "NS"
)

func (DNSRecordNSType) IsKnown

func (r DNSRecordNSType) IsKnown() bool

type DNSRecordPTR

type DNSRecordPTR 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 DNSRecordPTRType `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 DNSRecordPTRMeta `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 DNSRecordPTRTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordPTRJSON `json:"-"`
}

func (*DNSRecordPTR) UnmarshalJSON

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

type DNSRecordPTRMeta

type DNSRecordPTRMeta 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   dnsRecordPTRMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordPTRMeta) UnmarshalJSON

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

type DNSRecordPTRTTL

type DNSRecordPTRTTL interface {
	ImplementsDNSDNSRecordPtrttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordPTRTTLNumber.

type DNSRecordPTRTTLNumber

type DNSRecordPTRTTLNumber float64
const (
	DNSRecordPTRTTLNumber1 DNSRecordPTRTTLNumber = 1
)

func (DNSRecordPTRTTLNumber) IsKnown

func (r DNSRecordPTRTTLNumber) IsKnown() bool

type DNSRecordPTRType

type DNSRecordPTRType string

Record type.

const (
	DNSRecordPTRTypePTR DNSRecordPTRType = "PTR"
)

func (DNSRecordPTRType) IsKnown

func (r DNSRecordPTRType) IsKnown() bool

type DNSRecordSMIMEA

type DNSRecordSMIMEA struct {
	// Components of a SMIMEA record.
	Data DNSRecordSMIMEAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordSMIMEAType `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 DNSRecordSMIMEAMeta `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 DNSRecordSMIMEATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string              `json:"zone_name" format:"hostname"`
	JSON     dnsRecordSMIMEAJSON `json:"-"`
}

func (*DNSRecordSMIMEA) UnmarshalJSON

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

type DNSRecordSMIMEAData

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

Components of a SMIMEA record.

func (*DNSRecordSMIMEAData) UnmarshalJSON

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

type DNSRecordSMIMEAMeta

type DNSRecordSMIMEAMeta 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   dnsRecordSMIMEAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordSMIMEAMeta) UnmarshalJSON

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

type DNSRecordSMIMEATTL

type DNSRecordSMIMEATTL interface {
	ImplementsDNSDNSRecordSmimeattl()
}

Time To Live (TTL) of the DNS 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.DNSRecordSMIMEATTLNumber.

type DNSRecordSMIMEATTLNumber

type DNSRecordSMIMEATTLNumber float64
const (
	DNSRecordSMIMEATTLNumber1 DNSRecordSMIMEATTLNumber = 1
)

func (DNSRecordSMIMEATTLNumber) IsKnown

func (r DNSRecordSMIMEATTLNumber) IsKnown() bool

type DNSRecordSMIMEAType

type DNSRecordSMIMEAType string

Record type.

const (
	DNSRecordSMIMEATypeSMIMEA DNSRecordSMIMEAType = "SMIMEA"
)

func (DNSRecordSMIMEAType) IsKnown

func (r DNSRecordSMIMEAType) IsKnown() bool

type DNSRecordSRV

type DNSRecordSRV struct {
	// Components of a SRV record.
	Data DNSRecordSRVData `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 DNSRecordSRVType `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 DNSRecordSRVMeta `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 DNSRecordSRVTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordSRVJSON `json:"-"`
}

func (*DNSRecordSRV) UnmarshalJSON

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

type DNSRecordSRVData

type DNSRecordSRVData 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   dnsRecordSRVDataJSON `json:"-"`
}

Components of a SRV record.

func (*DNSRecordSRVData) UnmarshalJSON

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

type DNSRecordSRVMeta

type DNSRecordSRVMeta 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   dnsRecordSRVMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordSRVMeta) UnmarshalJSON

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

type DNSRecordSRVTTL

type DNSRecordSRVTTL interface {
	ImplementsDNSDNSRecordSrvttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordSRVTTLNumber.

type DNSRecordSRVTTLNumber

type DNSRecordSRVTTLNumber float64
const (
	DNSRecordSRVTTLNumber1 DNSRecordSRVTTLNumber = 1
)

func (DNSRecordSRVTTLNumber) IsKnown

func (r DNSRecordSRVTTLNumber) IsKnown() bool

type DNSRecordSRVType

type DNSRecordSRVType string

Record type.

const (
	DNSRecordSRVTypeSRV DNSRecordSRVType = "SRV"
)

func (DNSRecordSRVType) IsKnown

func (r DNSRecordSRVType) IsKnown() bool

type DNSRecordSSHFP

type DNSRecordSSHFP struct {
	// Components of a SSHFP record.
	Data DNSRecordSSHFPData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordSSHFPType `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 DNSRecordSSHFPMeta `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 DNSRecordSSHFPTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string             `json:"zone_name" format:"hostname"`
	JSON     dnsRecordSSHFPJSON `json:"-"`
}

func (*DNSRecordSSHFP) UnmarshalJSON

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

type DNSRecordSSHFPData

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

Components of a SSHFP record.

func (*DNSRecordSSHFPData) UnmarshalJSON

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

type DNSRecordSSHFPMeta

type DNSRecordSSHFPMeta 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   dnsRecordSSHFPMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordSSHFPMeta) UnmarshalJSON

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

type DNSRecordSSHFPTTL

type DNSRecordSSHFPTTL interface {
	ImplementsDNSDNSRecordSshfpttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordSSHFPTTLNumber.

type DNSRecordSSHFPTTLNumber

type DNSRecordSSHFPTTLNumber float64
const (
	DNSRecordSSHFPTTLNumber1 DNSRecordSSHFPTTLNumber = 1
)

func (DNSRecordSSHFPTTLNumber) IsKnown

func (r DNSRecordSSHFPTTLNumber) IsKnown() bool

type DNSRecordSSHFPType

type DNSRecordSSHFPType string

Record type.

const (
	DNSRecordSSHFPTypeSSHFP DNSRecordSSHFPType = "SSHFP"
)

func (DNSRecordSSHFPType) IsKnown

func (r DNSRecordSSHFPType) IsKnown() bool

type DNSRecordSVCB

type DNSRecordSVCB struct {
	// Components of a SVCB record.
	Data DNSRecordSVCBData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordSVCBType `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 DNSRecordSVCBMeta `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 DNSRecordSVCBTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string            `json:"zone_name" format:"hostname"`
	JSON     dnsRecordSVCBJSON `json:"-"`
}

func (*DNSRecordSVCB) UnmarshalJSON

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

type DNSRecordSVCBData

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

Components of a SVCB record.

func (*DNSRecordSVCBData) UnmarshalJSON

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

type DNSRecordSVCBMeta

type DNSRecordSVCBMeta 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   dnsRecordSVCBMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordSVCBMeta) UnmarshalJSON

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

type DNSRecordSVCBTTL

type DNSRecordSVCBTTL interface {
	ImplementsDNSDNSRecordSvcbttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordSVCBTTLNumber.

type DNSRecordSVCBTTLNumber

type DNSRecordSVCBTTLNumber float64
const (
	DNSRecordSVCBTTLNumber1 DNSRecordSVCBTTLNumber = 1
)

func (DNSRecordSVCBTTLNumber) IsKnown

func (r DNSRecordSVCBTTLNumber) IsKnown() bool

type DNSRecordSVCBType

type DNSRecordSVCBType string

Record type.

const (
	DNSRecordSVCBTypeSVCB DNSRecordSVCBType = "SVCB"
)

func (DNSRecordSVCBType) IsKnown

func (r DNSRecordSVCBType) IsKnown() bool

type DNSRecordTLSA

type DNSRecordTLSA struct {
	// Components of a TLSA record.
	Data DNSRecordTLSAData `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name string `json:"name,required"`
	// Record type.
	Type DNSRecordTLSAType `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 DNSRecordTLSAMeta `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 DNSRecordTLSATTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string            `json:"zone_name" format:"hostname"`
	JSON     dnsRecordTLSAJSON `json:"-"`
}

func (*DNSRecordTLSA) UnmarshalJSON

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

type DNSRecordTLSAData

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

Components of a TLSA record.

func (*DNSRecordTLSAData) UnmarshalJSON

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

type DNSRecordTLSAMeta

type DNSRecordTLSAMeta 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   dnsRecordTLSAMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordTLSAMeta) UnmarshalJSON

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

type DNSRecordTLSATTL

type DNSRecordTLSATTL interface {
	ImplementsDNSDNSRecordTlsattl()
}

Time To Live (TTL) of the DNS 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.DNSRecordTLSATTLNumber.

type DNSRecordTLSATTLNumber

type DNSRecordTLSATTLNumber float64
const (
	DNSRecordTLSATTLNumber1 DNSRecordTLSATTLNumber = 1
)

func (DNSRecordTLSATTLNumber) IsKnown

func (r DNSRecordTLSATTLNumber) IsKnown() bool

type DNSRecordTLSAType

type DNSRecordTLSAType string

Record type.

const (
	DNSRecordTLSATypeTLSA DNSRecordTLSAType = "TLSA"
)

func (DNSRecordTLSAType) IsKnown

func (r DNSRecordTLSAType) IsKnown() bool

type DNSRecordTXT

type DNSRecordTXT 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 DNSRecordTXTType `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 DNSRecordTXTMeta `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 DNSRecordTXTTTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordTXTJSON `json:"-"`
}

func (*DNSRecordTXT) UnmarshalJSON

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

type DNSRecordTXTMeta

type DNSRecordTXTMeta 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   dnsRecordTXTMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordTXTMeta) UnmarshalJSON

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

type DNSRecordTXTTTL

type DNSRecordTXTTTL interface {
	ImplementsDNSDNSRecordTxtttl()
}

Time To Live (TTL) of the DNS 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.DNSRecordTXTTTLNumber.

type DNSRecordTXTTTLNumber

type DNSRecordTXTTTLNumber float64
const (
	DNSRecordTXTTTLNumber1 DNSRecordTXTTTLNumber = 1
)

func (DNSRecordTXTTTLNumber) IsKnown

func (r DNSRecordTXTTTLNumber) IsKnown() bool

type DNSRecordTXTType

type DNSRecordTXTType string

Record type.

const (
	DNSRecordTXTTypeTXT DNSRecordTXTType = "TXT"
)

func (DNSRecordTXTType) IsKnown

func (r DNSRecordTXTType) IsKnown() bool

type DNSRecordURI

type DNSRecordURI struct {
	// Components of a URI record.
	Data DNSRecordURIData `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 DNSRecordURIType `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 DNSRecordURIMeta `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 DNSRecordURITTL `json:"ttl"`
	// Identifier
	ZoneID string `json:"zone_id"`
	// The domain of the record.
	ZoneName string           `json:"zone_name" format:"hostname"`
	JSON     dnsRecordURIJSON `json:"-"`
}

func (*DNSRecordURI) UnmarshalJSON

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

type DNSRecordURIData

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

Components of a URI record.

func (*DNSRecordURIData) UnmarshalJSON

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

type DNSRecordURIMeta

type DNSRecordURIMeta 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   dnsRecordURIMetaJSON `json:"-"`
}

Extra Cloudflare-specific information about the record.

func (*DNSRecordURIMeta) UnmarshalJSON

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

type DNSRecordURITTL

type DNSRecordURITTL interface {
	ImplementsDNSDNSRecordUrittl()
}

Time To Live (TTL) of the DNS 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.DNSRecordURITTLNumber.

type DNSRecordURITTLNumber

type DNSRecordURITTLNumber float64
const (
	DNSRecordURITTLNumber1 DNSRecordURITTLNumber = 1
)

func (DNSRecordURITTLNumber) IsKnown

func (r DNSRecordURITTLNumber) IsKnown() bool

type DNSRecordURIType

type DNSRecordURIType string

Record type.

const (
	DNSRecordURITypeURI DNSRecordURIType = "URI"
)

func (DNSRecordURIType) IsKnown

func (r DNSRecordURIType) IsKnown() bool

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 ErrorData

type ErrorData = shared.ErrorData

This is an alias to an internal type.

type FirewallAnalyticsReportBytimeGetParams

type FirewallAnalyticsReportBytimeGetParams struct {
	// Identifier
	AccountID param.Field[string] `path:"account_id,required"`
	// A comma-separated list of dimensions to group results by.
	Dimensions param.Field[string] `query:"dimensions"`
	// Segmentation filter in 'attribute operator value' format.
	Filters param.Field[string] `query:"filters"`
	// Limit number of returned metrics.
	Limit param.Field[int64] `query:"limit"`
	// A comma-separated list of metrics to query.
	Metrics param.Field[string] `query:"metrics"`
	// Start date and time of requesting data period in ISO 8601 format.
	Since param.Field[time.Time] `query:"since" format:"date-time"`
	// A comma-separated list of dimensions to sort by, where each dimension may be
	// prefixed by - (descending) or + (ascending).
	Sort param.Field[string] `query:"sort"`
	// Unit of time to group data by.
	TimeDelta param.Field[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"
)

func (FirewallAnalyticsReportBytimeGetParamsTimeDelta) IsKnown

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
)

func (FirewallAnalyticsReportBytimeGetResponseEnvelopeSuccess) IsKnown

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

func (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
)

func (FirewallAnalyticsReportGetResponseEnvelopeSuccess) IsKnown

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
)

func (FirewallDeleteResponseEnvelopeSuccess) IsKnown

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
)

func (FirewallEditResponseEnvelopeSuccess) IsKnown

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
)

func (FirewallGetResponseEnvelopeSuccess) IsKnown

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
)

func (FirewallNewResponseEnvelopeSuccess) IsKnown

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 RecordEditParamsDNSRecordsAAAARecord

type RecordEditParamsDNSRecordsAAAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv6 address.
	Content param.Field[string] `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsAAAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsAAAARecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsAAAARecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsAAAARecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsAAAARecord) MarshalJSON

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

type RecordEditParamsDNSRecordsAAAARecordTTL

type RecordEditParamsDNSRecordsAAAARecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsAAAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsAAAARecordTTLNumber.

type RecordEditParamsDNSRecordsAAAARecordTTLNumber

type RecordEditParamsDNSRecordsAAAARecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsAAAARecordTTLNumber1 RecordEditParamsDNSRecordsAAAARecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsAAAARecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsAAAARecordType

type RecordEditParamsDNSRecordsAAAARecordType string

Record type.

const (
	RecordEditParamsDNSRecordsAAAARecordTypeAAAA RecordEditParamsDNSRecordsAAAARecordType = "AAAA"
)

func (RecordEditParamsDNSRecordsAAAARecordType) IsKnown

type RecordEditParamsDNSRecordsARecord

type RecordEditParamsDNSRecordsARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv4 address.
	Content param.Field[string] `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsARecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsARecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsARecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsARecord) MarshalJSON

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

type RecordEditParamsDNSRecordsARecordTTL

type RecordEditParamsDNSRecordsARecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsARecordTTLNumber.

type RecordEditParamsDNSRecordsARecordTTLNumber

type RecordEditParamsDNSRecordsARecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsARecordTTLNumber1 RecordEditParamsDNSRecordsARecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsARecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsARecordType

type RecordEditParamsDNSRecordsARecordType string

Record type.

const (
	RecordEditParamsDNSRecordsARecordTypeA RecordEditParamsDNSRecordsARecordType = "A"
)

func (RecordEditParamsDNSRecordsARecordType) IsKnown

type RecordEditParamsDNSRecordsCAARecord

type RecordEditParamsDNSRecordsCAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CAA record.
	Data param.Field[RecordEditParamsDNSRecordsCAARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsCAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsCAARecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsCAARecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsCAARecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsCAARecord) MarshalJSON

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

type RecordEditParamsDNSRecordsCAARecordData

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

Components of a CAA record.

func (RecordEditParamsDNSRecordsCAARecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsCAARecordTTL

type RecordEditParamsDNSRecordsCAARecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsCAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsCAARecordTTLNumber.

type RecordEditParamsDNSRecordsCAARecordTTLNumber

type RecordEditParamsDNSRecordsCAARecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsCAARecordTTLNumber1 RecordEditParamsDNSRecordsCAARecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsCAARecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsCAARecordType

type RecordEditParamsDNSRecordsCAARecordType string

Record type.

const (
	RecordEditParamsDNSRecordsCAARecordTypeCAA RecordEditParamsDNSRecordsCAARecordType = "CAA"
)

func (RecordEditParamsDNSRecordsCAARecordType) IsKnown

type RecordEditParamsDNSRecordsCERTRecord

type RecordEditParamsDNSRecordsCERTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CERT record.
	Data param.Field[RecordEditParamsDNSRecordsCERTRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsCERTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsCERTRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsCERTRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsCERTRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsCERTRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsCERTRecordData

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

Components of a CERT record.

func (RecordEditParamsDNSRecordsCERTRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsCERTRecordTTL

type RecordEditParamsDNSRecordsCERTRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsCERTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsCERTRecordTTLNumber.

type RecordEditParamsDNSRecordsCERTRecordTTLNumber

type RecordEditParamsDNSRecordsCERTRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsCERTRecordTTLNumber1 RecordEditParamsDNSRecordsCERTRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsCERTRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsCERTRecordType

type RecordEditParamsDNSRecordsCERTRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsCERTRecordTypeCERT RecordEditParamsDNSRecordsCERTRecordType = "CERT"
)

func (RecordEditParamsDNSRecordsCERTRecordType) IsKnown

type RecordEditParamsDNSRecordsCNAMERecord

type RecordEditParamsDNSRecordsCNAMERecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid hostname. Must not match the record's name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsCNAMERecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsCNAMERecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsCNAMERecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsCNAMERecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsCNAMERecord) MarshalJSON

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

type RecordEditParamsDNSRecordsCNAMERecordTTL

type RecordEditParamsDNSRecordsCNAMERecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsCNAMERecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsCNAMERecordTTLNumber.

type RecordEditParamsDNSRecordsCNAMERecordTTLNumber

type RecordEditParamsDNSRecordsCNAMERecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsCNAMERecordTTLNumber1 RecordEditParamsDNSRecordsCNAMERecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsCNAMERecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsCNAMERecordType

type RecordEditParamsDNSRecordsCNAMERecordType string

Record type.

const (
	RecordEditParamsDNSRecordsCNAMERecordTypeCNAME RecordEditParamsDNSRecordsCNAMERecordType = "CNAME"
)

func (RecordEditParamsDNSRecordsCNAMERecordType) IsKnown

type RecordEditParamsDNSRecordsDNSKEYRecord

type RecordEditParamsDNSRecordsDNSKEYRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DNSKEY record.
	Data param.Field[RecordEditParamsDNSRecordsDNSKEYRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsDNSKEYRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsDNSKEYRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsDNSKEYRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsDNSKEYRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsDNSKEYRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsDNSKEYRecordData

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

Components of a DNSKEY record.

func (RecordEditParamsDNSRecordsDNSKEYRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsDNSKEYRecordTTL

type RecordEditParamsDNSRecordsDNSKEYRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsDNSKEYRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber.

type RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber

type RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber1 RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsDNSKEYRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsDNSKEYRecordType

type RecordEditParamsDNSRecordsDNSKEYRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsDNSKEYRecordTypeDNSKEY RecordEditParamsDNSRecordsDNSKEYRecordType = "DNSKEY"
)

func (RecordEditParamsDNSRecordsDNSKEYRecordType) IsKnown

type RecordEditParamsDNSRecordsDSRecord

type RecordEditParamsDNSRecordsDSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DS record.
	Data param.Field[RecordEditParamsDNSRecordsDSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsDSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsDSRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsDSRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsDSRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsDSRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsDSRecordData

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

Components of a DS record.

func (RecordEditParamsDNSRecordsDSRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsDSRecordTTL

type RecordEditParamsDNSRecordsDSRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsDSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsDSRecordTTLNumber.

type RecordEditParamsDNSRecordsDSRecordTTLNumber

type RecordEditParamsDNSRecordsDSRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsDSRecordTTLNumber1 RecordEditParamsDNSRecordsDSRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsDSRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsDSRecordType

type RecordEditParamsDNSRecordsDSRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsDSRecordTypeDS RecordEditParamsDNSRecordsDSRecordType = "DS"
)

func (RecordEditParamsDNSRecordsDSRecordType) IsKnown

type RecordEditParamsDNSRecordsHTTPSRecord

type RecordEditParamsDNSRecordsHTTPSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a HTTPS record.
	Data param.Field[RecordEditParamsDNSRecordsHTTPSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsHTTPSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsHTTPSRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsHTTPSRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsHTTPSRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsHTTPSRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsHTTPSRecordData

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

Components of a HTTPS record.

func (RecordEditParamsDNSRecordsHTTPSRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsHTTPSRecordTTL

type RecordEditParamsDNSRecordsHTTPSRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsHTTPSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsHTTPSRecordTTLNumber.

type RecordEditParamsDNSRecordsHTTPSRecordTTLNumber

type RecordEditParamsDNSRecordsHTTPSRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsHTTPSRecordTTLNumber1 RecordEditParamsDNSRecordsHTTPSRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsHTTPSRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsHTTPSRecordType

type RecordEditParamsDNSRecordsHTTPSRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsHTTPSRecordTypeHTTPS RecordEditParamsDNSRecordsHTTPSRecordType = "HTTPS"
)

func (RecordEditParamsDNSRecordsHTTPSRecordType) IsKnown

type RecordEditParamsDNSRecordsLOCRecord

type RecordEditParamsDNSRecordsLOCRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a LOC record.
	Data param.Field[RecordEditParamsDNSRecordsLOCRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsLOCRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsLOCRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsLOCRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsLOCRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsLOCRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsLOCRecordData

type RecordEditParamsDNSRecordsLOCRecordData struct {
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordEditParamsDNSRecordsLOCRecordDataLatDirection] `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[RecordEditParamsDNSRecordsLOCRecordDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
}

Components of a LOC record.

func (RecordEditParamsDNSRecordsLOCRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsLOCRecordDataLatDirection

type RecordEditParamsDNSRecordsLOCRecordDataLatDirection string

Latitude direction.

const (
	RecordEditParamsDNSRecordsLOCRecordDataLatDirectionN RecordEditParamsDNSRecordsLOCRecordDataLatDirection = "N"
	RecordEditParamsDNSRecordsLOCRecordDataLatDirectionS RecordEditParamsDNSRecordsLOCRecordDataLatDirection = "S"
)

func (RecordEditParamsDNSRecordsLOCRecordDataLatDirection) IsKnown

type RecordEditParamsDNSRecordsLOCRecordDataLongDirection

type RecordEditParamsDNSRecordsLOCRecordDataLongDirection string

Longitude direction.

const (
	RecordEditParamsDNSRecordsLOCRecordDataLongDirectionE RecordEditParamsDNSRecordsLOCRecordDataLongDirection = "E"
	RecordEditParamsDNSRecordsLOCRecordDataLongDirectionW RecordEditParamsDNSRecordsLOCRecordDataLongDirection = "W"
)

func (RecordEditParamsDNSRecordsLOCRecordDataLongDirection) IsKnown

type RecordEditParamsDNSRecordsLOCRecordTTL

type RecordEditParamsDNSRecordsLOCRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsLOCRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsLOCRecordTTLNumber.

type RecordEditParamsDNSRecordsLOCRecordTTLNumber

type RecordEditParamsDNSRecordsLOCRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsLOCRecordTTLNumber1 RecordEditParamsDNSRecordsLOCRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsLOCRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsLOCRecordType

type RecordEditParamsDNSRecordsLOCRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsLOCRecordTypeLOC RecordEditParamsDNSRecordsLOCRecordType = "LOC"
)

func (RecordEditParamsDNSRecordsLOCRecordType) IsKnown

type RecordEditParamsDNSRecordsMXRecord

type RecordEditParamsDNSRecordsMXRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid mail server hostname.
	Content param.Field[string] `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsMXRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsMXRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsMXRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsMXRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsMXRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsMXRecordTTL

type RecordEditParamsDNSRecordsMXRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsMXRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsMXRecordTTLNumber.

type RecordEditParamsDNSRecordsMXRecordTTLNumber

type RecordEditParamsDNSRecordsMXRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsMXRecordTTLNumber1 RecordEditParamsDNSRecordsMXRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsMXRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsMXRecordType

type RecordEditParamsDNSRecordsMXRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsMXRecordTypeMX RecordEditParamsDNSRecordsMXRecordType = "MX"
)

func (RecordEditParamsDNSRecordsMXRecordType) IsKnown

type RecordEditParamsDNSRecordsNAPTRRecord

type RecordEditParamsDNSRecordsNAPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a NAPTR record.
	Data param.Field[RecordEditParamsDNSRecordsNAPTRRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsNAPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsNAPTRRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsNAPTRRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsNAPTRRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsNAPTRRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsNAPTRRecordData

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

Components of a NAPTR record.

func (RecordEditParamsDNSRecordsNAPTRRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsNAPTRRecordTTL

type RecordEditParamsDNSRecordsNAPTRRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsNAPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsNAPTRRecordTTLNumber.

type RecordEditParamsDNSRecordsNAPTRRecordTTLNumber

type RecordEditParamsDNSRecordsNAPTRRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsNAPTRRecordTTLNumber1 RecordEditParamsDNSRecordsNAPTRRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsNAPTRRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsNAPTRRecordType

type RecordEditParamsDNSRecordsNAPTRRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsNAPTRRecordTypeNAPTR RecordEditParamsDNSRecordsNAPTRRecordType = "NAPTR"
)

func (RecordEditParamsDNSRecordsNAPTRRecordType) IsKnown

type RecordEditParamsDNSRecordsNSRecord

type RecordEditParamsDNSRecordsNSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid name server host name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsNSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsNSRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsNSRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsNSRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsNSRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsNSRecordTTL

type RecordEditParamsDNSRecordsNSRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsNSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsNSRecordTTLNumber.

type RecordEditParamsDNSRecordsNSRecordTTLNumber

type RecordEditParamsDNSRecordsNSRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsNSRecordTTLNumber1 RecordEditParamsDNSRecordsNSRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsNSRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsNSRecordType

type RecordEditParamsDNSRecordsNSRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsNSRecordTypeNS RecordEditParamsDNSRecordsNSRecordType = "NS"
)

func (RecordEditParamsDNSRecordsNSRecordType) IsKnown

type RecordEditParamsDNSRecordsPTRRecord

type RecordEditParamsDNSRecordsPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Domain name pointing to the address.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsPTRRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsPTRRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsPTRRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsPTRRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsPTRRecordTTL

type RecordEditParamsDNSRecordsPTRRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsPTRRecordTTLNumber.

type RecordEditParamsDNSRecordsPTRRecordTTLNumber

type RecordEditParamsDNSRecordsPTRRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsPTRRecordTTLNumber1 RecordEditParamsDNSRecordsPTRRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsPTRRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsPTRRecordType

type RecordEditParamsDNSRecordsPTRRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsPTRRecordTypePTR RecordEditParamsDNSRecordsPTRRecordType = "PTR"
)

func (RecordEditParamsDNSRecordsPTRRecordType) IsKnown

type RecordEditParamsDNSRecordsSMIMEARecord

type RecordEditParamsDNSRecordsSMIMEARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SMIMEA record.
	Data param.Field[RecordEditParamsDNSRecordsSMIMEARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsSMIMEARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsSMIMEARecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsSMIMEARecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsSMIMEARecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsSMIMEARecord) MarshalJSON

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

type RecordEditParamsDNSRecordsSMIMEARecordData

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

Components of a SMIMEA record.

func (RecordEditParamsDNSRecordsSMIMEARecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsSMIMEARecordTTL

type RecordEditParamsDNSRecordsSMIMEARecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsSMIMEARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsSMIMEARecordTTLNumber.

type RecordEditParamsDNSRecordsSMIMEARecordTTLNumber

type RecordEditParamsDNSRecordsSMIMEARecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsSMIMEARecordTTLNumber1 RecordEditParamsDNSRecordsSMIMEARecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsSMIMEARecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsSMIMEARecordType

type RecordEditParamsDNSRecordsSMIMEARecordType string

Record type.

const (
	RecordEditParamsDNSRecordsSMIMEARecordTypeSMIMEA RecordEditParamsDNSRecordsSMIMEARecordType = "SMIMEA"
)

func (RecordEditParamsDNSRecordsSMIMEARecordType) IsKnown

type RecordEditParamsDNSRecordsSRVRecord

type RecordEditParamsDNSRecordsSRVRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SRV record.
	Data param.Field[RecordEditParamsDNSRecordsSRVRecordData] `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 param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsSRVRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsSRVRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsSRVRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsSRVRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsSRVRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsSRVRecordData

type RecordEditParamsDNSRecordsSRVRecordData 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 param.Field[string] `json:"name" format:"hostname"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// A valid 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"`
	// 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"`
	// A valid hostname.
	Target param.Field[string] `json:"target" format:"hostname"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a SRV record.

func (RecordEditParamsDNSRecordsSRVRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsSRVRecordTTL

type RecordEditParamsDNSRecordsSRVRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsSRVRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsSRVRecordTTLNumber.

type RecordEditParamsDNSRecordsSRVRecordTTLNumber

type RecordEditParamsDNSRecordsSRVRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsSRVRecordTTLNumber1 RecordEditParamsDNSRecordsSRVRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsSRVRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsSRVRecordType

type RecordEditParamsDNSRecordsSRVRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsSRVRecordTypeSRV RecordEditParamsDNSRecordsSRVRecordType = "SRV"
)

func (RecordEditParamsDNSRecordsSRVRecordType) IsKnown

type RecordEditParamsDNSRecordsSSHFPRecord

type RecordEditParamsDNSRecordsSSHFPRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SSHFP record.
	Data param.Field[RecordEditParamsDNSRecordsSSHFPRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsSSHFPRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsSSHFPRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsSSHFPRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsSSHFPRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsSSHFPRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsSSHFPRecordData

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

Components of a SSHFP record.

func (RecordEditParamsDNSRecordsSSHFPRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsSSHFPRecordTTL

type RecordEditParamsDNSRecordsSSHFPRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsSSHFPRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsSSHFPRecordTTLNumber.

type RecordEditParamsDNSRecordsSSHFPRecordTTLNumber

type RecordEditParamsDNSRecordsSSHFPRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsSSHFPRecordTTLNumber1 RecordEditParamsDNSRecordsSSHFPRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsSSHFPRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsSSHFPRecordType

type RecordEditParamsDNSRecordsSSHFPRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsSSHFPRecordTypeSSHFP RecordEditParamsDNSRecordsSSHFPRecordType = "SSHFP"
)

func (RecordEditParamsDNSRecordsSSHFPRecordType) IsKnown

type RecordEditParamsDNSRecordsSVCBRecord

type RecordEditParamsDNSRecordsSVCBRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SVCB record.
	Data param.Field[RecordEditParamsDNSRecordsSVCBRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsSVCBRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsSVCBRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsSVCBRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsSVCBRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsSVCBRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsSVCBRecordData

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

Components of a SVCB record.

func (RecordEditParamsDNSRecordsSVCBRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsSVCBRecordTTL

type RecordEditParamsDNSRecordsSVCBRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsSVCBRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsSVCBRecordTTLNumber.

type RecordEditParamsDNSRecordsSVCBRecordTTLNumber

type RecordEditParamsDNSRecordsSVCBRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsSVCBRecordTTLNumber1 RecordEditParamsDNSRecordsSVCBRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsSVCBRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsSVCBRecordType

type RecordEditParamsDNSRecordsSVCBRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsSVCBRecordTypeSVCB RecordEditParamsDNSRecordsSVCBRecordType = "SVCB"
)

func (RecordEditParamsDNSRecordsSVCBRecordType) IsKnown

type RecordEditParamsDNSRecordsTLSARecord

type RecordEditParamsDNSRecordsTLSARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a TLSA record.
	Data param.Field[RecordEditParamsDNSRecordsTLSARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsTLSARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsTLSARecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsTLSARecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsTLSARecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsTLSARecord) MarshalJSON

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

type RecordEditParamsDNSRecordsTLSARecordData

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

Components of a TLSA record.

func (RecordEditParamsDNSRecordsTLSARecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsTLSARecordTTL

type RecordEditParamsDNSRecordsTLSARecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsTLSARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsTLSARecordTTLNumber.

type RecordEditParamsDNSRecordsTLSARecordTTLNumber

type RecordEditParamsDNSRecordsTLSARecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsTLSARecordTTLNumber1 RecordEditParamsDNSRecordsTLSARecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsTLSARecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsTLSARecordType

type RecordEditParamsDNSRecordsTLSARecordType string

Record type.

const (
	RecordEditParamsDNSRecordsTLSARecordTypeTLSA RecordEditParamsDNSRecordsTLSARecordType = "TLSA"
)

func (RecordEditParamsDNSRecordsTLSARecordType) IsKnown

type RecordEditParamsDNSRecordsTXTRecord

type RecordEditParamsDNSRecordsTXTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Text content for the record.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsTXTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsTXTRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsTXTRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsTXTRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsTXTRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsTXTRecordTTL

type RecordEditParamsDNSRecordsTXTRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsTXTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsTXTRecordTTLNumber.

type RecordEditParamsDNSRecordsTXTRecordTTLNumber

type RecordEditParamsDNSRecordsTXTRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsTXTRecordTTLNumber1 RecordEditParamsDNSRecordsTXTRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsTXTRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsTXTRecordType

type RecordEditParamsDNSRecordsTXTRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsTXTRecordTypeTXT RecordEditParamsDNSRecordsTXTRecordType = "TXT"
)

func (RecordEditParamsDNSRecordsTXTRecordType) IsKnown

type RecordEditParamsDNSRecordsURIRecord

type RecordEditParamsDNSRecordsURIRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a URI record.
	Data param.Field[RecordEditParamsDNSRecordsURIRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordEditParamsDNSRecordsURIRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordEditParamsDNSRecordsURIRecordTTL] `json:"ttl"`
}

func (RecordEditParamsDNSRecordsURIRecord) ImplementsRecordEditParams

func (RecordEditParamsDNSRecordsURIRecord) ImplementsRecordEditParams()

func (RecordEditParamsDNSRecordsURIRecord) MarshalJSON

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

type RecordEditParamsDNSRecordsURIRecordData

type RecordEditParamsDNSRecordsURIRecordData struct {
	// The record content.
	Content param.Field[string] `json:"content"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a URI record.

func (RecordEditParamsDNSRecordsURIRecordData) MarshalJSON

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

type RecordEditParamsDNSRecordsURIRecordTTL

type RecordEditParamsDNSRecordsURIRecordTTL interface {
	ImplementsDNSRecordEditParamsDNSRecordsURIRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordEditParamsDNSRecordsURIRecordTTLNumber.

type RecordEditParamsDNSRecordsURIRecordTTLNumber

type RecordEditParamsDNSRecordsURIRecordTTLNumber float64
const (
	RecordEditParamsDNSRecordsURIRecordTTLNumber1 RecordEditParamsDNSRecordsURIRecordTTLNumber = 1
)

func (RecordEditParamsDNSRecordsURIRecordTTLNumber) IsKnown

type RecordEditParamsDNSRecordsURIRecordType

type RecordEditParamsDNSRecordsURIRecordType string

Record type.

const (
	RecordEditParamsDNSRecordsURIRecordTypeURI RecordEditParamsDNSRecordsURIRecordType = "URI"
)

func (RecordEditParamsDNSRecordsURIRecordType) IsKnown

type RecordEditResponseEnvelope

type RecordEditResponseEnvelope struct {
	Errors   []RecordEditResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordEditResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSRecord                            `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
)

func (RecordEditResponseEnvelopeSuccess) IsKnown

type RecordExportParams

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

type RecordGetParams

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

type RecordGetResponseEnvelope

type RecordGetResponseEnvelope struct {
	Errors   []RecordGetResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordGetResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSRecord                           `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
)

func (RecordGetResponseEnvelopeSuccess) IsKnown

type RecordImportParams

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

func (RecordImportParams) 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
)

func (RecordImportResponseEnvelopeSuccess) IsKnown

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

func (RecordListParamsDirection) IsKnown

func (r RecordListParamsDirection) IsKnown() bool

type RecordListParamsMatch

type RecordListParamsMatch string

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

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

func (RecordListParamsMatch) IsKnown

func (r RecordListParamsMatch) IsKnown() bool

type RecordListParamsOrder

type RecordListParamsOrder string

Field to order DNS records by.

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

func (RecordListParamsOrder) IsKnown

func (r RecordListParamsOrder) IsKnown() bool

type RecordListParamsTag

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

func (RecordListParamsTag) URLQuery

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

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

type RecordListParamsTagMatch

type RecordListParamsTagMatch string

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

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

func (RecordListParamsTagMatch) IsKnown

func (r RecordListParamsTagMatch) IsKnown() bool

type RecordListParamsType

type RecordListParamsType string

Record type.

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

func (RecordListParamsType) IsKnown

func (r RecordListParamsType) IsKnown() bool

type RecordNewParamsDNSRecordsAAAARecord

type RecordNewParamsDNSRecordsAAAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv6 address.
	Content param.Field[string] `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsAAAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsAAAARecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsAAAARecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsAAAARecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsAAAARecord) MarshalJSON

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

type RecordNewParamsDNSRecordsAAAARecordTTL

type RecordNewParamsDNSRecordsAAAARecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsAAAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsAAAARecordTTLNumber.

type RecordNewParamsDNSRecordsAAAARecordTTLNumber

type RecordNewParamsDNSRecordsAAAARecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsAAAARecordTTLNumber1 RecordNewParamsDNSRecordsAAAARecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsAAAARecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsAAAARecordType

type RecordNewParamsDNSRecordsAAAARecordType string

Record type.

const (
	RecordNewParamsDNSRecordsAAAARecordTypeAAAA RecordNewParamsDNSRecordsAAAARecordType = "AAAA"
)

func (RecordNewParamsDNSRecordsAAAARecordType) IsKnown

type RecordNewParamsDNSRecordsARecord

type RecordNewParamsDNSRecordsARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv4 address.
	Content param.Field[string] `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsARecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsARecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsARecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsARecord) MarshalJSON

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

type RecordNewParamsDNSRecordsARecordTTL

type RecordNewParamsDNSRecordsARecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsARecordTTLNumber.

type RecordNewParamsDNSRecordsARecordTTLNumber

type RecordNewParamsDNSRecordsARecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsARecordTTLNumber1 RecordNewParamsDNSRecordsARecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsARecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsARecordType

type RecordNewParamsDNSRecordsARecordType string

Record type.

const (
	RecordNewParamsDNSRecordsARecordTypeA RecordNewParamsDNSRecordsARecordType = "A"
)

func (RecordNewParamsDNSRecordsARecordType) IsKnown

type RecordNewParamsDNSRecordsCAARecord

type RecordNewParamsDNSRecordsCAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CAA record.
	Data param.Field[RecordNewParamsDNSRecordsCAARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsCAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsCAARecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsCAARecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsCAARecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsCAARecord) MarshalJSON

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

type RecordNewParamsDNSRecordsCAARecordData

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

Components of a CAA record.

func (RecordNewParamsDNSRecordsCAARecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsCAARecordTTL

type RecordNewParamsDNSRecordsCAARecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsCAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsCAARecordTTLNumber.

type RecordNewParamsDNSRecordsCAARecordTTLNumber

type RecordNewParamsDNSRecordsCAARecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsCAARecordTTLNumber1 RecordNewParamsDNSRecordsCAARecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsCAARecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsCAARecordType

type RecordNewParamsDNSRecordsCAARecordType string

Record type.

const (
	RecordNewParamsDNSRecordsCAARecordTypeCAA RecordNewParamsDNSRecordsCAARecordType = "CAA"
)

func (RecordNewParamsDNSRecordsCAARecordType) IsKnown

type RecordNewParamsDNSRecordsCERTRecord

type RecordNewParamsDNSRecordsCERTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CERT record.
	Data param.Field[RecordNewParamsDNSRecordsCERTRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsCERTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsCERTRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsCERTRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsCERTRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsCERTRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsCERTRecordData

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

Components of a CERT record.

func (RecordNewParamsDNSRecordsCERTRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsCERTRecordTTL

type RecordNewParamsDNSRecordsCERTRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsCERTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsCERTRecordTTLNumber.

type RecordNewParamsDNSRecordsCERTRecordTTLNumber

type RecordNewParamsDNSRecordsCERTRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsCERTRecordTTLNumber1 RecordNewParamsDNSRecordsCERTRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsCERTRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsCERTRecordType

type RecordNewParamsDNSRecordsCERTRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsCERTRecordTypeCERT RecordNewParamsDNSRecordsCERTRecordType = "CERT"
)

func (RecordNewParamsDNSRecordsCERTRecordType) IsKnown

type RecordNewParamsDNSRecordsCNAMERecord

type RecordNewParamsDNSRecordsCNAMERecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid hostname. Must not match the record's name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsCNAMERecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsCNAMERecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsCNAMERecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsCNAMERecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsCNAMERecord) MarshalJSON

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

type RecordNewParamsDNSRecordsCNAMERecordTTL

type RecordNewParamsDNSRecordsCNAMERecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsCNAMERecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsCNAMERecordTTLNumber.

type RecordNewParamsDNSRecordsCNAMERecordTTLNumber

type RecordNewParamsDNSRecordsCNAMERecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsCNAMERecordTTLNumber1 RecordNewParamsDNSRecordsCNAMERecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsCNAMERecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsCNAMERecordType

type RecordNewParamsDNSRecordsCNAMERecordType string

Record type.

const (
	RecordNewParamsDNSRecordsCNAMERecordTypeCNAME RecordNewParamsDNSRecordsCNAMERecordType = "CNAME"
)

func (RecordNewParamsDNSRecordsCNAMERecordType) IsKnown

type RecordNewParamsDNSRecordsDNSKEYRecord

type RecordNewParamsDNSRecordsDNSKEYRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DNSKEY record.
	Data param.Field[RecordNewParamsDNSRecordsDNSKEYRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsDNSKEYRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsDNSKEYRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsDNSKEYRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsDNSKEYRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsDNSKEYRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsDNSKEYRecordData

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

Components of a DNSKEY record.

func (RecordNewParamsDNSRecordsDNSKEYRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsDNSKEYRecordTTL

type RecordNewParamsDNSRecordsDNSKEYRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsDNSKEYRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber.

type RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber

type RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber1 RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsDNSKEYRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsDNSKEYRecordType

type RecordNewParamsDNSRecordsDNSKEYRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsDNSKEYRecordTypeDNSKEY RecordNewParamsDNSRecordsDNSKEYRecordType = "DNSKEY"
)

func (RecordNewParamsDNSRecordsDNSKEYRecordType) IsKnown

type RecordNewParamsDNSRecordsDSRecord

type RecordNewParamsDNSRecordsDSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DS record.
	Data param.Field[RecordNewParamsDNSRecordsDSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsDSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsDSRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsDSRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsDSRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsDSRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsDSRecordData

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

Components of a DS record.

func (RecordNewParamsDNSRecordsDSRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsDSRecordTTL

type RecordNewParamsDNSRecordsDSRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsDSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsDSRecordTTLNumber.

type RecordNewParamsDNSRecordsDSRecordTTLNumber

type RecordNewParamsDNSRecordsDSRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsDSRecordTTLNumber1 RecordNewParamsDNSRecordsDSRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsDSRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsDSRecordType

type RecordNewParamsDNSRecordsDSRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsDSRecordTypeDS RecordNewParamsDNSRecordsDSRecordType = "DS"
)

func (RecordNewParamsDNSRecordsDSRecordType) IsKnown

type RecordNewParamsDNSRecordsHTTPSRecord

type RecordNewParamsDNSRecordsHTTPSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a HTTPS record.
	Data param.Field[RecordNewParamsDNSRecordsHTTPSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsHTTPSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsHTTPSRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsHTTPSRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsHTTPSRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsHTTPSRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsHTTPSRecordData

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

Components of a HTTPS record.

func (RecordNewParamsDNSRecordsHTTPSRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsHTTPSRecordTTL

type RecordNewParamsDNSRecordsHTTPSRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsHTTPSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsHTTPSRecordTTLNumber.

type RecordNewParamsDNSRecordsHTTPSRecordTTLNumber

type RecordNewParamsDNSRecordsHTTPSRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsHTTPSRecordTTLNumber1 RecordNewParamsDNSRecordsHTTPSRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsHTTPSRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsHTTPSRecordType

type RecordNewParamsDNSRecordsHTTPSRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsHTTPSRecordTypeHTTPS RecordNewParamsDNSRecordsHTTPSRecordType = "HTTPS"
)

func (RecordNewParamsDNSRecordsHTTPSRecordType) IsKnown

type RecordNewParamsDNSRecordsLOCRecord

type RecordNewParamsDNSRecordsLOCRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a LOC record.
	Data param.Field[RecordNewParamsDNSRecordsLOCRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsLOCRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsLOCRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsLOCRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsLOCRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsLOCRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsLOCRecordData

type RecordNewParamsDNSRecordsLOCRecordData struct {
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordNewParamsDNSRecordsLOCRecordDataLatDirection] `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[RecordNewParamsDNSRecordsLOCRecordDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
}

Components of a LOC record.

func (RecordNewParamsDNSRecordsLOCRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsLOCRecordDataLatDirection

type RecordNewParamsDNSRecordsLOCRecordDataLatDirection string

Latitude direction.

const (
	RecordNewParamsDNSRecordsLOCRecordDataLatDirectionN RecordNewParamsDNSRecordsLOCRecordDataLatDirection = "N"
	RecordNewParamsDNSRecordsLOCRecordDataLatDirectionS RecordNewParamsDNSRecordsLOCRecordDataLatDirection = "S"
)

func (RecordNewParamsDNSRecordsLOCRecordDataLatDirection) IsKnown

type RecordNewParamsDNSRecordsLOCRecordDataLongDirection

type RecordNewParamsDNSRecordsLOCRecordDataLongDirection string

Longitude direction.

const (
	RecordNewParamsDNSRecordsLOCRecordDataLongDirectionE RecordNewParamsDNSRecordsLOCRecordDataLongDirection = "E"
	RecordNewParamsDNSRecordsLOCRecordDataLongDirectionW RecordNewParamsDNSRecordsLOCRecordDataLongDirection = "W"
)

func (RecordNewParamsDNSRecordsLOCRecordDataLongDirection) IsKnown

type RecordNewParamsDNSRecordsLOCRecordTTL

type RecordNewParamsDNSRecordsLOCRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsLOCRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsLOCRecordTTLNumber.

type RecordNewParamsDNSRecordsLOCRecordTTLNumber

type RecordNewParamsDNSRecordsLOCRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsLOCRecordTTLNumber1 RecordNewParamsDNSRecordsLOCRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsLOCRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsLOCRecordType

type RecordNewParamsDNSRecordsLOCRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsLOCRecordTypeLOC RecordNewParamsDNSRecordsLOCRecordType = "LOC"
)

func (RecordNewParamsDNSRecordsLOCRecordType) IsKnown

type RecordNewParamsDNSRecordsMXRecord

type RecordNewParamsDNSRecordsMXRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid mail server hostname.
	Content param.Field[string] `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsMXRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsMXRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsMXRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsMXRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsMXRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsMXRecordTTL

type RecordNewParamsDNSRecordsMXRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsMXRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsMXRecordTTLNumber.

type RecordNewParamsDNSRecordsMXRecordTTLNumber

type RecordNewParamsDNSRecordsMXRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsMXRecordTTLNumber1 RecordNewParamsDNSRecordsMXRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsMXRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsMXRecordType

type RecordNewParamsDNSRecordsMXRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsMXRecordTypeMX RecordNewParamsDNSRecordsMXRecordType = "MX"
)

func (RecordNewParamsDNSRecordsMXRecordType) IsKnown

type RecordNewParamsDNSRecordsNAPTRRecord

type RecordNewParamsDNSRecordsNAPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a NAPTR record.
	Data param.Field[RecordNewParamsDNSRecordsNAPTRRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsNAPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsNAPTRRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsNAPTRRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsNAPTRRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsNAPTRRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsNAPTRRecordData

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

Components of a NAPTR record.

func (RecordNewParamsDNSRecordsNAPTRRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsNAPTRRecordTTL

type RecordNewParamsDNSRecordsNAPTRRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsNAPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsNAPTRRecordTTLNumber.

type RecordNewParamsDNSRecordsNAPTRRecordTTLNumber

type RecordNewParamsDNSRecordsNAPTRRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsNAPTRRecordTTLNumber1 RecordNewParamsDNSRecordsNAPTRRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsNAPTRRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsNAPTRRecordType

type RecordNewParamsDNSRecordsNAPTRRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsNAPTRRecordTypeNAPTR RecordNewParamsDNSRecordsNAPTRRecordType = "NAPTR"
)

func (RecordNewParamsDNSRecordsNAPTRRecordType) IsKnown

type RecordNewParamsDNSRecordsNSRecord

type RecordNewParamsDNSRecordsNSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid name server host name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsNSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsNSRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsNSRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsNSRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsNSRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsNSRecordTTL

type RecordNewParamsDNSRecordsNSRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsNSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsNSRecordTTLNumber.

type RecordNewParamsDNSRecordsNSRecordTTLNumber

type RecordNewParamsDNSRecordsNSRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsNSRecordTTLNumber1 RecordNewParamsDNSRecordsNSRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsNSRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsNSRecordType

type RecordNewParamsDNSRecordsNSRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsNSRecordTypeNS RecordNewParamsDNSRecordsNSRecordType = "NS"
)

func (RecordNewParamsDNSRecordsNSRecordType) IsKnown

type RecordNewParamsDNSRecordsPTRRecord

type RecordNewParamsDNSRecordsPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Domain name pointing to the address.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsPTRRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsPTRRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsPTRRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsPTRRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsPTRRecordTTL

type RecordNewParamsDNSRecordsPTRRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsPTRRecordTTLNumber.

type RecordNewParamsDNSRecordsPTRRecordTTLNumber

type RecordNewParamsDNSRecordsPTRRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsPTRRecordTTLNumber1 RecordNewParamsDNSRecordsPTRRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsPTRRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsPTRRecordType

type RecordNewParamsDNSRecordsPTRRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsPTRRecordTypePTR RecordNewParamsDNSRecordsPTRRecordType = "PTR"
)

func (RecordNewParamsDNSRecordsPTRRecordType) IsKnown

type RecordNewParamsDNSRecordsSMIMEARecord

type RecordNewParamsDNSRecordsSMIMEARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SMIMEA record.
	Data param.Field[RecordNewParamsDNSRecordsSMIMEARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsSMIMEARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsSMIMEARecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsSMIMEARecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsSMIMEARecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsSMIMEARecord) MarshalJSON

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

type RecordNewParamsDNSRecordsSMIMEARecordData

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

Components of a SMIMEA record.

func (RecordNewParamsDNSRecordsSMIMEARecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsSMIMEARecordTTL

type RecordNewParamsDNSRecordsSMIMEARecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsSMIMEARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsSMIMEARecordTTLNumber.

type RecordNewParamsDNSRecordsSMIMEARecordTTLNumber

type RecordNewParamsDNSRecordsSMIMEARecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsSMIMEARecordTTLNumber1 RecordNewParamsDNSRecordsSMIMEARecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsSMIMEARecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsSMIMEARecordType

type RecordNewParamsDNSRecordsSMIMEARecordType string

Record type.

const (
	RecordNewParamsDNSRecordsSMIMEARecordTypeSMIMEA RecordNewParamsDNSRecordsSMIMEARecordType = "SMIMEA"
)

func (RecordNewParamsDNSRecordsSMIMEARecordType) IsKnown

type RecordNewParamsDNSRecordsSRVRecord

type RecordNewParamsDNSRecordsSRVRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SRV record.
	Data param.Field[RecordNewParamsDNSRecordsSRVRecordData] `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 param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsSRVRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsSRVRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsSRVRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsSRVRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsSRVRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsSRVRecordData

type RecordNewParamsDNSRecordsSRVRecordData 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 param.Field[string] `json:"name" format:"hostname"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// A valid 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"`
	// 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"`
	// A valid hostname.
	Target param.Field[string] `json:"target" format:"hostname"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a SRV record.

func (RecordNewParamsDNSRecordsSRVRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsSRVRecordTTL

type RecordNewParamsDNSRecordsSRVRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsSRVRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsSRVRecordTTLNumber.

type RecordNewParamsDNSRecordsSRVRecordTTLNumber

type RecordNewParamsDNSRecordsSRVRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsSRVRecordTTLNumber1 RecordNewParamsDNSRecordsSRVRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsSRVRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsSRVRecordType

type RecordNewParamsDNSRecordsSRVRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsSRVRecordTypeSRV RecordNewParamsDNSRecordsSRVRecordType = "SRV"
)

func (RecordNewParamsDNSRecordsSRVRecordType) IsKnown

type RecordNewParamsDNSRecordsSSHFPRecord

type RecordNewParamsDNSRecordsSSHFPRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SSHFP record.
	Data param.Field[RecordNewParamsDNSRecordsSSHFPRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsSSHFPRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsSSHFPRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsSSHFPRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsSSHFPRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsSSHFPRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsSSHFPRecordData

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

Components of a SSHFP record.

func (RecordNewParamsDNSRecordsSSHFPRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsSSHFPRecordTTL

type RecordNewParamsDNSRecordsSSHFPRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsSSHFPRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsSSHFPRecordTTLNumber.

type RecordNewParamsDNSRecordsSSHFPRecordTTLNumber

type RecordNewParamsDNSRecordsSSHFPRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsSSHFPRecordTTLNumber1 RecordNewParamsDNSRecordsSSHFPRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsSSHFPRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsSSHFPRecordType

type RecordNewParamsDNSRecordsSSHFPRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsSSHFPRecordTypeSSHFP RecordNewParamsDNSRecordsSSHFPRecordType = "SSHFP"
)

func (RecordNewParamsDNSRecordsSSHFPRecordType) IsKnown

type RecordNewParamsDNSRecordsSVCBRecord

type RecordNewParamsDNSRecordsSVCBRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SVCB record.
	Data param.Field[RecordNewParamsDNSRecordsSVCBRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsSVCBRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsSVCBRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsSVCBRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsSVCBRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsSVCBRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsSVCBRecordData

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

Components of a SVCB record.

func (RecordNewParamsDNSRecordsSVCBRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsSVCBRecordTTL

type RecordNewParamsDNSRecordsSVCBRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsSVCBRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsSVCBRecordTTLNumber.

type RecordNewParamsDNSRecordsSVCBRecordTTLNumber

type RecordNewParamsDNSRecordsSVCBRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsSVCBRecordTTLNumber1 RecordNewParamsDNSRecordsSVCBRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsSVCBRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsSVCBRecordType

type RecordNewParamsDNSRecordsSVCBRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsSVCBRecordTypeSVCB RecordNewParamsDNSRecordsSVCBRecordType = "SVCB"
)

func (RecordNewParamsDNSRecordsSVCBRecordType) IsKnown

type RecordNewParamsDNSRecordsTLSARecord

type RecordNewParamsDNSRecordsTLSARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a TLSA record.
	Data param.Field[RecordNewParamsDNSRecordsTLSARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsTLSARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsTLSARecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsTLSARecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsTLSARecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsTLSARecord) MarshalJSON

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

type RecordNewParamsDNSRecordsTLSARecordData

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

Components of a TLSA record.

func (RecordNewParamsDNSRecordsTLSARecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsTLSARecordTTL

type RecordNewParamsDNSRecordsTLSARecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsTLSARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsTLSARecordTTLNumber.

type RecordNewParamsDNSRecordsTLSARecordTTLNumber

type RecordNewParamsDNSRecordsTLSARecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsTLSARecordTTLNumber1 RecordNewParamsDNSRecordsTLSARecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsTLSARecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsTLSARecordType

type RecordNewParamsDNSRecordsTLSARecordType string

Record type.

const (
	RecordNewParamsDNSRecordsTLSARecordTypeTLSA RecordNewParamsDNSRecordsTLSARecordType = "TLSA"
)

func (RecordNewParamsDNSRecordsTLSARecordType) IsKnown

type RecordNewParamsDNSRecordsTXTRecord

type RecordNewParamsDNSRecordsTXTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Text content for the record.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsTXTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsTXTRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsTXTRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsTXTRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsTXTRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsTXTRecordTTL

type RecordNewParamsDNSRecordsTXTRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsTXTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsTXTRecordTTLNumber.

type RecordNewParamsDNSRecordsTXTRecordTTLNumber

type RecordNewParamsDNSRecordsTXTRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsTXTRecordTTLNumber1 RecordNewParamsDNSRecordsTXTRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsTXTRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsTXTRecordType

type RecordNewParamsDNSRecordsTXTRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsTXTRecordTypeTXT RecordNewParamsDNSRecordsTXTRecordType = "TXT"
)

func (RecordNewParamsDNSRecordsTXTRecordType) IsKnown

type RecordNewParamsDNSRecordsURIRecord

type RecordNewParamsDNSRecordsURIRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a URI record.
	Data param.Field[RecordNewParamsDNSRecordsURIRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordNewParamsDNSRecordsURIRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordNewParamsDNSRecordsURIRecordTTL] `json:"ttl"`
}

func (RecordNewParamsDNSRecordsURIRecord) ImplementsRecordNewParams

func (RecordNewParamsDNSRecordsURIRecord) ImplementsRecordNewParams()

func (RecordNewParamsDNSRecordsURIRecord) MarshalJSON

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

type RecordNewParamsDNSRecordsURIRecordData

type RecordNewParamsDNSRecordsURIRecordData struct {
	// The record content.
	Content param.Field[string] `json:"content"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a URI record.

func (RecordNewParamsDNSRecordsURIRecordData) MarshalJSON

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

type RecordNewParamsDNSRecordsURIRecordTTL

type RecordNewParamsDNSRecordsURIRecordTTL interface {
	ImplementsDNSRecordNewParamsDNSRecordsURIRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordNewParamsDNSRecordsURIRecordTTLNumber.

type RecordNewParamsDNSRecordsURIRecordTTLNumber

type RecordNewParamsDNSRecordsURIRecordTTLNumber float64
const (
	RecordNewParamsDNSRecordsURIRecordTTLNumber1 RecordNewParamsDNSRecordsURIRecordTTLNumber = 1
)

func (RecordNewParamsDNSRecordsURIRecordTTLNumber) IsKnown

type RecordNewParamsDNSRecordsURIRecordType

type RecordNewParamsDNSRecordsURIRecordType string

Record type.

const (
	RecordNewParamsDNSRecordsURIRecordTypeURI RecordNewParamsDNSRecordsURIRecordType = "URI"
)

func (RecordNewParamsDNSRecordsURIRecordType) IsKnown

type RecordNewResponseEnvelope

type RecordNewResponseEnvelope struct {
	Errors   []RecordNewResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordNewResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSRecord                           `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
)

func (RecordNewResponseEnvelopeSuccess) IsKnown

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
)

func (RecordScanResponseEnvelopeSuccess) IsKnown

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 *DNSRecord, 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 *DNSRecord, 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 *DNSRecord, 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 *DNSRecord, 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 RecordUpdateParamsDNSRecordsAAAARecord

type RecordUpdateParamsDNSRecordsAAAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv6 address.
	Content param.Field[string] `json:"content,required" format:"ipv6"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsAAAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsAAAARecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsAAAARecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsAAAARecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsAAAARecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsAAAARecordTTL

type RecordUpdateParamsDNSRecordsAAAARecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsAAAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsAAAARecordTTLNumber.

type RecordUpdateParamsDNSRecordsAAAARecordTTLNumber

type RecordUpdateParamsDNSRecordsAAAARecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsAAAARecordTTLNumber1 RecordUpdateParamsDNSRecordsAAAARecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsAAAARecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsAAAARecordType

type RecordUpdateParamsDNSRecordsAAAARecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsAAAARecordTypeAAAA RecordUpdateParamsDNSRecordsAAAARecordType = "AAAA"
)

func (RecordUpdateParamsDNSRecordsAAAARecordType) IsKnown

type RecordUpdateParamsDNSRecordsARecord

type RecordUpdateParamsDNSRecordsARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid IPv4 address.
	Content param.Field[string] `json:"content,required" format:"ipv4"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsARecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsARecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsARecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsARecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsARecordTTL

type RecordUpdateParamsDNSRecordsARecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsARecordTTLNumber.

type RecordUpdateParamsDNSRecordsARecordTTLNumber

type RecordUpdateParamsDNSRecordsARecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsARecordTTLNumber1 RecordUpdateParamsDNSRecordsARecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsARecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsARecordType

type RecordUpdateParamsDNSRecordsARecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsARecordTypeA RecordUpdateParamsDNSRecordsARecordType = "A"
)

func (RecordUpdateParamsDNSRecordsARecordType) IsKnown

type RecordUpdateParamsDNSRecordsCAARecord

type RecordUpdateParamsDNSRecordsCAARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CAA record.
	Data param.Field[RecordUpdateParamsDNSRecordsCAARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsCAARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsCAARecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsCAARecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsCAARecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsCAARecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsCAARecordData

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

Components of a CAA record.

func (RecordUpdateParamsDNSRecordsCAARecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsCAARecordTTL

type RecordUpdateParamsDNSRecordsCAARecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsCAARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsCAARecordTTLNumber.

type RecordUpdateParamsDNSRecordsCAARecordTTLNumber

type RecordUpdateParamsDNSRecordsCAARecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsCAARecordTTLNumber1 RecordUpdateParamsDNSRecordsCAARecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsCAARecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsCAARecordType

type RecordUpdateParamsDNSRecordsCAARecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsCAARecordTypeCAA RecordUpdateParamsDNSRecordsCAARecordType = "CAA"
)

func (RecordUpdateParamsDNSRecordsCAARecordType) IsKnown

type RecordUpdateParamsDNSRecordsCERTRecord

type RecordUpdateParamsDNSRecordsCERTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a CERT record.
	Data param.Field[RecordUpdateParamsDNSRecordsCERTRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsCERTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsCERTRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsCERTRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsCERTRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsCERTRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsCERTRecordData

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

Components of a CERT record.

func (RecordUpdateParamsDNSRecordsCERTRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsCERTRecordTTL

type RecordUpdateParamsDNSRecordsCERTRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsCERTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsCERTRecordTTLNumber.

type RecordUpdateParamsDNSRecordsCERTRecordTTLNumber

type RecordUpdateParamsDNSRecordsCERTRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsCERTRecordTTLNumber1 RecordUpdateParamsDNSRecordsCERTRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsCERTRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsCERTRecordType

type RecordUpdateParamsDNSRecordsCERTRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsCERTRecordTypeCERT RecordUpdateParamsDNSRecordsCERTRecordType = "CERT"
)

func (RecordUpdateParamsDNSRecordsCERTRecordType) IsKnown

type RecordUpdateParamsDNSRecordsCNAMERecord

type RecordUpdateParamsDNSRecordsCNAMERecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid hostname. Must not match the record's name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsCNAMERecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsCNAMERecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsCNAMERecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsCNAMERecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsCNAMERecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsCNAMERecordTTL

type RecordUpdateParamsDNSRecordsCNAMERecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsCNAMERecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber.

type RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber

type RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber1 RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsCNAMERecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsCNAMERecordType

type RecordUpdateParamsDNSRecordsCNAMERecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsCNAMERecordTypeCNAME RecordUpdateParamsDNSRecordsCNAMERecordType = "CNAME"
)

func (RecordUpdateParamsDNSRecordsCNAMERecordType) IsKnown

type RecordUpdateParamsDNSRecordsDNSKEYRecord

type RecordUpdateParamsDNSRecordsDNSKEYRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DNSKEY record.
	Data param.Field[RecordUpdateParamsDNSRecordsDNSKEYRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsDNSKEYRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsDNSKEYRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsDNSKEYRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsDNSKEYRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsDNSKEYRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsDNSKEYRecordData

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

Components of a DNSKEY record.

func (RecordUpdateParamsDNSRecordsDNSKEYRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsDNSKEYRecordTTL

type RecordUpdateParamsDNSRecordsDNSKEYRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsDNSKEYRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber.

type RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber

type RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber1 RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsDNSKEYRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsDNSKEYRecordType

type RecordUpdateParamsDNSRecordsDNSKEYRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsDNSKEYRecordTypeDNSKEY RecordUpdateParamsDNSRecordsDNSKEYRecordType = "DNSKEY"
)

func (RecordUpdateParamsDNSRecordsDNSKEYRecordType) IsKnown

type RecordUpdateParamsDNSRecordsDSRecord

type RecordUpdateParamsDNSRecordsDSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a DS record.
	Data param.Field[RecordUpdateParamsDNSRecordsDSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsDSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsDSRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsDSRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsDSRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsDSRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsDSRecordData

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

Components of a DS record.

func (RecordUpdateParamsDNSRecordsDSRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsDSRecordTTL

type RecordUpdateParamsDNSRecordsDSRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsDSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsDSRecordTTLNumber.

type RecordUpdateParamsDNSRecordsDSRecordTTLNumber

type RecordUpdateParamsDNSRecordsDSRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsDSRecordTTLNumber1 RecordUpdateParamsDNSRecordsDSRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsDSRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsDSRecordType

type RecordUpdateParamsDNSRecordsDSRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsDSRecordTypeDS RecordUpdateParamsDNSRecordsDSRecordType = "DS"
)

func (RecordUpdateParamsDNSRecordsDSRecordType) IsKnown

type RecordUpdateParamsDNSRecordsHTTPSRecord

type RecordUpdateParamsDNSRecordsHTTPSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a HTTPS record.
	Data param.Field[RecordUpdateParamsDNSRecordsHTTPSRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsHTTPSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsHTTPSRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsHTTPSRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsHTTPSRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsHTTPSRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsHTTPSRecordData

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

Components of a HTTPS record.

func (RecordUpdateParamsDNSRecordsHTTPSRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsHTTPSRecordTTL

type RecordUpdateParamsDNSRecordsHTTPSRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsHTTPSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber.

type RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber

type RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber1 RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsHTTPSRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsHTTPSRecordType

type RecordUpdateParamsDNSRecordsHTTPSRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsHTTPSRecordTypeHTTPS RecordUpdateParamsDNSRecordsHTTPSRecordType = "HTTPS"
)

func (RecordUpdateParamsDNSRecordsHTTPSRecordType) IsKnown

type RecordUpdateParamsDNSRecordsLOCRecord

type RecordUpdateParamsDNSRecordsLOCRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a LOC record.
	Data param.Field[RecordUpdateParamsDNSRecordsLOCRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsLOCRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsLOCRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsLOCRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsLOCRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsLOCRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsLOCRecordData

type RecordUpdateParamsDNSRecordsLOCRecordData struct {
	// Altitude of location in meters.
	Altitude param.Field[float64] `json:"altitude"`
	// Degrees of latitude.
	LatDegrees param.Field[float64] `json:"lat_degrees"`
	// Latitude direction.
	LatDirection param.Field[RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection] `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[RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection] `json:"long_direction"`
	// Minutes of longitude.
	LongMinutes param.Field[float64] `json:"long_minutes"`
	// Seconds of longitude.
	LongSeconds param.Field[float64] `json:"long_seconds"`
	// Horizontal precision of location.
	PrecisionHorz param.Field[float64] `json:"precision_horz"`
	// Vertical precision of location.
	PrecisionVert param.Field[float64] `json:"precision_vert"`
	// Size of location in meters.
	Size param.Field[float64] `json:"size"`
}

Components of a LOC record.

func (RecordUpdateParamsDNSRecordsLOCRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection

type RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection string

Latitude direction.

const (
	RecordUpdateParamsDNSRecordsLOCRecordDataLatDirectionN RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection = "N"
	RecordUpdateParamsDNSRecordsLOCRecordDataLatDirectionS RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection = "S"
)

func (RecordUpdateParamsDNSRecordsLOCRecordDataLatDirection) IsKnown

type RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection

type RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection string

Longitude direction.

const (
	RecordUpdateParamsDNSRecordsLOCRecordDataLongDirectionE RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection = "E"
	RecordUpdateParamsDNSRecordsLOCRecordDataLongDirectionW RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection = "W"
)

func (RecordUpdateParamsDNSRecordsLOCRecordDataLongDirection) IsKnown

type RecordUpdateParamsDNSRecordsLOCRecordTTL

type RecordUpdateParamsDNSRecordsLOCRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsLOCRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsLOCRecordTTLNumber.

type RecordUpdateParamsDNSRecordsLOCRecordTTLNumber

type RecordUpdateParamsDNSRecordsLOCRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsLOCRecordTTLNumber1 RecordUpdateParamsDNSRecordsLOCRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsLOCRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsLOCRecordType

type RecordUpdateParamsDNSRecordsLOCRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsLOCRecordTypeLOC RecordUpdateParamsDNSRecordsLOCRecordType = "LOC"
)

func (RecordUpdateParamsDNSRecordsLOCRecordType) IsKnown

type RecordUpdateParamsDNSRecordsMXRecord

type RecordUpdateParamsDNSRecordsMXRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid mail server hostname.
	Content param.Field[string] `json:"content,required" format:"hostname"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsMXRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsMXRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsMXRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsMXRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsMXRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsMXRecordTTL

type RecordUpdateParamsDNSRecordsMXRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsMXRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsMXRecordTTLNumber.

type RecordUpdateParamsDNSRecordsMXRecordTTLNumber

type RecordUpdateParamsDNSRecordsMXRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsMXRecordTTLNumber1 RecordUpdateParamsDNSRecordsMXRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsMXRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsMXRecordType

type RecordUpdateParamsDNSRecordsMXRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsMXRecordTypeMX RecordUpdateParamsDNSRecordsMXRecordType = "MX"
)

func (RecordUpdateParamsDNSRecordsMXRecordType) IsKnown

type RecordUpdateParamsDNSRecordsNAPTRRecord

type RecordUpdateParamsDNSRecordsNAPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a NAPTR record.
	Data param.Field[RecordUpdateParamsDNSRecordsNAPTRRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsNAPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsNAPTRRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsNAPTRRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsNAPTRRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsNAPTRRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsNAPTRRecordData

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

Components of a NAPTR record.

func (RecordUpdateParamsDNSRecordsNAPTRRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsNAPTRRecordTTL

type RecordUpdateParamsDNSRecordsNAPTRRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsNAPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber.

type RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber

type RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber1 RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsNAPTRRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsNAPTRRecordType

type RecordUpdateParamsDNSRecordsNAPTRRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsNAPTRRecordTypeNAPTR RecordUpdateParamsDNSRecordsNAPTRRecordType = "NAPTR"
)

func (RecordUpdateParamsDNSRecordsNAPTRRecordType) IsKnown

type RecordUpdateParamsDNSRecordsNSRecord

type RecordUpdateParamsDNSRecordsNSRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// A valid name server host name.
	Content param.Field[interface{}] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsNSRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsNSRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsNSRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsNSRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsNSRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsNSRecordTTL

type RecordUpdateParamsDNSRecordsNSRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsNSRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsNSRecordTTLNumber.

type RecordUpdateParamsDNSRecordsNSRecordTTLNumber

type RecordUpdateParamsDNSRecordsNSRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsNSRecordTTLNumber1 RecordUpdateParamsDNSRecordsNSRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsNSRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsNSRecordType

type RecordUpdateParamsDNSRecordsNSRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsNSRecordTypeNS RecordUpdateParamsDNSRecordsNSRecordType = "NS"
)

func (RecordUpdateParamsDNSRecordsNSRecordType) IsKnown

type RecordUpdateParamsDNSRecordsPTRRecord

type RecordUpdateParamsDNSRecordsPTRRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Domain name pointing to the address.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsPTRRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsPTRRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsPTRRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsPTRRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsPTRRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsPTRRecordTTL

type RecordUpdateParamsDNSRecordsPTRRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsPTRRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsPTRRecordTTLNumber.

type RecordUpdateParamsDNSRecordsPTRRecordTTLNumber

type RecordUpdateParamsDNSRecordsPTRRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsPTRRecordTTLNumber1 RecordUpdateParamsDNSRecordsPTRRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsPTRRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsPTRRecordType

type RecordUpdateParamsDNSRecordsPTRRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsPTRRecordTypePTR RecordUpdateParamsDNSRecordsPTRRecordType = "PTR"
)

func (RecordUpdateParamsDNSRecordsPTRRecordType) IsKnown

type RecordUpdateParamsDNSRecordsSMIMEARecord

type RecordUpdateParamsDNSRecordsSMIMEARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SMIMEA record.
	Data param.Field[RecordUpdateParamsDNSRecordsSMIMEARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsSMIMEARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsSMIMEARecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsSMIMEARecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsSMIMEARecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsSMIMEARecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSMIMEARecordData

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

Components of a SMIMEA record.

func (RecordUpdateParamsDNSRecordsSMIMEARecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSMIMEARecordTTL

type RecordUpdateParamsDNSRecordsSMIMEARecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsSMIMEARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber.

type RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber

type RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber1 RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsSMIMEARecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsSMIMEARecordType

type RecordUpdateParamsDNSRecordsSMIMEARecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsSMIMEARecordTypeSMIMEA RecordUpdateParamsDNSRecordsSMIMEARecordType = "SMIMEA"
)

func (RecordUpdateParamsDNSRecordsSMIMEARecordType) IsKnown

type RecordUpdateParamsDNSRecordsSRVRecord

type RecordUpdateParamsDNSRecordsSRVRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SRV record.
	Data param.Field[RecordUpdateParamsDNSRecordsSRVRecordData] `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 param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsSRVRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsSRVRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsSRVRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsSRVRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsSRVRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSRVRecordData

type RecordUpdateParamsDNSRecordsSRVRecordData 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 param.Field[string] `json:"name" format:"hostname"`
	// The port of the service.
	Port param.Field[float64] `json:"port"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority"`
	// A valid 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"`
	// 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"`
	// A valid hostname.
	Target param.Field[string] `json:"target" format:"hostname"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a SRV record.

func (RecordUpdateParamsDNSRecordsSRVRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSRVRecordTTL

type RecordUpdateParamsDNSRecordsSRVRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsSRVRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsSRVRecordTTLNumber.

type RecordUpdateParamsDNSRecordsSRVRecordTTLNumber

type RecordUpdateParamsDNSRecordsSRVRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsSRVRecordTTLNumber1 RecordUpdateParamsDNSRecordsSRVRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsSRVRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsSRVRecordType

type RecordUpdateParamsDNSRecordsSRVRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsSRVRecordTypeSRV RecordUpdateParamsDNSRecordsSRVRecordType = "SRV"
)

func (RecordUpdateParamsDNSRecordsSRVRecordType) IsKnown

type RecordUpdateParamsDNSRecordsSSHFPRecord

type RecordUpdateParamsDNSRecordsSSHFPRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SSHFP record.
	Data param.Field[RecordUpdateParamsDNSRecordsSSHFPRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsSSHFPRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsSSHFPRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsSSHFPRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsSSHFPRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsSSHFPRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSSHFPRecordData

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

Components of a SSHFP record.

func (RecordUpdateParamsDNSRecordsSSHFPRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSSHFPRecordTTL

type RecordUpdateParamsDNSRecordsSSHFPRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsSSHFPRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber.

type RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber

type RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber1 RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsSSHFPRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsSSHFPRecordType

type RecordUpdateParamsDNSRecordsSSHFPRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsSSHFPRecordTypeSSHFP RecordUpdateParamsDNSRecordsSSHFPRecordType = "SSHFP"
)

func (RecordUpdateParamsDNSRecordsSSHFPRecordType) IsKnown

type RecordUpdateParamsDNSRecordsSVCBRecord

type RecordUpdateParamsDNSRecordsSVCBRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a SVCB record.
	Data param.Field[RecordUpdateParamsDNSRecordsSVCBRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsSVCBRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsSVCBRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsSVCBRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsSVCBRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsSVCBRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSVCBRecordData

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

Components of a SVCB record.

func (RecordUpdateParamsDNSRecordsSVCBRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsSVCBRecordTTL

type RecordUpdateParamsDNSRecordsSVCBRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsSVCBRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber.

type RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber

type RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber1 RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsSVCBRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsSVCBRecordType

type RecordUpdateParamsDNSRecordsSVCBRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsSVCBRecordTypeSVCB RecordUpdateParamsDNSRecordsSVCBRecordType = "SVCB"
)

func (RecordUpdateParamsDNSRecordsSVCBRecordType) IsKnown

type RecordUpdateParamsDNSRecordsTLSARecord

type RecordUpdateParamsDNSRecordsTLSARecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a TLSA record.
	Data param.Field[RecordUpdateParamsDNSRecordsTLSARecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsTLSARecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsTLSARecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsTLSARecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsTLSARecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsTLSARecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsTLSARecordData

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

Components of a TLSA record.

func (RecordUpdateParamsDNSRecordsTLSARecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsTLSARecordTTL

type RecordUpdateParamsDNSRecordsTLSARecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsTLSARecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsTLSARecordTTLNumber.

type RecordUpdateParamsDNSRecordsTLSARecordTTLNumber

type RecordUpdateParamsDNSRecordsTLSARecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsTLSARecordTTLNumber1 RecordUpdateParamsDNSRecordsTLSARecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsTLSARecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsTLSARecordType

type RecordUpdateParamsDNSRecordsTLSARecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsTLSARecordTypeTLSA RecordUpdateParamsDNSRecordsTLSARecordType = "TLSA"
)

func (RecordUpdateParamsDNSRecordsTLSARecordType) IsKnown

type RecordUpdateParamsDNSRecordsTXTRecord

type RecordUpdateParamsDNSRecordsTXTRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Text content for the record.
	Content param.Field[string] `json:"content,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsTXTRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsTXTRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsTXTRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsTXTRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsTXTRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsTXTRecordTTL

type RecordUpdateParamsDNSRecordsTXTRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsTXTRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsTXTRecordTTLNumber.

type RecordUpdateParamsDNSRecordsTXTRecordTTLNumber

type RecordUpdateParamsDNSRecordsTXTRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsTXTRecordTTLNumber1 RecordUpdateParamsDNSRecordsTXTRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsTXTRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsTXTRecordType

type RecordUpdateParamsDNSRecordsTXTRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsTXTRecordTypeTXT RecordUpdateParamsDNSRecordsTXTRecordType = "TXT"
)

func (RecordUpdateParamsDNSRecordsTXTRecordType) IsKnown

type RecordUpdateParamsDNSRecordsURIRecord

type RecordUpdateParamsDNSRecordsURIRecord struct {
	// Identifier
	ZoneID param.Field[string] `path:"zone_id,required"`
	// Components of a URI record.
	Data param.Field[RecordUpdateParamsDNSRecordsURIRecordData] `json:"data,required"`
	// DNS record name (or @ for the zone apex) in Punycode.
	Name param.Field[string] `json:"name,required"`
	// Required for MX, SRV and URI records; unused by other record types. Records with
	// lower priorities are preferred.
	Priority param.Field[float64] `json:"priority,required"`
	// Record type.
	Type param.Field[RecordUpdateParamsDNSRecordsURIRecordType] `json:"type,required"`
	// Comments or notes about the DNS record. This field has no effect on DNS
	// responses.
	Comment param.Field[string] `json:"comment"`
	// 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[RecordUpdateParamsDNSRecordsURIRecordTTL] `json:"ttl"`
}

func (RecordUpdateParamsDNSRecordsURIRecord) ImplementsRecordUpdateParams

func (RecordUpdateParamsDNSRecordsURIRecord) ImplementsRecordUpdateParams()

func (RecordUpdateParamsDNSRecordsURIRecord) MarshalJSON

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

type RecordUpdateParamsDNSRecordsURIRecordData

type RecordUpdateParamsDNSRecordsURIRecordData struct {
	// The record content.
	Content param.Field[string] `json:"content"`
	// The record weight.
	Weight param.Field[float64] `json:"weight"`
}

Components of a URI record.

func (RecordUpdateParamsDNSRecordsURIRecordData) MarshalJSON

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

type RecordUpdateParamsDNSRecordsURIRecordTTL

type RecordUpdateParamsDNSRecordsURIRecordTTL interface {
	ImplementsDNSRecordUpdateParamsDNSRecordsURIRecordTTL()
}

Time To Live (TTL) of the DNS 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.RecordUpdateParamsDNSRecordsURIRecordTTLNumber.

type RecordUpdateParamsDNSRecordsURIRecordTTLNumber

type RecordUpdateParamsDNSRecordsURIRecordTTLNumber float64
const (
	RecordUpdateParamsDNSRecordsURIRecordTTLNumber1 RecordUpdateParamsDNSRecordsURIRecordTTLNumber = 1
)

func (RecordUpdateParamsDNSRecordsURIRecordTTLNumber) IsKnown

type RecordUpdateParamsDNSRecordsURIRecordType

type RecordUpdateParamsDNSRecordsURIRecordType string

Record type.

const (
	RecordUpdateParamsDNSRecordsURIRecordTypeURI RecordUpdateParamsDNSRecordsURIRecordType = "URI"
)

func (RecordUpdateParamsDNSRecordsURIRecordType) IsKnown

type RecordUpdateResponseEnvelope

type RecordUpdateResponseEnvelope struct {
	Errors   []RecordUpdateResponseEnvelopeErrors   `json:"errors,required"`
	Messages []RecordUpdateResponseEnvelopeMessages `json:"messages,required"`
	Result   DNSRecord                              `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
)

func (RecordUpdateResponseEnvelopeSuccess) IsKnown

Jump to

Keyboard shortcuts

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