From 5b1f3e767ac5f6937be94e2926257b88515eabf3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 26 Nov 2024 06:22:16 +0000
Subject: [PATCH] feat(api): api update (#3674)
---
.stats.yml | 4 +-
api.md | 6 -
email_security/investigatepreview.go | 6 +-
email_security/investigatepreview_test.go | 2 +-
email_security/settingallowpolicy.go | 16 +-
email_security/settingallowpolicy_test.go | 25 +-
email_security/settingdomain.go | 137 ++++++++-
email_security/settingdomain_test.go | 15 +-
email_security/settingtrusteddomain.go | 302 +++-----------------
email_security/settingtrusteddomain_test.go | 92 ------
10 files changed, 213 insertions(+), 392 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 23c3024b33a..eba8f42b0c8 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 1451
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-3151e81bdc8e6e6f3dc90b21f78c472b90c934926fef1dad65df1f1e13f21b6d.yml
+configured_endpoints: 1448
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-96e28d4d04ac2f1a00dda1130ef53e8bd9f2f1590e5d7ba8bed38cad29f8b2de.yml
diff --git a/api.md b/api.md
index 04c0add437f..13afc60f0a2 100644
--- a/api.md
+++ b/api.md
@@ -1300,17 +1300,11 @@ Response Types:
- email_security.SettingTrustedDomainNewResponseUnion
- email_security.SettingTrustedDomainListResponse
-- email_security.SettingTrustedDomainDeleteResponse
-- email_security.SettingTrustedDomainEditResponse
-- email_security.SettingTrustedDomainGetResponse
Methods:
- client.EmailSecurity.Settings.TrustedDomains.New(ctx context.Context, params email_security.SettingTrustedDomainNewParams) (email_security.SettingTrustedDomainNewResponseUnion, error)
- client.EmailSecurity.Settings.TrustedDomains.List(ctx context.Context, params email_security.SettingTrustedDomainListParams) (pagination.V4PagePaginationArray[email_security.SettingTrustedDomainListResponse], error)
-- client.EmailSecurity.Settings.TrustedDomains.Delete(ctx context.Context, patternID int64, body email_security.SettingTrustedDomainDeleteParams) (email_security.SettingTrustedDomainDeleteResponse, error)
-- client.EmailSecurity.Settings.TrustedDomains.Edit(ctx context.Context, patternID int64, params email_security.SettingTrustedDomainEditParams) (email_security.SettingTrustedDomainEditResponse, error)
-- client.EmailSecurity.Settings.TrustedDomains.Get(ctx context.Context, patternID int64, query email_security.SettingTrustedDomainGetParams) (email_security.SettingTrustedDomainGetResponse, error)
## Submissions
diff --git a/email_security/investigatepreview.go b/email_security/investigatepreview.go
index f5de1761cf5..36f07455778 100644
--- a/email_security/investigatepreview.go
+++ b/email_security/investigatepreview.go
@@ -121,12 +121,12 @@ func (r investigatePreviewGetResponseJSON) RawJSON() string {
type InvestigatePreviewNewParams struct {
// Account Identifier
AccountID param.Field[string] `path:"account_id,required"`
- // A list of messages identfied by their `postfix_id`s that should be released.
- Body []string `json:"body,required"`
+ // The identifier of the message.
+ PostfixID param.Field[string] `json:"postfix_id,required"`
}
func (r InvestigatePreviewNewParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r.Body)
+ return apijson.MarshalRoot(r)
}
type InvestigatePreviewNewResponseEnvelope struct {
diff --git a/email_security/investigatepreview_test.go b/email_security/investigatepreview_test.go
index aa8565bccad..4f6568ffa94 100644
--- a/email_security/investigatepreview_test.go
+++ b/email_security/investigatepreview_test.go
@@ -29,7 +29,7 @@ func TestInvestigatePreviewNew(t *testing.T) {
)
_, err := client.EmailSecurity.Investigate.Preview.New(context.TODO(), email_security.InvestigatePreviewNewParams{
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- Body: []string{"4Njp3P0STMz2c02Q"},
+ PostfixID: cloudflare.F("4Njp3P0STMz2c02Q"),
})
if err != nil {
var apierr *cloudflare.Error
diff --git a/email_security/settingallowpolicy.go b/email_security/settingallowpolicy.go
index d550581f80b..80f8a199e80 100644
--- a/email_security/settingallowpolicy.go
+++ b/email_security/settingallowpolicy.go
@@ -134,6 +134,7 @@ func (r *SettingAllowPolicyService) Get(ctx context.Context, policyID int64, que
}
type SettingAllowPolicyNewResponse struct {
+ // The unique identifier for the allow policy.
ID int64 `json:"id,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// Messages from this sender will be exempted from Spam, Spoof and Bulk
@@ -205,6 +206,7 @@ func (r SettingAllowPolicyNewResponsePatternType) IsKnown() bool {
}
type SettingAllowPolicyListResponse struct {
+ // The unique identifier for the allow policy.
ID int64 `json:"id,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// Messages from this sender will be exempted from Spam, Spoof and Bulk
@@ -276,6 +278,7 @@ func (r SettingAllowPolicyListResponsePatternType) IsKnown() bool {
}
type SettingAllowPolicyDeleteResponse struct {
+ // The unique identifier for the allow policy.
ID int64 `json:"id,required"`
JSON settingAllowPolicyDeleteResponseJSON `json:"-"`
}
@@ -297,6 +300,7 @@ func (r settingAllowPolicyDeleteResponseJSON) RawJSON() string {
}
type SettingAllowPolicyEditResponse struct {
+ // The unique identifier for the allow policy.
ID int64 `json:"id,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// Messages from this sender will be exempted from Spam, Spoof and Bulk
@@ -368,6 +372,7 @@ func (r SettingAllowPolicyEditResponsePatternType) IsKnown() bool {
}
type SettingAllowPolicyGetResponse struct {
+ // The unique identifier for the allow policy.
ID int64 `json:"id,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// Messages from this sender will be exempted from Spam, Spoof and Bulk
@@ -513,10 +518,13 @@ type SettingAllowPolicyListParams struct {
// Account Identifier
AccountID param.Field[string] `path:"account_id,required"`
// The sorting direction.
- Direction param.Field[SettingAllowPolicyListParamsDirection] `query:"direction"`
- IsRecipient param.Field[bool] `query:"is_recipient"`
- IsSender param.Field[bool] `query:"is_sender"`
- IsSpoof param.Field[bool] `query:"is_spoof"`
+ Direction param.Field[SettingAllowPolicyListParamsDirection] `query:"direction"`
+ IsAcceptableSender param.Field[bool] `query:"is_acceptable_sender"`
+ IsExemptRecipient param.Field[bool] `query:"is_exempt_recipient"`
+ IsRecipient param.Field[bool] `query:"is_recipient"`
+ IsSender param.Field[bool] `query:"is_sender"`
+ IsSpoof param.Field[bool] `query:"is_spoof"`
+ IsTrustedSender param.Field[bool] `query:"is_trusted_sender"`
// The field to sort by.
Order param.Field[SettingAllowPolicyListParamsOrder] `query:"order"`
// The page number of paginated results.
diff --git a/email_security/settingallowpolicy_test.go b/email_security/settingallowpolicy_test.go
index cd4d985719b..cc76209ac69 100644
--- a/email_security/settingallowpolicy_test.go
+++ b/email_security/settingallowpolicy_test.go
@@ -64,17 +64,20 @@ func TestSettingAllowPolicyListWithOptionalParams(t *testing.T) {
option.WithAPIEmail("user@example.com"),
)
_, err := client.EmailSecurity.Settings.AllowPolicies.List(context.TODO(), email_security.SettingAllowPolicyListParams{
- AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- Direction: cloudflare.F(email_security.SettingAllowPolicyListParamsDirectionAsc),
- IsRecipient: cloudflare.F(true),
- IsSender: cloudflare.F(true),
- IsSpoof: cloudflare.F(true),
- Order: cloudflare.F(email_security.SettingAllowPolicyListParamsOrderPattern),
- Page: cloudflare.F(int64(1)),
- PatternType: cloudflare.F(email_security.SettingAllowPolicyListParamsPatternTypeEmail),
- PerPage: cloudflare.F(int64(1)),
- Search: cloudflare.F("search"),
- VerifySender: cloudflare.F(true),
+ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
+ Direction: cloudflare.F(email_security.SettingAllowPolicyListParamsDirectionAsc),
+ IsAcceptableSender: cloudflare.F(true),
+ IsExemptRecipient: cloudflare.F(true),
+ IsRecipient: cloudflare.F(true),
+ IsSender: cloudflare.F(true),
+ IsSpoof: cloudflare.F(true),
+ IsTrustedSender: cloudflare.F(true),
+ Order: cloudflare.F(email_security.SettingAllowPolicyListParamsOrderPattern),
+ Page: cloudflare.F(int64(1)),
+ PatternType: cloudflare.F(email_security.SettingAllowPolicyListParamsPatternTypeEmail),
+ PerPage: cloudflare.F(int64(1)),
+ Search: cloudflare.F("search"),
+ VerifySender: cloudflare.F(true),
})
if err != nil {
var apierr *cloudflare.Error
diff --git a/email_security/settingdomain.go b/email_security/settingdomain.go
index a1ab7ac2ba6..71f60f6092b 100644
--- a/email_security/settingdomain.go
+++ b/email_security/settingdomain.go
@@ -139,12 +139,17 @@ type SettingDomainListResponse struct {
AllowedDeliveryModes []SettingDomainListResponseAllowedDeliveryMode `json:"allowed_delivery_modes,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
Domain string `json:"domain,required"`
+ DropDispositions []SettingDomainListResponseDropDisposition `json:"drop_dispositions,required"`
+ IPRestrictions []string `json:"ip_restrictions,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
LookbackHops int64 `json:"lookback_hops,required"`
+ Transport string `json:"transport,required"`
Folder SettingDomainListResponseFolder `json:"folder,nullable"`
InboxProvider SettingDomainListResponseInboxProvider `json:"inbox_provider,nullable"`
IntegrationID string `json:"integration_id,nullable" format:"uuid"`
O365TenantID string `json:"o365_tenant_id,nullable"`
+ RequireTLSInbound bool `json:"require_tls_inbound,nullable"`
+ RequireTLSOutbound bool `json:"require_tls_outbound,nullable"`
JSON settingDomainListResponseJSON `json:"-"`
}
@@ -155,12 +160,17 @@ type settingDomainListResponseJSON struct {
AllowedDeliveryModes apijson.Field
CreatedAt apijson.Field
Domain apijson.Field
+ DropDispositions apijson.Field
+ IPRestrictions apijson.Field
LastModified apijson.Field
LookbackHops apijson.Field
+ Transport apijson.Field
Folder apijson.Field
InboxProvider apijson.Field
IntegrationID apijson.Field
O365TenantID apijson.Field
+ RequireTLSInbound apijson.Field
+ RequireTLSOutbound apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -191,6 +201,29 @@ func (r SettingDomainListResponseAllowedDeliveryMode) IsKnown() bool {
return false
}
+type SettingDomainListResponseDropDisposition string
+
+const (
+ SettingDomainListResponseDropDispositionMalicious SettingDomainListResponseDropDisposition = "MALICIOUS"
+ SettingDomainListResponseDropDispositionMaliciousBec SettingDomainListResponseDropDisposition = "MALICIOUS-BEC"
+ SettingDomainListResponseDropDispositionSuspicious SettingDomainListResponseDropDisposition = "SUSPICIOUS"
+ SettingDomainListResponseDropDispositionSpoof SettingDomainListResponseDropDisposition = "SPOOF"
+ SettingDomainListResponseDropDispositionSpam SettingDomainListResponseDropDisposition = "SPAM"
+ SettingDomainListResponseDropDispositionBulk SettingDomainListResponseDropDisposition = "BULK"
+ SettingDomainListResponseDropDispositionEncrypted SettingDomainListResponseDropDisposition = "ENCRYPTED"
+ SettingDomainListResponseDropDispositionExternal SettingDomainListResponseDropDisposition = "EXTERNAL"
+ SettingDomainListResponseDropDispositionUnknown SettingDomainListResponseDropDisposition = "UNKNOWN"
+ SettingDomainListResponseDropDispositionNone SettingDomainListResponseDropDisposition = "NONE"
+)
+
+func (r SettingDomainListResponseDropDisposition) IsKnown() bool {
+ switch r {
+ case SettingDomainListResponseDropDispositionMalicious, SettingDomainListResponseDropDispositionMaliciousBec, SettingDomainListResponseDropDispositionSuspicious, SettingDomainListResponseDropDispositionSpoof, SettingDomainListResponseDropDispositionSpam, SettingDomainListResponseDropDispositionBulk, SettingDomainListResponseDropDispositionEncrypted, SettingDomainListResponseDropDispositionExternal, SettingDomainListResponseDropDispositionUnknown, SettingDomainListResponseDropDispositionNone:
+ return true
+ }
+ return false
+}
+
type SettingDomainListResponseFolder string
const (
@@ -271,12 +304,17 @@ type SettingDomainEditResponse struct {
AllowedDeliveryModes []SettingDomainEditResponseAllowedDeliveryMode `json:"allowed_delivery_modes,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
Domain string `json:"domain,required"`
+ DropDispositions []SettingDomainEditResponseDropDisposition `json:"drop_dispositions,required"`
+ IPRestrictions []string `json:"ip_restrictions,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
LookbackHops int64 `json:"lookback_hops,required"`
+ Transport string `json:"transport,required"`
Folder SettingDomainEditResponseFolder `json:"folder,nullable"`
InboxProvider SettingDomainEditResponseInboxProvider `json:"inbox_provider,nullable"`
IntegrationID string `json:"integration_id,nullable" format:"uuid"`
O365TenantID string `json:"o365_tenant_id,nullable"`
+ RequireTLSInbound bool `json:"require_tls_inbound,nullable"`
+ RequireTLSOutbound bool `json:"require_tls_outbound,nullable"`
JSON settingDomainEditResponseJSON `json:"-"`
}
@@ -287,12 +325,17 @@ type settingDomainEditResponseJSON struct {
AllowedDeliveryModes apijson.Field
CreatedAt apijson.Field
Domain apijson.Field
+ DropDispositions apijson.Field
+ IPRestrictions apijson.Field
LastModified apijson.Field
LookbackHops apijson.Field
+ Transport apijson.Field
Folder apijson.Field
InboxProvider apijson.Field
IntegrationID apijson.Field
O365TenantID apijson.Field
+ RequireTLSInbound apijson.Field
+ RequireTLSOutbound apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -323,6 +366,29 @@ func (r SettingDomainEditResponseAllowedDeliveryMode) IsKnown() bool {
return false
}
+type SettingDomainEditResponseDropDisposition string
+
+const (
+ SettingDomainEditResponseDropDispositionMalicious SettingDomainEditResponseDropDisposition = "MALICIOUS"
+ SettingDomainEditResponseDropDispositionMaliciousBec SettingDomainEditResponseDropDisposition = "MALICIOUS-BEC"
+ SettingDomainEditResponseDropDispositionSuspicious SettingDomainEditResponseDropDisposition = "SUSPICIOUS"
+ SettingDomainEditResponseDropDispositionSpoof SettingDomainEditResponseDropDisposition = "SPOOF"
+ SettingDomainEditResponseDropDispositionSpam SettingDomainEditResponseDropDisposition = "SPAM"
+ SettingDomainEditResponseDropDispositionBulk SettingDomainEditResponseDropDisposition = "BULK"
+ SettingDomainEditResponseDropDispositionEncrypted SettingDomainEditResponseDropDisposition = "ENCRYPTED"
+ SettingDomainEditResponseDropDispositionExternal SettingDomainEditResponseDropDisposition = "EXTERNAL"
+ SettingDomainEditResponseDropDispositionUnknown SettingDomainEditResponseDropDisposition = "UNKNOWN"
+ SettingDomainEditResponseDropDispositionNone SettingDomainEditResponseDropDisposition = "NONE"
+)
+
+func (r SettingDomainEditResponseDropDisposition) IsKnown() bool {
+ switch r {
+ case SettingDomainEditResponseDropDispositionMalicious, SettingDomainEditResponseDropDispositionMaliciousBec, SettingDomainEditResponseDropDispositionSuspicious, SettingDomainEditResponseDropDispositionSpoof, SettingDomainEditResponseDropDispositionSpam, SettingDomainEditResponseDropDispositionBulk, SettingDomainEditResponseDropDispositionEncrypted, SettingDomainEditResponseDropDispositionExternal, SettingDomainEditResponseDropDispositionUnknown, SettingDomainEditResponseDropDispositionNone:
+ return true
+ }
+ return false
+}
+
type SettingDomainEditResponseFolder string
const (
@@ -359,12 +425,17 @@ type SettingDomainGetResponse struct {
AllowedDeliveryModes []SettingDomainGetResponseAllowedDeliveryMode `json:"allowed_delivery_modes,required"`
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
Domain string `json:"domain,required"`
+ DropDispositions []SettingDomainGetResponseDropDisposition `json:"drop_dispositions,required"`
+ IPRestrictions []string `json:"ip_restrictions,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
LookbackHops int64 `json:"lookback_hops,required"`
+ Transport string `json:"transport,required"`
Folder SettingDomainGetResponseFolder `json:"folder,nullable"`
InboxProvider SettingDomainGetResponseInboxProvider `json:"inbox_provider,nullable"`
IntegrationID string `json:"integration_id,nullable" format:"uuid"`
O365TenantID string `json:"o365_tenant_id,nullable"`
+ RequireTLSInbound bool `json:"require_tls_inbound,nullable"`
+ RequireTLSOutbound bool `json:"require_tls_outbound,nullable"`
JSON settingDomainGetResponseJSON `json:"-"`
}
@@ -375,12 +446,17 @@ type settingDomainGetResponseJSON struct {
AllowedDeliveryModes apijson.Field
CreatedAt apijson.Field
Domain apijson.Field
+ DropDispositions apijson.Field
+ IPRestrictions apijson.Field
LastModified apijson.Field
LookbackHops apijson.Field
+ Transport apijson.Field
Folder apijson.Field
InboxProvider apijson.Field
IntegrationID apijson.Field
O365TenantID apijson.Field
+ RequireTLSInbound apijson.Field
+ RequireTLSOutbound apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -411,6 +487,29 @@ func (r SettingDomainGetResponseAllowedDeliveryMode) IsKnown() bool {
return false
}
+type SettingDomainGetResponseDropDisposition string
+
+const (
+ SettingDomainGetResponseDropDispositionMalicious SettingDomainGetResponseDropDisposition = "MALICIOUS"
+ SettingDomainGetResponseDropDispositionMaliciousBec SettingDomainGetResponseDropDisposition = "MALICIOUS-BEC"
+ SettingDomainGetResponseDropDispositionSuspicious SettingDomainGetResponseDropDisposition = "SUSPICIOUS"
+ SettingDomainGetResponseDropDispositionSpoof SettingDomainGetResponseDropDisposition = "SPOOF"
+ SettingDomainGetResponseDropDispositionSpam SettingDomainGetResponseDropDisposition = "SPAM"
+ SettingDomainGetResponseDropDispositionBulk SettingDomainGetResponseDropDisposition = "BULK"
+ SettingDomainGetResponseDropDispositionEncrypted SettingDomainGetResponseDropDisposition = "ENCRYPTED"
+ SettingDomainGetResponseDropDispositionExternal SettingDomainGetResponseDropDisposition = "EXTERNAL"
+ SettingDomainGetResponseDropDispositionUnknown SettingDomainGetResponseDropDisposition = "UNKNOWN"
+ SettingDomainGetResponseDropDispositionNone SettingDomainGetResponseDropDisposition = "NONE"
+)
+
+func (r SettingDomainGetResponseDropDisposition) IsKnown() bool {
+ switch r {
+ case SettingDomainGetResponseDropDispositionMalicious, SettingDomainGetResponseDropDispositionMaliciousBec, SettingDomainGetResponseDropDispositionSuspicious, SettingDomainGetResponseDropDispositionSpoof, SettingDomainGetResponseDropDispositionSpam, SettingDomainGetResponseDropDispositionBulk, SettingDomainGetResponseDropDispositionEncrypted, SettingDomainGetResponseDropDispositionExternal, SettingDomainGetResponseDropDispositionUnknown, SettingDomainGetResponseDropDispositionNone:
+ return true
+ }
+ return false
+}
+
type SettingDomainGetResponseFolder string
const (
@@ -588,17 +687,45 @@ func (r settingDomainBulkDeleteResponseEnvelopeJSON) RawJSON() string {
type SettingDomainEditParams struct {
// Account Identifier
- AccountID param.Field[string] `path:"account_id,required"`
- Domain param.Field[string] `json:"domain"`
- Folder param.Field[SettingDomainEditParamsFolder] `json:"folder"`
- IntegrationID param.Field[string] `json:"integration_id" format:"uuid"`
- LookbackHops param.Field[int64] `json:"lookback_hops"`
+ AccountID param.Field[string] `path:"account_id,required"`
+ IPRestrictions param.Field[[]string] `json:"ip_restrictions,required"`
+ Domain param.Field[string] `json:"domain"`
+ DropDispositions param.Field[[]SettingDomainEditParamsDropDisposition] `json:"drop_dispositions"`
+ Folder param.Field[SettingDomainEditParamsFolder] `json:"folder"`
+ IntegrationID param.Field[string] `json:"integration_id" format:"uuid"`
+ LookbackHops param.Field[int64] `json:"lookback_hops"`
+ RequireTLSInbound param.Field[bool] `json:"require_tls_inbound"`
+ RequireTLSOutbound param.Field[bool] `json:"require_tls_outbound"`
+ Transport param.Field[string] `json:"transport"`
}
func (r SettingDomainEditParams) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}
+type SettingDomainEditParamsDropDisposition string
+
+const (
+ SettingDomainEditParamsDropDispositionMalicious SettingDomainEditParamsDropDisposition = "MALICIOUS"
+ SettingDomainEditParamsDropDispositionMaliciousBec SettingDomainEditParamsDropDisposition = "MALICIOUS-BEC"
+ SettingDomainEditParamsDropDispositionSuspicious SettingDomainEditParamsDropDisposition = "SUSPICIOUS"
+ SettingDomainEditParamsDropDispositionSpoof SettingDomainEditParamsDropDisposition = "SPOOF"
+ SettingDomainEditParamsDropDispositionSpam SettingDomainEditParamsDropDisposition = "SPAM"
+ SettingDomainEditParamsDropDispositionBulk SettingDomainEditParamsDropDisposition = "BULK"
+ SettingDomainEditParamsDropDispositionEncrypted SettingDomainEditParamsDropDisposition = "ENCRYPTED"
+ SettingDomainEditParamsDropDispositionExternal SettingDomainEditParamsDropDisposition = "EXTERNAL"
+ SettingDomainEditParamsDropDispositionUnknown SettingDomainEditParamsDropDisposition = "UNKNOWN"
+ SettingDomainEditParamsDropDispositionNone SettingDomainEditParamsDropDisposition = "NONE"
+)
+
+func (r SettingDomainEditParamsDropDisposition) IsKnown() bool {
+ switch r {
+ case SettingDomainEditParamsDropDispositionMalicious, SettingDomainEditParamsDropDispositionMaliciousBec, SettingDomainEditParamsDropDispositionSuspicious, SettingDomainEditParamsDropDispositionSpoof, SettingDomainEditParamsDropDispositionSpam, SettingDomainEditParamsDropDispositionBulk, SettingDomainEditParamsDropDispositionEncrypted, SettingDomainEditParamsDropDispositionExternal, SettingDomainEditParamsDropDispositionUnknown, SettingDomainEditParamsDropDispositionNone:
+ return true
+ }
+ return false
+}
+
type SettingDomainEditParamsFolder string
const (
diff --git a/email_security/settingdomain_test.go b/email_security/settingdomain_test.go
index 44458126f6d..e46630fe0b4 100644
--- a/email_security/settingdomain_test.go
+++ b/email_security/settingdomain_test.go
@@ -117,11 +117,16 @@ func TestSettingDomainEditWithOptionalParams(t *testing.T) {
context.TODO(),
int64(2400),
email_security.SettingDomainEditParams{
- AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- Domain: cloudflare.F("domain"),
- Folder: cloudflare.F(email_security.SettingDomainEditParamsFolderAllItems),
- IntegrationID: cloudflare.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LookbackHops: cloudflare.F(int64(1)),
+ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
+ IPRestrictions: cloudflare.F([]string{"192.0.2.0/24", "2001:db8::/32"}),
+ Domain: cloudflare.F("domain"),
+ DropDispositions: cloudflare.F([]email_security.SettingDomainEditParamsDropDisposition{email_security.SettingDomainEditParamsDropDispositionMalicious}),
+ Folder: cloudflare.F(email_security.SettingDomainEditParamsFolderAllItems),
+ IntegrationID: cloudflare.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ LookbackHops: cloudflare.F(int64(1)),
+ RequireTLSInbound: cloudflare.F(true),
+ RequireTLSOutbound: cloudflare.F(true),
+ Transport: cloudflare.F("transport"),
},
)
if err != nil {
diff --git a/email_security/settingtrusteddomain.go b/email_security/settingtrusteddomain.go
index bf78fa38147..9f32bfb4fe4 100644
--- a/email_security/settingtrusteddomain.go
+++ b/email_security/settingtrusteddomain.go
@@ -84,57 +84,6 @@ func (r *SettingTrustedDomainService) ListAutoPaging(ctx context.Context, params
return pagination.NewV4PagePaginationArrayAutoPager(r.List(ctx, params, opts...))
}
-// Delete a trusted email domain
-func (r *SettingTrustedDomainService) Delete(ctx context.Context, patternID int64, body SettingTrustedDomainDeleteParams, opts ...option.RequestOption) (res *SettingTrustedDomainDeleteResponse, err error) {
- var env SettingTrustedDomainDeleteResponseEnvelope
- opts = append(r.Options[:], opts...)
- if body.AccountID.Value == "" {
- err = errors.New("missing required account_id parameter")
- return
- }
- path := fmt.Sprintf("accounts/%s/email-security/settings/trusted_domains/%v", body.AccountID, patternID)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &env, opts...)
- if err != nil {
- return
- }
- res = &env.Result
- return
-}
-
-// Update a trusted email domain
-func (r *SettingTrustedDomainService) Edit(ctx context.Context, patternID int64, params SettingTrustedDomainEditParams, opts ...option.RequestOption) (res *SettingTrustedDomainEditResponse, err error) {
- var env SettingTrustedDomainEditResponseEnvelope
- opts = append(r.Options[:], opts...)
- if params.AccountID.Value == "" {
- err = errors.New("missing required account_id parameter")
- return
- }
- path := fmt.Sprintf("accounts/%s/email-security/settings/trusted_domains/%v", params.AccountID, patternID)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPatch, path, params, &env, opts...)
- if err != nil {
- return
- }
- res = &env.Result
- return
-}
-
-// Get a trusted email domain
-func (r *SettingTrustedDomainService) Get(ctx context.Context, patternID int64, query SettingTrustedDomainGetParams, opts ...option.RequestOption) (res *SettingTrustedDomainGetResponse, err error) {
- var env SettingTrustedDomainGetResponseEnvelope
- opts = append(r.Options[:], opts...)
- if query.AccountID.Value == "" {
- err = errors.New("missing required account_id parameter")
- return
- }
- path := fmt.Sprintf("accounts/%s/email-security/settings/trusted_domains/%v", query.AccountID, patternID)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
- if err != nil {
- return
- }
- res = &env.Result
- return
-}
-
// Union satisfied by
// [email_security.SettingTrustedDomainNewResponseEmailSecurityTrustedDomain] or
// [email_security.SettingTrustedDomainNewResponseArray].
@@ -158,10 +107,15 @@ func init() {
}
type SettingTrustedDomainNewResponseEmailSecurityTrustedDomain struct {
- ID int64 `json:"id,required"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
- IsRecent bool `json:"is_recent,required"`
- IsRegex bool `json:"is_regex,required"`
+ // The unique identifier for the trusted domain.
+ ID int64 `json:"id,required"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ // Select to prevent recently registered domains from triggering a Suspicious or
+ // Malicious disposition.
+ IsRecent bool `json:"is_recent,required"`
+ IsRegex bool `json:"is_regex,required"`
+ // Select for partner or other approved domains that have similar spelling to your
+ // connected domains. Prevents listed domains from triggering a Spoof disposition.
IsSimilarity bool `json:"is_similarity,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
Pattern string `json:"pattern,required"`
@@ -202,10 +156,15 @@ func (r SettingTrustedDomainNewResponseArray) implementsEmailSecuritySettingTrus
}
type SettingTrustedDomainNewResponseArrayItem struct {
- ID int64 `json:"id,required"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
- IsRecent bool `json:"is_recent,required"`
- IsRegex bool `json:"is_regex,required"`
+ // The unique identifier for the trusted domain.
+ ID int64 `json:"id,required"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ // Select to prevent recently registered domains from triggering a Suspicious or
+ // Malicious disposition.
+ IsRecent bool `json:"is_recent,required"`
+ IsRegex bool `json:"is_regex,required"`
+ // Select for partner or other approved domains that have similar spelling to your
+ // connected domains. Prevents listed domains from triggering a Spoof disposition.
IsSimilarity bool `json:"is_similarity,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
Pattern string `json:"pattern,required"`
@@ -237,10 +196,15 @@ func (r settingTrustedDomainNewResponseArrayItemJSON) RawJSON() string {
}
type SettingTrustedDomainListResponse struct {
- ID int64 `json:"id,required"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
- IsRecent bool `json:"is_recent,required"`
- IsRegex bool `json:"is_regex,required"`
+ // The unique identifier for the trusted domain.
+ ID int64 `json:"id,required"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ // Select to prevent recently registered domains from triggering a Suspicious or
+ // Malicious disposition.
+ IsRecent bool `json:"is_recent,required"`
+ IsRegex bool `json:"is_regex,required"`
+ // Select for partner or other approved domains that have similar spelling to your
+ // connected domains. Prevents listed domains from triggering a Spoof disposition.
IsSimilarity bool `json:"is_similarity,required"`
LastModified time.Time `json:"last_modified,required" format:"date-time"`
Pattern string `json:"pattern,required"`
@@ -271,97 +235,6 @@ func (r settingTrustedDomainListResponseJSON) RawJSON() string {
return r.raw
}
-type SettingTrustedDomainDeleteResponse struct {
- ID int64 `json:"id,required"`
- JSON settingTrustedDomainDeleteResponseJSON `json:"-"`
-}
-
-// settingTrustedDomainDeleteResponseJSON contains the JSON metadata for the struct
-// [SettingTrustedDomainDeleteResponse]
-type settingTrustedDomainDeleteResponseJSON struct {
- ID apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainDeleteResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainDeleteResponseJSON) RawJSON() string {
- return r.raw
-}
-
-type SettingTrustedDomainEditResponse struct {
- ID int64 `json:"id,required"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
- IsRecent bool `json:"is_recent,required"`
- IsRegex bool `json:"is_regex,required"`
- IsSimilarity bool `json:"is_similarity,required"`
- LastModified time.Time `json:"last_modified,required" format:"date-time"`
- Pattern string `json:"pattern,required"`
- Comments string `json:"comments,nullable"`
- JSON settingTrustedDomainEditResponseJSON `json:"-"`
-}
-
-// settingTrustedDomainEditResponseJSON contains the JSON metadata for the struct
-// [SettingTrustedDomainEditResponse]
-type settingTrustedDomainEditResponseJSON struct {
- ID apijson.Field
- CreatedAt apijson.Field
- IsRecent apijson.Field
- IsRegex apijson.Field
- IsSimilarity apijson.Field
- LastModified apijson.Field
- Pattern apijson.Field
- Comments apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainEditResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainEditResponseJSON) RawJSON() string {
- return r.raw
-}
-
-type SettingTrustedDomainGetResponse struct {
- ID int64 `json:"id,required"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
- IsRecent bool `json:"is_recent,required"`
- IsRegex bool `json:"is_regex,required"`
- IsSimilarity bool `json:"is_similarity,required"`
- LastModified time.Time `json:"last_modified,required" format:"date-time"`
- Pattern string `json:"pattern,required"`
- Comments string `json:"comments,nullable"`
- JSON settingTrustedDomainGetResponseJSON `json:"-"`
-}
-
-// settingTrustedDomainGetResponseJSON contains the JSON metadata for the struct
-// [SettingTrustedDomainGetResponse]
-type settingTrustedDomainGetResponseJSON struct {
- ID apijson.Field
- CreatedAt apijson.Field
- IsRecent apijson.Field
- IsRegex apijson.Field
- IsSimilarity apijson.Field
- LastModified apijson.Field
- Pattern apijson.Field
- Comments apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainGetResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainGetResponseJSON) RawJSON() string {
- return r.raw
-}
-
type SettingTrustedDomainNewParams struct {
// Account Identifier
AccountID param.Field[string] `path:"account_id,required"`
@@ -380,8 +253,12 @@ type SettingTrustedDomainNewParamsBodyUnion interface {
}
type SettingTrustedDomainNewParamsBodyEmailSecurityCreateTrustedDomain struct {
- IsRecent param.Field[bool] `json:"is_recent,required"`
- IsRegex param.Field[bool] `json:"is_regex,required"`
+ // Select to prevent recently registered domains from triggering a Suspicious or
+ // Malicious disposition.
+ IsRecent param.Field[bool] `json:"is_recent,required"`
+ IsRegex param.Field[bool] `json:"is_regex,required"`
+ // Select for partner or other approved domains that have similar spelling to your
+ // connected domains. Prevents listed domains from triggering a Spoof disposition.
IsSimilarity param.Field[bool] `json:"is_similarity,required"`
Pattern param.Field[string] `json:"pattern,required"`
Comments param.Field[string] `json:"comments"`
@@ -400,8 +277,12 @@ func (r SettingTrustedDomainNewParamsBodyArray) implementsEmailSecuritySettingTr
}
type SettingTrustedDomainNewParamsBodyArrayItem struct {
- IsRecent param.Field[bool] `json:"is_recent,required"`
- IsRegex param.Field[bool] `json:"is_regex,required"`
+ // Select to prevent recently registered domains from triggering a Suspicious or
+ // Malicious disposition.
+ IsRecent param.Field[bool] `json:"is_recent,required"`
+ IsRegex param.Field[bool] `json:"is_regex,required"`
+ // Select for partner or other approved domains that have similar spelling to your
+ // connected domains. Prevents listed domains from triggering a Spoof disposition.
IsSimilarity param.Field[bool] `json:"is_similarity,required"`
Pattern param.Field[string] `json:"pattern,required"`
Comments param.Field[string] `json:"comments"`
@@ -497,108 +378,3 @@ func (r SettingTrustedDomainListParamsOrder) IsKnown() bool {
}
return false
}
-
-type SettingTrustedDomainDeleteParams struct {
- // Account Identifier
- AccountID param.Field[string] `path:"account_id,required"`
-}
-
-type SettingTrustedDomainDeleteResponseEnvelope struct {
- Errors []shared.ResponseInfo `json:"errors,required"`
- Messages []shared.ResponseInfo `json:"messages,required"`
- Result SettingTrustedDomainDeleteResponse `json:"result,required"`
- Success bool `json:"success,required"`
- JSON settingTrustedDomainDeleteResponseEnvelopeJSON `json:"-"`
-}
-
-// settingTrustedDomainDeleteResponseEnvelopeJSON contains the JSON metadata for
-// the struct [SettingTrustedDomainDeleteResponseEnvelope]
-type settingTrustedDomainDeleteResponseEnvelopeJSON struct {
- Errors apijson.Field
- Messages apijson.Field
- Result apijson.Field
- Success apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainDeleteResponseEnvelopeJSON) RawJSON() string {
- return r.raw
-}
-
-type SettingTrustedDomainEditParams struct {
- // Account Identifier
- AccountID param.Field[string] `path:"account_id,required"`
- Comments param.Field[string] `json:"comments"`
- IsRecent param.Field[bool] `json:"is_recent"`
- IsRegex param.Field[bool] `json:"is_regex"`
- IsSimilarity param.Field[bool] `json:"is_similarity"`
- Pattern param.Field[string] `json:"pattern"`
-}
-
-func (r SettingTrustedDomainEditParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
-}
-
-type SettingTrustedDomainEditResponseEnvelope struct {
- Errors []shared.ResponseInfo `json:"errors,required"`
- Messages []shared.ResponseInfo `json:"messages,required"`
- Result SettingTrustedDomainEditResponse `json:"result,required"`
- Success bool `json:"success,required"`
- JSON settingTrustedDomainEditResponseEnvelopeJSON `json:"-"`
-}
-
-// settingTrustedDomainEditResponseEnvelopeJSON contains the JSON metadata for the
-// struct [SettingTrustedDomainEditResponseEnvelope]
-type settingTrustedDomainEditResponseEnvelopeJSON struct {
- Errors apijson.Field
- Messages apijson.Field
- Result apijson.Field
- Success apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainEditResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainEditResponseEnvelopeJSON) RawJSON() string {
- return r.raw
-}
-
-type SettingTrustedDomainGetParams struct {
- // Account Identifier
- AccountID param.Field[string] `path:"account_id,required"`
-}
-
-type SettingTrustedDomainGetResponseEnvelope struct {
- Errors []shared.ResponseInfo `json:"errors,required"`
- Messages []shared.ResponseInfo `json:"messages,required"`
- Result SettingTrustedDomainGetResponse `json:"result,required"`
- Success bool `json:"success,required"`
- JSON settingTrustedDomainGetResponseEnvelopeJSON `json:"-"`
-}
-
-// settingTrustedDomainGetResponseEnvelopeJSON contains the JSON metadata for the
-// struct [SettingTrustedDomainGetResponseEnvelope]
-type settingTrustedDomainGetResponseEnvelopeJSON struct {
- Errors apijson.Field
- Messages apijson.Field
- Result apijson.Field
- Success apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *SettingTrustedDomainGetResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r settingTrustedDomainGetResponseEnvelopeJSON) RawJSON() string {
- return r.raw
-}
diff --git a/email_security/settingtrusteddomain_test.go b/email_security/settingtrusteddomain_test.go
index add588a84cc..6264c00088a 100644
--- a/email_security/settingtrusteddomain_test.go
+++ b/email_security/settingtrusteddomain_test.go
@@ -77,95 +77,3 @@ func TestSettingTrustedDomainListWithOptionalParams(t *testing.T) {
t.Fatalf("err should be nil: %s", err.Error())
}
}
-
-func TestSettingTrustedDomainDelete(t *testing.T) {
- baseURL := "http://localhost:4010"
- if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
- baseURL = envURL
- }
- if !testutil.CheckTestServer(t, baseURL) {
- return
- }
- client := cloudflare.NewClient(
- option.WithBaseURL(baseURL),
- option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
- option.WithAPIEmail("user@example.com"),
- )
- _, err := client.EmailSecurity.Settings.TrustedDomains.Delete(
- context.TODO(),
- int64(2401),
- email_security.SettingTrustedDomainDeleteParams{
- AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- },
- )
- if err != nil {
- var apierr *cloudflare.Error
- if errors.As(err, &apierr) {
- t.Log(string(apierr.DumpRequest(true)))
- }
- t.Fatalf("err should be nil: %s", err.Error())
- }
-}
-
-func TestSettingTrustedDomainEditWithOptionalParams(t *testing.T) {
- baseURL := "http://localhost:4010"
- if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
- baseURL = envURL
- }
- if !testutil.CheckTestServer(t, baseURL) {
- return
- }
- client := cloudflare.NewClient(
- option.WithBaseURL(baseURL),
- option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
- option.WithAPIEmail("user@example.com"),
- )
- _, err := client.EmailSecurity.Settings.TrustedDomains.Edit(
- context.TODO(),
- int64(2401),
- email_security.SettingTrustedDomainEditParams{
- AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- Comments: cloudflare.F("comments"),
- IsRecent: cloudflare.F(true),
- IsRegex: cloudflare.F(true),
- IsSimilarity: cloudflare.F(true),
- Pattern: cloudflare.F("x"),
- },
- )
- if err != nil {
- var apierr *cloudflare.Error
- if errors.As(err, &apierr) {
- t.Log(string(apierr.DumpRequest(true)))
- }
- t.Fatalf("err should be nil: %s", err.Error())
- }
-}
-
-func TestSettingTrustedDomainGet(t *testing.T) {
- baseURL := "http://localhost:4010"
- if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
- baseURL = envURL
- }
- if !testutil.CheckTestServer(t, baseURL) {
- return
- }
- client := cloudflare.NewClient(
- option.WithBaseURL(baseURL),
- option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
- option.WithAPIEmail("user@example.com"),
- )
- _, err := client.EmailSecurity.Settings.TrustedDomains.Get(
- context.TODO(),
- int64(2401),
- email_security.SettingTrustedDomainGetParams{
- AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
- },
- )
- if err != nil {
- var apierr *cloudflare.Error
- if errors.As(err, &apierr) {
- t.Log(string(apierr.DumpRequest(true)))
- }
- t.Fatalf("err should be nil: %s", err.Error())
- }
-}