abuse_reports

package
v6.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2025 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const AuditLogActorTypeAdmin = shared.AuditLogActorTypeAdmin

This is an alias to an internal value.

View Source
const AuditLogActorTypeCloudflare = shared.AuditLogActorTypeCloudflare

This is an alias to an internal value.

View Source
const AuditLogActorTypeUser = shared.AuditLogActorTypeUser

This is an alias to an internal value.

View Source
const CertificateCADigicert = shared.CertificateCADigicert

This is an alias to an internal value.

View Source
const CertificateCAGoogle = shared.CertificateCAGoogle

This is an alias to an internal value.

View Source
const CertificateCALetsEncrypt = shared.CertificateCALetsEncrypt

This is an alias to an internal value.

View Source
const CertificateCASSLCom = shared.CertificateCASSLCom

This is an alias to an internal value.

View Source
const CertificateRequestTypeKeylessCertificate = shared.CertificateRequestTypeKeylessCertificate

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginECC = shared.CertificateRequestTypeOriginECC

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginRSA = shared.CertificateRequestTypeOriginRSA

This is an alias to an internal value.

View Source
const CloudflareTunnelConfigSrcCloudflare = shared.CloudflareTunnelConfigSrcCloudflare

This is an alias to an internal value.

View Source
const CloudflareTunnelConfigSrcLocal = shared.CloudflareTunnelConfigSrcLocal

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDegraded = shared.CloudflareTunnelStatusDegraded

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDown = shared.CloudflareTunnelStatusDown

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusHealthy = shared.CloudflareTunnelStatusHealthy

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusInactive = shared.CloudflareTunnelStatusInactive

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeGRE = shared.CloudflareTunnelTunTypeGRE

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector

This is an alias to an internal value.

View Source
const MemberPoliciesAccessAllow = shared.MemberPoliciesAccessAllow

This is an alias to an internal value.

View Source
const MemberPoliciesAccessDeny = shared.MemberPoliciesAccessDeny

This is an alias to an internal value.

View Source
const MemberStatusAccepted = shared.MemberStatusAccepted

This is an alias to an internal value.

View Source
const MemberStatusPending = shared.MemberStatusPending

This is an alias to an internal value.

View Source
const RatePlanIDBusiness = shared.RatePlanIDBusiness

This is an alias to an internal value.

View Source
const RatePlanIDEnterprise = shared.RatePlanIDEnterprise

This is an alias to an internal value.

View Source
const RatePlanIDFree = shared.RatePlanIDFree

This is an alias to an internal value.

View Source
const RatePlanIDLite = shared.RatePlanIDLite

This is an alias to an internal value.

View Source
const RatePlanIDPartnersBusiness = shared.RatePlanIDPartnersBusiness

This is an alias to an internal value.

View Source
const RatePlanIDPartnersEnterprise = shared.RatePlanIDPartnersEnterprise

This is an alias to an internal value.

View Source
const RatePlanIDPartnersFree = shared.RatePlanIDPartnersFree

This is an alias to an internal value.

View Source
const RatePlanIDPartnersPro = shared.RatePlanIDPartnersPro

This is an alias to an internal value.

View Source
const RatePlanIDPro = shared.RatePlanIDPro

This is an alias to an internal value.

View Source
const RatePlanIDProPlus = shared.RatePlanIDProPlus

This is an alias to an internal value.

View Source
const SortDirectionAsc = shared.SortDirectionAsc

This is an alias to an internal value.

View Source
const SortDirectionDesc = shared.SortDirectionDesc

This is an alias to an internal value.

View Source
const SubscriptionFrequencyMonthly = shared.SubscriptionFrequencyMonthly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyQuarterly = shared.SubscriptionFrequencyQuarterly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyWeekly = shared.SubscriptionFrequencyWeekly

This is an alias to an internal value.

View Source
const SubscriptionFrequencyYearly = shared.SubscriptionFrequencyYearly

This is an alias to an internal value.

View Source
const SubscriptionStateAwaitingPayment = shared.SubscriptionStateAwaitingPayment

This is an alias to an internal value.

View Source
const SubscriptionStateCancelled = shared.SubscriptionStateCancelled

This is an alias to an internal value.

View Source
const SubscriptionStateExpired = shared.SubscriptionStateExpired

This is an alias to an internal value.

View Source
const SubscriptionStateFailed = shared.SubscriptionStateFailed

This is an alias to an internal value.

View Source
const SubscriptionStatePaid = shared.SubscriptionStatePaid

This is an alias to an internal value.

View Source
const SubscriptionStateProvisioned = shared.SubscriptionStateProvisioned

This is an alias to an internal value.

View Source
const SubscriptionStateTrial = shared.SubscriptionStateTrial

This is an alias to an internal value.

View Source
const TokenPolicyEffectAllow = shared.TokenPolicyEffectAllow

This is an alias to an internal value.

View Source
const TokenPolicyEffectDeny = shared.TokenPolicyEffectDeny

This is an alias to an internal value.

View Source
const TokenStatusActive = shared.TokenStatusActive

This is an alias to an internal value.

View Source
const TokenStatusDisabled = shared.TokenStatusDisabled

This is an alias to an internal value.

View Source
const TokenStatusExpired = shared.TokenStatusExpired

This is an alias to an internal value.

Variables

This section is empty.

Functions

This section is empty.

Types

type ASN

type ASN = shared.ASN

This is an alias to an internal type.

type ASNParam

type ASNParam = shared.ASNParam

This is an alias to an internal type.

type AbuseReportGetParams added in v6.3.0

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

type AbuseReportGetResponse added in v6.3.0

type AbuseReportGetResponse struct {
	// Public facing ID of abuse report, aka abuse_rand.
	ID string `json:"id,required"`
	// Creation date of report. Time in RFC 3339 format
	// (https://www.rfc-editor.org/rfc/rfc3339.html)
	Cdate string `json:"cdate,required"`
	// Domain that relates to the report.
	Domain string `json:"domain,required"`
	// A summary of the mitigations related to this report.
	MitigationSummary AbuseReportGetResponseMitigationSummary `json:"mitigation_summary,required"`
	// An enum value that represents the status of an abuse record
	Status AbuseReportGetResponseStatus `json:"status,required"`
	// The abuse report type
	Type AbuseReportGetResponseType `json:"type,required"`
	// Justification for the report.
	Justification string `json:"justification"`
	// Original work / Targeted brand in the alleged abuse.
	OriginalWork string `json:"original_work"`
	// Information about the submitter of the report.
	Submitter AbuseReportGetResponseSubmitter `json:"submitter"`
	URLs      []string                        `json:"urls"`
	JSON      abuseReportGetResponseJSON      `json:"-"`
}

func (*AbuseReportGetResponse) UnmarshalJSON added in v6.3.0

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

type AbuseReportGetResponseEnvelope added in v6.3.0

type AbuseReportGetResponseEnvelope struct {
	Result   AbuseReportGetResponse                   `json:"result,required"`
	Success  bool                                     `json:"success,required"`
	Errors   []AbuseReportGetResponseEnvelopeErrors   `json:"errors"`
	Messages []AbuseReportGetResponseEnvelopeMessages `json:"messages"`
	JSON     abuseReportGetResponseEnvelopeJSON       `json:"-"`
}

func (*AbuseReportGetResponseEnvelope) UnmarshalJSON added in v6.3.0

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

type AbuseReportGetResponseEnvelopeErrors added in v6.3.0

type AbuseReportGetResponseEnvelopeErrors struct {
	Message string                                   `json:"message,required"`
	Code    AbuseReportGetResponseEnvelopeErrorsCode `json:"code"`
	JSON    abuseReportGetResponseEnvelopeErrorsJSON `json:"-"`
}

func (*AbuseReportGetResponseEnvelopeErrors) UnmarshalJSON added in v6.3.0

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

type AbuseReportGetResponseEnvelopeErrorsCode added in v6.3.0

type AbuseReportGetResponseEnvelopeErrorsCode interface {
	ImplementsAbuseReportGetResponseEnvelopeErrorsCode()
}

Union satisfied by shared.UnionString or shared.UnionFloat.

type AbuseReportGetResponseEnvelopeMessages added in v6.3.0

type AbuseReportGetResponseEnvelopeMessages struct {
	Message string                                     `json:"message,required"`
	JSON    abuseReportGetResponseEnvelopeMessagesJSON `json:"-"`
}

func (*AbuseReportGetResponseEnvelopeMessages) UnmarshalJSON added in v6.3.0

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

type AbuseReportGetResponseMitigationSummary added in v6.3.0

type AbuseReportGetResponseMitigationSummary struct {
	// How many of the reported URLs were confirmed as abusive.
	AcceptedURLCount int64 `json:"accepted_url_count,required"`
	// How many mitigations are active.
	ActiveCount int64 `json:"active_count,required"`
	// Whether the report has been forwarded to an external hosting provider.
	ExternalHostNotified bool `json:"external_host_notified,required"`
	// How many mitigations are under review.
	InReviewCount int64 `json:"in_review_count,required"`
	// How many mitigations are pending their effective date.
	PendingCount int64                                       `json:"pending_count,required"`
	JSON         abuseReportGetResponseMitigationSummaryJSON `json:"-"`
}

A summary of the mitigations related to this report.

func (*AbuseReportGetResponseMitigationSummary) UnmarshalJSON added in v6.3.0

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

type AbuseReportGetResponseStatus added in v6.3.0

type AbuseReportGetResponseStatus string

An enum value that represents the status of an abuse record

const (
	AbuseReportGetResponseStatusAccepted AbuseReportGetResponseStatus = "accepted"
	AbuseReportGetResponseStatusInReview AbuseReportGetResponseStatus = "in_review"
)

func (AbuseReportGetResponseStatus) IsKnown added in v6.3.0

func (r AbuseReportGetResponseStatus) IsKnown() bool

type AbuseReportGetResponseSubmitter added in v6.4.0

type AbuseReportGetResponseSubmitter struct {
	Company   string                              `json:"company"`
	Email     string                              `json:"email"`
	Name      string                              `json:"name"`
	Telephone string                              `json:"telephone"`
	JSON      abuseReportGetResponseSubmitterJSON `json:"-"`
}

Information about the submitter of the report.

func (*AbuseReportGetResponseSubmitter) UnmarshalJSON added in v6.4.0

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

type AbuseReportGetResponseType added in v6.3.0

type AbuseReportGetResponseType string

The abuse report type

const (
	AbuseReportGetResponseTypePhish   AbuseReportGetResponseType = "PHISH"
	AbuseReportGetResponseTypeGen     AbuseReportGetResponseType = "GEN"
	AbuseReportGetResponseTypeThreat  AbuseReportGetResponseType = "THREAT"
	AbuseReportGetResponseTypeDmca    AbuseReportGetResponseType = "DMCA"
	AbuseReportGetResponseTypeEmer    AbuseReportGetResponseType = "EMER"
	AbuseReportGetResponseTypeTm      AbuseReportGetResponseType = "TM"
	AbuseReportGetResponseTypeRegWho  AbuseReportGetResponseType = "REG_WHO"
	AbuseReportGetResponseTypeNcsei   AbuseReportGetResponseType = "NCSEI"
	AbuseReportGetResponseTypeNetwork AbuseReportGetResponseType = "NETWORK"
)

func (AbuseReportGetResponseType) IsKnown added in v6.3.0

func (r AbuseReportGetResponseType) IsKnown() bool

type AbuseReportListParams added in v6.3.0

type AbuseReportListParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	// Returns reports created after the specified date
	CreatedAfter param.Field[string] `query:"created_after"`
	// Returns reports created before the specified date
	CreatedBefore param.Field[string] `query:"created_before"`
	// Filter by domain name related to the abuse report
	Domain param.Field[string] `query:"domain"`
	// Filter reports that have any mitigations in the given status.
	MitigationStatus param.Field[AbuseReportListParamsMitigationStatus] `query:"mitigation_status"`
	// Where in pagination to start listing abuse reports
	Page param.Field[int64] `query:"page"`
	// How many abuse reports per page to list
	PerPage param.Field[int64] `query:"per_page"`
	// A property to sort by, followed by the order (id, cdate, domain, type, status)
	Sort param.Field[string] `query:"sort"`
	// Filter by the status of the report.
	Status param.Field[AbuseReportListParamsStatus] `query:"status"`
	// Filter by the type of the report.
	Type param.Field[AbuseReportListParamsType] `query:"type"`
}

func (AbuseReportListParams) URLQuery added in v6.3.0

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

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

type AbuseReportListParamsMitigationStatus added in v6.3.0

type AbuseReportListParamsMitigationStatus string

Filter reports that have any mitigations in the given status.

const (
	AbuseReportListParamsMitigationStatusPending   AbuseReportListParamsMitigationStatus = "pending"
	AbuseReportListParamsMitigationStatusActive    AbuseReportListParamsMitigationStatus = "active"
	AbuseReportListParamsMitigationStatusInReview  AbuseReportListParamsMitigationStatus = "in_review"
	AbuseReportListParamsMitigationStatusCancelled AbuseReportListParamsMitigationStatus = "cancelled"
	AbuseReportListParamsMitigationStatusRemoved   AbuseReportListParamsMitigationStatus = "removed"
)

func (AbuseReportListParamsMitigationStatus) IsKnown added in v6.3.0

type AbuseReportListParamsStatus added in v6.3.0

type AbuseReportListParamsStatus string

Filter by the status of the report.

const (
	AbuseReportListParamsStatusAccepted AbuseReportListParamsStatus = "accepted"
	AbuseReportListParamsStatusInReview AbuseReportListParamsStatus = "in_review"
)

func (AbuseReportListParamsStatus) IsKnown added in v6.3.0

func (r AbuseReportListParamsStatus) IsKnown() bool

type AbuseReportListParamsType added in v6.3.0

type AbuseReportListParamsType string

Filter by the type of the report.

const (
	AbuseReportListParamsTypePhish   AbuseReportListParamsType = "PHISH"
	AbuseReportListParamsTypeGen     AbuseReportListParamsType = "GEN"
	AbuseReportListParamsTypeThreat  AbuseReportListParamsType = "THREAT"
	AbuseReportListParamsTypeDmca    AbuseReportListParamsType = "DMCA"
	AbuseReportListParamsTypeEmer    AbuseReportListParamsType = "EMER"
	AbuseReportListParamsTypeTm      AbuseReportListParamsType = "TM"
	AbuseReportListParamsTypeRegWho  AbuseReportListParamsType = "REG_WHO"
	AbuseReportListParamsTypeNcsei   AbuseReportListParamsType = "NCSEI"
	AbuseReportListParamsTypeNetwork AbuseReportListParamsType = "NETWORK"
)

func (AbuseReportListParamsType) IsKnown added in v6.3.0

func (r AbuseReportListParamsType) IsKnown() bool

type AbuseReportListResponse added in v6.3.0

type AbuseReportListResponse struct {
	Reports []AbuseReportListResponseReport `json:"reports,required"`
	JSON    abuseReportListResponseJSON     `json:"-"`
}

func (*AbuseReportListResponse) UnmarshalJSON added in v6.3.0

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

type AbuseReportListResponseReport added in v6.3.0

type AbuseReportListResponseReport struct {
	// Public facing ID of abuse report, aka abuse_rand.
	ID string `json:"id,required"`
	// Creation date of report. Time in RFC 3339 format
	// (https://www.rfc-editor.org/rfc/rfc3339.html)
	Cdate string `json:"cdate,required"`
	// Domain that relates to the report.
	Domain string `json:"domain,required"`
	// A summary of the mitigations related to this report.
	MitigationSummary AbuseReportListResponseReportsMitigationSummary `json:"mitigation_summary,required"`
	// An enum value that represents the status of an abuse record
	Status AbuseReportListResponseReportsStatus `json:"status,required"`
	// The abuse report type
	Type AbuseReportListResponseReportsType `json:"type,required"`
	// Justification for the report.
	Justification string `json:"justification"`
	// Original work / Targeted brand in the alleged abuse.
	OriginalWork string `json:"original_work"`
	// Information about the submitter of the report.
	Submitter AbuseReportListResponseReportsSubmitter `json:"submitter"`
	URLs      []string                                `json:"urls"`
	JSON      abuseReportListResponseReportJSON       `json:"-"`
}

func (*AbuseReportListResponseReport) UnmarshalJSON added in v6.3.0

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

type AbuseReportListResponseReportsMitigationSummary added in v6.3.0

type AbuseReportListResponseReportsMitigationSummary struct {
	// How many of the reported URLs were confirmed as abusive.
	AcceptedURLCount int64 `json:"accepted_url_count,required"`
	// How many mitigations are active.
	ActiveCount int64 `json:"active_count,required"`
	// Whether the report has been forwarded to an external hosting provider.
	ExternalHostNotified bool `json:"external_host_notified,required"`
	// How many mitigations are under review.
	InReviewCount int64 `json:"in_review_count,required"`
	// How many mitigations are pending their effective date.
	PendingCount int64                                               `json:"pending_count,required"`
	JSON         abuseReportListResponseReportsMitigationSummaryJSON `json:"-"`
}

A summary of the mitigations related to this report.

func (*AbuseReportListResponseReportsMitigationSummary) UnmarshalJSON added in v6.3.0

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

type AbuseReportListResponseReportsStatus added in v6.3.0

type AbuseReportListResponseReportsStatus string

An enum value that represents the status of an abuse record

const (
	AbuseReportListResponseReportsStatusAccepted AbuseReportListResponseReportsStatus = "accepted"
	AbuseReportListResponseReportsStatusInReview AbuseReportListResponseReportsStatus = "in_review"
)

func (AbuseReportListResponseReportsStatus) IsKnown added in v6.3.0

type AbuseReportListResponseReportsSubmitter added in v6.4.0

type AbuseReportListResponseReportsSubmitter struct {
	Company   string                                      `json:"company"`
	Email     string                                      `json:"email"`
	Name      string                                      `json:"name"`
	Telephone string                                      `json:"telephone"`
	JSON      abuseReportListResponseReportsSubmitterJSON `json:"-"`
}

Information about the submitter of the report.

func (*AbuseReportListResponseReportsSubmitter) UnmarshalJSON added in v6.4.0

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

type AbuseReportListResponseReportsType added in v6.3.0

type AbuseReportListResponseReportsType string

The abuse report type

const (
	AbuseReportListResponseReportsTypePhish   AbuseReportListResponseReportsType = "PHISH"
	AbuseReportListResponseReportsTypeGen     AbuseReportListResponseReportsType = "GEN"
	AbuseReportListResponseReportsTypeThreat  AbuseReportListResponseReportsType = "THREAT"
	AbuseReportListResponseReportsTypeDmca    AbuseReportListResponseReportsType = "DMCA"
	AbuseReportListResponseReportsTypeEmer    AbuseReportListResponseReportsType = "EMER"
	AbuseReportListResponseReportsTypeTm      AbuseReportListResponseReportsType = "TM"
	AbuseReportListResponseReportsTypeRegWho  AbuseReportListResponseReportsType = "REG_WHO"
	AbuseReportListResponseReportsTypeNcsei   AbuseReportListResponseReportsType = "NCSEI"
	AbuseReportListResponseReportsTypeNetwork AbuseReportListResponseReportsType = "NETWORK"
)

func (AbuseReportListResponseReportsType) IsKnown added in v6.3.0

type AbuseReportNewParams

type AbuseReportNewParams struct {
	AccountID param.Field[string]           `path:"account_id,required"`
	Body      AbuseReportNewParamsBodyUnion `json:"body,required"`
}

func (AbuseReportNewParams) MarshalJSON

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

type AbuseReportNewParamsBody

type AbuseReportNewParamsBody struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Address1 param.Field[string] `json:"address1"`
	// The name of the copyright holder. Text not exceeding 60 characters. This field
	// may be released by Cloudflare to third parties such as the Lumen Database
	// (https://lumendatabase.org/).
	AgentName param.Field[string] `json:"agent_name"`
	// Can be `0` for false or `1` for true. Must be value: 1 for DMCA reports
	Agree param.Field[AbuseReportNewParamsBodyAgree] `json:"agree"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	City param.Field[string] `json:"city"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Country param.Field[string] `json:"country"`
	// A list of IP addresses separated by ‘\n’ (new line character). The list of
	// destination IPs should not exceed 30 IP addresses. Each one of the IP addresses
	// ought to be unique.
	DestinationIPs param.Field[string] `json:"destination_ips"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyHostNotification] `json:"host_notification"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	NcmecNotification param.Field[AbuseReportNewParamsBodyNcmecNotification] `json:"ncmec_notification"`
	// If the submitter is the target of NCSEI in the URLs of the abuse report.
	NcseiSubjectRepresentation param.Field[bool] `json:"ncsei_subject_representation"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	OriginalWork param.Field[string] `json:"original_work"`
	// A comma separated list of ports and protocols e.g. 80/TCP, 22/UDP. The total
	// size of the field should not exceed 2000 characters. Each individual
	// port/protocol should not exceed 100 characters. The list should not have more
	// than 30 unique ports and protocols.
	PortsProtocols param.Field[string] `json:"ports_protocols"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Required for DMCA reports, should be same as Name. An affirmation that all
	// information in the report is true and accurate while agreeing to the policies of
	// Cloudflare's abuse reports
	Signature param.Field[string] `json:"signature"`
	// A list of IP addresses separated by ‘\n’ (new line character). The list of
	// source IPs should not exceed 30 IP addresses. Each one of the IP addresses ought
	// to be unique.
	SourceIPs param.Field[string] `json:"source_ips"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	State param.Field[string] `json:"state"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
	// Text not exceeding 1000 characters
	TrademarkNumber param.Field[string] `json:"trademark_number"`
	// Text not exceeding 1000 characters
	TrademarkOffice param.Field[string] `json:"trademark_office"`
	// Text not exceeding 1000 characters
	TrademarkSymbol param.Field[string] `json:"trademark_symbol"`
}

func (AbuseReportNewParamsBody) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsCsamReport

type AbuseReportNewParamsBodyAbuseReportsCsamReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsCsamReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification] `json:"host_notification,required"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	NcmecNotification param.Field[AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification] `json:"ncmec_notification,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Country param.Field[string] `json:"country"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsCsamReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsCsamReportAct

type AbuseReportNewParamsBodyAbuseReportsCsamReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsCsamReportActAbuseChildren AbuseReportNewParamsBodyAbuseReportsCsamReportAct = "abuse_children"
)

func (AbuseReportNewParamsBodyAbuseReportsCsamReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotificationSend     AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsCsamReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification

type AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotificationSend     AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsCsamReportNcmecNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification = "send-anon"
	AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotificationNone     AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification = "none"
)

func (AbuseReportNewParamsBodyAbuseReportsCsamReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsDmcaReport

type AbuseReportNewParamsBodyAbuseReportsDmcaReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsDmcaReportAct] `json:"act,required"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Address1 param.Field[string] `json:"address1,required"`
	// The name of the copyright holder. Text not exceeding 60 characters. This field
	// may be released by Cloudflare to third parties such as the Lumen Database
	// (https://lumendatabase.org/).
	AgentName param.Field[string] `json:"agent_name,required"`
	// Can be `0` for false or `1` for true. Must be value: 1 for DMCA reports
	Agree param.Field[AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree] `json:"agree,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	City param.Field[string] `json:"city,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Country param.Field[string] `json:"country,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotification] `json:"host_notification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	OriginalWork param.Field[string] `json:"original_work,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotification] `json:"owner_notification,required"`
	// Required for DMCA reports, should be same as Name. An affirmation that all
	// information in the report is true and accurate while agreeing to the policies of
	// Cloudflare's abuse reports
	Signature param.Field[string] `json:"signature,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	State param.Field[string] `json:"state,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsDmcaReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsDmcaReportAct

type AbuseReportNewParamsBodyAbuseReportsDmcaReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsDmcaReportActAbuseDmca AbuseReportNewParamsBodyAbuseReportsDmcaReportAct = "abuse_dmca"
)

func (AbuseReportNewParamsBodyAbuseReportsDmcaReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree

type AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree int64

Can be `0` for false or `1` for true. Must be value: 1 for DMCA reports

const (
	AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree1 AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree = 1
)

func (AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree) IsKnown

type AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotificationSend AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotification = "send"
)

func (AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotificationSend AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotification = "send"
)

func (AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsGeneralReport

type AbuseReportNewParamsBodyAbuseReportsGeneralReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsGeneralReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification] `json:"host_notification,required"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// A list of IP addresses separated by ‘\n’ (new line character). The list of
	// destination IPs should not exceed 30 IP addresses. Each one of the IP addresses
	// ought to be unique.
	DestinationIPs param.Field[string] `json:"destination_ips"`
	// A comma separated list of ports and protocols e.g. 80/TCP, 22/UDP. The total
	// size of the field should not exceed 2000 characters. Each individual
	// port/protocol should not exceed 100 characters. The list should not have more
	// than 30 unique ports and protocols.
	PortsProtocols param.Field[string] `json:"ports_protocols"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// A list of IP addresses separated by ‘\n’ (new line character). The list of
	// source IPs should not exceed 30 IP addresses. Each one of the IP addresses ought
	// to be unique.
	SourceIPs param.Field[string] `json:"source_ips"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsGeneralReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsGeneralReportAct

type AbuseReportNewParamsBodyAbuseReportsGeneralReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsGeneralReportActAbuseGeneral AbuseReportNewParamsBodyAbuseReportsGeneralReportAct = "abuse_general"
)

func (AbuseReportNewParamsBodyAbuseReportsGeneralReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotificationSend     AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsGeneralReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification = "send-anon"
	AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotificationNone     AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification = "none"
)

func (AbuseReportNewParamsBodyAbuseReportsGeneralReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsNcseiReport

type AbuseReportNewParamsBodyAbuseReportsNcseiReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsNcseiReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification] `json:"host_notification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// If the submitter is the target of NCSEI in the URLs of the abuse report.
	NcseiSubjectRepresentation param.Field[bool] `json:"ncsei_subject_representation,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Country param.Field[string] `json:"country"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsNcseiReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsNcseiReportAct

type AbuseReportNewParamsBodyAbuseReportsNcseiReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsNcseiReportActAbuseNcsei AbuseReportNewParamsBodyAbuseReportsNcseiReportAct = "abuse_ncsei"
)

func (AbuseReportNewParamsBodyAbuseReportsNcseiReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotificationSend     AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsNcseiReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification = "send-anon"
	AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotificationNone     AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification = "none"
)

func (AbuseReportNewParamsBodyAbuseReportsNcseiReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsPhishingReport

type AbuseReportNewParamsBodyAbuseReportsPhishingReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsPhishingReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification] `json:"host_notification,required"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	OriginalWork param.Field[string] `json:"original_work"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsPhishingReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsPhishingReportAct

type AbuseReportNewParamsBodyAbuseReportsPhishingReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsPhishingReportActAbusePhishing AbuseReportNewParamsBodyAbuseReportsPhishingReportAct = "abuse_phishing"
)

func (AbuseReportNewParamsBodyAbuseReportsPhishingReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotificationSend     AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsPhishingReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsPhishingReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReport

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReport) MarshalJSON

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportAct

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportActAbuseRegistrarWhois AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportAct = "abuse_registrar_whois"
)

func (AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification = "send-anon"
	AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotificationNone     AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification = "none"
)

func (AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsThreatReport

type AbuseReportNewParamsBodyAbuseReportsThreatReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsThreatReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification] `json:"host_notification,required"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification] `json:"owner_notification,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsThreatReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsThreatReportAct

type AbuseReportNewParamsBodyAbuseReportsThreatReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsThreatReportActAbuseThreat AbuseReportNewParamsBodyAbuseReportsThreatReportAct = "abuse_threat"
)

func (AbuseReportNewParamsBodyAbuseReportsThreatReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotificationSend     AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsThreatReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotificationSend     AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification = "send"
	AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotificationSendAnon AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification = "send-anon"
)

func (AbuseReportNewParamsBodyAbuseReportsThreatReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsTrademarkReport

type AbuseReportNewParamsBodyAbuseReportsTrademarkReport struct {
	// The report type for submitted reports.
	Act param.Field[AbuseReportNewParamsBodyAbuseReportsTrademarkReportAct] `json:"act,required"`
	// A valid email of the abuse reporter. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Email param.Field[string] `json:"email,required"`
	// Should match the value provided in `email`
	Email2 param.Field[string] `json:"email2,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	HostNotification param.Field[AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotification] `json:"host_notification,required"`
	// A detailed description of the infringement, including any necessary access
	// details and the exact steps needed to view the content, not exceeding 5000
	// characters.
	Justification param.Field[string] `json:"justification,required"`
	// Text not exceeding 255 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Name param.Field[string] `json:"name,required"`
	// Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark
	// reports cannot be anonymous.
	OwnerNotification param.Field[AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotification] `json:"owner_notification,required"`
	// Text not exceeding 1000 characters
	TrademarkNumber param.Field[string] `json:"trademark_number,required"`
	// Text not exceeding 1000 characters
	TrademarkOffice param.Field[string] `json:"trademark_office,required"`
	// Text not exceeding 1000 characters
	TrademarkSymbol param.Field[string] `json:"trademark_symbol,required"`
	// A list of valid URLs separated by ‘\n’ (new line character). The list of the
	// URLs should not exceed 250 URLs. All URLs should have the same hostname. Each
	// URL should be unique. This field may be released by Cloudflare to third parties
	// such as the Lumen Database (https://lumendatabase.org/).
	URLs param.Field[string] `json:"urls,required"`
	// Any additional comments about the infringement not exceeding 2000 characters
	Comments param.Field[string] `json:"comments"`
	// Text not exceeding 100 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Company param.Field[string] `json:"company"`
	// Text containing 2 characters
	ReportedCountry param.Field[string] `json:"reported_country"`
	// Text not exceeding 255 characters
	ReportedUserAgent param.Field[string] `json:"reported_user_agent"`
	// Text not exceeding 20 characters. This field may be released by Cloudflare to
	// third parties such as the Lumen Database (https://lumendatabase.org/).
	Tele param.Field[string] `json:"tele"`
	// Text not exceeding 255 characters
	Title param.Field[string] `json:"title"`
}

func (AbuseReportNewParamsBodyAbuseReportsTrademarkReport) MarshalJSON

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

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportAct

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyAbuseReportsTrademarkReportActAbuseTrademark AbuseReportNewParamsBodyAbuseReportsTrademarkReportAct = "abuse_trademark"
)

func (AbuseReportNewParamsBodyAbuseReportsTrademarkReportAct) IsKnown

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotification

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotificationSend AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotification = "send"
)

func (AbuseReportNewParamsBodyAbuseReportsTrademarkReportHostNotification) IsKnown

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotification

type AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotificationSend AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotification = "send"
)

func (AbuseReportNewParamsBodyAbuseReportsTrademarkReportOwnerNotification) IsKnown

type AbuseReportNewParamsBodyAct

type AbuseReportNewParamsBodyAct string

The report type for submitted reports.

const (
	AbuseReportNewParamsBodyActAbuseDmca           AbuseReportNewParamsBodyAct = "abuse_dmca"
	AbuseReportNewParamsBodyActAbuseTrademark      AbuseReportNewParamsBodyAct = "abuse_trademark"
	AbuseReportNewParamsBodyActAbuseGeneral        AbuseReportNewParamsBodyAct = "abuse_general"
	AbuseReportNewParamsBodyActAbusePhishing       AbuseReportNewParamsBodyAct = "abuse_phishing"
	AbuseReportNewParamsBodyActAbuseChildren       AbuseReportNewParamsBodyAct = "abuse_children"
	AbuseReportNewParamsBodyActAbuseThreat         AbuseReportNewParamsBodyAct = "abuse_threat"
	AbuseReportNewParamsBodyActAbuseRegistrarWhois AbuseReportNewParamsBodyAct = "abuse_registrar_whois"
	AbuseReportNewParamsBodyActAbuseNcsei          AbuseReportNewParamsBodyAct = "abuse_ncsei"
)

func (AbuseReportNewParamsBodyAct) IsKnown

func (r AbuseReportNewParamsBodyAct) IsKnown() bool

type AbuseReportNewParamsBodyAgree

type AbuseReportNewParamsBodyAgree int64

Can be `0` for false or `1` for true. Must be value: 1 for DMCA reports

const (
	AbuseReportNewParamsBodyAgree1 AbuseReportNewParamsBodyAgree = 1
)

func (AbuseReportNewParamsBodyAgree) IsKnown

func (r AbuseReportNewParamsBodyAgree) IsKnown() bool

type AbuseReportNewParamsBodyHostNotification

type AbuseReportNewParamsBodyHostNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyHostNotificationSend     AbuseReportNewParamsBodyHostNotification = "send"
	AbuseReportNewParamsBodyHostNotificationSendAnon AbuseReportNewParamsBodyHostNotification = "send-anon"
)

func (AbuseReportNewParamsBodyHostNotification) IsKnown

type AbuseReportNewParamsBodyNcmecNotification

type AbuseReportNewParamsBodyNcmecNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyNcmecNotificationSend     AbuseReportNewParamsBodyNcmecNotification = "send"
	AbuseReportNewParamsBodyNcmecNotificationSendAnon AbuseReportNewParamsBodyNcmecNotification = "send-anon"
)

func (AbuseReportNewParamsBodyNcmecNotification) IsKnown

type AbuseReportNewParamsBodyOwnerNotification

type AbuseReportNewParamsBodyOwnerNotification string

Notification type based on the abuse type. NOTE: Copyright (DMCA) and Trademark reports cannot be anonymous.

const (
	AbuseReportNewParamsBodyOwnerNotificationSend     AbuseReportNewParamsBodyOwnerNotification = "send"
	AbuseReportNewParamsBodyOwnerNotificationSendAnon AbuseReportNewParamsBodyOwnerNotification = "send-anon"
	AbuseReportNewParamsBodyOwnerNotificationNone     AbuseReportNewParamsBodyOwnerNotification = "none"
)

func (AbuseReportNewParamsBodyOwnerNotification) IsKnown

type AbuseReportNewResponseEnvelope

type AbuseReportNewResponseEnvelope struct {
	// The identifier for the submitted abuse report.
	AbuseRand string                                `json:"abuse_rand,required"`
	Request   AbuseReportNewResponseEnvelopeRequest `json:"request,required"`
	// The result should be 'success' for successful response
	Result string                             `json:"result,required"`
	JSON   abuseReportNewResponseEnvelopeJSON `json:"-"`
}

func (*AbuseReportNewResponseEnvelope) UnmarshalJSON

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

type AbuseReportNewResponseEnvelopeRequest

type AbuseReportNewResponseEnvelopeRequest struct {
	// The report type for submitted reports.
	Act  string                                    `json:"act,required"`
	JSON abuseReportNewResponseEnvelopeRequestJSON `json:"-"`
}

func (*AbuseReportNewResponseEnvelopeRequest) UnmarshalJSON

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

type AbuseReportService

type AbuseReportService struct {
	Options     []option.RequestOption
	Mitigations *MitigationService
}

AbuseReportService 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 NewAbuseReportService method instead.

func NewAbuseReportService

func NewAbuseReportService(opts ...option.RequestOption) (r *AbuseReportService)

NewAbuseReportService 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 (*AbuseReportService) Get added in v6.3.0

func (r *AbuseReportService) Get(ctx context.Context, reportParam string, query AbuseReportGetParams, opts ...option.RequestOption) (res *AbuseReportGetResponse, err error)

Retrieve the details of an abuse report.

func (*AbuseReportService) List added in v6.3.0

List the abuse reports for a given account

func (*AbuseReportService) ListAutoPaging added in v6.3.0

List the abuse reports for a given account

func (*AbuseReportService) New

func (r *AbuseReportService) New(ctx context.Context, reportParam string, params AbuseReportNewParams, opts ...option.RequestOption) (res *string, err error)

Submit the Abuse Report of a particular type

type AuditLog

type AuditLog = shared.AuditLog

This is an alias to an internal type.

type AuditLogAction

type AuditLogAction = shared.AuditLogAction

This is an alias to an internal type.

type AuditLogActor

type AuditLogActor = shared.AuditLogActor

This is an alias to an internal type.

type AuditLogActorType

type AuditLogActorType = shared.AuditLogActorType

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

This is an alias to an internal type.

type AuditLogOwner

type AuditLogOwner = shared.AuditLogOwner

This is an alias to an internal type.

type AuditLogResource

type AuditLogResource = shared.AuditLogResource

This is an alias to an internal type.

type CertificateCA

type CertificateCA = shared.CertificateCA

The Certificate Authority that will issue the certificate

This is an alias to an internal type.

type CertificateRequestType

type CertificateRequestType = shared.CertificateRequestType

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

This is an alias to an internal type.

type CloudflareTunnel

type CloudflareTunnel = shared.CloudflareTunnel

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

This is an alias to an internal type.

type CloudflareTunnelConfigSrc

type CloudflareTunnelConfigSrc = shared.CloudflareTunnelConfigSrc

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

This is an alias to an internal type.

type CloudflareTunnelConnection

type CloudflareTunnelConnection = shared.CloudflareTunnelConnection

This is an alias to an internal type.

type CloudflareTunnelStatus

type CloudflareTunnelStatus = shared.CloudflareTunnelStatus

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

This is an alias to an internal type.

type CloudflareTunnelTunType

type CloudflareTunnelTunType = shared.CloudflareTunnelTunType

The type of tunnel.

This is an alias to an internal type.

type Error

type Error = apierror.Error

type ErrorData

type ErrorData = shared.ErrorData

This is an alias to an internal type.

type ErrorDataSource

type ErrorDataSource = shared.ErrorDataSource

This is an alias to an internal type.

type Member

type Member = shared.Member

This is an alias to an internal type.

type MemberPoliciesAccess

type MemberPoliciesAccess = shared.MemberPoliciesAccess

Allow or deny operations against the resources.

This is an alias to an internal type.

type MemberPoliciesPermissionGroup

type MemberPoliciesPermissionGroup = shared.MemberPoliciesPermissionGroup

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

This is an alias to an internal type.

type MemberPoliciesPermissionGroupsMeta

type MemberPoliciesPermissionGroupsMeta = shared.MemberPoliciesPermissionGroupsMeta

Attributes associated to the permission group.

This is an alias to an internal type.

type MemberPoliciesResourceGroup

type MemberPoliciesResourceGroup = shared.MemberPoliciesResourceGroup

A group of scoped resources.

This is an alias to an internal type.

type MemberPoliciesResourceGroupsMeta

type MemberPoliciesResourceGroupsMeta = shared.MemberPoliciesResourceGroupsMeta

Attributes associated to the resource group.

This is an alias to an internal type.

type MemberPoliciesResourceGroupsScope

type MemberPoliciesResourceGroupsScope = shared.MemberPoliciesResourceGroupsScope

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

This is an alias to an internal type.

type MemberPoliciesResourceGroupsScopeObject

type MemberPoliciesResourceGroupsScopeObject = shared.MemberPoliciesResourceGroupsScopeObject

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

This is an alias to an internal type.

type MemberPolicy

type MemberPolicy = shared.MemberPolicy

This is an alias to an internal type.

type MemberStatus

type MemberStatus = shared.MemberStatus

A member's status in the account.

This is an alias to an internal type.

type MemberUser

type MemberUser = shared.MemberUser

Details of the user associated to the membership.

This is an alias to an internal type.

type MitigationListParams added in v6.3.0

type MitigationListParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	// Returns mitigation that were dispatched after the given date
	EffectiveAfter param.Field[string] `query:"effective_after"`
	// Returns mitigations that were dispatched before the given date
	EffectiveBefore param.Field[string] `query:"effective_before"`
	// Filter by the type of entity the mitigation impacts.
	EntityType param.Field[MitigationListParamsEntityType] `query:"entity_type"`
	// Where in pagination to start listing abuse reports
	Page param.Field[int64] `query:"page"`
	// How many abuse reports per page to list
	PerPage param.Field[int64] `query:"per_page"`
	// A property to sort by, followed by the order
	Sort param.Field[MitigationListParamsSort] `query:"sort"`
	// Filter by the status of the mitigation.
	Status param.Field[MitigationListParamsStatus] `query:"status"`
	// Filter by the type of mitigation. This filter parameter can be specified
	// multiple times to include multiple types of mitigations in the result set, e.g.
	// ?type=rate_limit_cache&type=legal_block.
	Type param.Field[MitigationListParamsType] `query:"type"`
}

func (MitigationListParams) URLQuery added in v6.3.0

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

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

type MitigationListParamsEntityType added in v6.3.0

type MitigationListParamsEntityType string

Filter by the type of entity the mitigation impacts.

const (
	MitigationListParamsEntityTypeURLPattern MitigationListParamsEntityType = "url_pattern"
	MitigationListParamsEntityTypeAccount    MitigationListParamsEntityType = "account"
	MitigationListParamsEntityTypeZone       MitigationListParamsEntityType = "zone"
)

func (MitigationListParamsEntityType) IsKnown added in v6.3.0

type MitigationListParamsSort added in v6.3.0

type MitigationListParamsSort string

A property to sort by, followed by the order

const (
	MitigationListParamsSortTypeAsc           MitigationListParamsSort = "type,asc"
	MitigationListParamsSortTypeDesc          MitigationListParamsSort = "type,desc"
	MitigationListParamsSortEffectiveDateAsc  MitigationListParamsSort = "effective_date,asc"
	MitigationListParamsSortEffectiveDateDesc MitigationListParamsSort = "effective_date,desc"
	MitigationListParamsSortStatusAsc         MitigationListParamsSort = "status,asc"
	MitigationListParamsSortStatusDesc        MitigationListParamsSort = "status,desc"
	MitigationListParamsSortEntityTypeAsc     MitigationListParamsSort = "entity_type,asc"
	MitigationListParamsSortEntityTypeDesc    MitigationListParamsSort = "entity_type,desc"
)

func (MitigationListParamsSort) IsKnown added in v6.3.0

func (r MitigationListParamsSort) IsKnown() bool

type MitigationListParamsStatus added in v6.3.0

type MitigationListParamsStatus string

Filter by the status of the mitigation.

const (
	MitigationListParamsStatusPending   MitigationListParamsStatus = "pending"
	MitigationListParamsStatusActive    MitigationListParamsStatus = "active"
	MitigationListParamsStatusInReview  MitigationListParamsStatus = "in_review"
	MitigationListParamsStatusCancelled MitigationListParamsStatus = "cancelled"
	MitigationListParamsStatusRemoved   MitigationListParamsStatus = "removed"
)

func (MitigationListParamsStatus) IsKnown added in v6.3.0

func (r MitigationListParamsStatus) IsKnown() bool

type MitigationListParamsType added in v6.3.0

type MitigationListParamsType string

Filter by the type of mitigation. This filter parameter can be specified multiple times to include multiple types of mitigations in the result set, e.g. ?type=rate_limit_cache&type=legal_block.

const (
	MitigationListParamsTypeLegalBlock           MitigationListParamsType = "legal_block"
	MitigationListParamsTypePhishingInterstitial MitigationListParamsType = "phishing_interstitial"
	MitigationListParamsTypeNetworkBlock         MitigationListParamsType = "network_block"
	MitigationListParamsTypeRateLimitCache       MitigationListParamsType = "rate_limit_cache"
	MitigationListParamsTypeAccountSuspend       MitigationListParamsType = "account_suspend"
	MitigationListParamsTypeRedirectVideoStream  MitigationListParamsType = "redirect_video_stream"
)

func (MitigationListParamsType) IsKnown added in v6.3.0

func (r MitigationListParamsType) IsKnown() bool

type MitigationListResponse added in v6.3.0

type MitigationListResponse struct {
	Mitigations []MitigationListResponseMitigation `json:"mitigations,required"`
	JSON        mitigationListResponseJSON         `json:"-"`
}

func (*MitigationListResponse) UnmarshalJSON added in v6.3.0

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

type MitigationListResponseMitigation added in v6.3.0

type MitigationListResponseMitigation struct {
	// ID of remediation.
	ID string `json:"id,required"`
	// Date when the mitigation will become active. Time in RFC 3339 format
	// (https://www.rfc-editor.org/rfc/rfc3339.html)
	EffectiveDate string                                      `json:"effective_date,required"`
	EntityID      string                                      `json:"entity_id,required"`
	EntityType    MitigationListResponseMitigationsEntityType `json:"entity_type,required"`
	// The status of a mitigation
	Status MitigationListResponseMitigationsStatus `json:"status,required"`
	// The type of mitigation
	Type MitigationListResponseMitigationsType `json:"type,required"`
	JSON mitigationListResponseMitigationJSON  `json:"-"`
}

func (*MitigationListResponseMitigation) UnmarshalJSON added in v6.3.0

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

type MitigationListResponseMitigationsEntityType added in v6.3.0

type MitigationListResponseMitigationsEntityType string
const (
	MitigationListResponseMitigationsEntityTypeURLPattern MitigationListResponseMitigationsEntityType = "url_pattern"
	MitigationListResponseMitigationsEntityTypeAccount    MitigationListResponseMitigationsEntityType = "account"
	MitigationListResponseMitigationsEntityTypeZone       MitigationListResponseMitigationsEntityType = "zone"
)

func (MitigationListResponseMitigationsEntityType) IsKnown added in v6.3.0

type MitigationListResponseMitigationsStatus added in v6.3.0

type MitigationListResponseMitigationsStatus string

The status of a mitigation

const (
	MitigationListResponseMitigationsStatusPending   MitigationListResponseMitigationsStatus = "pending"
	MitigationListResponseMitigationsStatusActive    MitigationListResponseMitigationsStatus = "active"
	MitigationListResponseMitigationsStatusInReview  MitigationListResponseMitigationsStatus = "in_review"
	MitigationListResponseMitigationsStatusCancelled MitigationListResponseMitigationsStatus = "cancelled"
	MitigationListResponseMitigationsStatusRemoved   MitigationListResponseMitigationsStatus = "removed"
)

func (MitigationListResponseMitigationsStatus) IsKnown added in v6.3.0

type MitigationListResponseMitigationsType added in v6.3.0

type MitigationListResponseMitigationsType string

The type of mitigation

const (
	MitigationListResponseMitigationsTypeLegalBlock           MitigationListResponseMitigationsType = "legal_block"
	MitigationListResponseMitigationsTypePhishingInterstitial MitigationListResponseMitigationsType = "phishing_interstitial"
	MitigationListResponseMitigationsTypeNetworkBlock         MitigationListResponseMitigationsType = "network_block"
	MitigationListResponseMitigationsTypeRateLimitCache       MitigationListResponseMitigationsType = "rate_limit_cache"
	MitigationListResponseMitigationsTypeAccountSuspend       MitigationListResponseMitigationsType = "account_suspend"
	MitigationListResponseMitigationsTypeRedirectVideoStream  MitigationListResponseMitigationsType = "redirect_video_stream"
)

func (MitigationListResponseMitigationsType) IsKnown added in v6.3.0

type MitigationReviewParams added in v6.3.0

type MitigationReviewParams struct {
	AccountID param.Field[string] `path:"account_id,required"`
	// List of mitigations to appeal.
	Appeals param.Field[[]MitigationReviewParamsAppeal] `json:"appeals,required"`
}

func (MitigationReviewParams) MarshalJSON added in v6.3.0

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

type MitigationReviewParamsAppeal added in v6.3.0

type MitigationReviewParamsAppeal struct {
	// ID of the mitigation to appeal.
	ID param.Field[string] `json:"id,required"`
	// Reason why the customer is appealing.
	Reason param.Field[MitigationReviewParamsAppealsReason] `json:"reason,required"`
}

func (MitigationReviewParamsAppeal) MarshalJSON added in v6.3.0

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

type MitigationReviewParamsAppealsReason added in v6.3.0

type MitigationReviewParamsAppealsReason string

Reason why the customer is appealing.

const (
	MitigationReviewParamsAppealsReasonRemoved       MitigationReviewParamsAppealsReason = "removed"
	MitigationReviewParamsAppealsReasonMisclassified MitigationReviewParamsAppealsReason = "misclassified"
)

func (MitigationReviewParamsAppealsReason) IsKnown added in v6.3.0

type MitigationReviewResponse added in v6.3.0

type MitigationReviewResponse struct {
	// ID of remediation.
	ID string `json:"id,required"`
	// Date when the mitigation will become active. Time in RFC 3339 format
	// (https://www.rfc-editor.org/rfc/rfc3339.html)
	EffectiveDate string                             `json:"effective_date,required"`
	EntityID      string                             `json:"entity_id,required"`
	EntityType    MitigationReviewResponseEntityType `json:"entity_type,required"`
	// The status of a mitigation
	Status MitigationReviewResponseStatus `json:"status,required"`
	// The type of mitigation
	Type MitigationReviewResponseType `json:"type,required"`
	JSON mitigationReviewResponseJSON `json:"-"`
}

func (*MitigationReviewResponse) UnmarshalJSON added in v6.3.0

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

type MitigationReviewResponseEntityType added in v6.3.0

type MitigationReviewResponseEntityType string
const (
	MitigationReviewResponseEntityTypeURLPattern MitigationReviewResponseEntityType = "url_pattern"
	MitigationReviewResponseEntityTypeAccount    MitigationReviewResponseEntityType = "account"
	MitigationReviewResponseEntityTypeZone       MitigationReviewResponseEntityType = "zone"
)

func (MitigationReviewResponseEntityType) IsKnown added in v6.3.0

type MitigationReviewResponseStatus added in v6.3.0

type MitigationReviewResponseStatus string

The status of a mitigation

const (
	MitigationReviewResponseStatusPending   MitigationReviewResponseStatus = "pending"
	MitigationReviewResponseStatusActive    MitigationReviewResponseStatus = "active"
	MitigationReviewResponseStatusInReview  MitigationReviewResponseStatus = "in_review"
	MitigationReviewResponseStatusCancelled MitigationReviewResponseStatus = "cancelled"
	MitigationReviewResponseStatusRemoved   MitigationReviewResponseStatus = "removed"
)

func (MitigationReviewResponseStatus) IsKnown added in v6.3.0

type MitigationReviewResponseType added in v6.3.0

type MitigationReviewResponseType string

The type of mitigation

const (
	MitigationReviewResponseTypeLegalBlock           MitigationReviewResponseType = "legal_block"
	MitigationReviewResponseTypePhishingInterstitial MitigationReviewResponseType = "phishing_interstitial"
	MitigationReviewResponseTypeNetworkBlock         MitigationReviewResponseType = "network_block"
	MitigationReviewResponseTypeRateLimitCache       MitigationReviewResponseType = "rate_limit_cache"
	MitigationReviewResponseTypeAccountSuspend       MitigationReviewResponseType = "account_suspend"
	MitigationReviewResponseTypeRedirectVideoStream  MitigationReviewResponseType = "redirect_video_stream"
)

func (MitigationReviewResponseType) IsKnown added in v6.3.0

func (r MitigationReviewResponseType) IsKnown() bool

type MitigationService added in v6.3.0

type MitigationService struct {
	Options []option.RequestOption
}

MitigationService 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 NewMitigationService method instead.

func NewMitigationService added in v6.3.0

func NewMitigationService(opts ...option.RequestOption) (r *MitigationService)

NewMitigationService 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 (*MitigationService) List added in v6.3.0

List mitigations done to remediate the abuse report.

func (*MitigationService) ListAutoPaging added in v6.3.0

List mitigations done to remediate the abuse report.

func (*MitigationService) Review added in v6.3.0

Request a review for mitigations on an account.

func (*MitigationService) ReviewAutoPaging added in v6.3.0

Request a review for mitigations on an account.

type Permission

type Permission = shared.Permission

This is an alias to an internal type.

type PermissionGrant

type PermissionGrant = shared.PermissionGrant

This is an alias to an internal type.

type PermissionGrantParam

type PermissionGrantParam = shared.PermissionGrantParam

This is an alias to an internal type.

type RatePlan

type RatePlan = shared.RatePlan

The rate plan applied to the subscription.

This is an alias to an internal type.

type RatePlanID

type RatePlanID = shared.RatePlanID

The ID of the rate plan.

This is an alias to an internal type.

type RatePlanParam

type RatePlanParam = shared.RatePlanParam

The rate plan applied to the subscription.

This is an alias to an internal type.

type ResponseInfo

type ResponseInfo = shared.ResponseInfo

This is an alias to an internal type.

type ResponseInfoSource

type ResponseInfoSource = shared.ResponseInfoSource

This is an alias to an internal type.

type Role

type Role = shared.Role

This is an alias to an internal type.

type RoleParam

type RoleParam = shared.RoleParam

This is an alias to an internal type.

type RolePermissions

type RolePermissions = shared.RolePermissions

This is an alias to an internal type.

type RolePermissionsParam

type RolePermissionsParam = shared.RolePermissionsParam

This is an alias to an internal type.

type SortDirection

type SortDirection = shared.SortDirection

Direction to order DNS records in.

This is an alias to an internal type.

type Subscription

type Subscription = shared.Subscription

This is an alias to an internal type.

type SubscriptionFrequency

type SubscriptionFrequency = shared.SubscriptionFrequency

How often the subscription is renewed automatically.

This is an alias to an internal type.

type SubscriptionParam

type SubscriptionParam = shared.SubscriptionParam

This is an alias to an internal type.

type SubscriptionState

type SubscriptionState = shared.SubscriptionState

The state that the subscription is in.

This is an alias to an internal type.

type Token

type Token = shared.Token

This is an alias to an internal type.

type TokenCondition

type TokenCondition = shared.TokenCondition

This is an alias to an internal type.

type TokenConditionCIDRList

type TokenConditionCIDRList = shared.TokenConditionCIDRList

IPv4/IPv6 CIDR.

This is an alias to an internal type.

type TokenConditionCIDRListParam

type TokenConditionCIDRListParam = shared.TokenConditionCIDRListParam

IPv4/IPv6 CIDR.

This is an alias to an internal type.

type TokenConditionParam

type TokenConditionParam = shared.TokenConditionParam

This is an alias to an internal type.

type TokenConditionRequestIP

type TokenConditionRequestIP = shared.TokenConditionRequestIP

Client IP restrictions.

This is an alias to an internal type.

type TokenConditionRequestIPParam

type TokenConditionRequestIPParam = shared.TokenConditionRequestIPParam

Client IP restrictions.

This is an alias to an internal type.

type TokenParam

type TokenParam = shared.TokenParam

This is an alias to an internal type.

type TokenPolicy

type TokenPolicy = shared.TokenPolicy

This is an alias to an internal type.

type TokenPolicyEffect

type TokenPolicyEffect = shared.TokenPolicyEffect

Allow or deny operations against the resources.

This is an alias to an internal type.

type TokenPolicyParam

type TokenPolicyParam = shared.TokenPolicyParam

This is an alias to an internal type.

type TokenPolicyPermissionGroup

type TokenPolicyPermissionGroup = shared.TokenPolicyPermissionGroup

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

This is an alias to an internal type.

type TokenPolicyPermissionGroupParam

type TokenPolicyPermissionGroupParam = shared.TokenPolicyPermissionGroupParam

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

This is an alias to an internal type.

type TokenPolicyPermissionGroupsMeta

type TokenPolicyPermissionGroupsMeta = shared.TokenPolicyPermissionGroupsMeta

Attributes associated to the permission group.

This is an alias to an internal type.

type TokenPolicyPermissionGroupsMetaParam

type TokenPolicyPermissionGroupsMetaParam = shared.TokenPolicyPermissionGroupsMetaParam

Attributes associated to the permission group.

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectNested

type TokenPolicyResourcesIAMResourcesTypeObjectNested = shared.TokenPolicyResourcesIAMResourcesTypeObjectNested

Map of nested resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectNestedParam

type TokenPolicyResourcesIAMResourcesTypeObjectNestedParam = shared.TokenPolicyResourcesIAMResourcesTypeObjectNestedParam

Map of nested resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectString

type TokenPolicyResourcesIAMResourcesTypeObjectString = shared.TokenPolicyResourcesIAMResourcesTypeObjectString

Map of simple string resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesIAMResourcesTypeObjectStringParam

type TokenPolicyResourcesIAMResourcesTypeObjectStringParam = shared.TokenPolicyResourcesIAMResourcesTypeObjectStringParam

Map of simple string resource permissions

This is an alias to an internal type.

type TokenPolicyResourcesUnion

type TokenPolicyResourcesUnion = shared.TokenPolicyResourcesUnion

A list of resource names that the policy applies to.

This is an alias to an internal type.

type TokenPolicyResourcesUnionParam

type TokenPolicyResourcesUnionParam = shared.TokenPolicyResourcesUnionParam

A list of resource names that the policy applies to.

This is an alias to an internal type.

type TokenStatus

type TokenStatus = shared.TokenStatus

Status of the token.

This is an alias to an internal type.

type TokenValue

type TokenValue = shared.TokenValue

The token value.

This is an alias to an internal type.

Jump to

Keyboard shortcuts

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