diff --git a/api.md b/api.md
index d8fbfd9ac0..5dd186440f 100644
--- a/api.md
+++ b/api.md
@@ -2833,60 +2833,79 @@ Methods:
Response Types:
-- rulesets.Ruleset
+- rulesets.RulesetNewResponse
+- rulesets.RulesetUpdateResponse
- rulesets.RulesetListResponse
+- rulesets.RulesetGetResponse
Methods:
-- client.Rulesets.New(ctx context.Context, params rulesets.RulesetNewParams) (rulesets.Ruleset, error)
-- client.Rulesets.Update(ctx context.Context, rulesetID string, params rulesets.RulesetUpdateParams) (rulesets.Ruleset, error)
+- client.Rulesets.New(ctx context.Context, params rulesets.RulesetNewParams) (rulesets.RulesetNewResponse, error)
+- client.Rulesets.Update(ctx context.Context, rulesetID string, params rulesets.RulesetUpdateParams) (rulesets.RulesetUpdateResponse, error)
- client.Rulesets.List(ctx context.Context, query rulesets.RulesetListParams) (pagination.SinglePage[rulesets.RulesetListResponse], error)
- client.Rulesets.Delete(ctx context.Context, rulesetID string, body rulesets.RulesetDeleteParams) error
-- client.Rulesets.Get(ctx context.Context, rulesetID string, query rulesets.RulesetGetParams) (rulesets.Ruleset, error)
+- client.Rulesets.Get(ctx context.Context, rulesetID string, query rulesets.RulesetGetParams) (rulesets.RulesetGetResponse, error)
## Phases
+Response Types:
+
+- rulesets.PhaseUpdateResponse
+- rulesets.PhaseGetResponse
+
Methods:
-- client.Rulesets.Phases.Update(ctx context.Context, rulesetPhase rulesets.PhaseUpdateParamsRulesetPhase, params rulesets.PhaseUpdateParams) (rulesets.Ruleset, error)
-- client.Rulesets.Phases.Get(ctx context.Context, rulesetPhase rulesets.PhaseGetParamsRulesetPhase, query rulesets.PhaseGetParams) (rulesets.Ruleset, error)
+- client.Rulesets.Phases.Update(ctx context.Context, rulesetPhase rulesets.PhaseUpdateParamsRulesetPhase, params rulesets.PhaseUpdateParams) (rulesets.PhaseUpdateResponse, error)
+- client.Rulesets.Phases.Get(ctx context.Context, rulesetPhase rulesets.PhaseGetParamsRulesetPhase, query rulesets.PhaseGetParams) (rulesets.PhaseGetResponse, error)
### Versions
Response Types:
- rulesets.PhaseVersionListResponse
+- rulesets.PhaseVersionGetResponse
Methods:
- client.Rulesets.Phases.Versions.List(ctx context.Context, rulesetPhase rulesets.PhaseVersionListParamsRulesetPhase, query rulesets.PhaseVersionListParams) (pagination.SinglePage[rulesets.PhaseVersionListResponse], error)
-- client.Rulesets.Phases.Versions.Get(ctx context.Context, rulesetPhase rulesets.PhaseVersionGetParamsRulesetPhase, rulesetVersion string, query rulesets.PhaseVersionGetParams) (rulesets.Ruleset, error)
+- client.Rulesets.Phases.Versions.Get(ctx context.Context, rulesetPhase rulesets.PhaseVersionGetParamsRulesetPhase, rulesetVersion string, query rulesets.PhaseVersionGetParams) (rulesets.PhaseVersionGetResponse, error)
## Rules
+Response Types:
+
+- rulesets.RuleNewResponse
+- rulesets.RuleDeleteResponse
+- rulesets.RuleEditResponse
+
Methods:
-- client.Rulesets.Rules.New(ctx context.Context, rulesetID string, params rulesets.RuleNewParams) (rulesets.Ruleset, error)
-- client.Rulesets.Rules.Delete(ctx context.Context, rulesetID string, ruleID string, body rulesets.RuleDeleteParams) (rulesets.Ruleset, error)
-- client.Rulesets.Rules.Edit(ctx context.Context, rulesetID string, ruleID string, params rulesets.RuleEditParams) (rulesets.Ruleset, error)
+- client.Rulesets.Rules.New(ctx context.Context, rulesetID string, params rulesets.RuleNewParams) (rulesets.RuleNewResponse, error)
+- client.Rulesets.Rules.Delete(ctx context.Context, rulesetID string, ruleID string, body rulesets.RuleDeleteParams) (rulesets.RuleDeleteResponse, error)
+- client.Rulesets.Rules.Edit(ctx context.Context, rulesetID string, ruleID string, params rulesets.RuleEditParams) (rulesets.RuleEditResponse, error)
## Versions
Response Types:
- rulesets.VersionListResponse
+- rulesets.VersionGetResponse
Methods:
- client.Rulesets.Versions.List(ctx context.Context, rulesetID string, query rulesets.VersionListParams) (pagination.SinglePage[rulesets.VersionListResponse], error)
- client.Rulesets.Versions.Delete(ctx context.Context, rulesetID string, rulesetVersion string, body rulesets.VersionDeleteParams) error
-- client.Rulesets.Versions.Get(ctx context.Context, rulesetID string, rulesetVersion string, query rulesets.VersionGetParams) (rulesets.Ruleset, error)
+- client.Rulesets.Versions.Get(ctx context.Context, rulesetID string, rulesetVersion string, query rulesets.VersionGetParams) (rulesets.VersionGetResponse, error)
### ByTag
+Response Types:
+
+- rulesets.VersionByTagGetResponse
+
Methods:
-- client.Rulesets.Versions.ByTag.Get(ctx context.Context, rulesetID string, rulesetVersion string, ruleTag string, query rulesets.VersionByTagGetParams) (rulesets.Ruleset, error)
+- client.Rulesets.Versions.ByTag.Get(ctx context.Context, rulesetID string, rulesetVersion string, ruleTag string, query rulesets.VersionByTagGetParams) (rulesets.VersionByTagGetResponse, error)
# URLNormalization
diff --git a/rulesets/phase.go b/rulesets/phase.go
index 278d9257b3..04154948f1 100644
--- a/rulesets/phase.go
+++ b/rulesets/phase.go
@@ -6,11 +6,14 @@ import (
"context"
"fmt"
"net/http"
+ "reflect"
+ "time"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
+ "github.com/tidwall/gjson"
)
// PhaseService contains methods and other services that help with interacting with
@@ -33,7 +36,7 @@ func NewPhaseService(opts ...option.RequestOption) (r *PhaseService) {
}
// Updates an account or zone entry point ruleset, creating a new version.
-func (r *PhaseService) Update(ctx context.Context, rulesetPhase PhaseUpdateParamsRulesetPhase, params PhaseUpdateParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *PhaseService) Update(ctx context.Context, rulesetPhase PhaseUpdateParamsRulesetPhase, params PhaseUpdateParams, opts ...option.RequestOption) (res *PhaseUpdateResponse, err error) {
opts = append(r.Options[:], opts...)
var env PhaseUpdateResponseEnvelope
var accountOrZone string
@@ -56,7 +59,7 @@ func (r *PhaseService) Update(ctx context.Context, rulesetPhase PhaseUpdateParam
// Fetches the latest version of the account or zone entry point ruleset for a
// given phase.
-func (r *PhaseService) Get(ctx context.Context, rulesetPhase PhaseGetParamsRulesetPhase, query PhaseGetParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *PhaseService) Get(ctx context.Context, rulesetPhase PhaseGetParamsRulesetPhase, query PhaseGetParams, opts ...option.RequestOption) (res *PhaseGetResponse, err error) {
opts = append(r.Options[:], opts...)
var env PhaseGetResponseEnvelope
var accountOrZone string
@@ -77,9 +80,1781 @@ func (r *PhaseService) Get(ctx context.Context, rulesetPhase PhaseGetParamsRules
return
}
+// A ruleset object.
+type PhaseUpdateResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind PhaseUpdateResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase PhaseUpdateResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []PhaseUpdateResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON phaseUpdateResponseJSON `json:"-"`
+}
+
+// phaseUpdateResponseJSON contains the JSON metadata for the struct
+// [PhaseUpdateResponse]
+type phaseUpdateResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type PhaseUpdateResponseKind string
+
+const (
+ PhaseUpdateResponseKindManaged PhaseUpdateResponseKind = "managed"
+ PhaseUpdateResponseKindCustom PhaseUpdateResponseKind = "custom"
+ PhaseUpdateResponseKindRoot PhaseUpdateResponseKind = "root"
+ PhaseUpdateResponseKindZone PhaseUpdateResponseKind = "zone"
+)
+
+func (r PhaseUpdateResponseKind) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseKindManaged, PhaseUpdateResponseKindCustom, PhaseUpdateResponseKindRoot, PhaseUpdateResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type PhaseUpdateResponsePhase string
+
+const (
+ PhaseUpdateResponsePhaseDDoSL4 PhaseUpdateResponsePhase = "ddos_l4"
+ PhaseUpdateResponsePhaseDDoSL7 PhaseUpdateResponsePhase = "ddos_l7"
+ PhaseUpdateResponsePhaseHTTPConfigSettings PhaseUpdateResponsePhase = "http_config_settings"
+ PhaseUpdateResponsePhaseHTTPCustomErrors PhaseUpdateResponsePhase = "http_custom_errors"
+ PhaseUpdateResponsePhaseHTTPLogCustomFields PhaseUpdateResponsePhase = "http_log_custom_fields"
+ PhaseUpdateResponsePhaseHTTPRatelimit PhaseUpdateResponsePhase = "http_ratelimit"
+ PhaseUpdateResponsePhaseHTTPRequestCacheSettings PhaseUpdateResponsePhase = "http_request_cache_settings"
+ PhaseUpdateResponsePhaseHTTPRequestDynamicRedirect PhaseUpdateResponsePhase = "http_request_dynamic_redirect"
+ PhaseUpdateResponsePhaseHTTPRequestFirewallCustom PhaseUpdateResponsePhase = "http_request_firewall_custom"
+ PhaseUpdateResponsePhaseHTTPRequestFirewallManaged PhaseUpdateResponsePhase = "http_request_firewall_managed"
+ PhaseUpdateResponsePhaseHTTPRequestLateTransform PhaseUpdateResponsePhase = "http_request_late_transform"
+ PhaseUpdateResponsePhaseHTTPRequestOrigin PhaseUpdateResponsePhase = "http_request_origin"
+ PhaseUpdateResponsePhaseHTTPRequestRedirect PhaseUpdateResponsePhase = "http_request_redirect"
+ PhaseUpdateResponsePhaseHTTPRequestSanitize PhaseUpdateResponsePhase = "http_request_sanitize"
+ PhaseUpdateResponsePhaseHTTPRequestSbfm PhaseUpdateResponsePhase = "http_request_sbfm"
+ PhaseUpdateResponsePhaseHTTPRequestSelectConfiguration PhaseUpdateResponsePhase = "http_request_select_configuration"
+ PhaseUpdateResponsePhaseHTTPRequestTransform PhaseUpdateResponsePhase = "http_request_transform"
+ PhaseUpdateResponsePhaseHTTPResponseCompression PhaseUpdateResponsePhase = "http_response_compression"
+ PhaseUpdateResponsePhaseHTTPResponseFirewallManaged PhaseUpdateResponsePhase = "http_response_firewall_managed"
+ PhaseUpdateResponsePhaseHTTPResponseHeadersTransform PhaseUpdateResponsePhase = "http_response_headers_transform"
+ PhaseUpdateResponsePhaseMagicTransit PhaseUpdateResponsePhase = "magic_transit"
+ PhaseUpdateResponsePhaseMagicTransitIDsManaged PhaseUpdateResponsePhase = "magic_transit_ids_managed"
+ PhaseUpdateResponsePhaseMagicTransitManaged PhaseUpdateResponsePhase = "magic_transit_managed"
+)
+
+func (r PhaseUpdateResponsePhase) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponsePhaseDDoSL4, PhaseUpdateResponsePhaseDDoSL7, PhaseUpdateResponsePhaseHTTPConfigSettings, PhaseUpdateResponsePhaseHTTPCustomErrors, PhaseUpdateResponsePhaseHTTPLogCustomFields, PhaseUpdateResponsePhaseHTTPRatelimit, PhaseUpdateResponsePhaseHTTPRequestCacheSettings, PhaseUpdateResponsePhaseHTTPRequestDynamicRedirect, PhaseUpdateResponsePhaseHTTPRequestFirewallCustom, PhaseUpdateResponsePhaseHTTPRequestFirewallManaged, PhaseUpdateResponsePhaseHTTPRequestLateTransform, PhaseUpdateResponsePhaseHTTPRequestOrigin, PhaseUpdateResponsePhaseHTTPRequestRedirect, PhaseUpdateResponsePhaseHTTPRequestSanitize, PhaseUpdateResponsePhaseHTTPRequestSbfm, PhaseUpdateResponsePhaseHTTPRequestSelectConfiguration, PhaseUpdateResponsePhaseHTTPRequestTransform, PhaseUpdateResponsePhaseHTTPResponseCompression, PhaseUpdateResponsePhaseHTTPResponseFirewallManaged, PhaseUpdateResponsePhaseHTTPResponseHeadersTransform, PhaseUpdateResponsePhaseMagicTransit, PhaseUpdateResponsePhaseMagicTransitIDsManaged, PhaseUpdateResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.PhaseUpdateResponseRulesRulesetsBlockRule],
+// [rulesets.PhaseUpdateResponseRulesRulesetsExecuteRule],
+// [rulesets.PhaseUpdateResponseRulesRulesetsLogRule] or
+// [rulesets.PhaseUpdateResponseRulesRulesetsSkipRule].
+type PhaseUpdateResponseRule interface {
+ implementsRulesetsPhaseUpdateResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*PhaseUpdateResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseUpdateResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseUpdateResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseUpdateResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseUpdateResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type PhaseUpdateResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseUpdateResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseUpdateResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseUpdateResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseUpdateResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [PhaseUpdateResponseRulesRulesetsBlockRule]
+type phaseUpdateResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseUpdateResponseRulesRulesetsBlockRule) implementsRulesetsPhaseUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseUpdateResponseRulesRulesetsBlockRuleAction string
+
+const (
+ PhaseUpdateResponseRulesRulesetsBlockRuleActionBlock PhaseUpdateResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseUpdateResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response PhaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON phaseUpdateResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsBlockRuleActionParameters]
+type phaseUpdateResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type PhaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON phaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponse]
+type phaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseUpdateResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseUpdateResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata
+// for the struct [PhaseUpdateResponseRulesRulesetsBlockRuleLogging]
+type phaseUpdateResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseUpdateResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseUpdateResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseUpdateResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseUpdateResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [PhaseUpdateResponseRulesRulesetsExecuteRule]
+type phaseUpdateResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseUpdateResponseRulesRulesetsExecuteRule) implementsRulesetsPhaseUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionExecute PhaseUpdateResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsExecuteRuleActionParameters]
+type phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON
+// contains the JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, PhaseUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseUpdateResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseUpdateResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON
+// metadata for the struct [PhaseUpdateResponseRulesRulesetsExecuteRuleLogging]
+type phaseUpdateResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseUpdateResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseUpdateResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseUpdateResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseUpdateResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [PhaseUpdateResponseRulesRulesetsLogRule]
+type phaseUpdateResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseUpdateResponseRulesRulesetsLogRule) implementsRulesetsPhaseUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseUpdateResponseRulesRulesetsLogRuleAction string
+
+const (
+ PhaseUpdateResponseRulesRulesetsLogRuleActionLog PhaseUpdateResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseUpdateResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseUpdateResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata
+// for the struct [PhaseUpdateResponseRulesRulesetsLogRuleLogging]
+type phaseUpdateResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseUpdateResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseUpdateResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseUpdateResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseUpdateResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseUpdateResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [PhaseUpdateResponseRulesRulesetsSkipRule]
+type phaseUpdateResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseUpdateResponseRulesRulesetsSkipRule) implementsRulesetsPhaseUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseUpdateResponseRulesRulesetsSkipRuleAction string
+
+const (
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionSkip PhaseUpdateResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseUpdateResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON phaseUpdateResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [PhaseUpdateResponseRulesRulesetsSkipRuleActionParameters]
+type phaseUpdateResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductBic PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductHot PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductRateLimit PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductUABlock PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductWAF PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductBic, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductHot, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductUABlock, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductWAF, PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case PhaseUpdateResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseUpdateResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseUpdateResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// phaseUpdateResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [PhaseUpdateResponseRulesRulesetsSkipRuleLogging]
+type phaseUpdateResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseUpdateResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseUpdateResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+// A ruleset object.
+type PhaseGetResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind PhaseGetResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase PhaseGetResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []PhaseGetResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON phaseGetResponseJSON `json:"-"`
+}
+
+// phaseGetResponseJSON contains the JSON metadata for the struct
+// [PhaseGetResponse]
+type phaseGetResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type PhaseGetResponseKind string
+
+const (
+ PhaseGetResponseKindManaged PhaseGetResponseKind = "managed"
+ PhaseGetResponseKindCustom PhaseGetResponseKind = "custom"
+ PhaseGetResponseKindRoot PhaseGetResponseKind = "root"
+ PhaseGetResponseKindZone PhaseGetResponseKind = "zone"
+)
+
+func (r PhaseGetResponseKind) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseKindManaged, PhaseGetResponseKindCustom, PhaseGetResponseKindRoot, PhaseGetResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type PhaseGetResponsePhase string
+
+const (
+ PhaseGetResponsePhaseDDoSL4 PhaseGetResponsePhase = "ddos_l4"
+ PhaseGetResponsePhaseDDoSL7 PhaseGetResponsePhase = "ddos_l7"
+ PhaseGetResponsePhaseHTTPConfigSettings PhaseGetResponsePhase = "http_config_settings"
+ PhaseGetResponsePhaseHTTPCustomErrors PhaseGetResponsePhase = "http_custom_errors"
+ PhaseGetResponsePhaseHTTPLogCustomFields PhaseGetResponsePhase = "http_log_custom_fields"
+ PhaseGetResponsePhaseHTTPRatelimit PhaseGetResponsePhase = "http_ratelimit"
+ PhaseGetResponsePhaseHTTPRequestCacheSettings PhaseGetResponsePhase = "http_request_cache_settings"
+ PhaseGetResponsePhaseHTTPRequestDynamicRedirect PhaseGetResponsePhase = "http_request_dynamic_redirect"
+ PhaseGetResponsePhaseHTTPRequestFirewallCustom PhaseGetResponsePhase = "http_request_firewall_custom"
+ PhaseGetResponsePhaseHTTPRequestFirewallManaged PhaseGetResponsePhase = "http_request_firewall_managed"
+ PhaseGetResponsePhaseHTTPRequestLateTransform PhaseGetResponsePhase = "http_request_late_transform"
+ PhaseGetResponsePhaseHTTPRequestOrigin PhaseGetResponsePhase = "http_request_origin"
+ PhaseGetResponsePhaseHTTPRequestRedirect PhaseGetResponsePhase = "http_request_redirect"
+ PhaseGetResponsePhaseHTTPRequestSanitize PhaseGetResponsePhase = "http_request_sanitize"
+ PhaseGetResponsePhaseHTTPRequestSbfm PhaseGetResponsePhase = "http_request_sbfm"
+ PhaseGetResponsePhaseHTTPRequestSelectConfiguration PhaseGetResponsePhase = "http_request_select_configuration"
+ PhaseGetResponsePhaseHTTPRequestTransform PhaseGetResponsePhase = "http_request_transform"
+ PhaseGetResponsePhaseHTTPResponseCompression PhaseGetResponsePhase = "http_response_compression"
+ PhaseGetResponsePhaseHTTPResponseFirewallManaged PhaseGetResponsePhase = "http_response_firewall_managed"
+ PhaseGetResponsePhaseHTTPResponseHeadersTransform PhaseGetResponsePhase = "http_response_headers_transform"
+ PhaseGetResponsePhaseMagicTransit PhaseGetResponsePhase = "magic_transit"
+ PhaseGetResponsePhaseMagicTransitIDsManaged PhaseGetResponsePhase = "magic_transit_ids_managed"
+ PhaseGetResponsePhaseMagicTransitManaged PhaseGetResponsePhase = "magic_transit_managed"
+)
+
+func (r PhaseGetResponsePhase) IsKnown() bool {
+ switch r {
+ case PhaseGetResponsePhaseDDoSL4, PhaseGetResponsePhaseDDoSL7, PhaseGetResponsePhaseHTTPConfigSettings, PhaseGetResponsePhaseHTTPCustomErrors, PhaseGetResponsePhaseHTTPLogCustomFields, PhaseGetResponsePhaseHTTPRatelimit, PhaseGetResponsePhaseHTTPRequestCacheSettings, PhaseGetResponsePhaseHTTPRequestDynamicRedirect, PhaseGetResponsePhaseHTTPRequestFirewallCustom, PhaseGetResponsePhaseHTTPRequestFirewallManaged, PhaseGetResponsePhaseHTTPRequestLateTransform, PhaseGetResponsePhaseHTTPRequestOrigin, PhaseGetResponsePhaseHTTPRequestRedirect, PhaseGetResponsePhaseHTTPRequestSanitize, PhaseGetResponsePhaseHTTPRequestSbfm, PhaseGetResponsePhaseHTTPRequestSelectConfiguration, PhaseGetResponsePhaseHTTPRequestTransform, PhaseGetResponsePhaseHTTPResponseCompression, PhaseGetResponsePhaseHTTPResponseFirewallManaged, PhaseGetResponsePhaseHTTPResponseHeadersTransform, PhaseGetResponsePhaseMagicTransit, PhaseGetResponsePhaseMagicTransitIDsManaged, PhaseGetResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.PhaseGetResponseRulesRulesetsBlockRule],
+// [rulesets.PhaseGetResponseRulesRulesetsExecuteRule],
+// [rulesets.PhaseGetResponseRulesRulesetsLogRule] or
+// [rulesets.PhaseGetResponseRulesRulesetsSkipRule].
+type PhaseGetResponseRule interface {
+ implementsRulesetsPhaseGetResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*PhaseGetResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseGetResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseGetResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseGetResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseGetResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type PhaseGetResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseGetResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseGetResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseGetResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseGetResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [PhaseGetResponseRulesRulesetsBlockRule]
+type phaseGetResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseGetResponseRulesRulesetsBlockRule) implementsRulesetsPhaseGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseGetResponseRulesRulesetsBlockRuleAction string
+
+const (
+ PhaseGetResponseRulesRulesetsBlockRuleActionBlock PhaseGetResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r PhaseGetResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseGetResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response PhaseGetResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON phaseGetResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct [PhaseGetResponseRulesRulesetsBlockRuleActionParameters]
+type phaseGetResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type PhaseGetResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON phaseGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains the
+// JSON metadata for the struct
+// [PhaseGetResponseRulesRulesetsBlockRuleActionParametersResponse]
+type phaseGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseGetResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseGetResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata for
+// the struct [PhaseGetResponseRulesRulesetsBlockRuleLogging]
+type phaseGetResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseGetResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseGetResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseGetResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseGetResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for the
+// struct [PhaseGetResponseRulesRulesetsExecuteRule]
+type phaseGetResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseGetResponseRulesRulesetsExecuteRule) implementsRulesetsPhaseGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseGetResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ PhaseGetResponseRulesRulesetsExecuteRuleActionExecute PhaseGetResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r PhaseGetResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData PhaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [PhaseGetResponseRulesRulesetsExecuteRuleActionParameters]
+type phaseGetResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON contains
+// the JSON metadata for the struct
+// [PhaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type phaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, PhaseGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseGetResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseGetResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [PhaseGetResponseRulesRulesetsExecuteRuleLogging]
+type phaseGetResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseGetResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseGetResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseGetResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseGetResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [PhaseGetResponseRulesRulesetsLogRule]
+type phaseGetResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseGetResponseRulesRulesetsLogRule) implementsRulesetsPhaseGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseGetResponseRulesRulesetsLogRuleAction string
+
+const (
+ PhaseGetResponseRulesRulesetsLogRuleActionLog PhaseGetResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r PhaseGetResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseGetResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseGetResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [PhaseGetResponseRulesRulesetsLogRuleLogging]
+type phaseGetResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseGetResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseGetResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseGetResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseGetResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseGetResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [PhaseGetResponseRulesRulesetsSkipRule]
+type phaseGetResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseGetResponseRulesRulesetsSkipRule) implementsRulesetsPhaseGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type PhaseGetResponseRulesRulesetsSkipRuleAction string
+
+const (
+ PhaseGetResponseRulesRulesetsSkipRuleActionSkip PhaseGetResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r PhaseGetResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseGetResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset PhaseGetResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON phaseGetResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct [PhaseGetResponseRulesRulesetsSkipRuleActionParameters]
+type phaseGetResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, PhaseGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductBic PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductHot PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductWAF PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r PhaseGetResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductBic, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductHot, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductWAF, PhaseGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type PhaseGetResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ PhaseGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent PhaseGetResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r PhaseGetResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case PhaseGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseGetResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseGetResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// phaseGetResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata for
+// the struct [PhaseGetResponseRulesRulesetsSkipRuleLogging]
+type phaseGetResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseGetResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseGetResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
type PhaseUpdateParams struct {
- // The unique ID of the ruleset.
- ID param.Field[string] `json:"id,required"`
// The list of rules in the ruleset.
Rules param.Field[[]PhaseUpdateParamsRule] `json:"rules,required"`
// The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -661,8 +2436,8 @@ type PhaseUpdateResponseEnvelope struct {
Errors []PhaseUpdateResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []PhaseUpdateResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result PhaseUpdateResponse `json:"result,required"`
// Whether the API call was successful.
Success PhaseUpdateResponseEnvelopeSuccess `json:"success,required"`
JSON phaseUpdateResponseEnvelopeJSON `json:"-"`
@@ -856,8 +2631,8 @@ type PhaseGetResponseEnvelope struct {
Errors []PhaseGetResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []PhaseGetResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result PhaseGetResponse `json:"result,required"`
// Whether the API call was successful.
Success PhaseGetResponseEnvelopeSuccess `json:"success,required"`
JSON phaseGetResponseEnvelopeJSON `json:"-"`
diff --git a/rulesets/phase_test.go b/rulesets/phase_test.go
index 7a32a025e3..8f0d9980b3 100644
--- a/rulesets/phase_test.go
+++ b/rulesets/phase_test.go
@@ -32,7 +32,6 @@ func TestPhaseUpdateWithOptionalParams(t *testing.T) {
context.TODO(),
rulesets.PhaseUpdateParamsRulesetPhaseHTTPRequestFirewallCustom,
rulesets.PhaseUpdateParams{
- ID: cloudflare.F("2f2feab2026849078ba485f918791bdc"),
Rules: cloudflare.F([]rulesets.PhaseUpdateParamsRule{rulesets.PhaseUpdateParamsRulesRulesetsBlockRule(rulesets.PhaseUpdateParamsRulesRulesetsBlockRule{
Action: cloudflare.F(rulesets.PhaseUpdateParamsRulesRulesetsBlockRuleActionBlock),
ActionParameters: cloudflare.F(rulesets.PhaseUpdateParamsRulesRulesetsBlockRuleActionParameters{
diff --git a/rulesets/phaseversion.go b/rulesets/phaseversion.go
index 54b50a3641..403de27cac 100644
--- a/rulesets/phaseversion.go
+++ b/rulesets/phaseversion.go
@@ -6,6 +6,7 @@ import (
"context"
"fmt"
"net/http"
+ "reflect"
"time"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
@@ -13,6 +14,7 @@ import (
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
+ "github.com/tidwall/gjson"
)
// PhaseVersionService contains methods and other services that help with
@@ -66,7 +68,7 @@ func (r *PhaseVersionService) ListAutoPaging(ctx context.Context, rulesetPhase P
}
// Fetches a specific version of an account or zone entry point ruleset.
-func (r *PhaseVersionService) Get(ctx context.Context, rulesetPhase PhaseVersionGetParamsRulesetPhase, rulesetVersion string, query PhaseVersionGetParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *PhaseVersionService) Get(ctx context.Context, rulesetPhase PhaseVersionGetParamsRulesetPhase, rulesetVersion string, query PhaseVersionGetParams, opts ...option.RequestOption) (res *PhaseVersionGetResponse, err error) {
opts = append(r.Options[:], opts...)
var env PhaseVersionGetResponseEnvelope
var accountOrZone string
@@ -183,6 +185,898 @@ func (r PhaseVersionListResponsePhase) IsKnown() bool {
return false
}
+// A ruleset object.
+type PhaseVersionGetResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind PhaseVersionGetResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase PhaseVersionGetResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []PhaseVersionGetResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON phaseVersionGetResponseJSON `json:"-"`
+}
+
+// phaseVersionGetResponseJSON contains the JSON metadata for the struct
+// [PhaseVersionGetResponse]
+type phaseVersionGetResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type PhaseVersionGetResponseKind string
+
+const (
+ PhaseVersionGetResponseKindManaged PhaseVersionGetResponseKind = "managed"
+ PhaseVersionGetResponseKindCustom PhaseVersionGetResponseKind = "custom"
+ PhaseVersionGetResponseKindRoot PhaseVersionGetResponseKind = "root"
+ PhaseVersionGetResponseKindZone PhaseVersionGetResponseKind = "zone"
+)
+
+func (r PhaseVersionGetResponseKind) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseKindManaged, PhaseVersionGetResponseKindCustom, PhaseVersionGetResponseKindRoot, PhaseVersionGetResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type PhaseVersionGetResponsePhase string
+
+const (
+ PhaseVersionGetResponsePhaseDDoSL4 PhaseVersionGetResponsePhase = "ddos_l4"
+ PhaseVersionGetResponsePhaseDDoSL7 PhaseVersionGetResponsePhase = "ddos_l7"
+ PhaseVersionGetResponsePhaseHTTPConfigSettings PhaseVersionGetResponsePhase = "http_config_settings"
+ PhaseVersionGetResponsePhaseHTTPCustomErrors PhaseVersionGetResponsePhase = "http_custom_errors"
+ PhaseVersionGetResponsePhaseHTTPLogCustomFields PhaseVersionGetResponsePhase = "http_log_custom_fields"
+ PhaseVersionGetResponsePhaseHTTPRatelimit PhaseVersionGetResponsePhase = "http_ratelimit"
+ PhaseVersionGetResponsePhaseHTTPRequestCacheSettings PhaseVersionGetResponsePhase = "http_request_cache_settings"
+ PhaseVersionGetResponsePhaseHTTPRequestDynamicRedirect PhaseVersionGetResponsePhase = "http_request_dynamic_redirect"
+ PhaseVersionGetResponsePhaseHTTPRequestFirewallCustom PhaseVersionGetResponsePhase = "http_request_firewall_custom"
+ PhaseVersionGetResponsePhaseHTTPRequestFirewallManaged PhaseVersionGetResponsePhase = "http_request_firewall_managed"
+ PhaseVersionGetResponsePhaseHTTPRequestLateTransform PhaseVersionGetResponsePhase = "http_request_late_transform"
+ PhaseVersionGetResponsePhaseHTTPRequestOrigin PhaseVersionGetResponsePhase = "http_request_origin"
+ PhaseVersionGetResponsePhaseHTTPRequestRedirect PhaseVersionGetResponsePhase = "http_request_redirect"
+ PhaseVersionGetResponsePhaseHTTPRequestSanitize PhaseVersionGetResponsePhase = "http_request_sanitize"
+ PhaseVersionGetResponsePhaseHTTPRequestSbfm PhaseVersionGetResponsePhase = "http_request_sbfm"
+ PhaseVersionGetResponsePhaseHTTPRequestSelectConfiguration PhaseVersionGetResponsePhase = "http_request_select_configuration"
+ PhaseVersionGetResponsePhaseHTTPRequestTransform PhaseVersionGetResponsePhase = "http_request_transform"
+ PhaseVersionGetResponsePhaseHTTPResponseCompression PhaseVersionGetResponsePhase = "http_response_compression"
+ PhaseVersionGetResponsePhaseHTTPResponseFirewallManaged PhaseVersionGetResponsePhase = "http_response_firewall_managed"
+ PhaseVersionGetResponsePhaseHTTPResponseHeadersTransform PhaseVersionGetResponsePhase = "http_response_headers_transform"
+ PhaseVersionGetResponsePhaseMagicTransit PhaseVersionGetResponsePhase = "magic_transit"
+ PhaseVersionGetResponsePhaseMagicTransitIDsManaged PhaseVersionGetResponsePhase = "magic_transit_ids_managed"
+ PhaseVersionGetResponsePhaseMagicTransitManaged PhaseVersionGetResponsePhase = "magic_transit_managed"
+)
+
+func (r PhaseVersionGetResponsePhase) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponsePhaseDDoSL4, PhaseVersionGetResponsePhaseDDoSL7, PhaseVersionGetResponsePhaseHTTPConfigSettings, PhaseVersionGetResponsePhaseHTTPCustomErrors, PhaseVersionGetResponsePhaseHTTPLogCustomFields, PhaseVersionGetResponsePhaseHTTPRatelimit, PhaseVersionGetResponsePhaseHTTPRequestCacheSettings, PhaseVersionGetResponsePhaseHTTPRequestDynamicRedirect, PhaseVersionGetResponsePhaseHTTPRequestFirewallCustom, PhaseVersionGetResponsePhaseHTTPRequestFirewallManaged, PhaseVersionGetResponsePhaseHTTPRequestLateTransform, PhaseVersionGetResponsePhaseHTTPRequestOrigin, PhaseVersionGetResponsePhaseHTTPRequestRedirect, PhaseVersionGetResponsePhaseHTTPRequestSanitize, PhaseVersionGetResponsePhaseHTTPRequestSbfm, PhaseVersionGetResponsePhaseHTTPRequestSelectConfiguration, PhaseVersionGetResponsePhaseHTTPRequestTransform, PhaseVersionGetResponsePhaseHTTPResponseCompression, PhaseVersionGetResponsePhaseHTTPResponseFirewallManaged, PhaseVersionGetResponsePhaseHTTPResponseHeadersTransform, PhaseVersionGetResponsePhaseMagicTransit, PhaseVersionGetResponsePhaseMagicTransitIDsManaged, PhaseVersionGetResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.PhaseVersionGetResponseRulesRulesetsBlockRule],
+// [rulesets.PhaseVersionGetResponseRulesRulesetsExecuteRule],
+// [rulesets.PhaseVersionGetResponseRulesRulesetsLogRule] or
+// [rulesets.PhaseVersionGetResponseRulesRulesetsSkipRule].
+type PhaseVersionGetResponseRule interface {
+ implementsRulesetsPhaseVersionGetResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*PhaseVersionGetResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseVersionGetResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseVersionGetResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseVersionGetResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PhaseVersionGetResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type PhaseVersionGetResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseVersionGetResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseVersionGetResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseVersionGetResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseVersionGetResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for
+// the struct [PhaseVersionGetResponseRulesRulesetsBlockRule]
+type phaseVersionGetResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseVersionGetResponseRulesRulesetsBlockRule) implementsRulesetsPhaseVersionGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type PhaseVersionGetResponseRulesRulesetsBlockRuleAction string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsBlockRuleActionBlock PhaseVersionGetResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseVersionGetResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response PhaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsBlockRuleActionParameters]
+type phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type PhaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON
+// contains the JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponse]
+type phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseVersionGetResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseVersionGetResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON
+// metadata for the struct [PhaseVersionGetResponseRulesRulesetsBlockRuleLogging]
+type phaseVersionGetResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseVersionGetResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseVersionGetResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseVersionGetResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata
+// for the struct [PhaseVersionGetResponseRulesRulesetsExecuteRule]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseVersionGetResponseRulesRulesetsExecuteRule) implementsRulesetsPhaseVersionGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionExecute PhaseVersionGetResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParameters]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON
+// contains the JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, PhaseVersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseVersionGetResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseVersionGetResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON
+// metadata for the struct [PhaseVersionGetResponseRulesRulesetsExecuteRuleLogging]
+type phaseVersionGetResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseVersionGetResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseVersionGetResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseVersionGetResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseVersionGetResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsLogRuleJSON contains the JSON metadata for
+// the struct [PhaseVersionGetResponseRulesRulesetsLogRule]
+type phaseVersionGetResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseVersionGetResponseRulesRulesetsLogRule) implementsRulesetsPhaseVersionGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type PhaseVersionGetResponseRulesRulesetsLogRuleAction string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsLogRuleActionLog PhaseVersionGetResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseVersionGetResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseVersionGetResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsLogRuleLoggingJSON contains the JSON
+// metadata for the struct [PhaseVersionGetResponseRulesRulesetsLogRuleLogging]
+type phaseVersionGetResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type PhaseVersionGetResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action PhaseVersionGetResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters PhaseVersionGetResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging PhaseVersionGetResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON phaseVersionGetResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for
+// the struct [PhaseVersionGetResponseRulesRulesetsSkipRule]
+type phaseVersionGetResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PhaseVersionGetResponseRulesRulesetsSkipRule) implementsRulesetsPhaseVersionGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleAction string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionSkip PhaseVersionGetResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON phaseVersionGetResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsSkipRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [PhaseVersionGetResponseRulesRulesetsSkipRuleActionParameters]
+type phaseVersionGetResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductBic PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductHot PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductWAF PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductBic, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductHot, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductWAF, PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case PhaseVersionGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type PhaseVersionGetResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON phaseVersionGetResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// phaseVersionGetResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON
+// metadata for the struct [PhaseVersionGetResponseRulesRulesetsSkipRuleLogging]
+type phaseVersionGetResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PhaseVersionGetResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r phaseVersionGetResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
type PhaseVersionListParams struct {
// The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
AccountID param.Field[string] `path:"account_id"`
@@ -277,8 +1171,8 @@ type PhaseVersionGetResponseEnvelope struct {
Errors []PhaseVersionGetResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []PhaseVersionGetResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result PhaseVersionGetResponse `json:"result,required"`
// Whether the API call was successful.
Success PhaseVersionGetResponseEnvelopeSuccess `json:"success,required"`
JSON phaseVersionGetResponseEnvelopeJSON `json:"-"`
diff --git a/rulesets/rule.go b/rulesets/rule.go
index e2cee9c041..09ea6535f8 100644
--- a/rulesets/rule.go
+++ b/rulesets/rule.go
@@ -6,11 +6,14 @@ import (
"context"
"fmt"
"net/http"
+ "reflect"
+ "time"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
+ "github.com/tidwall/gjson"
)
// RuleService contains methods and other services that help with interacting with
@@ -32,7 +35,7 @@ func NewRuleService(opts ...option.RequestOption) (r *RuleService) {
// Adds a new rule to an account or zone ruleset. The rule will be added to the end
// of the existing list of rules in the ruleset by default.
-func (r *RuleService) New(ctx context.Context, rulesetID string, params RuleNewParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RuleService) New(ctx context.Context, rulesetID string, params RuleNewParams, opts ...option.RequestOption) (res *RuleNewResponse, err error) {
opts = append(r.Options[:], opts...)
var env RuleNewResponseEnvelope
var accountOrZone string
@@ -54,7 +57,7 @@ func (r *RuleService) New(ctx context.Context, rulesetID string, params RuleNewP
}
// Deletes an existing rule from an account or zone ruleset.
-func (r *RuleService) Delete(ctx context.Context, rulesetID string, ruleID string, body RuleDeleteParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RuleService) Delete(ctx context.Context, rulesetID string, ruleID string, body RuleDeleteParams, opts ...option.RequestOption) (res *RuleDeleteResponse, err error) {
opts = append(r.Options[:], opts...)
var env RuleDeleteResponseEnvelope
var accountOrZone string
@@ -76,7 +79,7 @@ func (r *RuleService) Delete(ctx context.Context, rulesetID string, ruleID strin
}
// Updates an existing rule in an account or zone ruleset.
-func (r *RuleService) Edit(ctx context.Context, rulesetID string, ruleID string, params RuleEditParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RuleService) Edit(ctx context.Context, rulesetID string, ruleID string, params RuleEditParams, opts ...option.RequestOption) (res *RuleEditResponse, err error) {
opts = append(r.Options[:], opts...)
var env RuleEditResponseEnvelope
var accountOrZone string
@@ -97,6 +100,2665 @@ func (r *RuleService) Edit(ctx context.Context, rulesetID string, ruleID string,
return
}
+// A ruleset object.
+type RuleNewResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind RuleNewResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RuleNewResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []RuleNewResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON ruleNewResponseJSON `json:"-"`
+}
+
+// ruleNewResponseJSON contains the JSON metadata for the struct [RuleNewResponse]
+type ruleNewResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RuleNewResponseKind string
+
+const (
+ RuleNewResponseKindManaged RuleNewResponseKind = "managed"
+ RuleNewResponseKindCustom RuleNewResponseKind = "custom"
+ RuleNewResponseKindRoot RuleNewResponseKind = "root"
+ RuleNewResponseKindZone RuleNewResponseKind = "zone"
+)
+
+func (r RuleNewResponseKind) IsKnown() bool {
+ switch r {
+ case RuleNewResponseKindManaged, RuleNewResponseKindCustom, RuleNewResponseKindRoot, RuleNewResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RuleNewResponsePhase string
+
+const (
+ RuleNewResponsePhaseDDoSL4 RuleNewResponsePhase = "ddos_l4"
+ RuleNewResponsePhaseDDoSL7 RuleNewResponsePhase = "ddos_l7"
+ RuleNewResponsePhaseHTTPConfigSettings RuleNewResponsePhase = "http_config_settings"
+ RuleNewResponsePhaseHTTPCustomErrors RuleNewResponsePhase = "http_custom_errors"
+ RuleNewResponsePhaseHTTPLogCustomFields RuleNewResponsePhase = "http_log_custom_fields"
+ RuleNewResponsePhaseHTTPRatelimit RuleNewResponsePhase = "http_ratelimit"
+ RuleNewResponsePhaseHTTPRequestCacheSettings RuleNewResponsePhase = "http_request_cache_settings"
+ RuleNewResponsePhaseHTTPRequestDynamicRedirect RuleNewResponsePhase = "http_request_dynamic_redirect"
+ RuleNewResponsePhaseHTTPRequestFirewallCustom RuleNewResponsePhase = "http_request_firewall_custom"
+ RuleNewResponsePhaseHTTPRequestFirewallManaged RuleNewResponsePhase = "http_request_firewall_managed"
+ RuleNewResponsePhaseHTTPRequestLateTransform RuleNewResponsePhase = "http_request_late_transform"
+ RuleNewResponsePhaseHTTPRequestOrigin RuleNewResponsePhase = "http_request_origin"
+ RuleNewResponsePhaseHTTPRequestRedirect RuleNewResponsePhase = "http_request_redirect"
+ RuleNewResponsePhaseHTTPRequestSanitize RuleNewResponsePhase = "http_request_sanitize"
+ RuleNewResponsePhaseHTTPRequestSbfm RuleNewResponsePhase = "http_request_sbfm"
+ RuleNewResponsePhaseHTTPRequestSelectConfiguration RuleNewResponsePhase = "http_request_select_configuration"
+ RuleNewResponsePhaseHTTPRequestTransform RuleNewResponsePhase = "http_request_transform"
+ RuleNewResponsePhaseHTTPResponseCompression RuleNewResponsePhase = "http_response_compression"
+ RuleNewResponsePhaseHTTPResponseFirewallManaged RuleNewResponsePhase = "http_response_firewall_managed"
+ RuleNewResponsePhaseHTTPResponseHeadersTransform RuleNewResponsePhase = "http_response_headers_transform"
+ RuleNewResponsePhaseMagicTransit RuleNewResponsePhase = "magic_transit"
+ RuleNewResponsePhaseMagicTransitIDsManaged RuleNewResponsePhase = "magic_transit_ids_managed"
+ RuleNewResponsePhaseMagicTransitManaged RuleNewResponsePhase = "magic_transit_managed"
+)
+
+func (r RuleNewResponsePhase) IsKnown() bool {
+ switch r {
+ case RuleNewResponsePhaseDDoSL4, RuleNewResponsePhaseDDoSL7, RuleNewResponsePhaseHTTPConfigSettings, RuleNewResponsePhaseHTTPCustomErrors, RuleNewResponsePhaseHTTPLogCustomFields, RuleNewResponsePhaseHTTPRatelimit, RuleNewResponsePhaseHTTPRequestCacheSettings, RuleNewResponsePhaseHTTPRequestDynamicRedirect, RuleNewResponsePhaseHTTPRequestFirewallCustom, RuleNewResponsePhaseHTTPRequestFirewallManaged, RuleNewResponsePhaseHTTPRequestLateTransform, RuleNewResponsePhaseHTTPRequestOrigin, RuleNewResponsePhaseHTTPRequestRedirect, RuleNewResponsePhaseHTTPRequestSanitize, RuleNewResponsePhaseHTTPRequestSbfm, RuleNewResponsePhaseHTTPRequestSelectConfiguration, RuleNewResponsePhaseHTTPRequestTransform, RuleNewResponsePhaseHTTPResponseCompression, RuleNewResponsePhaseHTTPResponseFirewallManaged, RuleNewResponsePhaseHTTPResponseHeadersTransform, RuleNewResponsePhaseMagicTransit, RuleNewResponsePhaseMagicTransitIDsManaged, RuleNewResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.RuleNewResponseRulesRulesetsBlockRule],
+// [rulesets.RuleNewResponseRulesRulesetsExecuteRule],
+// [rulesets.RuleNewResponseRulesRulesetsLogRule] or
+// [rulesets.RuleNewResponseRulesRulesetsSkipRule].
+type RuleNewResponseRule interface {
+ implementsRulesetsRuleNewResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*RuleNewResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleNewResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleNewResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleNewResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleNewResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type RuleNewResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleNewResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleNewResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleNewResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleNewResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [RuleNewResponseRulesRulesetsBlockRule]
+type ruleNewResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleNewResponseRulesRulesetsBlockRule) implementsRulesetsRuleNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleNewResponseRulesRulesetsBlockRuleAction string
+
+const (
+ RuleNewResponseRulesRulesetsBlockRuleActionBlock RuleNewResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r RuleNewResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleNewResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response RuleNewResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON ruleNewResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct [RuleNewResponseRulesRulesetsBlockRuleActionParameters]
+type ruleNewResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type RuleNewResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON ruleNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains the
+// JSON metadata for the struct
+// [RuleNewResponseRulesRulesetsBlockRuleActionParametersResponse]
+type ruleNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type RuleNewResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleNewResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleNewResponseRulesRulesetsBlockRuleLogging]
+type ruleNewResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleNewResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleNewResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleNewResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleNewResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for the
+// struct [RuleNewResponseRulesRulesetsExecuteRule]
+type ruleNewResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleNewResponseRulesRulesetsExecuteRule) implementsRulesetsRuleNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleNewResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ RuleNewResponseRulesRulesetsExecuteRuleActionExecute RuleNewResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r RuleNewResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData RuleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RuleNewResponseRulesRulesetsExecuteRuleActionParameters]
+type ruleNewResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON contains
+// the JSON metadata for the struct
+// [RuleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type ruleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RuleNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleNewResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleNewResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [RuleNewResponseRulesRulesetsExecuteRuleLogging]
+type ruleNewResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleNewResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleNewResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleNewResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleNewResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RuleNewResponseRulesRulesetsLogRule]
+type ruleNewResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleNewResponseRulesRulesetsLogRule) implementsRulesetsRuleNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleNewResponseRulesRulesetsLogRuleAction string
+
+const (
+ RuleNewResponseRulesRulesetsLogRuleActionLog RuleNewResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r RuleNewResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleNewResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleNewResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleNewResponseRulesRulesetsLogRuleLogging]
+type ruleNewResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleNewResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleNewResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleNewResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleNewResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleNewResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [RuleNewResponseRulesRulesetsSkipRule]
+type ruleNewResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleNewResponseRulesRulesetsSkipRule) implementsRulesetsRuleNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleNewResponseRulesRulesetsSkipRuleAction string
+
+const (
+ RuleNewResponseRulesRulesetsSkipRuleActionSkip RuleNewResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r RuleNewResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleNewResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset RuleNewResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON ruleNewResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct [RuleNewResponseRulesRulesetsSkipRuleActionParameters]
+type ruleNewResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r RuleNewResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RuleNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductBic RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductHot RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductUABlock RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductWAF RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r RuleNewResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsSkipRuleActionParametersProductBic, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductHot, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductWAF, RuleNewResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type RuleNewResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ RuleNewResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RuleNewResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r RuleNewResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case RuleNewResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleNewResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleNewResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// ruleNewResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleNewResponseRulesRulesetsSkipRuleLogging]
+type ruleNewResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleNewResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleNewResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+// A ruleset object.
+type RuleDeleteResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind RuleDeleteResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RuleDeleteResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []RuleDeleteResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON ruleDeleteResponseJSON `json:"-"`
+}
+
+// ruleDeleteResponseJSON contains the JSON metadata for the struct
+// [RuleDeleteResponse]
+type ruleDeleteResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RuleDeleteResponseKind string
+
+const (
+ RuleDeleteResponseKindManaged RuleDeleteResponseKind = "managed"
+ RuleDeleteResponseKindCustom RuleDeleteResponseKind = "custom"
+ RuleDeleteResponseKindRoot RuleDeleteResponseKind = "root"
+ RuleDeleteResponseKindZone RuleDeleteResponseKind = "zone"
+)
+
+func (r RuleDeleteResponseKind) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseKindManaged, RuleDeleteResponseKindCustom, RuleDeleteResponseKindRoot, RuleDeleteResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RuleDeleteResponsePhase string
+
+const (
+ RuleDeleteResponsePhaseDDoSL4 RuleDeleteResponsePhase = "ddos_l4"
+ RuleDeleteResponsePhaseDDoSL7 RuleDeleteResponsePhase = "ddos_l7"
+ RuleDeleteResponsePhaseHTTPConfigSettings RuleDeleteResponsePhase = "http_config_settings"
+ RuleDeleteResponsePhaseHTTPCustomErrors RuleDeleteResponsePhase = "http_custom_errors"
+ RuleDeleteResponsePhaseHTTPLogCustomFields RuleDeleteResponsePhase = "http_log_custom_fields"
+ RuleDeleteResponsePhaseHTTPRatelimit RuleDeleteResponsePhase = "http_ratelimit"
+ RuleDeleteResponsePhaseHTTPRequestCacheSettings RuleDeleteResponsePhase = "http_request_cache_settings"
+ RuleDeleteResponsePhaseHTTPRequestDynamicRedirect RuleDeleteResponsePhase = "http_request_dynamic_redirect"
+ RuleDeleteResponsePhaseHTTPRequestFirewallCustom RuleDeleteResponsePhase = "http_request_firewall_custom"
+ RuleDeleteResponsePhaseHTTPRequestFirewallManaged RuleDeleteResponsePhase = "http_request_firewall_managed"
+ RuleDeleteResponsePhaseHTTPRequestLateTransform RuleDeleteResponsePhase = "http_request_late_transform"
+ RuleDeleteResponsePhaseHTTPRequestOrigin RuleDeleteResponsePhase = "http_request_origin"
+ RuleDeleteResponsePhaseHTTPRequestRedirect RuleDeleteResponsePhase = "http_request_redirect"
+ RuleDeleteResponsePhaseHTTPRequestSanitize RuleDeleteResponsePhase = "http_request_sanitize"
+ RuleDeleteResponsePhaseHTTPRequestSbfm RuleDeleteResponsePhase = "http_request_sbfm"
+ RuleDeleteResponsePhaseHTTPRequestSelectConfiguration RuleDeleteResponsePhase = "http_request_select_configuration"
+ RuleDeleteResponsePhaseHTTPRequestTransform RuleDeleteResponsePhase = "http_request_transform"
+ RuleDeleteResponsePhaseHTTPResponseCompression RuleDeleteResponsePhase = "http_response_compression"
+ RuleDeleteResponsePhaseHTTPResponseFirewallManaged RuleDeleteResponsePhase = "http_response_firewall_managed"
+ RuleDeleteResponsePhaseHTTPResponseHeadersTransform RuleDeleteResponsePhase = "http_response_headers_transform"
+ RuleDeleteResponsePhaseMagicTransit RuleDeleteResponsePhase = "magic_transit"
+ RuleDeleteResponsePhaseMagicTransitIDsManaged RuleDeleteResponsePhase = "magic_transit_ids_managed"
+ RuleDeleteResponsePhaseMagicTransitManaged RuleDeleteResponsePhase = "magic_transit_managed"
+)
+
+func (r RuleDeleteResponsePhase) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponsePhaseDDoSL4, RuleDeleteResponsePhaseDDoSL7, RuleDeleteResponsePhaseHTTPConfigSettings, RuleDeleteResponsePhaseHTTPCustomErrors, RuleDeleteResponsePhaseHTTPLogCustomFields, RuleDeleteResponsePhaseHTTPRatelimit, RuleDeleteResponsePhaseHTTPRequestCacheSettings, RuleDeleteResponsePhaseHTTPRequestDynamicRedirect, RuleDeleteResponsePhaseHTTPRequestFirewallCustom, RuleDeleteResponsePhaseHTTPRequestFirewallManaged, RuleDeleteResponsePhaseHTTPRequestLateTransform, RuleDeleteResponsePhaseHTTPRequestOrigin, RuleDeleteResponsePhaseHTTPRequestRedirect, RuleDeleteResponsePhaseHTTPRequestSanitize, RuleDeleteResponsePhaseHTTPRequestSbfm, RuleDeleteResponsePhaseHTTPRequestSelectConfiguration, RuleDeleteResponsePhaseHTTPRequestTransform, RuleDeleteResponsePhaseHTTPResponseCompression, RuleDeleteResponsePhaseHTTPResponseFirewallManaged, RuleDeleteResponsePhaseHTTPResponseHeadersTransform, RuleDeleteResponsePhaseMagicTransit, RuleDeleteResponsePhaseMagicTransitIDsManaged, RuleDeleteResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.RuleDeleteResponseRulesRulesetsBlockRule],
+// [rulesets.RuleDeleteResponseRulesRulesetsExecuteRule],
+// [rulesets.RuleDeleteResponseRulesRulesetsLogRule] or
+// [rulesets.RuleDeleteResponseRulesRulesetsSkipRule].
+type RuleDeleteResponseRule interface {
+ implementsRulesetsRuleDeleteResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*RuleDeleteResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleDeleteResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleDeleteResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleDeleteResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleDeleteResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type RuleDeleteResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleDeleteResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleDeleteResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleDeleteResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleDeleteResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [RuleDeleteResponseRulesRulesetsBlockRule]
+type ruleDeleteResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleDeleteResponseRulesRulesetsBlockRule) implementsRulesetsRuleDeleteResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleDeleteResponseRulesRulesetsBlockRuleAction string
+
+const (
+ RuleDeleteResponseRulesRulesetsBlockRuleActionBlock RuleDeleteResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r RuleDeleteResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleDeleteResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response RuleDeleteResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON ruleDeleteResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RuleDeleteResponseRulesRulesetsBlockRuleActionParameters]
+type ruleDeleteResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type RuleDeleteResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON ruleDeleteResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [RuleDeleteResponseRulesRulesetsBlockRuleActionParametersResponse]
+type ruleDeleteResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type RuleDeleteResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleDeleteResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata
+// for the struct [RuleDeleteResponseRulesRulesetsBlockRuleLogging]
+type ruleDeleteResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleDeleteResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleDeleteResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleDeleteResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleDeleteResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [RuleDeleteResponseRulesRulesetsExecuteRule]
+type ruleDeleteResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleDeleteResponseRulesRulesetsExecuteRule) implementsRulesetsRuleDeleteResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleDeleteResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionExecute RuleDeleteResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r RuleDeleteResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RuleDeleteResponseRulesRulesetsExecuteRuleActionParameters]
+type ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RuleDeleteResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleDeleteResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleDeleteResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [RuleDeleteResponseRulesRulesetsExecuteRuleLogging]
+type ruleDeleteResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleDeleteResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleDeleteResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleDeleteResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleDeleteResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RuleDeleteResponseRulesRulesetsLogRule]
+type ruleDeleteResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleDeleteResponseRulesRulesetsLogRule) implementsRulesetsRuleDeleteResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleDeleteResponseRulesRulesetsLogRuleAction string
+
+const (
+ RuleDeleteResponseRulesRulesetsLogRuleActionLog RuleDeleteResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r RuleDeleteResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleDeleteResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleDeleteResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleDeleteResponseRulesRulesetsLogRuleLogging]
+type ruleDeleteResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleDeleteResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleDeleteResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleDeleteResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleDeleteResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleDeleteResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [RuleDeleteResponseRulesRulesetsSkipRule]
+type ruleDeleteResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleDeleteResponseRulesRulesetsSkipRule) implementsRulesetsRuleDeleteResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleDeleteResponseRulesRulesetsSkipRuleAction string
+
+const (
+ RuleDeleteResponseRulesRulesetsSkipRuleActionSkip RuleDeleteResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r RuleDeleteResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleDeleteResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON ruleDeleteResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RuleDeleteResponseRulesRulesetsSkipRuleActionParameters]
+type ruleDeleteResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductBic RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductHot RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductUABlock RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductWAF RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductBic, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductHot, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductWAF, RuleDeleteResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case RuleDeleteResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleDeleteResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleDeleteResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// ruleDeleteResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [RuleDeleteResponseRulesRulesetsSkipRuleLogging]
+type ruleDeleteResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleDeleteResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleDeleteResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+// A ruleset object.
+type RuleEditResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind RuleEditResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RuleEditResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []RuleEditResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON ruleEditResponseJSON `json:"-"`
+}
+
+// ruleEditResponseJSON contains the JSON metadata for the struct
+// [RuleEditResponse]
+type ruleEditResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RuleEditResponseKind string
+
+const (
+ RuleEditResponseKindManaged RuleEditResponseKind = "managed"
+ RuleEditResponseKindCustom RuleEditResponseKind = "custom"
+ RuleEditResponseKindRoot RuleEditResponseKind = "root"
+ RuleEditResponseKindZone RuleEditResponseKind = "zone"
+)
+
+func (r RuleEditResponseKind) IsKnown() bool {
+ switch r {
+ case RuleEditResponseKindManaged, RuleEditResponseKindCustom, RuleEditResponseKindRoot, RuleEditResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RuleEditResponsePhase string
+
+const (
+ RuleEditResponsePhaseDDoSL4 RuleEditResponsePhase = "ddos_l4"
+ RuleEditResponsePhaseDDoSL7 RuleEditResponsePhase = "ddos_l7"
+ RuleEditResponsePhaseHTTPConfigSettings RuleEditResponsePhase = "http_config_settings"
+ RuleEditResponsePhaseHTTPCustomErrors RuleEditResponsePhase = "http_custom_errors"
+ RuleEditResponsePhaseHTTPLogCustomFields RuleEditResponsePhase = "http_log_custom_fields"
+ RuleEditResponsePhaseHTTPRatelimit RuleEditResponsePhase = "http_ratelimit"
+ RuleEditResponsePhaseHTTPRequestCacheSettings RuleEditResponsePhase = "http_request_cache_settings"
+ RuleEditResponsePhaseHTTPRequestDynamicRedirect RuleEditResponsePhase = "http_request_dynamic_redirect"
+ RuleEditResponsePhaseHTTPRequestFirewallCustom RuleEditResponsePhase = "http_request_firewall_custom"
+ RuleEditResponsePhaseHTTPRequestFirewallManaged RuleEditResponsePhase = "http_request_firewall_managed"
+ RuleEditResponsePhaseHTTPRequestLateTransform RuleEditResponsePhase = "http_request_late_transform"
+ RuleEditResponsePhaseHTTPRequestOrigin RuleEditResponsePhase = "http_request_origin"
+ RuleEditResponsePhaseHTTPRequestRedirect RuleEditResponsePhase = "http_request_redirect"
+ RuleEditResponsePhaseHTTPRequestSanitize RuleEditResponsePhase = "http_request_sanitize"
+ RuleEditResponsePhaseHTTPRequestSbfm RuleEditResponsePhase = "http_request_sbfm"
+ RuleEditResponsePhaseHTTPRequestSelectConfiguration RuleEditResponsePhase = "http_request_select_configuration"
+ RuleEditResponsePhaseHTTPRequestTransform RuleEditResponsePhase = "http_request_transform"
+ RuleEditResponsePhaseHTTPResponseCompression RuleEditResponsePhase = "http_response_compression"
+ RuleEditResponsePhaseHTTPResponseFirewallManaged RuleEditResponsePhase = "http_response_firewall_managed"
+ RuleEditResponsePhaseHTTPResponseHeadersTransform RuleEditResponsePhase = "http_response_headers_transform"
+ RuleEditResponsePhaseMagicTransit RuleEditResponsePhase = "magic_transit"
+ RuleEditResponsePhaseMagicTransitIDsManaged RuleEditResponsePhase = "magic_transit_ids_managed"
+ RuleEditResponsePhaseMagicTransitManaged RuleEditResponsePhase = "magic_transit_managed"
+)
+
+func (r RuleEditResponsePhase) IsKnown() bool {
+ switch r {
+ case RuleEditResponsePhaseDDoSL4, RuleEditResponsePhaseDDoSL7, RuleEditResponsePhaseHTTPConfigSettings, RuleEditResponsePhaseHTTPCustomErrors, RuleEditResponsePhaseHTTPLogCustomFields, RuleEditResponsePhaseHTTPRatelimit, RuleEditResponsePhaseHTTPRequestCacheSettings, RuleEditResponsePhaseHTTPRequestDynamicRedirect, RuleEditResponsePhaseHTTPRequestFirewallCustom, RuleEditResponsePhaseHTTPRequestFirewallManaged, RuleEditResponsePhaseHTTPRequestLateTransform, RuleEditResponsePhaseHTTPRequestOrigin, RuleEditResponsePhaseHTTPRequestRedirect, RuleEditResponsePhaseHTTPRequestSanitize, RuleEditResponsePhaseHTTPRequestSbfm, RuleEditResponsePhaseHTTPRequestSelectConfiguration, RuleEditResponsePhaseHTTPRequestTransform, RuleEditResponsePhaseHTTPResponseCompression, RuleEditResponsePhaseHTTPResponseFirewallManaged, RuleEditResponsePhaseHTTPResponseHeadersTransform, RuleEditResponsePhaseMagicTransit, RuleEditResponsePhaseMagicTransitIDsManaged, RuleEditResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.RuleEditResponseRulesRulesetsBlockRule],
+// [rulesets.RuleEditResponseRulesRulesetsExecuteRule],
+// [rulesets.RuleEditResponseRulesRulesetsLogRule] or
+// [rulesets.RuleEditResponseRulesRulesetsSkipRule].
+type RuleEditResponseRule interface {
+ implementsRulesetsRuleEditResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*RuleEditResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleEditResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleEditResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleEditResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RuleEditResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type RuleEditResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleEditResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleEditResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleEditResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleEditResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [RuleEditResponseRulesRulesetsBlockRule]
+type ruleEditResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleEditResponseRulesRulesetsBlockRule) implementsRulesetsRuleEditResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleEditResponseRulesRulesetsBlockRuleAction string
+
+const (
+ RuleEditResponseRulesRulesetsBlockRuleActionBlock RuleEditResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r RuleEditResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleEditResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response RuleEditResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON ruleEditResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct [RuleEditResponseRulesRulesetsBlockRuleActionParameters]
+type ruleEditResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type RuleEditResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON ruleEditResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains the
+// JSON metadata for the struct
+// [RuleEditResponseRulesRulesetsBlockRuleActionParametersResponse]
+type ruleEditResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type RuleEditResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleEditResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleEditResponseRulesRulesetsBlockRuleLogging]
+type ruleEditResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleEditResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleEditResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleEditResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleEditResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for the
+// struct [RuleEditResponseRulesRulesetsExecuteRule]
+type ruleEditResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleEditResponseRulesRulesetsExecuteRule) implementsRulesetsRuleEditResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleEditResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ RuleEditResponseRulesRulesetsExecuteRuleActionExecute RuleEditResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r RuleEditResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData RuleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RuleEditResponseRulesRulesetsExecuteRuleActionParameters]
+type ruleEditResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON contains
+// the JSON metadata for the struct
+// [RuleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type ruleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RuleEditResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleEditResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleEditResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [RuleEditResponseRulesRulesetsExecuteRuleLogging]
+type ruleEditResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleEditResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleEditResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleEditResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleEditResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RuleEditResponseRulesRulesetsLogRule]
+type ruleEditResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleEditResponseRulesRulesetsLogRule) implementsRulesetsRuleEditResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleEditResponseRulesRulesetsLogRuleAction string
+
+const (
+ RuleEditResponseRulesRulesetsLogRuleActionLog RuleEditResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r RuleEditResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleEditResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleEditResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleEditResponseRulesRulesetsLogRuleLogging]
+type ruleEditResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RuleEditResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RuleEditResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RuleEditResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RuleEditResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON ruleEditResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [RuleEditResponseRulesRulesetsSkipRule]
+type ruleEditResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RuleEditResponseRulesRulesetsSkipRule) implementsRulesetsRuleEditResponseRule() {}
+
+// The action to perform when the rule matches.
+type RuleEditResponseRulesRulesetsSkipRuleAction string
+
+const (
+ RuleEditResponseRulesRulesetsSkipRuleActionSkip RuleEditResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r RuleEditResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RuleEditResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset RuleEditResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON ruleEditResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct [RuleEditResponseRulesRulesetsSkipRuleActionParameters]
+type ruleEditResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r RuleEditResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RuleEditResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductBic RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductHot RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductUABlock RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductWAF RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r RuleEditResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsSkipRuleActionParametersProductBic, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductHot, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductWAF, RuleEditResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type RuleEditResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ RuleEditResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RuleEditResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r RuleEditResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case RuleEditResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RuleEditResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON ruleEditResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// ruleEditResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata for
+// the struct [RuleEditResponseRulesRulesetsSkipRuleLogging]
+type ruleEditResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RuleEditResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r ruleEditResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
// This interface is a union satisfied by one of the following:
// [RuleNewParamsRulesetsBlockRule], [RuleNewParamsRulesetsExecuteRule],
// [RuleNewParamsRulesetsLogRule], [RuleNewParamsRulesetsSkipRule].
@@ -625,8 +3287,8 @@ type RuleNewResponseEnvelope struct {
Errors []RuleNewResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RuleNewResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RuleNewResponse `json:"result,required"`
// Whether the API call was successful.
Success RuleNewResponseEnvelopeSuccess `json:"success,required"`
JSON ruleNewResponseEnvelopeJSON `json:"-"`
@@ -783,8 +3445,8 @@ type RuleDeleteResponseEnvelope struct {
Errors []RuleDeleteResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RuleDeleteResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RuleDeleteResponse `json:"result,required"`
// Whether the API call was successful.
Success RuleDeleteResponseEnvelopeSuccess `json:"success,required"`
JSON ruleDeleteResponseEnvelopeJSON `json:"-"`
@@ -1456,8 +4118,8 @@ type RuleEditResponseEnvelope struct {
Errors []RuleEditResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RuleEditResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RuleEditResponse `json:"result,required"`
// Whether the API call was successful.
Success RuleEditResponseEnvelopeSuccess `json:"success,required"`
JSON ruleEditResponseEnvelopeJSON `json:"-"`
diff --git a/rulesets/ruleset.go b/rulesets/ruleset.go
index a2f0938a51..e70fe4e5e1 100644
--- a/rulesets/ruleset.go
+++ b/rulesets/ruleset.go
@@ -41,7 +41,7 @@ func NewRulesetService(opts ...option.RequestOption) (r *RulesetService) {
}
// Creates a ruleset.
-func (r *RulesetService) New(ctx context.Context, params RulesetNewParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RulesetService) New(ctx context.Context, params RulesetNewParams, opts ...option.RequestOption) (res *RulesetNewResponse, err error) {
opts = append(r.Options[:], opts...)
var env RulesetNewResponseEnvelope
var accountOrZone string
@@ -63,7 +63,7 @@ func (r *RulesetService) New(ctx context.Context, params RulesetNewParams, opts
}
// Updates an account or zone ruleset, creating a new version.
-func (r *RulesetService) Update(ctx context.Context, rulesetID string, params RulesetUpdateParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RulesetService) Update(ctx context.Context, rulesetID string, params RulesetUpdateParams, opts ...option.RequestOption) (res *RulesetUpdateResponse, err error) {
opts = append(r.Options[:], opts...)
var env RulesetUpdateResponseEnvelope
var accountOrZone string
@@ -135,7 +135,7 @@ func (r *RulesetService) Delete(ctx context.Context, rulesetID string, body Rule
}
// Fetches the latest version of an account or zone ruleset.
-func (r *RulesetService) Get(ctx context.Context, rulesetID string, query RulesetGetParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *RulesetService) Get(ctx context.Context, rulesetID string, query RulesetGetParams, opts ...option.RequestOption) (res *RulesetGetResponse, err error) {
opts = append(r.Options[:], opts...)
var env RulesetGetResponseEnvelope
var accountOrZone string
@@ -157,28 +157,29 @@ func (r *RulesetService) Get(ctx context.Context, rulesetID string, query Rulese
}
// A ruleset object.
-type Ruleset struct {
+type RulesetNewResponse struct {
// The unique ID of the ruleset.
ID string `json:"id,required"`
// The kind of the ruleset.
- Kind RulesetKind `json:"kind,required"`
+ Kind RulesetNewResponseKind `json:"kind,required"`
// The timestamp of when the ruleset was last modified.
LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
// The human-readable name of the ruleset.
Name string `json:"name,required"`
// The phase of the ruleset.
- Phase RulesetPhase `json:"phase,required"`
+ Phase RulesetNewResponsePhase `json:"phase,required"`
// The list of rules in the ruleset.
- Rules []RulesetRule `json:"rules,required"`
+ Rules []RulesetNewResponseRule `json:"rules,required"`
// The version of the ruleset.
Version string `json:"version,required"`
// An informative description of the ruleset.
- Description string `json:"description"`
- JSON rulesetJSON `json:"-"`
+ Description string `json:"description"`
+ JSON rulesetNewResponseJSON `json:"-"`
}
-// rulesetJSON contains the JSON metadata for the struct [Ruleset]
-type rulesetJSON struct {
+// rulesetNewResponseJSON contains the JSON metadata for the struct
+// [RulesetNewResponse]
+type rulesetNewResponseJSON struct {
ID apijson.Field
Kind apijson.Field
LastUpdated apijson.Field
@@ -191,105 +192,105 @@ type rulesetJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *Ruleset) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetNewResponse) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetJSON) RawJSON() string {
+func (r rulesetNewResponseJSON) RawJSON() string {
return r.raw
}
// The kind of the ruleset.
-type RulesetKind string
+type RulesetNewResponseKind string
const (
- RulesetKindManaged RulesetKind = "managed"
- RulesetKindCustom RulesetKind = "custom"
- RulesetKindRoot RulesetKind = "root"
- RulesetKindZone RulesetKind = "zone"
+ RulesetNewResponseKindManaged RulesetNewResponseKind = "managed"
+ RulesetNewResponseKindCustom RulesetNewResponseKind = "custom"
+ RulesetNewResponseKindRoot RulesetNewResponseKind = "root"
+ RulesetNewResponseKindZone RulesetNewResponseKind = "zone"
)
-func (r RulesetKind) IsKnown() bool {
+func (r RulesetNewResponseKind) IsKnown() bool {
switch r {
- case RulesetKindManaged, RulesetKindCustom, RulesetKindRoot, RulesetKindZone:
+ case RulesetNewResponseKindManaged, RulesetNewResponseKindCustom, RulesetNewResponseKindRoot, RulesetNewResponseKindZone:
return true
}
return false
}
// The phase of the ruleset.
-type RulesetPhase string
+type RulesetNewResponsePhase string
const (
- RulesetPhaseDDoSL4 RulesetPhase = "ddos_l4"
- RulesetPhaseDDoSL7 RulesetPhase = "ddos_l7"
- RulesetPhaseHTTPConfigSettings RulesetPhase = "http_config_settings"
- RulesetPhaseHTTPCustomErrors RulesetPhase = "http_custom_errors"
- RulesetPhaseHTTPLogCustomFields RulesetPhase = "http_log_custom_fields"
- RulesetPhaseHTTPRatelimit RulesetPhase = "http_ratelimit"
- RulesetPhaseHTTPRequestCacheSettings RulesetPhase = "http_request_cache_settings"
- RulesetPhaseHTTPRequestDynamicRedirect RulesetPhase = "http_request_dynamic_redirect"
- RulesetPhaseHTTPRequestFirewallCustom RulesetPhase = "http_request_firewall_custom"
- RulesetPhaseHTTPRequestFirewallManaged RulesetPhase = "http_request_firewall_managed"
- RulesetPhaseHTTPRequestLateTransform RulesetPhase = "http_request_late_transform"
- RulesetPhaseHTTPRequestOrigin RulesetPhase = "http_request_origin"
- RulesetPhaseHTTPRequestRedirect RulesetPhase = "http_request_redirect"
- RulesetPhaseHTTPRequestSanitize RulesetPhase = "http_request_sanitize"
- RulesetPhaseHTTPRequestSbfm RulesetPhase = "http_request_sbfm"
- RulesetPhaseHTTPRequestSelectConfiguration RulesetPhase = "http_request_select_configuration"
- RulesetPhaseHTTPRequestTransform RulesetPhase = "http_request_transform"
- RulesetPhaseHTTPResponseCompression RulesetPhase = "http_response_compression"
- RulesetPhaseHTTPResponseFirewallManaged RulesetPhase = "http_response_firewall_managed"
- RulesetPhaseHTTPResponseHeadersTransform RulesetPhase = "http_response_headers_transform"
- RulesetPhaseMagicTransit RulesetPhase = "magic_transit"
- RulesetPhaseMagicTransitIDsManaged RulesetPhase = "magic_transit_ids_managed"
- RulesetPhaseMagicTransitManaged RulesetPhase = "magic_transit_managed"
+ RulesetNewResponsePhaseDDoSL4 RulesetNewResponsePhase = "ddos_l4"
+ RulesetNewResponsePhaseDDoSL7 RulesetNewResponsePhase = "ddos_l7"
+ RulesetNewResponsePhaseHTTPConfigSettings RulesetNewResponsePhase = "http_config_settings"
+ RulesetNewResponsePhaseHTTPCustomErrors RulesetNewResponsePhase = "http_custom_errors"
+ RulesetNewResponsePhaseHTTPLogCustomFields RulesetNewResponsePhase = "http_log_custom_fields"
+ RulesetNewResponsePhaseHTTPRatelimit RulesetNewResponsePhase = "http_ratelimit"
+ RulesetNewResponsePhaseHTTPRequestCacheSettings RulesetNewResponsePhase = "http_request_cache_settings"
+ RulesetNewResponsePhaseHTTPRequestDynamicRedirect RulesetNewResponsePhase = "http_request_dynamic_redirect"
+ RulesetNewResponsePhaseHTTPRequestFirewallCustom RulesetNewResponsePhase = "http_request_firewall_custom"
+ RulesetNewResponsePhaseHTTPRequestFirewallManaged RulesetNewResponsePhase = "http_request_firewall_managed"
+ RulesetNewResponsePhaseHTTPRequestLateTransform RulesetNewResponsePhase = "http_request_late_transform"
+ RulesetNewResponsePhaseHTTPRequestOrigin RulesetNewResponsePhase = "http_request_origin"
+ RulesetNewResponsePhaseHTTPRequestRedirect RulesetNewResponsePhase = "http_request_redirect"
+ RulesetNewResponsePhaseHTTPRequestSanitize RulesetNewResponsePhase = "http_request_sanitize"
+ RulesetNewResponsePhaseHTTPRequestSbfm RulesetNewResponsePhase = "http_request_sbfm"
+ RulesetNewResponsePhaseHTTPRequestSelectConfiguration RulesetNewResponsePhase = "http_request_select_configuration"
+ RulesetNewResponsePhaseHTTPRequestTransform RulesetNewResponsePhase = "http_request_transform"
+ RulesetNewResponsePhaseHTTPResponseCompression RulesetNewResponsePhase = "http_response_compression"
+ RulesetNewResponsePhaseHTTPResponseFirewallManaged RulesetNewResponsePhase = "http_response_firewall_managed"
+ RulesetNewResponsePhaseHTTPResponseHeadersTransform RulesetNewResponsePhase = "http_response_headers_transform"
+ RulesetNewResponsePhaseMagicTransit RulesetNewResponsePhase = "magic_transit"
+ RulesetNewResponsePhaseMagicTransitIDsManaged RulesetNewResponsePhase = "magic_transit_ids_managed"
+ RulesetNewResponsePhaseMagicTransitManaged RulesetNewResponsePhase = "magic_transit_managed"
)
-func (r RulesetPhase) IsKnown() bool {
+func (r RulesetNewResponsePhase) IsKnown() bool {
switch r {
- case RulesetPhaseDDoSL4, RulesetPhaseDDoSL7, RulesetPhaseHTTPConfigSettings, RulesetPhaseHTTPCustomErrors, RulesetPhaseHTTPLogCustomFields, RulesetPhaseHTTPRatelimit, RulesetPhaseHTTPRequestCacheSettings, RulesetPhaseHTTPRequestDynamicRedirect, RulesetPhaseHTTPRequestFirewallCustom, RulesetPhaseHTTPRequestFirewallManaged, RulesetPhaseHTTPRequestLateTransform, RulesetPhaseHTTPRequestOrigin, RulesetPhaseHTTPRequestRedirect, RulesetPhaseHTTPRequestSanitize, RulesetPhaseHTTPRequestSbfm, RulesetPhaseHTTPRequestSelectConfiguration, RulesetPhaseHTTPRequestTransform, RulesetPhaseHTTPResponseCompression, RulesetPhaseHTTPResponseFirewallManaged, RulesetPhaseHTTPResponseHeadersTransform, RulesetPhaseMagicTransit, RulesetPhaseMagicTransitIDsManaged, RulesetPhaseMagicTransitManaged:
+ case RulesetNewResponsePhaseDDoSL4, RulesetNewResponsePhaseDDoSL7, RulesetNewResponsePhaseHTTPConfigSettings, RulesetNewResponsePhaseHTTPCustomErrors, RulesetNewResponsePhaseHTTPLogCustomFields, RulesetNewResponsePhaseHTTPRatelimit, RulesetNewResponsePhaseHTTPRequestCacheSettings, RulesetNewResponsePhaseHTTPRequestDynamicRedirect, RulesetNewResponsePhaseHTTPRequestFirewallCustom, RulesetNewResponsePhaseHTTPRequestFirewallManaged, RulesetNewResponsePhaseHTTPRequestLateTransform, RulesetNewResponsePhaseHTTPRequestOrigin, RulesetNewResponsePhaseHTTPRequestRedirect, RulesetNewResponsePhaseHTTPRequestSanitize, RulesetNewResponsePhaseHTTPRequestSbfm, RulesetNewResponsePhaseHTTPRequestSelectConfiguration, RulesetNewResponsePhaseHTTPRequestTransform, RulesetNewResponsePhaseHTTPResponseCompression, RulesetNewResponsePhaseHTTPResponseFirewallManaged, RulesetNewResponsePhaseHTTPResponseHeadersTransform, RulesetNewResponsePhaseMagicTransit, RulesetNewResponsePhaseMagicTransitIDsManaged, RulesetNewResponsePhaseMagicTransitManaged:
return true
}
return false
}
-// Union satisfied by [rulesets.RulesetRulesRulesetsBlockRule],
-// [rulesets.RulesetRulesRulesetsExecuteRule],
-// [rulesets.RulesetRulesRulesetsLogRule] or
-// [rulesets.RulesetRulesRulesetsSkipRule].
-type RulesetRule interface {
- implementsRulesetsRulesetRule()
+// Union satisfied by [rulesets.RulesetNewResponseRulesRulesetsBlockRule],
+// [rulesets.RulesetNewResponseRulesRulesetsExecuteRule],
+// [rulesets.RulesetNewResponseRulesRulesetsLogRule] or
+// [rulesets.RulesetNewResponseRulesRulesetsSkipRule].
+type RulesetNewResponseRule interface {
+ implementsRulesetsRulesetNewResponseRule()
}
func init() {
apijson.RegisterUnion(
- reflect.TypeOf((*RulesetRule)(nil)).Elem(),
+ reflect.TypeOf((*RulesetNewResponseRule)(nil)).Elem(),
"action",
apijson.UnionVariant{
TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(RulesetRulesRulesetsBlockRule{}),
+ Type: reflect.TypeOf(RulesetNewResponseRulesRulesetsBlockRule{}),
DiscriminatorValue: "block",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(RulesetRulesRulesetsExecuteRule{}),
+ Type: reflect.TypeOf(RulesetNewResponseRulesRulesetsExecuteRule{}),
DiscriminatorValue: "execute",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(RulesetRulesRulesetsLogRule{}),
+ Type: reflect.TypeOf(RulesetNewResponseRulesRulesetsLogRule{}),
DiscriminatorValue: "log",
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(RulesetRulesRulesetsSkipRule{}),
+ Type: reflect.TypeOf(RulesetNewResponseRulesRulesetsSkipRule{}),
DiscriminatorValue: "skip",
},
)
}
-type RulesetRulesRulesetsBlockRule struct {
+type RulesetNewResponseRulesRulesetsBlockRule struct {
// The timestamp of when the rule was last modified.
LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
// The version of the rule.
@@ -297,9 +298,9 @@ type RulesetRulesRulesetsBlockRule struct {
// The unique ID of the rule.
ID string `json:"id"`
// The action to perform when the rule matches.
- Action RulesetRulesRulesetsBlockRuleAction `json:"action"`
+ Action RulesetNewResponseRulesRulesetsBlockRuleAction `json:"action"`
// The parameters configuring the rule's action.
- ActionParameters RulesetRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ ActionParameters RulesetNewResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
// The categories of the rule.
Categories []string `json:"categories"`
// An informative description of the rule.
@@ -309,15 +310,15 @@ type RulesetRulesRulesetsBlockRule struct {
// The expression defining which traffic will match the rule.
Expression string `json:"expression"`
// An object configuring the rule's logging behavior.
- Logging RulesetRulesRulesetsBlockRuleLogging `json:"logging"`
+ Logging RulesetNewResponseRulesRulesetsBlockRuleLogging `json:"logging"`
// The reference of the rule (the rule ID by default).
- Ref string `json:"ref"`
- JSON rulesetRulesRulesetsBlockRuleJSON `json:"-"`
+ Ref string `json:"ref"`
+ JSON rulesetNewResponseRulesRulesetsBlockRuleJSON `json:"-"`
}
-// rulesetRulesRulesetsBlockRuleJSON contains the JSON metadata for the struct
-// [RulesetRulesRulesetsBlockRule]
-type rulesetRulesRulesetsBlockRuleJSON struct {
+// rulesetNewResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [RulesetNewResponseRulesRulesetsBlockRule]
+type rulesetNewResponseRulesRulesetsBlockRuleJSON struct {
LastUpdated apijson.Field
Version apijson.Field
ID apijson.Field
@@ -333,68 +334,1943 @@ type rulesetRulesRulesetsBlockRuleJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetNewResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsBlockRuleJSON) RawJSON() string {
+func (r rulesetNewResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
return r.raw
}
-func (r RulesetRulesRulesetsBlockRule) implementsRulesetsRulesetRule() {}
+func (r RulesetNewResponseRulesRulesetsBlockRule) implementsRulesetsRulesetNewResponseRule() {}
// The action to perform when the rule matches.
-type RulesetRulesRulesetsBlockRuleAction string
+type RulesetNewResponseRulesRulesetsBlockRuleAction string
const (
- RulesetRulesRulesetsBlockRuleActionBlock RulesetRulesRulesetsBlockRuleAction = "block"
+ RulesetNewResponseRulesRulesetsBlockRuleActionBlock RulesetNewResponseRulesRulesetsBlockRuleAction = "block"
)
-func (r RulesetRulesRulesetsBlockRuleAction) IsKnown() bool {
+func (r RulesetNewResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsBlockRuleActionBlock:
+ case RulesetNewResponseRulesRulesetsBlockRuleActionBlock:
return true
}
return false
}
// The parameters configuring the rule's action.
-type RulesetRulesRulesetsBlockRuleActionParameters struct {
+type RulesetNewResponseRulesRulesetsBlockRuleActionParameters struct {
// The response to show when the block is applied.
- Response RulesetRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
- JSON rulesetRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+ Response RulesetNewResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON rulesetNewResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
}
-// rulesetRulesRulesetsBlockRuleActionParametersJSON contains the JSON metadata for
-// the struct [RulesetRulesRulesetsBlockRuleActionParameters]
-type rulesetRulesRulesetsBlockRuleActionParametersJSON struct {
+// rulesetNewResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetNewResponseRulesRulesetsBlockRuleActionParameters]
+type rulesetNewResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type RulesetNewResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON rulesetNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [RulesetNewResponseRulesRulesetsBlockRuleActionParametersResponse]
+type rulesetNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetNewResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetNewResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetNewResponseRulesRulesetsBlockRuleLogging]
+type rulesetNewResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetNewResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetNewResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetNewResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetNewResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [RulesetNewResponseRulesRulesetsExecuteRule]
+type rulesetNewResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetNewResponseRulesRulesetsExecuteRule) implementsRulesetsRulesetNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetNewResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ RulesetNewResponseRulesRulesetsExecuteRuleActionExecute RulesetNewResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r RulesetNewResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData RulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetNewResponseRulesRulesetsExecuteRuleActionParameters]
+type rulesetNewResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [RulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type rulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RulesetNewResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetNewResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetNewResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetNewResponseRulesRulesetsExecuteRuleLogging]
+type rulesetNewResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetNewResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetNewResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetNewResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetNewResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RulesetNewResponseRulesRulesetsLogRule]
+type rulesetNewResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetNewResponseRulesRulesetsLogRule) implementsRulesetsRulesetNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetNewResponseRulesRulesetsLogRuleAction string
+
+const (
+ RulesetNewResponseRulesRulesetsLogRuleActionLog RulesetNewResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r RulesetNewResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetNewResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetNewResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [RulesetNewResponseRulesRulesetsLogRuleLogging]
+type rulesetNewResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetNewResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetNewResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetNewResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetNewResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetNewResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [RulesetNewResponseRulesRulesetsSkipRule]
+type rulesetNewResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetNewResponseRulesRulesetsSkipRule) implementsRulesetsRulesetNewResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetNewResponseRulesRulesetsSkipRuleAction string
+
+const (
+ RulesetNewResponseRulesRulesetsSkipRuleActionSkip RulesetNewResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r RulesetNewResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetNewResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset RulesetNewResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON rulesetNewResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetNewResponseRulesRulesetsSkipRuleActionParameters]
+type rulesetNewResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RulesetNewResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductBic RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductHot RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductUABlock RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductWAF RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r RulesetNewResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductBic, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductHot, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductWAF, RulesetNewResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type RulesetNewResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ RulesetNewResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RulesetNewResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r RulesetNewResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case RulesetNewResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetNewResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetNewResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// rulesetNewResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetNewResponseRulesRulesetsSkipRuleLogging]
+type rulesetNewResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetNewResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetNewResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+// A ruleset object.
+type RulesetUpdateResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind RulesetUpdateResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RulesetUpdateResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []RulesetUpdateResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON rulesetUpdateResponseJSON `json:"-"`
+}
+
+// rulesetUpdateResponseJSON contains the JSON metadata for the struct
+// [RulesetUpdateResponse]
+type rulesetUpdateResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RulesetUpdateResponseKind string
+
+const (
+ RulesetUpdateResponseKindManaged RulesetUpdateResponseKind = "managed"
+ RulesetUpdateResponseKindCustom RulesetUpdateResponseKind = "custom"
+ RulesetUpdateResponseKindRoot RulesetUpdateResponseKind = "root"
+ RulesetUpdateResponseKindZone RulesetUpdateResponseKind = "zone"
+)
+
+func (r RulesetUpdateResponseKind) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseKindManaged, RulesetUpdateResponseKindCustom, RulesetUpdateResponseKindRoot, RulesetUpdateResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RulesetUpdateResponsePhase string
+
+const (
+ RulesetUpdateResponsePhaseDDoSL4 RulesetUpdateResponsePhase = "ddos_l4"
+ RulesetUpdateResponsePhaseDDoSL7 RulesetUpdateResponsePhase = "ddos_l7"
+ RulesetUpdateResponsePhaseHTTPConfigSettings RulesetUpdateResponsePhase = "http_config_settings"
+ RulesetUpdateResponsePhaseHTTPCustomErrors RulesetUpdateResponsePhase = "http_custom_errors"
+ RulesetUpdateResponsePhaseHTTPLogCustomFields RulesetUpdateResponsePhase = "http_log_custom_fields"
+ RulesetUpdateResponsePhaseHTTPRatelimit RulesetUpdateResponsePhase = "http_ratelimit"
+ RulesetUpdateResponsePhaseHTTPRequestCacheSettings RulesetUpdateResponsePhase = "http_request_cache_settings"
+ RulesetUpdateResponsePhaseHTTPRequestDynamicRedirect RulesetUpdateResponsePhase = "http_request_dynamic_redirect"
+ RulesetUpdateResponsePhaseHTTPRequestFirewallCustom RulesetUpdateResponsePhase = "http_request_firewall_custom"
+ RulesetUpdateResponsePhaseHTTPRequestFirewallManaged RulesetUpdateResponsePhase = "http_request_firewall_managed"
+ RulesetUpdateResponsePhaseHTTPRequestLateTransform RulesetUpdateResponsePhase = "http_request_late_transform"
+ RulesetUpdateResponsePhaseHTTPRequestOrigin RulesetUpdateResponsePhase = "http_request_origin"
+ RulesetUpdateResponsePhaseHTTPRequestRedirect RulesetUpdateResponsePhase = "http_request_redirect"
+ RulesetUpdateResponsePhaseHTTPRequestSanitize RulesetUpdateResponsePhase = "http_request_sanitize"
+ RulesetUpdateResponsePhaseHTTPRequestSbfm RulesetUpdateResponsePhase = "http_request_sbfm"
+ RulesetUpdateResponsePhaseHTTPRequestSelectConfiguration RulesetUpdateResponsePhase = "http_request_select_configuration"
+ RulesetUpdateResponsePhaseHTTPRequestTransform RulesetUpdateResponsePhase = "http_request_transform"
+ RulesetUpdateResponsePhaseHTTPResponseCompression RulesetUpdateResponsePhase = "http_response_compression"
+ RulesetUpdateResponsePhaseHTTPResponseFirewallManaged RulesetUpdateResponsePhase = "http_response_firewall_managed"
+ RulesetUpdateResponsePhaseHTTPResponseHeadersTransform RulesetUpdateResponsePhase = "http_response_headers_transform"
+ RulesetUpdateResponsePhaseMagicTransit RulesetUpdateResponsePhase = "magic_transit"
+ RulesetUpdateResponsePhaseMagicTransitIDsManaged RulesetUpdateResponsePhase = "magic_transit_ids_managed"
+ RulesetUpdateResponsePhaseMagicTransitManaged RulesetUpdateResponsePhase = "magic_transit_managed"
+)
+
+func (r RulesetUpdateResponsePhase) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponsePhaseDDoSL4, RulesetUpdateResponsePhaseDDoSL7, RulesetUpdateResponsePhaseHTTPConfigSettings, RulesetUpdateResponsePhaseHTTPCustomErrors, RulesetUpdateResponsePhaseHTTPLogCustomFields, RulesetUpdateResponsePhaseHTTPRatelimit, RulesetUpdateResponsePhaseHTTPRequestCacheSettings, RulesetUpdateResponsePhaseHTTPRequestDynamicRedirect, RulesetUpdateResponsePhaseHTTPRequestFirewallCustom, RulesetUpdateResponsePhaseHTTPRequestFirewallManaged, RulesetUpdateResponsePhaseHTTPRequestLateTransform, RulesetUpdateResponsePhaseHTTPRequestOrigin, RulesetUpdateResponsePhaseHTTPRequestRedirect, RulesetUpdateResponsePhaseHTTPRequestSanitize, RulesetUpdateResponsePhaseHTTPRequestSbfm, RulesetUpdateResponsePhaseHTTPRequestSelectConfiguration, RulesetUpdateResponsePhaseHTTPRequestTransform, RulesetUpdateResponsePhaseHTTPResponseCompression, RulesetUpdateResponsePhaseHTTPResponseFirewallManaged, RulesetUpdateResponsePhaseHTTPResponseHeadersTransform, RulesetUpdateResponsePhaseMagicTransit, RulesetUpdateResponsePhaseMagicTransitIDsManaged, RulesetUpdateResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.RulesetUpdateResponseRulesRulesetsBlockRule],
+// [rulesets.RulesetUpdateResponseRulesRulesetsExecuteRule],
+// [rulesets.RulesetUpdateResponseRulesRulesetsLogRule] or
+// [rulesets.RulesetUpdateResponseRulesRulesetsSkipRule].
+type RulesetUpdateResponseRule interface {
+ implementsRulesetsRulesetUpdateResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*RulesetUpdateResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetUpdateResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetUpdateResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetUpdateResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetUpdateResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type RulesetUpdateResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetUpdateResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetUpdateResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetUpdateResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetUpdateResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for
+// the struct [RulesetUpdateResponseRulesRulesetsBlockRule]
+type rulesetUpdateResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetUpdateResponseRulesRulesetsBlockRule) implementsRulesetsRulesetUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetUpdateResponseRulesRulesetsBlockRuleAction string
+
+const (
+ RulesetUpdateResponseRulesRulesetsBlockRuleActionBlock RulesetUpdateResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetUpdateResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response RulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsBlockRuleActionParameters]
+type rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type RulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponse]
+type rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetUpdateResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetUpdateResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON
+// metadata for the struct [RulesetUpdateResponseRulesRulesetsBlockRuleLogging]
+type rulesetUpdateResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetUpdateResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetUpdateResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetUpdateResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetUpdateResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [RulesetUpdateResponseRulesRulesetsExecuteRule]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetUpdateResponseRulesRulesetsExecuteRule) implementsRulesetsRulesetUpdateResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionExecute RulesetUpdateResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsExecuteRuleActionParameters]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON
+// contains the JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RulesetUpdateResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetUpdateResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetUpdateResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON
+// metadata for the struct [RulesetUpdateResponseRulesRulesetsExecuteRuleLogging]
+type rulesetUpdateResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetUpdateResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetUpdateResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetUpdateResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetUpdateResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RulesetUpdateResponseRulesRulesetsLogRule]
+type rulesetUpdateResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetUpdateResponseRulesRulesetsLogRule) implementsRulesetsRulesetUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetUpdateResponseRulesRulesetsLogRuleAction string
+
+const (
+ RulesetUpdateResponseRulesRulesetsLogRuleActionLog RulesetUpdateResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetUpdateResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetUpdateResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetUpdateResponseRulesRulesetsLogRuleLogging]
+type rulesetUpdateResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type RulesetUpdateResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetUpdateResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetUpdateResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetUpdateResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetUpdateResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for
+// the struct [RulesetUpdateResponseRulesRulesetsSkipRule]
+type rulesetUpdateResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetUpdateResponseRulesRulesetsSkipRule) implementsRulesetsRulesetUpdateResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetUpdateResponseRulesRulesetsSkipRuleAction string
+
+const (
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionSkip RulesetUpdateResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetUpdateResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON rulesetUpdateResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetUpdateResponseRulesRulesetsSkipRuleActionParameters]
+type rulesetUpdateResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductBic RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductHot RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductUABlock RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductWAF RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductBic, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductHot, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductWAF, RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case RulesetUpdateResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type RulesetUpdateResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetUpdateResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// rulesetUpdateResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetUpdateResponseRulesRulesetsSkipRuleLogging]
+type rulesetUpdateResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetUpdateResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetUpdateResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+// A ruleset object.
+type RulesetListResponse struct {
+ // The kind of the ruleset.
+ Kind RulesetListResponseKind `json:"kind,required"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RulesetListResponsePhase `json:"phase,required"`
+ // The unique ID of the ruleset.
+ ID string `json:"id"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated" format:"date-time"`
+ // The version of the ruleset.
+ Version string `json:"version"`
+ JSON rulesetListResponseJSON `json:"-"`
+}
+
+// rulesetListResponseJSON contains the JSON metadata for the struct
+// [RulesetListResponse]
+type rulesetListResponseJSON struct {
+ Kind apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ ID apijson.Field
+ Description apijson.Field
+ LastUpdated apijson.Field
+ Version apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetListResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetListResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RulesetListResponseKind string
+
+const (
+ RulesetListResponseKindManaged RulesetListResponseKind = "managed"
+ RulesetListResponseKindCustom RulesetListResponseKind = "custom"
+ RulesetListResponseKindRoot RulesetListResponseKind = "root"
+ RulesetListResponseKindZone RulesetListResponseKind = "zone"
+)
+
+func (r RulesetListResponseKind) IsKnown() bool {
+ switch r {
+ case RulesetListResponseKindManaged, RulesetListResponseKindCustom, RulesetListResponseKindRoot, RulesetListResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RulesetListResponsePhase string
+
+const (
+ RulesetListResponsePhaseDDoSL4 RulesetListResponsePhase = "ddos_l4"
+ RulesetListResponsePhaseDDoSL7 RulesetListResponsePhase = "ddos_l7"
+ RulesetListResponsePhaseHTTPConfigSettings RulesetListResponsePhase = "http_config_settings"
+ RulesetListResponsePhaseHTTPCustomErrors RulesetListResponsePhase = "http_custom_errors"
+ RulesetListResponsePhaseHTTPLogCustomFields RulesetListResponsePhase = "http_log_custom_fields"
+ RulesetListResponsePhaseHTTPRatelimit RulesetListResponsePhase = "http_ratelimit"
+ RulesetListResponsePhaseHTTPRequestCacheSettings RulesetListResponsePhase = "http_request_cache_settings"
+ RulesetListResponsePhaseHTTPRequestDynamicRedirect RulesetListResponsePhase = "http_request_dynamic_redirect"
+ RulesetListResponsePhaseHTTPRequestFirewallCustom RulesetListResponsePhase = "http_request_firewall_custom"
+ RulesetListResponsePhaseHTTPRequestFirewallManaged RulesetListResponsePhase = "http_request_firewall_managed"
+ RulesetListResponsePhaseHTTPRequestLateTransform RulesetListResponsePhase = "http_request_late_transform"
+ RulesetListResponsePhaseHTTPRequestOrigin RulesetListResponsePhase = "http_request_origin"
+ RulesetListResponsePhaseHTTPRequestRedirect RulesetListResponsePhase = "http_request_redirect"
+ RulesetListResponsePhaseHTTPRequestSanitize RulesetListResponsePhase = "http_request_sanitize"
+ RulesetListResponsePhaseHTTPRequestSbfm RulesetListResponsePhase = "http_request_sbfm"
+ RulesetListResponsePhaseHTTPRequestSelectConfiguration RulesetListResponsePhase = "http_request_select_configuration"
+ RulesetListResponsePhaseHTTPRequestTransform RulesetListResponsePhase = "http_request_transform"
+ RulesetListResponsePhaseHTTPResponseCompression RulesetListResponsePhase = "http_response_compression"
+ RulesetListResponsePhaseHTTPResponseFirewallManaged RulesetListResponsePhase = "http_response_firewall_managed"
+ RulesetListResponsePhaseHTTPResponseHeadersTransform RulesetListResponsePhase = "http_response_headers_transform"
+ RulesetListResponsePhaseMagicTransit RulesetListResponsePhase = "magic_transit"
+ RulesetListResponsePhaseMagicTransitIDsManaged RulesetListResponsePhase = "magic_transit_ids_managed"
+ RulesetListResponsePhaseMagicTransitManaged RulesetListResponsePhase = "magic_transit_managed"
+)
+
+func (r RulesetListResponsePhase) IsKnown() bool {
+ switch r {
+ case RulesetListResponsePhaseDDoSL4, RulesetListResponsePhaseDDoSL7, RulesetListResponsePhaseHTTPConfigSettings, RulesetListResponsePhaseHTTPCustomErrors, RulesetListResponsePhaseHTTPLogCustomFields, RulesetListResponsePhaseHTTPRatelimit, RulesetListResponsePhaseHTTPRequestCacheSettings, RulesetListResponsePhaseHTTPRequestDynamicRedirect, RulesetListResponsePhaseHTTPRequestFirewallCustom, RulesetListResponsePhaseHTTPRequestFirewallManaged, RulesetListResponsePhaseHTTPRequestLateTransform, RulesetListResponsePhaseHTTPRequestOrigin, RulesetListResponsePhaseHTTPRequestRedirect, RulesetListResponsePhaseHTTPRequestSanitize, RulesetListResponsePhaseHTTPRequestSbfm, RulesetListResponsePhaseHTTPRequestSelectConfiguration, RulesetListResponsePhaseHTTPRequestTransform, RulesetListResponsePhaseHTTPResponseCompression, RulesetListResponsePhaseHTTPResponseFirewallManaged, RulesetListResponsePhaseHTTPResponseHeadersTransform, RulesetListResponsePhaseMagicTransit, RulesetListResponsePhaseMagicTransitIDsManaged, RulesetListResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// A ruleset object.
+type RulesetGetResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind RulesetGetResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase RulesetGetResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []RulesetGetResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON rulesetGetResponseJSON `json:"-"`
+}
+
+// rulesetGetResponseJSON contains the JSON metadata for the struct
+// [RulesetGetResponse]
+type rulesetGetResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetGetResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetGetResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type RulesetGetResponseKind string
+
+const (
+ RulesetGetResponseKindManaged RulesetGetResponseKind = "managed"
+ RulesetGetResponseKindCustom RulesetGetResponseKind = "custom"
+ RulesetGetResponseKindRoot RulesetGetResponseKind = "root"
+ RulesetGetResponseKindZone RulesetGetResponseKind = "zone"
+)
+
+func (r RulesetGetResponseKind) IsKnown() bool {
+ switch r {
+ case RulesetGetResponseKindManaged, RulesetGetResponseKindCustom, RulesetGetResponseKindRoot, RulesetGetResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type RulesetGetResponsePhase string
+
+const (
+ RulesetGetResponsePhaseDDoSL4 RulesetGetResponsePhase = "ddos_l4"
+ RulesetGetResponsePhaseDDoSL7 RulesetGetResponsePhase = "ddos_l7"
+ RulesetGetResponsePhaseHTTPConfigSettings RulesetGetResponsePhase = "http_config_settings"
+ RulesetGetResponsePhaseHTTPCustomErrors RulesetGetResponsePhase = "http_custom_errors"
+ RulesetGetResponsePhaseHTTPLogCustomFields RulesetGetResponsePhase = "http_log_custom_fields"
+ RulesetGetResponsePhaseHTTPRatelimit RulesetGetResponsePhase = "http_ratelimit"
+ RulesetGetResponsePhaseHTTPRequestCacheSettings RulesetGetResponsePhase = "http_request_cache_settings"
+ RulesetGetResponsePhaseHTTPRequestDynamicRedirect RulesetGetResponsePhase = "http_request_dynamic_redirect"
+ RulesetGetResponsePhaseHTTPRequestFirewallCustom RulesetGetResponsePhase = "http_request_firewall_custom"
+ RulesetGetResponsePhaseHTTPRequestFirewallManaged RulesetGetResponsePhase = "http_request_firewall_managed"
+ RulesetGetResponsePhaseHTTPRequestLateTransform RulesetGetResponsePhase = "http_request_late_transform"
+ RulesetGetResponsePhaseHTTPRequestOrigin RulesetGetResponsePhase = "http_request_origin"
+ RulesetGetResponsePhaseHTTPRequestRedirect RulesetGetResponsePhase = "http_request_redirect"
+ RulesetGetResponsePhaseHTTPRequestSanitize RulesetGetResponsePhase = "http_request_sanitize"
+ RulesetGetResponsePhaseHTTPRequestSbfm RulesetGetResponsePhase = "http_request_sbfm"
+ RulesetGetResponsePhaseHTTPRequestSelectConfiguration RulesetGetResponsePhase = "http_request_select_configuration"
+ RulesetGetResponsePhaseHTTPRequestTransform RulesetGetResponsePhase = "http_request_transform"
+ RulesetGetResponsePhaseHTTPResponseCompression RulesetGetResponsePhase = "http_response_compression"
+ RulesetGetResponsePhaseHTTPResponseFirewallManaged RulesetGetResponsePhase = "http_response_firewall_managed"
+ RulesetGetResponsePhaseHTTPResponseHeadersTransform RulesetGetResponsePhase = "http_response_headers_transform"
+ RulesetGetResponsePhaseMagicTransit RulesetGetResponsePhase = "magic_transit"
+ RulesetGetResponsePhaseMagicTransitIDsManaged RulesetGetResponsePhase = "magic_transit_ids_managed"
+ RulesetGetResponsePhaseMagicTransitManaged RulesetGetResponsePhase = "magic_transit_managed"
+)
+
+func (r RulesetGetResponsePhase) IsKnown() bool {
+ switch r {
+ case RulesetGetResponsePhaseDDoSL4, RulesetGetResponsePhaseDDoSL7, RulesetGetResponsePhaseHTTPConfigSettings, RulesetGetResponsePhaseHTTPCustomErrors, RulesetGetResponsePhaseHTTPLogCustomFields, RulesetGetResponsePhaseHTTPRatelimit, RulesetGetResponsePhaseHTTPRequestCacheSettings, RulesetGetResponsePhaseHTTPRequestDynamicRedirect, RulesetGetResponsePhaseHTTPRequestFirewallCustom, RulesetGetResponsePhaseHTTPRequestFirewallManaged, RulesetGetResponsePhaseHTTPRequestLateTransform, RulesetGetResponsePhaseHTTPRequestOrigin, RulesetGetResponsePhaseHTTPRequestRedirect, RulesetGetResponsePhaseHTTPRequestSanitize, RulesetGetResponsePhaseHTTPRequestSbfm, RulesetGetResponsePhaseHTTPRequestSelectConfiguration, RulesetGetResponsePhaseHTTPRequestTransform, RulesetGetResponsePhaseHTTPResponseCompression, RulesetGetResponsePhaseHTTPResponseFirewallManaged, RulesetGetResponsePhaseHTTPResponseHeadersTransform, RulesetGetResponsePhaseMagicTransit, RulesetGetResponsePhaseMagicTransitIDsManaged, RulesetGetResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.RulesetGetResponseRulesRulesetsBlockRule],
+// [rulesets.RulesetGetResponseRulesRulesetsExecuteRule],
+// [rulesets.RulesetGetResponseRulesRulesetsLogRule] or
+// [rulesets.RulesetGetResponseRulesRulesetsSkipRule].
+type RulesetGetResponseRule interface {
+ implementsRulesetsRulesetGetResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*RulesetGetResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetGetResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetGetResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetGetResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(RulesetGetResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type RulesetGetResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action RulesetGetResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters RulesetGetResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging RulesetGetResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON rulesetGetResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// rulesetGetResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [RulesetGetResponseRulesRulesetsBlockRule]
+type rulesetGetResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *RulesetGetResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r rulesetGetResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r RulesetGetResponseRulesRulesetsBlockRule) implementsRulesetsRulesetGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type RulesetGetResponseRulesRulesetsBlockRuleAction string
+
+const (
+ RulesetGetResponseRulesRulesetsBlockRuleActionBlock RulesetGetResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r RulesetGetResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case RulesetGetResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type RulesetGetResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response RulesetGetResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON rulesetGetResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// rulesetGetResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetGetResponseRulesRulesetsBlockRuleActionParameters]
+type rulesetGetResponseRulesRulesetsBlockRuleActionParametersJSON struct {
Response apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
return r.raw
}
// The response to show when the block is applied.
-type RulesetRulesRulesetsBlockRuleActionParametersResponse struct {
+type RulesetGetResponseRulesRulesetsBlockRuleActionParametersResponse struct {
// The content to return.
Content string `json:"content,required"`
// The type of the content to return.
ContentType string `json:"content_type,required"`
// The status code to return.
- StatusCode int64 `json:"status_code,required"`
- JSON rulesetRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+ StatusCode int64 `json:"status_code,required"`
+ JSON rulesetGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
}
-// rulesetRulesRulesetsBlockRuleActionParametersResponseJSON contains the JSON
-// metadata for the struct [RulesetRulesRulesetsBlockRuleActionParametersResponse]
-type rulesetRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+// rulesetGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [RulesetGetResponseRulesRulesetsBlockRuleActionParametersResponse]
+type rulesetGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
Content apijson.Field
ContentType apijson.Field
StatusCode apijson.Field
@@ -402,38 +2278,38 @@ type rulesetRulesRulesetsBlockRuleActionParametersResponseJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
return r.raw
}
// An object configuring the rule's logging behavior.
-type RulesetRulesRulesetsBlockRuleLogging struct {
+type RulesetGetResponseRulesRulesetsBlockRuleLogging struct {
// Whether to generate a log when the rule matches.
- Enabled bool `json:"enabled,required"`
- JSON rulesetRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetGetResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
}
-// rulesetRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata for the
-// struct [RulesetRulesRulesetsBlockRuleLogging]
-type rulesetRulesRulesetsBlockRuleLoggingJSON struct {
+// rulesetGetResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetGetResponseRulesRulesetsBlockRuleLogging]
+type rulesetGetResponseRulesRulesetsBlockRuleLoggingJSON struct {
Enabled apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
return r.raw
}
-type RulesetRulesRulesetsExecuteRule struct {
+type RulesetGetResponseRulesRulesetsExecuteRule struct {
// The timestamp of when the rule was last modified.
LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
// The version of the rule.
@@ -441,9 +2317,9 @@ type RulesetRulesRulesetsExecuteRule struct {
// The unique ID of the rule.
ID string `json:"id"`
// The action to perform when the rule matches.
- Action RulesetRulesRulesetsExecuteRuleAction `json:"action"`
+ Action RulesetGetResponseRulesRulesetsExecuteRuleAction `json:"action"`
// The parameters configuring the rule's action.
- ActionParameters RulesetRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ ActionParameters RulesetGetResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
// The categories of the rule.
Categories []string `json:"categories"`
// An informative description of the rule.
@@ -453,15 +2329,15 @@ type RulesetRulesRulesetsExecuteRule struct {
// The expression defining which traffic will match the rule.
Expression string `json:"expression"`
// An object configuring the rule's logging behavior.
- Logging RulesetRulesRulesetsExecuteRuleLogging `json:"logging"`
+ Logging RulesetGetResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
// The reference of the rule (the rule ID by default).
- Ref string `json:"ref"`
- JSON rulesetRulesRulesetsExecuteRuleJSON `json:"-"`
+ Ref string `json:"ref"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleJSON contains the JSON metadata for the struct
-// [RulesetRulesRulesetsExecuteRule]
-type rulesetRulesRulesetsExecuteRuleJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [RulesetGetResponseRulesRulesetsExecuteRule]
+type rulesetGetResponseRulesRulesetsExecuteRuleJSON struct {
LastUpdated apijson.Field
Version apijson.Field
ID apijson.Field
@@ -477,45 +2353,46 @@ type rulesetRulesRulesetsExecuteRuleJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
return r.raw
}
-func (r RulesetRulesRulesetsExecuteRule) implementsRulesetsRulesetRule() {}
+func (r RulesetGetResponseRulesRulesetsExecuteRule) implementsRulesetsRulesetGetResponseRule() {}
// The action to perform when the rule matches.
-type RulesetRulesRulesetsExecuteRuleAction string
+type RulesetGetResponseRulesRulesetsExecuteRuleAction string
const (
- RulesetRulesRulesetsExecuteRuleActionExecute RulesetRulesRulesetsExecuteRuleAction = "execute"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionExecute RulesetGetResponseRulesRulesetsExecuteRuleAction = "execute"
)
-func (r RulesetRulesRulesetsExecuteRuleAction) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsExecuteRuleActionExecute:
+ case RulesetGetResponseRulesRulesetsExecuteRuleActionExecute:
return true
}
return false
}
// The parameters configuring the rule's action.
-type RulesetRulesRulesetsExecuteRuleActionParameters struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParameters struct {
// The ID of the ruleset to execute.
ID string `json:"id,required"`
// The configuration to use for matched data logging.
- MatchedData RulesetRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ MatchedData RulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
// A set of overrides to apply to the target ruleset.
- Overrides RulesetRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
- JSON rulesetRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+ Overrides RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleActionParametersJSON contains the JSON metadata
-// for the struct [RulesetRulesRulesetsExecuteRuleActionParameters]
-type rulesetRulesRulesetsExecuteRuleActionParametersJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetGetResponseRulesRulesetsExecuteRuleActionParameters]
+type rulesetGetResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
ID apijson.Field
MatchedData apijson.Field
Overrides apijson.Field
@@ -523,61 +2400,61 @@ type rulesetRulesRulesetsExecuteRuleActionParametersJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
return r.raw
}
// The configuration to use for matched data logging.
-type RulesetRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
// The public key to encrypt matched data logs with.
- PublicKey string `json:"public_key,required"`
- JSON rulesetRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+ PublicKey string `json:"public_key,required"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleActionParametersMatchedDataJSON contains the JSON
-// metadata for the struct
-// [RulesetRulesRulesetsExecuteRuleActionParametersMatchedData]
-type rulesetRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [RulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type rulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
PublicKey apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
return r.raw
}
// A set of overrides to apply to the target ruleset.
-type RulesetRulesRulesetsExecuteRuleActionParametersOverrides struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
// An action to override all rules with. This option has lower precedence than rule
// and category overrides.
Action string `json:"action"`
// A list of category-level overrides. This option has the second-highest
// precedence after rule-level overrides.
- Categories []RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ Categories []RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
// Whether to enable execution of all rules. This option has lower precedence than
// rule and category overrides.
Enabled bool `json:"enabled"`
// A list of rule-level overrides. This option has the highest precedence.
- Rules []RulesetRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ Rules []RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
// A sensitivity level to set for all rules. This option has lower precedence than
// rule and category overrides and is only applicable for DDoS phases.
- SensitivityLevel RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
- JSON rulesetRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+ SensitivityLevel RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleActionParametersOverridesJSON contains the JSON
-// metadata for the struct
-// [RulesetRulesRulesetsExecuteRuleActionParametersOverrides]
-type rulesetRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
Action apijson.Field
Categories apijson.Field
Enabled apijson.Field
@@ -587,16 +2464,16 @@ type rulesetRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
return r.raw
}
// A category-level override
-type RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
// The name of the category to override.
Category string `json:"category,required"`
// The action to override rules in the category with.
@@ -604,14 +2481,14 @@ type RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
// Whether to enable execution of rules in the category.
Enabled bool `json:"enabled"`
// The sensitivity level to use for rules in the category.
- SensitivityLevel RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
- JSON rulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+ SensitivityLevel RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON contains
-// the JSON metadata for the struct
-// [RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategory]
-type rulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
Category apijson.Field
Action apijson.Field
Enabled apijson.Field
@@ -620,34 +2497,34 @@ type rulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
return r.raw
}
// The sensitivity level to use for rules in the category.
-type RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
const (
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
)
-func (r RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RulesetRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ case RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
return true
}
return false
}
// A rule-level override
-type RulesetRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
// The ID of the rule to override.
ID string `json:"id,required"`
// The action to override the rule with.
@@ -657,14 +2534,14 @@ type RulesetRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
// The score threshold to use for the rule.
ScoreThreshold int64 `json:"score_threshold"`
// The sensitivity level to use for the rule.
- SensitivityLevel RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
- JSON rulesetRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+ SensitivityLevel RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON contains the
-// JSON metadata for the struct
-// [RulesetRulesRulesetsExecuteRuleActionParametersOverridesRule]
-type rulesetRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
ID apijson.Field
Action apijson.Field
Enabled apijson.Field
@@ -674,27 +2551,27 @@ type rulesetRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
return r.raw
}
// The sensitivity level to use for the rule.
-type RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
const (
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
)
-func (r RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ case RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
return true
}
return false
@@ -702,47 +2579,47 @@ func (r RulesetRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivity
// A sensitivity level to set for all rules. This option has lower precedence than
// rule and category overrides and is only applicable for DDoS phases.
-type RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+type RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
const (
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
- RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
)
-func (r RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RulesetRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ case RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, RulesetGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
return true
}
return false
}
// An object configuring the rule's logging behavior.
-type RulesetRulesRulesetsExecuteRuleLogging struct {
+type RulesetGetResponseRulesRulesetsExecuteRuleLogging struct {
// Whether to generate a log when the rule matches.
- Enabled bool `json:"enabled,required"`
- JSON rulesetRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetGetResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
}
-// rulesetRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata for the
-// struct [RulesetRulesRulesetsExecuteRuleLogging]
-type rulesetRulesRulesetsExecuteRuleLoggingJSON struct {
+// rulesetGetResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetGetResponseRulesRulesetsExecuteRuleLogging]
+type rulesetGetResponseRulesRulesetsExecuteRuleLoggingJSON struct {
Enabled apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
return r.raw
}
-type RulesetRulesRulesetsLogRule struct {
+type RulesetGetResponseRulesRulesetsLogRule struct {
// The timestamp of when the rule was last modified.
LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
// The version of the rule.
@@ -750,7 +2627,7 @@ type RulesetRulesRulesetsLogRule struct {
// The unique ID of the rule.
ID string `json:"id"`
// The action to perform when the rule matches.
- Action RulesetRulesRulesetsLogRuleAction `json:"action"`
+ Action RulesetGetResponseRulesRulesetsLogRuleAction `json:"action"`
// The parameters configuring the rule's action.
ActionParameters interface{} `json:"action_parameters"`
// The categories of the rule.
@@ -762,15 +2639,15 @@ type RulesetRulesRulesetsLogRule struct {
// The expression defining which traffic will match the rule.
Expression string `json:"expression"`
// An object configuring the rule's logging behavior.
- Logging RulesetRulesRulesetsLogRuleLogging `json:"logging"`
+ Logging RulesetGetResponseRulesRulesetsLogRuleLogging `json:"logging"`
// The reference of the rule (the rule ID by default).
- Ref string `json:"ref"`
- JSON rulesetRulesRulesetsLogRuleJSON `json:"-"`
+ Ref string `json:"ref"`
+ JSON rulesetGetResponseRulesRulesetsLogRuleJSON `json:"-"`
}
-// rulesetRulesRulesetsLogRuleJSON contains the JSON metadata for the struct
-// [RulesetRulesRulesetsLogRule]
-type rulesetRulesRulesetsLogRuleJSON struct {
+// rulesetGetResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [RulesetGetResponseRulesRulesetsLogRule]
+type rulesetGetResponseRulesRulesetsLogRuleJSON struct {
LastUpdated apijson.Field
Version apijson.Field
ID apijson.Field
@@ -786,55 +2663,55 @@ type rulesetRulesRulesetsLogRuleJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsLogRuleJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsLogRuleJSON) RawJSON() string {
return r.raw
}
-func (r RulesetRulesRulesetsLogRule) implementsRulesetsRulesetRule() {}
+func (r RulesetGetResponseRulesRulesetsLogRule) implementsRulesetsRulesetGetResponseRule() {}
// The action to perform when the rule matches.
-type RulesetRulesRulesetsLogRuleAction string
+type RulesetGetResponseRulesRulesetsLogRuleAction string
const (
- RulesetRulesRulesetsLogRuleActionLog RulesetRulesRulesetsLogRuleAction = "log"
+ RulesetGetResponseRulesRulesetsLogRuleActionLog RulesetGetResponseRulesRulesetsLogRuleAction = "log"
)
-func (r RulesetRulesRulesetsLogRuleAction) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsLogRuleAction) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsLogRuleActionLog:
+ case RulesetGetResponseRulesRulesetsLogRuleActionLog:
return true
}
return false
}
// An object configuring the rule's logging behavior.
-type RulesetRulesRulesetsLogRuleLogging struct {
+type RulesetGetResponseRulesRulesetsLogRuleLogging struct {
// Whether to generate a log when the rule matches.
- Enabled bool `json:"enabled,required"`
- JSON rulesetRulesRulesetsLogRuleLoggingJSON `json:"-"`
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetGetResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
}
-// rulesetRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for the struct
-// [RulesetRulesRulesetsLogRuleLogging]
-type rulesetRulesRulesetsLogRuleLoggingJSON struct {
+// rulesetGetResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [RulesetGetResponseRulesRulesetsLogRuleLogging]
+type rulesetGetResponseRulesRulesetsLogRuleLoggingJSON struct {
Enabled apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
return r.raw
}
-type RulesetRulesRulesetsSkipRule struct {
+type RulesetGetResponseRulesRulesetsSkipRule struct {
// The timestamp of when the rule was last modified.
LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
// The version of the rule.
@@ -842,9 +2719,9 @@ type RulesetRulesRulesetsSkipRule struct {
// The unique ID of the rule.
ID string `json:"id"`
// The action to perform when the rule matches.
- Action RulesetRulesRulesetsSkipRuleAction `json:"action"`
+ Action RulesetGetResponseRulesRulesetsSkipRuleAction `json:"action"`
// The parameters configuring the rule's action.
- ActionParameters RulesetRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ ActionParameters RulesetGetResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
// The categories of the rule.
Categories []string `json:"categories"`
// An informative description of the rule.
@@ -854,15 +2731,15 @@ type RulesetRulesRulesetsSkipRule struct {
// The expression defining which traffic will match the rule.
Expression string `json:"expression"`
// An object configuring the rule's logging behavior.
- Logging RulesetRulesRulesetsSkipRuleLogging `json:"logging"`
+ Logging RulesetGetResponseRulesRulesetsSkipRuleLogging `json:"logging"`
// The reference of the rule (the rule ID by default).
- Ref string `json:"ref"`
- JSON rulesetRulesRulesetsSkipRuleJSON `json:"-"`
+ Ref string `json:"ref"`
+ JSON rulesetGetResponseRulesRulesetsSkipRuleJSON `json:"-"`
}
-// rulesetRulesRulesetsSkipRuleJSON contains the JSON metadata for the struct
-// [RulesetRulesRulesetsSkipRule]
-type rulesetRulesRulesetsSkipRuleJSON struct {
+// rulesetGetResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [RulesetGetResponseRulesRulesetsSkipRule]
+type rulesetGetResponseRulesRulesetsSkipRuleJSON struct {
LastUpdated apijson.Field
Version apijson.Field
ID apijson.Field
@@ -878,53 +2755,54 @@ type rulesetRulesRulesetsSkipRuleJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsSkipRuleJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
return r.raw
}
-func (r RulesetRulesRulesetsSkipRule) implementsRulesetsRulesetRule() {}
+func (r RulesetGetResponseRulesRulesetsSkipRule) implementsRulesetsRulesetGetResponseRule() {}
// The action to perform when the rule matches.
-type RulesetRulesRulesetsSkipRuleAction string
+type RulesetGetResponseRulesRulesetsSkipRuleAction string
const (
- RulesetRulesRulesetsSkipRuleActionSkip RulesetRulesRulesetsSkipRuleAction = "skip"
+ RulesetGetResponseRulesRulesetsSkipRuleActionSkip RulesetGetResponseRulesRulesetsSkipRuleAction = "skip"
)
-func (r RulesetRulesRulesetsSkipRuleAction) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsSkipRuleActionSkip:
+ case RulesetGetResponseRulesRulesetsSkipRuleActionSkip:
return true
}
return false
}
// The parameters configuring the rule's action.
-type RulesetRulesRulesetsSkipRuleActionParameters struct {
+type RulesetGetResponseRulesRulesetsSkipRuleActionParameters struct {
// A list of phases to skip the execution of. This option is incompatible with the
// ruleset and rulesets options.
- Phases []RulesetRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ Phases []RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
// A list of legacy security products to skip the execution of.
- Products []RulesetRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ Products []RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
// A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
// execution of. This option is incompatible with the ruleset option.
Rules map[string][]string `json:"rules"`
// A ruleset to skip the execution of. This option is incompatible with the
// rulesets, rules and phases options.
- Ruleset RulesetRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ Ruleset RulesetGetResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
// A list of ruleset IDs to skip the execution of. This option is incompatible with
// the ruleset and phases options.
- Rulesets []string `json:"rulesets"`
- JSON rulesetRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+ Rulesets []string `json:"rulesets"`
+ JSON rulesetGetResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
}
-// rulesetRulesRulesetsSkipRuleActionParametersJSON contains the JSON metadata for
-// the struct [RulesetRulesRulesetsSkipRuleActionParameters]
-type rulesetRulesRulesetsSkipRuleActionParametersJSON struct {
+// rulesetGetResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [RulesetGetResponseRulesRulesetsSkipRuleActionParameters]
+type rulesetGetResponseRulesRulesetsSkipRuleActionParametersJSON struct {
Phases apijson.Field
Products apijson.Field
Rules apijson.Field
@@ -934,67 +2812,67 @@ type rulesetRulesRulesetsSkipRuleActionParametersJSON struct {
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
return r.raw
}
// A phase to skip the execution of.
-type RulesetRulesRulesetsSkipRuleActionParametersPhase string
+type RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase string
const (
- RulesetRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RulesetRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RulesetRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RulesetRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RulesetRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RulesetRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
- RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RulesetRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
)
-func (r RulesetRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RulesetRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RulesetRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RulesetRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ case RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, RulesetGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
return true
}
return false
}
// The name of a legacy security product to skip the execution of.
-type RulesetRulesRulesetsSkipRuleActionParametersProduct string
+type RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct string
const (
- RulesetRulesRulesetsSkipRuleActionParametersProductBic RulesetRulesRulesetsSkipRuleActionParametersProduct = "bic"
- RulesetRulesRulesetsSkipRuleActionParametersProductHot RulesetRulesRulesetsSkipRuleActionParametersProduct = "hot"
- RulesetRulesRulesetsSkipRuleActionParametersProductRateLimit RulesetRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
- RulesetRulesRulesetsSkipRuleActionParametersProductSecurityLevel RulesetRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
- RulesetRulesRulesetsSkipRuleActionParametersProductUABlock RulesetRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
- RulesetRulesRulesetsSkipRuleActionParametersProductWAF RulesetRulesRulesetsSkipRuleActionParametersProduct = "waf"
- RulesetRulesRulesetsSkipRuleActionParametersProductZoneLockdown RulesetRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductBic RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductHot RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductWAF RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
)
-func (r RulesetRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsSkipRuleActionParametersProductBic, RulesetRulesRulesetsSkipRuleActionParametersProductHot, RulesetRulesRulesetsSkipRuleActionParametersProductRateLimit, RulesetRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RulesetRulesRulesetsSkipRuleActionParametersProductUABlock, RulesetRulesRulesetsSkipRuleActionParametersProductWAF, RulesetRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ case RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductBic, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductHot, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductWAF, RulesetGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
return true
}
return false
@@ -1002,139 +2880,43 @@ func (r RulesetRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
// A ruleset to skip the execution of. This option is incompatible with the
// rulesets, rules and phases options.
-type RulesetRulesRulesetsSkipRuleActionParametersRuleset string
+type RulesetGetResponseRulesRulesetsSkipRuleActionParametersRuleset string
const (
- RulesetRulesRulesetsSkipRuleActionParametersRulesetCurrent RulesetRulesRulesetsSkipRuleActionParametersRuleset = "current"
+ RulesetGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent RulesetGetResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
)
-func (r RulesetRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+func (r RulesetGetResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
switch r {
- case RulesetRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ case RulesetGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
return true
}
return false
}
// An object configuring the rule's logging behavior.
-type RulesetRulesRulesetsSkipRuleLogging struct {
+type RulesetGetResponseRulesRulesetsSkipRuleLogging struct {
// Whether to generate a log when the rule matches.
- Enabled bool `json:"enabled,required"`
- JSON rulesetRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+ Enabled bool `json:"enabled,required"`
+ JSON rulesetGetResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
}
-// rulesetRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata for the
-// struct [RulesetRulesRulesetsSkipRuleLogging]
-type rulesetRulesRulesetsSkipRuleLoggingJSON struct {
+// rulesetGetResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [RulesetGetResponseRulesRulesetsSkipRuleLogging]
+type rulesetGetResponseRulesRulesetsSkipRuleLoggingJSON struct {
Enabled apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
-func (r *RulesetRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
-}
-
-func (r rulesetRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
- return r.raw
-}
-
-// A ruleset object.
-type RulesetListResponse struct {
- // The kind of the ruleset.
- Kind RulesetListResponseKind `json:"kind,required"`
- // The human-readable name of the ruleset.
- Name string `json:"name,required"`
- // The phase of the ruleset.
- Phase RulesetListResponsePhase `json:"phase,required"`
- // The unique ID of the ruleset.
- ID string `json:"id"`
- // An informative description of the ruleset.
- Description string `json:"description"`
- // The timestamp of when the ruleset was last modified.
- LastUpdated time.Time `json:"last_updated" format:"date-time"`
- // The version of the ruleset.
- Version string `json:"version"`
- JSON rulesetListResponseJSON `json:"-"`
-}
-
-// rulesetListResponseJSON contains the JSON metadata for the struct
-// [RulesetListResponse]
-type rulesetListResponseJSON struct {
- Kind apijson.Field
- Name apijson.Field
- Phase apijson.Field
- ID apijson.Field
- Description apijson.Field
- LastUpdated apijson.Field
- Version apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
-}
-
-func (r *RulesetListResponse) UnmarshalJSON(data []byte) (err error) {
+func (r *RulesetGetResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
return apijson.UnmarshalRoot(data, r)
}
-func (r rulesetListResponseJSON) RawJSON() string {
+func (r rulesetGetResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
return r.raw
}
-// The kind of the ruleset.
-type RulesetListResponseKind string
-
-const (
- RulesetListResponseKindManaged RulesetListResponseKind = "managed"
- RulesetListResponseKindCustom RulesetListResponseKind = "custom"
- RulesetListResponseKindRoot RulesetListResponseKind = "root"
- RulesetListResponseKindZone RulesetListResponseKind = "zone"
-)
-
-func (r RulesetListResponseKind) IsKnown() bool {
- switch r {
- case RulesetListResponseKindManaged, RulesetListResponseKindCustom, RulesetListResponseKindRoot, RulesetListResponseKindZone:
- return true
- }
- return false
-}
-
-// The phase of the ruleset.
-type RulesetListResponsePhase string
-
-const (
- RulesetListResponsePhaseDDoSL4 RulesetListResponsePhase = "ddos_l4"
- RulesetListResponsePhaseDDoSL7 RulesetListResponsePhase = "ddos_l7"
- RulesetListResponsePhaseHTTPConfigSettings RulesetListResponsePhase = "http_config_settings"
- RulesetListResponsePhaseHTTPCustomErrors RulesetListResponsePhase = "http_custom_errors"
- RulesetListResponsePhaseHTTPLogCustomFields RulesetListResponsePhase = "http_log_custom_fields"
- RulesetListResponsePhaseHTTPRatelimit RulesetListResponsePhase = "http_ratelimit"
- RulesetListResponsePhaseHTTPRequestCacheSettings RulesetListResponsePhase = "http_request_cache_settings"
- RulesetListResponsePhaseHTTPRequestDynamicRedirect RulesetListResponsePhase = "http_request_dynamic_redirect"
- RulesetListResponsePhaseHTTPRequestFirewallCustom RulesetListResponsePhase = "http_request_firewall_custom"
- RulesetListResponsePhaseHTTPRequestFirewallManaged RulesetListResponsePhase = "http_request_firewall_managed"
- RulesetListResponsePhaseHTTPRequestLateTransform RulesetListResponsePhase = "http_request_late_transform"
- RulesetListResponsePhaseHTTPRequestOrigin RulesetListResponsePhase = "http_request_origin"
- RulesetListResponsePhaseHTTPRequestRedirect RulesetListResponsePhase = "http_request_redirect"
- RulesetListResponsePhaseHTTPRequestSanitize RulesetListResponsePhase = "http_request_sanitize"
- RulesetListResponsePhaseHTTPRequestSbfm RulesetListResponsePhase = "http_request_sbfm"
- RulesetListResponsePhaseHTTPRequestSelectConfiguration RulesetListResponsePhase = "http_request_select_configuration"
- RulesetListResponsePhaseHTTPRequestTransform RulesetListResponsePhase = "http_request_transform"
- RulesetListResponsePhaseHTTPResponseCompression RulesetListResponsePhase = "http_response_compression"
- RulesetListResponsePhaseHTTPResponseFirewallManaged RulesetListResponsePhase = "http_response_firewall_managed"
- RulesetListResponsePhaseHTTPResponseHeadersTransform RulesetListResponsePhase = "http_response_headers_transform"
- RulesetListResponsePhaseMagicTransit RulesetListResponsePhase = "magic_transit"
- RulesetListResponsePhaseMagicTransitIDsManaged RulesetListResponsePhase = "magic_transit_ids_managed"
- RulesetListResponsePhaseMagicTransitManaged RulesetListResponsePhase = "magic_transit_managed"
-)
-
-func (r RulesetListResponsePhase) IsKnown() bool {
- switch r {
- case RulesetListResponsePhaseDDoSL4, RulesetListResponsePhaseDDoSL7, RulesetListResponsePhaseHTTPConfigSettings, RulesetListResponsePhaseHTTPCustomErrors, RulesetListResponsePhaseHTTPLogCustomFields, RulesetListResponsePhaseHTTPRatelimit, RulesetListResponsePhaseHTTPRequestCacheSettings, RulesetListResponsePhaseHTTPRequestDynamicRedirect, RulesetListResponsePhaseHTTPRequestFirewallCustom, RulesetListResponsePhaseHTTPRequestFirewallManaged, RulesetListResponsePhaseHTTPRequestLateTransform, RulesetListResponsePhaseHTTPRequestOrigin, RulesetListResponsePhaseHTTPRequestRedirect, RulesetListResponsePhaseHTTPRequestSanitize, RulesetListResponsePhaseHTTPRequestSbfm, RulesetListResponsePhaseHTTPRequestSelectConfiguration, RulesetListResponsePhaseHTTPRequestTransform, RulesetListResponsePhaseHTTPResponseCompression, RulesetListResponsePhaseHTTPResponseFirewallManaged, RulesetListResponsePhaseHTTPResponseHeadersTransform, RulesetListResponsePhaseMagicTransit, RulesetListResponsePhaseMagicTransitIDsManaged, RulesetListResponsePhaseMagicTransitManaged:
- return true
- }
- return false
-}
-
type RulesetNewParams struct {
// The kind of the ruleset.
Kind param.Field[RulesetNewParamsKind] `json:"kind,required"`
@@ -1680,8 +3462,8 @@ type RulesetNewResponseEnvelope struct {
Errors []RulesetNewResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RulesetNewResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RulesetNewResponse `json:"result,required"`
// Whether the API call was successful.
Success RulesetNewResponseEnvelopeSuccess `json:"success,required"`
JSON rulesetNewResponseEnvelopeJSON `json:"-"`
@@ -1826,8 +3608,6 @@ func (r RulesetNewResponseEnvelopeSuccess) IsKnown() bool {
}
type RulesetUpdateParams struct {
- // The unique ID of the ruleset.
- ID param.Field[string] `json:"id,required"`
// The list of rules in the ruleset.
Rules param.Field[[]RulesetUpdateParamsRule] `json:"rules,required"`
// The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -2372,8 +4152,8 @@ type RulesetUpdateResponseEnvelope struct {
Errors []RulesetUpdateResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RulesetUpdateResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RulesetUpdateResponse `json:"result,required"`
// Whether the API call was successful.
Success RulesetUpdateResponseEnvelopeSuccess `json:"success,required"`
JSON rulesetUpdateResponseEnvelopeJSON `json:"-"`
@@ -2544,8 +4324,8 @@ type RulesetGetResponseEnvelope struct {
Errors []RulesetGetResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []RulesetGetResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result RulesetGetResponse `json:"result,required"`
// Whether the API call was successful.
Success RulesetGetResponseEnvelopeSuccess `json:"success,required"`
JSON rulesetGetResponseEnvelopeJSON `json:"-"`
diff --git a/rulesets/ruleset_test.go b/rulesets/ruleset_test.go
index 9e8e0140b0..eb09b2000f 100644
--- a/rulesets/ruleset_test.go
+++ b/rulesets/ruleset_test.go
@@ -115,7 +115,6 @@ func TestRulesetUpdateWithOptionalParams(t *testing.T) {
context.TODO(),
"2f2feab2026849078ba485f918791bdc",
rulesets.RulesetUpdateParams{
- ID: cloudflare.F("2f2feab2026849078ba485f918791bdc"),
Rules: cloudflare.F([]rulesets.RulesetUpdateParamsRule{rulesets.RulesetUpdateParamsRulesRulesetsBlockRule(rulesets.RulesetUpdateParamsRulesRulesetsBlockRule{
Action: cloudflare.F(rulesets.RulesetUpdateParamsRulesRulesetsBlockRuleActionBlock),
ActionParameters: cloudflare.F(rulesets.RulesetUpdateParamsRulesRulesetsBlockRuleActionParameters{
diff --git a/rulesets/version.go b/rulesets/version.go
index 614bf80df8..c0ec747e6d 100644
--- a/rulesets/version.go
+++ b/rulesets/version.go
@@ -6,6 +6,7 @@ import (
"context"
"fmt"
"net/http"
+ "reflect"
"time"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
@@ -13,6 +14,7 @@ import (
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
+ "github.com/tidwall/gjson"
)
// VersionService contains methods and other services that help with interacting
@@ -85,7 +87,7 @@ func (r *VersionService) Delete(ctx context.Context, rulesetID string, rulesetVe
}
// Fetches a specific version of an account or zone ruleset.
-func (r *VersionService) Get(ctx context.Context, rulesetID string, rulesetVersion string, query VersionGetParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *VersionService) Get(ctx context.Context, rulesetID string, rulesetVersion string, query VersionGetParams, opts ...option.RequestOption) (res *VersionGetResponse, err error) {
opts = append(r.Options[:], opts...)
var env VersionGetResponseEnvelope
var accountOrZone string
@@ -202,6 +204,894 @@ func (r VersionListResponsePhase) IsKnown() bool {
return false
}
+// A ruleset object.
+type VersionGetResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind VersionGetResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase VersionGetResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []VersionGetResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON versionGetResponseJSON `json:"-"`
+}
+
+// versionGetResponseJSON contains the JSON metadata for the struct
+// [VersionGetResponse]
+type versionGetResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type VersionGetResponseKind string
+
+const (
+ VersionGetResponseKindManaged VersionGetResponseKind = "managed"
+ VersionGetResponseKindCustom VersionGetResponseKind = "custom"
+ VersionGetResponseKindRoot VersionGetResponseKind = "root"
+ VersionGetResponseKindZone VersionGetResponseKind = "zone"
+)
+
+func (r VersionGetResponseKind) IsKnown() bool {
+ switch r {
+ case VersionGetResponseKindManaged, VersionGetResponseKindCustom, VersionGetResponseKindRoot, VersionGetResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type VersionGetResponsePhase string
+
+const (
+ VersionGetResponsePhaseDDoSL4 VersionGetResponsePhase = "ddos_l4"
+ VersionGetResponsePhaseDDoSL7 VersionGetResponsePhase = "ddos_l7"
+ VersionGetResponsePhaseHTTPConfigSettings VersionGetResponsePhase = "http_config_settings"
+ VersionGetResponsePhaseHTTPCustomErrors VersionGetResponsePhase = "http_custom_errors"
+ VersionGetResponsePhaseHTTPLogCustomFields VersionGetResponsePhase = "http_log_custom_fields"
+ VersionGetResponsePhaseHTTPRatelimit VersionGetResponsePhase = "http_ratelimit"
+ VersionGetResponsePhaseHTTPRequestCacheSettings VersionGetResponsePhase = "http_request_cache_settings"
+ VersionGetResponsePhaseHTTPRequestDynamicRedirect VersionGetResponsePhase = "http_request_dynamic_redirect"
+ VersionGetResponsePhaseHTTPRequestFirewallCustom VersionGetResponsePhase = "http_request_firewall_custom"
+ VersionGetResponsePhaseHTTPRequestFirewallManaged VersionGetResponsePhase = "http_request_firewall_managed"
+ VersionGetResponsePhaseHTTPRequestLateTransform VersionGetResponsePhase = "http_request_late_transform"
+ VersionGetResponsePhaseHTTPRequestOrigin VersionGetResponsePhase = "http_request_origin"
+ VersionGetResponsePhaseHTTPRequestRedirect VersionGetResponsePhase = "http_request_redirect"
+ VersionGetResponsePhaseHTTPRequestSanitize VersionGetResponsePhase = "http_request_sanitize"
+ VersionGetResponsePhaseHTTPRequestSbfm VersionGetResponsePhase = "http_request_sbfm"
+ VersionGetResponsePhaseHTTPRequestSelectConfiguration VersionGetResponsePhase = "http_request_select_configuration"
+ VersionGetResponsePhaseHTTPRequestTransform VersionGetResponsePhase = "http_request_transform"
+ VersionGetResponsePhaseHTTPResponseCompression VersionGetResponsePhase = "http_response_compression"
+ VersionGetResponsePhaseHTTPResponseFirewallManaged VersionGetResponsePhase = "http_response_firewall_managed"
+ VersionGetResponsePhaseHTTPResponseHeadersTransform VersionGetResponsePhase = "http_response_headers_transform"
+ VersionGetResponsePhaseMagicTransit VersionGetResponsePhase = "magic_transit"
+ VersionGetResponsePhaseMagicTransitIDsManaged VersionGetResponsePhase = "magic_transit_ids_managed"
+ VersionGetResponsePhaseMagicTransitManaged VersionGetResponsePhase = "magic_transit_managed"
+)
+
+func (r VersionGetResponsePhase) IsKnown() bool {
+ switch r {
+ case VersionGetResponsePhaseDDoSL4, VersionGetResponsePhaseDDoSL7, VersionGetResponsePhaseHTTPConfigSettings, VersionGetResponsePhaseHTTPCustomErrors, VersionGetResponsePhaseHTTPLogCustomFields, VersionGetResponsePhaseHTTPRatelimit, VersionGetResponsePhaseHTTPRequestCacheSettings, VersionGetResponsePhaseHTTPRequestDynamicRedirect, VersionGetResponsePhaseHTTPRequestFirewallCustom, VersionGetResponsePhaseHTTPRequestFirewallManaged, VersionGetResponsePhaseHTTPRequestLateTransform, VersionGetResponsePhaseHTTPRequestOrigin, VersionGetResponsePhaseHTTPRequestRedirect, VersionGetResponsePhaseHTTPRequestSanitize, VersionGetResponsePhaseHTTPRequestSbfm, VersionGetResponsePhaseHTTPRequestSelectConfiguration, VersionGetResponsePhaseHTTPRequestTransform, VersionGetResponsePhaseHTTPResponseCompression, VersionGetResponsePhaseHTTPResponseFirewallManaged, VersionGetResponsePhaseHTTPResponseHeadersTransform, VersionGetResponsePhaseMagicTransit, VersionGetResponsePhaseMagicTransitIDsManaged, VersionGetResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.VersionGetResponseRulesRulesetsBlockRule],
+// [rulesets.VersionGetResponseRulesRulesetsExecuteRule],
+// [rulesets.VersionGetResponseRulesRulesetsLogRule] or
+// [rulesets.VersionGetResponseRulesRulesetsSkipRule].
+type VersionGetResponseRule interface {
+ implementsRulesetsVersionGetResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*VersionGetResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionGetResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionGetResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionGetResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionGetResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type VersionGetResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionGetResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionGetResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionGetResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionGetResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for the
+// struct [VersionGetResponseRulesRulesetsBlockRule]
+type versionGetResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionGetResponseRulesRulesetsBlockRule) implementsRulesetsVersionGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type VersionGetResponseRulesRulesetsBlockRuleAction string
+
+const (
+ VersionGetResponseRulesRulesetsBlockRuleActionBlock VersionGetResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r VersionGetResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionGetResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response VersionGetResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON versionGetResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsBlockRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [VersionGetResponseRulesRulesetsBlockRuleActionParameters]
+type versionGetResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type VersionGetResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON versionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON contains
+// the JSON metadata for the struct
+// [VersionGetResponseRulesRulesetsBlockRuleActionParametersResponse]
+type versionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type VersionGetResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionGetResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON metadata
+// for the struct [VersionGetResponseRulesRulesetsBlockRuleLogging]
+type versionGetResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionGetResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionGetResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionGetResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionGetResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata for
+// the struct [VersionGetResponseRulesRulesetsExecuteRule]
+type versionGetResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionGetResponseRulesRulesetsExecuteRule) implementsRulesetsVersionGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type VersionGetResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ VersionGetResponseRulesRulesetsExecuteRuleActionExecute VersionGetResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r VersionGetResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData VersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [VersionGetResponseRulesRulesetsExecuteRuleActionParameters]
+type versionGetResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [VersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type versionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON contains
+// the JSON metadata for the struct
+// [VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, VersionGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionGetResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionGetResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON metadata
+// for the struct [VersionGetResponseRulesRulesetsExecuteRuleLogging]
+type versionGetResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionGetResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionGetResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionGetResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionGetResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsLogRuleJSON contains the JSON metadata for the
+// struct [VersionGetResponseRulesRulesetsLogRule]
+type versionGetResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionGetResponseRulesRulesetsLogRule) implementsRulesetsVersionGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type VersionGetResponseRulesRulesetsLogRuleAction string
+
+const (
+ VersionGetResponseRulesRulesetsLogRuleActionLog VersionGetResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r VersionGetResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionGetResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionGetResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsLogRuleLoggingJSON contains the JSON metadata for
+// the struct [VersionGetResponseRulesRulesetsLogRuleLogging]
+type versionGetResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionGetResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionGetResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionGetResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionGetResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionGetResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for the
+// struct [VersionGetResponseRulesRulesetsSkipRule]
+type versionGetResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionGetResponseRulesRulesetsSkipRule) implementsRulesetsVersionGetResponseRule() {}
+
+// The action to perform when the rule matches.
+type VersionGetResponseRulesRulesetsSkipRuleAction string
+
+const (
+ VersionGetResponseRulesRulesetsSkipRuleActionSkip VersionGetResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r VersionGetResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionGetResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset VersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON versionGetResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsSkipRuleActionParametersJSON contains the JSON
+// metadata for the struct
+// [VersionGetResponseRulesRulesetsSkipRuleActionParameters]
+type versionGetResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r VersionGetResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, VersionGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductBic VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductHot VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductWAF VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r VersionGetResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsSkipRuleActionParametersProductBic, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductHot, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductWAF, VersionGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type VersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ VersionGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent VersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r VersionGetResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case VersionGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionGetResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionGetResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// versionGetResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON metadata
+// for the struct [VersionGetResponseRulesRulesetsSkipRuleLogging]
+type versionGetResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionGetResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionGetResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
type VersionListParams struct {
// The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
AccountID param.Field[string] `path:"account_id"`
@@ -229,8 +1119,8 @@ type VersionGetResponseEnvelope struct {
Errors []VersionGetResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []VersionGetResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result VersionGetResponse `json:"result,required"`
// Whether the API call was successful.
Success VersionGetResponseEnvelopeSuccess `json:"success,required"`
JSON versionGetResponseEnvelopeJSON `json:"-"`
diff --git a/rulesets/versionbytag.go b/rulesets/versionbytag.go
index 2f4335adfd..4408478149 100644
--- a/rulesets/versionbytag.go
+++ b/rulesets/versionbytag.go
@@ -6,11 +6,14 @@ import (
"context"
"fmt"
"net/http"
+ "reflect"
+ "time"
"github.com/cloudflare/cloudflare-go/v2/internal/apijson"
"github.com/cloudflare/cloudflare-go/v2/internal/param"
"github.com/cloudflare/cloudflare-go/v2/internal/requestconfig"
"github.com/cloudflare/cloudflare-go/v2/option"
+ "github.com/tidwall/gjson"
)
// VersionByTagService contains methods and other services that help with
@@ -32,7 +35,7 @@ func NewVersionByTagService(opts ...option.RequestOption) (r *VersionByTagServic
}
// Fetches the rules of a managed account ruleset version for a given tag.
-func (r *VersionByTagService) Get(ctx context.Context, rulesetID string, rulesetVersion string, ruleTag string, query VersionByTagGetParams, opts ...option.RequestOption) (res *Ruleset, err error) {
+func (r *VersionByTagService) Get(ctx context.Context, rulesetID string, rulesetVersion string, ruleTag string, query VersionByTagGetParams, opts ...option.RequestOption) (res *VersionByTagGetResponse, err error) {
opts = append(r.Options[:], opts...)
var env VersionByTagGetResponseEnvelope
path := fmt.Sprintf("accounts/%s/rulesets/%s/versions/%s/by_tag/%s", query.AccountID, rulesetID, rulesetVersion, ruleTag)
@@ -44,6 +47,898 @@ func (r *VersionByTagService) Get(ctx context.Context, rulesetID string, ruleset
return
}
+// A ruleset object.
+type VersionByTagGetResponse struct {
+ // The unique ID of the ruleset.
+ ID string `json:"id,required"`
+ // The kind of the ruleset.
+ Kind VersionByTagGetResponseKind `json:"kind,required"`
+ // The timestamp of when the ruleset was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The human-readable name of the ruleset.
+ Name string `json:"name,required"`
+ // The phase of the ruleset.
+ Phase VersionByTagGetResponsePhase `json:"phase,required"`
+ // The list of rules in the ruleset.
+ Rules []VersionByTagGetResponseRule `json:"rules,required"`
+ // The version of the ruleset.
+ Version string `json:"version,required"`
+ // An informative description of the ruleset.
+ Description string `json:"description"`
+ JSON versionByTagGetResponseJSON `json:"-"`
+}
+
+// versionByTagGetResponseJSON contains the JSON metadata for the struct
+// [VersionByTagGetResponse]
+type versionByTagGetResponseJSON struct {
+ ID apijson.Field
+ Kind apijson.Field
+ LastUpdated apijson.Field
+ Name apijson.Field
+ Phase apijson.Field
+ Rules apijson.Field
+ Version apijson.Field
+ Description apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// The kind of the ruleset.
+type VersionByTagGetResponseKind string
+
+const (
+ VersionByTagGetResponseKindManaged VersionByTagGetResponseKind = "managed"
+ VersionByTagGetResponseKindCustom VersionByTagGetResponseKind = "custom"
+ VersionByTagGetResponseKindRoot VersionByTagGetResponseKind = "root"
+ VersionByTagGetResponseKindZone VersionByTagGetResponseKind = "zone"
+)
+
+func (r VersionByTagGetResponseKind) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseKindManaged, VersionByTagGetResponseKindCustom, VersionByTagGetResponseKindRoot, VersionByTagGetResponseKindZone:
+ return true
+ }
+ return false
+}
+
+// The phase of the ruleset.
+type VersionByTagGetResponsePhase string
+
+const (
+ VersionByTagGetResponsePhaseDDoSL4 VersionByTagGetResponsePhase = "ddos_l4"
+ VersionByTagGetResponsePhaseDDoSL7 VersionByTagGetResponsePhase = "ddos_l7"
+ VersionByTagGetResponsePhaseHTTPConfigSettings VersionByTagGetResponsePhase = "http_config_settings"
+ VersionByTagGetResponsePhaseHTTPCustomErrors VersionByTagGetResponsePhase = "http_custom_errors"
+ VersionByTagGetResponsePhaseHTTPLogCustomFields VersionByTagGetResponsePhase = "http_log_custom_fields"
+ VersionByTagGetResponsePhaseHTTPRatelimit VersionByTagGetResponsePhase = "http_ratelimit"
+ VersionByTagGetResponsePhaseHTTPRequestCacheSettings VersionByTagGetResponsePhase = "http_request_cache_settings"
+ VersionByTagGetResponsePhaseHTTPRequestDynamicRedirect VersionByTagGetResponsePhase = "http_request_dynamic_redirect"
+ VersionByTagGetResponsePhaseHTTPRequestFirewallCustom VersionByTagGetResponsePhase = "http_request_firewall_custom"
+ VersionByTagGetResponsePhaseHTTPRequestFirewallManaged VersionByTagGetResponsePhase = "http_request_firewall_managed"
+ VersionByTagGetResponsePhaseHTTPRequestLateTransform VersionByTagGetResponsePhase = "http_request_late_transform"
+ VersionByTagGetResponsePhaseHTTPRequestOrigin VersionByTagGetResponsePhase = "http_request_origin"
+ VersionByTagGetResponsePhaseHTTPRequestRedirect VersionByTagGetResponsePhase = "http_request_redirect"
+ VersionByTagGetResponsePhaseHTTPRequestSanitize VersionByTagGetResponsePhase = "http_request_sanitize"
+ VersionByTagGetResponsePhaseHTTPRequestSbfm VersionByTagGetResponsePhase = "http_request_sbfm"
+ VersionByTagGetResponsePhaseHTTPRequestSelectConfiguration VersionByTagGetResponsePhase = "http_request_select_configuration"
+ VersionByTagGetResponsePhaseHTTPRequestTransform VersionByTagGetResponsePhase = "http_request_transform"
+ VersionByTagGetResponsePhaseHTTPResponseCompression VersionByTagGetResponsePhase = "http_response_compression"
+ VersionByTagGetResponsePhaseHTTPResponseFirewallManaged VersionByTagGetResponsePhase = "http_response_firewall_managed"
+ VersionByTagGetResponsePhaseHTTPResponseHeadersTransform VersionByTagGetResponsePhase = "http_response_headers_transform"
+ VersionByTagGetResponsePhaseMagicTransit VersionByTagGetResponsePhase = "magic_transit"
+ VersionByTagGetResponsePhaseMagicTransitIDsManaged VersionByTagGetResponsePhase = "magic_transit_ids_managed"
+ VersionByTagGetResponsePhaseMagicTransitManaged VersionByTagGetResponsePhase = "magic_transit_managed"
+)
+
+func (r VersionByTagGetResponsePhase) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponsePhaseDDoSL4, VersionByTagGetResponsePhaseDDoSL7, VersionByTagGetResponsePhaseHTTPConfigSettings, VersionByTagGetResponsePhaseHTTPCustomErrors, VersionByTagGetResponsePhaseHTTPLogCustomFields, VersionByTagGetResponsePhaseHTTPRatelimit, VersionByTagGetResponsePhaseHTTPRequestCacheSettings, VersionByTagGetResponsePhaseHTTPRequestDynamicRedirect, VersionByTagGetResponsePhaseHTTPRequestFirewallCustom, VersionByTagGetResponsePhaseHTTPRequestFirewallManaged, VersionByTagGetResponsePhaseHTTPRequestLateTransform, VersionByTagGetResponsePhaseHTTPRequestOrigin, VersionByTagGetResponsePhaseHTTPRequestRedirect, VersionByTagGetResponsePhaseHTTPRequestSanitize, VersionByTagGetResponsePhaseHTTPRequestSbfm, VersionByTagGetResponsePhaseHTTPRequestSelectConfiguration, VersionByTagGetResponsePhaseHTTPRequestTransform, VersionByTagGetResponsePhaseHTTPResponseCompression, VersionByTagGetResponsePhaseHTTPResponseFirewallManaged, VersionByTagGetResponsePhaseHTTPResponseHeadersTransform, VersionByTagGetResponsePhaseMagicTransit, VersionByTagGetResponsePhaseMagicTransitIDsManaged, VersionByTagGetResponsePhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// Union satisfied by [rulesets.VersionByTagGetResponseRulesRulesetsBlockRule],
+// [rulesets.VersionByTagGetResponseRulesRulesetsExecuteRule],
+// [rulesets.VersionByTagGetResponseRulesRulesetsLogRule] or
+// [rulesets.VersionByTagGetResponseRulesRulesetsSkipRule].
+type VersionByTagGetResponseRule interface {
+ implementsRulesetsVersionByTagGetResponseRule()
+}
+
+func init() {
+ apijson.RegisterUnion(
+ reflect.TypeOf((*VersionByTagGetResponseRule)(nil)).Elem(),
+ "action",
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionByTagGetResponseRulesRulesetsBlockRule{}),
+ DiscriminatorValue: "block",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionByTagGetResponseRulesRulesetsExecuteRule{}),
+ DiscriminatorValue: "execute",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionByTagGetResponseRulesRulesetsLogRule{}),
+ DiscriminatorValue: "log",
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(VersionByTagGetResponseRulesRulesetsSkipRule{}),
+ DiscriminatorValue: "skip",
+ },
+ )
+}
+
+type VersionByTagGetResponseRulesRulesetsBlockRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionByTagGetResponseRulesRulesetsBlockRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionByTagGetResponseRulesRulesetsBlockRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionByTagGetResponseRulesRulesetsBlockRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionByTagGetResponseRulesRulesetsBlockRuleJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsBlockRuleJSON contains the JSON metadata for
+// the struct [VersionByTagGetResponseRulesRulesetsBlockRule]
+type versionByTagGetResponseRulesRulesetsBlockRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsBlockRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsBlockRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionByTagGetResponseRulesRulesetsBlockRule) implementsRulesetsVersionByTagGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type VersionByTagGetResponseRulesRulesetsBlockRuleAction string
+
+const (
+ VersionByTagGetResponseRulesRulesetsBlockRuleActionBlock VersionByTagGetResponseRulesRulesetsBlockRuleAction = "block"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsBlockRuleAction) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsBlockRuleActionBlock:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionByTagGetResponseRulesRulesetsBlockRuleActionParameters struct {
+ // The response to show when the block is applied.
+ Response VersionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponse `json:"response"`
+ JSON versionByTagGetResponseRulesRulesetsBlockRuleActionParametersJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsBlockRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsBlockRuleActionParameters]
+type versionByTagGetResponseRulesRulesetsBlockRuleActionParametersJSON struct {
+ Response apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsBlockRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsBlockRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The response to show when the block is applied.
+type VersionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponse struct {
+ // The content to return.
+ Content string `json:"content,required"`
+ // The type of the content to return.
+ ContentType string `json:"content_type,required"`
+ // The status code to return.
+ StatusCode int64 `json:"status_code,required"`
+ JSON versionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON
+// contains the JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponse]
+type versionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON struct {
+ Content apijson.Field
+ ContentType apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponse) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsBlockRuleActionParametersResponseJSON) RawJSON() string {
+ return r.raw
+}
+
+// An object configuring the rule's logging behavior.
+type VersionByTagGetResponseRulesRulesetsBlockRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionByTagGetResponseRulesRulesetsBlockRuleLoggingJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsBlockRuleLoggingJSON contains the JSON
+// metadata for the struct [VersionByTagGetResponseRulesRulesetsBlockRuleLogging]
+type versionByTagGetResponseRulesRulesetsBlockRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsBlockRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsBlockRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionByTagGetResponseRulesRulesetsExecuteRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionByTagGetResponseRulesRulesetsExecuteRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionByTagGetResponseRulesRulesetsExecuteRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionByTagGetResponseRulesRulesetsExecuteRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleJSON contains the JSON metadata
+// for the struct [VersionByTagGetResponseRulesRulesetsExecuteRule]
+type versionByTagGetResponseRulesRulesetsExecuteRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionByTagGetResponseRulesRulesetsExecuteRule) implementsRulesetsVersionByTagGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleAction string
+
+const (
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionExecute VersionByTagGetResponseRulesRulesetsExecuteRuleAction = "execute"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsExecuteRuleAction) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsExecuteRuleActionExecute:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParameters struct {
+ // The ID of the ruleset to execute.
+ ID string `json:"id,required"`
+ // The configuration to use for matched data logging.
+ MatchedData VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData `json:"matched_data"`
+ // A set of overrides to apply to the target ruleset.
+ Overrides VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverrides `json:"overrides"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsExecuteRuleActionParameters]
+type versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersJSON struct {
+ ID apijson.Field
+ MatchedData apijson.Field
+ Overrides apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// The configuration to use for matched data logging.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData struct {
+ // The public key to encrypt matched data logs with.
+ PublicKey string `json:"public_key,required"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON
+// contains the JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData]
+type versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON struct {
+ PublicKey apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersMatchedDataJSON) RawJSON() string {
+ return r.raw
+}
+
+// A set of overrides to apply to the target ruleset.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverrides struct {
+ // An action to override all rules with. This option has lower precedence than rule
+ // and category overrides.
+ Action string `json:"action"`
+ // A list of category-level overrides. This option has the second-highest
+ // precedence after rule-level overrides.
+ Categories []VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory `json:"categories"`
+ // Whether to enable execution of all rules. This option has lower precedence than
+ // rule and category overrides.
+ Enabled bool `json:"enabled"`
+ // A list of rule-level overrides. This option has the highest precedence.
+ Rules []VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule `json:"rules"`
+ // A sensitivity level to set for all rules. This option has lower precedence than
+ // rule and category overrides and is only applicable for DDoS phases.
+ SensitivityLevel VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON
+// contains the JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverrides]
+type versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON struct {
+ Action apijson.Field
+ Categories apijson.Field
+ Enabled apijson.Field
+ Rules apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverrides) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesJSON) RawJSON() string {
+ return r.raw
+}
+
+// A category-level override
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory struct {
+ // The name of the category to override.
+ Category string `json:"category,required"`
+ // The action to override rules in the category with.
+ Action string `json:"action"`
+ // Whether to enable execution of rules in the category.
+ Enabled bool `json:"enabled"`
+ // The sensitivity level to use for rules in the category.
+ SensitivityLevel VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON
+// contains the JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory]
+type versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON struct {
+ Category apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategory) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoryJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for rules in the category.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel string
+
+const (
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "default"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "medium"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "low"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel = "eoff"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelDefault, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelMedium, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelLow, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesCategoriesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A rule-level override
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule struct {
+ // The ID of the rule to override.
+ ID string `json:"id,required"`
+ // The action to override the rule with.
+ Action string `json:"action"`
+ // Whether to enable execution of the rule.
+ Enabled bool `json:"enabled"`
+ // The score threshold to use for the rule.
+ ScoreThreshold int64 `json:"score_threshold"`
+ // The sensitivity level to use for the rule.
+ SensitivityLevel VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel `json:"sensitivity_level"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON
+// contains the JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule]
+type versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON struct {
+ ID apijson.Field
+ Action apijson.Field
+ Enabled apijson.Field
+ ScoreThreshold apijson.Field
+ SensitivityLevel apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+// The sensitivity level to use for the rule.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel string
+
+const (
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "default"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "medium"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "low"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel = "eoff"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelDefault, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelMedium, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelLow, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesRulesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// A sensitivity level to set for all rules. This option has lower precedence than
+// rule and category overrides and is only applicable for DDoS phases.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel string
+
+const (
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "default"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "medium"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "low"
+ VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel = "eoff"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevel) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelDefault, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelMedium, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelLow, VersionByTagGetResponseRulesRulesetsExecuteRuleActionParametersOverridesSensitivityLevelEoff:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionByTagGetResponseRulesRulesetsExecuteRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionByTagGetResponseRulesRulesetsExecuteRuleLoggingJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsExecuteRuleLoggingJSON contains the JSON
+// metadata for the struct [VersionByTagGetResponseRulesRulesetsExecuteRuleLogging]
+type versionByTagGetResponseRulesRulesetsExecuteRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsExecuteRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsExecuteRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionByTagGetResponseRulesRulesetsLogRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionByTagGetResponseRulesRulesetsLogRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters interface{} `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionByTagGetResponseRulesRulesetsLogRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionByTagGetResponseRulesRulesetsLogRuleJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsLogRuleJSON contains the JSON metadata for
+// the struct [VersionByTagGetResponseRulesRulesetsLogRule]
+type versionByTagGetResponseRulesRulesetsLogRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsLogRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsLogRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionByTagGetResponseRulesRulesetsLogRule) implementsRulesetsVersionByTagGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type VersionByTagGetResponseRulesRulesetsLogRuleAction string
+
+const (
+ VersionByTagGetResponseRulesRulesetsLogRuleActionLog VersionByTagGetResponseRulesRulesetsLogRuleAction = "log"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsLogRuleAction) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsLogRuleActionLog:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionByTagGetResponseRulesRulesetsLogRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionByTagGetResponseRulesRulesetsLogRuleLoggingJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsLogRuleLoggingJSON contains the JSON
+// metadata for the struct [VersionByTagGetResponseRulesRulesetsLogRuleLogging]
+type versionByTagGetResponseRulesRulesetsLogRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsLogRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsLogRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
+type VersionByTagGetResponseRulesRulesetsSkipRule struct {
+ // The timestamp of when the rule was last modified.
+ LastUpdated time.Time `json:"last_updated,required" format:"date-time"`
+ // The version of the rule.
+ Version string `json:"version,required"`
+ // The unique ID of the rule.
+ ID string `json:"id"`
+ // The action to perform when the rule matches.
+ Action VersionByTagGetResponseRulesRulesetsSkipRuleAction `json:"action"`
+ // The parameters configuring the rule's action.
+ ActionParameters VersionByTagGetResponseRulesRulesetsSkipRuleActionParameters `json:"action_parameters"`
+ // The categories of the rule.
+ Categories []string `json:"categories"`
+ // An informative description of the rule.
+ Description string `json:"description"`
+ // Whether the rule should be executed.
+ Enabled bool `json:"enabled"`
+ // The expression defining which traffic will match the rule.
+ Expression string `json:"expression"`
+ // An object configuring the rule's logging behavior.
+ Logging VersionByTagGetResponseRulesRulesetsSkipRuleLogging `json:"logging"`
+ // The reference of the rule (the rule ID by default).
+ Ref string `json:"ref"`
+ JSON versionByTagGetResponseRulesRulesetsSkipRuleJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsSkipRuleJSON contains the JSON metadata for
+// the struct [VersionByTagGetResponseRulesRulesetsSkipRule]
+type versionByTagGetResponseRulesRulesetsSkipRuleJSON struct {
+ LastUpdated apijson.Field
+ Version apijson.Field
+ ID apijson.Field
+ Action apijson.Field
+ ActionParameters apijson.Field
+ Categories apijson.Field
+ Description apijson.Field
+ Enabled apijson.Field
+ Expression apijson.Field
+ Logging apijson.Field
+ Ref apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsSkipRule) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsSkipRuleJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r VersionByTagGetResponseRulesRulesetsSkipRule) implementsRulesetsVersionByTagGetResponseRule() {
+}
+
+// The action to perform when the rule matches.
+type VersionByTagGetResponseRulesRulesetsSkipRuleAction string
+
+const (
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionSkip VersionByTagGetResponseRulesRulesetsSkipRuleAction = "skip"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsSkipRuleAction) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsSkipRuleActionSkip:
+ return true
+ }
+ return false
+}
+
+// The parameters configuring the rule's action.
+type VersionByTagGetResponseRulesRulesetsSkipRuleActionParameters struct {
+ // A list of phases to skip the execution of. This option is incompatible with the
+ // ruleset and rulesets options.
+ Phases []VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase `json:"phases"`
+ // A list of legacy security products to skip the execution of.
+ Products []VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct `json:"products"`
+ // A mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the
+ // execution of. This option is incompatible with the ruleset option.
+ Rules map[string][]string `json:"rules"`
+ // A ruleset to skip the execution of. This option is incompatible with the
+ // rulesets, rules and phases options.
+ Ruleset VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRuleset `json:"ruleset"`
+ // A list of ruleset IDs to skip the execution of. This option is incompatible with
+ // the ruleset and phases options.
+ Rulesets []string `json:"rulesets"`
+ JSON versionByTagGetResponseRulesRulesetsSkipRuleActionParametersJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsSkipRuleActionParametersJSON contains the
+// JSON metadata for the struct
+// [VersionByTagGetResponseRulesRulesetsSkipRuleActionParameters]
+type versionByTagGetResponseRulesRulesetsSkipRuleActionParametersJSON struct {
+ Phases apijson.Field
+ Products apijson.Field
+ Rules apijson.Field
+ Ruleset apijson.Field
+ Rulesets apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsSkipRuleActionParameters) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsSkipRuleActionParametersJSON) RawJSON() string {
+ return r.raw
+}
+
+// A phase to skip the execution of.
+type VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase string
+
+const (
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4 VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l4"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7 VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "ddos_l7"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_config_settings"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_custom_errors"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_log_custom_fields"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_ratelimit"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_cache_settings"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_dynamic_redirect"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_custom"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_firewall_managed"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_late_transform"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_origin"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_redirect"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sanitize"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_sbfm"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_select_configuration"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_request_transform"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_compression"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_firewall_managed"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "http_response_headers_transform"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_ids_managed"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase = "magic_transit_managed"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhase) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL4, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseDDoSL7, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPConfigSettings, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPCustomErrors, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPLogCustomFields, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRatelimit, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestCacheSettings, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestDynamicRedirect, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallCustom, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestFirewallManaged, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestLateTransform, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestOrigin, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestRedirect, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSanitize, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSbfm, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestSelectConfiguration, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPRequestTransform, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseCompression, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseFirewallManaged, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseHTTPResponseHeadersTransform, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransit, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitIDsManaged, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersPhaseMagicTransitManaged:
+ return true
+ }
+ return false
+}
+
+// The name of a legacy security product to skip the execution of.
+type VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct string
+
+const (
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductBic VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "bic"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductHot VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "hot"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "rateLimit"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "securityLevel"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "uaBlock"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductWAF VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "waf"
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct = "zoneLockdown"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProduct) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductBic, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductHot, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductRateLimit, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductSecurityLevel, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductUABlock, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductWAF, VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersProductZoneLockdown:
+ return true
+ }
+ return false
+}
+
+// A ruleset to skip the execution of. This option is incompatible with the
+// rulesets, rules and phases options.
+type VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRuleset string
+
+const (
+ VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRuleset = "current"
+)
+
+func (r VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRuleset) IsKnown() bool {
+ switch r {
+ case VersionByTagGetResponseRulesRulesetsSkipRuleActionParametersRulesetCurrent:
+ return true
+ }
+ return false
+}
+
+// An object configuring the rule's logging behavior.
+type VersionByTagGetResponseRulesRulesetsSkipRuleLogging struct {
+ // Whether to generate a log when the rule matches.
+ Enabled bool `json:"enabled,required"`
+ JSON versionByTagGetResponseRulesRulesetsSkipRuleLoggingJSON `json:"-"`
+}
+
+// versionByTagGetResponseRulesRulesetsSkipRuleLoggingJSON contains the JSON
+// metadata for the struct [VersionByTagGetResponseRulesRulesetsSkipRuleLogging]
+type versionByTagGetResponseRulesRulesetsSkipRuleLoggingJSON struct {
+ Enabled apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *VersionByTagGetResponseRulesRulesetsSkipRuleLogging) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r versionByTagGetResponseRulesRulesetsSkipRuleLoggingJSON) RawJSON() string {
+ return r.raw
+}
+
type VersionByTagGetParams struct {
// The unique ID of the account.
AccountID param.Field[string] `path:"account_id,required"`
@@ -55,8 +950,8 @@ type VersionByTagGetResponseEnvelope struct {
Errors []VersionByTagGetResponseEnvelopeErrors `json:"errors,required"`
// A list of warning messages.
Messages []VersionByTagGetResponseEnvelopeMessages `json:"messages,required"`
- // A result.
- Result Ruleset `json:"result,required"`
+ // A ruleset object.
+ Result VersionByTagGetResponse `json:"result,required"`
// Whether the API call was successful.
Success VersionByTagGetResponseEnvelopeSuccess `json:"success,required"`
JSON versionByTagGetResponseEnvelopeJSON `json:"-"`