appsec

package
v3.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2022 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"
)
View Source
const (
	// RulesetTypeActive for active rulesets.
	RulesetTypeActive RulesetType = "active"

	// RulesetTypeEvaluation for evaluation rulesets.
	RulesetTypeEvaluation RulesetType = "evaluation"

	// ActionTypeDeny firewall deny action.
	ActionTypeDeny ActionType = "deny"
	// ActionTypeAlert firewall alert action.
	ActionTypeAlert ActionType = "alert"
	// ActionTypeNone firewall no action.
	ActionTypeNone ActionType = "none"
)

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

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 GetExportConfigurationResponse.

type ActionType

type ActionType string

ActionType is an action type value.

type Activation

type Activation struct {
	ActivationID       int       `json:"activationId"`
	Version            int       `json:"version"`
	Status             string    `json:"status"`
	Network            string    `json:"Network"`
	ActivatedBy        string    `json:"activatedBy"`
	ActivationDate     time.Time `json:"activationDate"`
	Notes              string    `json:"notes"`
	NotificationEmails []string  `json:"notificationEmails"`
}

Activation represents the status of a configuration activation.

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)

	// GetActivationHistory lists the activation history for a configuration.
	// https://techdocs.akamai.com/application-security/reference/get-activation-history
	GetActivationHistory(ctx context.Context, params GetActivationHistoryRequest) (*GetActivationHistoryResponse, 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 AdvancedExceptions

type AdvancedExceptions AttackGroupAdvancedExceptions

AdvancedExceptions is used to describe advanced exceptions used in Adaptive Security Engine(ASE) rules.

type AdvancedOptionsexp

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

AdvancedOptionsexp is returned as part of GetExportConfigurationResponse.

type AdvancedSettingsCookies

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

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 AdvancedSettingsEvasivePathMatch

type AdvancedSettingsEvasivePathMatch interface {
	// GetAdvancedSettingsEvasivePathMatch retrieves the Evasive Path Match setting.
	// https://techdocs.akamai.com/application-security/reference/get-evasive-path-match-per-config
	GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params GetAdvancedSettingsEvasivePathMatchRequest) (*GetAdvancedSettingsEvasivePathMatchResponse, error)
	// UpdateAdvancedSettingsEvasivePathMatch modifies the Evasive Path Match setting.
	// https://techdocs.akamai.com/application-security/reference/put-evasive-path-match-per-config
	UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, params UpdateAdvancedSettingsEvasivePathMatchRequest) (*UpdateAdvancedSettingsEvasivePathMatchResponse, error)
	// RemoveAdvancedSettingsEvasivePathMatch removes the Evasive Path Match setting.
	// Deprecated: this method will be removed in a future release. Use UpdateAdvancedSettingsEvasivePathMatch instead.
	RemoveAdvancedSettingsEvasivePathMatch(ctx context.Context, params RemoveAdvancedSettingsEvasivePathMatchRequest) (*RemoveAdvancedSettingsEvasivePathMatchResponse, error)
}

The AdvancedSettingsEvasivePathMatch interface supports retrieving or modifying the Evasive Path Match setting.

type AdvancedSettingsLogging

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

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 ApiConstraintsProtection

type ApiConstraintsProtection interface {
	// GetAPIConstraintsProtection retrieves the current API constraints protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getapirequestconstraints
	GetAPIConstraintsProtection(ctx context.Context, params GetAPIConstraintsProtectionRequest) (*GetAPIConstraintsProtectionResponse, error)

	// UpdateAPIConstraintsProtection updates the API constraints protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putapirequestconstraints
	UpdateAPIConstraintsProtection(ctx context.Context, params UpdateAPIConstraintsProtectionRequest) (*UpdateAPIConstraintsProtectionResponse, error)
}

The ApiConstraintsProtection interface supports retrieving and updating API request constraints protection for a configuration and policy.

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

type ApiEndpoint

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

ApiEndpoint describes an API endpoint and its associated action.

type ApiEndpoints

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

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

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

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

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 GetExportConfigurationResponse.

type AttackGroupAdvancedCriteria

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

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

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

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

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

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 AttackGroupRecommendation

type AttackGroupRecommendation struct {
	Description string                `json:"description,omitempty"`
	Evidence    *Evidences            `json:"evidences,omitempty"`
	Exception   *AttackGroupException `json:"exception,omitempty"`
	Group       string                `json:"group,omitempty"`
}

AttackGroupRecommendation is used to describe a recommendation for an attack group.

type AttackGroupSpecificHeaderCookieOrParamNameValAdvanced

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

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

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

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 BypassNetworkLists

type BypassNetworkLists interface {
	// Deprecated: this method will be removed in a future release. Use the GetWAPBypassNetworkLists method of the WAPBypassNetworkLists interface instead.
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getbypassnetworklistsforawapconfigversion
	GetBypassNetworkLists(ctx context.Context, params GetBypassNetworkListsRequest) (*GetBypassNetworkListsResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putbypassnetworklistsforawapconfigversion
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPBypassNetworkLists method of the WAPBypassNetworkLists interface instead.
	UpdateBypassNetworkLists(ctx context.Context, params UpdateBypassNetworkListsRequest) (*UpdateBypassNetworkListsResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putbypassnetworklistsforawapconfigversion
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPBypassNetworkLists method of the WAPBypassNetworkLists interface instead.
	RemoveBypassNetworkLists(ctx context.Context, params RemoveBypassNetworkListsRequest) (*RemoveBypassNetworkListsResponse, error)
}

The BypassNetworkLists interface supports listing or modifying which network lists are used in the bypass network lists settings. Deprecated: this interface will be removed in a future release. Use the WAPBypassNetworkLists interface instead.

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

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

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

ClientReputationReputationProfileActions is returned as part of GetExportConfigurationResponse.

type ConditionReputationProfile

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 GetExportConfigurationResponse.

type ConditionsExp

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 GetExportConfigurationResponse.

type ConditionsValue

type ConditionsValue []string

ConditionsValue is a slice of strings that describe conditions.

func (*ConditionsValue) UnmarshalJSON

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

UnmarshalJSON reads a ConditionsValue struct from its data argument.

type ConfigurationHostnameCoverage

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

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

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

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

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

Validate validates a CreateConfigurationCloneRequest.

type CreateConfigurationVersionCloneResponse

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

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

func (v CreateCustomDenyRequest) Validate() error

Validate validates a CreateCustomDenyRequest.

type CreateCustomDenyResponse

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:"-"`
	Structured    bool     `json:"-"`
	Tag           []string `json:"tag"`
	Conditions    []struct {
		Name                  *json.RawMessage `json:"name,omitempty"`
		NameCase              *bool            `json:"nameCase,omitempty"`
		NameWildcard          *bool            `json:"nameWildcard,omitempty"`
		PositiveMatch         bool             `json:"positiveMatch"`
		Type                  string           `json:"type"`
		Value                 *json.RawMessage `json:"value,omitempty"`
		ValueCase             *bool            `json:"valueCase,omitempty"`
		ValueExactMatch       *bool            `json:"valueExactMatch,omitempty"`
		ValueIgnoreSegment    *bool            `json:"valueIgnoreSegment,omitempty"`
		ValueNormalize        *bool            `json:"valueNormalize,omitempty"`
		ValueRecursive        *bool            `json:"valueRecursive,omitempty"`
		ValueWildcard         *bool            `json:"valueWildcard,omitempty"`
		UseXForwardForHeaders *bool            `json:"useXForwardForHeaders,omitempty"`
	} `json:"conditions"`
	EffectiveTimePeriod *CustomRuleEffectivePeriod `json:"effectiveTimePeriod,omitempty"`
	SamplingRate        int                        `json:"samplingRate,omitempty"`
	LoggingOptions      *json.RawMessage           `json:"loggingOptions,omitempty"`
	Operation           string                     `json:"operation,omitempty"`
}

CreateCustomRuleResponse is returned from a call to CreateCustomRule.

type CreateMalwarePolicyRequest

type CreateMalwarePolicyRequest struct {
	ConfigID      int
	ConfigVersion int
	Policy        *MalwarePolicyBody
}

CreateMalwarePolicyRequest is used to create a malware policy.

func (CreateMalwarePolicyRequest) Validate

func (v CreateMalwarePolicyRequest) Validate() error

Validate validates a CreateMalwarePolicyRequest.

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:"-"`
	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"`
	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"`
	Hosts                  *RatePoliciesHosts      `json:"hosts,omitempty"`
	Hostnames              []string                `json:"hostnames"`
	AdditionalMatchOptions []RatePolicyMatchOption `json:"additionalMatchOptions,omitempty"`
	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

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

CreateReputationProfileRequest is used to create a reputation profile.

func (CreateReputationProfileRequest) Validate

Validate validates a CreateReputationProfileRequest.

type CreateReputationProfileResponse

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

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

func (v CreateSecurityPolicyRequest) Validate() error

Validate validates a CreateSecurityPolicyRequest.

type CreateSecurityPolicyResponse

type CreateSecurityPolicyResponse struct {
	ConfigID               int               `json:"configId"`
	PolicyID               string            `json:"policyId"`
	PolicyName             string            `json:"policyName"`
	DefaultSettings        bool              `json:"defaultSettings,omitempty"`
	PolicySecurityControls *SecurityControls `json:"policySecurityControls,omitempty"`
	Version                int               `json:"version"`
}

CreateSecurityPolicyResponse is returned from a call to CreateSecurityPolicy.

type CustomDenyListexp

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 GetExportConfigurationResponse.

type CustomRuleActionsexp

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

CustomRuleActionsexp is returned as part of GetExportConfigurationResponse.

type CustomRuleConditionsName

type CustomRuleConditionsName []string

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

func (*CustomRuleConditionsName) UnmarshalJSON

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

UnmarshalJSON reads a CustomRuleConditionsName from its data argument.

type CustomRuleConditionsValue

type CustomRuleConditionsValue []string

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

func (*CustomRuleConditionsValue) UnmarshalJSON

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

UnmarshalJSON reads a CustomRuleConditionsValue from its data argument.

type CustomRuleEffectivePeriod

type CustomRuleEffectivePeriod struct {
	EndDate   string `json:"endDate"`
	StartDate string `json:"startDate"`
	Status    string `json:"-"`
}

CustomRuleEffectivePeriod defines the period during which a custom rule is active as well as its current status.

type CustomRuleResponse

type CustomRuleResponse 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 {
		Name                  *json.RawMessage `json:"name,omitempty"`
		NameCase              *bool            `json:"nameCase,omitempty"`
		NameWildcard          *bool            `json:"nameWildcard,omitempty"`
		PositiveMatch         bool             `json:"positiveMatch"`
		Type                  string           `json:"type"`
		Value                 *json.RawMessage `json:"value,omitempty"`
		ValueCase             *bool            `json:"valueCase,omitempty"`
		ValueExactMatch       *bool            `json:"valueExactMatch,omitempty"`
		ValueIgnoreSegment    *bool            `json:"valueIgnoreSegment,omitempty"`
		ValueNormalize        *bool            `json:"valueNormalize,omitempty"`
		ValueRecursive        *bool            `json:"valueRecursive,omitempty"`
		ValueWildcard         *bool            `json:"valueWildcard,omitempty"`
		UseXForwardForHeaders *bool            `json:"useXForwardForHeaders,omitempty"`
	} `json:"conditions"`
	EffectiveTimePeriod *CustomRuleEffectivePeriod `json:"effectiveTimePeriod,omitempty"`
	SamplingRate        int                        `json:"samplingRate,omitempty"`
	LoggingOptions      *json.RawMessage           `json:"loggingOptions,omitempty"`
	Operation           string                     `json:"operation,omitempty"`
}

CustomRuleResponse is returned from calls to GetCustomRule, UpdateCustomRule, and DeleteCustomRule.

type DurationThresholdExp

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

DurationThresholdExp is returned as part of GetExportConfigurationResponse.

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

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 EvalHost

type EvalHost interface {
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetEvalHosts(ctx context.Context, params GetEvalHostsRequest) (*GetEvalHostsResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetEvalHost(ctx context.Context, params GetEvalHostRequest) (*GetEvalHostResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	UpdateEvalHost(ctx context.Context, params UpdateEvalHostRequest) (*UpdateEvalHostResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the WAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	RemoveEvalHost(ctx context.Context, params RemoveEvalHostRequest) (*RemoveEvalHostResponse, error)
}

The EvalHost interface supports retrieving and modifying list of evaluation hostnames for a configuration. Deprecated: this interface will be removed in a future release. Use the WAPSelectedHostnames interface instead.

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

type EvalPenaltyBox

The EvalPenaltyBox interface supports retrieving or modifying the evaluation penalty box settings for a specified security policy in evaluation mode.

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

type EvalProtectHost

type EvalProtectHost interface {
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetEvalProtectHosts(ctx context.Context, params GetEvalProtectHostsRequest) (*GetEvalProtectHostsResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getevaluationhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetEvalProtectHost(ctx context.Context, params GetEvalProtectHostRequest) (*GetEvalProtectHostResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putmoveevaluationhostnamestoprotection
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	UpdateEvalProtectHost(ctx context.Context, params UpdateEvalProtectHostRequest) (*UpdateEvalProtectHostResponse, error)
}

The EvalProtectHost interface supports retrieving the evaluation hostnames for a configuration and moving hostnames from evaluating to protected status. Deprecated: this interface will be removed in a future release. Use the WAPSelectedHostnames interface instead.

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

type EvaluatingSecurityPolicy

type EvaluatingSecurityPolicy 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"`
}

EvaluatingSecurityPolicy is returned from a call to GetExportConfiguration.

type Evaluationexp

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 GetExportConfigurationResponse.

type EvasivePathMatchexp

type EvasivePathMatchexp struct {
	EnablePathMatch bool `json:"enabled"`
}

EvasivePathMatchexp contains the EnablePathMatch setting

type Evidences

type Evidences []struct {
	HostEvidences     []string `json:"hostEvidences,omitempty"`
	PathEvidences     []string `json:"pathEvidences,omitempty"`
	UserDataEvidences []string `json:"userDataEvidences,omitempty"`
}

Evidences is used to describe evidences for a recommendation.

type ExcludeCondition

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

type ExportConfiguration interface {
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getconfigurationversionexport
	// Deprecated: this method will be removed in a future release. Use GetExportConfiguration instead.
	GetExportConfigurations(ctx context.Context, params GetExportConfigurationsRequest) (*GetExportConfigurationsResponse, error)

	GetExportConfiguration(ctx context.Context, params GetExportConfigurationRequest) (*GetExportConfigurationResponse, error)
}

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 GeoControlsList

type GeoControlsList struct {
	BlockedIPNetworkLists IPNetworkListsList `json:"networkList"`
}

GeoControlsList is used to define a list of blocked IP network lists.

type GetAPIConstraintsProtectionRequest

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

Validate validates a GetAPIConstraintsProtectionRequest.

type GetAPIConstraintsProtectionResponse

type GetAPIConstraintsProtectionResponse ProtectionsResponse

GetAPIConstraintsProtectionResponse contains the status of various protection flags assigned to a security policy.

type GetActivationHistoryRequest

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

GetActivationHistoryRequest is used to request the activation history for a configuration.

func (GetActivationHistoryRequest) Validate

func (v GetActivationHistoryRequest) Validate() error

Validate validates a GetActivationHistoryRequest.

type GetActivationHistoryResponse

type GetActivationHistoryResponse struct {
	ConfigID          int          `json:"configId"`
	ActivationHistory []Activation `json:"activationHistory,omitempty"`
}

GetActivationHistoryResponse lists the activation history for a configuration.

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 GetAdvancedSettingsEvasivePathMatchRequest

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

GetAdvancedSettingsEvasivePathMatchRequest is used to retrieve the EvasivePathMatch setting

func (GetAdvancedSettingsEvasivePathMatchRequest) Validate

Validate validates GetAdvancedSettingssEvasivePathMatchRequest

type GetAdvancedSettingsEvasivePathMatchResponse

type GetAdvancedSettingsEvasivePathMatchResponse struct {
	EnablePathMatch bool `json:"enablePathMatch"`
}

GetAdvancedSettingsEvasivePathMatchResponse returns the EvasivePathMatch setting

type GetAdvancedSettingsLoggingRequest

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

Validate validates a GetAdvancedSettingsLoggingsRequest.

type GetAdvancedSettingsLoggingResponse

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

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

Validate validates a GetAdvancedSettingsPragmaRequest.

type GetAdvancedSettingsPragmaResponse

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

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

Validate validates a GetAdvancedSettingsPrefetchRequest.

type GetAdvancedSettingsPrefetchResponse

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

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

func (v GetApiEndpointsRequest) Validate() error

Validate validates a GetApiEndpointsRequest.

type GetApiEndpointsResponse

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

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

Validate validates a GetApiHostnameCoverageMatchTargetsRequest.

type GetApiHostnameCoverageMatchTargetsResponse

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

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

Validate validates a GetApiHostnameCoverageOverlappingRequest.

type GetApiHostnameCoverageOverlappingResponse

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

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

GetApiHostnameCoverageRequest is used to call GetApiHostnameCoverage.

type GetApiHostnameCoverageResponse

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

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

Validate validates a GetApiRequestConstraintsRequest.

type GetApiRequestConstraintsResponse

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

GetApiRequestConstraintsResponse is returned from a call to GetApiRequestConstraints.

type GetAttackGroupRecommendationsRequest

type GetAttackGroupRecommendationsRequest struct {
	ConfigID    int
	Version     int
	PolicyID    string
	Group       string
	RulesetType RulesetType
}

GetAttackGroupRecommendationsRequest is used to retrieve tuning recommendations for a specific attack group.

func (GetAttackGroupRecommendationsRequest) Validate

Validate validates a GetAttackGroupRecommendationsRequest.

type GetAttackGroupRecommendationsResponse

type GetAttackGroupRecommendationsResponse AttackGroupRecommendation

GetAttackGroupRecommendationsResponse is returned from a call to GetAttackGroupRecommendations.

type GetAttackGroupRequest

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

func (v GetAttackGroupRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionRequest.

type GetAttackGroupResponse

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

GetAttackGroupResponse is returned from a call to GetAttackGroup.

func (GetAttackGroupResponse) IsEmptyConditionException

func (r GetAttackGroupResponse) IsEmptyConditionException() bool

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

type GetAttackGroupsRequest

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

func (v GetAttackGroupsRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionsRequest.

type GetAttackGroupsResponse

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

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

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

func (GetBypassNetworkListsRequest) Validate

func (v GetBypassNetworkListsRequest) Validate() error

Validate validates a GetBypassNetworkListsRequest.

type GetBypassNetworkListsResponse

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

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

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

func (GetConfigurationRequest) Validate

func (v GetConfigurationRequest) Validate() error

Validate validates a GetConfigurationRequest.

type GetConfigurationResponse

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

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

Validate validates a GetConfigurationCloneRequest.

type GetConfigurationVersionCloneResponse

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

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

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

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

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

func (v GetCustomDenyListRequest) Validate() error

Validate validates a GetCustomDenysRequest.

type GetCustomDenyListResponse

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

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

func (v GetCustomDenyRequest) Validate() error

Validate validates a GetCustomDenyRequest.

type GetCustomDenyResponse

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 CustomRuleResponse

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"`
		EffectiveTimePeriod *CustomRuleEffectivePeriod `json:"effectiveTimePeriod,omitempty"`
		SamplingRate        *int                       `json:"samplingRate,omitempty"`
	} `json:"customRules"`
}

GetCustomRulesResponse is returned from a call to GetCustomRules.

type GetEvalHostRequest

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

GetEvalHostRequest is used to retrieve the evaluation hostnames for a configuration. Deprecated: this struct will be removed in a future release.

func (GetEvalHostRequest) Validate

func (v GetEvalHostRequest) Validate() error

Validate validates a GetEvalHostRequest. Deprecated: this method will be removed in a future release.

type GetEvalHostResponse

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

GetEvalHostResponse is returned from a call to GetEvalHost. Deprecated: this struct will be removed in a future release.

type GetEvalHostsRequest

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

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

func (GetEvalHostsRequest) Validate

func (v GetEvalHostsRequest) Validate() error

Validate validates a GetEvalHostsRequest.

type GetEvalHostsResponse

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

GetEvalHostsResponse is returned from a call to GetEvalHosts.

type GetEvalProtectHostRequest

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

GetEvalProtectHostRequest is used to call GetEvalProtectHost. Deprecated: this struct will be removed in a future release.

func (GetEvalProtectHostRequest) Validate

func (v GetEvalProtectHostRequest) Validate() error

Validate validates a GetEvalProtectHostRequest. Deprecated: this method will be removed in a future release.

type GetEvalProtectHostResponse

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

GetEvalProtectHostResponse is returned from a call to GetEvalProtectHost. Deprecated: this struct will be removed in a future release.

type GetEvalProtectHostsRequest

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

GetEvalProtectHostsRequest is used to call GetEvalProtectHosts.

func (GetEvalProtectHostsRequest) Validate

func (v GetEvalProtectHostsRequest) Validate() error

Validate validates a GetEvalProtectHostsRequest.

type GetEvalProtectHostsResponse

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

GetEvalProtectHostsResponse is returned from a call to GetEvalProtectHosts.

type GetEvalRequest

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

func (v GetEvalRequest) Validate() error

Validate validates a GetEvalRequest.

type GetEvalResponse

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

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

func (v GetEvalRuleRequest) Validate() error

Validate validates a GetEvalRuleRequest.

type GetEvalRuleResponse

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

GetEvalRuleResponse is returned from a call to GetEvalRule.

func (*GetEvalRuleResponse) IsEmptyConditionException

func (r *GetEvalRuleResponse) IsEmptyConditionException() bool

IsEmptyConditionException checks whether the ConditionException field is empty.

type GetEvalRulesRequest

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

func (v GetEvalRulesRequest) Validate() error

Validate validates a GetEvalRulesRequest.

type GetEvalRulesResponse

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

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. Deprecated: this struct will be removed in a future release.

func (GetEvalsRequest) Validate

func (v GetEvalsRequest) Validate() error

Validate validates a GetEvalsRequest. Deprecated: this method will be removed in a future release.

type GetEvalsResponse

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. Deprecated: this struct will be removed in a future release.

type GetExportConfigurationRequest

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

GetExportConfigurationRequest is used to call GetExportConfiguration.

type GetExportConfigurationResponse

type GetExportConfigurationResponse 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"`
		Hosts                 *RatePoliciesHosts           `json:"hosts,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 {
		ID            int      `json:"id"`
		Name          string   `json:"name"`
		Description   string   `json:"description,omitempty"`
		Version       int      `json:"-"`
		RuleActivated bool     `json:"-"`
		Structured    bool     `json:"-"`
		Tag           []string `json:"tag,omitempty"`
		Conditions    []struct {
			Name                  *json.RawMessage `json:"name,omitempty"`
			NameCase              *bool            `json:"nameCase,omitempty"`
			NameWildcard          *bool            `json:"nameWildcard,omitempty"`
			PositiveMatch         bool             `json:"positiveMatch"`
			Type                  string           `json:"type"`
			Value                 *json.RawMessage `json:"value,omitempty"`
			ValueCase             *bool            `json:"valueCase,omitempty"`
			ValueExactMatch       *bool            `json:"valueExactMatch,omitempty"`
			ValueIgnoreSegment    *bool            `json:"valueIgnoreSegment,omitempty"`
			ValueNormalize        *bool            `json:"valueNormalize,omitempty"`
			ValueRecursive        *bool            `json:"valueRecursive,omitempty"`
			ValueWildcard         *bool            `json:"valueWildcard,omitempty"`
			UseXForwardForHeaders *bool            `json:"useXForwardForHeaders,omitempty"`
		} `json:"conditions,omitempty"`

		EffectiveTimePeriod *CustomRuleEffectivePeriod `json:"effectiveTimePeriod,omitempty"`
		SamplingRate        int                        `json:"samplingRate,omitempty"`
		LoggingOptions      *json.RawMessage           `json:"loggingOptions,omitempty"`
		Operation           string                     `json:"operation,omitempty"`
	} `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:"sequence"`
			ID       int    `json:"id,omitempty"`
			TargetID int    `json:"targetId"`
			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"`
			ApplyMalwareControls          bool `json:"applyMalwareControls"`
		} `json:"securityControls"`
		WebApplicationFirewall struct {
			RuleActions []struct {
				Action                 string              `json:"action"`
				ID                     int                 `json:"id"`
				RulesetVersionID       int                 `json:"rulesetVersionId"`
				Conditions             *RuleConditions     `json:"conditions,omitempty"`
				AdvancedExceptionsList *AdvancedExceptions `json:"advancedExceptions,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"`
		MalwarePolicyActions []MalwarePolicyActionBody          `json:"malwarePolicyActions,omitempty"`
		IPGeoFirewall        *IPGeoFirewall                     `json:"ipGeoFirewall,omitempty"`
		PenaltyBox           *SecurityPoliciesPenaltyBox        `json:"penaltyBox,omitempty"`
		EvaluationPenaltyBox *SecurityPoliciesPenaltyBox        `json:"evaluationPenaltyBox,omitempty"`
		SlowPost             *SlowPostexp                       `json:"slowPost,omitempty"`
		LoggingOverrides     *LoggingOverridesexp               `json:"loggingOverrides,omitempty"`
		PragmaHeader         *GetAdvancedSettingsPragmaResponse `json:"pragmaHeader,omitempty"`
		EvasivePathMatch     *EvasivePathMatchexp               `json:"evasivePathMatch,omitempty"`
	} `json:"securityPolicies"`
	Siem            *Siemexp            `json:"siem,omitempty"`
	AdvancedOptions *AdvancedOptionsexp `json:"advancedOptions,omitempty"`
	CustomDenyList  *CustomDenyListexp  `json:"customDenyList,omitempty"`
	Evaluating      struct {
		SecurityPolicies []EvaluatingSecurityPolicy `json:"securityPolicies,omitempty"`
	} `json:"evaluating,omitempty"`
	MalwarePolicies []MalwarePolicyBody `json:"malwarePolicies,omitempty"`
}

GetExportConfigurationResponse is returned from a call to GetExportConfiguration.

type GetExportConfigurationsRequest

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

GetExportConfigurationsRequest is used to call GetExportConfigurations. Deprecated: this struct will be removed in a future release.

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"`
		Hosts                 *RatePoliciesHosts           `json:"hosts,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"`
			ApplyMalwareControls          bool `json:"applyMalwareControls"`
		} `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"`
		EvaluationPenaltyBox *SecurityPoliciesPenaltyBox        `json:"evaluationPenaltyBox,omitempty"`
		SlowPost             *SlowPostexp                       `json:"slowPost,omitempty"`
		LoggingOverrides     *LoggingOverridesexp               `json:"loggingOverrides,omitempty"`
		PragmaHeader         *GetAdvancedSettingsPragmaResponse `json:"pragmaHeader,omitempty"`
		EvasivePathMatch     *EvasivePathMatchexp               `json:"evasivePathMatch,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. Deprecated: this struct will be removed in a future release.

type GetFailoverHostnamesRequest

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

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

type GetFailoverHostnamesResponse

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

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

func (v GetIPGeoProtectionRequest) Validate() error

Validate validates a GetIPGeoProtectionRequest.

type GetIPGeoProtectionResponse

type GetIPGeoProtectionResponse ProtectionsResponse

GetIPGeoProtectionResponse is returned from a call to GetIPGeoProtection.

type GetIPGeoProtectionsRequest

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. Deprecated: this struct will be removed in a future release.

func (GetIPGeoProtectionsRequest) Validate

func (v GetIPGeoProtectionsRequest) Validate() error

Validate validates a GetIPGeoProtectionsRequest.

type GetIPGeoProtectionsResponse

type GetIPGeoProtectionsResponse ProtectionsResponse

GetIPGeoProtectionsResponse is returned from a call to GetIPGeoProtections. Deprecated: this struct will be removed in a future release.

type GetIPGeoRequest

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

func (v GetIPGeoRequest) Validate() error

Validate validates a GetIPGeoRequest.

type GetIPGeoResponse

type GetIPGeoResponse IPGeoFirewall

GetIPGeoResponse is returned from a call to GetIPGeo

type GetMalwareContentTypesRequest

type GetMalwareContentTypesRequest struct {
	ConfigID int
	Version  int
}

GetMalwareContentTypesRequest is used to retrieve the content types for a configuration version.

func (GetMalwareContentTypesRequest) Validate

func (v GetMalwareContentTypesRequest) Validate() error

Validate validates a GetMalwareContentTypesRequest.

type GetMalwareContentTypesResponse

type GetMalwareContentTypesResponse struct {
	ContentTypes []string `json:"malwareContentTypes"`
}

GetMalwareContentTypesResponse is returned from a call to GetMalwareContentTypes.

type GetMalwarePoliciesRequest

type GetMalwarePoliciesRequest struct {
	ConfigID        int
	ConfigVersion   int
	MalwarePolicyID int
}

GetMalwarePoliciesRequest is used to retrieve the malware policies for a configuration.

func (GetMalwarePoliciesRequest) Validate

func (v GetMalwarePoliciesRequest) Validate() error

Validate validates a GetMalwarePolicysRequest.

type GetMalwarePolicyActionsRequest

type GetMalwarePolicyActionsRequest struct {
	ConfigID        int    `json:"configID"`
	Version         int    `json:"version"`
	PolicyID        string `json:"policyID"`
	MalwarePolicyID int    `json:"id"`
}

GetMalwarePolicyActionsRequest is used to retrieve a configuration's malware policies and their associated actions.

func (GetMalwarePolicyActionsRequest) Validate

Validate validates a GetMalwarePolicyActionsRequest.

type GetMalwarePolicyActionsResponse

type GetMalwarePolicyActionsResponse struct {
	MalwarePolicyActions []MalwarePolicyActionBody `json:"malwarePolicyActions"`
}

GetMalwarePolicyActionsResponse is returned from a call to GetMalwarePolicyActions.

type GetMalwarePolicyRequest

type GetMalwarePolicyRequest struct {
	ConfigID        int
	ConfigVersion   int
	MalwarePolicyID int
}

GetMalwarePolicyRequest is used to retrieve an existing malware policy.

func (GetMalwarePolicyRequest) Validate

func (v GetMalwarePolicyRequest) Validate() error

Validate validates a GetMalwarePolicyRequest.

type GetMalwareProtectionRequest

type GetMalwareProtectionRequest struct {
	ConfigID             int    `json:"-"`
	Version              int    `json:"-"`
	PolicyID             string `json:"-"`
	ApplyMalwareControls bool   `json:"applyMalwareControls"`
}

GetMalwareProtectionRequest is used to retrieve the malware protection setting for a policy.

func (GetMalwareProtectionRequest) Validate

func (v GetMalwareProtectionRequest) Validate() error

Validate validates a GetMalwareProtectionRequest.

type GetMalwareProtectionResponse

type GetMalwareProtectionResponse ProtectionsResponse

GetMalwareProtectionResponse is returned from a call to GetMalwareProtection.

type GetMalwareProtectionsRequest

type GetMalwareProtectionsRequest struct {
	ConfigID             int    `json:"-"`
	Version              int    `json:"-"`
	PolicyID             string `json:"-"`
	ApplyMalwareControls bool   `json:"applyMalwareControls"`
}

GetMalwareProtectionsRequest is used to retrieve the malware protecton setting for a policy.

func (GetMalwareProtectionsRequest) Validate

func (v GetMalwareProtectionsRequest) Validate() error

Validate validates a GetMalwareProtectionsRequest.

type GetMalwareProtectionsResponse

type GetMalwareProtectionsResponse ProtectionsResponse

GetMalwareProtectionsResponse is returned from a call to GetMalwareProtections.

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

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

Validate validates a GetNetworkLayerProtectionRequest.

type GetNetworkLayerProtectionResponse

type GetNetworkLayerProtectionResponse ProtectionsResponse

GetNetworkLayerProtectionResponse is returned from a call to GetNetworkLayerProtection.

type GetNetworkLayerProtectionsRequest

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. Deprecated: this struct will be removed in a future release.

func (GetNetworkLayerProtectionsRequest) Validate

Validate validates a GetNetworkLayerProtectionsRequest.

type GetNetworkLayerProtectionsResponse

type GetNetworkLayerProtectionsResponse ProtectionsResponse

GetNetworkLayerProtectionsResponse is returned from a call to GetNetworkLayerProtection. Deprecated: this struct will be removed in a future release.

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. Deprecated: this struct will be removed in a future release.

func (GetPenaltyBoxesRequest) Validate

func (v GetPenaltyBoxesRequest) Validate() error

Validate validates a GetPenaltyBoxesRequest. Deprecated: this method will be removed in a future release.

type GetPenaltyBoxesResponse

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

GetPenaltyBoxesResponse is returned from a call to GetPenaltyBoxes. Deprecated: this struct will be removed in a future release.

type GetPolicyProtectionsRequest

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

GetPolicyProtectionsRequest is used to retrieve the policy protection setting.

func (GetPolicyProtectionsRequest) Validate

func (v GetPolicyProtectionsRequest) Validate() error

Validate validates a GetPolicyProtectionsRequest.

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"`
		Hosts                  *RatePoliciesHosts         `json:"hosts,omitempty"`
		Hostnames              []string                   `json:"hostnames,omitempty"`
		AdditionalMatchOptions []RatePolicyMatchOption    `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. Deprecated: this struct will be removed in a future release.

func (GetRatePolicyActionRequest) Validate

func (v GetRatePolicyActionRequest) Validate() error

Validate validates a GetRatePolicyActionRequest. Deprecated: this method will be removed in a future release.

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. Deprecated: this struct will be removed in a future release.

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:"-"`
	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"`
	Hosts                  *RatePoliciesHosts         `json:"hosts,omitempty"`
	Hostnames              []string                   `json:"hostnames,omitempty"`
	AdditionalMatchOptions []RatePolicyMatchOption    `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

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

func (v GetRateProtectionRequest) Validate() error

Validate validates a GetRateProtectionRequest.

type GetRateProtectionResponse

type GetRateProtectionResponse ProtectionsResponse

GetRateProtectionResponse is returned from a call to GetRateProtection.

type GetRateProtectionsRequest

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. Deprecated: this struct will be removed in a future release.

func (GetRateProtectionsRequest) Validate

func (v GetRateProtectionsRequest) Validate() error

Validate validates a GetRateProtectionsRequest.

type GetRateProtectionsResponse

type GetRateProtectionsResponse ProtectionsResponse

GetRateProtectionsResponse is returned from a call to GetRateProtection. Deprecated: this struct will be removed in a future release.

type GetReputationAnalysisRequest

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

func (v GetReputationAnalysisRequest) Validate() error

Validate validates a GetReputationAnalysisRequest.

type GetReputationAnalysisResponse

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

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

Validate validates a GetReputationProfileActionRequest.

type GetReputationProfileActionResponse

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

GetReputationProfileActionResponse is returned from a call to GetReputationProfileAction.

type GetReputationProfileActionsRequest

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

Validate validates a GetReputationProfileActionsRequest.

type GetReputationProfileActionsResponse

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

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

func (v GetReputationProfileRequest) Validate() error

Validate validates a GetReputationProfileRequest.

type GetReputationProfileResponse

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

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

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

func (v GetReputationProfilesRequest) Validate() error

Validate validates a GetReputationProfilesRequest.

type GetReputationProfilesResponse

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

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

Validate validates a GetReputationProtectionRequest.

type GetReputationProtectionResponse

type GetReputationProtectionResponse ProtectionsResponse

GetReputationProtectionResponse is returned from a call to GetReputationProtection.

type GetReputationProtectionsRequest

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. Deprecated: this struct will be removed in a future release.

func (GetReputationProtectionsRequest) Validate

Validate validates a GetReputationProtectionsRequest.

type GetReputationProtectionsResponse

type GetReputationProtectionsResponse ProtectionsResponse

GetReputationProtectionsResponse is returned from a call to GetReputationProtection. Deprecated: this struct will be removed in a future release.

type GetRuleRecommendationsRequest

type GetRuleRecommendationsRequest struct {
	ConfigID    int
	Version     int
	PolicyID    string
	RuleID      int
	RulesetType RulesetType
}

GetRuleRecommendationsRequest is used to retrieve tuning recommendations for a specific rule.

func (GetRuleRecommendationsRequest) Validate

func (v GetRuleRecommendationsRequest) Validate() error

Validate validates a GetAttackGroupRecommendationsRequest.

type GetRuleRecommendationsResponse

type GetRuleRecommendationsResponse RuleRecommendation

GetRuleRecommendationsResponse is returned from a call to GetRuleRecommendations.

type GetRuleRequest

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

func (v GetRuleRequest) Validate() error

Validate validates a GetRuleRequest.

type GetRuleResponse

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

GetRuleResponse is returned from a call to GetRule.

func (*GetRuleResponse) IsEmptyConditionException

func (r *GetRuleResponse) IsEmptyConditionException() bool

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

type GetRuleUpgradeRequest

type GetRuleUpgradeRequest struct {
	ConfigID int
	Version  int
	PolicyID string
}

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

func (GetRuleUpgradeRequest) Validate

func (v GetRuleUpgradeRequest) Validate() error

Validate validates a GetRuleUpgradeRequest.

type GetRuleUpgradeResponse

type GetRuleUpgradeResponse struct {
	Current            string             `json:"current,omitempty"`
	Evaluating         string             `json:"evaluating,omitempty"`
	Latest             string             `json:"latest,omitempty"`
	KRSToEvalUpdates   *RulesetUpdateData `json:"KRSToEvalUpdates,omitempty"`
	EvalToEvalUpdates  *RulesetUpdateData `json:"EvalToEvalUpdates,omitempty"`
	KRSToLatestUpdates *RulesetUpdateData `json:"KRSToLatestUpdates,omitempty"`
}

GetRuleUpgradeResponse is returned from a call to GetRuleUpgrade.

type GetRulesRequest

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

func (v GetRulesRequest) Validate() error

Validate validates a GetRulesRequest.

type GetRulesResponse

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

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  *SecurityControls `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

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

func (v GetSecurityPolicyRequest) Validate() error

Validate validates a GetSecurityPolicyRequest.

type GetSecurityPolicyResponse

type GetSecurityPolicyResponse struct {
	ConfigID               int               `json:"configId,omitempty"`
	PolicyID               string            `json:"policyId,omitempty"`
	PolicyName             string            `json:"policyName,omitempty"`
	DefaultSettings        bool              `json:"defaultSettings,omitempty"`
	PolicySecurityControls *SecurityControls `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. Deprecated: this struct will be removed in a future release.

func (GetSelectedHostnameRequest) Validate

func (v GetSelectedHostnameRequest) Validate() error

Validate validates a GetSelectedHostnameRequest. Deprecated: this method will be removed in a future release.

type GetSelectedHostnameResponse

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

GetSelectedHostnameResponse is returned from a call to GetSelectedHostname. Deprecated: this struct will be removed in a future release.

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

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

GetSiemDefinitionsRequest is used to retrieve the available SIEM versions.

type GetSiemDefinitionsResponse

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

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

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

type GetSiemSettingResponse

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

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

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

func (GetSiemSettingsRequest) Validate

func (v GetSiemSettingsRequest) Validate() error

Validate validates a GetSiemSettingsRequest.

type GetSiemSettingsResponse

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

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

func (v GetSlowPostProtectionRequest) Validate() error

Validate validates a GetSlowPostProtectionRequest.

type GetSlowPostProtectionResponse

type GetSlowPostProtectionResponse ProtectionsResponse

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. Deprecated: this struct will be removed in a future release.

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. Deprecated: this struct will be removed in a future release.

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. Deprecated: this method will be removed in a future release.

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

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. Deprecated: this struct will be removed in a future release.

func (GetSlowPostProtectionsRequest) Validate

func (v GetSlowPostProtectionsRequest) Validate() error

Validate validates a GetSlowPostProtectionsRequest.

type GetSlowPostProtectionsResponse

type GetSlowPostProtectionsResponse ProtectionsResponse

GetSlowPostProtectionsResponse is returned from a call to GetSlowPostProtections. Deprecated: this struct will be removed in a future release.

type GetThreatIntelRequest

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

GetThreatIntelRequest is used to retrieve the threat intel settings.

func (GetThreatIntelRequest) Validate

func (v GetThreatIntelRequest) Validate() error

Validate validates a GetAttackGroupConditionExceptionRequest.

type GetThreatIntelResponse

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

GetThreatIntelResponse is returned from a call to GetThreatIntel.

type GetTuningRecommendationsRequest

type GetTuningRecommendationsRequest struct {
	ConfigID    int
	Version     int
	PolicyID    string
	RulesetType RulesetType
}

GetTuningRecommendationsRequest is used to retrieve tuning recommendations for a security policy.

func (GetTuningRecommendationsRequest) Validate

Validate validates a GetTuningRecommendationsRequest.

type GetTuningRecommendationsResponse

type GetTuningRecommendationsResponse struct {
	AttackGroupRecommendations []AttackGroupRecommendation `json:"attackGroupRecommendations,omitempty"`
	RuleRecommendations        []RuleRecommendation        `json:"ruleRecommendations,omitempty"`
	EvaluationPeriodStart      time.Time                   `json:"evaluationPeriodStart,omitempty"`
	EvaluationPeriodEnd        time.Time                   `json:"evaluationPeriodEnd,omitempty"`
}

GetTuningRecommendationsResponse is returned from a call to GetTuningRecommendations.

type GetVersionNotesRequest

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

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

func (GetVersionNotesRequest) Validate

func (v GetVersionNotesRequest) Validate() error

Validate validates a GetVersionNotesRequest.

type GetVersionNotesResponse

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. Deprecated: this struct will be removed in a future release.

func (GetWAFModesRequest) Validate

func (v GetWAFModesRequest) Validate() error

Validate validates a GetWAFModesRequest. Deprecated: this method will be removed in a future release.

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. Deprecated: this struct will be removed in a future release.

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 ProtectionsResponse

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. Deprecated: this struct will be removed in a future release.

func (GetWAFProtectionsRequest) Validate

func (v GetWAFProtectionsRequest) Validate() error

Validate validates a GetWAFProtectionsRequest.

type GetWAFProtectionsResponse

type GetWAFProtectionsResponse ProtectionsResponse

GetWAFProtectionsResponse is returned from a call to GetWAFProtections. Deprecated: this struct will be removed in a future release.

type GetWAPBypassNetworkListsRequest

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

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

func (GetWAPBypassNetworkListsRequest) Validate

Validate validates a GetWAPBypassNetworkListsRequest.

type GetWAPBypassNetworkListsResponse

type GetWAPBypassNetworkListsResponse struct {
	NetworkLists []NetworkListsStruct `json:"networkLists"`
}

GetWAPBypassNetworkListsResponse is returned from a call to GetWAPBypassNetworkLists.

type GetWAPSelectedHostnamesRequest

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

Validate validates a GetWAPSelectedHostnamesRequest.

type GetWAPSelectedHostnamesResponse

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

GetWAPSelectedHostnamesResponse is returned from a call to GetWAPSelectedHostnames.

type GroupData

type GroupData []struct {
	Group     int    `json:"group,omitempty"`
	GroupName string `json:"groupName,omitempty"`
}

GroupData contains updates to attack groups

type HeaderCookieOrParamValuesattackgroup

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 GetExportConfigurationResponse.

type Hostname

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

Hostname describes a hostname that may be protected.

type HostnameCoverageMatchTargetBypassNetworkLists

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

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 IPControlsLists

type IPControlsLists struct {
	AllowedIPNetworkLists IPNetworkListsList `json:"allowedIPNetworkLists"`
	BlockedIPNetworkLists IPNetworkListsList `json:"blockedIPNetworkLists"`
}

IPControlsLists is used to define lists of allowed and blocked IP network lists.

type IPGeo

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 IPGeoFirewall

type IPGeoFirewall struct {
	Block       string            `json:"block"`
	GeoControls *IPGeoGeoControls `json:"geoControls,omitempty"`
	IPControls  *IPGeoIPControls  `json:"ipControls,omitempty"`
}

IPGeoFirewall is used to describe an IP/Geo firewall.

type IPGeoGeoControls

type IPGeoGeoControls struct {
	BlockedIPNetworkLists *IPGeoNetworkLists `json:"blockedIPNetworkLists,omitempty"`
}

IPGeoGeoControls is used to specify GEO network lists to be blocked.

type IPGeoIPControls

type IPGeoIPControls struct {
	AllowedIPNetworkLists *IPGeoNetworkLists `json:"allowedIPNetworkLists,omitempty"`
	BlockedIPNetworkLists *IPGeoNetworkLists `json:"blockedIPNetworkLists,omitempty"`
}

IPGeoIPControls is used to specify IP or GEO network lists to be blocked or allowed.

type IPGeoNetworkLists

type IPGeoNetworkLists struct {
	NetworkList []string `json:"networkList,omitempty"`
}

IPGeoNetworkLists is used to specify IP or GEO network lists to be blocked or allowed.

type IPGeoProtection

type IPGeoProtection interface {
	// GetIPGeoProtections retrieves the current IPGeo protection protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetIPGeoProtection instead.
	GetIPGeoProtections(ctx context.Context, params GetIPGeoProtectionsRequest) (*GetIPGeoProtectionsResponse, error)

	// GetIPGeoProtection retrieves the current IPGeo protection protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetIPGeoProtection(ctx context.Context, params GetIPGeoProtectionRequest) (*GetIPGeoProtectionResponse, error)

	// SetIPGeoProtection updates the IPGeo protection protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateIPGeoProtection(ctx context.Context, params UpdateIPGeoProtectionRequest) (*UpdateIPGeoProtectionResponse, error)
}

The IPGeoProtection interface supports retrieving and updating IPGeo protection for a configuration and policy.

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

type IPNetworkListsList

type IPNetworkListsList struct {
	NetworkList []string `json:"networkList"`
}

IPNetworkListsList is used to define a list of IP network lists.

type LoggingOverridesexp

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 GetExportConfigurationResponse.

type Loggingexp

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 GetExportConfigurationResponse.

type MalwareContentTypes

type MalwareContentTypes interface {
	// GetMalwareContentTypes retrieves the available content types for malware protection.
	//
	// See: https://techdocs.akamai.com/application-security/reference/get-malware-policy-content-types
	GetMalwareContentTypes(ctx context.Context, params GetMalwareContentTypesRequest) (*GetMalwareContentTypesResponse, error)
}

The MalwareContentTypes interface supports retrieving the malware protection content types for a configuration and version.

type MalwarePoliciesResponse

type MalwarePoliciesResponse struct {
	MalwarePolicies []MalwarePolicyResponse
}

MalwarePoliciesResponse is returned from a call to GetMalwarePolicies.

type MalwarePolicy

type MalwarePolicy interface {
	// CreateMalwarePolicy creates a new malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/post-malware-policies
	CreateMalwarePolicy(ctx context.Context, params CreateMalwarePolicyRequest) (*MalwarePolicyResponse, error)

	// GetMalwarePolicy retrieves an existing malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/get-malware-policy
	GetMalwarePolicy(ctx context.Context, params GetMalwarePolicyRequest) (*MalwarePolicyResponse, error)

	// GetMalwarePolicies retrieves the existing malware protection policies for a configuration.
	//
	// See: https://techdocs.akamai.com/application-security/reference/get-malware-policies
	GetMalwarePolicies(ctx context.Context, params GetMalwarePoliciesRequest) (*MalwarePoliciesResponse, error)

	// UpdateMalwarePolicy modifies an existing malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/put-malware-policy
	UpdateMalwarePolicy(ctx context.Context, params UpdateMalwarePolicyRequest) (*MalwarePolicyResponse, error)

	// RemoveMalwarePolicy removes a malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/delete-malware-policy
	RemoveMalwarePolicy(ctx context.Context, params RemoveMalwarePolicyRequest) error
}

The MalwarePolicy interface supports creating, retrieving, updating and removing malware protection policies.

type MalwarePolicyAction

type MalwarePolicyAction interface {
	// GetMalwarePolicyActions retrieves the actions for a specific malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/get-malware-policies-actions
	GetMalwarePolicyActions(ctx context.Context, params GetMalwarePolicyActionsRequest) (*GetMalwarePolicyActionsResponse, error)

	// UpdateMalwarePolicyAction modifies the actions for a specific malware protection policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/put-malware-policy-action
	UpdateMalwarePolicyAction(ctx context.Context, params UpdateMalwarePolicyActionRequest) (*UpdateMalwarePolicyActionResponse, error)

	// UpdateMalwarePolicyActions is for Akamai internal use only.
	UpdateMalwarePolicyActions(ctx context.Context, params UpdateMalwarePolicyActionsRequest) (*UpdateMalwarePolicyActionsResponse, error)
}

The MalwarePolicyAction interface supports retrieving and modifying the action associated with a specified malware policy, or with all malware policies in a security policy.

type MalwarePolicyActionBody

type MalwarePolicyActionBody struct {
	MalwarePolicyID int    `json:"id"`
	Action          string `json:"action"`
	UnscannedAction string `json:"unscannedAction"`
}

MalwarePolicyActionBody defines the actions for a specific malware policy.

type MalwarePolicyBody

type MalwarePolicyBody struct {
	MalwarePolicyID int      `json:"id"`
	Name            string   `json:"name"`
	Description     string   `json:"description,omitempty"`
	Hostnames       []string `json:"hostnames"`
	Paths           []string `json:"paths"`
	ContentTypes    []string `json:"contentTypes"`
}

MalwarePolicyBody describes a malware policy.

type MalwarePolicyResponse

type MalwarePolicyResponse struct {
	MalwarePolicyID int      `json:"id"`
	Name            string   `json:"name"`
	Description     string   `json:"description,omitempty"`
	Hostnames       []string `json:"hostnames"`
	Paths           []string `json:"paths"`
	ContentTypes    []string `json:"contentTypes"`
}

MalwarePolicyResponse is returned from a call to CreateMalwarePolicy

type MalwareProtection

type MalwareProtection interface {
	// GetMalwareProtection retrieves the current malware protection setting for a configuration and policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/get-policy-malware
	GetMalwareProtection(ctx context.Context, params GetMalwareProtectionRequest) (*GetMalwareProtectionResponse, error)

	// UpdateMalwareProtection updates the malware protection setting for a configuration and policy.
	//
	// See: https://techdocs.akamai.com/application-security/reference/put-policy-malware
	UpdateMalwareProtection(ctx context.Context, params UpdateMalwareProtectionRequest) (*UpdateMalwareProtectionResponse, error)
}

The MalwareProtection interface supports retrieving and updating malware protection for a configuration and policy.

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

type MatchTargetItem

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

MatchTargetItem describes a match target and its sequence number.

type Mock

type Mock struct {
	mock.Mock
}

func (*Mock) CreateActivations

func (m *Mock) CreateActivations(ctx context.Context, req CreateActivationsRequest, _ bool) (*CreateActivationsResponse, error)

func (*Mock) CreateConfiguration

func (m *Mock) CreateConfiguration(ctx context.Context, req CreateConfigurationRequest) (*CreateConfigurationResponse, error)

func (*Mock) CreateCustomDeny

func (m *Mock) CreateCustomDeny(ctx context.Context, req CreateCustomDenyRequest) (*CreateCustomDenyResponse, error)

func (*Mock) CreateCustomRule

func (m *Mock) CreateCustomRule(ctx context.Context, req CreateCustomRuleRequest) (*CreateCustomRuleResponse, error)

func (*Mock) CreateMalwarePolicy

func (m *Mock) CreateMalwarePolicy(ctx context.Context, params CreateMalwarePolicyRequest) (*MalwarePolicyResponse, error)

func (*Mock) CreateMatchTarget

func (m *Mock) CreateMatchTarget(ctx context.Context, req CreateMatchTargetRequest) (*CreateMatchTargetResponse, error)

func (*Mock) CreateRatePolicy

func (m *Mock) CreateRatePolicy(ctx context.Context, req CreateRatePolicyRequest) (*CreateRatePolicyResponse, error)

func (*Mock) CreateSecurityPolicy

func (m *Mock) CreateSecurityPolicy(ctx context.Context, req CreateSecurityPolicyRequest) (*CreateSecurityPolicyResponse, error)

func (*Mock) GetActivationHistory

func (m *Mock) GetActivationHistory(ctx context.Context, req GetActivationHistoryRequest) (*GetActivationHistoryResponse, error)

func (*Mock) GetActivations

func (m *Mock) GetActivations(ctx context.Context, req GetActivationsRequest) (*GetActivationsResponse, error)

func (*Mock) GetApiEndpoints

func (m *Mock) GetApiEndpoints(ctx context.Context, req GetApiEndpointsRequest) (*GetApiEndpointsResponse, error)

func (*Mock) GetAttackGroup

func (m *Mock) GetAttackGroup(ctx context.Context, req GetAttackGroupRequest) (*GetAttackGroupResponse, error)

func (*Mock) GetAttackGroups

func (m *Mock) GetAttackGroups(ctx context.Context, req GetAttackGroupsRequest) (*GetAttackGroupsResponse, error)

func (*Mock) GetConfiguration

func (m *Mock) GetConfiguration(ctx context.Context, req GetConfigurationRequest) (*GetConfigurationResponse, error)

func (*Mock) GetConfigurations

func (m *Mock) GetConfigurations(ctx context.Context, req GetConfigurationsRequest) (*GetConfigurationsResponse, error)

func (*Mock) GetContractsGroups

func (m *Mock) GetContractsGroups(ctx context.Context, req GetContractsGroupsRequest) (*GetContractsGroupsResponse, error)

func (*Mock) GetCustomDeny

func (m *Mock) GetCustomDeny(ctx context.Context, req GetCustomDenyRequest) (*GetCustomDenyResponse, error)

func (*Mock) GetCustomDenyList

func (m *Mock) GetCustomDenyList(ctx context.Context, req GetCustomDenyListRequest) (*GetCustomDenyListResponse, error)

func (*Mock) GetCustomRule

func (m *Mock) GetCustomRule(ctx context.Context, req GetCustomRuleRequest) (*GetCustomRuleResponse, error)

func (*Mock) GetCustomRuleAction

func (m *Mock) GetCustomRuleAction(ctx context.Context, req GetCustomRuleActionRequest) (*GetCustomRuleActionResponse, error)

func (*Mock) GetCustomRuleActions

func (m *Mock) GetCustomRuleActions(ctx context.Context, req GetCustomRuleActionsRequest) (*GetCustomRuleActionsResponse, error)

func (*Mock) GetCustomRules

func (m *Mock) GetCustomRules(ctx context.Context, req GetCustomRulesRequest) (*GetCustomRulesResponse, error)

func (*Mock) GetEval

func (m *Mock) GetEval(ctx context.Context, req GetEvalRequest) (*GetEvalResponse, error)

func (*Mock) GetEvalGroup

func (m *Mock) GetEvalGroup(ctx context.Context, req GetAttackGroupRequest) (*GetAttackGroupResponse, error)

func (*Mock) GetEvalGroups

func (*Mock) GetEvalHost

func (m *Mock) GetEvalHost(ctx context.Context, req GetEvalHostRequest) (*GetEvalHostResponse, error)

func (*Mock) GetEvalHosts

func (m *Mock) GetEvalHosts(ctx context.Context, req GetEvalHostsRequest) (*GetEvalHostsResponse, error)

func (*Mock) GetEvalPenaltyBox

func (m *Mock) GetEvalPenaltyBox(ctx context.Context, params GetPenaltyBoxRequest) (*GetPenaltyBoxResponse, error)

func (*Mock) GetEvalProtectHost

func (m *Mock) GetEvalProtectHost(ctx context.Context, req GetEvalProtectHostRequest) (*GetEvalProtectHostResponse, error)

func (*Mock) GetEvalProtectHosts

func (m *Mock) GetEvalProtectHosts(ctx context.Context, req GetEvalProtectHostsRequest) (*GetEvalProtectHostsResponse, error)

func (*Mock) GetEvalRule

func (m *Mock) GetEvalRule(ctx context.Context, req GetEvalRuleRequest) (*GetEvalRuleResponse, error)

func (*Mock) GetEvalRules

func (m *Mock) GetEvalRules(ctx context.Context, req GetEvalRulesRequest) (*GetEvalRulesResponse, error)

func (*Mock) GetEvals

func (m *Mock) GetEvals(ctx context.Context, req GetEvalsRequest) (*GetEvalsResponse, error)

func (*Mock) GetFailoverHostnames

func (m *Mock) GetFailoverHostnames(ctx context.Context, req GetFailoverHostnamesRequest) (*GetFailoverHostnamesResponse, error)

func (*Mock) GetIPGeo

func (m *Mock) GetIPGeo(ctx context.Context, req GetIPGeoRequest) (*GetIPGeoResponse, error)

func (*Mock) GetIPGeoProtection

func (m *Mock) GetIPGeoProtection(ctx context.Context, req GetIPGeoProtectionRequest) (*GetIPGeoProtectionResponse, error)

func (*Mock) GetIPGeoProtections

func (m *Mock) GetIPGeoProtections(ctx context.Context, req GetIPGeoProtectionsRequest) (*GetIPGeoProtectionsResponse, error)

func (*Mock) GetMalwareContentTypes

func (m *Mock) GetMalwareContentTypes(ctx context.Context, params GetMalwareContentTypesRequest) (*GetMalwareContentTypesResponse, error)

func (*Mock) GetMalwarePolicies

func (m *Mock) GetMalwarePolicies(ctx context.Context, params GetMalwarePoliciesRequest) (*MalwarePoliciesResponse, error)

func (*Mock) GetMalwarePolicy

func (m *Mock) GetMalwarePolicy(ctx context.Context, params GetMalwarePolicyRequest) (*MalwarePolicyResponse, error)

func (*Mock) GetMalwarePolicyActions

func (m *Mock) GetMalwarePolicyActions(ctx context.Context, params GetMalwarePolicyActionsRequest) (*GetMalwarePolicyActionsResponse, error)

func (*Mock) GetMalwareProtection

func (m *Mock) GetMalwareProtection(ctx context.Context, params GetMalwareProtectionRequest) (*GetMalwareProtectionResponse, error)

func (*Mock) GetMalwareProtections

func (m *Mock) GetMalwareProtections(ctx context.Context, params GetMalwareProtectionsRequest) (*GetMalwareProtectionsResponse, error)

func (*Mock) GetMatchTarget

func (m *Mock) GetMatchTarget(ctx context.Context, req GetMatchTargetRequest) (*GetMatchTargetResponse, error)

func (*Mock) GetMatchTargets

func (m *Mock) GetMatchTargets(ctx context.Context, req GetMatchTargetsRequest) (*GetMatchTargetsResponse, error)

func (*Mock) GetPenaltyBox

func (m *Mock) GetPenaltyBox(ctx context.Context, req GetPenaltyBoxRequest) (*GetPenaltyBoxResponse, error)

func (*Mock) GetPenaltyBoxes

func (m *Mock) GetPenaltyBoxes(ctx context.Context, req GetPenaltyBoxesRequest) (*GetPenaltyBoxesResponse, error)

func (*Mock) GetPolicyProtections

func (m *Mock) GetPolicyProtections(ctx context.Context, req GetPolicyProtectionsRequest) (*PolicyProtectionsResponse, error)

func (*Mock) GetRatePolicies

func (m *Mock) GetRatePolicies(ctx context.Context, req GetRatePoliciesRequest) (*GetRatePoliciesResponse, error)

func (*Mock) GetRatePolicy

func (m *Mock) GetRatePolicy(ctx context.Context, req GetRatePolicyRequest) (*GetRatePolicyResponse, error)

func (*Mock) GetRatePolicyAction

func (m *Mock) GetRatePolicyAction(ctx context.Context, req GetRatePolicyActionRequest) (*GetRatePolicyActionResponse, error)

func (*Mock) GetRatePolicyActions

func (m *Mock) GetRatePolicyActions(ctx context.Context, req GetRatePolicyActionsRequest) (*GetRatePolicyActionsResponse, error)

func (*Mock) GetRateProtection

func (m *Mock) GetRateProtection(ctx context.Context, req GetRateProtectionRequest) (*GetRateProtectionResponse, error)

func (*Mock) GetRateProtections

func (m *Mock) GetRateProtections(ctx context.Context, req GetRateProtectionsRequest) (*GetRateProtectionsResponse, error)

func (*Mock) GetReputationProfile

func (m *Mock) GetReputationProfile(ctx context.Context, req GetReputationProfileRequest) (*GetReputationProfileResponse, error)

func (*Mock) GetRule

func (m *Mock) GetRule(ctx context.Context, req GetRuleRequest) (*GetRuleResponse, error)

func (*Mock) GetRuleRecommendations

func (m *Mock) GetRuleRecommendations(ctx context.Context, params GetRuleRecommendationsRequest) (*GetRuleRecommendationsResponse, error)

func (*Mock) GetRuleUpgrade

func (m *Mock) GetRuleUpgrade(ctx context.Context, req GetRuleUpgradeRequest) (*GetRuleUpgradeResponse, error)

func (*Mock) GetRules

func (m *Mock) GetRules(ctx context.Context, req GetRulesRequest) (*GetRulesResponse, error)

func (*Mock) GetSecurityPolicies

func (m *Mock) GetSecurityPolicies(ctx context.Context, req GetSecurityPoliciesRequest) (*GetSecurityPoliciesResponse, error)

func (*Mock) GetSecurityPolicy

func (m *Mock) GetSecurityPolicy(ctx context.Context, req GetSecurityPolicyRequest) (*GetSecurityPolicyResponse, error)

func (*Mock) GetSelectedHostname

func (m *Mock) GetSelectedHostname(ctx context.Context, req GetSelectedHostnameRequest) (*GetSelectedHostnameResponse, error)

func (*Mock) GetSelectedHostnames

func (m *Mock) GetSelectedHostnames(ctx context.Context, req GetSelectedHostnamesRequest) (*GetSelectedHostnamesResponse, error)

func (*Mock) GetSiemDefinitions

func (m *Mock) GetSiemDefinitions(ctx context.Context, req GetSiemDefinitionsRequest) (*GetSiemDefinitionsResponse, error)

func (*Mock) GetSiemSettings

func (m *Mock) GetSiemSettings(ctx context.Context, req GetSiemSettingsRequest) (*GetSiemSettingsResponse, error)

func (*Mock) GetThreatIntel

func (m *Mock) GetThreatIntel(ctx context.Context, req GetThreatIntelRequest) (*GetThreatIntelResponse, error)

func (*Mock) GetVersionNotes

func (m *Mock) GetVersionNotes(ctx context.Context, req GetVersionNotesRequest) (*GetVersionNotesResponse, error)

func (*Mock) GetWAFMode

func (m *Mock) GetWAFMode(ctx context.Context, req GetWAFModeRequest) (*GetWAFModeResponse, error)

func (*Mock) GetWAFModes

func (m *Mock) GetWAFModes(ctx context.Context, req GetWAFModesRequest) (*GetWAFModesResponse, error)

func (*Mock) GetWAFProtection

func (m *Mock) GetWAFProtection(ctx context.Context, req GetWAFProtectionRequest) (*GetWAFProtectionResponse, error)

func (*Mock) GetWAFProtections

func (m *Mock) GetWAFProtections(ctx context.Context, req GetWAFProtectionsRequest) (*GetWAFProtectionsResponse, error)

func (*Mock) RemoveActivations

func (m *Mock) RemoveActivations(ctx context.Context, req RemoveActivationsRequest) (*RemoveActivationsResponse, error)

func (*Mock) RemoveConfiguration

func (m *Mock) RemoveConfiguration(ctx context.Context, req RemoveConfigurationRequest) (*RemoveConfigurationResponse, error)

func (*Mock) RemoveCustomDeny

func (m *Mock) RemoveCustomDeny(ctx context.Context, req RemoveCustomDenyRequest) (*RemoveCustomDenyResponse, error)

func (*Mock) RemoveCustomRule

func (m *Mock) RemoveCustomRule(ctx context.Context, req RemoveCustomRuleRequest) (*RemoveCustomRuleResponse, error)

func (*Mock) RemoveEval

func (m *Mock) RemoveEval(ctx context.Context, req RemoveEvalRequest) (*RemoveEvalResponse, error)

func (*Mock) RemoveEvalHost

func (m *Mock) RemoveEvalHost(ctx context.Context, req RemoveEvalHostRequest) (*RemoveEvalHostResponse, error)

func (*Mock) RemoveMalwarePolicy

func (m *Mock) RemoveMalwarePolicy(ctx context.Context, params RemoveMalwarePolicyRequest) error

func (*Mock) RemoveMatchTarget

func (m *Mock) RemoveMatchTarget(ctx context.Context, req RemoveMatchTargetRequest) (*RemoveMatchTargetResponse, error)

func (*Mock) RemovePolicyProtections

func (m *Mock) RemovePolicyProtections(ctx context.Context, req UpdatePolicyProtectionsRequest) (*PolicyProtectionsResponse, error)

func (*Mock) RemoveRatePolicy

func (m *Mock) RemoveRatePolicy(ctx context.Context, req RemoveRatePolicyRequest) (*RemoveRatePolicyResponse, error)

func (*Mock) RemoveSecurityPolicy

func (m *Mock) RemoveSecurityPolicy(ctx context.Context, req RemoveSecurityPolicyRequest) (*RemoveSecurityPolicyResponse, error)

func (*Mock) RemoveSiemSettings

func (m *Mock) RemoveSiemSettings(ctx context.Context, req RemoveSiemSettingsRequest) (*RemoveSiemSettingsResponse, error)

func (*Mock) UpdateAttackGroup

func (m *Mock) UpdateAttackGroup(ctx context.Context, req UpdateAttackGroupRequest) (*UpdateAttackGroupResponse, error)

func (*Mock) UpdateConfiguration

func (m *Mock) UpdateConfiguration(ctx context.Context, req UpdateConfigurationRequest) (*UpdateConfigurationResponse, error)

func (*Mock) UpdateCustomDeny

func (m *Mock) UpdateCustomDeny(ctx context.Context, req UpdateCustomDenyRequest) (*UpdateCustomDenyResponse, error)

func (*Mock) UpdateCustomRule

func (m *Mock) UpdateCustomRule(ctx context.Context, req UpdateCustomRuleRequest) (*UpdateCustomRuleResponse, error)

func (*Mock) UpdateEval

func (m *Mock) UpdateEval(ctx context.Context, req UpdateEvalRequest) (*UpdateEvalResponse, error)

func (*Mock) UpdateEvalGroup

func (*Mock) UpdateEvalHost

func (m *Mock) UpdateEvalHost(ctx context.Context, req UpdateEvalHostRequest) (*UpdateEvalHostResponse, error)

func (*Mock) UpdateEvalPenaltyBox

func (m *Mock) UpdateEvalPenaltyBox(ctx context.Context, params UpdatePenaltyBoxRequest) (*UpdatePenaltyBoxResponse, error)

func (*Mock) UpdateEvalRule

func (m *Mock) UpdateEvalRule(ctx context.Context, req UpdateEvalRuleRequest) (*UpdateEvalRuleResponse, error)

func (*Mock) UpdateIPGeo

func (m *Mock) UpdateIPGeo(ctx context.Context, req UpdateIPGeoRequest) (*UpdateIPGeoResponse, error)

func (*Mock) UpdateMalwarePolicy

func (m *Mock) UpdateMalwarePolicy(ctx context.Context, params UpdateMalwarePolicyRequest) (*MalwarePolicyResponse, error)

func (*Mock) UpdateMalwareProtection

func (m *Mock) UpdateMalwareProtection(ctx context.Context, params UpdateMalwareProtectionRequest) (*UpdateMalwareProtectionResponse, error)

func (*Mock) UpdateMatchTarget

func (m *Mock) UpdateMatchTarget(ctx context.Context, req UpdateMatchTargetRequest) (*UpdateMatchTargetResponse, error)

func (*Mock) UpdatePenaltyBox

func (m *Mock) UpdatePenaltyBox(ctx context.Context, req UpdatePenaltyBoxRequest) (*UpdatePenaltyBoxResponse, error)

func (*Mock) UpdatePolicyProtections

func (m *Mock) UpdatePolicyProtections(ctx context.Context, req UpdatePolicyProtectionsRequest) (*PolicyProtectionsResponse, error)

func (*Mock) UpdateRatePolicy

func (m *Mock) UpdateRatePolicy(ctx context.Context, req UpdateRatePolicyRequest) (*UpdateRatePolicyResponse, error)

func (*Mock) UpdateRateProtection

func (m *Mock) UpdateRateProtection(ctx context.Context, req UpdateRateProtectionRequest) (*UpdateRateProtectionResponse, error)

func (*Mock) UpdateRule

func (m *Mock) UpdateRule(ctx context.Context, req UpdateRuleRequest) (*UpdateRuleResponse, error)

func (*Mock) UpdateRuleUpgrade

func (m *Mock) UpdateRuleUpgrade(ctx context.Context, req UpdateRuleUpgradeRequest) (*UpdateRuleUpgradeResponse, error)

func (*Mock) UpdateSecurityPolicy

func (m *Mock) UpdateSecurityPolicy(ctx context.Context, req UpdateSecurityPolicyRequest) (*UpdateSecurityPolicyResponse, error)

func (*Mock) UpdateSiemSettings

func (m *Mock) UpdateSiemSettings(ctx context.Context, req UpdateSiemSettingsRequest) (*UpdateSiemSettingsResponse, error)

func (*Mock) UpdateThreatIntel

func (m *Mock) UpdateThreatIntel(ctx context.Context, req UpdateThreatIntelRequest) (*UpdateThreatIntelResponse, error)

func (*Mock) UpdateVersionNotes

func (m *Mock) UpdateVersionNotes(ctx context.Context, req UpdateVersionNotesRequest) (*UpdateVersionNotesResponse, error)

func (*Mock) UpdateWAFMode

func (m *Mock) UpdateWAFMode(ctx context.Context, req UpdateWAFModeRequest) (*UpdateWAFModeResponse, error)

func (*Mock) UpdateWAFProtection

func (m *Mock) UpdateWAFProtection(ctx context.Context, req UpdateWAFProtectionRequest) (*UpdateWAFProtectionResponse, error)

type NetworkLayerProtection

type NetworkLayerProtection interface {
	// GetNetworkLayerProtections retrieves the current network layer protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetNetworkLayerProtection instead.
	GetNetworkLayerProtections(ctx context.Context, params GetNetworkLayerProtectionsRequest) (*GetNetworkLayerProtectionsResponse, error)

	// GetNetworkLayerProtection retrieves the current network layer protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetNetworkLayerProtection(ctx context.Context, params GetNetworkLayerProtectionRequest) (*GetNetworkLayerProtectionResponse, error)

	// UpdateNetworkLayerProtection updates the network layer protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateNetworkLayerProtection(ctx context.Context, params UpdateNetworkLayerProtectionRequest) (*UpdateNetworkLayerProtectionResponse, error)

	// UpdateNetworkLayerProtection removes network layer protection for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	// Deprecated: this method will be removed in a future release. Use UpdateNetworkLayerProtection instead.
	RemoveNetworkLayerProtection(ctx context.Context, params RemoveNetworkLayerProtectionRequest) (*RemoveNetworkLayerProtectionResponse, error)
}

The NetworkLayerProtection interface supports retrieving and updating network layer protection for a configuration and policy.

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

type NetworkListsStruct

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

NetworkListsStruct is used to define a network list.

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

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

PenaltyBoxexp is returned as part of GetExportConfigurationResponse.

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 PolicyProtections

type PolicyProtections interface {
	// GetPolicyProtections retrieves the current protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetPolicyProtections(ctx context.Context, params GetPolicyProtectionsRequest) (*PolicyProtectionsResponse, error)

	// UpdatePolicyProtections updates the protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdatePolicyProtections(ctx context.Context, params UpdatePolicyProtectionsRequest) (*PolicyProtectionsResponse, error)

	// RemovePolicyProtections removes protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	// Deprecated: this method will be removed in a future release. Use UpdatePolicyProtections instead.
	RemovePolicyProtections(ctx context.Context, params UpdatePolicyProtectionsRequest) (*PolicyProtectionsResponse, error)
}

The PolicyProtections interface supports retrieving and updating protections for a configuration and policy.

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

type PolicyProtectionsResponse

type PolicyProtectionsResponse 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"`
	ApplyMalwareControls          bool `json:"applyMalwareControls"`
}

PolicyProtectionsResponse is returned from GetPolicyProtections, UpdatePolicyProtections, and RemovePolicyProtections.

type ProtectionsResponse

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

ProtectionsResponse is returned from a call to GetAPIConstraintsProtection and similar security policy protection requests.

type RatePoliciesHosts

type RatePoliciesHosts struct {
	Values        *[]string        `json:"values,omitempty"`
	PositiveMatch *json.RawMessage `json:"positiveMatch,omitempty"`
}

RatePoliciesHosts is used as part of a rate policy description.

type RatePoliciesPath

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

RatePoliciesPath is returned as part of GetExportConfigurationResponse.

type RatePoliciesPathValues

type RatePoliciesPathValues []string

RatePoliciesPathValues is returned as part of GetExportConfigurationResponse.

type RatePoliciesQueryParameters

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 GetExportConfigurationResponse.

type RatePoliciesQueryParametersValues

type RatePoliciesQueryParametersValues []string

RatePoliciesQueryParametersValues is returned as part of GetExportConfigurationResponse.

type RatePolicyAPISelectors

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 RatePolicyAction

The RatePolicyAction interface supports retrieving and modifying the action associated with a specified rate policy, or with all rate policies in a security policy.

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

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

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

RatePolicyActionsexp is returned as part of GetExportConfigurationResponse.

type RatePolicyBodyParameters

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

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

RatePolicyFileExtensions is used as part of a rate policy description.

type RatePolicyMatchOption

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

RatePolicyMatchOption is used as part of a rate policy description.

type RatePolicyPath

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

RatePolicyPath is used as part of a rate policy description.

type RatePolicyQueryParameters

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 RateProtection

type RateProtection interface {
	// GetRateProtections retrieves the current rate protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetRateProtection instead.
	GetRateProtections(ctx context.Context, params GetRateProtectionsRequest) (*GetRateProtectionsResponse, error)

	// GetRateProtection retrieves the current rate protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetRateProtection(ctx context.Context, params GetRateProtectionRequest) (*GetRateProtectionResponse, error)

	// UpdateRateProtection updates the rate protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateRateProtection(ctx context.Context, params UpdateRateProtectionRequest) (*UpdateRateProtectionResponse, error)
}

The RateProtection interface supports retrieving and updating rate protection for a configuration and policy.

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

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 RemoveAdvancedSettingsEvasivePathMatchRequest

type RemoveAdvancedSettingsEvasivePathMatchRequest struct {
	ConfigID        int    `json:"-"`
	Version         int    `json:"-"`
	PolicyID        string `json:"-"`
	EnablePathMatch bool   `json:"enablePathMatch"`
}

RemoveAdvancedSettingsEvasivePathMatchRequest is used to clear the EvasivePathMatch setting

func (RemoveAdvancedSettingsEvasivePathMatchRequest) Validate

Validate validates UpdateAdvancedSettingsEvasivePathMatchRequest

type RemoveAdvancedSettingsEvasivePathMatchResponse

type RemoveAdvancedSettingsEvasivePathMatchResponse struct {
	ConfigID        int    `json:"-"`
	Version         int    `json:"-"`
	PolicyID        string `json:"-"`
	EnablePathMatch bool   `json:"enablePathMatch"`
}

RemoveAdvancedSettingsEvasivePathMatchResponse returns the result of clearing the EvasivePathMatch setting

type RemoveAdvancedSettingsLoggingRequest

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

Validate validates a RemoveAdvancedSettingsLoggingRequest.

type RemoveAdvancedSettingsLoggingResponse

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

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

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

RemoveAdvancedSettingsPrefetchResponse is returned from a call to RemoveAdvancedSettingsPrefetch.

type RemoveApiRequestConstraintsRequest

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

Validate validates a RemoveApiRequestConstraintsRequest.

type RemoveApiRequestConstraintsResponse

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

RemoveApiRequestConstraintsResponse is returned from a call to RemoveApiRequestConstraints.

type RemoveBypassNetworkListsRequest

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

RemoveBypassNetworkListsRequest is used to modify which network lists are used in the bypass network lists settings. Deprecated: this struct will be removed in a future release.

func (RemoveBypassNetworkListsRequest) Validate

Validate validates a RemoveBypassNetworkListsRequest. Deprecated: this method will be removed in a future release.

type RemoveBypassNetworkListsResponse

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

RemoveBypassNetworkListsResponse is returned from a call to RemoveBypassNetworkLists. Deprecated: this struct will be removed in a future release.

type RemoveConfigurationRequest

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

RemoveConfigurationRequest is used to remove an existing security configuration.

func (RemoveConfigurationRequest) Validate

func (v RemoveConfigurationRequest) Validate() error

Validate validates a RemoveConfigurationRequest.

type RemoveConfigurationResponse

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

RemoveConfigurationResponse is returned from a call to RemoveConfiguration.

type RemoveConfigurationVersionCloneRequest

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

RemoveConfigurationVersionCloneRequest is used to remove an existing configuration version.

func (RemoveConfigurationVersionCloneRequest) Validate

Validate validates a RemoveConfigurationCloneRequest.

type RemoveConfigurationVersionCloneResponse

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

RemoveConfigurationVersionCloneResponse is returned from a call to RemoveConfigurationVersionClone.

type RemoveCustomDenyRequest

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

func (v RemoveCustomDenyRequest) Validate() error

Validate validates a RemoveCustomDenyRequest.

type RemoveCustomDenyResponse

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 UpdateCustomRuleResponse

RemoveCustomRuleResponse is returned from a call to RemoveCustomRule.

type RemoveEvalHostRequest

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

func (v RemoveEvalHostRequest) Validate() error

Validate validates a RemoveEvalHostRequest.

type RemoveEvalHostResponse

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

RemoveEvalHostResponse is returned from a call to RemoveEvalHost.

type RemoveEvalRequest

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

func (v RemoveEvalRequest) Validate() error

Validate validates a RemoveEvalRequest.

type RemoveEvalResponse

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

RemoveEvalResponse is returned from a call to RemoveEval.

type RemoveMalwarePolicyRequest

type RemoveMalwarePolicyRequest struct {
	ConfigID        int
	ConfigVersion   int
	MalwarePolicyID int
}

RemoveMalwarePolicyRequest is used to remove a malware policy.

func (RemoveMalwarePolicyRequest) Validate

func (v RemoveMalwarePolicyRequest) Validate() error

Validate validates a RemoveMalwarePolicyRequest.

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

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. Deprecated: this struct will be removed in a future release.

func (RemoveNetworkLayerProtectionRequest) Validate

Validate validates a RemoveNetworkLayerProtectionRequest.

type RemoveNetworkLayerProtectionResponse

type RemoveNetworkLayerProtectionResponse ProtectionsResponse

RemoveNetworkLayerProtectionResponse is returned from a call to RemoveNetworkLayerProtection. Deprecated: this struct will be removed in a future release.

type RemovePolicyProtectionsRequest

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"`
	ApplyMalwareControls          bool   `json:"applyMalwareControls"`
}

RemovePolicyProtectionsRequest is used to remove the policy protection setting. Deprecated: this struct will be removed in a future release.

func (RemovePolicyProtectionsRequest) Validate

Validate validates a RemovePolicyProtectionsRequest.

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"`
	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"`
	Hosts                  *RatePoliciesHosts      `json:"hosts,omitempty"`
	Hostnames              []string                `json:"hostnames"`
	AdditionalMatchOptions []RatePolicyMatchOption `json:"additionalMatchOptions,omitempty"`
	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

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

Validate validates a RemoveReputationAnalysisRequest.

type RemoveReputationAnalysisResponse

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

RemoveReputationAnalysisResponse is returned from a call to RemoveReputationAnalysis.

type RemoveReputationProfileRequest

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

Validate validates a RemoveReputationProfileRequest.

type RemoveReputationProfileResponse

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

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. Deprecated: this struct will be removed in a future release.

func (RemoveReputationProtectionRequest) Validate

Validate validates a RemoveReputationProtectionRequest.

type RemoveReputationProtectionResponse

type RemoveReputationProtectionResponse ProtectionsResponse

RemoveReputationProtectionResponse is returned from a call to RemoveReputationProtection. Deprecated: this struct will be removed in a future release.

type RemoveSecurityPolicyRequest

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

func (v RemoveSecurityPolicyRequest) Validate() error

Validate validates a RemoveSecurityPolicyRequest.

type RemoveSecurityPolicyResponse

type RemoveSecurityPolicyResponse struct {
	ConfigID               int               `json:"configId"`
	PolicyID               string            `json:"policyId"`
	PolicyName             string            `json:"policyName"`
	PolicySecurityControls *SecurityControls `json:"policySecurityControls,omitempty"`
	Version                int               `json:"version"`
}

RemoveSecurityPolicyResponse is returned from a call to RemoveSecurityPolicy.

type RemoveSiemSettingsRequest

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. Deprecated: this struct will be removed in a future release.

func (RemoveSiemSettingsRequest) Validate

func (v RemoveSiemSettingsRequest) Validate() error

Validate validates a RemoveSiemSettingsRequest. Deprecated: this method will be removed in a future release.

type RemoveSiemSettingsResponse

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. Deprecated: this struct will be removed in a future release.

type RemoveWAPBypassNetworkListsRequest

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

RemoveWAPBypassNetworkListsRequest is used to modify which network lists are used in the bypass network lists settings. Deprecated: this struct will be removed in a future release.

func (RemoveWAPBypassNetworkListsRequest) Validate

Validate validates a RemoveWAPBypassNetworkListsRequest. Deprecated: this method will be removed in a future release.

type RemoveWAPBypassNetworkListsResponse

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

RemoveWAPBypassNetworkListsResponse is returned from a call to RemoveWAPBypassNetworkLists. Deprecated: this struct will be removed in a future release.

type ReputationProfileActionPost

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

ReputationProfileActionPost is currently unused.

type ReputationProfileActionsexp

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

ReputationProfileActionsexp is returned as part of GetExportConfigurationResponse.

type ReputationProfileCondition

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 ReputationProtection

type ReputationProtection interface {
	// GetReputationProtections retrieves the current reputation protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetReputationProtection instead.
	GetReputationProtections(ctx context.Context, params GetReputationProtectionsRequest) (*GetReputationProtectionsResponse, error)

	// GetReputationProtection retrieves the current reputation protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetReputationProtection(ctx context.Context, params GetReputationProtectionRequest) (*GetReputationProtectionResponse, error)

	// UpdateReputationProtection updates the reputation protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateReputationProtection(ctx context.Context, params UpdateReputationProtectionRequest) (*UpdateReputationProtectionResponse, error)

	// RemoveReputationProtection removes reputation protection for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	// Deprecated: this method will be removed in a future release. Use UpdateReputationProtection instead.
	RemoveReputationProtection(ctx context.Context, params RemoveReputationProtectionRequest) (*RemoveReputationProtectionResponse, error)
}

The ReputationProtection interface supports retrieving and updating reputation protection for a configuration and policy.

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

type RuleConditionException

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

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

type RuleConditions

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 RuleData

type RuleData []struct {
	ID    int    `json:"id,omitempty"`
	Title string `json:"title,omitempty"`
}

RuleData contains updates to rules

type RuleException

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"`
	SpecificHeaderCookieParamXMLOrJSONNames *SpecificHeaderCookieParamXMLOrJSONNames `json:"specificHeaderCookieParamXmlOrJsonNames,omitempty"`
}

RuleException is used to describe the exceptions for a rule.

type RuleRecommendation

type RuleRecommendation struct {
	Description string                `json:"description,omitempty"`
	Evidence    *Evidences            `json:"evidences,omitempty"`
	Exception   *AttackGroupException `json:"exception,omitempty"`
	RuleId      int                   `json:"ruleId,omitempty"`
}

RuleRecommendation is used to describe a recommendation for a rule.

type RulesetType

type RulesetType string

RulesetType is a ruleset type value.

type RulesetUpdateData

type RulesetUpdateData struct {
	DeletedRules        *RuleData  `json:"deletedRules,omitempty"`
	NewRules            *RuleData  `json:"newRules,omitempty"`
	UpdatedRules        *RuleData  `json:"updatedRules,omitempty"`
	DeletedAttackGroups *GroupData `json:"deletedAttackGroups,omitempty"`
	UpdatedAttackGroups *GroupData `json:"updatedAttackGroups,omitempty"`
	NewAttackGroups     *GroupData `json:"newAttackGroups,omitempty"`
}

RulesetUpdateData is used to report all updates to rules and attack groups in the ruleset.

type RulesetsRules

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 GetExportConfigurationResponse.

type SecurityControls added in v3.0.1

type SecurityControls struct {
	ApplyApplicationLayerControls bool `json:"applyApplicationLayerControls,omitempty"`
	ApplyAPIConstraints           bool `json:"applyApiConstraints,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"`
}

SecurityControls is returned as part of GetSecurityPoliciesResponse and similar responses.

type SecurityPoliciesPenaltyBox

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

SecurityPoliciesPenaltyBox is returned as part of GetExportConfigurationResponse.

type SecurityPoliciesRatePolicyActions

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

SecurityPoliciesRatePolicyActions is returned as part of GetExportConfigurationResponse.

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 SelectedHostname

type SelectedHostname interface {
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getselectedhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetSelectedHostnames(ctx context.Context, params GetSelectedHostnamesRequest) (*GetSelectedHostnamesResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getselectedhostnames
	// Deprecated: this method will be removed in a future release. Use the GetWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	GetSelectedHostname(ctx context.Context, params GetSelectedHostnameRequest) (*GetSelectedHostnameResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putselectedhostnames
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	UpdateSelectedHostname(ctx context.Context, params UpdateSelectedHostnameRequest) (*UpdateSelectedHostnameResponse, error)

	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putselectedhostnames
	// Deprecated: this method will be removed in a future release. Use the UpdateWAPSelectedHostnames method of the WAPSelectedHostnames interface instead.
	UpdateSelectedHostnames(ctx context.Context, params UpdateSelectedHostnamesRequest) (*UpdateSelectedHostnamesResponse, error)
}

The SelectedHostname interface supports retrieving and modifying the list of hostnames protected under a configuration.

https://developer.akamai.com/api/cloud_security/application_security/v1.html#selectedhostnames Deprecated: this interface will be removed in a future release. Use the WAPSelectedHostnames interface instead.

type Siemexp

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 GetExportConfigurationResponse.

type SlowPostProtection

type SlowPostProtection interface {
	// GetSlowPostProtections retrieves the current SLOW post protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetSlowPostProtection instead.
	GetSlowPostProtections(ctx context.Context, params GetSlowPostProtectionsRequest) (*GetSlowPostProtectionsResponse, error)

	// GetSlowPostProtection retrieves the current SLOW post protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetSlowPostProtection(ctx context.Context, params GetSlowPostProtectionRequest) (*GetSlowPostProtectionResponse, error)

	// UpdateSlowPostProtection updates the SLOW post protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateSlowPostProtection(ctx context.Context, params UpdateSlowPostProtectionRequest) (*UpdateSlowPostProtectionResponse, error)
}

The SlowPostProtection interface supports retrieving and updating slow post protection for a configuration and policy.

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

type SlowPostProtectionSetting

type SlowPostProtectionSetting interface {
	// GetSlowPostProtectionSettings retrieves the current SLOW post protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getslowpostprotectionsettings
	GetSlowPostProtectionSettings(ctx context.Context, params GetSlowPostProtectionSettingsRequest) (*GetSlowPostProtectionSettingsResponse, error)

	// GetSlowPostProtectionSetting retrieves the current SLOW post protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getslowpostprotectionsettings
	// Deprecated: this method will be removed in a future release. Use GetSlowPostProtectionSettings instead.
	GetSlowPostProtectionSetting(ctx context.Context, params GetSlowPostProtectionSettingRequest) (*GetSlowPostProtectionSettingResponse, error)

	// UpdateSlowPostProtectionSettings updates the SLOW post protection settings for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putslowpostprotectionsettings
	UpdateSlowPostProtectionSetting(ctx context.Context, params UpdateSlowPostProtectionSettingRequest) (*UpdateSlowPostProtectionSettingResponse, error)
}

The SlowPostProtectionSetting interface supports retrieving and updating the slow POST protection settings for a configuration and policy.

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

type SlowPostProtectionSettingDurationThreshold

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

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

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

SlowPostexp is returned as part of GetExportConfigurationResponse.

type SlowRateThresholdExp

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

SlowRateThresholdExp is returned as part of GetExportConfigurationResponse.

type SpecificHeaderCookieOrParamNameValuePtr

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

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 GetExportConfigurationResponse.

type SpecificHeaderCookieOrParamNamesPtr

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

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 SpecificHeaderCookieParamXMLOrJSONNames

type SpecificHeaderCookieParamXMLOrJSONNames AttackGroupSpecificHeaderCookieParamXMLOrJSONNames

SpecificHeaderCookieParamXMLOrJSONNames is used as part of condition and exception information for an ASE rule.

type StatusValue

type StatusValue string

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

type ThreatIntel

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

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

Validate validates an UpdateAPIConstraintsProtectionRequest.

type UpdateAPIConstraintsProtectionResponse

type UpdateAPIConstraintsProtectionResponse ProtectionsResponse

UpdateAPIConstraintsProtectionResponse is returned from a call to UpdateAPIConstraintsProtection.

type UpdateAdvancedSettingsEvasivePathMatchRequest

type UpdateAdvancedSettingsEvasivePathMatchRequest struct {
	ConfigID        int    `json:"-"`
	Version         int    `json:"-"`
	PolicyID        string `json:"-"`
	EnablePathMatch bool   `json:"enablePathMatch"`
}

UpdateAdvancedSettingsEvasivePathMatchRequest is used to update the EvasivePathMatch setting

func (UpdateAdvancedSettingsEvasivePathMatchRequest) Validate

Validate validates UpdateAdvancedSettingsEvasivePathMatchRequest

type UpdateAdvancedSettingsEvasivePathMatchResponse

type UpdateAdvancedSettingsEvasivePathMatchResponse struct {
	EnablePathMatch bool `json:"enablePathMatch"`
}

UpdateAdvancedSettingsEvasivePathMatchResponse returns the result of updating the EvasivePathMatch setting

type UpdateAdvancedSettingsLoggingRequest

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

Validate validates an UpdateAdvancedSettingsLoggingRequest.

type UpdateAdvancedSettingsLoggingResponse

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

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

Validate validates an UpdateAdvancedSettingsPragmaRequest.

type UpdateAdvancedSettingsPragmaResponse

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

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

Validate validates an UpdateAdvancedSettingsPrefetchRequest.

type UpdateAdvancedSettingsPrefetchResponse

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

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

Validate validates an UpdateApiRequestConstraintsRequest.

type UpdateApiRequestConstraintsResponse

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

UpdateApiRequestConstraintsResponse is returned from a call to UpdateApiRequestConstraints.

type UpdateAttackGroupRequest

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

func (v UpdateAttackGroupRequest) Validate() error

Validate validates an UpdateAttackGroupConditionExceptionRequest.

type UpdateAttackGroupResponse

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

UpdateAttackGroupResponse is returned from a call to UpdateAttackGroup.

type UpdateBypassNetworkListsRequest

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

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

func (UpdateBypassNetworkListsRequest) Validate

Validate validates an UpdateBypassNetworkListsRequest.

type UpdateBypassNetworkListsResponse

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

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"`
	AdvancedExceptionsList *AdvancedExceptions `json:"advancedExceptions,omitempty"`
}

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

func (UpdateConditionExceptionRequest) Validate

Validate validates an UpdateConditionExceptionRequest.

type UpdateConditionExceptionResponse

type UpdateConditionExceptionResponse RuleConditionException

UpdateConditionExceptionResponse is returned from a call to UpdateConditionException.

type UpdateConfigurationRequest

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

func (v UpdateConfigurationRequest) Validate() error

Validate validates an UpdateConfigurationRequest.

type UpdateConfigurationResponse

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

UpdateConfigurationResponse is returned from a call to UpdateConfiguration.

type UpdateCustomDenyRequest

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

func (v UpdateCustomDenyRequest) Validate() error

Validate validates an UpdateCustomDenyRequest.

type UpdateCustomDenyResponse

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 GetCustomRuleResponse

UpdateCustomRuleResponse is returned from a call to UpdateCustomRule.

type UpdateEvalHostRequest

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

func (v UpdateEvalHostRequest) Validate() error

Validate validates an UpdateEvalHostRequest.

type UpdateEvalHostResponse

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

UpdateEvalHostResponse is returned from a call to UpdateEvalHost.

type UpdateEvalProtectHostRequest

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

UpdateEvalProtectHostRequest is used to call UpdateEvalProtectHost.

func (UpdateEvalProtectHostRequest) Validate

func (v UpdateEvalProtectHostRequest) Validate() error

Validate validates an UpdateEvalProtectHostRequest.

type UpdateEvalProtectHostResponse

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

UpdateEvalProtectHostResponse is returned from a call to UpdateEvalProtectHost.

type UpdateEvalRequest

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

func (v UpdateEvalRequest) Validate() error

Validate validates an UpdateEvalRequest.

type UpdateEvalResponse

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

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

func (v UpdateEvalRuleRequest) Validate() error

Validate validates an UpdateEvalRuleRequest.

type UpdateEvalRuleResponse

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

UpdateEvalRuleResponse is returned from a call to UpdateEvalRule.

type UpdateIPGeoProtectionRequest

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

UpdateIPGeoProtectionRequest is used to modify the IPGeo protection settings.

func (UpdateIPGeoProtectionRequest) Validate

func (v UpdateIPGeoProtectionRequest) Validate() error

Validate validates an UpdateIPGeoProtectionRequest.

type UpdateIPGeoProtectionResponse

type UpdateIPGeoProtectionResponse ProtectionsResponse

UpdateIPGeoProtectionResponse is returned from a call to UpdateIPGeoProtection.

type UpdateIPGeoRequest

type UpdateIPGeoRequest struct {
	ConfigID    int               `json:"-"`
	Version     int               `json:"-"`
	PolicyID    string            `json:"-"`
	Block       string            `json:"block"`
	GeoControls *IPGeoGeoControls `json:"geoControls,omitempty"`
	IPControls  *IPGeoIPControls  `json:"ipControls,omitempty"`
}

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

func (UpdateIPGeoRequest) Validate

func (v UpdateIPGeoRequest) Validate() error

Validate validates an UpdateIPGeoRequest.

type UpdateIPGeoResponse

type UpdateIPGeoResponse IPGeoFirewall

UpdateIPGeoResponse is returned from a call to UpdateIPGeo

type UpdateMalwarePolicyActionRequest

type UpdateMalwarePolicyActionRequest struct {
	ConfigID        int    `json:"configID"`
	Version         int    `json:"version"`
	PolicyID        string `json:"policyID"`
	MalwarePolicyID int    `json:"id"`
	Action          string `json:"action"`
	UnscannedAction string `json:"unscannedAction"`
}

UpdateMalwarePolicyActionRequest is used to update the actions for a malware policy.

func (UpdateMalwarePolicyActionRequest) Validate

Validate validates an UpdateMalwarePolicyActionRequest.

type UpdateMalwarePolicyActionResponse

type UpdateMalwarePolicyActionResponse struct {
	Action          string `json:"action"`
	UnscannedAction string `json:"unscannedAction"`
}

UpdateMalwarePolicyActionResponse is returned from a call to UpdateMalwarePolicy.

type UpdateMalwarePolicyActionsRequest

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

UpdateMalwarePolicyActionsRequest is used to update the actions for multiple malware policies.

func (UpdateMalwarePolicyActionsRequest) Validate

Validate validates an UpdateMalwarePolicyActionsRequest.

type UpdateMalwarePolicyActionsResponse

type UpdateMalwarePolicyActionsResponse GetMalwarePolicyActionsResponse

UpdateMalwarePolicyActionsResponse is returned from a call to UpdateMalwarePolicyActions.

type UpdateMalwarePolicyRequest

type UpdateMalwarePolicyRequest struct {
	ConfigID        int
	ConfigVersion   int
	MalwarePolicyID int
	Policy          *MalwarePolicyBody
}

UpdateMalwarePolicyRequest is used to update an existing malware policy.

func (UpdateMalwarePolicyRequest) Validate

func (v UpdateMalwarePolicyRequest) Validate() error

Validate validates an UpdateMalwarePolicyRequest.

type UpdateMalwareProtectionRequest

type UpdateMalwareProtectionRequest struct {
	ConfigID             int    `json:"-"`
	Version              int    `json:"-"`
	PolicyID             string `json:"-"`
	ApplyMalwareControls bool   `json:"applyMalwareControls"`
}

UpdateMalwareProtectionRequest is used to modify the malware protection setting.

func (UpdateMalwareProtectionRequest) Validate

Validate validates an UpdateMalwareProtectionRequest.

type UpdateMalwareProtectionResponse

type UpdateMalwareProtectionResponse ProtectionsResponse

UpdateMalwareProtectionResponse is returned from a call to UpdateMalwareProtection.

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

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

Validate validates an UpdateNetworkLayerProtectionRequest.

type UpdateNetworkLayerProtectionResponse

type UpdateNetworkLayerProtectionResponse ProtectionsResponse

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

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"`
	ApplyMalwareControls          bool   `json:"applyMalwareControls"`
}

UpdatePolicyProtectionsRequest is used to modify the policy protection setting.

func (UpdatePolicyProtectionsRequest) Validate

Validate validates an UpdatePolicyProtectionsRequest.

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"`
	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"`
	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"`
	Hosts                  *RatePoliciesHosts      `json:"hosts,omitempty"`
	Hostnames              []string                `json:"hostnames"`
	AdditionalMatchOptions []RatePolicyMatchOption `json:"additionalMatchOptions,omitempty"`
	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

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

func (v UpdateRateProtectionRequest) Validate() error

Validate validates an UpdateRateProtectionRequest.

type UpdateRateProtectionResponse

type UpdateRateProtectionResponse ProtectionsResponse

UpdateRateProtectionResponse is returned from a call to UpdateRateProtection.

type UpdateReputationAnalysisRequest

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

Validate validates an UpdateReputationAnalysisRequest.

type UpdateReputationAnalysisResponse

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

UpdateReputationAnalysisResponse is returned from a call to UpdateReputationAnalysis.

type UpdateReputationProfileActionRequest

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

Validate validates an UpdateReputationProfileActionRequest.

type UpdateReputationProfileActionResponse

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

UpdateReputationProfileActionResponse is returned from a call to UpdateReputationProfileAction.

type UpdateReputationProfileRequest

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

Validate validates an UpdateReputationProfileRequest.

type UpdateReputationProfileResponse

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

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

Validate validates an UpdateReputationProtectionRequest.

type UpdateReputationProtectionResponse

type UpdateReputationProtectionResponse ProtectionsResponse

UpdateReputationProtectionResponse is returned from a call to UpdateReputationProtection.

type UpdateRuleRequest

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

func (v UpdateRuleRequest) Validate() error

Validate validates an UpdateRuleRequest.

type UpdateRuleResponse

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

UpdateRuleResponse is returned from a call to UpdateRule.

type UpdateRuleUpgradeRequest

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

func (v UpdateRuleUpgradeRequest) Validate() error

Validate validates an UpdateRuleUpgradeRequest.

type UpdateRuleUpgradeResponse

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

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

func (v UpdateSecurityPolicyRequest) Validate() error

Validate validates an UpdateSecurityPolicyRequest.

type UpdateSecurityPolicyResponse

type UpdateSecurityPolicyResponse struct {
	ConfigID               int               `json:"configId"`
	PolicyID               string            `json:"policyId"`
	PolicyName             string            `json:"policyName"`
	DefaultSettings        bool              `json:"defaultSettings,omitempty"`
	PolicySecurityControls *SecurityControls `json:"policySecurityControls,omitempty"`
	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. Deprecated: this struct will be removed in a future release.

func (UpdateSelectedHostnameRequest) Validate

func (v UpdateSelectedHostnameRequest) Validate() error

Validate validates an UpdateSelectedHostnameRequest. Deprecated: this method will be removed in a future release.

type UpdateSelectedHostnameResponse

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

UpdateSelectedHostnameResponse is returned from a call to UpdateSelectedHostname. Deprecated: this struct will be removed in a future release.

type UpdateSelectedHostnamesRequest

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

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

func (UpdateSelectedHostnamesRequest) Validate

Validate validates an UpdateSelectedHostnamesRequest.

type UpdateSelectedHostnamesResponse

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

UpdateSelectedHostnamesResponse is returned from a call to UpdateSelectedHostnames.

type UpdateSiemSettingsRequest

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

func (v UpdateSiemSettingsRequest) Validate() error

Validate validates an UpdateSiemSettingsRequest.

type UpdateSiemSettingsResponse

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

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

Validate validates an UpdateSlowPostProtectionRequest.

type UpdateSlowPostProtectionResponse

type UpdateSlowPostProtectionResponse ProtectionsResponse

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

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

func (v UpdateThreatIntelRequest) Validate() error

Validate validates an UpdateAttackGroupConditionExceptionRequest.

type UpdateThreatIntelResponse

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

UpdateThreatIntelResponse is returned from a call to UpdateThreatIntel.

type UpdateVersionNotesRequest

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

func (v UpdateVersionNotesRequest) Validate() error

Validate validates an UpdateVersionNotesRequest.

type UpdateVersionNotesResponse

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 ProtectionsResponse

UpdateWAFProtectionResponse is returned from a call to UpdateWAFProtection.

type UpdateWAPBypassNetworkListsRequest

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

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

func (UpdateWAPBypassNetworkListsRequest) Validate

Validate validates an UpdateWAPBypassNetworkListsRequest.

type UpdateWAPBypassNetworkListsResponse

type UpdateWAPBypassNetworkListsResponse struct {
	Block       string          `json:"block"`
	GeoControls GeoControlsList `json:"geoControls"`
	IPControls  IPControlsLists `json:"ipControls"`
}

UpdateWAPBypassNetworkListsResponse is returned from a call to UpdateWAPBypassNetworkLists.

type UpdateWAPSelectedHostnamesRequest

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

Validate validates an UpdateWAPSelectedHostnamesRequest.

type UpdateWAPSelectedHostnamesResponse

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

UpdateWAPSelectedHostnamesResponse is returned from a call to UpdateWAPSelectedHostnames.

type WAFMode

The WAFMode interface supports retrieving and modifying the mode setting that determines how rule sets are upgraded.

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

type WAFProtection

type WAFProtection interface {
	// GetWAFProtections retrieves the current WAF protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	// Deprecated: this method will be removed in a future release. Use GetWAFProtection instead.
	GetWAFProtections(ctx context.Context, params GetWAFProtectionsRequest) (*GetWAFProtectionsResponse, error)

	// GetWAFProtection retrieves the current WAF protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#getprotections
	GetWAFProtection(ctx context.Context, params GetWAFProtectionRequest) (*GetWAFProtectionResponse, error)

	// UpdateWAFProtection updates the WAF protection setting for a configuration and policy.
	//
	// https://developer.akamai.com/api/cloud_security/application_security/v1.html#putprotections
	UpdateWAFProtection(ctx context.Context, params UpdateWAFProtectionRequest) (*UpdateWAFProtectionResponse, error)
}

The WAFProtection interface supports retrieving and updating application layer protection for a configuration and policy.

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

type WAPSelectedHostnames

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

type WebApplicationFirewallEvaluation struct {
	AttackGroupActions []struct {
		Action                 string              `json:"action"`
		Group                  string              `json:"group"`
		Exception              *RuleException      `json:"exception,omitempty"`
		AdvancedExceptionsList *AdvancedExceptions `json:"advancedExceptions,omitempty"`
	} `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"`
		AdvancedExceptionsList *AdvancedExceptions `json:"advancedExceptions,omitempty"`
	} `json:"ruleActions,omitempty"`
	RulesetVersionID int `json:"rulesetVersionId"`
}

WebApplicationFirewallEvaluation is returned as part of GetExportConfigurationResponse.

Jump to

Keyboard shortcuts

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