33package content_scanning
44
55import (
6+ "context"
7+ "errors"
8+ "fmt"
9+ "net/http"
10+ "slices"
11+
12+ "github.com/cloudflare/cloudflare-go/v6/internal/apijson"
13+ "github.com/cloudflare/cloudflare-go/v6/internal/param"
14+ "github.com/cloudflare/cloudflare-go/v6/internal/requestconfig"
615 "github.com/cloudflare/cloudflare-go/v6/option"
16+ "github.com/cloudflare/cloudflare-go/v6/shared"
717)
818
919// ContentScanningService contains methods and other services that help with
@@ -28,3 +38,137 @@ func NewContentScanningService(opts ...option.RequestOption) (r *ContentScanning
2838 r .Settings = NewSettingService (opts ... )
2939 return
3040}
41+
42+ // Disable Content Scanning.
43+ func (r * ContentScanningService ) Disable (ctx context.Context , body ContentScanningDisableParams , opts ... option.RequestOption ) (res * ContentScanningDisableResponse , err error ) {
44+ var env ContentScanningDisableResponseEnvelope
45+ opts = slices .Concat (r .Options , opts )
46+ if body .ZoneID .Value == "" {
47+ err = errors .New ("missing required zone_id parameter" )
48+ return
49+ }
50+ path := fmt .Sprintf ("zones/%s/content-upload-scan/disable" , body .ZoneID )
51+ err = requestconfig .ExecuteNewRequest (ctx , http .MethodPost , path , nil , & env , opts ... )
52+ if err != nil {
53+ return
54+ }
55+ res = & env .Result
56+ return
57+ }
58+
59+ // Enable Content Scanning.
60+ func (r * ContentScanningService ) Enable (ctx context.Context , body ContentScanningEnableParams , opts ... option.RequestOption ) (res * ContentScanningEnableResponse , err error ) {
61+ var env ContentScanningEnableResponseEnvelope
62+ opts = slices .Concat (r .Options , opts )
63+ if body .ZoneID .Value == "" {
64+ err = errors .New ("missing required zone_id parameter" )
65+ return
66+ }
67+ path := fmt .Sprintf ("zones/%s/content-upload-scan/enable" , body .ZoneID )
68+ err = requestconfig .ExecuteNewRequest (ctx , http .MethodPost , path , nil , & env , opts ... )
69+ if err != nil {
70+ return
71+ }
72+ res = & env .Result
73+ return
74+ }
75+
76+ type ContentScanningDisableResponse = interface {}
77+
78+ type ContentScanningEnableResponse = interface {}
79+
80+ type ContentScanningDisableParams struct {
81+ // Defines an identifier.
82+ ZoneID param.Field [string ] `path:"zone_id,required"`
83+ }
84+
85+ type ContentScanningDisableResponseEnvelope struct {
86+ Errors []shared.ResponseInfo `json:"errors,required"`
87+ Messages []shared.ResponseInfo `json:"messages,required"`
88+ Result ContentScanningDisableResponse `json:"result,required"`
89+ // Whether the API call was successful.
90+ Success ContentScanningDisableResponseEnvelopeSuccess `json:"success,required"`
91+ JSON contentScanningDisableResponseEnvelopeJSON `json:"-"`
92+ }
93+
94+ // contentScanningDisableResponseEnvelopeJSON contains the JSON metadata for the
95+ // struct [ContentScanningDisableResponseEnvelope]
96+ type contentScanningDisableResponseEnvelopeJSON struct {
97+ Errors apijson.Field
98+ Messages apijson.Field
99+ Result apijson.Field
100+ Success apijson.Field
101+ raw string
102+ ExtraFields map [string ]apijson.Field
103+ }
104+
105+ func (r * ContentScanningDisableResponseEnvelope ) UnmarshalJSON (data []byte ) (err error ) {
106+ return apijson .UnmarshalRoot (data , r )
107+ }
108+
109+ func (r contentScanningDisableResponseEnvelopeJSON ) RawJSON () string {
110+ return r .raw
111+ }
112+
113+ // Whether the API call was successful.
114+ type ContentScanningDisableResponseEnvelopeSuccess bool
115+
116+ const (
117+ ContentScanningDisableResponseEnvelopeSuccessTrue ContentScanningDisableResponseEnvelopeSuccess = true
118+ )
119+
120+ func (r ContentScanningDisableResponseEnvelopeSuccess ) IsKnown () bool {
121+ switch r {
122+ case ContentScanningDisableResponseEnvelopeSuccessTrue :
123+ return true
124+ }
125+ return false
126+ }
127+
128+ type ContentScanningEnableParams struct {
129+ // Defines an identifier.
130+ ZoneID param.Field [string ] `path:"zone_id,required"`
131+ }
132+
133+ type ContentScanningEnableResponseEnvelope struct {
134+ Errors []shared.ResponseInfo `json:"errors,required"`
135+ Messages []shared.ResponseInfo `json:"messages,required"`
136+ Result ContentScanningEnableResponse `json:"result,required"`
137+ // Whether the API call was successful.
138+ Success ContentScanningEnableResponseEnvelopeSuccess `json:"success,required"`
139+ JSON contentScanningEnableResponseEnvelopeJSON `json:"-"`
140+ }
141+
142+ // contentScanningEnableResponseEnvelopeJSON contains the JSON metadata for the
143+ // struct [ContentScanningEnableResponseEnvelope]
144+ type contentScanningEnableResponseEnvelopeJSON struct {
145+ Errors apijson.Field
146+ Messages apijson.Field
147+ Result apijson.Field
148+ Success apijson.Field
149+ raw string
150+ ExtraFields map [string ]apijson.Field
151+ }
152+
153+ func (r * ContentScanningEnableResponseEnvelope ) UnmarshalJSON (data []byte ) (err error ) {
154+ return apijson .UnmarshalRoot (data , r )
155+ }
156+
157+ func (r contentScanningEnableResponseEnvelopeJSON ) RawJSON () string {
158+ return r .raw
159+ }
160+
161+ // Whether the API call was successful.
162+ type ContentScanningEnableResponseEnvelopeSuccess bool
163+
164+ const (
165+ ContentScanningEnableResponseEnvelopeSuccessTrue ContentScanningEnableResponseEnvelopeSuccess = true
166+ )
167+
168+ func (r ContentScanningEnableResponseEnvelopeSuccess ) IsKnown () bool {
169+ switch r {
170+ case ContentScanningEnableResponseEnvelopeSuccessTrue :
171+ return true
172+ }
173+ return false
174+ }
0 commit comments