appsec

package
v2.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2021 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Overview

Package appsec provides access to the Akamai Application Security APIs

Index

Constants

View Source
const (

	// ActivationTypeActivate is used to activate a configuration.
	ActivationTypeActivate ActivationValue = "ACTIVATE"

	// ActivationTypeDeactivate is used to deactivate a configuration.
	ActivationTypeDeactivate ActivationValue = "DEACTIVATE"

	// NetworkProduction is used to activate/deactivate a configuration in the production network.
	NetworkProduction NetworkValue = "PRODUCTION"

	// NetworkStaging is used to activate/deactivate a configuration in the staging network.
	NetworkStaging NetworkValue = "STAGING"

	// StatusActive indicates that a configuration has been activated.
	StatusActive StatusValue = "ACTIVATED"

	// StatusInactive indicates that a configuration is inactive.
	StatusInactive StatusValue = "INACTIVE"

	// StatusPending indicates that an activation/deactivation request has been received.
	StatusPending StatusValue = "RECEIVED"

	// StatusAborted indicates that an activation/deactivation request has been aborted.
	StatusAborted StatusValue = "ABORTED"

	// StatusFailed indicates that an activation/deactivation request has failed.
	StatusFailed StatusValue = "FAILED"

	// StatusDeactivated indicates that an configuration has been deactivated.
	StatusDeactivated StatusValue = "DEACTIVATED"

	// StatusPendingDeactivation indicates that a deactivation request is in progress.
	StatusPendingDeactivation StatusValue = "PENDING_DEACTIVATION"

	// StatusNew indicates that a deactivation request is new.
	StatusNew StatusValue = "NEW"
)

Variables

View Source
var (
	// ErrBadRequest is returned when a required parameter is missing.
	ErrBadRequest = errors.New("missing argument")
)
View Source
var (
	// ErrStructValidation is returned returned when given struct validation failed
	ErrStructValidation = errors.New("struct validation")
)

Functions

This section is empty.

Types

type APIRequestConstraintsexp added in v2.2.0

type APIRequestConstraintsexp struct {
	Action       string `json:"action,omitempty"`
	APIEndpoints []struct {
		Action string `json:"action"`
		ID     int    `json:"id"`
	} `json:"apiEndpoints,omitempty"`
}

APIRequestConstraintsexp is returned as part of GetExportConfigurationsResponse.

type ActivationConfigs

type ActivationConfigs struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
}

ActivationConfigs describes a specific configuration version to be activated or deactivated.

type ActivationValue

type ActivationValue string

ActivationValue is used to create an "enum" of possible Activation.ActivationType values

type Activations

type Activations interface {
	// GetActivations returns the status of an activation.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getactivationid
	GetActivations(ctx context.Context, params GetActivationsRequest) (*GetActivationsResponse, error)

	// CreateActivations activates a configuration. If acknowledgeWarnings is true and warnings are
	// returned on the first attempt, a second attempt is made acknowledging the warnings.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#postactivations
	CreateActivations(ctx context.Context, params CreateActivationsRequest, acknowledgeWarnings bool) (*CreateActivationsResponse, error)

	// RemoveActivations deactivates a configuration.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#postactivations
	RemoveActivations(ctx context.Context, params RemoveActivationsRequest) (*RemoveActivationsResponse, error)
}

The Activations interface supports the activation and deactivation of security configurations.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#activation

type AdvancedOptionsexp added in v2.2.0

type AdvancedOptionsexp struct {
	Logging  *Loggingexp `json:"logging"`
	Prefetch struct {
		AllExtensions      bool     `json:"allExtensions"`
		EnableAppLayer     bool     `json:"enableAppLayer"`
		EnableRateControls bool     `json:"enableRateControls"`
		Extensions         []string `json:"extensions"`
	} `json:"prefetch"`
	PragmaHeader *GetAdvancedSettingsPragmaResponse `json:"pragmaHeader,omitempty"`
}

AdvancedOptionsexp is returned as part of GetExportConfigurationsResponse.

type AdvancedSettingsCookies added in v2.2.0

type AdvancedSettingsCookies struct {
	Type   string   `json:"type"`
	Values []string `json:"values,omitempty"`
}

AdvancedSettingsCookies contains a list of cookie headers to be logged or not logged depending on the Type field.

type AdvancedSettingsCustomHeaders added in v2.2.0

type AdvancedSettingsCustomHeaders struct {
	Type   string   `json:"type,omitempty"`
	Values []string `json:"values,omitempty"`
}

AdvancedSettingsCustomHeaders contains a list of custom headers to be logged or not logged depending on the Type field.

type AdvancedSettingsLogging added in v2.2.0

type AdvancedSettingsLogging interface {
	// AdvancedSettingsLogging lists the HTTP header logging settings for a configuration or policy. If
	// the request specifies a policy, then the settings for that policy will be returned, otherwise the
	// settings for the configuration will be returned.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#gethttpheaderloggingforaconfiguration
	GetAdvancedSettingsLogging(ctx context.Context, params GetAdvancedSettingsLoggingRequest) (*GetAdvancedSettingsLoggingResponse, error)

	// UpdateAdvancedSettingsLogging enables, disables, or updates the HTTP header logging settings for a
	// configuration or policy. If the request specifies a policy, then the settings for that policy will
	// updated, otherwise the settings for the configuration will be updated.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#puthttpheaderloggingforaconfiguration
	UpdateAdvancedSettingsLogging(ctx context.Context, params UpdateAdvancedSettingsLoggingRequest) (*UpdateAdvancedSettingsLoggingResponse, error)

	// RemoveAdvancedSettingsLogging disables HTTP header logging for a confguration or policy. If the request
	// specifies a policy, then header logging will be disabled for that policy, otherwise logging will be
	// disabled for the configuration.
	RemoveAdvancedSettingsLogging(ctx context.Context, params RemoveAdvancedSettingsLoggingRequest) (*RemoveAdvancedSettingsLoggingResponse, error)
}

The AdvancedSettingsLogging interface supports retrieving, updating or removing settings related to HTTP header logging.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#headerlog

type AdvancedSettingsStandardHeaders added in v2.2.0

type AdvancedSettingsStandardHeaders struct {
	Type   string   `json:"type,omitempty"`
	Values []string `json:"values,omitempty"`
}

AdvancedSettingsStandardHeaders contains a list of standard headers to be logged or not logged depending on the Type field.

type ApiEndpoint added in v2.2.0

type ApiEndpoint struct {
	ID     int    `json:"id"`
	Action string `json:"action"`
}

ApiEndpoint describes an API endpoint and its associated action.

type ApiEndpoints added in v2.2.0

The ApiEndpoints interface supports retrieving the API endpoints associated with a security policy.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#apiendpoint

type ApiHostnameCoverage added in v2.2.0

The ApiHostnameCoverage interface supports retrieving hostnames with their current protections, activation statuses, and other summary information.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#hostnamecoverage

type ApiHostnameCoverageMatchTargets added in v2.2.0

The ApiHostnameCoverageMatchTargets interface supports retrieving the API and website match targets that protect a hostname.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#hostnamecoverage

type ApiHostnameCoverageOverlapping added in v2.2.0

The ApiHostnameCoverageOverlapping interface supports listing the configuration versions that contain a hostname also included in the given configuration version.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#hostnameoverlap

type AtomicConditionsexp added in v2.2.0

type AtomicConditionsexp []struct {
	CheckIps      *json.RawMessage `json:"checkIps,omitempty"`
	ClassName     string           `json:"className,omitempty"`
	Index         int              `json:"index,omitempty"`
	PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
	Value         []string         `json:"value,omitempty"`
	Name          *json.RawMessage `json:"name,omitempty"`
	NameCase      bool             `json:"nameCase,omitempty"`
	NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
	ValueCase     bool             `json:"valueCase,omitempty"`
	ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
	Host          []string         `json:"host,omitempty"`
}

AtomicConditionsexp is returned as part of GetExportConfigurationsResponse.

type AttackGroupAdvancedCriteria added in v2.5.0

type AttackGroupAdvancedCriteria []struct {
	Hostnames []string `json:"hostnames,omitempty"`
	Names     []string `json:"names,omitempty"`
	Paths     []string `json:"paths,omitempty"`
	Values    []string `json:"values,omitempty"`
}

AttackGroupAdvancedCriteria describes the hostname and path criteria used to limit the scope of an exception.

type AttackGroupAdvancedExceptions added in v2.2.0

type AttackGroupAdvancedExceptions struct {
	ConditionOperator                       string                                                      `json:"conditionOperator,omitempty"`
	Conditions                              *AttackGroupConditions                                      `json:"conditions,omitempty"`
	HeaderCookieOrParamValues               *AttackGroupHeaderCookieOrParamValuesAdvanced               `json:"headerCookieOrParamValues,omitempty"`
	SpecificHeaderCookieOrParamNameValue    *AttackGroupSpecificHeaderCookieOrParamNameValAdvanced      `json:"specificHeaderCookieOrParamNameValue,omitempty"`
	SpecificHeaderCookieParamXMLOrJSONNames *AttackGroupSpecificHeaderCookieParamXMLOrJSONNamesAdvanced `json:"specificHeaderCookieParamXmlOrJsonNames,omitempty"`
}

AttackGroupAdvancedExceptions describes an attack group's advanced exception information.

type AttackGroupConditionException added in v2.0.4

type AttackGroupConditionException struct {
	AdvancedExceptionsList *AttackGroupAdvancedExceptions `json:"advancedExceptions,omitempty"`
	Exception              *AttackGroupException          `json:"exception,omitempty"`
}

AttackGroupConditionException describes an attack group's condition and exception information.

type AttackGroupConditions added in v2.2.0

type AttackGroupConditions []struct {
	Type          string   `json:"type,omitempty"`
	Extensions    []string `json:"extensions,omitempty"`
	Filenames     []string `json:"filenames,omitempty"`
	Hosts         []string `json:"hosts,omitempty"`
	Ips           []string `json:"ips,omitempty"`
	Methods       []string `json:"methods,omitempty"`
	Paths         []string `json:"paths,omitempty"`
	Header        string   `json:"header,omitempty"`
	CaseSensitive bool     `json:"caseSensitive,omitempty"`
	Name          string   `json:"name,omitempty"`
	NameCase      bool     `json:"nameCase,omitempty"`
	PositiveMatch bool     `json:"positiveMatch"`
	Value         string   `json:"value,omitempty"`
	Wildcard      bool     `json:"wildcard,omitempty"`
	ValueCase     bool     `json:"valueCase,omitempty"`
	ValueWildcard bool     `json:"valueWildcard,omitempty"`
	UseHeaders    bool     `json:"useHeaders,omitempty"`
}

AttackGroupConditions describes an attack group's condition information.

type AttackGroupException added in v2.2.0

type AttackGroupException struct {
	SpecificHeaderCookieParamXMLOrJSONNames *AttackGroupSpecificHeaderCookieParamXMLOrJSONNames `json:"specificHeaderCookieParamXmlOrJsonNames,omitempty"`
}

AttackGroupException is used to describe an exception that can be used to conditionally exclude requests from inspection.

type AttackGroupHeaderCookieOrParamValuesAdvanced added in v2.5.0

type AttackGroupHeaderCookieOrParamValuesAdvanced []struct {
	Criteria      *AttackGroupAdvancedCriteria `json:"criteria,omitempty"`
	ValueWildcard bool                         `json:"valueWildcard"`
	Values        []string                     `json:"values,omitempty"`
}

AttackGroupHeaderCookieOrParamValuesAdvanced describes the list of excepted values in headers, cookies, or query parameters.

type AttackGroupSpecificHeaderCookieOrParamNameValAdvanced added in v2.5.0

type AttackGroupSpecificHeaderCookieOrParamNameValAdvanced []struct {
	Criteria    *AttackGroupAdvancedCriteria `json:"criteria,omitempty"`
	NamesValues []struct {
		Names  []string `json:"names"`
		Values []string `json:"values"`
	} `json:"namesValues"`
	Selector      string `json:"selector"`
	ValueWildcard bool   `json:"valueWildcard"`
	Wildcard      bool   `json:"wildcard"`
}

AttackGroupSpecificHeaderCookieOrParamNameValAdvanced describes the excepted name-value pairs in a request.

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNames added in v2.2.0

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNames []struct {
	Names    []string `json:"names,omitempty"`
	Selector string   `json:"selector,omitempty"`
	Wildcard bool     `json:"wildcard,omitempty"`
}

AttackGroupSpecificHeaderCookieParamXMLOrJSONNames describes the advanced exception members that can be used to conditionally exclude requests from inspection.

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNamesAdvanced added in v2.5.0

type AttackGroupSpecificHeaderCookieParamXMLOrJSONNamesAdvanced []struct {
	Criteria *AttackGroupAdvancedCriteria `json:"criteria,omitempty"`
	Names    []string                     `json:"names,omitempty"`
	Selector string                       `json:"selector,omitempty"`
	Wildcard bool                         `json:"wildcard,omitempty"`
}

AttackGroupSpecificHeaderCookieParamXMLOrJSONNamesAdvanced describes the advanced exception members that allow you to conditionally exclude requests from inspection.

type AutoGenerated added in v2.2.0

type AutoGenerated struct {
	Type string `json:"type"`
	Apis []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"apis"`
	BypassNetworkLists []struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"bypassNetworkLists"`
	ConfigID       int `json:"configId"`
	ConfigVersion  int `json:"configVersion"`
	SecurityPolicy struct {
		PolicyID string `json:"policyId"`
	} `json:"securityPolicy"`
	Sequence int `json:"-"`
	TargetID int `json:"targetId"`
}

AutoGenerated is currently unused.

type BypassNetworkList

type BypassNetworkList struct {
	Name string `json:"name"`
	ID   string `json:"id"`
}

BypassNetworkList describes a network list used in the bypass network lists for the specified configuration.

type ClientFunc

type ClientFunc func(sess session.Session, opts ...Option) APPSEC

ClientFunc is a appsec client new method, this can used for mocking

type ClientReputationReputationProfileActions added in v2.3.0

type ClientReputationReputationProfileActions []struct {
	Action string `json:"action"`
	ID     int    `json:"id"`
}

ClientReputationReputationProfileActions is returned as part of GetExportConfigurationsResponse.

type ConditionReputationProfile added in v2.2.0

type ConditionReputationProfile struct {
	AtomicConditions *AtomicConditionsexp `json:"atomicConditions,omitempty"`
	CanDelete        bool                 `json:"-"`
	ConfigVersionID  int                  `json:"-"`
	ID               int                  `json:"-"`
	Name             string               `json:"-"`
	PositiveMatch    *json.RawMessage     `json:"positiveMatch,omitempty"`
	UUID             string               `json:"-"`
	Version          int64                `json:"-"`
}

ConditionReputationProfile is returned as part of GetExportConfigurationsResponse.

type ConditionsExp added in v2.2.0

type ConditionsExp []struct {
	Type          string           `json:"type"`
	PositiveMatch bool             `json:"positiveMatch"`
	Name          *json.RawMessage `json:"name,omitempty"`
	NameCase      *json.RawMessage `json:"nameCase,omitempty"`
	NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
	Value         *json.RawMessage `json:"value,omitempty"`
	ValueCase     *json.RawMessage `json:"valueCase,omitempty"`
	ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
}

ConditionsExp is returned as part of GetExportConfigurationsResponse.

type ConditionsValue added in v2.2.0

type ConditionsValue []string

ConditionsValue is a slice of strings that describe conditions.

func (*ConditionsValue) UnmarshalJSON added in v2.2.0

func (c *ConditionsValue) UnmarshalJSON(data []byte) error

UnmarshalJSON reads a ConditionsValue struct from its data argument.

type ConfigurationHostnameCoverage added in v2.2.0

type ConfigurationHostnameCoverage struct {
	ID      int    `json:"id,omitempty"`
	Name    string `json:"name,omitempty"`
	Version int    `json:"version,omitempty"`
}

ConfigurationHostnameCoverage describes a specific configuration version.

type ContractsGroups added in v2.2.0

The ContractsGroups interface supports listing the contracts and groups for the current account. Each object contains the contract, groups associated with the contract, and whether Kona Site Defender or Web Application Protector is the product for that contract.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#contractgroup

type CreateActivationsRequest

type CreateActivationsRequest struct {
	Action             string   `json:"action"`
	Network            string   `json:"network"`
	Note               string   `json:"note"`
	NotificationEmails []string `json:"notificationEmails"`
	ActivationConfigs  []struct {
		ConfigID      int `json:"configId"`
		ConfigVersion int `json:"configVersion"`
	} `json:"activationConfigs"`
}

CreateActivationsRequest is used to request activation or deactivation of a configuration.

type CreateActivationsResponse

type CreateActivationsResponse struct {
	DispatchCount     int          `json:"dispatchCount"`
	ActivationID      int          `json:"activationId"`
	Action            string       `json:"action"`
	Status            StatusValue  `json:"status"`
	Network           NetworkValue `json:"network"`
	Estimate          string       `json:"estimate"`
	CreatedBy         string       `json:"createdBy"`
	CreateDate        time.Time    `json:"createDate"`
	ActivationConfigs []struct {
		ConfigID              int    `json:"configId"`
		ConfigName            string `json:"configName"`
		ConfigVersion         int    `json:"configVersion"`
		PreviousConfigVersion int    `json:"previousConfigVersion"`
	} `json:"activationConfigs"`
}

CreateActivationsResponse is returned from a call to CreateActivations.

type CreateConfigurationCloneRequest

type CreateConfigurationCloneRequest struct {
	Name        string   `json:"name"`
	Description string   `json:"description"`
	ContractID  string   `json:"contractId"`
	GroupID     int      `json:"groupId"`
	Hostnames   []string `json:"hostnames"`
	CreateFrom  struct {
		ConfigID int `json:"configId"`
		Version  int `json:"version"`
	} `json:"createFrom"`
}

CreateConfigurationCloneRequest is used to clone an existing security configuration.

func (CreateConfigurationCloneRequest) Validate

Validate validates a CreateConfigurationCloneRequest.

type CreateConfigurationCloneResponse

type CreateConfigurationCloneResponse struct {
	ConfigID    int    `json:"configId"`
	Version     int    `json:"version"`
	Description string `json:"description"`
	Name        string `json:"name"`
}

CreateConfigurationCloneResponse is returned from a call to CreateConfigurationClone.

type CreateConfigurationRequest added in v2.2.0

type CreateConfigurationRequest struct {
	Name        string   `json:"name"`
	Description string   `json:"description"`
	ContractID  string   `json:"contractId"`
	GroupID     int      `json:"groupId"`
	Hostnames   []string `json:"hostnames"`
}

CreateConfigurationRequest is used to create a new WAP or KSD security configuration.

type CreateConfigurationResponse added in v2.2.0

type CreateConfigurationResponse struct {
	ConfigID    int    `json:"configId"`
	Version     int    `json:"version"`
	Description string `json:"description"`
	Name        string `json:"name"`
}

CreateConfigurationResponse is returned from a call to CreateConfiguration.

type CreateConfigurationVersionCloneRequest added in v2.2.0

type CreateConfigurationVersionCloneRequest struct {
	ConfigID          int  `json:"-"`
	CreateFromVersion int  `json:"createFromVersion"`
	RuleUpdate        bool `json:"ruleUpdate"`
}

CreateConfigurationVersionCloneRequest is used to clone an existing configuration version.

func (CreateConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates a GetConfigurationCloneRequest.

type CreateConfigurationVersionCloneResponse added in v2.2.0

type CreateConfigurationVersionCloneResponse struct {
	ConfigID     int       `json:"configId"`
	ConfigName   string    `json:"configName"`
	Version      int       `json:"version"`
	VersionNotes string    `json:"versionNotes"`
	CreateDate   time.Time `json:"createDate"`
	CreatedBy    string    `json:"createdBy"`
	BasedOn      int       `json:"basedOn"`
	Production   struct {
		Status string    `json:"status"`
		Time   time.Time `json:"time"`
	} `json:"production"`
	Staging struct {
		Status string `json:"status"`
	} `json:"staging"`
}

CreateConfigurationVersionCloneResponse is returned from a call to CreateConfigurationVersionClone.

type CreateCustomDenyRequest added in v2.2.0

type CreateCustomDenyRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

CreateCustomDenyRequest is used to create a new custom deny action for a specific configuration.

func (CreateCustomDenyRequest) Validate added in v2.2.0

func (v CreateCustomDenyRequest) Validate() error

Validate validates a CreateCustomDenyRequest.

type CreateCustomDenyResponse added in v2.2.0

type CreateCustomDenyResponse struct {
	Description string       `json:"description,omitempty"`
	Name        string       `json:"name"`
	ID          customDenyID `json:"id"`
	Parameters  []struct {
		DisplayName string `json:"-"`
		Name        string `json:"name"`
		Value       string `json:"value"`
	} `json:"parameters"`
}

CreateCustomDenyResponse is returned from a call to CreateCustomDeny.

type CreateCustomRuleRequest

type CreateCustomRuleRequest struct {
	ConfigID       int             `json:"configid,omitempty"`
	Version        int             `json:"version,omitempty"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

CreateCustomRuleRequest is used to create a custom rule.

func (CreateCustomRuleRequest) Validate

func (v CreateCustomRuleRequest) Validate() error

Validate validates a CreateCustomRuleRequest.

type CreateCustomRuleResponse

type CreateCustomRuleResponse struct {
	ID            int      `json:"id,omitempty"`
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Version       int      `json:"-"`
	RuleActivated bool     `json:"ruleActivated"`
	Tag           []string `json:"tag"`
	Conditions    []struct {
		Type          string                    `json:"type"`
		PositiveMatch bool                      `json:"positiveMatch"`
		Value         CustomRuleConditionsValue `json:"value,omitempty"`
		ValueWildcard *json.RawMessage          `json:"valueWildcard,omitempty"`
		ValueCase     *json.RawMessage          `json:"valueCase,omitempty"`
		NameWildcard  *json.RawMessage          `json:"nameWildcard,omitempty"`
		Name          CustomRuleConditionsName  `json:"name,omitempty"`
		NameCase      *json.RawMessage          `json:"nameCase,omitempty"`
	} `json:"conditions"`
}

CreateCustomRuleResponse is returned from a call to CreateCustomRule.

type CreateMatchTargetRequest

type CreateMatchTargetRequest struct {
	Type           string          `json:"type"`
	ConfigID       int             `json:"configId"`
	ConfigVersion  int             `json:"configVersion"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

CreateMatchTargetRequest is used to create a match target.

func (CreateMatchTargetRequest) Validate

func (v CreateMatchTargetRequest) Validate() error

Validate validates a CreateMatchTargetRequest.

type CreateMatchTargetResponse

type CreateMatchTargetResponse struct {
	MType string `json:"type"`
	Apis  []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"apis,omitempty"`
	DefaultFile                  string           `json:"defaultFile"`
	Hostnames                    []string         `json:"hostnames"`
	IsNegativeFileExtensionMatch bool             `json:"isNegativeFileExtensionMatch"`
	IsNegativePathMatch          *json.RawMessage `json:"isNegativePathMatch,omitempty"`
	FilePaths                    []string         `json:"filePaths"`
	FileExtensions               []string         `json:"fileExtensions"`
	SecurityPolicy               struct {
		PolicyID string `json:"policyId"`
	} `json:"securityPolicy"`
	Sequence           int `json:"-"`
	TargetID           int `json:"targetId"`
	BypassNetworkLists []struct {
		Name string `json:"name"`
		ID   string `json:"id"`
	} `json:"bypassNetworkLists"`
}

CreateMatchTargetResponse is returned from a call to CreateMatchTarget.

type CreateRatePolicyRequest

type CreateRatePolicyRequest struct {
	ID             int             `json:"-"`
	PolicyID       int             `json:"-"`
	ConfigID       int             `json:"configId"`
	ConfigVersion  int             `json:"configVersion"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

CreateRatePolicyRequest is used to create a rate policy.

func (CreateRatePolicyRequest) Validate

func (v CreateRatePolicyRequest) Validate() error

Validate validates a CreateRatePolicyRequest.

type CreateRatePolicyResponse

type CreateRatePolicyResponse struct {
	ID                    int    `json:"id"`
	PolicyID              int    `json:"policyId"`
	ConfigID              int    `json:"configId"`
	ConfigVersion         int    `json:"configVersion"`
	MatchType             string `json:"matchType"`
	Type                  string `json:"type"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	AverageThreshold      int    `json:"averageThreshold"`
	BurstThreshold        int    `json:"burstThreshold"`
	ClientIdentifier      string `json:"clientIdentifier"`
	UseXForwardForHeaders bool   `json:"useXForwardForHeaders"`
	RequestType           string `json:"requestType"`
	SameActionOnIpv6      bool   `json:"sameActionOnIpv6"`
	Path                  struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"path"`
	PathMatchType        string `json:"pathMatchType"`
	PathURIPositiveMatch bool   `json:"pathUriPositiveMatch"`
	FileExtensions       struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"fileExtensions"`
	Hostnames              []string `json:"hostnames"`
	AdditionalMatchOptions []struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Type          string   `json:"type"`
		Values        []string `json:"values"`
	} `json:"additionalMatchOptions"`
	QueryParameters []struct {
		Name          string   `json:"name"`
		Values        []string `json:"values"`
		PositiveMatch bool     `json:"positiveMatch"`
		ValueInRange  bool     `json:"valueInRange"`
	} `json:"queryParameters"`
	CreateDate string          `json:"-"`
	UpdateDate string          `json:"-"`
	Used       json.RawMessage `json:"used"`
}

CreateRatePolicyResponse is returned from a call to CreateRatePolicy.

type CreateReputationProfileRequest added in v2.0.4

type CreateReputationProfileRequest struct {
	ConfigID       int             `json:"-"`
	ConfigVersion  int             `json:"-"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

CreateReputationProfileRequest is used to create a reputation profile.

func (CreateReputationProfileRequest) Validate added in v2.0.4

Validate validates a CreateReputationProfileRequest.

type CreateReputationProfileResponse added in v2.0.4

type CreateReputationProfileResponse struct {
	ID               int    `json:"id"`
	Name             string `json:"name"`
	Context          string `json:"context"`
	Description      string `json:"description"`
	Threshold        int    `json:"threshold"`
	SharedIPHandling string `json:"sharedIpHandling"`
	Condition        struct {
		AtomicConditions []struct {
			CheckIps      string               `json:"checkIps,omitempty"`
			ClassName     string               `json:"className"`
			Index         int                  `json:"index"`
			PositiveMatch bool                 `json:"positiveMatch"`
			Value         []string             `json:"value,omitempty"`
			Name          atomicConditionsName `json:"name,omitempty"`
			NameCase      bool                 `json:"nameCase,omitempty"`
			NameWildcard  bool                 `json:"nameWildcard,omitempty"`
			ValueCase     bool                 `json:"valueCase,omitempty"`
			ValueWildcard bool                 `json:"valueWildcard,omitempty"`
			Host          []string             `json:"host,omitempty"`
		} `json:"atomicConditions"`
		PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
	} `json:"condition"`
	Enabled bool `json:"enabled"`
}

CreateReputationProfileResponse is returned from a call to CreateReputationProfile.

type CreateSecurityPolicyClonePost

type CreateSecurityPolicyClonePost struct {
	CreateFromSecurityPolicy string `json:"createFromSecurityPolicy"`
	PolicyName               string `json:"policyName"`
	PolicyPrefix             string `json:"policyPrefix"`
}

CreateSecurityPolicyClonePost is currently unused.

type CreateSecurityPolicyClonePostResponse

type CreateSecurityPolicyClonePostResponse struct {
	ConfigID               int    `json:"configId"`
	PolicyID               string `json:"policyId"`
	PolicyName             string `json:"policyName"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	} `json:"policySecurityControls"`
	Version int `json:"version"`
}

CreateSecurityPolicyClonePostResponse is currently unused.

type CreateSecurityPolicyCloneRequest

type CreateSecurityPolicyCloneRequest struct {
	ConfigID                 int    `json:"configId"`
	Version                  int    `json:"version"`
	CreateFromSecurityPolicy string `json:"createFromSecurityPolicy"`
	PolicyName               string `json:"policyName"`
	PolicyPrefix             string `json:"policyPrefix"`
}

CreateSecurityPolicyCloneRequest is used to clone a security policy.

func (CreateSecurityPolicyCloneRequest) Validate

Validate validates a CreateSecurityPolicyCloneRequest.

type CreateSecurityPolicyCloneResponse

type CreateSecurityPolicyCloneResponse struct {
	HasRatePolicyWithAPIKey bool   `json:"hasRatePolicyWithApiKey"`
	PolicyID                string `json:"policyId"`
	PolicyName              string `json:"policyName"`
	PolicySecurityControls  struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	}
}

CreateSecurityPolicyCloneResponse is returned from a call to CreateSecurityPolicyClone.

type CreateSecurityPolicyRequest added in v2.0.4

type CreateSecurityPolicyRequest struct {
	ConfigID        int    `json:"-"`
	Version         int    `json:"-"`
	PolicyID        string `json:"-"`
	PolicyName      string `json:"policyName"`
	PolicyPrefix    string `json:"policyPrefix"`
	DefaultSettings bool   `json:"defaultSettings"`
}

CreateSecurityPolicyRequest is used to create a ecurity policy.

func (CreateSecurityPolicyRequest) Validate added in v2.0.4

func (v CreateSecurityPolicyRequest) Validate() error

Validate validates a CreateSecurityPolicyRequest.

type CreateSecurityPolicyResponse added in v2.0.4

type CreateSecurityPolicyResponse struct {
	ConfigID               int    `json:"configId"`
	PolicyID               string `json:"policyId"`
	PolicyName             string `json:"policyName"`
	DefaultSettings        bool   `json:"defaultSettings,omitempty"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	} `json:"policySecurityControls"`
	Version int `json:"version"`
}

CreateSecurityPolicyResponse is returned from a call to CreateSecurityPolicy.

type CustomDenyListexp added in v2.2.0

type CustomDenyListexp []struct {
	Description string `json:"description,omitempty"`
	Name        string `json:"name"`
	ID          string `json:"id"`
	Parameters  []struct {
		DisplayName string `json:"-"`
		Name        string `json:"name"`
		Value       string `json:"value"`
	} `json:"parameters"`
}

CustomDenyListexp is returned as part of GetExportConfigurationsResponse.

type CustomRuleActionsexp added in v2.2.0

type CustomRuleActionsexp []struct {
	Action string `json:"action"`
	ID     int    `json:"id"`
}

CustomRuleActionsexp is returned as part of GetExportConfigurationsResponse.

type CustomRuleConditionsName added in v2.2.0

type CustomRuleConditionsName []string

CustomRuleConditionsName is a slice of strings used to indicate condition names in custom rule conditions.

func (*CustomRuleConditionsName) UnmarshalJSON added in v2.2.0

func (c *CustomRuleConditionsName) UnmarshalJSON(data []byte) error

UnmarshalJSON reads a CustomRuleConditionsName from its data argument.

type CustomRuleConditionsValue added in v2.2.0

type CustomRuleConditionsValue []string

CustomRuleConditionsValue is a slice of strings used to indicate condition values in custom rule conditions.

func (*CustomRuleConditionsValue) UnmarshalJSON added in v2.2.0

func (c *CustomRuleConditionsValue) UnmarshalJSON(data []byte) error

UnmarshalJSON reads a CustomRuleConditionsValue from its data argument.

type DurationThresholdExp added in v2.5.0

type DurationThresholdExp struct {
	Timeout int `json:"timeout"`
}

DurationThresholdExp is returned as part of GetExportConfigurationsResponse.

type Error

type Error struct {
	Type          string `json:"type"`
	Title         string `json:"title"`
	Detail        string `json:"detail"`
	Instance      string `json:"instance,omitempty"`
	BehaviorName  string `json:"behaviorName,omitempty"`
	ErrorLocation string `json:"errorLocation,omitempty"`
	StatusCode    int    `json:"-"`
}

Error is an appsec error interface.

func (*Error) Error

func (e *Error) Error() string

Error returns a string formatted using a given title, type, and detail information.

func (*Error) Is

func (e *Error) Is(target error) bool

Is handles error comparisons.

type EvalGroup added in v2.6.0

type EvalGroup interface {
	// GetEvalGroups retrieves all attack groups currently under evaluation.
	GetEvalGroups(ctx context.Context, params GetAttackGroupsRequest) (*GetAttackGroupsResponse, error)

	// GetEvalGroups retrieves a specific attack group currently under evaluation.
	GetEvalGroup(ctx context.Context, params GetAttackGroupRequest) (*GetAttackGroupResponse, error)

	// UpdateEvalGroup supports updating the condition and exception information for an attack group under evaluation.
	UpdateEvalGroup(ctx context.Context, params UpdateAttackGroupRequest) (*UpdateAttackGroupResponse, error)
}

The EvalGroup interface supports creating, modifying and retrieving attack groups for evaluation.

type Evaluationexp added in v2.2.0

type Evaluationexp struct {
	AttackGroupActions []struct {
		Action string `json:"action"`
		Group  string `json:"group"`
	} `json:"attackGroupActions"`
	EvaluationID      int `json:"evaluationId"`
	EvaluationVersion int `json:"evaluationVersion"`
	RuleActions       []struct {
		Action     string          `json:"action"`
		ID         int             `json:"id"`
		Conditions *RuleConditions `json:"conditions,omitempty"`
		Exception  *RuleException  `json:"exception,omitempty"`
	} `json:"ruleActions"`
	RulesetVersionID int `json:"rulesetVersionId"`
}

Evaluationexp is returned as part of GetExportConfigurationsResponse.

type ExcludeCondition added in v2.5.0

type ExcludeCondition struct {
	Type          string   `json:"type"`
	PositiveMatch bool     `json:"positiveMatch"`
	Header        string   `json:"header"`
	Value         []string `json:"value"`
	Name          string   `json:"name"`
	ValueCase     bool     `json:"valueCase"`
	ValueWildcard bool     `json:"valueWildcard"`
	UseHeaders    bool     `json:"useHeaders"`
}

ExcludeCondition describes the pragma header's excluded conditions.

type ExportConfiguration

The ExportConfiguration interface supports exporting comprehensive details about a security configuration version. This operation returns more data than Get configuration version details, including rate and security policies, rules, hostnames, and numerous additional settings.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#export

type FailoverHostnames added in v2.2.0

The FailoverHostnames interface supports retrieving the failover hostnames in a configuration.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#failoverhostname

type GetAPIConstraintsProtectionRequest added in v2.5.0

type GetAPIConstraintsProtectionRequest struct {
	ConfigID            int    `json:"-"`
	Version             int    `json:"-"`
	PolicyID            string `json:"-"`
	ApplyAPIConstraints bool   `json:"applyApiConstraints"`
}

GetAPIConstraintsProtectionRequest is used to retrieve the API constraints protection setting.

func (GetAPIConstraintsProtectionRequest) Validate added in v2.5.0

Validate validates a GetAPIConstraintsProtectionRequest.

type GetAPIConstraintsProtectionResponse added in v2.5.0

type GetAPIConstraintsProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetAPIConstraintsProtectionResponse is returned from a call to GetAPIConstraintsProtection.

type GetActivationsRequest

type GetActivationsRequest struct {
	ActivationID int `json:"activationId"`
}

GetActivationsRequest is used to request the status of an activation request.

func (GetActivationsRequest) Validate

func (v GetActivationsRequest) Validate() error

Validate validates a GetActivationsRequest.

type GetActivationsResponse

type GetActivationsResponse struct {
	DispatchCount     int          `json:"dispatchCount"`
	ActivationID      int          `json:"activationId"`
	Action            string       `json:"action"`
	Status            StatusValue  `json:"status"`
	Network           NetworkValue `json:"network"`
	Estimate          string       `json:"estimate"`
	CreatedBy         string       `json:"createdBy"`
	CreateDate        time.Time    `json:"createDate"`
	ActivationConfigs []struct {
		ConfigID              int    `json:"configId"`
		ConfigName            string `json:"configName"`
		ConfigVersion         int    `json:"configVersion"`
		PreviousConfigVersion int    `json:"previousConfigVersion"`
	} `json:"activationConfigs"`
}

GetActivationsResponse is returned from a call to GetActivations.

type GetAdvancedSettingsLoggingRequest added in v2.2.0

type GetAdvancedSettingsLoggingRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
}

GetAdvancedSettingsLoggingRequest is used to retrieve the HTTP header logging settings for a configuration or policy.

func (GetAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates a GetAdvancedSettingsLoggingsRequest.

type GetAdvancedSettingsLoggingResponse added in v2.2.0

type GetAdvancedSettingsLoggingResponse struct {
	Override        json.RawMessage                  `json:"override,omitempty"`
	AllowSampling   bool                             `json:"allowSampling"`
	Cookies         *AdvancedSettingsCookies         `json:"cookies,omitempty"`
	CustomHeaders   *AdvancedSettingsCustomHeaders   `json:"customHeaders,omitempty"`
	StandardHeaders *AdvancedSettingsStandardHeaders `json:"standardHeaders,omitempty"`
}

GetAdvancedSettingsLoggingResponse is returned from a call to GetAdvancedSettingsLogging.

type GetAdvancedSettingsPragmaRequest added in v2.5.0

type GetAdvancedSettingsPragmaRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Group    string `json:"group"`
}

GetAdvancedSettingsPragmaRequest is used to retrieve the pragma settings for a security policy.

func (GetAdvancedSettingsPragmaRequest) Validate added in v2.5.0

Validate validates a GetAdvancedSettingsPragmaRequest.

type GetAdvancedSettingsPragmaResponse added in v2.5.0

type GetAdvancedSettingsPragmaResponse struct {
	Action            string             `json:"action,,omitempty"`
	ConditionOperator string             `json:"conditionOperator,omitempty"`
	ExcludeCondition  []ExcludeCondition `json:"excludeCondition,omitempty"`
}

GetAdvancedSettingsPragmaResponse is returned from a call to GetAdvancedSettingsPragma.

type GetAdvancedSettingsPrefetchRequest added in v2.2.0

type GetAdvancedSettingsPrefetchRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Group    string `json:"group"`
}

GetAdvancedSettingsPrefetchRequest is used to retrieve the prefetch request settings.

func (GetAdvancedSettingsPrefetchRequest) Validate added in v2.2.0

Validate validates a GetAdvancedSettingsPrefetchRequest.

type GetAdvancedSettingsPrefetchResponse added in v2.2.0

type GetAdvancedSettingsPrefetchResponse struct {
	AllExtensions      bool     `json:"allExtensions"`
	EnableAppLayer     bool     `json:"enableAppLayer"`
	EnableRateControls bool     `json:"enableRateControls"`
	Extensions         []string `json:"extensions,omitempty"`
}

GetAdvancedSettingsPrefetchResponse is returned from a call to GetAdvancedSettingsPrefetch.

type GetApiEndpointsRequest added in v2.2.0

type GetApiEndpointsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	Name     string `json:"-"`
	PolicyID string `json:"-"`
	ID       int    `json:"-"`
}

GetApiEndpointsRequest is used to retrieve the endpoints associated with a security policy.

func (GetApiEndpointsRequest) Validate added in v2.2.0

func (v GetApiEndpointsRequest) Validate() error

Validate validates a GetApiEndpointsRequest.

type GetApiEndpointsResponse added in v2.2.0

type GetApiEndpointsResponse struct {
	APIEndpoints []struct {
		ID               int      `json:"id"`
		Name             string   `json:"name"`
		BasePath         string   `json:"basePath"`
		APIEndPointHosts []string `json:"apiEndPointHosts"`
		StagingVersion   struct {
			Status        string `json:"status"`
			VersionNumber int    `json:"versionNumber"`
		} `json:"stagingVersion"`
		ProductionVersion struct {
			Status        string `json:"status"`
			VersionNumber int    `json:"versionNumber"`
		} `json:"productionVersion"`
		RequestConstraintsEnabled bool `json:"requestConstraintsEnabled"`
	} `json:"apiEndpoints"`
}

GetApiEndpointsResponse is returned from a call to GetApiEndpoints.

type GetApiHostnameCoverageMatchTargetsRequest added in v2.2.0

type GetApiHostnameCoverageMatchTargetsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	Hostname string `json:"-"`
}

GetApiHostnameCoverageMatchTargetsRequest is used to retrieve the API and website match targets that protect a hostname.

func (GetApiHostnameCoverageMatchTargetsRequest) Validate added in v2.2.0

Validate validates a GetApiHostnameCoverageMatchTargetsRequest.

type GetApiHostnameCoverageMatchTargetsResponse added in v2.2.0

type GetApiHostnameCoverageMatchTargetsResponse struct {
	MatchTargets struct {
		WebsiteTargets []struct {
			Type                         string                                                `json:"type"`
			BypassNetworkLists           *HostnameCoverageMatchTargetBypassNetworkLists        `json:"bypassNetworkLists,omitempty"`
			ConfigID                     int                                                   `json:"configId"`
			ConfigVersion                int                                                   `json:"configVersion"`
			DefaultFile                  string                                                `json:"defaultFile"`
			EffectiveSecurityControls    *HostnameCoverageMatchTargetEffectiveSecurityControls `json:"effectiveSecurityControls,omitempty"`
			FilePaths                    []string                                              `json:"filePaths"`
			Hostnames                    []string                                              `json:"hostnames"`
			IsNegativeFileExtensionMatch bool                                                  `json:"isNegativeFileExtensionMatch"`
			IsNegativePathMatch          bool                                                  `json:"isNegativePathMatch"`
			SecurityPolicy               struct {
				PolicyID string `json:"policyId"`
			} `json:"securityPolicy"`
			Sequence int `json:"sequence"`
			TargetID int `json:"targetId"`
		} `json:"websiteTargets"`
		APITargets []interface{} `json:"apiTargets"`
	} `json:"matchTargets"`
}

GetApiHostnameCoverageMatchTargetsResponse is returned from a call to GetApiHostnameCoverageMatchTargets.

type GetApiHostnameCoverageOverlappingRequest added in v2.2.0

type GetApiHostnameCoverageOverlappingRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	Hostname string `json:"-"`
}

GetApiHostnameCoverageOverlappingRequest is used to retrieve the configuration versions that contain a hostname included in the current configuration version.

func (GetApiHostnameCoverageOverlappingRequest) Validate added in v2.2.0

Validate validates a GetApiHostnameCoverageOverlappingRequest.

type GetApiHostnameCoverageOverlappingResponse added in v2.2.0

type GetApiHostnameCoverageOverlappingResponse struct {
	OverLappingList []struct {
		ConfigID      int      `json:"configId"`
		ConfigName    string   `json:"configName"`
		ConfigVersion int      `json:"configVersion"`
		ContractID    string   `json:"contractId"`
		ContractName  string   `json:"contractName"`
		VersionTags   []string `json:"versionTags"`
	} `json:"overLappingList"`
}

GetApiHostnameCoverageOverlappingResponse is returned from a call to GetApiHostnameCoverageOverlapping.

type GetApiHostnameCoverageRequest added in v2.2.0

type GetApiHostnameCoverageRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	Hostname string `json:"-"`
}

GetApiHostnameCoverageRequest is used to call GetApiHostnameCoverage.

type GetApiHostnameCoverageResponse added in v2.2.0

type GetApiHostnameCoverageResponse struct {
	HostnameCoverage []struct {
		Configuration  *ConfigurationHostnameCoverage `json:"configuration,omitempty"`
		Status         string                         `json:"status"`
		HasMatchTarget bool                           `json:"hasMatchTarget"`
		Hostname       string                         `json:"hostname"`
		PolicyNames    []string                       `json:"policyNames"`
	} `json:"hostnameCoverage"`
}

GetApiHostnameCoverageResponse is returned from a call to GetApiHostnameCoverage.

type GetApiRequestConstraintsRequest added in v2.2.0

type GetApiRequestConstraintsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	ApiID    int    `json:"-"`
}

GetApiRequestConstraintsRequest is used to retrieve the list of APIs with their constraints and associated actions.

func (GetApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates a GetApiRequestConstraintsRequest.

type GetApiRequestConstraintsResponse added in v2.2.0

type GetApiRequestConstraintsResponse struct {
	APIEndpoints []ApiEndpoint `json:"apiEndpoints,omitempty"`
}

GetApiRequestConstraintsResponse is returned from a call to GetApiRequestConstraints.

type GetAttackGroupRequest added in v2.5.0

type GetAttackGroupRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Group    string `json:"group"`
}

GetAttackGroupRequest is used to retrieve a list of attack groups with their associated actions.

func (GetAttackGroupRequest) Validate added in v2.5.0

func (v GetAttackGroupRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionRequest.

type GetAttackGroupResponse added in v2.5.0

type GetAttackGroupResponse struct {
	Action             string                         `json:"action,omitempty"`
	ConditionException *AttackGroupConditionException `json:"conditionException,omitempty"`
}

GetAttackGroupResponse is returned from a call to GetAttackGroup.

func (GetAttackGroupResponse) IsEmptyConditionException added in v2.5.0

func (r GetAttackGroupResponse) IsEmptyConditionException() bool

IsEmptyConditionException checks whether an attack group's ConditionException field is empty.

type GetAttackGroupsRequest added in v2.5.0

type GetAttackGroupsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Group    string `json:"group,omitempty"`
}

GetAttackGroupsRequest is used to retrieve a list of attack groups with their associated actions.

func (GetAttackGroupsRequest) Validate added in v2.5.0

func (v GetAttackGroupsRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionsRequest.

type GetAttackGroupsResponse added in v2.5.0

type GetAttackGroupsResponse struct {
	AttackGroups []struct {
		Group              string                         `json:"group,omitempty"`
		Action             string                         `json:"action,omitempty"`
		ConditionException *AttackGroupConditionException `json:"conditionException,omitempty"`
	} `json:"attackGroupActions,omitempty"`
}

GetAttackGroupsResponse is returned from a call to GetAttackGroups.

type GetBypassNetworkListsRequest added in v2.2.0

type GetBypassNetworkListsRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetBypassNetworkListsRequest is used to list which network lists are used in the bypass network lists settings.

func (GetBypassNetworkListsRequest) Validate added in v2.2.0

func (v GetBypassNetworkListsRequest) Validate() error

Validate validates a GetBypassNetworkListsRequest.

type GetBypassNetworkListsResponse added in v2.2.0

type GetBypassNetworkListsResponse struct {
	NetworkLists []struct {
		Name string `json:"name"`
		ID   string `json:"id"`
	} `json:"networkLists"`
}

GetBypassNetworkListsResponse is returned from a call to GetBypassNetworkLists.

type GetConfigurationCloneRequest

type GetConfigurationCloneRequest struct {
	ConfigID     int       `json:"configId"`
	ConfigName   string    `json:"configName"`
	Version      int       `json:"version"`
	VersionNotes string    `json:"versionNotes"`
	CreateDate   time.Time `json:"createDate"`
	CreatedBy    string    `json:"createdBy"`
	BasedOn      int       `json:"basedOn"`
	Production   struct {
		Status string    `json:"status"`
		Time   time.Time `json:"time"`
	} `json:"production"`
	Staging struct {
		Status string `json:"status"`
	} `json:"staging"`
}

GetConfigurationCloneRequest is used to retrieve information about an existing security configuration.

func (GetConfigurationCloneRequest) Validate

func (v GetConfigurationCloneRequest) Validate() error

Validate validates a GetConfigurationCloneRequest.

type GetConfigurationCloneResponse

type GetConfigurationCloneResponse struct {
	ConfigID     int       `json:"configId"`
	ConfigName   string    `json:"configName"`
	Version      int       `json:"version"`
	VersionNotes string    `json:"versionNotes"`
	CreateDate   time.Time `json:"createDate"`
	CreatedBy    string    `json:"createdBy"`
	BasedOn      int       `json:"basedOn"`
	Production   struct {
		Status string    `json:"status"`
		Time   time.Time `json:"time"`
	} `json:"production"`
	Staging struct {
		Status string `json:"status"`
	} `json:"staging"`
}

GetConfigurationCloneResponse is returned from a call to GetConfigurationClone.

type GetConfigurationRequest added in v2.2.0

type GetConfigurationRequest struct {
	ConfigID int `json:"configId"`
}

GetConfigurationRequest GetConfigurationRequest is used to retrieve information about a specific configuration.

func (GetConfigurationRequest) Validate added in v2.2.0

func (v GetConfigurationRequest) Validate() error

Validate validates a GetConfigurationRequest.

type GetConfigurationResponse added in v2.2.0

type GetConfigurationResponse struct {
	Description         string   `json:"description,omitempty"`
	FileType            string   `json:"fileType,omitempty"`
	ID                  int      `json:"id,omitempty"`
	LatestVersion       int      `json:"latestVersion,omitempty"`
	Name                string   `json:"name,omitempty"`
	StagingVersion      int      `json:"stagingVersion,omitempty"`
	TargetProduct       string   `json:"targetProduct,omitempty"`
	ProductionHostnames []string `json:"productionHostnames,omitempty"`
	ProductionVersion   int      `json:"productionVersion,omitempty"`
}

GetConfigurationResponse is returned from a call to GetConfiguration.

type GetConfigurationVersionCloneRequest added in v2.2.0

type GetConfigurationVersionCloneRequest struct {
	ConfigID     int       `json:"configId"`
	ConfigName   string    `json:"configName"`
	Version      int       `json:"version"`
	VersionNotes string    `json:"versionNotes"`
	CreateDate   time.Time `json:"createDate"`
	CreatedBy    string    `json:"createdBy"`
	BasedOn      int       `json:"basedOn"`
	Production   struct {
		Status string    `json:"status"`
		Time   time.Time `json:"time"`
	} `json:"production"`
	Staging struct {
		Status string `json:"status"`
	} `json:"staging"`
}

GetConfigurationVersionCloneRequest is used to retrieve information about an existing configuration version.

func (GetConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates a GetConfigurationCloneRequest.

type GetConfigurationVersionCloneResponse added in v2.2.0

type GetConfigurationVersionCloneResponse struct {
	ConfigID     int       `json:"configId"`
	ConfigName   string    `json:"configName"`
	Version      int       `json:"version"`
	VersionNotes string    `json:"versionNotes"`
	CreateDate   time.Time `json:"createDate"`
	CreatedBy    string    `json:"createdBy"`
	BasedOn      int       `json:"basedOn"`
	Production   struct {
		Status string    `json:"status"`
		Time   time.Time `json:"time"`
	} `json:"production"`
	Staging struct {
		Status string `json:"status"`
	} `json:"staging"`
}

GetConfigurationVersionCloneResponse is returned from a call to GetConfigurationVersionClone.

type GetConfigurationVersionsRequest

type GetConfigurationVersionsRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
}

GetConfigurationVersionsRequest is used to retrieve the versions of a security configuration.

type GetConfigurationVersionsResponse

type GetConfigurationVersionsResponse struct {
	ConfigID           int    `json:"configId,omitempty"`
	ConfigName         string `json:"configName,omitempty"`
	LastCreatedVersion int    `json:"lastCreatedVersion,omitempty"`
	Page               int    `json:"page,omitempty"`
	PageSize           int    `json:"pageSize,omitempty"`
	TotalSize          int    `json:"totalSize,omitempty"`
	VersionList        []struct {
		ConfigID   int `json:"configId,omitempty"`
		Production struct {
			Status string `json:"status,omitempty"`
		} `json:"production,omitempty"`
		Staging struct {
			Status string `json:"status,omitempty"`
		} `json:"staging,omitempty"`
		Version int `json:"version,omitempty"`
		BasedOn int `json:"basedOn,omitempty"`
	} `json:"versionList,omitempty"`
}

GetConfigurationVersionsResponse is returned from a call to GetConfigurationVersions.

type GetConfigurationsRequest

type GetConfigurationsRequest struct {
	ConfigID int    `json:"configId"`
	Name     string `json:"-"`
}

GetConfigurationsRequest is used to list the available security configurations.

func (GetConfigurationsRequest) Validate added in v2.2.0

func (v GetConfigurationsRequest) Validate() error

Validate validates a GetConfigurationsRequest.

type GetConfigurationsResponse

type GetConfigurationsResponse struct {
	Configurations []struct {
		Description         string   `json:"description,omitempty"`
		FileType            string   `json:"fileType,omitempty"`
		ID                  int      `json:"id,omitempty"`
		LatestVersion       int      `json:"latestVersion,omitempty"`
		Name                string   `json:"name,omitempty"`
		StagingVersion      int      `json:"stagingVersion,omitempty"`
		TargetProduct       string   `json:"targetProduct,omitempty"`
		ProductionHostnames []string `json:"productionHostnames,omitempty"`
		ProductionVersion   int      `json:"productionVersion,omitempty"`
	} `json:"configurations,omitempty"`
}

GetConfigurationsResponse is returned from a call to GetConfigurations.

type GetContractsGroupsRequest added in v2.2.0

type GetContractsGroupsRequest struct {
	ConfigID   int    `json:"-"`
	Version    int    `json:"-"`
	PolicyID   string `json:"-"`
	ContractID string `json:"-"`
	GroupID    int    `json:"-"`
}

GetContractsGroupsRequest is used to retrieve the list of contracts and groups for your account.

type GetContractsGroupsResponse added in v2.2.0

type GetContractsGroupsResponse struct {
	ContractGroups []struct {
		ContractID  string `json:"contractId"`
		DisplayName string `json:"displayName"`
		GroupID     int    `json:"groupId"`
	} `json:"contract_groups"`
}

GetContractsGroupsResponse is returned from a call to GetContractsGroups.

type GetCustomDenyListRequest added in v2.2.0

type GetCustomDenyListRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	ID       string `json:"id,omitempty"`
}

GetCustomDenyListRequest is used to retrieve the custom deny actions for a configuration.

func (GetCustomDenyListRequest) Validate added in v2.2.0

func (v GetCustomDenyListRequest) Validate() error

Validate validates a GetCustomDenysRequest.

type GetCustomDenyListResponse added in v2.2.0

type GetCustomDenyListResponse struct {
	CustomDenyList []struct {
		Description string       `json:"description,omitempty"`
		Name        string       `json:"name"`
		ID          customDenyID `json:"id"`
		Parameters  []struct {
			DisplayName string `json:"-"`
			Name        string `json:"name"`
			Value       string `json:"value"`
		} `json:"parameters"`
	} `json:"customDenyList"`
}

GetCustomDenyListResponse is returned from a call to GetCustomDenyList.

type GetCustomDenyRequest added in v2.2.0

type GetCustomDenyRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	ID       string `json:"id,omitempty"`
}

GetCustomDenyRequest is used to retrieve a specific custom deny action.

func (GetCustomDenyRequest) Validate added in v2.2.0

func (v GetCustomDenyRequest) Validate() error

Validate validates a GetCustomDenyRequest.

type GetCustomDenyResponse added in v2.2.0

type GetCustomDenyResponse struct {
	Description string       `json:"description,omitempty"`
	Name        string       `json:"name"`
	ID          customDenyID `json:"-"`
	Parameters  []struct {
		DisplayName string `json:"-"`
		Name        string `json:"name"`
		Value       string `json:"value"`
	} `json:"parameters"`
}

GetCustomDenyResponse is returned from a call to GetCustomDeny.

type GetCustomRuleActionRequest

type GetCustomRuleActionRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
	RuleID   int    `json:"ruleId"`
}

GetCustomRuleActionRequest is used to retrieve the action for a custom rule.

func (GetCustomRuleActionRequest) Validate

func (v GetCustomRuleActionRequest) Validate() error

Validate validates a GetCustomRuleActionRequest.

type GetCustomRuleActionResponse

type GetCustomRuleActionResponse struct {
	Action                string `json:"action,omitempty"`
	CanUseAdvancedActions bool   `json:"canUseAdvancedActions,omitempty"`
	Link                  string `json:"link,omitempty"`
	Name                  string `json:"name,omitempty"`
	RuleID                int    `json:"ruleId,omitempty"`
}

GetCustomRuleActionResponse is returned from a call to GetCustomRuleAction.

type GetCustomRuleActionsRequest

type GetCustomRuleActionsRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
	RuleID   int    `json:"ruleId"`
}

GetCustomRuleActionsRequest is used to retrieve the custom rule actions for a configuration.

func (GetCustomRuleActionsRequest) Validate

func (v GetCustomRuleActionsRequest) Validate() error

Validate validates a GetCustomRuleActionsRequest.

type GetCustomRuleActionsResponse

type GetCustomRuleActionsResponse []struct {
	Action                string `json:"action,omitempty"`
	CanUseAdvancedActions bool   `json:"canUseAdvancedActions,omitempty"`
	Link                  string `json:"link,omitempty"`
	Name                  string `json:"name,omitempty"`
	RuleID                int    `json:"ruleId,omitempty"`
}

GetCustomRuleActionsResponse is returned from a call to GetCustomRuleActions.

type GetCustomRuleRequest

type GetCustomRuleRequest struct {
	ConfigID int `json:"configid,omitempty"`
	ID       int `json:"id,omitempty"`
}

GetCustomRuleRequest is used to retrieve the details of a custom rule.

func (GetCustomRuleRequest) Validate

func (v GetCustomRuleRequest) Validate() error

Validate validates a GetCustomRuleRequest.

type GetCustomRuleResponse

type GetCustomRuleResponse struct {
	ID            int      `json:"-"`
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Version       int      `json:"-"`
	RuleActivated bool     `json:"-"`
	Structured    bool     `json:"-"`
	Tag           []string `json:"tag"`
	Conditions    []struct {
		Type          string           `json:"type"`
		PositiveMatch bool             `json:"positiveMatch"`
		Value         *json.RawMessage `json:"value,omitempty"`
		ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
		ValueCase     *json.RawMessage `json:"valueCase,omitempty"`
		NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
		Name          *json.RawMessage `json:"name,omitempty"`
		NameCase      *json.RawMessage `json:"nameCase,omitempty"`
	} `json:"conditions"`
}

GetCustomRuleResponse is returned from a call to GetCustomRule.

type GetCustomRulesRequest

type GetCustomRulesRequest struct {
	ConfigID int `json:"configid,omitempty"`
	ID       int `json:"-"`
}

GetCustomRulesRequest is used to retrieve the custom rules for a configuration.

func (GetCustomRulesRequest) Validate

func (v GetCustomRulesRequest) Validate() error

Validate validates a GetCustomRulesRequest.

type GetCustomRulesResponse

type GetCustomRulesResponse struct {
	CustomRules []struct {
		ID      int    `json:"id"`
		Link    string `json:"link"`
		Name    string `json:"name"`
		Status  string `json:"status"`
		Version int    `json:"version"`
	} `json:"customRules"`
}

GetCustomRulesResponse is returned from a call to GetCustomRules.

type GetEvalHostRequest added in v2.2.0

type GetEvalHostRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetEvalHostRequest is used to retrieve the evaluation hostnames for a configuration.

func (GetEvalHostRequest) Validate added in v2.2.0

func (v GetEvalHostRequest) Validate() error

Validate validates a GetEvalHostRequest.

type GetEvalHostResponse added in v2.2.0

type GetEvalHostResponse struct {
	Hostnames []string `json:"hostnames"`
}

GetEvalHostResponse is returned from a call to GetEvalHost.

type GetEvalHostsRequest added in v2.2.0

type GetEvalHostsRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetEvalHostsRequest is used to retrieve the evaluation hostnames for a configuration.

func (GetEvalHostsRequest) Validate added in v2.2.0

func (v GetEvalHostsRequest) Validate() error

Validate validates a GetEvalHostsRequest.

type GetEvalHostsResponse added in v2.2.0

type GetEvalHostsResponse struct {
	Hostnames []string `json:"hostnames"`
}

GetEvalHostsResponse is returned from a call to GetEvalHosts.

type GetEvalProtectHostRequest added in v2.2.0

type GetEvalProtectHostRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetEvalProtectHostRequest is used to call GetEvalProtectHost.

func (GetEvalProtectHostRequest) Validate added in v2.2.0

func (v GetEvalProtectHostRequest) Validate() error

Validate validates a GetEvalProtectHostRequest.

type GetEvalProtectHostResponse added in v2.2.0

type GetEvalProtectHostResponse struct {
	Hostnames []string `json:"hostnames"`
}

GetEvalProtectHostResponse is returned from a call to GetEvalProtectHost.

type GetEvalProtectHostsRequest added in v2.2.0

type GetEvalProtectHostsRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetEvalProtectHostsRequest is used to call GetEvalProtectHosts.

func (GetEvalProtectHostsRequest) Validate added in v2.2.0

func (v GetEvalProtectHostsRequest) Validate() error

Validate validates a GetEvalProtectHostsRequest.

type GetEvalProtectHostsResponse added in v2.2.0

type GetEvalProtectHostsResponse struct {
	Hostnames []string `json:"hostnames"`
}

GetEvalProtectHostsResponse is returned from a call to GetEvalProtectHosts.

type GetEvalRequest added in v2.0.4

type GetEvalRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"current"`
	Mode     string `json:"mode"`
	Eval     string `json:"eval"`
}

GetEvalRequest is used to retrieve the mode setting that conveys how rules will be kept up to date.

func (GetEvalRequest) Validate added in v2.0.4

func (v GetEvalRequest) Validate() error

Validate validates a GetEvalRequest.

type GetEvalResponse added in v2.0.4

type GetEvalResponse struct {
	Current    string `json:"current,omitempty"`
	Mode       string `json:"mode,omitempty"`
	Eval       string `json:"eval,omitempty"`
	Evaluating string `json:"evaluating,omitempty"`
	Expires    string `json:"expires,omitempty"`
}

GetEvalResponse is returned from a call to GetEvalResponse.

type GetEvalRuleRequest added in v2.5.0

type GetEvalRuleRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	RuleID   int    `json:"ruleId"`
}

GetEvalRuleRequest is used to retrieve a rule available for evaluation and its action.

func (GetEvalRuleRequest) Validate added in v2.5.0

func (v GetEvalRuleRequest) Validate() error

Validate validates a GetEvalRuleRequest.

type GetEvalRuleResponse added in v2.5.0

type GetEvalRuleResponse struct {
	Action             string                  `json:"action,omitempty"`
	ConditionException *RuleConditionException `json:"conditionException,omitempty"`
}

GetEvalRuleResponse is returned from a call to GetEvalRule.

func (*GetEvalRuleResponse) IsEmptyConditionException added in v2.5.0

func (r *GetEvalRuleResponse) IsEmptyConditionException() bool

IsEmptyConditionException checks whether the ConditionException field is empty.

type GetEvalRulesRequest added in v2.5.0

type GetEvalRulesRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	RuleID   int    `json:"-"`
}

GetEvalRulesRequest is used to retrieve the rules available for evaluation and their actions.

func (GetEvalRulesRequest) Validate added in v2.5.0

func (v GetEvalRulesRequest) Validate() error

Validate validates a GetEvalRulesRequest.

type GetEvalRulesResponse added in v2.5.0

type GetEvalRulesResponse struct {
	Rules []struct {
		ID                 int                     `json:"id,omitempty"`
		Action             string                  `json:"action,omitempty"`
		ConditionException *RuleConditionException `json:"conditionException,omitempty"`
	} `json:"evalRuleActions,omitempty"`
}

GetEvalRulesResponse is returned from a call to GetEvalRules.

type GetEvalsRequest added in v2.0.4

type GetEvalsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"current"`
	Mode     string `json:"mode"`
	Eval     string `json:"eval"`
}

GetEvalsRequest is used to retrieve the mode setting that conveys how rules will be kept up to date.

func (GetEvalsRequest) Validate added in v2.0.4

func (v GetEvalsRequest) Validate() error

Validate validates a GetEvalsRequest.

type GetEvalsResponse added in v2.0.4

type GetEvalsResponse struct {
	Current    string `json:"current,omitempty"`
	Mode       string `json:"mode,omitempty"`
	Eval       string `json:"eval,omitempty"`
	Evaluating string `json:"evaluating,omitempty"`
	Expires    string `json:"expires,omitempty"`
}

GetEvalsResponse is returned from a call to GetEvalsResponse.

type GetExportConfigurationsRequest

type GetExportConfigurationsRequest struct {
	ConfigID int `json:"configId"`
	Version  int `json:"version"`
}

GetExportConfigurationsRequest is used to call GetExportConfigurations.

type GetExportConfigurationsResponse

type GetExportConfigurationsResponse struct {
	ConfigID   int    `json:"configId"`
	ConfigName string `json:"configName"`
	Version    int    `json:"version"`
	BasedOn    int    `json:"basedOn"`
	Staging    struct {
		Status string `json:"status"`
	} `json:"staging"`
	Production struct {
		Status string `json:"status"`
	} `json:"production"`
	CreateDate      time.Time `json:"-"`
	CreatedBy       string    `json:"createdBy"`
	SelectedHosts   []string  `json:"selectedHosts"`
	SelectableHosts []string  `json:"selectableHosts"`
	RatePolicies    []struct {
		AdditionalMatchOptions []struct {
			PositiveMatch bool     `json:"positiveMatch"`
			Type          string   `json:"type"`
			Values        []string `json:"values"`
		} `json:"additionalMatchOptions"`
		AllTraffic            bool                         `json:"allTraffic,omitempty"`
		AverageThreshold      int                          `json:"averageThreshold"`
		BurstThreshold        int                          `json:"burstThreshold"`
		ClientIdentifier      string                       `json:"clientIdentifier"`
		CreateDate            time.Time                    `json:"-"`
		Description           string                       `json:"description,omitempty"`
		FileExtensions        *RatePolicyFileExtensions    `json:"fileExtensions,omitempty"`
		Hostnames             []string                     `json:"hostnames,omitempty"`
		ID                    int                          `json:"id"`
		MatchType             string                       `json:"matchType"`
		Name                  string                       `json:"name"`
		Path                  *RatePoliciesPath            `json:"path,omitempty"`
		PathMatchType         string                       `json:"pathMatchType,omitempty"`
		PathURIPositiveMatch  bool                         `json:"pathUriPositiveMatch"`
		QueryParameters       *RatePoliciesQueryParameters `json:"queryParameters,omitempty"`
		RequestType           string                       `json:"requestType"`
		SameActionOnIpv6      bool                         `json:"sameActionOnIpv6"`
		Type                  string                       `json:"type"`
		UpdateDate            time.Time                    `json:"-"`
		UseXForwardForHeaders bool                         `json:"useXForwardForHeaders"`
		Used                  bool                         `json:"-"`
	} `json:"ratePolicies"`
	ReputationProfiles []struct {
		Condition        *ConditionReputationProfile `json:"condition,omitempty"`
		Context          string                      `json:"context,omitempty"`
		ContextReadable  string                      `json:"-"`
		Enabled          bool                        `json:"-"`
		ID               int                         `json:"id"`
		Name             string                      `json:"name"`
		SharedIPHandling string                      `json:"sharedIpHandling"`
		Threshold        int                         `json:"threshold"`
	} `json:"reputationProfiles"`
	CustomRules []struct {
		Conditions    *ConditionsExp `json:"conditions,omitempty"`
		Description   string         `json:"description,omitempty"`
		ID            int            `json:"id"`
		Name          string         `json:"name"`
		RuleActivated bool           `json:"-"`
		Structured    bool           `json:"-"`
		Tag           []string       `json:"tag"`
		Version       int            `json:"-"`
	} `json:"customRules"`
	Rulesets []struct {
		ID               int            `json:"id"`
		RulesetVersionID int            `json:"rulesetVersionId"`
		Type             string         `json:"type"`
		ReleaseDate      time.Time      `json:"releaseDate"`
		Rules            *RulesetsRules `json:"rules,omitempty"`
		AttackGroups     []struct {
			Group     string `json:"group"`
			GroupName string `json:"groupName"`
			Threshold int    `json:"threshold,omitempty"`
		} `json:"attackGroups,omitempty"`
	} `json:"rulesets"`
	MatchTargets struct {
		APITargets []struct {
			Sequence int    `json:"-"`
			ID       int    `json:"id,omitempty"`
			Type     string `json:"type,omitempty"`
			Apis     []struct {
				ID   int    `json:"id,omitempty"`
				Name string `json:"name,omitempty"`
			} `json:"apis,omitempty"`
			SecurityPolicy struct {
				PolicyID string `json:"policyId,omitempty"`
			} `json:"securityPolicy,omitempty"`
			BypassNetworkLists []struct {
				Name string `json:"name,omitempty"`
				ID   string `json:"id,omitempty"`
			} `json:"bypassNetworkLists,omitempty"`
		} `json:"apiTargets,omitempty"`
		WebsiteTargets []struct {
			Type               string `json:"type"`
			BypassNetworkLists []struct {
				ID   string `json:"id"`
				Name string `json:"name"`
			} `json:"bypassNetworkLists,omitempty"`
			DefaultFile                  string   `json:"defaultFile"`
			FilePaths                    []string `json:"filePaths,omitempty"`
			FileExtensions               []string `json:"fileExtensions,omitempty"`
			Hostnames                    []string `json:"hostnames,omitempty"`
			ID                           int      `json:"id"`
			IsNegativeFileExtensionMatch bool     `json:"isNegativeFileExtensionMatch"`
			IsNegativePathMatch          bool     `json:"isNegativePathMatch"`
			SecurityPolicy               struct {
				PolicyID string `json:"policyId"`
			} `json:"securityPolicy"`
			Sequence int `json:"-"`
		} `json:"websiteTargets"`
	} `json:"matchTargets"`
	SecurityPolicies []struct {
		ID                      string `json:"id"`
		Name                    string `json:"name"`
		HasRatePolicyWithAPIKey bool   `json:"hasRatePolicyWithApiKey"`
		SecurityControls        struct {
			ApplyAPIConstraints           bool `json:"applyApiConstraints"`
			ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
			ApplyBotmanControls           bool `json:"applyBotmanControls"`
			ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
			ApplyRateControls             bool `json:"applyRateControls"`
			ApplyReputationControls       bool `json:"applyReputationControls"`
			ApplySlowPostControls         bool `json:"applySlowPostControls"`
		} `json:"securityControls"`
		WebApplicationFirewall struct {
			RuleActions []struct {
				Action           string          `json:"action"`
				ID               int             `json:"id"`
				RulesetVersionID int             `json:"rulesetVersionId"`
				Conditions       *RuleConditions `json:"conditions,omitempty"`
				Exception        *RuleException  `json:"exception,omitempty"`
			} `json:"ruleActions,omitempty"`
			AttackGroupActions []struct {
				Action                 string                         `json:"action"`
				Group                  string                         `json:"group"`
				RulesetVersionID       int                            `json:"rulesetVersionId"`
				AdvancedExceptionsList *AttackGroupAdvancedExceptions `json:"advancedExceptions,omitempty"`
				Exception              *AttackGroupException          `json:"exception,omitempty"`
			} `json:"attackGroupActions,omitempty"`
			Evaluation  *WebApplicationFirewallEvaluation `json:"evaluation,omitempty"`
			ThreatIntel string                            `json:"threatIntel"`
		} `json:"webApplicationFirewall"`
		CustomRuleActions []struct {
			Action string `json:"action"`
			ID     int    `json:"id"`
		} `json:"customRuleActions,omitempty"`
		APIRequestConstraints *APIRequestConstraintsexp `json:"apiRequestConstraints,omitempty"`
		ClientReputation      struct {
			ReputationProfileActions *ClientReputationReputationProfileActions `json:"reputationProfileActions,omitempty"`
		} `json:"clientReputation"`
		RatePolicyActions *SecurityPoliciesRatePolicyActions `json:"ratePolicyActions,omitempty"`
		IPGeoFirewall     struct {
			Block       string `json:"block"`
			GeoControls struct {
				BlockedIPNetworkLists struct {
					NetworkList []string `json:"networkList,omitempty"`
				} `json:"blockedIPNetworkLists"`
			} `json:"geoControls"`
			IPControls struct {
				AllowedIPNetworkLists struct {
					NetworkList []string `json:"networkList,omitempty"`
				} `json:"allowedIPNetworkLists"`
				BlockedIPNetworkLists struct {
					NetworkList []string `json:"networkList,omitempty"`
				} `json:"blockedIPNetworkLists"`
			} `json:"ipControls"`
		} `json:"ipGeoFirewall,omitempty"`
		PenaltyBox       *SecurityPoliciesPenaltyBox        `json:"penaltyBox,omitempty"`
		SlowPost         *SlowPostexp                       `json:"slowPost,omitempty"`
		LoggingOverrides *LoggingOverridesexp               `json:"loggingOverrides,omitempty"`
		PragmaHeader     *GetAdvancedSettingsPragmaResponse `json:"pragmaHeader,omitempty"`
	} `json:"securityPolicies"`
	Siem            *Siemexp            `json:"siem,omitempty"`
	AdvancedOptions *AdvancedOptionsexp `json:"advancedOptions,omitempty"`
	CustomDenyList  *CustomDenyListexp  `json:"customDenyList,omitempty"`
	Evaluating      struct {
		SecurityPolicies []struct {
			EffectiveSecurityControls struct {
				ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
				ApplyRateControls             bool `json:"applyRateControls,omitempty"`
				ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
			}
			Hostnames        []string `json:"hostnames,omitempty"`
			SecurityPolicyID string   `json:"id"`
		}
	} `json:"evaluating"`
}

GetExportConfigurationsResponse is returned from a call to GetExportConfigurations.

type GetFailoverHostnamesRequest added in v2.2.0

type GetFailoverHostnamesRequest struct {
	ConfigID int `json:"-"`
}

GetFailoverHostnamesRequest is used to retrieve the failover hostnames for a configuration.

type GetFailoverHostnamesResponse added in v2.2.0

type GetFailoverHostnamesResponse struct {
	ConfigID      int `json:"-"`
	ConfigVersion int `json:"-"`
	HostnameList  []struct {
		Hostname string `json:"hostname"`
	} `json:"hostnameList"`
}

GetFailoverHostnamesResponse is returned from a call to GetFailoverHostnames.

type GetIPGeoProtectionRequest added in v2.5.0

type GetIPGeoProtectionRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyApplicationLayerControls bool   `json:"applyNetworkLayerControls"`
}

GetIPGeoProtectionRequest is used to retrieve the IPGeo protection settings.

func (GetIPGeoProtectionRequest) Validate added in v2.5.0

func (v GetIPGeoProtectionRequest) Validate() error

Validate validates a GetIPGeoProtectionRequest.

type GetIPGeoProtectionResponse added in v2.5.0

type GetIPGeoProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetIPGeoProtectionResponse is returned from a call to GetIPGeoProtection.

type GetIPGeoProtectionsRequest added in v2.5.0

type GetIPGeoProtectionsRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

GetIPGeoProtectionsRequest is used to retrieve the IPGeo protection settings.

func (GetIPGeoProtectionsRequest) Validate added in v2.5.0

func (v GetIPGeoProtectionsRequest) Validate() error

Validate validates a GetIPGeoProtectionsRequest.

type GetIPGeoProtectionsResponse added in v2.5.0

type GetIPGeoProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetIPGeoProtectionsResponse is returned from a call to GetIPGeoProtections.

type GetIPGeoRequest added in v2.0.4

type GetIPGeoRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
}

GetIPGeoRequest is used to retrieve the network lists used in IP/Geo firewall settings.

func (GetIPGeoRequest) Validate added in v2.0.4

func (v GetIPGeoRequest) Validate() error

Validate validates a GetIPGeoRequest.

type GetIPGeoResponse added in v2.0.4

type GetIPGeoResponse struct {
	Block       string `json:"block,omitempty"`
	GeoControls struct {
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList,omitempty"`
		} `json:"blockedIPNetworkLists,omitempty"`
	} `json:"geoControls,omitempty"`
	IPControls struct {
		AllowedIPNetworkLists struct {
			NetworkList []string `json:"networkList,omitempty"`
		} `json:"allowedIPNetworkLists,omitempty"`
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList,omitempty"`
		} `json:"blockedIPNetworkLists,omitempty"`
	} `json:"ipControls,omitempty"`
}

GetIPGeoResponse is returned from a call to GetIpGeo.

type GetMatchTargetRequest

type GetMatchTargetRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	TargetID      int `json:"targetId"`
}

GetMatchTargetRequest is used to retrieve a match target.

func (GetMatchTargetRequest) Validate

func (v GetMatchTargetRequest) Validate() error

Validate validates a GetMatchTargetRequest.

type GetMatchTargetResponse

type GetMatchTargetResponse struct {
	Type string `json:"type,omitempty"`
	Apis []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"apis,omitempty"`
	DefaultFile                  string           `json:"defaultFile,omitempty"`
	Hostnames                    []string         `json:"hostnames,omitempty"`
	IsNegativeFileExtensionMatch bool             `json:"isNegativeFileExtensionMatch,omitempty"`
	IsNegativePathMatch          *json.RawMessage `json:"isNegativePathMatch,omitempty"`
	FilePaths                    []string         `json:"filePaths,omitempty"`
	FileExtensions               []string         `json:"fileExtensions,omitempty"`
	SecurityPolicy               struct {
		PolicyID string `json:"policyId,omitempty"`
	} `json:"securityPolicy,omitempty"`
	Sequence           int `json:"-"`
	TargetID           int `json:"targetId"`
	BypassNetworkLists []struct {
		Name string `json:"name,omitempty"`
		ID   string `json:"id,omitempty"`
	} `json:"bypassNetworkLists,omitempty"`
}

GetMatchTargetResponse is returned from a call to GetMatchTarget.

type GetMatchTargetSequenceRequest

type GetMatchTargetSequenceRequest struct {
	ConfigID      int    `json:"configId"`
	ConfigVersion int    `json:"configVersion"`
	Type          string `json:"type"`
}

GetMatchTargetSequenceRequest is used to retrieve the sequence of match targets for a configuration.

func (GetMatchTargetSequenceRequest) Validate

func (v GetMatchTargetSequenceRequest) Validate() error

Validate validates a GetMatchTargetSequenceRequest.

type GetMatchTargetSequenceResponse

type GetMatchTargetSequenceResponse struct {
	TargetSequence []MatchTargetItem `json:"targetSequence"`
	Type           string            `json:"type"`
}

GetMatchTargetSequenceResponse is returned from a call to GetMatchTargetSequence.

type GetMatchTargetsRequest

type GetMatchTargetsRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	TargetID      int `json:"targetId"`
}

GetMatchTargetsRequest is used to retrieve the match targets for a configuration.

func (GetMatchTargetsRequest) Validate

func (v GetMatchTargetsRequest) Validate() error

Validate validates a GetMatchTargetsRequest.

type GetMatchTargetsResponse

type GetMatchTargetsResponse struct {
	MatchTargets struct {
		APITargets []struct {
			Type string `json:"type,omitempty"`
			Apis []struct {
				ID   int    `json:"id"`
				Name string `json:"name"`
			} `json:"apis"`
			Sequence      int `json:"sequence"`
			TargetID      int `json:"targetId"`
			ConfigID      int `json:"configId,omitempty"`
			ConfigVersion int `json:"configVersion,omitempty"`

			SecurityPolicy struct {
				PolicyID string `json:"policyId,omitempty"`
			} `json:"securityPolicy,omitempty"`

			BypassNetworkLists []struct {
				Name string `json:"name,omitempty"`
				ID   string `json:"id,omitempty"`
			} `json:"bypassNetworkLists,omitempty"`
		} `json:"apiTargets,omitempty"`
		WebsiteTargets []struct {
			ConfigID                     int              `json:"configId,omitempty"`
			ConfigVersion                int              `json:"configVersion,omitempty"`
			DefaultFile                  string           `json:"defaultFile,omitempty"`
			IsNegativeFileExtensionMatch bool             `json:"isNegativeFileExtensionMatch,omitempty"`
			IsNegativePathMatch          *json.RawMessage `json:"isNegativePathMatch,omitempty"`
			Sequence                     int              `json:"-"`
			TargetID                     int              `json:"targetId,omitempty"`
			Type                         string           `json:"type,omitempty"`
			FileExtensions               []string         `json:"fileExtensions,omitempty"`
			FilePaths                    []string         `json:"filePaths,omitempty"`
			Hostnames                    []string         `json:"hostnames,omitempty"`
			SecurityPolicy               struct {
				PolicyID string `json:"policyId,omitempty"`
			} `json:"securityPolicy,omitempty"`
			BypassNetworkLists []struct {
				Name string `json:"name,omitempty"`
				ID   string `json:"id,omitempty"`
			} `json:"bypassNetworkLists,omitempty"`
		} `json:"websiteTargets,omitempty"`
	} `json:"matchTargets,omitempty"`
}

GetMatchTargetsResponse is returned from a call to GetMatchTargets.

type GetNetworkLayerProtectionRequest added in v2.0.4

type GetNetworkLayerProtectionRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

GetNetworkLayerProtectionRequest is used to retrieve the network layer protection setting.

func (GetNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates a GetNetworkLayerProtectionRequest.

type GetNetworkLayerProtectionResponse added in v2.0.4

type GetNetworkLayerProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetNetworkLayerProtectionResponse is returned from a call to GetNetworkLayerProtection.

type GetNetworkLayerProtectionsRequest added in v2.0.4

type GetNetworkLayerProtectionsRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

GetNetworkLayerProtectionsRequest is used to retrieve the network layer protection setting.

func (GetNetworkLayerProtectionsRequest) Validate added in v2.0.4

Validate validates a GetNetworkLayerProtectionsRequest.

type GetNetworkLayerProtectionsResponse added in v2.0.4

type GetNetworkLayerProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

GetNetworkLayerProtectionsResponse is returned from a call to GetNetworkLayerProtection.

type GetPenaltyBoxRequest

type GetPenaltyBoxRequest struct {
	ConfigID             int    `json:"-"`
	Version              int    `json:"-"`
	PolicyID             string `json:"-"`
	Action               string `json:"action"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection"`
}

GetPenaltyBoxRequest is used to retrieve the penalty box settings.

func (GetPenaltyBoxRequest) Validate

func (v GetPenaltyBoxRequest) Validate() error

Validate validates a GetPenaltyBoxRequest.

type GetPenaltyBoxResponse

type GetPenaltyBoxResponse struct {
	Action               string `json:"action"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection,omitempty"`
}

GetPenaltyBoxResponse is returned from a call to GetPenaltyBox.

type GetPenaltyBoxesRequest

type GetPenaltyBoxesRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"current"`
	Mode     string `json:"mode"`
	Eval     string `json:"eval"`
}

GetPenaltyBoxesRequest is used to retrieve the penalty box settings.

func (GetPenaltyBoxesRequest) Validate

func (v GetPenaltyBoxesRequest) Validate() error

Validate validates a GetPenaltyBoxsRequest.

type GetPenaltyBoxesResponse

type GetPenaltyBoxesResponse struct {
	Action               string `json:"action,omitempty"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection,omitempty"`
}

GetPenaltyBoxesResponse is returned from a call to GetPenaltyBoxes.

type GetPolicyProtectionsRequest added in v2.0.4

type GetPolicyProtectionsRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyAPIConstraints           bool   `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool   `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool   `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool   `json:"applyRateControls"`
	ApplyReputationControls       bool   `json:"applyReputationControls"`
	ApplySlowPostControls         bool   `json:"applySlowPostControls"`
}

GetPolicyProtectionsRequest is used to retrieve the policy protection setting.

func (GetPolicyProtectionsRequest) Validate added in v2.0.4

func (v GetPolicyProtectionsRequest) Validate() error

Validate validates a GetPolicyProtectionsRequest.

type GetPolicyProtectionsResponse added in v2.0.4

type GetPolicyProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

GetPolicyProtectionsResponse is returned from a call to GetPolicyProtections.

type GetRatePoliciesRequest

type GetRatePoliciesRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	RatePolicyID  int `json:"ratePolicyId"`
}

GetRatePoliciesRequest is used to retrieve the rate policies for a configuration.

func (GetRatePoliciesRequest) Validate

func (v GetRatePoliciesRequest) Validate() error

Validate validates a GetRatePolicysRequest.

type GetRatePoliciesResponse

type GetRatePoliciesResponse struct {
	RatePolicies []struct {
		ID                     int                               `json:"id"`
		ConfigID               int                               `json:"-"`
		ConfigVersion          int                               `json:"-"`
		MatchType              string                            `json:"matchType,omitempty"`
		Type                   string                            `json:"type,omitempty"`
		Name                   string                            `json:"name,omitempty"`
		Description            string                            `json:"description,omitempty"`
		AverageThreshold       int                               `json:"averageThreshold,omitempty"`
		BurstThreshold         int                               `json:"burstThreshold,omitempty"`
		ClientIdentifier       string                            `json:"clientIdentifier,omitempty"`
		UseXForwardForHeaders  bool                              `json:"useXForwardForHeaders"`
		RequestType            string                            `json:"requestType,omitempty"`
		SameActionOnIpv6       bool                              `json:"sameActionOnIpv6"`
		Path                   *RatePolicyPath                   `json:"path,omitempty"`
		PathMatchType          string                            `json:"pathMatchType,omitempty"`
		PathURIPositiveMatch   bool                              `json:"pathUriPositiveMatch"`
		FileExtensions         *RatePolicyFileExtensions         `json:"fileExtensions,omitempty"`
		Hostnames              []string                          `json:"hostnames,omitempty"`
		AdditionalMatchOptions *RatePolicyAdditionalMatchOptions `json:"additionalMatchOptions,omitempty"`
		QueryParameters        *RatePolicyQueryParameters        `json:"queryParameters,omitempty"`
		CreateDate             string                            `json:"-"`
		UpdateDate             string                            `json:"-"`
		Used                   json.RawMessage                   `json:"used"`
		SameActionOnIpv        bool                              `json:"sameActionOnIpv"`
		APISelectors           *RatePolicyAPISelectors           `json:"apiSelectors,omitempty"`
		BodyParameters         *RatePolicyBodyParameters         `json:"bodyParameters,omitempty"`
	} `json:"ratePolicies,omitempty"`
}

GetRatePoliciesResponse is returned from a call to GetRatePolicies.

type GetRatePolicyActionRequest

type GetRatePolicyActionRequest struct {
	ConfigID   int    `json:"configId"`
	Version    int    `json:"version"`
	PolicyID   string `json:"policyId"`
	ID         int    `json:"id"`
	Ipv4Action string `json:"ipv4Action"`
	Ipv6Action string `json:"ipv6Action"`
}

GetRatePolicyActionRequest is used to retrieve a configuration's rate policies and their associated actions.

func (GetRatePolicyActionRequest) Validate

func (v GetRatePolicyActionRequest) Validate() error

Validate validates a GetRatePolicyActionRequest.

type GetRatePolicyActionResponse

type GetRatePolicyActionResponse struct {
	RatePolicyActions []struct {
		ID         int    `json:"id"`
		Ipv4Action string `json:"ipv4Action,omitempty"`
		Ipv6Action string `json:"ipv6Action,omitempty"`
	} `json:"ratePolicyActions"`
}

GetRatePolicyActionResponse is returned from a call to GetRatePolicyAction.

type GetRatePolicyActionsRequest

type GetRatePolicyActionsRequest struct {
	ConfigID     int    `json:"configId"`
	Version      int    `json:"version"`
	PolicyID     string `json:"policyId"`
	RatePolicyID int    `json:"id"`
	Ipv4Action   string `json:"ipv4Action"`
	Ipv6Action   string `json:"ipv6Action"`
}

GetRatePolicyActionsRequest is used to retrieve a configuration's rate policies and their associated actions.

func (GetRatePolicyActionsRequest) Validate

func (v GetRatePolicyActionsRequest) Validate() error

Validate validates a GetRatePolicyActionsRequest.

type GetRatePolicyActionsResponse

type GetRatePolicyActionsResponse struct {
	RatePolicyActions []struct {
		ID         int    `json:"id"`
		Ipv4Action string `json:"ipv4Action,omitempty"`
		Ipv6Action string `json:"ipv6Action,omitempty"`
	} `json:"ratePolicyActions,omitempty"`
}

GetRatePolicyActionsResponse is returned from a call to GetRatePolicyActions.

type GetRatePolicyRequest

type GetRatePolicyRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	RatePolicyID  int `json:"ratePolicyId"`
}

GetRatePolicyRequest is used to retrieve information about a specific rate policy.

func (GetRatePolicyRequest) Validate

func (v GetRatePolicyRequest) Validate() error

Validate validates a GetRatePolicyRequest.

type GetRatePolicyResponse

type GetRatePolicyResponse struct {
	ID                     int                               `json:"-"`
	PolicyID               int                               `json:"policyId,omitempty"`
	ConfigID               int                               `json:"-"`
	ConfigVersion          int                               `json:"-"`
	MatchType              string                            `json:"matchType,omitempty"`
	Type                   string                            `json:"type,omitempty"`
	Name                   string                            `json:"name,omitempty"`
	Description            string                            `json:"description,omitempty"`
	AverageThreshold       int                               `json:"averageThreshold,omitempty"`
	BurstThreshold         int                               `json:"burstThreshold,omitempty"`
	ClientIdentifier       string                            `json:"clientIdentifier,omitempty"`
	UseXForwardForHeaders  bool                              `json:"useXForwardForHeaders"`
	RequestType            string                            `json:"requestType,omitempty"`
	SameActionOnIpv6       bool                              `json:"sameActionOnIpv6"`
	Path                   *RatePolicyPath                   `json:"path,omitempty"`
	PathMatchType          string                            `json:"pathMatchType,omitempty"`
	PathURIPositiveMatch   bool                              `json:"pathUriPositiveMatch"`
	FileExtensions         *RatePolicyFileExtensions         `json:"fileExtensions,omitempty"`
	Hostnames              []string                          `json:"hostnames,omitempty"`
	AdditionalMatchOptions *RatePolicyAdditionalMatchOptions `json:"additionalMatchOptions,omitempty"`
	QueryParameters        *RatePolicyQueryParameters        `json:"queryParameters,omitempty"`
	CreateDate             string                            `json:"-"`
	UpdateDate             string                            `json:"-"`
	Used                   bool                              `json:"-"`
}

GetRatePolicyResponse is returned from a call to GetRatePolicy.

type GetRateProtectionRequest added in v2.0.4

type GetRateProtectionRequest struct {
	ConfigID          int    `json:"-"`
	Version           int    `json:"-"`
	PolicyID          string `json:"-"`
	ApplyRateControls bool   `json:"applyRateControls"`
}

GetRateProtectionRequest is used to retrieve the rate protection setting.

func (GetRateProtectionRequest) Validate added in v2.0.4

func (v GetRateProtectionRequest) Validate() error

Validate validates a GetRateProtectionRequest.

type GetRateProtectionResponse added in v2.0.4

type GetRateProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetRateProtectionResponse is returned from a call to GetRateProtection.

type GetRateProtectionsRequest added in v2.0.4

type GetRateProtectionsRequest struct {
	ConfigID          int    `json:"-"`
	Version           int    `json:"-"`
	PolicyID          string `json:"-"`
	ApplyRateControls bool   `json:"applyRateControls"`
}

GetRateProtectionsRequest is used to retrieve the rate protection setting.

func (GetRateProtectionsRequest) Validate added in v2.0.4

func (v GetRateProtectionsRequest) Validate() error

Validate validates a GetRateProtectionsRequest.

type GetRateProtectionsResponse added in v2.0.4

type GetRateProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetRateProtectionsResponse is returned from a call to GetRateProtection.

type GetReputationAnalysisRequest added in v2.2.0

type GetReputationAnalysisRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
}

GetReputationAnalysisRequest is used to retrieve the reputation analysis settings for a security policy.

func (GetReputationAnalysisRequest) Validate added in v2.2.0

func (v GetReputationAnalysisRequest) Validate() error

Validate validates a GetReputationAnalysisRequest.

type GetReputationAnalysisResponse added in v2.2.0

type GetReputationAnalysisResponse struct {
	ConfigID                           int    `json:"-"`
	Version                            int    `json:"-"`
	PolicyID                           string `json:"-"`
	ForwardToHTTPHeader                bool   `json:"forwardToHTTPHeader"`
	ForwardSharedIPToHTTPHeaderAndSIEM bool   `json:"forwardSharedIPToHTTPHeaderAndSIEM"`
}

GetReputationAnalysisResponse is returned from a call to GetReputationAnalysis.

type GetReputationProfileActionRequest added in v2.0.4

type GetReputationProfileActionRequest struct {
	ConfigID            int    `json:"configId"`
	Version             int    `json:"version"`
	PolicyID            string `json:"policyId"`
	ReputationProfileID int    `json:"id"`
	Action              string `json:"action"`
}

GetReputationProfileActionRequest is used to retrieve the details for a specific reputation profile.

func (GetReputationProfileActionRequest) Validate added in v2.0.4

Validate validates a GetReputationProfileActionRequest.

type GetReputationProfileActionResponse added in v2.0.4

type GetReputationProfileActionResponse struct {
	Action string `json:"action,omitempty"`
}

GetReputationProfileActionResponse is returned from a call to GetReputationProfileAction.

type GetReputationProfileActionsRequest added in v2.0.4

type GetReputationProfileActionsRequest struct {
	ConfigID            int    `json:"configId"`
	Version             int    `json:"version"`
	PolicyID            string `json:"policyId"`
	ReputationProfileID int    `json:"id"`
	Action              string `json:"action"`
}

GetReputationProfileActionsRequest is used to retrieve the list of reputation profiles and their associated actions.

func (GetReputationProfileActionsRequest) Validate added in v2.0.4

Validate validates a GetReputationProfileActionsRequest.

type GetReputationProfileActionsResponse added in v2.0.4

type GetReputationProfileActionsResponse struct {
	ReputationProfiles []struct {
		Action string `json:"action,omitempty"`
		ID     int    `json:"id,omitempty"`
	} `json:"reputationProfiles,omitempty"`
}

GetReputationProfileActionsResponse is returned from a call to GetReputationProfileActions.

type GetReputationProfileRequest added in v2.0.4

type GetReputationProfileRequest struct {
	ConfigID            int `json:"configId"`
	ConfigVersion       int `json:"configVersion"`
	ReputationProfileId int `json:"-"`
}

GetReputationProfileRequest is used to retrieve the details for a specific reputation profile.

func (GetReputationProfileRequest) Validate added in v2.0.4

func (v GetReputationProfileRequest) Validate() error

Validate validates a GetReputationProfileRequest.

type GetReputationProfileResponse added in v2.0.4

type GetReputationProfileResponse struct {
	Condition        *GetReputationProfileResponseCondition `json:"condition,omitempty"`
	Context          string                                 `json:"context,omitempty"`
	ContextReadable  string                                 `json:"-"`
	Enabled          bool                                   `json:"-"`
	ID               int                                    `json:"-"`
	Name             string                                 `json:"name,omitempty"`
	SharedIPHandling string                                 `json:"sharedIpHandling,omitempty"`
	Threshold        int                                    `json:"threshold,omitempty"`
}

GetReputationProfileResponse is returned from a call to GetReputationProfile.

type GetReputationProfileResponseCondition added in v2.4.1

type GetReputationProfileResponseCondition struct {
	AtomicConditions []struct {
		CheckIps      *json.RawMessage `json:"checkIps,omitempty"`
		ClassName     string           `json:"className,omitempty"`
		Index         int              `json:"index,omitempty"`
		PositiveMatch json.RawMessage  `json:"positiveMatch,omitempty"`
		Value         []string         `json:"value,omitempty"`
		Name          *json.RawMessage `json:"name,omitempty"`
		NameCase      bool             `json:"nameCase,omitempty"`
		NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
		ValueCase     bool             `json:"valueCase,omitempty"`
		ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
		Host          []string         `json:"host,omitempty"`
	} `json:"atomicConditions,omitempty"`
	PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
}

GetReputationProfileResponseCondition is used as part of the response to GetReputationProfile.

type GetReputationProfilesRequest added in v2.0.4

type GetReputationProfilesRequest struct {
	ConfigID            int `json:"configId"`
	ConfigVersion       int `json:"configVersion"`
	ReputationProfileId int `json:"-"`
}

GetReputationProfilesRequest is used to retrieve the reputation profiles for a configuration.

func (GetReputationProfilesRequest) Validate added in v2.0.4

func (v GetReputationProfilesRequest) Validate() error

Validate validates a GetReputationProfilesRequest.

type GetReputationProfilesResponse added in v2.0.4

type GetReputationProfilesResponse struct {
	ReputationProfiles []struct {
		Condition        *ReputationProfileCondition `json:"condition,omitempty"`
		Context          string                      `json:"context,omitempty"`
		ContextReadable  string                      `json:"-"`
		Enabled          bool                        `json:"-"`
		ID               int                         `json:"id,omitempty"`
		Name             string                      `json:"name,omitempty"`
		SharedIPHandling string                      `json:"sharedIpHandling,omitempty"`
		Threshold        int                         `json:"threshold,omitempty"`
	} `json:"reputationProfiles,omitempty"`
}

GetReputationProfilesResponse is returned from a call to GetReputationProfiles.

type GetReputationProtectionRequest added in v2.0.4

type GetReputationProtectionRequest struct {
	ConfigID                int    `json:"-"`
	Version                 int    `json:"-"`
	PolicyID                string `json:"-"`
	ApplyReputationControls bool   `json:"applyReputationControls"`
}

GetReputationProtectionRequest is used to retrieve the reputation protection setting.

func (GetReputationProtectionRequest) Validate added in v2.0.4

Validate validates a GetReputationProtectionRequest.

type GetReputationProtectionResponse added in v2.0.4

type GetReputationProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetReputationProtectionResponse is returned from a call to GetReputationProtection.

type GetReputationProtectionsRequest added in v2.0.4

type GetReputationProtectionsRequest struct {
	ConfigID                int    `json:"-"`
	Version                 int    `json:"-"`
	PolicyID                string `json:"-"`
	ApplyReputationControls bool   `json:"applyReputationControls"`
}

GetReputationProtectionsRequest is used to retrieve the reputation protection setting.

func (GetReputationProtectionsRequest) Validate added in v2.0.4

Validate validates a GetReputationProtectionsRequest.

type GetReputationProtectionsResponse added in v2.0.4

type GetReputationProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

GetReputationProtectionsResponse is returned from a call to GetReputationProtection.

type GetRuleRequest added in v2.5.0

type GetRuleRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	RuleID   int    `json:"-"`
}

GetRuleRequest is used to retrieve a rule together with its action and its condition and exception information.

func (GetRuleRequest) Validate added in v2.5.0

func (v GetRuleRequest) Validate() error

Validate validates a GetRuleRequest.

type GetRuleResponse added in v2.5.0

type GetRuleResponse struct {
	Action             string                  `json:"action,omitempty"`
	ConditionException *RuleConditionException `json:"conditionException,omitempty"`
}

GetRuleResponse is returned from a call to GetRule.

func (*GetRuleResponse) IsEmptyConditionException added in v2.5.0

func (r *GetRuleResponse) IsEmptyConditionException() bool

IsEmptyConditionException checks whether a rule's condition and exception information is empty.

type GetRuleUpgradeRequest added in v2.0.4

type GetRuleUpgradeRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
}

GetRuleUpgradeRequest is used to verify changes in the KRS rule sets.

func (GetRuleUpgradeRequest) Validate added in v2.0.4

func (v GetRuleUpgradeRequest) Validate() error

Validate validates a GetRuleUpgradeRequest.

type GetRuleUpgradeResponse added in v2.0.4

type GetRuleUpgradeResponse struct {
	Current          string `json:"current,omitempty"`
	Evaluating       string `json:"evaluating,omitempty"`
	Latest           string `json:"latest,omitempty"`
	KRSToEvalUpdates struct {
		DeletedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"deletedRules,omitempty"`
		UpdatedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"updatedRules,omitempty"`
		NewRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"newRules,omitempty"`
	} `json:"KRSToEvalUpdates,omitempty"`
	EvalToEvalUpdates struct {
		DeletedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"deletedRules,omitempty"`
		UpdatedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"updatedRules,omitempty"`
		NewRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"newRules,omitempty"`
	} `json:"EvalToEvalUpdates,omitempty"`
	KRSToLatestUpdates struct {
		DeletedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"deletedRules,omitempty"`
		NewRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"newRules,omitempty"`
		UpdatedRules []struct {
			ID    int    `json:"id,omitempty"`
			Title string `json:"title,omitempty"`
		} `json:"updatedRules,omitempty"`
	} `json:"KRSToLatestUpdates,omitempty"`
}

GetRuleUpgradeResponse is returned from a call to GetRuleUpgrade.

type GetRulesRequest added in v2.5.0

type GetRulesRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	RuleID   int    `json:"-"`
}

GetRulesRequest is used to retrieve the rules for a configuration and policy, together with their actions and condition and exception information.

func (GetRulesRequest) Validate added in v2.5.0

func (v GetRulesRequest) Validate() error

Validate validates a GetRulesRequest.

type GetRulesResponse added in v2.5.0

type GetRulesResponse struct {
	Rules []struct {
		ID                 int                     `json:"id,omitempty"`
		Action             string                  `json:"action,omitempty"`
		ConditionException *RuleConditionException `json:"conditionException,omitempty"`
	} `json:"ruleActions,omitempty"`
}

GetRulesResponse is returned from a call to GetRules.

type GetSecurityPoliciesRequest

type GetSecurityPoliciesRequest struct {
	ConfigID   int    `json:"configId"`
	Version    int    `json:"version"`
	PolicyName string `json:"-"`
}

GetSecurityPoliciesRequest is used to retrieve the security policies for a configuration.

func (GetSecurityPoliciesRequest) Validate added in v2.0.4

func (v GetSecurityPoliciesRequest) Validate() error

Validate validates a GetSecurityPolicysRequest.

type GetSecurityPoliciesResponse

type GetSecurityPoliciesResponse struct {
	ConfigID int `json:"configId,omitempty"`
	Version  int `json:"version,omitempty"`
	Policies []struct {
		PolicyID                string `json:"policyId,omitempty"`
		PolicyName              string `json:"policyName,omitempty"`
		HasRatePolicyWithAPIKey bool   `json:"hasRatePolicyWithApiKey,omitempty"`
		PolicySecurityControls  struct {
			ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
			ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
			ApplyRateControls             bool `json:"applyRateControls,omitempty"`
			ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
			ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
			ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
			ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
		} `json:"policySecurityControls,omitempty"`
	} `json:"policies,omitempty"`
}

GetSecurityPoliciesResponse is returned from a call to GetSecurityPolicies.

type GetSecurityPolicyCloneRequest

type GetSecurityPolicyCloneRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
}

GetSecurityPolicyCloneRequest is used to retrieve a security policy.

func (GetSecurityPolicyCloneRequest) Validate

func (v GetSecurityPolicyCloneRequest) Validate() error

Validate validates a GetSecurityPolicyCloneRequest.

type GetSecurityPolicyCloneResponse

type GetSecurityPolicyCloneResponse struct {
	ConfigID               int    `json:"configId,omitempty"`
	PolicyID               string `json:"policyId,omitempty"`
	PolicyName             string `json:"policyName,omitempty"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
		ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
		ApplyRateControls             bool `json:"applyRateControls,omitempty"`
		ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
		ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
	} `json:"policySecurityControls,omitempty"`
	Version int `json:"version,omitempty"`
}

GetSecurityPolicyCloneResponse is returned from a call to GetSecurityPolicyClone.

type GetSecurityPolicyClonesRequest

type GetSecurityPolicyClonesRequest struct {
	ConfigID int `json:"configId"`
	Version  int `json:"version"`
}

GetSecurityPolicyClonesRequest is used to retrieve the available security policies.

func (GetSecurityPolicyClonesRequest) Validate

Validate validates a GetSecurityPolicyClonesRequest.

type GetSecurityPolicyClonesResponse

type GetSecurityPolicyClonesResponse struct {
	ConfigID int `json:"configId"`
	Version  int `json:"version"`
	Policies []struct {
		PolicyID                string `json:"policyId"`
		PolicyName              string `json:"policyName"`
		HasRatePolicyWithAPIKey bool   `json:"hasRatePolicyWithApiKey"`
		PolicySecurityControls  struct {
			ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
			ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
			ApplyRateControls             bool `json:"applyRateControls"`
			ApplyReputationControls       bool `json:"applyReputationControls"`
			ApplyBotmanControls           bool `json:"applyBotmanControls"`
			ApplyAPIConstraints           bool `json:"applyApiConstraints"`
			ApplySlowPostControls         bool `json:"applySlowPostControls"`
		} `json:"policySecurityControls"`
	} `json:"policies"`
}

GetSecurityPolicyClonesResponse is returned from a call to GetSecurityPolicyClones.

type GetSecurityPolicyRequest added in v2.0.4

type GetSecurityPolicyRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
}

GetSecurityPolicyRequest is used to retrieve information about a security policy.

func (GetSecurityPolicyRequest) Validate added in v2.0.4

func (v GetSecurityPolicyRequest) Validate() error

Validate validates a GetSecurityPolicyRequest.

type GetSecurityPolicyResponse added in v2.0.4

type GetSecurityPolicyResponse struct {
	ConfigID               int    `json:"configId,omitempty"`
	PolicyID               string `json:"policyId,omitempty"`
	PolicyName             string `json:"policyName,omitempty"`
	DefaultSettings        bool   `json:"defaultSettings,omitempty"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
		ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
		ApplyRateControls             bool `json:"applyRateControls,omitempty"`
		ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
		ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
	} `json:"policySecurityControls,omitempty"`
	Version int `json:"version,omitempty"`
}

GetSecurityPolicyResponse is returned from a call to GetSecurityPolicy.

type GetSelectableHostnamesRequest

type GetSelectableHostnamesRequest struct {
	ConfigID   int    `json:"configId"`
	Version    int    `json:"version"`
	ContractID string `json:"-"`
	GroupID    int    `json:"-"`
}

GetSelectableHostnamesRequest is used to retrieve the selectable hostnames for a configuration.

type GetSelectableHostnamesResponse

type GetSelectableHostnamesResponse struct {
	AvailableSet []struct {
		ActiveInProduction     bool   `json:"activeInProduction,omitempty"`
		ActiveInStaging        bool   `json:"activeInStaging,omitempty"`
		ArlInclusion           bool   `json:"arlInclusion,omitempty"`
		Hostname               string `json:"hostname,omitempty"`
		ConfigIDInProduction   int    `json:"configIdInProduction,omitempty"`
		ConfigNameInProduction string `json:"configNameInProduction,omitempty"`
	} `json:"availableSet,omitempty"`
	ConfigID                int  `json:"configId,omitempty"`
	ConfigVersion           int  `json:"configVersion,omitempty"`
	ProtectARLInclusionHost bool `json:"protectARLInclusionHost,omitempty"`
}

GetSelectableHostnamesResponse is returned from a call to GetSelectableHostnames.

type GetSelectedHostnameRequest

type GetSelectedHostnameRequest struct {
	ConfigID     int        `json:"configId"`
	Version      int        `json:"version"`
	HostnameList []Hostname `json:"hostnameList"`
}

GetSelectedHostnameRequest is used to retrieve the selected hostnames for a configuration.

func (GetSelectedHostnameRequest) Validate

func (v GetSelectedHostnameRequest) Validate() error

Validate validates a GetSelectedHostnameRequest.

type GetSelectedHostnameResponse

type GetSelectedHostnameResponse struct {
	HostnameList []Hostname `json:"hostnameList"`
}

GetSelectedHostnameResponse is returned from a call to GetSelectedHostname.

type GetSelectedHostnamesRequest

type GetSelectedHostnamesRequest struct {
	ConfigID     int        `json:"configId"`
	Version      int        `json:"version"`
	HostnameList []Hostname `json:"hostnameList"`
}

GetSelectedHostnamesRequest is used to retrieve the selected hostnames for a configuration.

func (GetSelectedHostnamesRequest) Validate

func (v GetSelectedHostnamesRequest) Validate() error

Validate validates a GetSelectedHostnamesRequest.

type GetSelectedHostnamesResponse

type GetSelectedHostnamesResponse struct {
	HostnameList []Hostname `json:"hostnameList,omitempty"`
}

GetSelectedHostnamesResponse is returned from a call to GetSelectedHostnames.

type GetSiemDefinitionsRequest added in v2.2.0

type GetSiemDefinitionsRequest struct {
	ID                 int    `json:"id"`
	SiemDefinitionName string `json:"name"`
}

GetSiemDefinitionsRequest is used to retrieve the available SIEM versions.

type GetSiemDefinitionsResponse added in v2.2.0

type GetSiemDefinitionsResponse struct {
	SiemDefinitions []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"siemDefinitions"`
}

GetSiemDefinitionsResponse is returned from a call to GetSiemDefinitions.

type GetSiemSettingRequest added in v2.2.0

type GetSiemSettingRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetSiemSettingRequest is used to retrieve the SIEM settings for a configuration.

type GetSiemSettingResponse added in v2.2.0

type GetSiemSettingResponse struct {
	EnableForAllPolicies    bool     `json:"enableForAllPolicies"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents"`
	SiemDefinitionID        int      `json:"siemDefinitionId"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds"`
}

GetSiemSettingResponse is returned from a call to GetSiemSettings.

type GetSiemSettingsRequest added in v2.2.0

type GetSiemSettingsRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetSiemSettingsRequest is used to retrieve the SIEM settings for a configuration.

func (GetSiemSettingsRequest) Validate added in v2.2.0

func (v GetSiemSettingsRequest) Validate() error

Validate validates a GetSiemSettingsRequest.

type GetSiemSettingsResponse added in v2.2.0

type GetSiemSettingsResponse struct {
	EnableForAllPolicies    bool     `json:"enableForAllPolicies"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents"`
	SiemDefinitionID        int      `json:"siemDefinitionId"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds"`
}

GetSiemSettingsResponse is returned from a call to GetSiemSettings.

type GetSlowPostProtectionRequest added in v2.0.4

type GetSlowPostProtectionRequest struct {
	ConfigID              int    `json:"-"`
	Version               int    `json:"-"`
	PolicyID              string `json:"-"`
	ApplySlowPostControls bool   `json:"applySlowPostControls"`
}

GetSlowPostProtectionRequest is used to retrieve the slow post protecton setting for a policy.

func (GetSlowPostProtectionRequest) Validate added in v2.0.4

func (v GetSlowPostProtectionRequest) Validate() error

Validate validates a GetSlowPostProtectionRequest.

type GetSlowPostProtectionResponse added in v2.0.4

type GetSlowPostProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetSlowPostProtectionResponse is returned from a call to GetSlowPostProtection.

type GetSlowPostProtectionSettingRequest

type GetSlowPostProtectionSettingRequest struct {
	ConfigID          int    `json:"configId"`
	Version           int    `json:"version"`
	PolicyID          string `json:"policyId"`
	Action            string `json:"action"`
	SlowRateThreshold struct {
		Rate   int `json:"rate"`
		Period int `json:"period"`
	} `json:"slowRateThreshold"`
	DurationThreshold struct {
		Timeout int `json:"timeout"`
	} `json:"durationThreshold"`
}

GetSlowPostProtectionSettingRequest is used to retrieve the slow post protection settings for a configuration.

func (GetSlowPostProtectionSettingRequest) Validate

Validate validates a GetSlowPostProtectionSettingRequest.

type GetSlowPostProtectionSettingResponse

type GetSlowPostProtectionSettingResponse struct {
	Action            string                                      `json:"action,omitempty"`
	SlowRateThreshold *SlowPostProtectionSettingSlowRateThreshold `json:"slowRateThreshold,omitempty"`
	DurationThreshold *SlowPostProtectionSettingDurationThreshold `json:"durationThreshold,omitempty"`
}

GetSlowPostProtectionSettingResponse is returned from a call to GetSlowPostProtectionSetting.

type GetSlowPostProtectionSettingsRequest

type GetSlowPostProtectionSettingsRequest struct {
	ConfigID          int                                         `json:"configId"`
	Version           int                                         `json:"version"`
	PolicyID          string                                      `json:"policyId"`
	Action            string                                      `json:"action"`
	SlowRateThreshold *SlowPostProtectionSettingSlowRateThreshold `json:"slowRateThreshold,omitempty"`
	DurationThreshold *SlowPostProtectionSettingDurationThreshold `json:"durationThreshold,omitempty"`
}

GetSlowPostProtectionSettingsRequest is used to retrieve the slow post protection settings for a configuration.

func (GetSlowPostProtectionSettingsRequest) Validate

Validate validates a GetSlowPostProtectionSettingsRequest.

type GetSlowPostProtectionSettingsResponse

type GetSlowPostProtectionSettingsResponse struct {
	Action            string                                      `json:"action,omitempty"`
	SlowRateThreshold *SlowPostProtectionSettingSlowRateThreshold `json:"slowRateThreshold,omitempty"`
	DurationThreshold *SlowPostProtectionSettingDurationThreshold `json:"durationThreshold,omitempty"`
}

GetSlowPostProtectionSettingsResponse is returned from a call to GetSlowPostProtectionSettings.

type GetSlowPostProtectionsRequest added in v2.0.4

type GetSlowPostProtectionsRequest struct {
	ConfigID              int    `json:"-"`
	Version               int    `json:"-"`
	PolicyID              string `json:"-"`
	ApplySlowPostControls bool   `json:"applySlowPostControls"`
}

GetSlowPostProtectionsRequest is used to retrieve the slow post protecton setting for a policy.

func (GetSlowPostProtectionsRequest) Validate added in v2.0.4

func (v GetSlowPostProtectionsRequest) Validate() error

Validate validates a GetSlowPostProtectionsRequest.

type GetSlowPostProtectionsResponse added in v2.0.4

type GetSlowPostProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetSlowPostProtectionsResponse is returned from a call to GetSlowPostProtections.

type GetThreatIntelRequest added in v2.6.0

type GetThreatIntelRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
}

GetThreatIntelRequest is used to retrieve the threat intel settings.

func (GetThreatIntelRequest) Validate added in v2.6.0

func (v GetThreatIntelRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionRequest.

type GetThreatIntelResponse added in v2.6.0

type GetThreatIntelResponse struct {
	ThreatIntel string `json:"threatIntel,omitempty"`
}

GetThreatIntelResponse is returned from a call to GetThreatIntel.

type GetVersionNotesRequest added in v2.2.0

type GetVersionNotesRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

GetVersionNotesRequest is used to retrieve the version notes for a configuration version.

func (GetVersionNotesRequest) Validate added in v2.2.0

func (v GetVersionNotesRequest) Validate() error

Validate validates a GetVersionNotesRequest.

type GetVersionNotesResponse added in v2.2.0

type GetVersionNotesResponse struct {
	Notes string `json:"notes"`
}

GetVersionNotesResponse is returned from a call to GetVersionNotes.

type GetWAFModeRequest

type GetWAFModeRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"current"`
	Mode     string `json:"mode"`
	Eval     string `json:"eval"`
}

GetWAFModeRequest is used to retrieve the setting that determines this mode how rules will be kept up to date.

func (GetWAFModeRequest) Validate

func (v GetWAFModeRequest) Validate() error

Validate validates a GetWAFModeRequest.

type GetWAFModeResponse

type GetWAFModeResponse struct {
	Current    string `json:"current,omitempty"`
	Mode       string `json:"mode,omitempty"`
	Eval       string `json:"eval,omitempty"`
	Evaluating string `json:"evaluating,omitempty"`
	Expires    string `json:"expires,omitempty"`
}

GetWAFModeResponse is returned from a call to GetWAFMode.

type GetWAFModesRequest

type GetWAFModesRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"current"`
	Mode     string `json:"mode"`
	Eval     string `json:"eval"`
}

GetWAFModesRequest is used to retrieve the setting that determines this mode how rules will be kept up to date.

func (GetWAFModesRequest) Validate

func (v GetWAFModesRequest) Validate() error

Validate validates a GetWAFModesRequest.

type GetWAFModesResponse

type GetWAFModesResponse struct {
	Current    string `json:"current,omitempty"`
	Mode       string `json:"mode,omitempty"`
	Eval       string `json:"eval,omitempty"`
	Evaluating string `json:"evaluating,omitempty"`
	Expires    string `json:"expires,omitempty"`
}

GetWAFModesResponse is returned from a call to GetWAFModes.

type GetWAFProtectionRequest

type GetWAFProtectionRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
}

GetWAFProtectionRequest is used to retrieve the WAF protection setting.

func (GetWAFProtectionRequest) Validate

func (v GetWAFProtectionRequest) Validate() error

Validate validates a GetWAFProtectionRequest.

type GetWAFProtectionResponse

type GetWAFProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetWAFProtectionResponse is returned from a call to GetWAFProtection.

type GetWAFProtectionsRequest

type GetWAFProtectionsRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
}

GetWAFProtectionsRequest is used to retrieve the WAF protection setting.

func (GetWAFProtectionsRequest) Validate

func (v GetWAFProtectionsRequest) Validate() error

Validate validates a GetWAFProtectionsRequest.

type GetWAFProtectionsResponse

type GetWAFProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints,omitempty"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyBotmanControls           bool `json:"applyBotmanControls,omitempty"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls,omitempty"`
	ApplyRateControls             bool `json:"applyRateControls,omitempty"`
	ApplyReputationControls       bool `json:"applyReputationControls,omitempty"`
	ApplySlowPostControls         bool `json:"applySlowPostControls,omitempty"`
}

GetWAFProtectionsResponse is returned from a call to GetWAFProtections.

type GetWAPSelectedHostnamesRequest added in v2.6.0

type GetWAPSelectedHostnamesRequest struct {
	ConfigID         int    `json:"configId"`
	Version          int    `json:"version"`
	SecurityPolicyID string `json:"securityPolicyID"`
}

GetWAPSelectedHostnamesRequest is used to retrieve the WAP selected hostnames and evaluated hostnames.

func (GetWAPSelectedHostnamesRequest) Validate added in v2.6.0

Validate validates a GetWAPSelectedHostnamesRequest.

type GetWAPSelectedHostnamesResponse added in v2.6.0

type GetWAPSelectedHostnamesResponse struct {
	ProtectedHosts []string `json:"protectedHostnames,omitempty"`
	EvaluatedHosts []string `json:"evalHostnames,omitempty"`
}

GetWAPSelectedHostnamesResponse is returned from a call to GetWAPSelectedHostnames.

type HeaderCookieOrParamValuesattackgroup added in v2.2.0

type HeaderCookieOrParamValuesattackgroup []struct {
	Criteria []struct {
		Hostnames []string `json:"hostnames,omitempty"`
		Paths     []string `json:"paths,omitempty"`
		Values    []string `json:"values,omitempty"`
	} `json:"criteria"`
	ValueWildcard bool     `json:"valueWildcard,omitempty"`
	Values        []string `json:"values,omitempty"`
}

HeaderCookieOrParamValuesattackgroup is returned as part of GetExportConfigurationsResponse.

type Hostname

type Hostname struct {
	Hostname string `json:"hostname"`
}

Hostname describes a hostname that may be protected.

type HostnameCoverageMatchTargetBypassNetworkLists added in v2.2.0

type HostnameCoverageMatchTargetBypassNetworkLists []struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

HostnameCoverageMatchTargetBypassNetworkLists describes a network list included in the list of bypass network lists.

type HostnameCoverageMatchTargetEffectiveSecurityControls added in v2.2.0

type HostnameCoverageMatchTargetEffectiveSecurityControls struct {
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

HostnameCoverageMatchTargetEffectiveSecurityControls describes the effective security controls for a website target.

type Hostnames

type Hostnames struct {
	Hostnames string `json:"hostnames"`
}

Hostnames contains one or more hostnames.

type IPGeo added in v2.0.4

The IPGeo interface supports querying which network lists are used in the IP/Geo firewall settings, as well as updating the method and which network lists are used for IP/Geo firewall blocking.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#ipgeofirewall

type LoggingOverridesexp added in v2.2.0

type LoggingOverridesexp struct {
	AllowSampling bool `json:"allowSampling"`
	Cookies       struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"cookies"`
	CustomHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"customHeaders"`
	Override        bool `json:"override"`
	StandardHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"standardHeaders"`
}

LoggingOverridesexp is returned as part of GetExportConfigurationsResponse.

type Loggingexp added in v2.2.0

type Loggingexp struct {
	AllowSampling bool `json:"allowSampling"`
	Cookies       struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"cookies"`
	CustomHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"customHeaders"`
	StandardHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"standardHeaders"`
}

Loggingexp is returned as part of GetExportConfigurationsResponse.

type MatchTargetItem added in v2.5.0

type MatchTargetItem struct {
	Sequence int `json:"sequence"`
	TargetID int `json:"targetId"`
}

MatchTargetItem describes a match target and its sequence number.

type NetworkValue

type NetworkValue string

NetworkValue is used to create an "enum" of possible Activation.Network values

type Option

type Option func(*appsec)

Option defines a PAPI option

type PenaltyBoxexp added in v2.2.0

type PenaltyBoxexp struct {
	Action               string `json:"action"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection"`
}

PenaltyBoxexp is returned as part of GetExportConfigurationsResponse.

type Policies

type Policies struct {
	HasRatePolicyWithAPIKey bool   `json:"hasRatePolicyWithApiKey"`
	PolicyID                string `json:"policyId"`
	PolicyName              string `json:"policyName"`
	PolicySecurityControls  struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	}
}

Policies is used as part of a description of available security policies.

type RatePoliciesPath added in v2.4.1

type RatePoliciesPath struct {
	PositiveMatch bool                    `json:"positiveMatch"`
	Values        *RatePoliciesPathValues `json:"values,omitempty"`
}

RatePoliciesPath is returned as part of GetExportConfigurationsResponse.

type RatePoliciesPathValues added in v2.2.0

type RatePoliciesPathValues []string

RatePoliciesPathValues is returned as part of GetExportConfigurationsResponse.

type RatePoliciesQueryParameters added in v2.2.0

type RatePoliciesQueryParameters []struct {
	Name          string                             `json:"name"`
	PositiveMatch bool                               `json:"positiveMatch"`
	ValueInRange  bool                               `json:"valueInRange"`
	Values        *RatePoliciesQueryParametersValues `json:"values,omitempty"`
}

RatePoliciesQueryParameters is returned as part of GetExportConfigurationsResponse.

type RatePoliciesQueryParametersValues added in v2.2.0

type RatePoliciesQueryParametersValues []string

RatePoliciesQueryParametersValues is returned as part of GetExportConfigurationsResponse.

type RatePolicyAPISelectors added in v2.2.0

type RatePolicyAPISelectors []struct {
	APIDefinitionID    int   `json:"apiDefinitionId,omitempty"`
	DefinedResources   *bool `json:"definedResources,omitempty"`
	ResourceIds        []int `json:"resourceIds"`
	UndefinedResources *bool `json:"undefinedResources,omitempty"`
}

RatePolicyAPISelectors is used as part of a rate policy description.

type RatePolicyActionPost

type RatePolicyActionPost struct {
	ID         int    `json:"id"`
	Ipv4Action string `json:"ipv4Action"`
	Ipv6Action string `json:"ipv6Action"`
}

RatePolicyActionPost is used to describe actions that may be taken as part of a rate policy.

type RatePolicyActionsexp added in v2.2.0

type RatePolicyActionsexp []struct {
	ID         int    `json:"id"`
	Ipv4Action string `json:"ipv4Action"`
	Ipv6Action string `json:"ipv6Action"`
}

RatePolicyActionsexp is returned as part of GetExportConfigurationsResponse.

type RatePolicyAdditionalMatchOptions added in v2.2.0

type RatePolicyAdditionalMatchOptions []struct {
	PositiveMatch bool     `json:"positiveMatch"`
	Type          string   `json:"type,omitempty"`
	Values        []string `json:"values,omitempty"`
}

RatePolicyAdditionalMatchOptions is used as part of a rate policy description.

type RatePolicyBodyParameters added in v2.2.0

type RatePolicyBodyParameters []struct {
	Name          string   `json:"name,omitempty"`
	Values        []string `json:"values,omitempty"`
	PositiveMatch bool     `json:"positiveMatch"`
	ValueInRange  bool     `json:"valueInRange"`
}

RatePolicyBodyParameters is used as part of a rate policy description.

type RatePolicyFileExtensions added in v2.2.0

type RatePolicyFileExtensions struct {
	PositiveMatch bool     `json:"positiveMatch"`
	Values        []string `json:"values,omitempty"`
}

RatePolicyFileExtensions is used as part of a rate policy description.

type RatePolicyPath added in v2.2.0

type RatePolicyPath struct {
	PositiveMatch bool     `json:"positiveMatch"`
	Values        []string `json:"values,omitempty"`
}

RatePolicyPath is used as part of a rate policy description.

type RatePolicyQueryParameters added in v2.2.0

type RatePolicyQueryParameters []struct {
	Name          string   `json:"name,omitempty"`
	Values        []string `json:"values,omitempty"`
	PositiveMatch bool     `json:"positiveMatch"`
	ValueInRange  bool     `json:"valueInRange"`
}

RatePolicyQueryParameters is used as part of a rate policy description.

type RemoveActivationsRequest

type RemoveActivationsRequest struct {
	ActivationID       int      `json:"-"`
	Action             string   `json:"action"`
	Network            string   `json:"network"`
	Note               string   `json:"note"`
	NotificationEmails []string `json:"notificationEmails"`
	ActivationConfigs  []struct {
		ConfigID      int `json:"configId"`
		ConfigVersion int `json:"configVersion"`
	} `json:"activationConfigs"`
}

RemoveActivationsRequest is used to request deactivation of one or more configurations.

type RemoveActivationsResponse

type RemoveActivationsResponse struct {
	DispatchCount     int          `json:"dispatchCount"`
	ActivationID      int          `json:"activationId"`
	Action            string       `json:"action"`
	Status            StatusValue  `json:"status"`
	Network           NetworkValue `json:"network"`
	Estimate          string       `json:"estimate"`
	CreatedBy         string       `json:"createdBy"`
	CreateDate        time.Time    `json:"createDate"`
	ActivationConfigs []struct {
		ConfigID              int    `json:"configId"`
		ConfigName            string `json:"configName"`
		ConfigVersion         int    `json:"configVersion"`
		PreviousConfigVersion int    `json:"previousConfigVersion"`
	} `json:"activationConfigs"`
}

RemoveActivationsResponse is returned from a call to RemoveActivations.

type RemoveAdvancedSettingsLoggingRequest added in v2.2.0

type RemoveAdvancedSettingsLoggingRequest struct {
	ConfigID      int    `json:"-"`
	Version       int    `json:"-"`
	PolicyID      string `json:"-"`
	Override      bool   `json:"override"`
	AllowSampling bool   `json:"allowSampling"`
}

RemoveAdvancedSettingsLoggingRequest is used to disable HTTP header logging for a configuration or policy.

func (RemoveAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates a RemoveAdvancedSettingsLoggingRequest.

type RemoveAdvancedSettingsLoggingResponse added in v2.2.0

type RemoveAdvancedSettingsLoggingResponse struct {
	Override      bool `json:"override"`
	AllowSampling bool `json:"allowSampling"`
	Cookies       struct {
		Type string `json:"type"`
	} `json:"cookies"`
	CustomHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"customHeaders"`
	StandardHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"standardHeaders"`
}

RemoveAdvancedSettingsLoggingResponse is returned from a call to RemoveAdvancedSettingsLogging.

type RemoveAdvancedSettingsPrefetchRequest added in v2.2.0

type RemoveAdvancedSettingsPrefetchRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Action   string `json:"action"`
}

RemoveAdvancedSettingsPrefetchRequest is used to remove the prefetch request settings.

type RemoveAdvancedSettingsPrefetchResponse added in v2.2.0

type RemoveAdvancedSettingsPrefetchResponse struct {
	Action string `json:"action"`
}

RemoveAdvancedSettingsPrefetchResponse is returned from a call to RemoveAdvancedSettingsPrefetch.

type RemoveApiRequestConstraintsRequest added in v2.2.0

type RemoveApiRequestConstraintsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	ApiID    int    `json:"-"`
	Action   string `json:"action"`
}

RemoveApiRequestConstraintsRequest is used to remove an API request constraint's action.

func (RemoveApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates a RemoveApiRequestConstraintsRequest.

type RemoveApiRequestConstraintsResponse added in v2.2.0

type RemoveApiRequestConstraintsResponse struct {
	Action string `json:"action"`
}

RemoveApiRequestConstraintsResponse is returned from a call to RemoveApiRequestConstraints.

type RemoveBypassNetworkListsRequest added in v2.2.0

type RemoveBypassNetworkListsRequest struct {
	ConfigID     int      `json:"-"`
	Version      int      `json:"-"`
	NetworkLists []string `json:"networkLists"`
}

RemoveBypassNetworkListsRequest is used to modify which network lists are used in the bypass network lists settings.

func (RemoveBypassNetworkListsRequest) Validate added in v2.2.0

Validate validates a RemoveBypassNetworkListsRequest.

type RemoveBypassNetworkListsResponse added in v2.2.0

type RemoveBypassNetworkListsResponse struct {
	NetworkLists []string `json:"networkLists"`
}

RemoveBypassNetworkListsResponse is returned from a call to RemoveBypassNetworkLists.

type RemoveConfigurationRequest added in v2.2.0

type RemoveConfigurationRequest struct {
	ConfigID int `json:"configId"`
}

RemoveConfigurationRequest is used to remove an existing security configuration.

func (RemoveConfigurationRequest) Validate added in v2.2.0

func (v RemoveConfigurationRequest) Validate() error

Validate validates a RemoveConfigurationRequest.

type RemoveConfigurationResponse added in v2.2.0

type RemoveConfigurationResponse struct {
	Empty int `json:"-"`
}

RemoveConfigurationResponse is returned from a call to RemoveConfiguration.

type RemoveConfigurationVersionCloneRequest added in v2.2.0

type RemoveConfigurationVersionCloneRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`
}

RemoveConfigurationVersionCloneRequest is used to remove an existing configuration version.

func (RemoveConfigurationVersionCloneRequest) Validate added in v2.2.0

Validate validates a GetConfigurationCloneRequest.

type RemoveConfigurationVersionCloneResponse added in v2.2.0

type RemoveConfigurationVersionCloneResponse struct {
	Empty string `json:"-"`
}

RemoveConfigurationVersionCloneResponse is returned from a call to RemoveConfigurationVersionClone.

type RemoveCustomDenyRequest added in v2.2.0

type RemoveCustomDenyRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	ID       string `json:"id,omitempty"`
}

RemoveCustomDenyRequest is used to remove an existing custom deny action.

func (RemoveCustomDenyRequest) Validate added in v2.2.0

func (v RemoveCustomDenyRequest) Validate() error

Validate validates a RemoveCustomDenyRequest.

type RemoveCustomDenyResponse added in v2.2.0

type RemoveCustomDenyResponse struct {
	Empty string `json:"-"`
}

RemoveCustomDenyResponse is returned from a call to RemoveCustomDeny.

type RemoveCustomRuleRequest

type RemoveCustomRuleRequest struct {
	ConfigID int `json:"configid,omitempty"`
	ID       int `json:"id,omitempty"`
}

RemoveCustomRuleRequest is used to remove a custom rule.

func (RemoveCustomRuleRequest) Validate

func (v RemoveCustomRuleRequest) Validate() error

Validate validates a RemoveCustomRuleRequest.

type RemoveCustomRuleResponse

type RemoveCustomRuleResponse struct {
	ID            int      `json:"id,omitempty"`
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Version       int      `json:"-"`
	RuleActivated bool     `json:"ruleActivated"`
	Tag           []string `json:"tag"`
	Conditions    []struct {
		Type          string                    `json:"type"`
		PositiveMatch bool                      `json:"positiveMatch"`
		Value         CustomRuleConditionsValue `json:"value,omitempty"`
		ValueWildcard *json.RawMessage          `json:"valueWildcard,omitempty"`
		ValueCase     *json.RawMessage          `json:"valueCase,omitempty"`
		NameWildcard  *json.RawMessage          `json:"nameWildcard,omitempty"`
		Name          CustomRuleConditionsName  `json:"name,omitempty"`
		NameCase      *json.RawMessage          `json:"nameCase,omitempty"`
	} `json:"conditions"`
}

RemoveCustomRuleResponse is returned from a call to RemoveCustomRule.

type RemoveEvalHostRequest added in v2.2.0

type RemoveEvalHostRequest struct {
	ConfigID  int      `json:"-"`
	Version   int      `json:"-"`
	Hostnames []string `json:"hostnames"`
}

RemoveEvalHostRequest is used to remove the evaluation hostnames for a configuration.

func (RemoveEvalHostRequest) Validate added in v2.2.0

func (v RemoveEvalHostRequest) Validate() error

Validate validates a RemoveEvalHostRequest.

type RemoveEvalHostResponse added in v2.2.0

type RemoveEvalHostResponse struct {
	Hostnames []string `json:"hostnames"`
}

RemoveEvalHostResponse is returned from a call to RemoveEvalHost.

type RemoveEvalRequest added in v2.0.4

type RemoveEvalRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"-"`
	Mode     string `json:"-"`
	Eval     string `json:"eval"`
}

RemoveEvalRequest is used to remove an evaluation mode setting.

func (RemoveEvalRequest) Validate added in v2.0.4

func (v RemoveEvalRequest) Validate() error

Validate validates a RemoveEvalRequest.

type RemoveEvalResponse added in v2.0.4

type RemoveEvalResponse struct {
	Current string `json:"current"`
	Eval    string `json:"eval"`
	Mode    string `json:"mode"`
}

RemoveEvalResponse is returned from a call to RemoveEval.

type RemoveMatchTargetRequest

type RemoveMatchTargetRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	TargetID      int `json:"targetId"`
}

RemoveMatchTargetRequest is used to remove a match target.

func (RemoveMatchTargetRequest) Validate

func (v RemoveMatchTargetRequest) Validate() error

Validate validates a RemoveMatchTargetRequest.

type RemoveMatchTargetResponse

type RemoveMatchTargetResponse struct {
	Type                         string   `json:"type"`
	ConfigID                     int      `json:"configId"`
	ConfigVersion                int      `json:"configVersion"`
	DefaultFile                  string   `json:"defaultFile"`
	Hostnames                    []string `json:"hostnames"`
	IsNegativeFileExtensionMatch bool     `json:"isNegativeFileExtensionMatch"`
	IsNegativePathMatch          bool     `json:"isNegativePathMatch"`
	FilePaths                    []string `json:"filePaths"`
	FileExtensions               []string `json:"fileExtensions"`
	SecurityPolicy               struct {
		PolicyID string `json:"policyId"`
	} `json:"securityPolicy"`
	Sequence           int `json:"sequence"`
	TargetID           int `json:"targetId"`
	BypassNetworkLists []struct {
		Name string `json:"name"`
		ID   string `json:"id"`
	} `json:"bypassNetworkLists"`
}

RemoveMatchTargetResponse is returned from a call to RemoveMatchTarget.

type RemoveNetworkLayerProtectionRequest added in v2.0.4

type RemoveNetworkLayerProtectionRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

RemoveNetworkLayerProtectionRequest is used to remove the network layer protection setting.

func (RemoveNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates a RemoveNetworkLayerProtectionRequest.

type RemoveNetworkLayerProtectionResponse added in v2.0.4

type RemoveNetworkLayerProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

RemoveNetworkLayerProtectionResponse is returned from a call to RemoveNetworkLayerProtection.

type RemovePolicyProtectionsRequest added in v2.0.4

type RemovePolicyProtectionsRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyAPIConstraints           bool   `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool   `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool   `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool   `json:"applyRateControls"`
	ApplyReputationControls       bool   `json:"applyReputationControls"`
	ApplySlowPostControls         bool   `json:"applySlowPostControls"`
}

RemovePolicyProtectionsRequest is used to remove the policy protection setting.

func (RemovePolicyProtectionsRequest) Validate added in v2.0.4

Validate validates a RemovePolicyProtectionsRequest.

type RemovePolicyProtectionsResponse added in v2.0.4

type RemovePolicyProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

RemovePolicyProtectionsResponse is returned from a call to RemovePolicyProtections.

type RemoveRatePolicyRequest

type RemoveRatePolicyRequest struct {
	ConfigID      int `json:"configId"`
	ConfigVersion int `json:"configVersion"`
	RatePolicyID  int `json:"ratePolicyId"`
}

RemoveRatePolicyRequest is used to remove a rate policy.

func (RemoveRatePolicyRequest) Validate

func (v RemoveRatePolicyRequest) Validate() error

Validate validates a RemoveRatePolicyRequest.

type RemoveRatePolicyResponse

type RemoveRatePolicyResponse struct {
	ID                    int    `json:"id"`
	PolicyID              int    `json:"policyId"`
	ConfigID              int    `json:"configId"`
	ConfigVersion         int    `json:"configVersion"`
	MatchType             string `json:"matchType"`
	Type                  string `json:"type"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	AverageThreshold      int    `json:"averageThreshold"`
	BurstThreshold        int    `json:"burstThreshold"`
	ClientIdentifier      string `json:"clientIdentifier"`
	UseXForwardForHeaders bool   `json:"useXForwardForHeaders"`
	RequestType           string `json:"requestType"`
	SameActionOnIpv6      bool   `json:"sameActionOnIpv6"`
	Path                  struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"path"`
	PathMatchType        string `json:"pathMatchType"`
	PathURIPositiveMatch bool   `json:"pathUriPositiveMatch"`
	FileExtensions       struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"fileExtensions"`
	Hostnames              []string `json:"hostnames"`
	AdditionalMatchOptions []struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Type          string   `json:"type"`
		Values        []string `json:"values"`
	} `json:"additionalMatchOptions"`
	QueryParameters []struct {
		Name          string   `json:"name"`
		Values        []string `json:"values"`
		PositiveMatch bool     `json:"positiveMatch"`
		ValueInRange  bool     `json:"valueInRange"`
	} `json:"queryParameters"`
	CreateDate string          `json:"-"`
	UpdateDate string          `json:"-"`
	Used       json.RawMessage `json:"used"`
}

RemoveRatePolicyResponse is returned from a call to RemoveRatePolicy.

type RemoveReputationAnalysisRequest added in v2.2.0

type RemoveReputationAnalysisRequest struct {
	ConfigID                           int    `json:"-"`
	Version                            int    `json:"-"`
	PolicyID                           string `json:"-"`
	ForwardToHTTPHeader                bool   `json:"forwardToHTTPHeader"`
	ForwardSharedIPToHTTPHeaderAndSIEM bool   `json:"forwardSharedIPToHTTPHeaderAndSIEM"`
}

RemoveReputationAnalysisRequest is used to remove the reputation analysis settings for a security policy.

func (RemoveReputationAnalysisRequest) Validate added in v2.2.0

Validate validates a RemoveReputationAnalysisRequest.

type RemoveReputationAnalysisResponse added in v2.2.0

type RemoveReputationAnalysisResponse struct {
	ForwardToHTTPHeader                bool `json:"forwardToHTTPHeader"`
	ForwardSharedIPToHTTPHeaderAndSIEM bool `json:"forwardSharedIPToHTTPHeaderAndSIEM"`
}

RemoveReputationAnalysisResponse is returned from a call to RemoveReputationAnalysis.

type RemoveReputationProfileRequest added in v2.0.4

type RemoveReputationProfileRequest struct {
	ConfigID            int `json:"configId"`
	ConfigVersion       int `json:"configVersion"`
	ReputationProfileId int `json:"-"`
}

RemoveReputationProfileRequest is used to remove a reputation profile.

func (RemoveReputationProfileRequest) Validate added in v2.0.4

Validate validates a RemoveReputationProfileRequest.

type RemoveReputationProfileResponse added in v2.0.4

type RemoveReputationProfileResponse struct {
	ID                    int    `json:"id"`
	PolicyID              int    `json:"policyId"`
	ConfigID              int    `json:"configId"`
	ConfigVersion         int    `json:"configVersion"`
	MatchType             string `json:"matchType"`
	Type                  string `json:"type"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	AverageThreshold      int    `json:"averageThreshold"`
	BurstThreshold        int    `json:"burstThreshold"`
	ClientIdentifier      string `json:"clientIdentifier"`
	UseXForwardForHeaders bool   `json:"useXForwardForHeaders"`
	RequestType           string `json:"requestType"`
	SameActionOnIpv6      bool   `json:"sameActionOnIpv6"`
	Path                  struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"path"`
	PathMatchType        string `json:"pathMatchType"`
	PathURIPositiveMatch bool   `json:"pathUriPositiveMatch"`
	FileExtensions       struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"fileExtensions"`
	Hostnames              []string `json:"hostNames"`
	AdditionalMatchOptions []struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Type          string   `json:"type"`
		Values        []string `json:"values"`
	} `json:"additionalMatchOptions"`
	QueryParameters []struct {
		Name          string   `json:"name"`
		Values        []string `json:"values"`
		PositiveMatch bool     `json:"positiveMatch"`
		ValueInRange  bool     `json:"valueInRange"`
	} `json:"queryParameters"`
	CreateDate string `json:"createDate"`
	UpdateDate string `json:"updateDate"`
	Used       bool   `json:"used"`
}

RemoveReputationProfileResponse is returned from a call to RemoveReputationProfile.

type RemoveReputationProtectionRequest added in v2.0.4

type RemoveReputationProtectionRequest struct {
	ConfigID                int    `json:"-"`
	Version                 int    `json:"-"`
	PolicyID                string `json:"-"`
	ApplyReputationControls bool   `json:"applyReputationControls"`
}

RemoveReputationProtectionRequest is used to remove the reputation protection settings.

func (RemoveReputationProtectionRequest) Validate added in v2.0.4

Validate validates a RemoveReputationProtectionRequest.

type RemoveReputationProtectionResponse added in v2.0.4

type RemoveReputationProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

RemoveReputationProtectionResponse is returned from a call to RemoveReputationProtection.

type RemoveSecurityPolicyRequest added in v2.0.4

type RemoveSecurityPolicyRequest struct {
	ConfigID int    `json:"configId"`
	Version  int    `json:"version"`
	PolicyID string `json:"policyId"`
}

RemoveSecurityPolicyRequest is used to remove a security policy.

func (RemoveSecurityPolicyRequest) Validate added in v2.0.4

func (v RemoveSecurityPolicyRequest) Validate() error

Validate validates a RemoveSecurityPolicyRequest.

type RemoveSecurityPolicyResponse added in v2.0.4

type RemoveSecurityPolicyResponse struct {
	ConfigID               int    `json:"configId"`
	PolicyID               string `json:"policyId"`
	PolicyName             string `json:"policyName"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	} `json:"policySecurityControls"`
	Version int `json:"version"`
}

RemoveSecurityPolicyResponse is returned from a call to RemoveSecurityPolicy.

type RemoveSiemSettingsRequest added in v2.2.0

type RemoveSiemSettingsRequest struct {
	ConfigID                int      `json:"-"`
	Version                 int      `json:"-"`
	EnableForAllPolicies    bool     `json:"-"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"-"`
	SiemDefinitionID        int      `json:"-"`
	FirewallPolicyIds       []string `json:"-"`
}

RemoveSiemSettingsRequest is used to remove the SIEM settings for a configuration.

func (RemoveSiemSettingsRequest) Validate added in v2.2.0

func (v RemoveSiemSettingsRequest) Validate() error

Validate validates an UpdateSiemSettingsRequest.

type RemoveSiemSettingsResponse added in v2.2.0

type RemoveSiemSettingsResponse struct {
	EnableForAllPolicies    bool     `json:"enableForAllPolicies"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents"`
	SiemDefinitionID        int      `json:"siemDefinitionId"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds"`
}

RemoveSiemSettingsResponse is returned from a call to RemoveSiemSettings.

type ReputationProfileActionPost added in v2.0.4

type ReputationProfileActionPost struct {
	Action string `json:"action"`
}

ReputationProfileActionPost is currently unused.

type ReputationProfileActionsexp added in v2.2.0

type ReputationProfileActionsexp []struct {
	Action string `json:"action"`
	ID     int    `json:"id"`
}

ReputationProfileActionsexp is returned as part of GetExportConfigurationsResponse.

type ReputationProfileCondition added in v2.4.1

type ReputationProfileCondition struct {
	AtomicConditions []struct {
		CheckIps      *json.RawMessage `json:"checkIps,omitempty"`
		ClassName     string           `json:"className,omitempty"`
		Index         int              `json:"index,omitempty"`
		PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
		Value         []string         `json:"value,omitempty"`
		Name          *json.RawMessage `json:"name,omitempty"`
		NameCase      bool             `json:"nameCase,omitempty"`
		NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
		ValueCase     bool             `json:"valueCase,omitempty"`
		ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
		Host          []string         `json:"host,omitempty"`
	} `json:"atomicConditions,omitempty"`
	PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
}

ReputationProfileCondition is used as part of a reputation profile description.

type RuleConditionException added in v2.0.4

type RuleConditionException struct {
	Conditions *RuleConditions `json:"conditions,omitempty"`
	Exception  *RuleException  `json:"exception,omitempty"`
}

RuleConditionException is used to describe the conditions and exceptions for a rule.

type RuleConditions added in v2.2.0

type RuleConditions []struct {
	Type          string   `json:"type,omitempty"`
	Extensions    []string `json:"extensions,omitempty"`
	Filenames     []string `json:"filenames,omitempty"`
	Hosts         []string `json:"hosts,omitempty"`
	Ips           []string `json:"ips,omitempty"`
	Methods       []string `json:"methods,omitempty"`
	Paths         []string `json:"paths,omitempty"`
	Header        string   `json:"header,omitempty"`
	CaseSensitive bool     `json:"caseSensitive,omitempty"`
	Name          string   `json:"name,omitempty"`
	NameCase      bool     `json:"nameCase,omitempty"`
	PositiveMatch bool     `json:"positiveMatch"`
	Value         string   `json:"value,omitempty"`
	Wildcard      bool     `json:"wildcard,omitempty"`
	ValueCase     bool     `json:"valueCase,omitempty"`
	ValueWildcard bool     `json:"valueWildcard,omitempty"`
	UseHeaders    bool     `json:"useHeaders,omitempty"`
}

RuleConditions is used to describe the conditions for a rule.

type RuleException added in v2.2.0

type RuleException struct {
	AnyHeaderCookieOrParam               []string                                 `json:"anyHeaderCookieOrParam,omitempty"`
	HeaderCookieOrParamValues            []string                                 `json:"headerCookieOrParamValues,omitempty"`
	SpecificHeaderCookieOrParamNameValue *SpecificHeaderCookieOrParamNameValuePtr `json:"specificHeaderCookieOrParamNameValue,omitempty"`
	SpecificHeaderCookieOrParamNames     *SpecificHeaderCookieOrParamNamesPtr     `json:"specificHeaderCookieOrParamNames,omitempty"`
	SpecificHeaderCookieOrParamPrefix    *SpecificHeaderCookieOrParamPrefixPtr    `json:"specificHeaderCookieOrParamPrefix,omitempty"`
}

RuleException is used to describe the exceptions for a rule.

type RulesetsRules added in v2.3.0

type RulesetsRules []struct {
	ID                  int      `json:"id"`
	InspectRequestBody  bool     `json:"inspectRequestBody"`
	InspectResponseBody bool     `json:"inspectResponseBody"`
	Outdated            bool     `json:"outdated"`
	RuleVersion         int      `json:"ruleVersion"`
	Score               int      `json:"score"`
	Tag                 string   `json:"tag"`
	Title               string   `json:"title"`
	AttackGroups        []string `json:"attackGroups,omitempty"`
}

RulesetsRules is returned as part of GetExportConfigurationsResponse.

type SecurityPoliciesPenaltyBox added in v2.3.0

type SecurityPoliciesPenaltyBox struct {
	Action               string `json:"action,omitempty"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection,omitempty"`
}

SecurityPoliciesPenaltyBox is returned as part of GetExportConfigurationsResponse.

type SecurityPoliciesRatePolicyActions added in v2.3.0

type SecurityPoliciesRatePolicyActions []struct {
	ID         int    `json:"id"`
	Ipv4Action string `json:"ipv4Action"`
	Ipv6Action string `json:"ipv6Action"`
}

SecurityPoliciesRatePolicyActions is returned as part of GetExportConfigurationsResponse.

type SecurityPolicyCloneResponse

type SecurityPolicyCloneResponse struct {
	ConfigID int        `json:"configId"`
	Policies []Policies `json:"policies"`
	Version  int        `json:"version"`
}

SecurityPolicyCloneResponse is currently unused.

type SelectableHostnames

The SelectableHostnames interface supports retrieving the hostnames that a given configuration version has the ability to protect. Hostnames may show as error hosts when they aren’t currently available. for example, when a contract expires.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#selectablehostnames

type SiemDefinitions added in v2.2.0

The SiemDefinitions interface supports retrieving the available SIEM versions.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#siem

type Siemexp added in v2.2.0

type Siemexp struct {
	EnableForAllPolicies    bool     `json:"enableForAllPolicies,omitempty"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents,omitempty"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds,omitempty"`
	SiemDefinitionID        int      `json:"siemDefinitionId,omitempty"`
}

Siemexp is returned as part of GetExportConfigurationsResponse.

type SlowPostProtectionSettingDurationThreshold added in v2.2.0

type SlowPostProtectionSettingDurationThreshold struct {
	Timeout int `json:"timeout"`
}

SlowPostProtectionSettingDurationThreshold describes the length of time in seconds within which the first eight kilobytes of the POST body must be transferred to avoid applying the action specified in the policy.

type SlowPostProtectionSettingSlowRateThreshold added in v2.2.0

type SlowPostProtectionSettingSlowRateThreshold struct {
	Rate   int `json:"rate"`
	Period int `json:"period"`
}

SlowPostProtectionSettingSlowRateThreshold describes the average rate in bytes per second over a specified period of time before an action (alert or abort) in the policy triggers.

type SlowPostexp added in v2.2.0

type SlowPostexp struct {
	Action            string                `json:"action"`
	SlowRateThreshold *SlowRateThresholdExp `json:"slowRateThreshold,omitempty"`
	DurationThreshold *DurationThresholdExp `json:"durationThreshold,omitempty"`
}

SlowPostexp is returned as part of GetExportConfigurationsResponse.

type SlowRateThresholdExp added in v2.5.0

type SlowRateThresholdExp struct {
	Period int `json:"period"`
	Rate   int `json:"rate"`
}

SlowRateThresholdExp is returned as part of GetExportConfigurationsResponse.

type SpecificHeaderCookieOrParamNameValuePtr added in v2.5.0

type SpecificHeaderCookieOrParamNameValuePtr struct {
	Name     string `json:"name,omitempty"`
	Selector string `json:"selector,omitempty"`
	Value    string `json:"value,omitempty"`
}

SpecificHeaderCookieOrParamNameValuePtr is used as part of condition and exception information for a rule.

type SpecificHeaderCookieOrParamNameValueexp added in v2.2.0

type SpecificHeaderCookieOrParamNameValueexp struct {
	Name     *json.RawMessage `json:"name,omitempty"`
	Selector string           `json:"selector,omitempty"`
	Value    *json.RawMessage `json:"value,omitempty"`
}

SpecificHeaderCookieOrParamNameValueexp is returned as part of GetExportConfigurationsResponse.

type SpecificHeaderCookieOrParamNamesPtr added in v2.5.0

type SpecificHeaderCookieOrParamNamesPtr []struct {
	Names    []string `json:"names,omitempty"`
	Selector string   `json:"selector,omitempty"`
}

SpecificHeaderCookieOrParamNamesPtr is used as part of condition and exception information for a rule.

type SpecificHeaderCookieOrParamPrefixPtr added in v2.5.0

type SpecificHeaderCookieOrParamPrefixPtr struct {
	Prefix   string `json:"prefix,omitempty"`
	Selector string `json:"selector,omitempty"`
}

SpecificHeaderCookieOrParamPrefixPtr is used as part of condition and exception information for a rule.

type StatusValue

type StatusValue string

StatusValue is used to create an "enum" of possible Activation.Status values

type ThreatIntel added in v2.6.0

type ThreatIntel interface {
	// GetThreatIntel retrieves the current threat intel settings.
	GetThreatIntel(ctx context.Context, params GetThreatIntelRequest) (*GetThreatIntelResponse, error)

	// UpdateThreatIntel modifies the current threat intel settings.
	UpdateThreatIntel(ctx context.Context, params UpdateThreatIntelRequest) (*UpdateThreatIntelResponse, error)
}

The ThreatIntel interface supports retrieving and modifying the operational settings for adaptive intelligence.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#threatintel

type UpdateAPIConstraintsProtectionRequest added in v2.5.0

type UpdateAPIConstraintsProtectionRequest struct {
	ConfigID            int    `json:"-"`
	Version             int    `json:"-"`
	PolicyID            string `json:"-"`
	ApplyAPIConstraints bool   `json:"applyApiConstraints"`
}

UpdateAPIConstraintsProtectionRequest is used to modify the API constraints protection setting.

func (UpdateAPIConstraintsProtectionRequest) Validate added in v2.5.0

Validate validates an UpdateAPIConstraintsProtectionRequest.

type UpdateAPIConstraintsProtectionResponse added in v2.5.0

type UpdateAPIConstraintsProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateAPIConstraintsProtectionResponse is returned from a call to UpdateAPIConstraintsProtection.

type UpdateAdvancedSettingsLoggingRequest added in v2.2.0

type UpdateAdvancedSettingsLoggingRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	PolicyID       string          `json:"-"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

UpdateAdvancedSettingsLoggingRequest is used to update the HTTP header logging settings for a configuration or policy.

func (UpdateAdvancedSettingsLoggingRequest) Validate added in v2.2.0

Validate validates an UpdateAdvancedSettingsLoggingRequest.

type UpdateAdvancedSettingsLoggingResponse added in v2.2.0

type UpdateAdvancedSettingsLoggingResponse struct {
	Override      bool `json:"override"`
	AllowSampling bool `json:"allowSampling"`
	Cookies       struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"cookies"`
	CustomHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"customHeaders"`
	StandardHeaders struct {
		Type   string   `json:"type"`
		Values []string `json:"values,omitempty"`
	} `json:"standardHeaders"`
}

UpdateAdvancedSettingsLoggingResponse is returned from a call to UpdateAdvancedSettingsLogging.

type UpdateAdvancedSettingsPragmaRequest added in v2.5.0

type UpdateAdvancedSettingsPragmaRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	PolicyID       string          `json:"-"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

UpdateAdvancedSettingsPragmaRequest is used to modify the pragma settings for a security policy.

func (UpdateAdvancedSettingsPragmaRequest) Validate added in v2.5.0

Validate validates an UpdateAdvancedSettingsPragmaRequest.

type UpdateAdvancedSettingsPragmaResponse added in v2.5.0

type UpdateAdvancedSettingsPragmaResponse struct {
	Action            string             `json:"action"`
	ConditionOperator string             `json:"conditionOperator"`
	ExcludeCondition  []ExcludeCondition `json:"excludeCondition"`
}

UpdateAdvancedSettingsPragmaResponse is returned from a call to UpdateAdvancedSettingsPragma.

type UpdateAdvancedSettingsPrefetchRequest added in v2.2.0

type UpdateAdvancedSettingsPrefetchRequest struct {
	ConfigID           int      `json:"-"`
	Version            int      `json:"-"`
	AllExtensions      bool     `json:"allExtensions"`
	EnableAppLayer     bool     `json:"enableAppLayer"`
	EnableRateControls bool     `json:"enableRateControls"`
	Extensions         []string `json:"extensions,omitempty"`
}

UpdateAdvancedSettingsPrefetchRequest is used to modify the prefetch request settings.

func (UpdateAdvancedSettingsPrefetchRequest) Validate added in v2.2.0

Validate validates an UpdateAdvancedSettingsPrefetchRequest.

type UpdateAdvancedSettingsPrefetchResponse added in v2.2.0

type UpdateAdvancedSettingsPrefetchResponse struct {
	AllExtensions      bool     `json:"allExtensions"`
	EnableAppLayer     bool     `json:"enableAppLayer"`
	EnableRateControls bool     `json:"enableRateControls"`
	Extensions         []string `json:"extensions,omitempty"`
}

UpdateAdvancedSettingsPrefetchResponse is returned from a call to UpdateAdvancedSettingsPrefetch.

type UpdateApiRequestConstraintsRequest added in v2.2.0

type UpdateApiRequestConstraintsRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	ApiID    int    `json:"-"`
	Action   string `json:"action"`
}

UpdateApiRequestConstraintsRequest is used to modify the action taken when an API request contraint is triggered.

func (UpdateApiRequestConstraintsRequest) Validate added in v2.2.0

Validate validates an UpdateApiRequestConstraintsRequest.

type UpdateApiRequestConstraintsResponse added in v2.2.0

type UpdateApiRequestConstraintsResponse struct {
	Action string `json:"action"`
}

UpdateApiRequestConstraintsResponse is returned from a call to UpdateApiRequestConstraints.

type UpdateAttackGroupRequest added in v2.5.0

type UpdateAttackGroupRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	PolicyID       string          `json:"-"`
	Group          string          `json:"-"`
	Action         string          `json:"action"`
	JsonPayloadRaw json.RawMessage `json:"conditionException,omitempty"`
}

UpdateAttackGroupRequest is used to modify what action to take when an attack group’s rule triggers.

func (UpdateAttackGroupRequest) Validate added in v2.5.0

func (v UpdateAttackGroupRequest) Validate() error

Validate validates an UpdateAttackGroupConditionExceptionRequest.

type UpdateAttackGroupResponse added in v2.5.0

type UpdateAttackGroupResponse struct {
	Action             string                         `json:"action,omitempty"`
	ConditionException *AttackGroupConditionException `json:"conditionException,omitempty"`
}

UpdateAttackGroupResponse is returned from a call to UpdateAttackGroup.

type UpdateBypassNetworkListsRequest added in v2.2.0

type UpdateBypassNetworkListsRequest struct {
	ConfigID     int      `json:"-"`
	Version      int      `json:"-"`
	NetworkLists []string `json:"networkLists"`
}

UpdateBypassNetworkListsRequest is used to modify which network lists are used in the bypass network lists settings.

func (UpdateBypassNetworkListsRequest) Validate added in v2.2.0

Validate validates an UpdateBypassNetworkListsRequest.

type UpdateBypassNetworkListsResponse added in v2.2.0

type UpdateBypassNetworkListsResponse struct {
	Block       string `json:"block"`
	GeoControls struct {
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"geoControls"`
	IPControls struct {
		AllowedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"allowedIPNetworkLists"`
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"ipControls"`
}

UpdateBypassNetworkListsResponse is returned from a call to UpdateBypassNetworkLists.

type UpdateConditionExceptionRequest added in v2.6.0

type UpdateConditionExceptionRequest struct {
	ConfigID   int             `json:"-"`
	Version    int             `json:"-"`
	PolicyID   string          `json:"-"`
	RuleID     int             `json:"-"`
	Conditions *RuleConditions `json:"conditions,omitempty"`
	Exception  *RuleException  `json:"exception,omitempty"`
}

UpdateConditionExceptionRequest is used to update the condition and exception information for a rule.

func (UpdateConditionExceptionRequest) Validate added in v2.6.0

Validate validates an UpdateConditionExceptionRequest.

type UpdateConditionExceptionResponse added in v2.6.0

type UpdateConditionExceptionResponse struct {
	Conditions *RuleConditions `json:"conditions,omitempty"`
	Exception  *RuleException  `json:"exception,omitempty"`
}

UpdateConditionExceptionResponse is returned from a call to UpdateConditionException.

type UpdateConfigurationRequest added in v2.2.0

type UpdateConfigurationRequest struct {
	ConfigID    int    `json:"-"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

UpdateConfigurationRequest is used tdo modify the name or description of an existing security configuration.

func (UpdateConfigurationRequest) Validate added in v2.2.0

func (v UpdateConfigurationRequest) Validate() error

Validate validates an UpdateConfigurationRequest.

type UpdateConfigurationResponse added in v2.2.0

type UpdateConfigurationResponse struct {
	Name        string `json:"name"`
	Description string `json:"description"`
}

UpdateConfigurationResponse is returned from a call to UpdateConfiguration.

type UpdateCustomDenyRequest added in v2.2.0

type UpdateCustomDenyRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	ID             string          `json:"id"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

UpdateCustomDenyRequest is used to details for a specific custom deny action.

func (UpdateCustomDenyRequest) Validate added in v2.2.0

func (v UpdateCustomDenyRequest) Validate() error

Validate validates an UpdateCustomDenyRequest.

type UpdateCustomDenyResponse added in v2.2.0

type UpdateCustomDenyResponse struct {
	Description string       `json:"description,omitempty"`
	Name        string       `json:"name"`
	ID          customDenyID `json:"-"`
	Parameters  []struct {
		DisplayName string `json:"-"`
		Name        string `json:"name"`
		Value       string `json:"value"`
	} `json:"parameters"`
}

UpdateCustomDenyResponse is returned from a call to UpdateCustomDeny.

type UpdateCustomRuleActionRequest

type UpdateCustomRuleActionRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	RuleID   int    `json:"-"`
	Action   string `json:"action"`
}

UpdateCustomRuleActionRequest is used to modify an existing custom rule.

func (UpdateCustomRuleActionRequest) Validate

func (v UpdateCustomRuleActionRequest) Validate() error

Validate validates an UpdateCustomRuleActionRequest.

type UpdateCustomRuleActionResponse

type UpdateCustomRuleActionResponse struct {
	Action                string `json:"action"`
	CanUseAdvancedActions bool   `json:"canUseAdvancedActions"`
	Link                  string `json:"link"`
	Name                  string `json:"name"`
	RuleID                int    `json:"ruleId"`
}

UpdateCustomRuleActionResponse is returned from a call to UpdateCustomRuleAction.

type UpdateCustomRuleRequest

type UpdateCustomRuleRequest struct {
	ConfigID       int             `json:"configid,omitempty"`
	ID             int             `json:"id,omitempty"`
	Version        int             `json:"version,omitempty"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

UpdateCustomRuleRequest is used to modify an existing custom rule.

func (UpdateCustomRuleRequest) Validate

func (v UpdateCustomRuleRequest) Validate() error

Validate validates an UpdateCustomRuleRequest.

type UpdateCustomRuleResponse

type UpdateCustomRuleResponse struct {
	ID            int      `json:"id,omitempty"`
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Version       int      `json:"-"`
	RuleActivated bool     `json:"ruleActivated"`
	Tag           []string `json:"tag"`
	Conditions    []struct {
		Type          string           `json:"type"`
		PositiveMatch bool             `json:"positiveMatch"`
		Value         *json.RawMessage `json:"value,omitempty"`
		ValueWildcard *json.RawMessage `json:"valueWildcard,omitempty"`
		ValueCase     *json.RawMessage `json:"valueCase,omitempty"`
		NameWildcard  *json.RawMessage `json:"nameWildcard,omitempty"`
		Name          *json.RawMessage `json:"name,omitempty"`
		NameCase      *json.RawMessage `json:"nameCase,omitempty"`
	} `json:"conditions"`
}

UpdateCustomRuleResponse is returned from a call to UpdateCustomRule.

type UpdateEvalHostRequest added in v2.2.0

type UpdateEvalHostRequest struct {
	ConfigID  int      `json:"-"`
	Version   int      `json:"-"`
	Hostnames []string `json:"hostnames"`
}

UpdateEvalHostRequest is used to modify the evaluation hostnames for a configuration.

func (UpdateEvalHostRequest) Validate added in v2.2.0

func (v UpdateEvalHostRequest) Validate() error

Validate validates an UpdateEvalHostRequest.

type UpdateEvalHostResponse added in v2.2.0

type UpdateEvalHostResponse struct {
	HostnameList []struct {
		Hostname string `json:"hostname"`
	} `json:"hostnameList"`
}

UpdateEvalHostResponse is returned from a call to UpdateEvalHost.

type UpdateEvalProtectHostRequest added in v2.2.0

type UpdateEvalProtectHostRequest struct {
	ConfigID  int      `json:"-"`
	Version   int      `json:"-"`
	Hostnames []string `json:"hostnames"`
}

UpdateEvalProtectHostRequest is used to call UpdateEvalProtectHost.

func (UpdateEvalProtectHostRequest) Validate added in v2.2.0

func (v UpdateEvalProtectHostRequest) Validate() error

Validate validates an UpdateEvalProtectHostRequest.

type UpdateEvalProtectHostResponse added in v2.2.0

type UpdateEvalProtectHostResponse struct {
	HostnameList []struct {
		Hostname string `json:"hostname"`
	} `json:"hostnameList"`
}

UpdateEvalProtectHostResponse is returned from a call to UpdateEvalProtectHost.

type UpdateEvalRequest added in v2.0.4

type UpdateEvalRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"-"`
	Mode     string `json:"-"`
	Eval     string `json:"eval"`
}

UpdateEvalRequest is used to modify an evaluation mode setting.

func (UpdateEvalRequest) Validate added in v2.0.4

func (v UpdateEvalRequest) Validate() error

Validate validates an UpdateEvalRequest.

type UpdateEvalResponse added in v2.0.4

type UpdateEvalResponse struct {
	Current string `json:"current"`
	Eval    string `json:"eval"`
	Mode    string `json:"mode"`
}

UpdateEvalResponse is returned from a call to UpdateEval.

type UpdateEvalRuleRequest added in v2.5.0

type UpdateEvalRuleRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	PolicyID       string          `json:"-"`
	RuleID         int             `json:"-"`
	Action         string          `json:"action"`
	JsonPayloadRaw json.RawMessage `json:"conditionException,omitempty"`
}

UpdateEvalRuleRequest is used to modify a rule available for evaluation and its action.

func (UpdateEvalRuleRequest) Validate added in v2.5.0

func (v UpdateEvalRuleRequest) Validate() error

Validate validates an UpdateEvalRuleRequest.

type UpdateEvalRuleResponse added in v2.5.0

type UpdateEvalRuleResponse struct {
	Action             string                  `json:"action,omitempty"`
	ConditionException *RuleConditionException `json:"conditionException,omitempty"`
}

UpdateEvalRuleResponse is returned from a call to UpdateEvalRule.

type UpdateIPGeoProtectionRequest added in v2.5.0

type UpdateIPGeoProtectionRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

UpdateIPGeoProtectionRequest is returned from a call to UpdateIPGeoProtection.

func (UpdateIPGeoProtectionRequest) Validate added in v2.5.0

func (v UpdateIPGeoProtectionRequest) Validate() error

Validate validates an UpdateIPGeoProtectionRequest.

type UpdateIPGeoProtectionResponse added in v2.5.0

type UpdateIPGeoProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateIPGeoProtectionResponse is used to modify the IPGeo protection settings.

type UpdateIPGeoRequest added in v2.0.4

type UpdateIPGeoRequest struct {
	ConfigID    int    `json:"-"`
	Version     int    `json:"-"`
	PolicyID    string `json:"-"`
	Block       string `json:"block"`
	GeoControls struct {
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"geoControls"`
	IPControls struct {
		AllowedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"allowedIPNetworkLists"`
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"ipControls"`
}

UpdateIPGeoRequest is used to update the method and which network lists are used for IP/Geo firewall blocking.

func (UpdateIPGeoRequest) Validate added in v2.0.4

func (v UpdateIPGeoRequest) Validate() error

Validate validates an UpdateIPGeoRequest.

type UpdateIPGeoResponse added in v2.0.4

type UpdateIPGeoResponse struct {
	Block       string `json:"block"`
	GeoControls struct {
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"geoControls"`
	IPControls struct {
		AllowedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"allowedIPNetworkLists"`
		BlockedIPNetworkLists struct {
			NetworkList []string `json:"networkList"`
		} `json:"blockedIPNetworkLists"`
	} `json:"ipControls"`
}

UpdateIPGeoResponse is returned from a call to UpdateIPGeo.

type UpdateMatchTargetRequest

type UpdateMatchTargetRequest struct {
	ConfigID       int             `json:"configId"`
	ConfigVersion  int             `json:"configVersion"`
	JsonPayloadRaw json.RawMessage `json:"-"`
	TargetID       int             `json:"targetId"`
}

UpdateMatchTargetRequest is used to modify an existing match target.

func (UpdateMatchTargetRequest) Validate

func (v UpdateMatchTargetRequest) Validate() error

Validate validates an UpdateMatchTargetRequest.

type UpdateMatchTargetResponse

type UpdateMatchTargetResponse struct {
	Type                         string           `json:"type"`
	ConfigID                     int              `json:"configId"`
	ConfigVersion                int              `json:"configVersion"`
	DefaultFile                  string           `json:"defaultFile"`
	Hostnames                    []string         `json:"hostnames"`
	IsNegativeFileExtensionMatch bool             `json:"isNegativeFileExtensionMatch"`
	IsNegativePathMatch          *json.RawMessage `json:"isNegativePathMatch,omitempty"`
	FilePaths                    []string         `json:"filePaths"`
	FileExtensions               []string         `json:"fileExtensions"`
	SecurityPolicy               struct {
		PolicyID string `json:"policyId"`
	} `json:"securityPolicy"`
	Sequence           int `json:"-"`
	TargetID           int `json:"targetId"`
	BypassNetworkLists []struct {
		Name string `json:"name"`
		ID   string `json:"id"`
	} `json:"bypassNetworkLists"`
}

UpdateMatchTargetResponse is returned from a call to UpdateMatchTarget.

type UpdateMatchTargetSequenceRequest

type UpdateMatchTargetSequenceRequest struct {
	ConfigID       int               `json:"-"`
	ConfigVersion  int               `json:"-"`
	TargetSequence []MatchTargetItem `json:"targetSequence"`
	Type           string            `json:"type"`
}

UpdateMatchTargetSequenceRequest UpdateMatchTargetSequenceRequest is used to modify an existing match target sequence.

func (UpdateMatchTargetSequenceRequest) Validate

Validate validates an UpdateMatchTargetSequenceRequest.

type UpdateMatchTargetSequenceResponse

type UpdateMatchTargetSequenceResponse struct {
	TargetSequence []MatchTargetItem `json:"targetSequence"`
	Type           string            `json:"type"`
}

UpdateMatchTargetSequenceResponse is returned from a call to UpdateMatchTargetSequence.

type UpdateNetworkLayerProtectionRequest added in v2.0.4

type UpdateNetworkLayerProtectionRequest struct {
	ConfigID                  int    `json:"-"`
	Version                   int    `json:"-"`
	PolicyID                  string `json:"-"`
	ApplyNetworkLayerControls bool   `json:"applyNetworkLayerControls"`
}

UpdateNetworkLayerProtectionRequest is used to modify the network layer protection setting.

func (UpdateNetworkLayerProtectionRequest) Validate added in v2.0.4

Validate validates an UpdateNetworkLayerProtectionRequest.

type UpdateNetworkLayerProtectionResponse added in v2.0.4

type UpdateNetworkLayerProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateNetworkLayerProtectionResponse is returned from a call to UpdateNetworkLayerProtection

type UpdatePenaltyBoxRequest

type UpdatePenaltyBoxRequest struct {
	ConfigID             int    `json:"-"`
	Version              int    `json:"-"`
	PolicyID             string `json:"-"`
	Action               string `json:"action"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection"`
}

UpdatePenaltyBoxRequest is used to modify the penalty box settings.

func (UpdatePenaltyBoxRequest) Validate

func (v UpdatePenaltyBoxRequest) Validate() error

Validate validates an UpdatePenaltyBoxRequest.

type UpdatePenaltyBoxResponse

type UpdatePenaltyBoxResponse struct {
	Action               string `json:"action"`
	PenaltyBoxProtection bool   `json:"penaltyBoxProtection"`
}

UpdatePenaltyBoxResponse is returned from a call to UpdatePenaltyBox.

type UpdatePolicyProtectionsRequest added in v2.0.4

type UpdatePolicyProtectionsRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyAPIConstraints           bool   `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool   `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool   `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool   `json:"applyRateControls"`
	ApplyReputationControls       bool   `json:"applyReputationControls"`
	ApplySlowPostControls         bool   `json:"applySlowPostControls"`
}

UpdatePolicyProtectionsRequest is used to modify the policy protection setting.

func (UpdatePolicyProtectionsRequest) Validate added in v2.0.4

Validate validates an UpdatePolicyProtectionsRequest.

type UpdatePolicyProtectionsResponse added in v2.0.4

type UpdatePolicyProtectionsResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdatePolicyProtectionsResponse is returned from a call to UpdatePolicyProtections.

type UpdateRatePolicyActionRequest

type UpdateRatePolicyActionRequest struct {
	ConfigID     int    `json:"-"`
	Version      int    `json:"-"`
	PolicyID     string `json:"-"`
	RatePolicyID int    `json:"-"`
	Ipv4Action   string `json:"ipv4Action"`
	Ipv6Action   string `json:"ipv6Action"`
}

UpdateRatePolicyActionRequest is used to update the actions for a rate policy.

func (UpdateRatePolicyActionRequest) Validate

func (v UpdateRatePolicyActionRequest) Validate() error

Validate validates an UpdateRatePolicyActionRequest.

type UpdateRatePolicyActionResponse

type UpdateRatePolicyActionResponse struct {
	ID         int    `json:"id"`
	Ipv4Action string `json:"ipv4Action"`
	Ipv6Action string `json:"ipv6Action"`
}

UpdateRatePolicyActionResponse is returned from a call to UpdateRatePolicy.

type UpdateRatePolicyRequest

type UpdateRatePolicyRequest struct {
	RatePolicyID   int             `json:"id"`
	PolicyID       int             `json:"policyId"`
	ConfigID       int             `json:"configId"`
	ConfigVersion  int             `json:"configVersion"`
	JsonPayloadRaw json.RawMessage `json:"-"`
}

UpdateRatePolicyRequest is used to modify an existing rate policy.

func (UpdateRatePolicyRequest) Validate

func (v UpdateRatePolicyRequest) Validate() error

Validate validates an UpdateRatePolicyRequest.

type UpdateRatePolicyResponse

type UpdateRatePolicyResponse struct {
	ID                    int    `json:"id"`
	PolicyID              int    `json:"policyId"`
	ConfigID              int    `json:"configId"`
	ConfigVersion         int    `json:"configVersion"`
	MatchType             string `json:"matchType"`
	Type                  string `json:"type"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	AverageThreshold      int    `json:"averageThreshold"`
	BurstThreshold        int    `json:"burstThreshold"`
	ClientIdentifier      string `json:"clientIdentifier"`
	UseXForwardForHeaders bool   `json:"useXForwardForHeaders"`
	RequestType           string `json:"requestType"`
	SameActionOnIpv6      bool   `json:"sameActionOnIpv6"`
	Path                  struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"path"`
	PathMatchType        string `json:"pathMatchType"`
	PathURIPositiveMatch bool   `json:"pathUriPositiveMatch"`
	FileExtensions       struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"fileExtensions"`
	Hostnames              []string `json:"hostnames"`
	AdditionalMatchOptions []struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Type          string   `json:"type"`
		Values        []string `json:"values"`
	} `json:"additionalMatchOptions"`
	QueryParameters []struct {
		Name          string   `json:"name"`
		Values        []string `json:"values"`
		PositiveMatch bool     `json:"positiveMatch"`
		ValueInRange  bool     `json:"valueInRange"`
	} `json:"queryParameters"`
	CreateDate string          `json:"-"`
	UpdateDate string          `json:"-"`
	Used       json.RawMessage `json:"used"`
}

UpdateRatePolicyResponse is returned from a call to UpdateRatePolicy.

type UpdateRateProtectionRequest added in v2.0.4

type UpdateRateProtectionRequest struct {
	ConfigID          int    `json:"-"`
	Version           int    `json:"-"`
	PolicyID          string `json:"-"`
	ApplyRateControls bool   `json:"applyRateControls"`
}

UpdateRateProtectionRequest is used to modify the rate protection setting.

func (UpdateRateProtectionRequest) Validate added in v2.0.4

func (v UpdateRateProtectionRequest) Validate() error

Validate validates an UpdateRateProtectionRequest.

type UpdateRateProtectionResponse added in v2.0.4

type UpdateRateProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateRateProtectionResponse is returned from a call to UpdateRateProtection.

type UpdateReputationAnalysisRequest added in v2.2.0

type UpdateReputationAnalysisRequest struct {
	ConfigID                           int    `json:"-"`
	Version                            int    `json:"-"`
	PolicyID                           string `json:"-"`
	ForwardToHTTPHeader                bool   `json:"forwardToHTTPHeader"`
	ForwardSharedIPToHTTPHeaderAndSIEM bool   `json:"forwardSharedIPToHTTPHeaderAndSIEM"`
}

UpdateReputationAnalysisRequest is used to modify the reputation analysis settings for a security poliyc.

func (UpdateReputationAnalysisRequest) Validate added in v2.2.0

Validate validates an UpdateReputationAnalysisRequest.

type UpdateReputationAnalysisResponse added in v2.2.0

type UpdateReputationAnalysisResponse struct {
	ForwardToHTTPHeader                bool `json:"forwardToHTTPHeader"`
	ForwardSharedIPToHTTPHeaderAndSIEM bool `json:"forwardSharedIPToHTTPHeaderAndSIEM"`
}

UpdateReputationAnalysisResponse is returned from a call to UpdateReputationAnalysis.

type UpdateReputationProfileActionRequest added in v2.0.4

type UpdateReputationProfileActionRequest struct {
	ConfigID            int    `json:"-"`
	Version             int    `json:"-"`
	PolicyID            string `json:"-"`
	ReputationProfileID int    `json:"-"`
	Action              string `json:"action"`
}

UpdateReputationProfileActionRequest is used to modify the details for a specific reputation profile.

func (UpdateReputationProfileActionRequest) Validate added in v2.0.4

Validate validates an UpdateReputationProfileActionRequest.

type UpdateReputationProfileActionResponse added in v2.0.4

type UpdateReputationProfileActionResponse struct {
	Action string `json:"action"`
}

UpdateReputationProfileActionResponse is returned from a call to UpdateReputationProfileAction.

type UpdateReputationProfileRequest added in v2.0.4

type UpdateReputationProfileRequest struct {
	ConfigID            int             `json:"-"`
	ConfigVersion       int             `json:"-"`
	ReputationProfileId int             `json:"-"`
	JsonPayloadRaw      json.RawMessage `json:"-"`
}

UpdateReputationProfileRequest is used to modify an existing reputation profile.

func (UpdateReputationProfileRequest) Validate added in v2.0.4

Validate validates an UpdateReputationProfileRequest.

type UpdateReputationProfileResponse added in v2.0.4

type UpdateReputationProfileResponse struct {
	ID                    int    `json:"id"`
	PolicyID              int    `json:"policyId"`
	ConfigID              int    `json:"configId"`
	ConfigVersion         int    `json:"configVersion"`
	MatchType             string `json:"matchType"`
	Type                  string `json:"type"`
	Name                  string `json:"name"`
	Description           string `json:"description"`
	AverageThreshold      int    `json:"averageThreshold"`
	BurstThreshold        int    `json:"burstThreshold"`
	ClientIdentifier      string `json:"clientIdentifier"`
	UseXForwardForHeaders bool   `json:"useXForwardForHeaders"`
	RequestType           string `json:"requestType"`
	SameActionOnIpv6      bool   `json:"sameActionOnIpv6"`
	Path                  struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"path"`
	PathMatchType        string `json:"pathMatchType"`
	PathURIPositiveMatch bool   `json:"pathUriPositiveMatch"`
	FileExtensions       struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Values        []string `json:"values"`
	} `json:"fileExtensions"`
	Hostnames              []string `json:"hostNames"`
	AdditionalMatchOptions []struct {
		PositiveMatch bool     `json:"positiveMatch"`
		Type          string   `json:"type"`
		Values        []string `json:"values"`
	} `json:"additionalMatchOptions"`
	QueryParameters []struct {
		Name          string   `json:"name"`
		Values        []string `json:"values"`
		PositiveMatch bool     `json:"positiveMatch"`
		ValueInRange  bool     `json:"valueInRange"`
	} `json:"queryParameters"`
	CreateDate string `json:"createDate"`
	UpdateDate string `json:"updateDate"`
	Used       bool   `json:"used"`
}

UpdateReputationProfileResponse is returned from a call to UpdateReputationProfile.

type UpdateReputationProtectionRequest added in v2.0.4

type UpdateReputationProtectionRequest struct {
	ConfigID                int    `json:"-"`
	Version                 int    `json:"-"`
	PolicyID                string `json:"-"`
	ApplyReputationControls bool   `json:"applyReputationControls"`
}

UpdateReputationProtectionRequest is used to modify the reputation protection setting.

func (UpdateReputationProtectionRequest) Validate added in v2.0.4

Validate validates an UpdateReputationProtectionRequest.

type UpdateReputationProtectionResponse added in v2.0.4

type UpdateReputationProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateReputationProtectionResponse is returned from a call to UpdateReputationProtection.

type UpdateRuleRequest added in v2.5.0

type UpdateRuleRequest struct {
	ConfigID       int             `json:"-"`
	Version        int             `json:"-"`
	PolicyID       string          `json:"-"`
	RuleID         int             `json:"-"`
	Action         string          `json:"action"`
	JsonPayloadRaw json.RawMessage `json:"conditionException,omitempty"`
}

UpdateRuleRequest is used to modify the settings for a rule.

func (UpdateRuleRequest) Validate added in v2.5.0

func (v UpdateRuleRequest) Validate() error

Validate validates an UpdateRuleRequest.

type UpdateRuleResponse added in v2.5.0

type UpdateRuleResponse struct {
	Action             string                  `json:"action,omitempty"`
	ConditionException *RuleConditionException `json:"conditionException,omitempty"`
}

UpdateRuleResponse is returned from a call to UpdateRule.

type UpdateRuleUpgradeRequest added in v2.0.4

type UpdateRuleUpgradeRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Upgrade  bool   `json:"upgrade"`
	Mode     string `json:"mode,omitempty"`
}

UpdateRuleUpgradeRequest is used to upgrade to the most recent version of the KRS rule set.

func (UpdateRuleUpgradeRequest) Validate added in v2.0.4

func (v UpdateRuleUpgradeRequest) Validate() error

Validate validates an UpdateRuleUpgradeRequest.

type UpdateRuleUpgradeResponse added in v2.0.4

type UpdateRuleUpgradeResponse struct {
	Current string `json:"current"`
	Mode    string `json:"mode"`
	Eval    string `json:"eval"`
}

UpdateRuleUpgradeResponse is returned from a call to UpdateRuleUpgrade.

type UpdateSecurityPolicyRequest added in v2.0.4

type UpdateSecurityPolicyRequest struct {
	ConfigID   int    `json:"-"`
	Version    int    `json:"-"`
	PolicyID   string `json:"-"`
	PolicyName string `json:"policyName"`
}

UpdateSecurityPolicyRequest is used to modify a security policy.

func (UpdateSecurityPolicyRequest) Validate added in v2.0.4

func (v UpdateSecurityPolicyRequest) Validate() error

Validate validates an UpdateSecurityPolicyRequest.

type UpdateSecurityPolicyResponse added in v2.0.4

type UpdateSecurityPolicyResponse struct {
	ConfigID               int    `json:"configId"`
	PolicyID               string `json:"policyId"`
	PolicyName             string `json:"policyName"`
	DefaultSettings        bool   `json:"defaultSettings,omitempty"`
	PolicySecurityControls struct {
		ApplyAPIConstraints           bool `json:"applyApiConstraints"`
		ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
		ApplyBotmanControls           bool `json:"applyBotmanControls"`
		ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
		ApplyRateControls             bool `json:"applyRateControls"`
		ApplyReputationControls       bool `json:"applyReputationControls"`
		ApplySlowPostControls         bool `json:"applySlowPostControls"`
	} `json:"policySecurityControls"`
	Version int `json:"version"`
}

UpdateSecurityPolicyResponse is returned from a call to UpdateSecurityPolicy.

type UpdateSelectedHostnameRequest

type UpdateSelectedHostnameRequest struct {
	ConfigID     int        `json:"configId"`
	Version      int        `json:"version"`
	HostnameList []Hostname `json:"hostnameList"`
}

UpdateSelectedHostnameRequest is used to modify the selected hostnames for a configuration.

func (UpdateSelectedHostnameRequest) Validate

func (v UpdateSelectedHostnameRequest) Validate() error

Validate validates an UpdateSelectedHostnameRequest.

type UpdateSelectedHostnameResponse

type UpdateSelectedHostnameResponse struct {
	HostnameList []Hostname `json:"hostnameList"`
}

UpdateSelectedHostnameResponse is returned from a call to UpdateSelectedHostname.

type UpdateSiemSettingsRequest added in v2.2.0

type UpdateSiemSettingsRequest struct {
	ConfigID                int      `json:"-"`
	Version                 int      `json:"-"`
	EnableForAllPolicies    bool     `json:"enableForAllPolicies"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents"`
	SiemDefinitionID        int      `json:"siemDefinitionId"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds"`
}

UpdateSiemSettingsRequest is used to modify the SIEM settings for a configuration.

func (UpdateSiemSettingsRequest) Validate added in v2.2.0

func (v UpdateSiemSettingsRequest) Validate() error

Validate validates an UpdateSiemSettingsRequest.

type UpdateSiemSettingsResponse added in v2.2.0

type UpdateSiemSettingsResponse struct {
	EnableForAllPolicies    bool     `json:"enableForAllPolicies"`
	EnableSiem              bool     `json:"enableSiem"`
	EnabledBotmanSiemEvents bool     `json:"enabledBotmanSiemEvents"`
	SiemDefinitionID        int      `json:"siemDefinitionId"`
	FirewallPolicyIds       []string `json:"firewallPolicyIds"`
}

UpdateSiemSettingsResponse is returned from a call to UpdateSiemSettings.

type UpdateSlowPostProtectionRequest added in v2.0.4

type UpdateSlowPostProtectionRequest struct {
	ConfigID              int    `json:"-"`
	Version               int    `json:"-"`
	PolicyID              string `json:"-"`
	ApplySlowPostControls bool   `json:"applySlowPostControls"`
}

UpdateSlowPostProtectionRequest is used to modify the slow post protection setting.

func (UpdateSlowPostProtectionRequest) Validate added in v2.0.4

Validate validates an UpdateSlowPostProtectionRequest.

type UpdateSlowPostProtectionResponse added in v2.0.4

type UpdateSlowPostProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateSlowPostProtectionResponse is returned from a call to UpdateSlowPostProtection.

type UpdateSlowPostProtectionSettingRequest

type UpdateSlowPostProtectionSettingRequest struct {
	ConfigID          int    `json:"configId"`
	Version           int    `json:"version"`
	PolicyID          string `json:"policyId"`
	Action            string `json:"action"`
	SlowRateThreshold struct {
		Rate   int `json:"rate"`
		Period int `json:"period"`
	} `json:"slowRateThreshold"`
	DurationThreshold struct {
		Timeout int `json:"timeout"`
	} `json:"durationThreshold"`
}

UpdateSlowPostProtectionSettingRequest is used to modify the slow post protection settings for a configuration.

func (UpdateSlowPostProtectionSettingRequest) Validate

Validate validates an UpdateSlowPostProtectionSettingRequest.

type UpdateSlowPostProtectionSettingResponse

type UpdateSlowPostProtectionSettingResponse struct {
	Action            string `json:"action"`
	SlowRateThreshold struct {
		Rate   int `json:"rate"`
		Period int `json:"period"`
	} `json:"slowRateThreshold"`
	DurationThreshold struct {
		Timeout int `json:"timeout"`
	} `json:"durationThreshold"`
}

UpdateSlowPostProtectionSettingResponse is returned from a call to UpdateSlowPostProtection.

type UpdateThreatIntelRequest added in v2.6.0

type UpdateThreatIntelRequest struct {
	ConfigID    int    `json:"-"`
	Version     int    `json:"-"`
	PolicyID    string `json:"-"`
	ThreatIntel string `json:"threatIntel"`
}

UpdateThreatIntelRequest is used to update the threat intel settings.

func (UpdateThreatIntelRequest) Validate added in v2.6.0

func (v UpdateThreatIntelRequest) Validate() error

Validate validates an UpdateAttackGroupConditionExceptionRequest.

type UpdateThreatIntelResponse added in v2.6.0

type UpdateThreatIntelResponse struct {
	ThreatIntel string `json:"threatIntel,omitempty"`
}

UpdateThreatIntelResponse is returned from a call to UpdateThreatIntel.

type UpdateVersionNotesRequest added in v2.2.0

type UpdateVersionNotesRequest struct {
	ConfigID int `json:"-"`
	Version  int `json:"-"`

	Notes string `json:"notes"`
}

UpdateVersionNotesRequest is used to modify the version notes for a configuration version.

func (UpdateVersionNotesRequest) Validate added in v2.2.0

func (v UpdateVersionNotesRequest) Validate() error

Validate validates an UpdateVersionNotesRequest.

type UpdateVersionNotesResponse added in v2.2.0

type UpdateVersionNotesResponse struct {
	Notes string `json:"notes"`
}

UpdateVersionNotesResponse is returned from a call to UpdateVersionNotes.

type UpdateWAFModeRequest

type UpdateWAFModeRequest struct {
	ConfigID int    `json:"-"`
	Version  int    `json:"-"`
	PolicyID string `json:"-"`
	Current  string `json:"-"`
	Mode     string `json:"mode"`
	Eval     string `json:"-"`
}

UpdateWAFModeRequest is used to modify the setting that determines this mode how rules will be kept up to date.

func (UpdateWAFModeRequest) Validate

func (v UpdateWAFModeRequest) Validate() error

Validate validates an UpdateWAFModeRequest.

type UpdateWAFModeResponse

type UpdateWAFModeResponse struct {
	Current string `json:"current"`
	Mode    string `json:"mode"`
}

UpdateWAFModeResponse is returned from a call to UpdateWAFMode.

type UpdateWAFProtectionRequest

type UpdateWAFProtectionRequest struct {
	ConfigID                      int    `json:"-"`
	Version                       int    `json:"-"`
	PolicyID                      string `json:"-"`
	ApplyApplicationLayerControls bool   `json:"applyApplicationLayerControls"`
}

UpdateWAFProtectionRequest is used to modify the WAF protection setting.

func (UpdateWAFProtectionRequest) Validate

func (v UpdateWAFProtectionRequest) Validate() error

Validate validates an UpdateWAFProtectionRequest.

type UpdateWAFProtectionResponse

type UpdateWAFProtectionResponse struct {
	ApplyAPIConstraints           bool `json:"applyApiConstraints"`
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls"`
	ApplyBotmanControls           bool `json:"applyBotmanControls"`
	ApplyNetworkLayerControls     bool `json:"applyNetworkLayerControls"`
	ApplyRateControls             bool `json:"applyRateControls"`
	ApplyReputationControls       bool `json:"applyReputationControls"`
	ApplySlowPostControls         bool `json:"applySlowPostControls"`
}

UpdateWAFProtectionResponse is returned from a call to UpdateWAFProtection.

type UpdateWAPSelectedHostnamesRequest added in v2.6.0

type UpdateWAPSelectedHostnamesRequest struct {
	ConfigID         int      `json:"configId"`
	Version          int      `json:"version"`
	SecurityPolicyID string   `json:"securityPolicyID"`
	ProtectedHosts   []string `json:"protectedHostnames"`
	EvaluatedHosts   []string `json:"evalHostnames"`
}

UpdateWAPSelectedHostnamesRequest is used to modify the WAP selected hostnames and evaluated hostnames.

func (UpdateWAPSelectedHostnamesRequest) Validate added in v2.6.0

Validate validates an UpdateWAPSelectedHostnamesRequest.

type UpdateWAPSelectedHostnamesResponse added in v2.6.0

type UpdateWAPSelectedHostnamesResponse struct {
	ProtectedHosts []string `json:"protectedHostnames"`
	EvaluatedHosts []string `json:"evalHostnames"`
}

UpdateWAPSelectedHostnamesResponse is returned from a call to UpdateWAPSelectedHostnames.

type WAPSelectedHostnames added in v2.6.0

type WAPSelectedHostnames interface {
	GetWAPSelectedHostnames(ctx context.Context, params GetWAPSelectedHostnamesRequest) (*GetWAPSelectedHostnamesResponse, error)
	UpdateWAPSelectedHostnames(ctx context.Context, params UpdateWAPSelectedHostnamesRequest) (*UpdateWAPSelectedHostnamesResponse, error)
}

The WAPSelectedHostnames interface supports retrieving and modifying the list of hostnames protected under a configuration and security policy.

type WebApplicationFirewallEvaluation added in v2.3.0

type WebApplicationFirewallEvaluation struct {
	AttackGroupActions []struct {
		Action string `json:"action"`
		Group  string `json:"group"`
	} `json:"attackGroupActions,omitempty"`
	EvaluationID      int `json:"evaluationId"`
	EvaluationVersion int `json:"evaluationVersion"`
	RuleActions       []struct {
		Action     string          `json:"action"`
		ID         int             `json:"id"`
		Conditions *RuleConditions `json:"conditions,omitempty"`
		Exception  *RuleException  `json:"exception,omitempty"`
	} `json:"ruleActions,omitempty"`
	RulesetVersionID int `json:"rulesetVersionId"`
}

WebApplicationFirewallEvaluation is returned as part of GetExportConfigurationsResponse.

Jump to

Keyboard shortcuts

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